بخشی از مقاله

چکیده

در سالهای اخیر یکی ازفنّاوریهایی که در سازمانهای رو به رشد، بهسرعت درحالتوسعه است، استفاده و بهکارگیری از وبسرویسها است، که دراینبین استفاده از وبسرویسهای مرکب از اهمیت زیادی برخوردار خواهد بود. هدف از ترکیب وبسرویسها تعیین یک ترکیب مناسب با توجه به درخواستی از کاربران است که نمی توانند بهوسیله یک وبسرویس منفرد برآورده گردند. در طی این فرآیند ترکیب، سرویسهای کاندید زیادی با ویژگیهای عملکردی یکسان خواهیم داشت که در ویژگیهای غیر عملکردی متفاوت خواهند بود ازاینرو کیفیت سرویس یکی از عوامل مهم در تشخیص و انتخاب وبسرویسها است. در این مقاله تلاش بر آشنایی بیشتر با وبسرویسها و لزوم استفاده از وبسرویس مرکب مبتنی بر کیفیت سرویس در برنامههای کسبوکار داشته و بدین منظور با توصیف سه مرحله فرآیند ترکیب وبسرویسها به مقایسه و بررسی کارهای انجامشده در این زمینه خواهیم پرداخت.

-1 مقدمه

معماری سرویس گرا سبک طراحی سیستمهای نرمافزاری بر پایهی به اشتراکگذاری، استفاده مجدد و تعامل میان سرویسها در یک محیط توزیعشده است. یک وبسرویس نوعی از سیستم نرمافزاری است که جهت تعامل ماشین با ماشین در سطح یک شبکه طراحیشده است، بهبیاندیگر وبسرویسها سیستم های نرمافزاری هستند که در شبکه منتشر، شناسایی و فراخوانی میشوند. با توجه به اینکه در سالهای اخیر استفاده از اینترنت بهسرعت درحالتوسعه بوده و تأثیر انکارناپذیری بر فیلد کسبوکار داشته است، این عامل منجر به انتخاب وبسرویسها بهعنوان انتخابی بسیار مناسب در جهت ساخت برنامههای کسبوکار شده است. با توجه به اینکه یک وبسرویس بهتنهایی دارای قابلیت اندکی در انجام درخواستهای پیچیده کاربر در یک مدتزمان کافی است، بنابراین سرویسهای مختلفی برای پاسخ به چنین درخواستهایی میبایست استفاده گردند .[1]

کنار هم قرار دادن چندین وبسرویس و ادغام آنها به یک واحد کاری، ترکیب وبسرویسها نامیده میشود و وبسرویس ادغامشده جدید یک وبسرویس مرکب1 نامیده میشود . هدف از ترکیب وبسرویسها تعیین یک ترکیب مناسب از سرویسهای منفرد با توجه به درخواستهایی از کاربران است که نمیتوانند بهوسیله یک وبسرویس منفرد برآورده شوند. در حقیقت گاهی درخواستهای کاربران در دنیای واقعی پیچیدهتر از آن هستند که بتوان آنها را با استفاده از یک وبسرویس منفرد به انجام رساند.

لذا گاهی نیاز خواهد بود که عملکردهای چندین سرویس وب با یکدیگر ترکیبشده و سرویس مرکب حاصل گردد. بااین حال تعداد زیادی از وبسرویسها بر روی اینترنت با ویژگیهای تابع پذیری مشابه موجود میباشند که منجر به راهحلهای زیادی از ترکیب وبسرویسها برای یک درخواست کاربر میشوند؛ بنابراین ما برای ترکیب بهینه وبسرویسها، به انتخاب بهترین آنها نیاز خواهیم داشت، در این زمینه ویژگیهای کیفی سرویس2، تحت عنوان فاکتورهای کلیدی مختلف برای انتخاب و ترکیب وبسرویسها خواهند بود.

