بخشی از پاورپوینت

اسلاید 1 :

پشتيباني جايگزيني سرويس و مديريت تراکنشها در ترکيب سرويسهاي مبتني بر وب

اسلاید 2 :

رئوس مطالب
مقدمه
ترکيب سرويس مرکب
بررسي درخواست يك سرويس مركب از طرف کاربر
كشف سرويس
انتخاب
توليد توصيف براي سرويس هاي مركب
زبان هاي Choreography
زبانهاي هم آهنگي
BPEL4WS
OWL-S
Petri-net
اجرای سرويس مرکب
موتور اجرا
بخش مديريت تراکنش
بخش جايگزيني سرويس

اسلاید 3 :

رئوس مطالب(ادامه)
ديدگاههاي مختلف در زمينه تركيب سرويسهاي مبتني بروب
تركيب وبسرويسها به شكل ايستا و پويا
تركيب سرويسها به شكل اتوماتيك يا دستي
تركيب سرويسها بر اساس توصيف و يا مدلها
تركيب سرويسها با استفاده از برنامهريزي هوشمصنوعي
همزماني اجرا و تركيب وبسرويسها
ادامهی کار
جزء هماهنگکننده اجراي وبسرويسها
جزء جايگزيني سرويس
جزء مديريت تراکنش ها
مراجع

اسلاید 4 :

مقدمه
وبِ معنايي: نسل بعدي وب که علاوه بر اطلاعات، معنا را نيز در بر ميگيرد در نتيجه اطلاعات قابل پردازش، جستجو و به اشتراکگذاري به وسيلهي ابزارهاي اتوماتيک میشود.
وبسرويس: يک برنامهی کاربردي دسترسپذير است که ديگر برنامههاي کاربردي و انسانها ميتوانند بهطور اتوماتيک آن را کشف، و از آن استفاده کنند.
سرويس مرکب: ترکيبي از چند سرويس ساده يا مرکب ديگر با هدف انجام يک کار مشترک
ترکيب اتوماتيک وبسرويسها :
ترکيب سرويسها
اجراي سرويس مرکب

اسلاید 5 :

ترکيب سرويس مرکب
بررسي درخواست يك سرويس مركب از طرف کاربر
كشف سرويس
انتخاب
توليد توصيف براي سرويسهاي مركب

اسلاید 6 :

مراحل ترکيب سرويس مرکب
بررسي درخواست يك سرويسمركب از طرف کاربر: دريافت يك توصيف سطح بالا از سرويسمركب موردنياز كاربر توسط موتورترکيب و شکستن آن به زيردرخواستها
كشف سرويس: پيداكردن سرويسهاي مناسب جهت اجراي زيردرخواستهاي مشخصشده
ثبت توصيف معنايی سرويسها در repository
کشف سرويس موردنياز با ارائهی توصيف معنايي آن
توليد ليستی از سرويسهای کشفشده بهازای هر درخواست
انتخاب: انتخاب مناسبترين سرويس از ليست سرويسهاي كشفشده در فاز قبل با توجه به معيارهاي:
Functional
Non-functional : كارايي، قابليت اطمينان، امنيت، قابليت گسترش، QoS
نيازمنديهاي كاربر
قابليت تركيب سرويسها (Composability): تشکيل مدل قابليت تركيب

اسلاید 7 :

مراحل ترکيب سرويس مرکب (ادامه)
توليد توصيف براي سرويسهاي مركب: شامل
ليست سرويسهاي شركتكننده در تركيب
ترتيب آنها
روشِ ارتباط آنها
پيغامهاي رد و بدل شونده بين آنها
به وسيلهی يک زبان توصيف:
زبانهاي Choreography: مدلي از رفتار خارجي سرويسها، در قالب پيغامهايي كه بين اجزا ردوبدل ميشوند
زبانهاي همآهنگي (Orchestration): ارتباطات كلي بين وبسرويسها در يك وبسرويس مركب و چگونگي استفادهي وبسرويس مركب از سرويسهاي كمكي
هماهنگ کننده (Coordinator): مديريت و همزماني تبادلات و همچنين كنترل ارتباطات بين اجزا

اسلاید 8 :

