Chitforoush_Yazdandoost.ppt

advertisement
‫پشتيباني جايگزيني سرويس و مديريت تراکنشها درترکيب‬
‫سرويسهاي مبتني بروب‬
‫فاطمه چيتفروشزاده‬
‫‪p_f_chitfroush@yahoo.com‬‬
‫مريم يزداندوستبابکي‬
‫‪m_y_doost@yahoo.com‬‬
‫استاد پروژه‪ :‬دکتر محمد قدس ي‬
‫استاد مشاور‪ :‬دکتر حسن ابوالحسني‬
‫‪1‬‬
‫رئوس مطالب‬
‫مقدمه‬
‫ترکيب سرويس مرکب‬
‫‪.1‬‬
‫‪.2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بررس ي درخواست يك سرويس مركب از طرف کاربر‬
‫كشف سرويس‬
‫انتخاب‬
‫توليد توصيف براي سرويس هاي مركب‬
‫‪‬‬
‫‪‬‬
‫زبان هاي ‪Choreography‬‬
‫زبانهاي هم آهنگي‬
‫•‬
‫•‬
‫•‬
‫‪BPEL4WS‬‬
‫‪OWL-S‬‬
‫‪Petri-net‬‬
‫اجرای سرويس مرکب‬
‫‪.3‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2‬‬
‫موتور اجرا‬
‫بخش مديريت تراکنش‬
‫بخش جايگزيني سرويس‬
‫رئوس مطالب(ادامه)‬
‫‪.4‬‬
‫ديدگاههاي مختلف درزمينه تركيب سرويسهاي مبتني بروب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪.5‬‬
‫ادامهی کار‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪.6‬‬
‫‪3‬‬
‫تركيب وبسرويسها به شكل ايستا و پويا‬
‫تركيب سرويسها به شكل اتوماتيك يا دستي‬
‫تركيب سرويسها بر اساس توصيف و يا مدلها‬
‫تركيب سرويسها با استفاده از برنامهريزي هوشمصنوعي‬
‫همزماني اجرا و تركيب وبسرويسها‬
‫جزء هماهنگکننده اجراي وبسرويسها‬
‫جزء جايگزيني سرويس‬
‫جزء مديريت تراکنش ها‬
‫مراجع‬
‫مقدمه‬
‫وب معنايي‪ :‬نسل بعدي وب که عالوه بر اطالعات‪ ،‬معنا را نيز در بر ميگيرد در‬
‫‪ِ ‬‬
‫نتيجه اطالعات قابل پردازش‪ ،‬جستجو و به اشتراکگذاري به وسيلهي ابزارهاي‬
‫اتوماتيک میشود‪.‬‬
‫‪ ‬وبسرويس‪ :‬يک برنامهی کاربردي دسترسپذير است که ديگر برنامههاي‬
‫کاربردي و انسانها ميتوانند بهطور اتوماتيک آن را کشف‪ ،‬و از آن استفاده‬
‫کنند‪.‬‬
‫‪ ‬سرويس مرکب‪ :‬ترکيبي از چند سرويس ساده يا مرکب ديگر با هدف انجام يک‬
‫کار مشترک‬
‫‪ ‬ترکيب اتوماتيک وبسرويسها ‪:‬‬
‫‪‬ترکيب سرويسها‬
‫‪‬اجراي سرويس مرکب‬
‫‪4‬‬
‫ترکيب سرويس مرکب‬
‫بررس ي درخواست يك سرويس مركب از طرف کاربر‬
‫كشف سرويس‬
‫انتخاب‬
‫توليد توصيف براي سرويسهاي مركب‬
‫‪5‬‬
‫مراحل ترکيب سرويس مرکب‬
‫‪ ‬بررس ي درخواست يك سرويسمركب از طرف کاربر‪ :‬دريافت يك توصيف سطح باال از‬
‫سرويسمركب موردنياز كاربر توسط موتورترکيب و شکستن آن به زيردرخواستها‬
‫‪ ‬كشف سرويس‪ :‬پيداكردن سرويسهاي مناسب جهت اجراي زيردرخواستهاي‬
‫مشخصشده‬
‫‪ ‬ثبت توصيف معنايی سرويسها در ‪repository‬‬
‫‪ ‬کشف سرويس موردنياز با ارائهی توصيف معنايي آن‬
‫‪ ‬توليد ليستی از سرويسهای کشفشده بهازای هر درخواست‬
‫‪ ‬انتخاب‪ :‬انتخاب مناسبترين سرويس از ليست سرويسهاي كشفشده در فاز قبل با توجه‬
‫به معيارهاي‪:‬‬
‫‪Functional ‬‬
‫‪ : Non-functional ‬كارايي‪ ،‬قابليت اطمينان‪ ،‬امنيت‪ ،‬قابليت گسترش‪QoS ،‬‬
‫‪ ‬نيازمنديهاي كاربر‬
‫‪ ‬قابليت تركيب سرويسها (‪ :)Composability‬تشکيل مدل قابليت تركيب‬
‫‪6‬‬
‫مراحل ترکيب سرويس مرکب (ادامه)‬
‫‪ ‬توليد توصيف براي سرويسهاي مركب‪ :‬شامل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ليست سرويسهاي شركتكننده در تركيب‬
‫ترتيب آنها‬
‫رو ِش ارتباط آنها‬
‫پيغامهاي رد و بدل شونده بين آنها‬
‫به وسيلهی يک زبان توصيف‪:‬‬
‫‪ ‬زبانهاي ‪ :Choreography‬مدلي از رفتار خارجي سرويسها‪ ،‬در قالب پيغامهايي كه بين‬
‫اجزا ردوبدل ميشوند‬
‫‪ ‬زبانهاي همآهنگي (‪ :)Orchestration‬ارتباطات كلي بين وبسرويسها در يك وبسرويس‬
‫مركب و چگونگي استفادهي وبسرويس مركب از سرويسهاي كمكي‬
‫•‬
‫‪7‬‬
‫هماهنگ کننده (‪ :)Coordinator‬مديريت و همزماني تبادالت و همچنين كنترل ارتباطات بين‬
‫اجزا‬
‫زبانهاي ‪Choreography‬‬
‫‪ ‬مفهوم‪ Choreography‬به ارتباطات دوطرفهاي كه بين دو سرويس مختلف‪ ،‬از طريق پيغام‪ ،‬وجود دارد‪.‬‬
‫‪:[22] WS-CDL (Web Service Choreography Description Language) ‬‬
‫‪ ‬جديدترين زباني است كه ‪ W3C‬جهت توصيف رفتارهاي مشترك و غيرمشترك سرويس ها از يك ديد كامال كلي‬
‫طراحي كرده است‬
‫‪ ‬بر مبناي‪XML‬‬
‫‪ ‬مدلي غير اليه اي‬
‫‪:[4] WSCI (Web Service Choreography Interface) ‬‬
‫‪ ‬بر مبناي ‪XML‬‬
‫‪ ‬براي توصيف پيغام هاي ورودي و خروجي سرويس ها‬
‫‪ ‬هيچ پشتيباني براي معنا نداشته‬
‫‪ ‬مدلي غير اليه اي است‪.‬‬
‫‪8‬‬
‫زبانهاي همآهنگي (‪)Orchestration‬‬
‫‪‬‬
‫‪:BPEL4WS‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪:[32] Petri-net‬‬
‫‪‬‬
‫‪‬‬
‫‪9‬‬
‫بر پايه زبانهاي ‪( WSFL‬متعلق به ‪ )IBM‬و ‪( XLANG‬متعلق به ‪ )Microsoft‬بناشده است‬
‫و ترکيبي از امكانات اين دو زبان را در خود دارد‪.‬‬
‫مبتني بر ‪XML‬‬
‫تعريف سرويس ها را به شكل فرآيند محور (‪)work flow based‬‬
‫وجود تعداد زيادي سرور براي اجراي سرويس هاي مركب ‪ BPEL4WS‬براي بسترهاي ‪ J2EE‬و‬
‫‪.Net‬‬
‫اختصاص دادن يك ‪Petri-net‬به هر ف ِرآند‬
‫در هرزمان سرويس در يكي از حاالت ‪،suspended ،running ،ready ،not instantiated‬‬
‫و يا ‪ completed‬قراردارد‪.‬‬
‫زبانهاي همآهنگي (‪)Orchestration‬‬
‫‪:OWL-S ‬‬
‫‪ ‬تعريف معنایی سرويس ها و به شكلي قابل فهم براي ماشين← با استفاده از ‪:Ontology‬‬
‫‪ ‬كشف اتوماتيك سرويس‪ ،‬صدا کردن سرويس ها‪ ،‬تركيب‪ ،‬ارتباط بين آنها وكنترل اجراي آنها‬
‫‪ ‬بخش های ‪:OWL-S‬‬
‫‪:Profile .1‬‬
‫سروس‪ :‬اين اطالعات در مراحل كشف سرويس توسط ديگر سرويس ها‪ ،‬كاربران يا عامل ها و‪ ..‬به كارمي رود‪.‬‬
‫‪ ‬معرفي ِ‬
‫‪ .2‬مدل فرآيند (‪:)Process Model‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اطالعات دقيق تري راجع به عمليات سرويس‬
‫طريقه ي استفاده ي سرويس‬
‫بيان جزئيات معنايي درخواست ها‬
‫شرايطي كه تحت آنها خروجي هاي خاص توليد مي شوند‬
‫نحوه درخواست براي يك سرويس‪ ،‬ورودي ها‪ ،‬خروجي ها‪ ،‬پيش شرط ها و اثرات سرويس‬
‫‪:Grounding .3‬‬
‫چگونگي ارتباط با يك سرويس از طريق پيغام ها‬
‫‪ ‬جزئيات‬
‫ِ‬
‫‪ ‬پروتكل ارتباطي‪ ،‬فرمت پيغام ها و ديگر جزئيات مربوط به سرويس مثل شماره پورت هايي كه سرويس روي آنها قابل‬
‫دسترس ي است‬
‫‪10‬‬
)Orchestration( ‫زبانهاي همآهنگي‬
OWL-S
11
‫مقايسه زبانهاي همآهنگي (‪)Orchestration‬‬
‫‪‬زبان انتخاب شده جهت توصيف سرويس مرکب در پايان نامه‬
‫‪12‬‬
‫اجراي سرويس مرکب‬
‫موتور اجرا‬
‫بخش مديريت تراکنش‬
‫بخش جايگزيني سرويس‬
‫‪13‬‬
‫اجراي سرويس مرکب‬
‫‪ ‬فراخوانی سرويسهاي شركتكننده در وبسرويس مركب به ترتيبي كه درنهايت يك‬
‫وظيفهمندي موردنظر را به انجام برسانند‪.‬‬
‫‪ ‬ورودی‪ :‬توصيف وبسرويس مركب‬
‫‪ ‬وظيفه‪:‬‬
‫‪ ‬آغاز اجراي وبسرويس مركب‬
‫‪ ‬فراخوانی سرويسهاي شركتكننده در سرويس مركب به ترتيبي بر اساس توصيف وبسرويس‬
‫مركب‬
‫‪ ‬نظارت بر اجراي سرويس مرکب‬
‫‪ ‬شناسايي و كنترل خطاهاي زمان اجرا‬
‫‪‬جايگزيني سرويسها‬
‫‪‬مديريت تراكنش‬
‫‪14‬‬
‫اجزاي اصلي يک چهارچوب اجراکنندهي سرويس مرکب‬
‫‪‬موتور اجرا (‪)Execution Engine‬‬
‫‪‬بخش جايگزيني سرويس (‪)Replacement Component‬‬
‫‪‬بخش مديريت تراکنش ( ‪Transaction Management‬‬
‫‪)Component‬‬
‫‪15‬‬
‫موتور اجرا (‪)Execution Engine‬‬
‫‪ ‬نظارت بر اجراي وبسرويس مركب (‪)Monitoring‬‬
‫‪ ‬برخورد مناسب با خطاهاي به وجودآمده در زمان اجراي سرويس مركب‪:‬‬
‫‪‬مشكالت مربوط به سرويس‪ :‬مثل ‪ crash‬کردن سرور سرويس يا خطاي زمان اجراي‬
‫سرويس (‪)Exception‬‬
‫‪‬مشكالت مربوط به شبكه‬
‫‪‬مشكالت مربوط به تركيب‪:‬‬
‫‪ ‬ناش ی از طراحي ِبد تركيب مثل رسيدن به يك بنبست ارتباطي در تركيب‬
‫‪‬خطاي زمان اجراي مربوط به جريانكار تركيب (‪)Composition Workflow‬‬
‫‪ ‬تصميم فراخوانی بخشهای جايگزيني سرويس و بخش مديريت تراکنش بر‬
‫اساس خطا‬
‫‪16‬‬
‫بخش جايگزيني سرويس‬
‫(‪)Replacement Component‬‬
‫معادل ديگری كه به تنهايي و يا‬
‫‪ ‬وظيفه‪ :‬جايگزيني سرويس در زمان اجرا با سرويس‬
‫ِ‬
‫بهشكل مركب بتواند وظايف سرويس تعويضشده را انجام دهند‪.‬‬
‫‪ ‬سرويس جايگزينشونده‪:‬‬
‫‪ ‬سرويس ی که با خطا مواجه شده‬
‫‪ ‬سرويس ی که كند شده‬
‫‪ ‬سرويس ی که كارايي خود را ازدستداده است‬
‫‪ ‬هنگامي كه تعريف بخش ي از سرويس مركب در زمان اجرا تغييرکند‬
‫‪ ]16[ ‬و ]‪ [41‬به جايگزيني يك سرويس خطادار هنگام خطا پرداختهاند‬
‫‪ ‬ايده‪ :‬انتخاب يك سرويس با قابليتهاي مشابه سرويس جايگزين شونده‪ ،‬از ليست سرويسهای‬
‫کشفشده در فاز كشف سرويسها‬
‫‪17‬‬
‫بخش مديريت تراکنش‬
‫(‪)Transaction Management Component‬‬
‫ويژگي زير را‬
‫‪ ‬تعريف کالسيک تراکنش (تراکنشهاي ‪ :)ACID‬تغيير حالتي که چهار‬
‫ِ‬
‫دارد‪:‬‬
‫‪« :Atomicity ‬يا همه يا هيچکدام»‬
‫‪ ‬سازگاري (‪ :)Consistency‬صحت در تغيير حالت‬
‫‪ :Isolation ‬عدم تأثير متقابل تراکنشهايي است که همزمان باهم اجرا ميشوند‬
‫‪ ‬ماندگاري (‪ :)Durability‬عدم امکان لغوکردن تراکنش ي که پايانيافته است نيز معروفند‪.‬‬
‫‪ ‬دو رويکرد متفاوت در قبال مديريت تراکنشها‪:‬‬
‫‪ ‬رويکرد بدبينانه‪ :‬قفلکردن منابع در دسترس تراکنش‬
‫‪ ‬رويکرد خوشبينانه [‪ 1‬و ‪:]20‬‬
‫‪‬مبنا‪ :‬در برخي محيطها‪ ،‬امکان بروز ناسازگاري بسيار پايين است ← هزينهي قفلکردن منابع در چنين‬
‫محيطهايي بهصرفه نيست‬
‫‪‬رويکرد‪ :‬به جاي قفلکردن منابع‪ ،‬تغييرات تراکنش را در محلي مياني نگهداري کرده و در پايان تراکنش‬
‫تغييرات را يکباره ماندگار ميکنيم‪.‬‬
‫‪18‬‬
‫بخش مديريت تراکنش (ادامه)‬
‫(‪)Transaction Management Component‬‬
‫‪ ‬ويژگيهاي محيط وبسرويسها‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اتصال و پيوستگي بسيار کم(‪)loosely coupled‬‬
‫قابليت اطمينان پايين‬
‫برخورداری از درجهي بااليي از خودمختاري‬
‫مدت اجرای طوالنی‪ :‬با توجه به ماهيت سناريوها در اين محيط‪ ،‬معموال تراکنشها مدت زيادي به طول ميانجامند (مثاال تراکتش ی‬
‫شامل خريد‪ ،‬پرداخت و تحويل کاال که در مجموع چندين روز به طول مي انجامد)‪.‬‬
‫تعلق منابع درگير در يک تراکنش به حوزههاي متفاوت‬
‫‪ ‬تراکنشهاي ‪ ACID‬برای اين محيط به نظر سختگيرانه ميآيند‪.‬‬
‫‪ ‬اجبارکردن چهار ويژگي تراکنشهاي ‪ ACID‬نتايج نامطلوبي به دنبال خواهدداشت‪.‬‬
‫‪ ‬براي برآوردن نياز تراکنشها در چنين محيطي تراکنشهايي با سختگيري کمتر و ضعيفتر مطرح شده است‪.‬‬
‫«تراکنشهاي طوالني مدت» يا ‪]30[ Long Running Transactions‬‬
‫‪« ‬تراکنشهاي طوالني مدت» ويژگي ‪ Isolation‬در تراکنشها را پيادهسازي نميکنند‬
‫‪19‬‬
‫بخش مديريت تراکنش (ادامه)‬
‫(‪)Transaction Management Component‬‬
‫‪ ‬ايدهي «خنثاکردن» (‪)Compensation‬‬
‫‪ ‬تراکنش ‪ ↔ T‬خنثاکنندهي‪]30[ C‬‬
‫‪ ‬خنثاکنندهي‪ C‬سرويس ي مستقل است که بعد از اتمام تراکنش و خارج از قلمرو آن اجرا ميشود‬
‫‪ C ‬بعد از اتمام ‪ T‬انجام میشود‬
‫‪ T ‬نه منابع مورد نيازش را قفل ميکند و نه تغييرات موقتي در سيستم ايجاد ميکند‬
‫‪ ‬تغييرات همگي واقعي بوده و بالفاصله درسيستم قابل مشاهده هستند‪.‬‬
‫‪ ‬درحالتي که به هردليل خارجي‪ ،‬تراکنش سطح باالتر با مشکلي مواجه شود‪ ،‬سرويس‪ C‬براي جبرانکردن‬
‫و برطرفکردن آثار‪ T‬اجرا میشود‬
‫‪ ‬ميزان موفقيت ‪ C‬در ازبينبردن تمامي آثار تراکنش ‪ T‬بستگي به زمينه دارد‬
‫‪20‬‬
‫بخش مديريت تراکنش (ادامه)‬
‫(‪)Transaction Management Component‬‬
‫‪ ‬چهارچوبهاي ارائه شده براي پشتيباني مديريت تراکنشها‬
‫‪:]13[ Web Service Transaction Management (WS-TXM) .1‬‬
‫•‬
‫(بخش ي از چهارچوب‪Web Service Composite Application Framework (WS-‬‬
‫)‪ CAF‬که توسط شرکت ‪ SUN‬ارائهشده است[‪)]10‬‬
‫چوب ‪ WS-CAF‬بنا شده است‪:‬‬
‫ديگر چهار ِ‬
‫معماري اليهاي دارد و بر روي دو اليهي ِ‬
‫•‬
‫به طور خاص به اجراي رفتارهاي تراکنش ي ميپردازد و سه نوع رفتار را براي تراکنشها پشتيباني‬
‫ميکند‪:‬‬
‫•‬
‫•‬
‫•‬
‫)‪]12[Web Service Context (WS-CTX‬‬
‫)‪]11[Web Service Coordination Framework (WS-CF‬‬
‫قديمي ‪ACID‬‬
‫• تراکنشهاي‬
‫ِ‬
‫• تراکنشهاي طوالنيمدت ( ‪Long Running Actions‬يا ‪)LRAs‬‬
‫• تراکنشهاي فرآيندتجاري‪ :‬يک يا چند تراکنش از دو نوع ديگر را شامل ميشوند‪.‬‬
‫•‬
‫‪21‬‬
‫به مسئلهي تعريف و مشخصکردن تراکنشها و سرويسهاي مرکب نپرداخته است‪.‬‬
‫بخش مديريت تراکنش (ادامه)‬
‫(‪)Transaction Management Component‬‬
‫‪:WS-Transaction .2‬‬
‫‪ ‬مشابه ‪ WS-TXM‬توسط شرکتهاي ‪ BEA, IBM‬و ‪ Microsoft‬ارايه‬
‫شده است‪.‬‬
‫‪ ‬که به رفتار تراکنشها پرداختهاست‪.‬‬
‫‪ ‬دو نوع رفتار براي تراکنشها درنظرگرفته است‬
‫‪ ‬تراکنشهاي اتميک (‪)Atomic Transactions‬‬
‫‪ ‬فعاليتهاي تجاري (‪)Business Activities‬‬
‫‪ ‬اين چهارچوب بر روي چهارچوب ديگري که توسط همين گروه ارايه شده است بنا‬
‫شده که به پشتيباني ارتباط تراکنشها ميپردازد (‪)WS-Coordination‬‬
‫بان تعريف سرويس مرکب پشتيباني ميکند‪.‬‬
‫‪ BPEL4WS ‬را به عنوان ز ِ‬
‫‪22‬‬
‫بخش مديريت تراکنش‬
‫(‪)Transaction Management Component‬‬
‫‪: ]28[ WebTransact ‬‬
‫‪‬معماري چند اليه‬
‫‪‬يک مدل تراکنش ي‬
‫‪:Web Service Transaction Language‬‬
‫‪‬مبتنی بر ‪XML‬‬
‫‪‬گسترش ی بر زبان ‪WSDL‬‬
‫‪‬تعريف سرويسهای مرکب‬
‫‪‬امکان تعريف و توصيف تراکنشها در سطوح مختلف‬
‫‪‬تمرکز بر رفع مشکل انواع مختلف ناهمگونی موجود در فضای وبسرويسها‬
‫(نحوی‪ ،‬ساختاری و محتوايی)‬
‫‪‬ايدهي سرويس ميانجي (‪ :)Mediator Service‬سرويس ي که با مجردکردن مفاهيم‬
‫سرويسها‪ ،‬به عنوان واسطي بين هماهنگکنندهي سرويسها و سرويسهاي اصلي‬
‫قرارميگيرد‬
‫‪23‬‬
‫بخش مديريت تراکنش‬
‫(‪)Transaction Management Component‬‬
‫‪ ‬چهارچوبهاي ديگربا اهميت و حوزهي پوشش ضعيفتر‪:‬‬
‫‪]21[ Transactional Web Service Orchestration (TWSO)‬‬
‫‪]42[ Business Transaction Framework (BTF)‬‬
‫‪ ‬پژوهشهايي که صرفا به تعريف و مشخصکردن رفتار تراکنش ی پرداختهاند‪:‬‬
‫‪‬استفاده از زبان ‪ UML‬جهت تعريف و مشخصکردن رفتار تراکنش ی و نگاشت به‬
‫استانداردهاي ديگري مثل ‪:BPEL4WS‬‬
‫‪ ‬کار آقاي شهرام دوستدار و همکارانش [‪ 5‬و ‪.]33‬‬
‫‪‬کار ‪ Orriens‬و همکارانش ]‪ 25‬و ‪.[26‬‬
‫‪24‬‬
‫ديدگاههاي مختلف درزمينه تركيب سرويسهاي مبتني بروب‬
‫تركيب وبسرويسها به شكل ايستا و پويا‬
‫تركيب سرويسها به شكل اتوماتيك يا دستي‬
‫تركيب سرويسها بر اساس توصيف و يا مدلها‬
‫تركيب سرويسها با استفاده از برنامهريزي هوشمصنوعي‬
‫همزماني اجرا و تركيب وبسرويسها‬
‫‪25‬‬
‫تركيب وبسرويسها به شكل ايستا و پويا‬
‫مان طراحي‪ ،‬اجزاي تركيب انتخاب شده به يكديگر لينك ميشوند‬
‫‪ ‬تركيب ايستا در طول ز ِ‬
‫‪ ‬مناسب برای محيطهای بدون تغيير‬
‫‪ ‬ماژولهاي تشكيلدهندهی پلتفرم اجرای سرويسهای مرکب ‪: ]38[ StarWSCop‬‬
‫‪ ‬سيستم هوشمند براي تجزيهي نيازهاي كاربر‬
‫‪ ‬انباري از وبسرويسهاي ثبتشده‬
‫‪ ‬موتور كشفسرويس‬
‫‪ ‬موتور تركيب‬
‫‪ ‬مانيتوركننده جهت ثبت وقايع و مطلعساختن موتور تركيب‪.‬‬
‫‪ ‬سيستم ‪e-flow‬‬
‫‪ ‬تعريف‪ ،‬اجرا و مانيتوركردن ‪e-service‬هاي مركب‬
‫‪ ‬كشف پوياي سرويس‬
‫‪ ‬تراكنشهاي ‪ACID‬‬
‫‪ ‬نمايش يك سرويس مركب به وسيلهي يك گراف كه ترتيب اجراي نودها را در پروسه نشان ميدهد‬
‫‪26‬‬
‫تركيب سرويسها به شكل اتوماتيك يا دستي‬
‫‪‬تركيب دستی‪ :‬انتخاب سرويسهاي شركتكننده در ترکیب توسط‬
‫كاربر از بين سرويسهاي موجود‬
‫‪‬ترکيب اتوماتيک يا مبتنیبر آنتولوژی [‪:]39‬‬
‫‪‬چهار ماژول اصلی‪specification, matchmaking, :‬‬
‫‪selection, generation‬‬
‫‪‬ارايهی يك «مدل قابليت تركيب»‬
‫‪‬معرفی زبان سطح باالی ‪ CSSL‬در ماژول ‪selection‬‬
‫‪ + WSDL‬معنا = ‪CSSL‬‬
‫‪‬استفاده از محدوديتهای ‪ QoS‬در ماژول ‪selection‬‬
‫‪27‬‬
‫گسترش ‪ WSDL‬با استفاده ازآنتولوژی‬
‫‪28‬‬
‫تركيب سرويسها براساس توصيف و يا مدلها‬
‫‪ ‬ترکيب با استفاده از مدل (‪:)Orriens‬‬
‫‪‬بر اساس ترکيب پويای وبسرويسها‬
‫‪‬مدل مبتنیبر ‪ UML‬با استفاده از دو مفهوم‪:‬‬
‫‪ ‬املانهاي تركيب سرويس‬
‫‪ ‬قوانين تركيب سرويس‬
‫‪ ‬ترکيب با استفاده از توصيف (‪:)enTish‬‬
‫‪‬بيان درخواستهاي كاربر به شكل صوري‬
‫‪‬توصيف صوري سرويسهاي موجود‬
‫‪‬تركيب سرويسها درزمان اجرا‬
‫‪29‬‬
‫تركيب سرويسها با استفاده ازبرنامهريزي‬
‫هوشمصنوعي‬
‫‪ ‬مسئلهي برنامهريزي‪ :‬پنجتايي (‪ .)S, S0, G, A, Г‬در محيط وبسرويسها‪:‬‬
‫نهايي تعريفشده در نيازمنديهاي درخواستدهنده‬
‫‪ SO‬و ‪ G‬حالتهاي اوليه و ِ‬
‫‪ A‬مجموعهي سرويسهاي موجود‬
‫‪ Г‬نشاندهنده تابع تغيير حالت هر سرويس‬
‫ً‬
‫‪( DAML-S ‬و متعاقبا ‪ )OWL-S‬تنها زبان وبسرويس ي است كه امكان‬
‫برقراري ارتباط مستقيم با برنامهريزي هوشمصنوعي را داراست‪.‬‬
‫‪30‬‬
‫‪SHOP2‬‬
‫‪ ‬مبتني بر ‪DAML-S‬‬
‫‪ ‬سيستم برنامهريزي ‪)Hierarchical Task Network( HTN‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪31‬‬
‫يك وظيفه را به وظايف بسيار كوچك تجزيهميكند‬
‫سيستم‬
‫مفهوم تجزيهي وظايف در ‪ HTN‬بسيار مشابه مفهوم تجزيهي ‪ Process‬در ‪ DAML-S‬است اين‬
‫ِ‬
‫برنامهريزي كانديد بسيار خوبي براي استفاده در تركيب اتوماتيك وبسرويسها به شمار ميرود‪.‬‬
‫پايگاه دانش ‪ SHOP2‬شامل‪:‬‬
‫عملگرها (‪ :)operators‬توصيفي از آنچه براي انجام يك زيروظيفه موردنياز است‬
‫متد‪ :‬شيوهي تجزيهي يك وظيفهي مركب به زير وظيفهها‬
‫يك مسئلهي برنامهريزي در ‪ SHOP2‬يك سه تائي (‪ )S, T, D‬است که به عنوان وروردي به ‪ SHOP2‬داده‬
‫شده و يك برنامه (‪ P=)p1p2…….pn‬را برميگرداند‪ pn…,p2,p1 .‬عملگرهايي هستند كه درمجموع‬
‫باعث رسيدن از ‪ S‬به‪ T‬در ‪ D‬ميشوند‪.‬‬
‫همزماني اجرا و تركيب وبسرويسها‬
‫‪ ‬مشکل تركيب و اجراي وبسرويسهاي مركب به شكل پيدرپي ‪ :‬محيطهاي پويا با تغييرات‬
‫زياد زمان اجرا‬
‫‪ ‬راه حل‪ :‬همزماني اجرا و تركيب در وبسرويسها‬
‫‪ ‬ايده‪ :‬استفاده از عاملهاي نرمافزاري و تقسيم برنامه به بخشهاي كوچكتر‪ .‬پساز‬
‫برنامهريزي هر بخش‪ ،‬بخش مذكور اجرا شده و بخش بعدی برنامهريزي میشود‪.‬‬
‫‪ ‬دو نوع عامل‪:‬‬
‫‪ ‬کاربر‪ :‬در نقش كاربر درخواست كنندهي سرويس مركب‬
‫‪ ‬تامينکننده‪ :‬در نقش تامينكنندگان سرويسها‬
‫‪ ‬معيا ِرهای انتخاب سرويس شرکتکننده در ترکيب توسط عاملكاربر‪:‬‬
‫‪ ‬هزينهي اجرا‬
‫‪ ‬محل قرارگيري عاملهاي تامينكننده‬
‫‪ ‬عامل سوم‪ :‬عاملكمكي‬
‫‪32‬‬
33
‫ادامهی کار‬
‫جزء هماهنگکننده اجراي وبسرويسها‬
‫جزء جايگزيني سرويس‬
‫جزء مديريت تراکنش ها‬
‫‪34‬‬
‫ادامه کار‬
‫‪ ‬در اين پاياننامه چهارچوبي جهت اجراي سرويسهاي مرکب ارايه ميشود‬
‫‪ ‬ورودی‪ :‬توصيف يک سرويس مرکب با زبان‪( OWL-S‬البته نسخهاي‬
‫گسترشيافته از‪.)OWL-S‬‬
‫‪ ‬جنبههاي مختلف چهارچوب پيشنهادی‪:‬‬
‫‪ ‬جزء هماهنگکننده اجراي وبسرويسها (‪)Coordinator Component‬‬
‫‪ ‬جزء جايگزيني سرويس (‪)Replacement Component‬‬
‫‪ ‬جزء مديريت تراکنش ها (‪)Transaction Management Component‬‬
‫‪35‬‬
‫جزء هماهنگکننده اجراي وبسرويسها‬
‫(‪)Coordinator Component‬‬
‫‪ ‬جزء اجراکننده سرويس مرکب شامل بخشهای زير میباشد‪:‬‬
‫‪‬بخش هماهنگکننده بين سرويسها (‪:)Coordinator Component‬‬
‫‪ ‬ايجاد ارتباط بين سرويسهاي بدوی سرويس مرکب‬
‫‪‬انتقال اطالعات بين سرويسها‬
‫‪‬برقراري ارتباط با ساير اجزاء چهارچوب‬
‫‪‬بخش مديريت زمينه (‪:)Context Management‬‬
‫‪‬ايجاد زمينهی مشترک برای سرويسهاي جزء يک سرويس مرکب‪:‬‬
‫• محلي جهت نگهداري اطالعات زمينهاي مشترک بين سرويسها‬
‫• نگهداری حالت سرويس مرکب (‪)State‬‬
‫‪ ‬اين بخش مورداستفادهی بخش هماهنگکننده است‪.‬‬
‫‪‬مدلي اززمينه (‪ )Context Model‬در اين بخش ارايه خواهد شد‪.‬‬
‫‪36‬‬
‫جزء جايگزيني سرويس‬
‫(‪)Replacement Component‬‬
‫‪« ‬مدل قابليت جايگزيني» (‪ )Replaceability Model‬شامل همهي معيارها جهت‬
‫انتخاب سرويس جايگزينشونده‪:‬‬
‫‪ ‬معيارهاي ‪:Functional‬‬
‫‪‬معيارهاي نحوي (‪:)Syntactic‬‬
‫• ميزان و نحوه سازگاری نحوی بايد بهدقت در مدل مذکور مشخص شود‬
‫• برخي ناسازگاريهاي نحوي به وسيلهی ميانجيگريهايي مثل تبديل و يا اجتماع نوعهاي دادهاي قابلحل هستند‪.‬‬
‫‪‬معيارهاي معنايي (‪:)Semantic‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سرويس جايگزينشونده بايد از لحاظ معنايي معادل سرويس ازکارافتاده بوده و قابليت انجام تمامي کارهاي آن را‬
‫داشته باشد‪.‬‬
‫سرويس جايگزينشونده و سرويس ازکارافتاده بايد متعلق به حوزههای (‪ )Domain‬و دسته (‪)Category‬‬
‫يکسانی باشند‪.‬‬
‫کردن معنايي دو سرويس بستگي دارد‪.‬‬
‫انجام اين مقايسهي معنايي به قابليت مدل ِ‬
‫قابليت مدلکردن و توصيف معنايي سرويس و حوزه و دسته و ‪OWL-S ← ...‬‬
‫‪ ‬معيارهاي‪:Non-Functional‬‬
‫‪‬خصوصياتی مثل ‪ ،QoS‬زمانبندي‪ ،‬امنيت‪ ،‬قابليتاطمينان و‪...‬‬
‫‪‬قابليت مدلکردن اين خصوصيات در زبان مدلکردن سرويسها ضروری است ← ‪OWL-S‬‬
‫‪37‬‬
‫جزء جايگزيني سرويس‬
‫(‪)Replacement Component‬‬
‫‪ ‬موارد ديگري که براي جايگزيني سرويس ازکارافتاده با سرويس يا سرويسهاي مشابه درنظرگرفته شوند‪:‬‬
‫‪ ‬نياز به ليستي از سرويسهاي کانديد جهت جايگزينی‪:‬‬
‫مشابه هر‬
‫‪ ‬نگهداری ليست سرويسهای يافتشده در مرحله کشف سرويس ← نياز به نگهداري ليست سرويسهاي‬
‫ِ‬
‫سرويس‪ ،‬از فاز کشف سرويس تا انتهاي اجراي سرويس مرکب ← گسترش زبان ‪( OWL-S‬مشخصا بخش‬
‫پروفايل)‪ ،‬و اضافه کردن يک ليست از سرويسهاي کانديد به ازاي هر سرويس‬
‫‪ ‬دسترسپذيري اين سرويسها بايد بررس ي شود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪38‬‬
‫در صورت عدم دسترس ي به سرويسکانديد مناسب دوباره فاز کشف سرويس تکرار میشود‪.‬‬
‫بررس ی قابليتجايگزيني باتوجه به معيارهاي مدلقابليتجايگزيني‬
‫درک مشترکي از محيط اجراي وب سرويس مرکب به شکل (زمينه يا ‪ )context‬درهنگام جايگزيني به سرويس‬
‫جديد منتقل شود ← با استفاده از بخش مديريت زمينه (‪ )Context Management‬در جزء اجراکننده‬
‫سرويس مرکب‬
‫برخي اصالحات و يا تغييرات برای سرويس جديد براي جايگزين شدن توسط يک واسط‪ ،‬قبل از جايگزيني انجام‬
‫تبدل برخي پارامترها (مثل ورودي و خروجي سرويس)‬
‫مي شود‪ ،‬مثال ِ‬
‫ترکيبي از سرويس هاي دردسترس جهت جايگزينی با سرويس از کار افتاده ← اجرای مراحل ترکيب سرويس‬
‫جزء مديريت تراکنش ها‬
‫(‪)Transaction Management Component‬‬
‫محيط خاص وب سرويس ها‬
‫‪ ‬بررس ي احتمال استفاده از رويکرد بدبينانه در‬
‫ِ‬
‫‪ ‬در صورت استفاده از رويکرد خوش بينانه بخش هاي زير بايد مدنظر قرارگيرند‪:‬‬
‫‪ ‬امکان تعريف و مشخص کردن تراکنش ها در تعريف سرويس هاي مرکب ← گسترش زبان ‪OWL-S‬‬
‫‪ ‬مدل کردن انواع رفتارهاي تراکنش ي در محيط وب سرويس ها‬
‫‪ ‬حداقل انواع رفتارهاي تراکنش ي‬
‫‪‬فعاليت هاي‪ACID‬‬
‫ً‬
‫‪‬فعاليت هاي طوالني مدت (‪ :)LRAs‬در مدل ‪ LRAs‬بايد حتما به ازاي هر فعاليت يک سرويس خنثاکننده‬
‫نيز در هماهنگ کننده ی سرويس مرکب ثبت شده باشد‪.‬‬
‫‪‬فعاليت هاي غيرحفاظت شده (‪)Unprotected‬‬
‫‪‬فرآيندهاي تجاري‬
‫‪39‬‬
‫مراجع‬
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Adya, "Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed
Transactions", PhD thesis MIT, Department of Electrical Engineering and Computer Science, March
1999.
Akram, M.S, Medjahed, B. and Bouguettaya, A. “Supporting Dynamic Changes in Web Service
Environments”, ICSOC, LNCS 2910, Springer-Verlag Berlin Heidelberg, pp.319–334, 2003.
Ambroszkiewicz, S. Benatallah, B. and Shaw, M.C. (Eds.). “Entish: An Approach to Service
Composition”, TES 2003, LNCS 2819, Springer-Verlag Berlin Heidelberg, pp.168–178, 2003.
Arkin, A., Askary, S., Fordin, S., Jekeli, W., Kawaguchi, K., Orchard, D., Pogliani, S., Riemer, K., Susan
Struble S., Takacsi-Nagy, P., Trickovic, I. and Zimek, S. “Web Service Choreography Interface (WSCI)”,
2002, 1.0, http://www.w3.org/TR/wsci/
Benjamin A. Schmit, Schahram Dustdar, “Systematic Design of Web Service Transactions”. TES, 2005,
pp:23-33.
B. Medjahed, B. Benatallah, A. Bouguettaya, A. Elmagarmid. "WebBIS: An Infrastructure for Agile
Integration of Web Services", International Journal on Cooperative Information Systems (IJCIS), 13(2),
June 2004.
B. Medjahed, A. Bouguettaya, and A. Elmagarmid. “Composing Web Services on the Semantic Web”. The
VLDB Journal, 12(4):333--351, November 2003.
B. Medjahed, A. Bouguettaya. "A Dynamic Foundational Architecture for Semantic Web Services",
Distributed and Parallel Databases (DAPD), 17(2), March 2005.
B. Medjahed, A. Bouguettaya. "A Multilevel Composability Model for Semantic Web Services", IEEE
Transactions on Knowledge and Data Engineering (TKDE), 17(7), July 2005.
Bunting, D., Hurley, M.C.O., Little, M., Mischkinsky, J., Newcomer, E., Webber, J. and
Swenson, K. (2003b) “Web Services Composite Application Framework (WS-CAF) Ver1.0”, July 28,
2003.
Bunting, D., Hurley, M.C.O., Little, M., Mischkinsky, J., Newcomer, E., Webber, J. and Swenson, K.
(2003a) “Web Services Coordination Framework (WS-CF) Ver1.0”,
40
http://developers.sun.com/techtopics/webservices/wscaf/wscf.pdf, July 28.
)‫مراجع(ادامه‬
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Bunting, D., Hurley, M.C.O., Little, M., Mischkinsky, J., Newcomer, E., Webber, J. and Swenson, K. (2003d),
“Web Services Context (WS-Context) Ver1.0",
http://developers.sun.com/techtopics/webservices/wscaf/wsctx.pdf, July 28.
Bunting, D., Hurley, M.C.O., Little, M., Mischkinsky, J., Newcomer, E., Webber, J. and Swenson, K. (2003c),
“Web Services Transaction Management (WS-TXM) Ver1.0”,
http://developers.sun.com/techtopics/webservices/wscaf/wstxm.pdf, July 28.
“Business Process Execution Language for Web Services, version 1.1”, http://www.oasisopen.org/committees/download.php/2046/BPEL%20V1-1%20May%205%202003%20Final.pdf
Casati, F. and Shan, M-C., “Dynamic and Adaptive Composition of E-services”, Elsevier Science Ltd., 12th
International Conference on Advanced Information Systems Engineering (CAiSE 00), 2001.
Courbis,C., Finkelstein,A. “Towards an aspect weaving BPEL engine”. Third AOSD Workshop on Aspects,
Components, and Patterns for Infrastucture Software (ACP4IS) Lancaster, UK, 2004.
D. Tidwell, “Web Services: the Web's next revolution”, http://www-106.ibm.com/developerworks/edu/ws-dwwsbasics-i.html, 2000.
E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana. “Web Services Description Language (WSDL)
1.1”. W3C Note, March 15, 2001.
F. Curbera et al., “Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI” IEEE
Internet Computing, vol. 6, no. 2, 2002, pp. 86–93.
Gruber R. E. “Optimistic Concurrency Control for Nested Distributed Transactions”. S.M. thesis,
Massachusetts Institute of Technology, 1989
Hrastnik, P. Winiwarter, W. “TWSO — Transactional Web Service Orchestrations”, International Conference
on Next Generation Web Services Practices. NWeSP. Aug. 2005: 45- 50.
Kavantzas, N., Burdett, D., Ritzinger, G., “Web Services Choreography Description Language Version 1.0”,
http://www.w3.org/TR/2004/WD-ws-cdl-10-20040427/, April 2004.
41
)‫مراجع(ادامه‬
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Milanovic, N. Malek, M. “Current solutions for Web service composition”, Internet Computing, IEEE, Nov.-Dec. 2004,
(51- 59).
Orriens, B., Yang, J. and Papazoglou, M.P. (2003a) Orlowska, M.E. et al. (Eds.): “Model Driven Service Composition”,
ICSOC, LNCS 2910, Springer-Verlag Berlin Heidelberg, pp.75–90.
Orriens, B., Yang, J. and Papazoglou, M.P. (2003b) Jeusfeld, M.A. and Pastor, Ó. (Eds.): “A Framework for Business
Rule Driven Web Service Composition”, ER 2003 Workshops, LNCS 2814, Springer-Verlag Berlin Heidelberg 2003,
pp.52–64
Orriens, B., Yang, J. and Papazoglou, M.P. (2003c) Benatallah, B. and Shan, M-C. (Eds.): “A Framework for Business
Rule Driven Service Composition”, TES, LNCS 2819, Springer-Verlag Berlin Heidelberg, pp.14–27
“OWL-S: Semantic Markup for Web Services”. David Martin, editor. Technical Overview (associated with OWL-S
Release 1.1).
Pires, P.F., Benevides, M.R.F. and Mattoso, M. (2003) “Building Reliable Web Services Compositions, Web Databases
and Web Services” 2002, LNCS 2593, Springer-Verlag Berlin Heidelberg, pp.59–72.
P. Wohed, W.M.P. van der Aalst, M. Dumas, and A.H.M. ter Hofstede. “Analysis of Web Services Composition
Languages: The Case of BPEL4WS”. In I.Y. Song, S.W. Liddle, T.W. Ling, and P. Scheuermann, editors, 22nd
International Conference on Conceptual Modeling (ER 2003), volume 2813 of Lecture Notes in Computer Science,
pages 200--215. SpringerVerlag, Berlin, 2003.
R. Bruni, G. L. Ferrari, H. C. Melgratti, U. Montanari, D. Strollo, E. Tuosto: “From Theory to Practice in Transactional
Composition of Web Services”. EPEW/WS-FM 2005
R. Chinnici, M. Gudgin, J.-J. Moreau, J. Schlimmer, and S. Weerawarana. “Web Services Description Language (WSDL)
2.0 -- Part 1: Core Language”. W3C Working Draft, August 3, 2004.
R. Hamadi and B. Benatallah, “A Petri-Net-Based Model for Web Service Composition”, Proc. 14th Australasian
Database Conf. Database Technologies, ACM Press, 2003, pp. 191–200.
Schmit, B.A. Dustdar, S, “Towards transactional Web services”, Seventh IEEE International Conference on ECommerce Technology Workshops, 2005. , July 2005, 12- 20.
“Semantic Web Service Ontology (SWSO)”, SWSL Committee, 2005. Available in
http://www.daml.org/services/swsl/report/.
42
)‫مراجع(ادامه‬
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Sheila McIlraith and Tran Cao Son. “Adapting golog for composition of semantic web services”. In
Proceedings of the Eighth International Conference on Knowledge Representation and Reasoning
(KR2002), Toulouse, France, April 2002.
Sheila McIlraith, Tran Cao Son, and Honglei Zeng. “Semantic web services”. IEEE Intelligent Systems,
16(2):46-53, March/April 2001.
S. Narayanan and S. McIlraith, “Simulation, Verification and Automated Composition of Web
Services”, In the Proceedings of the Eleventh International WWW Conference, Honolulu, Hawaii,
USA, May 2002. ACM.
Sun, H., Wang, X., Zhou, B. and Zou, P. “Research and Implementation of Dynamic Web Services
Composition”, APPT 2003, LNCS 2834, Springer-Verlag Berlin Heidelberg, pp.457–466.
Su, S.Y.W., Meng, J., Krithivasan, R., Degwekar, S. and Helal, S. “Dynamic inter-enterprise workflow
management in a constraint-based e-service infrastructure”, Electronic Commerce Research, Kluwer
Academic Publishers, 2003, Vol. 3, pp.9–24.
T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web”. Scientific American, 284(5):34-43,
2001.
T. Friese, J. P. Muller and B. Freisleben, "Self-Healing Execution of Business Processes Based on a
Peer-to-Peer Service Architecture", Systems Aspects in Organic and Pervasive Computing - ARCS
2005.
Wang, T. “Towards a transaction framework for contract-driven service-oriented business processes”.
In A. Hanemann (Ed.), Proceedings of the IBM PhD Student Symposium at ICSOC 2005 (pp. 43-48).
Wu, Dan and Sirin, Evren and Parsia, Bijan and Hendler, James and Nau, Dana. “Automatic Web
Services Composition Using SHOP2”. 2003
Z. Maamar, Q. Z. Sheng and B. Benatallah. “Interleaving Web Services Composition and Exectution
using Software Agents and Delegation”. In Proc. Workshop on Web Services and Agent-Based
Engineering. July 2003
43
Download