لازم به ذکر است که انتخاب بهترین ترکیب از وبسرویسها به عنوان یک مشکل بهینه NP-HARD محسوب میشود.در ادامه در بخش 2 به فرآیند 3 مرحلهای ترکیب سرویس خواهیم پرداخت و هر گام را مختصراً موردبررسی قرار خواهیم داد. سپس در بخش 3 به توضیح الگوریتمهای فرا اکتشافی پرداخته و چند نمونه از این الگوریتمها را دسته بندی کرده و توضیح خواهیم داد، در ادامه بخش 4 مروری بر کارهای  انجامشده  جهت  بهبود  ترکیب  بهینه وبسرویسهای مبتنی بر کیفیت با الگوریتمهای مختلف خواهیم داشت.

-2 فرآیند ترکیب سرویسها

ما نیاز داریم بدون بررسی کردن تمامیِ حالتهای ترکیی ، یک طرح ترکیبی مناسب با محدودیتهای مشتریان را پیدا کنیم. لذا فرآیند یافتن ترکیب مناسب سرویسها بر اساس درخواست کاربر را میتوان به سه مرحله زیر تقسیم نمود.

-1-2 ایجاد مدل کیفیت سیستم

برای به دست آوردن یک طرح ترکیبی مناسب با درخواست مشتری ما باید در ابتدا یک مدل کیفیت سرویس برای توصیف ویژگیهای کیفی سرویسها ایجاد کنیم. بدین منظور برای ایجاد مدلی مناسب، درخواستکننده سرویس و فراهمکننده سرویس میبایست تا جایی که ممکن است به تعاریف مشابهی دستیافته و توافق حاصل نمایند. از پرکاربردترین ویژگیهای کیفی میتوان به زمان پاسخ، قابلیت اطمینان، قابلیت دسترسیپذیری، هزینه و غیره اشاره نمود .[3]

-1-1-2 ارزیابی کیفیت سرویس

ازآنجاییکه ممکن است هریک از ویژگی کیفی با متریکهای مختلفی اندازهگیری شوند بهمنظور ارزیابی مناسب میبایست این ویژگیها نرمالیز گردند بدین ترتیب ویژگیهای کیفی به دودسته ویژگیهای مثبت مانند دسترسیپذیری و ویژگیهای منفی مانند هزینه و زمان پاسخ تقسیم می شوند که مقادیر بالاتر در ویژگیهای منفی منجر به کیفیت پایینتر و مقادیر بالا در ویژگیهای مثبت منجر به کیفیت بالاتر خواهد بود و همینطور بالعکس. معادلات - 1 - و - 2 - جهت نرمالیز کردن ویژگیهای مثبت و ویژگیهای منفی بهکاربرده می شوند. پس از نرمالیز کردن، مقادیر محلی هریک از وبسرویسهایی که کاندید شدهاند به کمک معادله - 3 - محاسبه خواهند شد که در آن Q تعداد ویژگیهای کیفی است. [4]

-2-1-2 محاسبه مقدار مجموع ویژگیهای کیفی سرویس3

به طورکلی طرحهای ترکیب از یکی از الگوهای اجرایی زنجیره، حلقوی، موازی، همزمانی تشکیل میشوند. با توجه به تعاریف ویژگیهای کیفی سرویس مقدار مجموع از وبسرویس مرکب بر اساس الگوی جریان کار محاسبه میشود.

-2-2 کشف و انتخاب وبسرویس های مناسب

در طی فرآیند کشف و انتخاب، دو مرحله تطابق عملیاتی و تطابق غیرعملیاتی را پیش رو خواهیم داشت، مرحله اول تطابق عملیاتی وبسرویسها و مرحله دوم تطابق غیرعملیاتی وبسرویسها نامیده میشود. در تطابق عملیاتی، وبسرویسهایی که عملکرد آنها با عملکرد موردنظر مشتری مطابقت دارد انتخاب میشوند و در تطابق غیرعملیاتی وبسرویسهایی که کیفیت عملکرد آنها مناسب است بهعنوان وبسرویس کاندید انتخاب میشوند. درنتیجه در انتهای این مرحله وبسرویسهایی را خواهیم داشت که عملکرد مطابق با درخواست مشتری داشته و همچنین کیفیت این سرویسها برای چنین عملکردی مناسب است. [6,7]