زبانهاي Choreography
مفهومChoreography به ارتباطات دوطرفه­اي كه بين دو سرويس مختلف، از طريق پيغام، وجود دارد.
WS-CDL (Web Service Choreography Description Language) [22]:
جديدترين زباني است كهW3C جهت توصيف رفتارهاي مشترك و غيرمشترك سرويس ها از يك ديد كاملا كلي طراحي كرده است
بر مبناي XML
مدلي غير لايه اي

WSCI (Web Service Choreography Interface) [4]:
بر مبنايXML
براي توصيف پيغام هاي ورودي و خروجي سرويس ها
هيچ پشتيباني براي معنا نداشته
مدلي غير لايه اي است.

اسلاید 9 :

زبانهاي همآهنگي (Orchestration)
BPEL4WS:
بر پايه زبان­هاي WSFL (متعلق به IBM) و XLANG (متعلق بهMicrosoft ) بناشده است و ترکيبي از امكانات اين دو زبان را در خود دارد.
مبتني بر XML
تعريف سرويس ها را به شكل فرآيند محور (work flow based)
وجود تعداد زيادي سرور براي اجراي سرويس هاي مركب BPEL4WS براي بسترهاي J2EE و .Net
Petri-net [32]:
اختصاص دادن يك Petri-net به هر فرآِند
در هرزمان سرويس در يكي از حالات not instantiated، ready، running، suspended، و يا completed قراردارد.

اسلاید 10 :

زبانهاي همآهنگي (Orchestration)
OWL-S:
تعريف معنایی سرويس ها و به شكلي قابل فهم براي ماشين ←با استفاده از Ontology:
كشف اتوماتيك سرويس، صدا کردن سرويس ها، تركيب، ارتباط بين آنها وكنترل اجراي آنها
بخش های OWL-S:
Profile:
معرفي سروِس: اين اطلاعات در مراحل كشف سرويس توسط ديگر سرويس ها، كاربران يا عامل ها و.. به كارمي رود.
مدل فرآيند (Process Model):
اطلاعات دقيق تري راجع به عمليات سرويس
طريقه ي استفاده ي سرويس
بيان جزئيات معنايي درخواست ها
شرايطي كه تحت آنها خروجي هاي خاص توليد مي شوند
نحوه درخواست براي يك سرويس، ورودي ها، خروجي ها، پيش شرط ها و اثرات سرويس
Grounding:
جزئيات چگونگيِ ارتباط با يك سرويس از طريق پيغام ها
پروتكل ارتباطي، فرمت پيغام ها و ديگر جزئيات مربوط به سرويس مثل شماره پورت هايي كه سرويس روي آنها قابل دسترسي است

اسلاید 11 :

زبانهاي همآهنگي (Orchestration)
OWL-S

اسلاید 12 :

مقايسه زبانهاي همآهنگي (Orchestration)
زبان انتخاب شده جهت توصيف سرويس مرکب در پايان نامه

اسلاید 13 :

اجراي سرويس مرکب
موتور اجرا
بخش مديريت تراکنش
بخش جايگزيني سرويس

اسلاید 14 :

اجراي سرويس مرکب
فراخوانی سرويسهاي شركتكننده در وبسرويس مركب به ترتيبي كه درنهايت يك وظيفهمندي موردنظر را به انجام برسانند.

ورودی: توصيف وبسرويس مركب
وظيفه:
آغاز اجراي وبسرويس مركب
فراخوانی سرويسهاي شركتكننده در سرويس مركب به ترتيبي بر اساس توصيف وبسرويس مركب
نظارت بر اجراي سرويس مرکب
شناسايي و كنترل خطاهاي زمان اجرا
جايگزيني سرويسها
مديريت تراكنش

اسلاید 15 :

اجزاي اصلي يک چهارچوب اجراکنندهي سرويس مرکب
موتور اجرا (Execution Engine)
بخش جايگزيني سرويس (Replacement Component)
بخش مديريت تراکنش (Transaction Management Component)

اسلاید 16 :

موتور اجرا (Execution Engine)
نظارت بر اجراي وبسرويس مركب (Monitoring)
برخورد مناسب با خطاهاي به وجودآمده در زمان اجراي سرويس مركب:
مشكلات مربوط به سرويس: مثل crash کردن سرور سرويس يا خطاي زمان اجراي سرويس (Exception)
مشكلات مربوط به شبكه
مشكلات مربوط به تركيب:
ناشی از طراحي بدِ تركيب مثل رسيدن به يك بنبست ارتباطي در تركيب
خطاي زمان اجراي مربوط به جريانكار تركيب (Composition Workflow)
تصميم فراخوانی بخشهای جايگزيني سرويس و بخش مديريت تراکنش بر اساس خطا

اسلاید 17 :

بخش جايگزيني سرويس (Replacement Component)
وظيفه: جايگزيني سرويس در زمان اجرا با سرويس معادلِ ديگری كه به تنهايي و يا بهشكل مركب بتواند وظايف سرويس تعويضشده را انجام دهند.
سرويس جايگزينشونده:
سرويسی که با خطا مواجه شده
سرويسی که كند شده
سرويسی که كارايي خود را ازدستداده است
هنگامي كه تعريف بخشي از سرويس مركب در زمان اجرا تغييرکند

[16] و ]41[ به جايگزيني يك سرويس خطادار هنگام خطا پرداختهاند
ايده: انتخاب يك سرويس با قابليتهاي مشابه سرويس جايگزين شونده، از ليست سرويسهای کشفشده در فاز كشف سرويسها

اسلاید 18 :

بخش مديريت تراکنش (Transaction Management Component)
تعريف کلاسيک تراکنش (تراکنشهاي ACID): تغيير حالتي که چهار ويژگيِ زير را دارد:
Atomicity: «يا همه يا هيچکدام»
سازگاري (Consistency): صحت در تغيير حالت
Isolation: عدم تأثير متقابل تراکنشهايي است که همزمان باهم اجرا ميشوند
ماندگاري (Durability): عدم امکان لغوکردن تراکنشي که پايانيافته است نيز معروفند.

دو رويکرد متفاوت در قبال مديريت تراکنشها:
رويکرد بدبينانه: قفلکردن منابع در دسترس تراکنش
رويکرد خوشبينانه [1 و 20]:
مبنا: در برخي محيطها، امکان بروز ناسازگاري بسيار پايين است ← هزينهي قفلکردن منابع در چنين محيطهايي بهصرفه نيست
رويکرد: به جاي قفلکردن منابع، تغييرات تراکنش را در محلي مياني نگهداري کرده و در پايان تراکنش تغييرات را يکباره ماندگار ميکنيم.

اسلاید 19 :

بخش مديريت تراکنش (ادامه) (Transaction Management Component)
ويژگيهاي محيط وبسرويسها:
اتصال و پيوستگي بسيار کم(loosely coupled)
قابليت اطمينان پايين
برخورداری از درجهي بالايي از خودمختاري
مدت اجرای طولانی: با توجه به ماهيت سناريوها در اين محيط، معمولا تراکنشها مدت زيادي به طول ميانجامند (مثالا تراکتشی شامل خريد، پرداخت و تحويل کالا که در مجموع چندين روز به طول مي انجامد).
تعلق منابع درگير در يک تراکنش به حوزههاي متفاوت

تراکنشهاي ACID برای اين محيط به نظر سختگيرانه ميآيند.
اجبارکردن چهار ويژگي تراکنشهاي ACID نتايج نامطلوبي به دنبال خواهدداشت.

براي برآوردن نياز تراکنشها در چنين محيطي تراکنشهايي با سختگيري کمتر و ضعيفتر مطرح شده است. «تراکنشهاي طولاني مدت» يا Long Running Transactions [30]
«تراکنشهاي طولاني مدت» ويژگي Isolation در تراکنشها را پيادهسازي نميکنند

اسلاید 20 :

بخش مديريت تراکنش (ادامه) (Transaction Management Component)
ايدهي «خنثاکردن» (Compensation)
تراکنش T ↔ خنثاکنندهي C[30]
خنثاکنندهي Cسرويسي مستقل است که بعد از اتمام تراکنش و خارج از قلمرو آن اجرا ميشود
C بعد از اتمام T انجام میشود
T نه منابع مورد نيازش را قفل ميکند و نه تغييرات موقتي در سيستم ايجاد ميکند
تغييرات همگي واقعي بوده و بلافاصله درسيستم قابل مشاهده هستند.
درحالتي که به هردليل خارجي، تراکنش سطح بالاتر با مشکلي مواجه شود، سرويس C براي جبرانکردن و برطرفکردن آثار T اجرا میشود
ميزان موفقيت C در ازبينبردن تمامي آثار تراکنش T بستگي به زمينه دارد

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