انتشار یافتن[۲۵] : در این مرحله اطلاعات توصیفی سرویس‌ها انتشار می‌یابد. معمولاً این اطلاعات در یک سند توصیف سرویس ارائه می‌شود و سرویس‌ها می‌توانند توسط کاربران بالقوه شناسایی شوند. مستند توصیف سرویس شامل موارد زیر می‌باشد: سرویس چه کاری را انجام می‌دهد، کجا می‌توان آن را یافت و چگونه می‌توان آن را فراخوانی کرد.
کشف کردن[۲۶] : در این مرحله مشتریان در مستندات توصیف سرویس که در مرحله قبل مشخص شده و در رجیستری سرویس انتشار یافته‌اند جستجو کرده و سرویس‌های مورد نیاز خود را می‌یابند.
انقیاد سرویس[۲۷] : یک سرویس ممکن است پیاده سازی‌های متنوعی داشته باشد و هر پیاده سازی هم استقرارهای متفاوتی داشته باشد در این مرحله نشان داده می‌شود که سرویس نهایی چگونه می‌تواند کشف و نمونه گزاری شود. مرحله انقیاد هم در زمان طراحی و هم در زمان اجرا می‌تواند انجام شود همچنین می‌تواند به صورت پویا و یا ایستا باشد.
اجرا[۲۸] : مرحله اجرا شامل فراخوانی تمامی سرویس‌هایی است که توسط فراهم آورندگان مختلف توسعه داده شده‌اند. اجرای یک سرویس مرکب باید سازگار با مدل فرایندی باشد و برای آن نیاز به یک مکانیزم هماهنگ کننده دارد.
نظارت[۲۹] : در این مرحله فراهم آورنده سرویس باید به طور مداوم بر ترکیب سرویس نظارت کند و کارایی آن را مورد ارزیابی قرار دهد. هدف اصلی از این مرحله برطرف سازی مشکلات احتمالی و خطاهایی است که در حین ترکیب وب سرویس‌ها و اجرای آن‌ها رخ می‌دهد همچنین نظارت بر ترکیب سرویس‌ها تضمین می‌کند توافق نامه سطح سرویس[۳۰] بین فراهم آورنده و گیرنده سرویس برآورده می‌شود.
۲-۲-۶-۴ ساختارهای ترکیب وب سرویس
یک سرویس ساده می‌تواند با ساختارهای متفاوتی با سرویس‌های دیگر ترکیب شود در شکل ۲-۶ چهار نوع از ساختارهای مختلف ترکیب وب سرویس‌ها در فرایندهای کسب و کار شامل ترتیبی[۳۱]، انشعابی[۳۲]، شرطی[۳۳]، و حلقه[۳۴] نشان داده شده است [۲۳].
در (a) وب سرویس ۲ زمانی که وب سرویس ۱ به اتمام برسد آغاز به کار می‌کند، در (b) هر دو وب سرویس در یک زمان و به طور موازی شروع به کار می‌کنند، در (c) نقطه تصمیمی وجود دارد که تعیین می‌کند کدام سرویس اجرا شود و در (d) سرویس ۱ به تعداد K بار اجرا می‌شود.
شکل ۲-۶ : ساختارهای ترکیب وب سرویس‌ها در جریان‌های کاری
پیچیدگی ترکیب وب سرویس‌ها بستگی به تعداد و پیچیدگی فرایندهای کسب و کار و ورودی و خروجی وب سرویس‌ها دارد.
ساختار ترتیبی: در ساختار ترتیبی هر یک از وب سرویس‌ها بعد از دیگری اجرا می‌شوند و تا زمانی که اجرای یکی از سرویس‌ها به اتمام نرسد وب سرویس دیگر اجرا نمی‌شود. شکل۲-۶ (a)
ساختار انشعابی: در این ساختار بعد از اتمام یک سرویس تمامی سرویس‌های بعد از آن به صورت موازی با یکدیگر اجرا می‌شوند. شکل ۲-۶ (b)
ساختار شرطی: در این ساختار بعد از اتمام یک سرویس تنها یکی از سرویس‌های بعد از آن اجرا می‌شود و چون یک ساختار احتمالی و غیرقطعی می‌باشد در آن باید بدترین حالت را برای محاسبه مجموع معیارهای کیفی در نظر گرفت، بنابراین از عملگرهای مینیمم و ماکسیمم استفاده می‌کنیم ( شکل ۲-۶ (c) ). برای مثال برای یک جریان کاری که ساختار شرطی دارد برای محاسبه مجموع ارزش معیار کیفی هزینه C1 و C2 می‌توان از رابطه Max(C1,C2) استفاده نمود [۲۴].
ساختار حلقه: در این ساختار اجرای یک سرویس چندین بار تکرار می‌شود و تعداد کل تکرار توسط یک متغیر مانند K مشخص می‌شود ( شکل ۲-۶ (d) ). برای مثال برای یک جریان کاری که ساختار حلقه دارد برای محاسبه مجموع ارزش معیار کیفی هزینه Ci هزینه کل آن سرویس از رابطه K*Ci بدست می‌آید [۲۵].
شکل ۲-۷ مثالی از ترکیب سرویس‌های وب به همراه ساختار آن‌ها را نشان می‌دهد که در آن بعد از WS2 یکی از دو وب سرویس WS5 یا WS6 با یک احتمال مشخصی اجرا می‌شود. وب سرویس WS2 نیز حداکثر به اندازه K بار اجرا می‌شود.
شکل ۲-۷ : ترکیب وب سرویس‌ها به همراه ساختارشان
۲-۲-۶-۵ محدودیت‌ها در ترکیب وب سرویس‌ها
در ترکیب وب سرویس‌ها می‌توان دو محدودیت را در نظر گرفت ۱) محدودیت وابستگی ۲) محدودیت تضاد.
محدودیت وابستگی:
در انتخاب سرویس‌های وب این احتمال وجود دارد که پیاده سازی متفاوت از چندین وب سرویس به یکدیگر وابسته باشند. بنابراین زمانی که ما یک پیاده‌سازی از یک وب سرویس را انتخاب می‌کنیم در انتخاب وب‌ سرویس دوم نیز باید پیاده‌سازی خاص سرویس اول را انتخاب کنیم، برای مثال زمانی که از یک سرویس دهنده تور مسافرتی استفاده می‌کنیم چنانچه از وب‌سرویس خاصی برای رزرو بلیط هتل استفاده کردیم ممکن است پرداخت هزینه آن تنها با مستر کارت امکان پذیر باشد بنابراین باید وب سرویسی انتخاب شود که پرداخت با مستر کارت را پشتیبانی می‌کند این امر منجر به محدودیت وابستگی بین سرویس‌ها می‌شود.
محدودیت تضاد:
به علاوه در انتخاب وب سرویس‌ها این احتمال وجود دارد که پیاده سازی متفاوت از چندین وب سرویس با یکدیگر در تضاد باشند بنابراین زمانی که ما یک پیاده‌سازی از یک وب سرویس را انتخاب می‌کنیم در انتخاب وب ‌سرویس دوم نباید پیاده‌سازی که با سرویس اول در تضاد است را انتخاب کنیم، برای مثال زمانی که از یک سرویس دهنده تور مسافرتی استفاده می‌کنیم چنانچه از سرویس خاصی برای رزرو بلیط هتل استفاده کردیم که پرداخت هزینه با مستر کارت را پشتیبانی نمی‌کند بنابراین نمی‌توانیم یک وب سرویس برای پرداخت را انتخاب کنیم که فقط مستر کارت را پشتیبانی می‌کند. این امر منجر به محدودیت تضاد بین سرویس‌ها می‌شود. در نتیجه باید این دو محدودیت را در انتخاب سرویس‌ها در نظر داشت [۲۶].
۲-۲-۷ معیارهای کیفیت سرویس
یکی از مهم‌ترین چالش‌های پیش روی ترکیب وب سرویس‌ها، ترکیب نمودن سرویس‌ها با توجه به معیارهای کیفیت سرویس می‌باشد. این امر به کاربران کمک می‌کند تا به بهینه‌ترین ترکیب از بین ترکیبات موجود برای برآورده سازی نیازهای عملیاتی و غیر عملیاتی خود دست یابند [۲۵].
نیازمندی‌های کاربران را می‌توان به دو دسته نیاز‌های عملیاتی و غیرعملیاتی تقسیم نمود. در وب سرویس‌ها نیاز‌های عملیاتی به نیاز‌هایی گفته می‌شوند که بیانگر عملکرد یک وب‌سرویس است و اینکه وب‌سرویس مورد نظر چه کاری را انجام می‌دهد و نیاز غیرعملیاتی بیان می‌دارد که سرویس کار مورد نظر را با چه کیفیتی انجام می‌دهد. سفارش دهندگان سرویس‌های وب معمولاً نیازمندی‌های غیرعملیاتی خود را با استفاده از یکسری معیار‌های کیفی بیان می‌دارند.
تعداد مختلفی از سرویس‌ها با قابلیت و کارکردهای مشابه توسط فراهم آورندگان مختلف ارائه شده‌اند هرچند این سرویس‌ها دارای معیارهای کیفی متفاوتی می‌باشند. معیارهای کیفی بر مبنای ویژگی‌هایی نظیر قیمت، زمان پاسخگویی، در دسترس بودن و… تعریف شده‌اند. کاربران می‌توانند بین سرویس‌های مشابه، سرویس که نیاز آن‌ها را برآورده می‌سازد را انتخاب نمایند. ممکن است کاربری ارزان‌ترین سرویس را انتخاب کند و کاربر دیگر سرویس قابل اعتماد تر و گران‌تری را انتخاب نماید همچنین ممکن است کاربری محدودیتی را برای بعضی از ویژگی‌های کیفی در نظر بگیرد (برای مثال قیمت از یک مقداری بیشتر نشود) که می‌تواند انتخاب‌ها را تحت تأثیر قرار دهد همچنین فراهم آورنده سرویس می‌تواند رتبه ای را برای هر یک از مقادیر معیارهای کیفی با توجه به نظرات کاربران آن سرویس در نظر بگیرد و این چنین می‌توان با توجه به نظر کاربران میزان اعتبار هر یک از معیارهای کیفیت سرویس را برای سرویس‌های مشابه تضمین نمود بنابراین زمانی که کاربر برای خرید سرویسی هزینه ای را می‌پردازد و انتظار دارد در زمان مشخصی پاسخ را دریافت کند آن سرویس باید تضمین کند که در زمان مشخص پاسخگوی درخواست کاربر می‌باشد.
شکل ۲-۸ : معیارهای کیفیت سرویس
مقدار و ارزش معیارهای کیفی یک سرویس ساده برای استفاده در ترکیبی از سرویس‌ها، یا توسط فراهم آورنده سرویس مشخص می‌شود یا از طریق محاسبه کردن نتایج آماری اجراهای قبلی آن سرویس بدست می‌آید. ممکن است در زمان اجرا مقدار کیفیت سرویس اندازه گیری شده از آن حدی که اندازه گیری شده و یا تخمین زده شده است منحرف شود و یا سرویس در دسترس نباشد. در این صورت سرویس مرکب برای برآورده سازی حداکثری محدودیت‌ها و معیارهای کیفیت سرویس باید دوباره برنامه ریزی شوند و این برنامه ریزی مجدد برای ترکیب سرویس‌ها باید در سریع‌ترین زمان ممکن صورت پذیرد مخصوصاً برای سیستم‌های تعاملی که این تأخیر ممکن است غیرقابل قبول باشد برای مثال کاربرانی که برای رزرو بلیط از این سرویس‌ها استفاده می‌کنند ممکن است نخواهند مدت زمان طولانی را منتظر بمانند تا سیستم برای یافتن سرویس مناسب در بین سرویس‌های موجود به جستجو بپردازد و ممکن است پس از چند دقیقه انتظار کاربر نا امید شود [۲۷].
انتخاب سرویس مبتنی بر معیار های کیفی به کاربران کمک می‌کند تا بتوانند به سرویسی مناسب برای برآورده سازی نیاز های غیرعملیاتی دست یابند.در نتیجه زمانی که برای اجرای یک عملیاتی چندین سرویس با عملکرد‌‌های مشابه وجود داشته باشد آنگاه سرویس را باید با توجه به معیار‌هایی که کاربر تعیین می‌کند انتخاب کرد.
۲-۲-۷-۱ انواع معیارهای کیفیت سرویس
در زیر ۵ معیار کیفیت سرویس شامل زمان پاسخگویی، زمان تاخیر، قابلیت اطمینان، دسترس پذیری و نرخ موفقیت که از دیگر معیار‌ها محبوب‌تر می‌باشند به طور مختصر توضیح داده شده است:
زمان تاخیر : زمان تاخیر مدت زمانی است که سرور نیاز دارد تا درخواستی که به آن می رسد را پردازش کند.
زمان پاسخگویی : زمان پاسخگویی سرویس فاصله زمانی بین زمانی که سرویس فراخوانی می‌شود و زمانی که سرویس به کارش پایان می‌دهد گفته می‌شود.
نرخ موفقیت : نرخ موفقیت احتمالی است که از رابطه زیر بدست می آید:
تعداد پاسخ هایی که توسط سرویس در یک بازه زمانی خاص داده می شود نسبت به تعداد درخواست هایی که از آن سرویس در آن بازه زمانی صورت می گیرد.
قابلیت اطمینان : قابلیت اطمینان احتمالی است که بررسی می‌کند عملیات پاسخگویی به درخواست کاربر در زمان مورد انتظار به درستی صورت می‌پذیرد یا خیر که عمدتاً با درصد بیان می‌شود.
در دسترس بودن : احتمالی است که بررسی می‌کند که سرویس مورد درخواست در یک بازه زمانی در دسترس می‌باشد یا خیر که عمدتاً با درصد بیان می‌شود [۲۸].
۲-۳ کارهای مرتبط

برای دانلود متن کامل پایان نامه به سایت azarim.ir مراجعه نمایید.