-3-2 ترکیب بهینه وبسرویسها

مرحله سوم ترکیب بهینه وبسرویسها انتخابشده بر اساس کیفیت سرویس با الگوریتمهای مختلف است.

-3 الگوریتمهای فرا مکاشفهای4

تاکنون الگوریتمهای زیادی جهت ترکیب بهینه وبسرویسها بر اساس ویژگیهای کیفی پیشنهادشدهاند که میتوان آنها را به دو بخش الگوریتمهای دقیق و الگوریتمهای ابتکاری تقسیم نمود . در مسئله ترکیب وبسرویسها به دلیل بزرگی فضای جستجو و افزایش تکرار وبسرویسها روشهای ابتکاری یا اکتشافی که شامل الگوریتمهایی با سرعت بالاتر و پیچیدگی کمتر هستند مناسبتر خواهند، ازجمله الگوریتمهای پرکاربردی که تاکنون در این مسئله بسیار زیاد استفاده شده اند میتوان به الگوریتم ژنتیک، الگوریتم تجمع ذرات، الگوریتم رقابت استعماری، الگوریتمهای بهبودیافته ژنتیک، الگوریتمهای بهبودیافته تجمع ذرات و دیگر الگوریتمها اشاره نمود.

این الگوریتمها عضو خانواده جستجوی فرا مکاشفهای هستند. الگوریتمهای فرا مکاشفهای با الهام گرفتن از یک پدیده طبیعی این امکان را مییابند که در فضای جستجوی بسیار بزرگی طیف وسیعی از مسائل بهینهسازی پیچیده را بهصورت بسیار هوشمندانهای مورد کاوش قرار دهند. منظور از هوشمندانه در اینجا آن است که الگوریتمهای فرا مکاشفهای کل فضای جستجو را به دلیل بزرگی آن پیمایش نکرده و تنها به پیمایش بخشی از فضا که احتمال وجود یک پاسخ بهاندازه کافی خوب در آن بیشتر است اکتفا میکنند. برخی از الهامات طبیعی که بر اساس آنها یک الگوریتم فرا مکاشفهای طراحیشده است عبارتاند از: تکامل موجودات در طی نسلها، زندگی مورچهها در یک کلونی، حرکت گروهی پرندگان و غیره. [8]

-1-3 الگوریتمهای فرا مکاشفهای زیستی تکاملی

الگوریتمهای تکاملی به آن دسته از روشهای جستجوی فرا مکاشفهای گفته میشود که مبتنی بر قانون بقاء اصلح نظریه تکاملی داروین هستند. با توجه به نظر داروین تکامل یک فرآیند بهینهسازی است که هدف آن بهبود توانایی یک ارگانیزم برای نجات در یک محیط متغیر و پویا است. از پایهای ترین الگوریتمهای این بخش میتوان به الگوریتم ژنتیک اشاره نمود.

-2-3 الگوریتمهای فرا مکاشفهای زیستی مبتنی بر هوش جمعی

بسیاری از الگوریتمهای فرا مکاشفهای از زندگی موجودات در طبیعت الهام گرفته شدهاند و بهعبارتدیگر زیستی هستند. این الگوریتمها را میتوان به دو بخش الگوریتمهای علامت محور و تقلید محور تقسیم نمود.

-1-2-3 الگوریتمهای علامت محور

دستهای از الگوریتمهای مبتنی بر هوش جمعی که از یک حافظهی محیطی مشترک برای برقراری ارتباط غیرمستقیم میان موجودات بهره میبرند. در حقیقت این الگوریتمها از یک رسانه برای برقراری یک ارتباط غیرمستقیم استفاده میکنند، موجودات در این الگوریتم، از طریق رسانه موجود، علامتهایی را از خود برجای میگذارند و به این دلیل علامت محور نامیده میشوند. ازجمله این الگوریتمها عبارت اند از بهینهسازی کلونی مورچگان، بهینهسازی کندویی زنبورعسل و غیره.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید