Introduction to SOA
Vahid Farahmandian
Tarbiat Modares University
Medicine Faculty
Medical Informatics Group
‫معماری‬•‫تعاريف‬‫بر‬ ‫معماري‬‫خصوصيات‬‫زير‬‫تاكيد‬‫دارد‬:
•‫يك‬ ‫معماري‬‫طراحي‬‫است‬ ‫سيستم‬ ‫عناصر‬ ‫براي‬ ‫باال‬ ‫سطح‬.
•‫ميان‬ ‫ارتباط‬ ‫و‬ ‫سيستم‬ ‫عناصر‬ ‫مجموعه‬ ‫دهنده‬ ‫نشان‬ ‫معماري‬
‫آ‬‫نهاست‬.
•‫از‬ ‫اي‬ ‫مجموعه‬ ‫معماري‬‫مدلها‬‫و‬‫توصيفات‬‫است‬
•‫خوب‬ ‫معماري‬ ‫يك‬‫داراي‬‫باشد‬ ‫مي‬ ‫زير‬ ‫مشخصات‬
•‫باشد‬ ‫فهم‬ ‫قابل‬
•‫باشند‬ ‫مجدد‬ ‫استفاده‬ ‫قابل‬ ‫آن‬ ‫هاي‬ ‫مولفه‬.
•‫انعطاف‬ ‫تغييرات‬ ‫به‬ ‫نسبت‬‫پذير‬‫باشد‬.
•‫اصلي‬ ‫موارد‬‫كاربري‬‫گيرد‬ ‫بر‬ ‫در‬ ‫را‬ ‫سيستم‬.
•‫به‬ ‫را‬ ‫ها‬ ‫سيستم‬ ‫زير‬ ‫بين‬ ‫هاي‬ ‫واسطه‬‫نحوي‬‫كرده‬ ‫تعريف‬
‫ها‬ ‫سيستم‬ ‫تا‬ ‫باشد‬‫كمترين‬‫وابستگي‬‫داشته‬ ‫يكديگر‬ ‫به‬ ‫را‬
‫گرا‬ ‫سرويس‬ ‫معماری‬•‫مولفه‬ ‫که‬ ‫شده‬ ‫توزيع‬ ‫های‬ ‫سيستم‬ ‫توسعه‬ ‫برای‬ ‫روشی‬
‫هستند‬ ‫منفرد‬ ‫های‬ ‫سرويس‬ ‫همان‬ ‫ها‬ ‫سيستم‬ ‫اين‬ ‫های‬.
•‫سازی‬ ‫پياده‬ ‫زبان‬ ‫و‬ ‫سکو‬ ‫از‬ ‫مستقل‬ ‫ها‬ ‫سرويس‬
‫هستند‬
•‫های‬ ‫سرويس‬ ‫از‬ ‫ميتواند‬ ‫افزاری‬ ‫نرم‬ ‫سيستم‬ ‫يک‬
‫مختلف‬ ‫دهندگان‬ ‫ارائه‬ ‫توسط‬ ‫شده‬ ‫ارائه‬ ‫مختلف‬
‫باشد‬ ‫شده‬ ‫ساخته‬.
•‫سرويس‬:‫انجام‬ ‫دهنده‬ ‫سرويس‬ ‫يک‬ ‫وسيله‬ ‫به‬ ‫که‬ ‫کاري‬
‫روي‬ ‫کوچک‬ ‫درخواست‬ ‫يک‬ ‫انجام‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫شود‬ ‫مي‬
‫يا‬ ‫باشد‬ ‫اطالعات‬ ‫ذخيره‬ ‫يا‬ ‫دريافت‬ ‫مانند‬ ‫داده‬
‫يک‬ ‫چاپ‬ ‫مانند‬ ‫تر‬ ‫پيچيده‬ ‫کاري‬ ‫انجام‬ ‫به‬ ‫مربوط‬
‫باشد‬ ‫تصوير‬.
‫گرا‬ ‫سرويس‬ ‫معماری‬ ‫از‬ ‫نمايی‬
‫سرويس‬ ‫كننده‬ ‫توليد‬:‫در‬ ‫اصلي‬ ‫وظيفه‬
‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬ ‫گرا‬‫سرويس‬ ‫معماري‬
‫ها‬‫سرويس‬ ‫سازي‬ ‫پياده‬ ‫و‬ ‫باشد‬ ‫مي‬ ‫سرويس‬
‫باشد‬ ‫مي‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬.
‫سرويسها‬ ‫واسط‬:‫اينكه‬ ‫براي‬ ‫سرويس‬ ‫هر‬
‫استفاده‬ ‫قابل‬ ‫كنندگان‬ ‫درخواست‬ ‫توسط‬
‫يك‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫بايستي‬ ‫باشد‬
‫را‬ ‫سرويس‬ ‫فراخواني‬ ‫جهت‬ ‫مناسب‬ ‫واسط‬
‫نمايد‬ ‫ارائه‬ ‫و‬ ‫تهيه‬.‫ارتباط‬ ‫حقيقت‬ ‫در‬
‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫و‬ ‫كننده‬ ‫مصرف‬ ‫بين‬
‫ميگردد‬ ‫برقرار‬ ‫سرويس‬ ‫واسط‬ ‫طريق‬ ‫از‬.
‫سرويس‬ ‫كننده‬ ‫مصرف‬:‫كننده‬ ‫درخواست‬
‫ابتدا‬ ‫سرويس‬ ‫يك‬ ‫از‬ ‫استفاده‬ ‫جهت‬ ‫سرويس‬
‫واسط‬ ‫به‬ ‫استفاده‬ ‫جهت‬ ،‫درخواست‬ ‫يك‬
‫معماری‬ ‫اصول‬SOA
•‫استفاده‬ ‫قابليت‬‫مجدد‬
•‫ها‬ ‫سرويس‬ ‫اساسا‬‫برای‬‫اين‬ ‫خواه‬ ،‫شوند‬ ‫می‬ ‫طراحی‬ ‫مجدد‬ ‫استفاده‬
‫و‬ ‫شود‬ ‫انجام‬ ‫حال‬ ‫زمان‬ ‫در‬ ‫مجدد‬ ‫استفاده‬‫موکول‬ ‫يا‬‫آينده‬ ‫به‬‫شود‬.
‫است‬ ‫مورد‬ ‫اين‬ ‫ضرورت‬ ‫شناسايی‬ ‫و‬ ‫کشف‬
•‫رسمی‬ ‫قرارداد‬‫تعامل‬ ‫برای‬
•‫نياز‬ ‫که‬ ‫هايی‬ ‫سرويس‬‫تعامل‬ ‫به‬‫قواعد‬ ‫بايست‬ ‫می‬ ‫دارند‬ ‫هم‬ ‫با‬
‫را‬ ‫ارتباط‬ ‫اين‬ ‫چگونگی‬ ‫به‬ ‫مربوط‬‫رسمی‬ ‫بصورت‬‫و‬ ‫تعريف‬ ‫مشخص‬ ‫و‬
‫نمايند‬ ‫منتشر‬.‫آدرس‬ ‫و‬ ‫نام‬ ‫تعريف‬ ‫شامل‬ ‫حداقل‬ ‫قرارداد‬ ‫اين‬
‫عمليات‬ ،‫سرويس‬‫پيام‬ ،‫ها‬‫هاي‬‫ورودی‬‫خروجی‬ ‫و‬‫برای‬‫و‬ ‫عمليات‬ ‫هر‬
‫ها‬ ‫داده‬ ‫اين‬ ‫نوع‬‫است‬
•‫ها‬ ‫سرويس‬ ‫سست‬ ‫اتصال‬
•‫به‬ ‫ها‬ ‫سرويس‬‫يکديگر‬‫شديد‬ ‫وابستگی‬‫بيشترين‬ ‫و‬ ‫باشند‬ ‫نداشته‬
‫باشند‬ ‫داشته‬ ‫را‬ ‫يکديگر‬ ‫از‬ ‫استقالل‬.‫به‬ ‫اين‬‫معنای‬‫يک‬ ‫که‬ ‫است‬ ‫آن‬
‫ممکن‬ ‫سرويس‬‫از‬ ‫استفاده‬ ‫و‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫اطالعات‬ ‫به‬ ‫نياز‬ ‫است‬
‫از‬ ‫مستقل‬ ‫ولی‬ ‫باشد‬ ‫داشته‬ ‫آنها‬‫آنها‬(‫سازي‬ ‫پياده‬ ‫چگونگی‬)‫اجرا‬
‫شود‬ ‫می‬
‫معماری‬ ‫اصول‬SOA •‫داخلی‬ ‫سازی‬ ‫پياده‬ ‫سازی‬ ‫پنهان‬
•‫حقيقت‬ ‫در‬‫آنچه‬‫داند‬ ‫می‬ ‫سرويس‬ ‫يک‬ ‫از‬ ‫اطراف‬ ‫محيط‬"‫چه‬‫چيز‬"‫و‬ ‫است‬
‫نه‬"‫چگونه‬"،‫بدين‬‫سرويس‬ ‫ترتيب‬‫که‬ ‫شوند‬ ‫می‬ ‫سياه‬ ‫جعبه‬ ‫بصورت‬ ‫ها‬
‫نمايند‬ ‫می‬ ‫مخفی‬ ‫را‬ ‫خود‬ ‫داخلی‬ ‫جزييات‬.
•‫پذيری‬ ‫ترکيب‬ ‫قابليت‬
•‫بندي‬ ‫دانه‬ ‫ترتيب‬ ‫بدين‬ ،‫کنند‬ ‫می‬ ‫استفاده‬ ‫يکديگر‬ ‫از‬ ‫ها‬ ‫سرويس‬
‫شود‬ ‫می‬ ‫ايجاد‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫متفاوتی‬ ‫هاي‬‫قابليت‬ ‫و‬‫مجدد‬ ‫استفاده‬
‫پذيرد‬ ‫می‬ ‫ارتقاء‬.‫است‬ ‫استوار‬ ‫اصل‬ ‫براين‬ ‫نوعی‬ ‫به‬ ‫نيز‬ ‫ارکستريشن‬
‫می‬ ‫سود‬ ‫آن‬ ‫از‬ ‫و‬‫اين‬ ،‫جويد‬‫استفاده‬ ‫قابليت‬ ‫با‬ ‫هايی‬ ‫شباهت‬ ‫مورد‬
‫مهيا‬ ‫بر‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫که‬ ‫تفاوت‬ ‫اين‬ ‫با‬ ‫دارد‬ ‫مجدد‬‫نمودن‬
‫لوازم‬‫مربوط‬ ‫پذيري‬ ‫ترکيب‬ ‫حاليکه‬ ‫در‬ ‫دارد‬ ‫تاکيد‬ ‫استانداردها‬ ‫و‬
‫از‬ ‫ها‬ ‫سرويس‬ ‫طراحی‬ ‫و‬ ‫تعيين‬ ‫چگونگی‬ ‫به‬‫دانه‬ ‫نظر‬‫و‬ ‫بندي‬‫کارکردی‬
‫بگونه‬ ‫است‬‫ای‬‫سرويس‬ ‫ديگر‬ ‫ترکيب‬ ‫از‬ ‫را‬ ‫کالن‬ ‫سرويس‬ ‫يک‬ ‫بتوان‬ ‫که‬
‫نمود‬ ‫ايجاد‬ ‫ها‬.
•‫ها‬ ‫سرويس‬ ‫خودمختاری‬
•‫را‬ ‫خود‬ ‫داخلی‬ ‫سازي‬ ‫پياده‬ ‫چگونگی‬ ‫بتواند‬ ‫بايد‬ ‫سرويس‬ ‫يک‬‫تغيير‬
‫يا‬‫اينکه‬ ‫بدون‬ ‫بدهد‬ ‫گسترش‬‫برای‬‫يا‬ ‫اجازه‬ ‫به‬ ‫نياز‬ ‫کار‬ ‫اين‬
‫تغييری‬‫باشد‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫در‬
‫معماری‬ ‫اصول‬SOA
•‫ها‬ ‫سرويس‬ ‫وضعيتی‬ ‫بی‬
•‫سرويس‬ ‫عمليات‬‫بگونه‬‫ای‬‫يک‬ ‫و‬ ‫نبوده‬ ‫بندي‬ ‫مرحله‬ ‫قابل‬ ‫که‬ ‫است‬
‫تراکنشی‬‫دريافت‬ ‫با‬ ‫که‬ ‫صورت‬ ‫بدين‬ ‫است‬‫توسط‬ ‫درخواست‬‫سرويس‬
‫شود‬ ‫می‬ ‫ارسال‬ ‫گيرنده‬ ‫سرويس‬ ‫به‬ ‫مناسب‬ ‫پاسخ‬ ،‫دهنده‬.‫کليه‬ ‫ارائه‬
‫هاي‬ ‫کارکرد‬‫سرويس‬ ‫يک‬‫قالب‬ ‫در‬‫عمليات‬ ‫چندين‬"‫تک‬ ‫و‬ ‫هم‬ ‫از‬ ‫مستقل‬
‫تراکنشی‬"‫وضعيتی‬ ‫بی‬ ‫اصل‬ ‫هاي‬ ‫ضرورت‬ ‫از‬‫است‬
•‫کشف‬ ‫و‬ ‫شناسايی‬ ‫قابليت‬
•‫کليه‬ ‫و‬ ‫شرکاء‬ ‫توسط‬ ‫بايست‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫استفاده‬ ‫واسط‬ ‫قرارداد‬
،‫هستند‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ ‫که‬ ‫عواملی‬‫شناسايی‬ ‫قابل‬‫باشد‬ ‫کشف‬ ‫و‬
‫معماری‬ ‫مختلف‬ ‫اصول‬ ‫بين‬ ‫رابطه‬SOA‫بررسی‬ ‫را‬
‫کنيد‬ •‫استفاده‬ ‫بر‬ ‫مستقيم‬ ‫تاثير‬ ‫سست‬ ‫اتصال‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫مختاری‬ ‫خود‬
‫هستند‬ ‫ها‬ ‫وابستگی‬ ‫کاهش‬ ‫دنبال‬ ‫به‬ ‫چراکه‬ ‫دارند‬ ‫مجدد‬
•‫سرويس‬ ‫قرارداد‬ ‫اجرای‬ ‫به‬ ‫نياز‬ ‫شناسايی‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫سازی‬ ‫پنهان‬
‫دارند‬
•‫خود‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫مجدد‬ ‫استفاده‬ ‫شدن‬ ‫محقق‬ ‫نياز‬ ‫پيش‬ ‫سست‬ ‫اتصال‬
‫است‬ ‫مختاری‬.‫بخورند‬ ‫گره‬ ‫هم‬ ‫به‬ ‫حد‬ ‫از‬ ‫بيش‬ ‫نبايد‬ ‫ها‬ ‫سرويس‬!
•‫ميشود‬ ‫تسهيل‬ ‫سازی‬ ‫پنهان‬ ‫کمک‬ ‫به‬ ‫مجدد‬ ‫استفاده‬.‫کننده‬ ‫پياده‬ ‫چراکه‬
‫ساير‬ ‫آنکه‬ ‫بدون‬ ‫دهد‬ ‫تغيير‬ ‫براحتی‬ ‫را‬ ‫خود‬ ‫درونی‬ ‫ساختار‬ ‫ميتواند‬
‫شوند‬ ‫مختل‬ ‫ها‬ ‫سرويس‬
•‫ترکيب‬ ‫نياز‬ ‫پيش‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ،‫سست‬ ‫اتصال‬
‫هستند‬ ‫پذيری‬
•‫پذيری‬ ‫ترکيب‬ ‫و‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫شرط‬ ‫پيش‬ ‫ها‬ ‫سرويس‬ ‫مختاری‬ ‫خود‬
‫دارد‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫سست‬ ‫اتصال‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫و‬ ‫است‬
•‫و‬ ‫الزم‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫و‬ ‫خودمختاری‬‫ملزوم‬‫هستند‬ ‫همديگر‬.‫وضعيتی‬ ‫بی‬
‫ميباشد‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ‫نياز‬ ‫پيش‬
•‫ميشود‬ ‫محقق‬ ‫سرويس‬ ‫قرارداد‬ ‫کمک‬ ‫به‬ ‫سرويس‬ ‫کشف‬.‫سرويس‬ ‫آنکه‬ ‫برای‬
‫نمايد‬ ‫منتشر‬ ‫را‬ ‫خود‬ ‫واسط‬ ‫قرارداد‬ ‫بايد‬ ‫باشد‬ ‫کشف‬ ‫قابل‬.‫استفاده‬
‫بحث‬
‫کليدی‬ ‫استانداردهای‬SOA
•SOAP(Simple Object Access Protocol)
•‫سرويسها‬ ‫ميان‬ ‫ارتباطات‬ ‫از‬ ‫که‬ ‫پيام‬ ‫تبادل‬ ‫استاندارد‬
‫ميکند‬ ‫پشتيبانی‬
•WSDL(Web Services Description Language)
•‫است‬ ‫وب‬ ‫سرويسهای‬ ‫تعريف‬ ‫زبان‬ ‫استاندارد‬.‫واسط‬ ‫تعريف‬ ‫روش‬
‫ميکند‬ ‫تعيين‬ ‫سرويس‬ ‫دهنده‬ ‫ارائه‬ ‫برای‬ ‫را‬ ‫سرويسها‬
•UDDI(Universal Description, Discovery and Integration)
•‫ممکن‬ ‫که‬ ‫ميکند‬ ‫تعريف‬ ‫را‬ ‫سرويس‬ ‫يک‬ ‫مشخصاتی‬ ‫های‬ ‫مولفه‬
‫شود‬ ‫گرفته‬ ‫بکار‬ ‫آن‬ ‫جستجو‬ ‫برای‬ ‫است‬
•WS-BPEL(Web Services Business Process Execution Language)
•‫های‬ ‫برنامه‬ ‫که‬ ‫است‬ ‫کاری‬ ‫جريان‬ ‫زبان‬ ‫برای‬ ‫استانداردی‬
‫ميکند‬ ‫تعريف‬ ‫را‬ ‫متعدد‬ ‫سرويسهای‬ ‫با‬ ‫درگير‬ ‫پردازشی‬
‫سرويس‬ ‫مهندسی‬ ‫فرآيند‬
•‫کانديدا‬ ‫سرويس‬ ‫شناسايی‬
•‫را‬ ‫آن‬ ‫نيازمنديهای‬ ‫و‬ ‫کرده‬ ‫شناسايی‬ ‫را‬ ‫شود‬ ‫سازی‬ ‫پياده‬ ‫ميتواند‬ ‫که‬ ‫سرويسی‬
‫ميکند‬ ‫تعريف‬
•‫سرويس‬ ‫طراحی‬
•‫و‬ ‫منطقی‬ ‫های‬ ‫واسط‬WSDL‫ميکنيم‬ ‫طراحی‬ ‫را‬ ‫سرويس‬
•‫سرويس‬ ‫توسعه‬ ‫و‬ ‫سازی‬ ‫پياده‬
•‫قرار‬ ‫ديگران‬ ‫دسترس‬ ‫در‬ ‫استفاده‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫کرده‬ ‫تست‬ ‫و‬ ‫سازی‬ ‫پياده‬ ‫را‬ ‫سرويس‬
‫ميدهد‬
•‫نیازمندیهای‬
‫سرویس‬
‫کاندیدا‬ ‫سرویس‬ ‫شناسایی‬
•‫مشخصات‬
‫سرویس‬ ‫واسط‬
‫سرویس‬ ‫طراحی‬
•‫معتب‬ ‫سرویس‬‫ر‬
‫یافت‬ ‫توسعه‬ ‫و‬‫ه‬
‫توسعه‬ ‫و‬ ‫سازی‬ ‫پیاده‬
‫سرویس‬
‫معماری‬ ‫اجزای‬SOA
‫معماری‬ ‫اجزای‬SOA
•Transport
•‫نظير‬ ‫مختلفی‬ ‫هاي‬‫پروتكل‬ ‫اساس‬ ‫بر‬ ‫اطالعات‬ ‫انتقال‬ ‫وظيفه‬HTTP
‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬.
•Messaging
•‫بر‬‫اساس‬‫قبل‬ ‫جزء‬‫اساس‬ ‫بر‬ ‫را‬ ‫اطالعات‬ ‫كند‬‫مي‬ ‫عمل‬‫نياز‬
‫سرويس‬‫ها‬‫آماده‬‫كند‬‫مي‬ ‫ارسال‬ ‫و‬.‫ها‬‫سرويس‬ ‫كه‬ ‫هنگامی‬‫مبتنی‬
‫وب‬ ‫بر‬‫سرويس‬‫باشند‬،SOAP‫مهمترين‬ ‫از‬‫استانداردهاي‬
‫است‬ ‫اليه‬ ‫اين‬.
•Description
•‫جهت‬‫گيرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ها‬‫سرويس‬ ‫توصيف‬.‫ها‬‫سرويس‬ ‫توصيف‬ ‫جهت‬
‫شود‬‫مي‬ ‫استفاده‬ ‫توصيفي‬ ‫زبان‬ ‫يك‬ ‫از‬.‫بر‬ ‫مبتنی‬ ‫ها‬‫سرويس‬ ‫كه‬ ‫هنگامی‬‫وب‬
‫زبان‬ ‫اين‬ ‫باشند‬ ‫سرويس‬WSDL‫باشد‬‫مي‬.
•Discovery
•‫ثبت‬‫ها‬‫سرويس‬ ‫جستجوی‬ ‫و‬‫دارد‬ ‫برعهده‬ ‫را‬.‫سرويس‬ ‫از‬ ‫اليه‬ ‫اين‬‫نظير‬ ‫هايي‬
UDDI‫و‬ ‫ثبت‬ ‫جهت‬‫نگهداری‬‫كند‬‫مي‬ ‫استفاده‬ ‫ها‬‫سرويس‬.
‫معماری‬ ‫اجزای‬SOA
(‫ادامه‬)
•QoS
•‫جهت‬‫غيره‬ ‫و‬ ‫هماهنگی‬ ،‫تراكنش‬ ‫اعمال‬ ،‫امنيت‬ ‫تامين‬‫باشد‬‫مي‬
•Integration
•‫جهت‬‫يكنوايي‬ ‫و‬ ‫همنوايي‬ ،‫هماهنگی‬ ،‫همبندي‬‫هاي‬‫سرويس‬
‫استفاده‬ ‫مورد‬ ‫مختلف‬ ‫اهداف‬ ‫راستای‬ ‫در‬ ‫سازمان‬‫قرار‬
‫گيرد‬‫مي‬.‫اين‬‫مشخص‬ ‫جزء‬‫استفاده‬ ‫ترتيب‬ ‫کننده‬‫از‬
‫هاي‬‫سرويس‬‫مختلف‬‫مشخص‬ ‫هدف‬ ‫يك‬ ‫راستای‬ ‫در‬‫ميباشد‬(Orchestration‫و‬
Choreography)
‫معماری‬ ‫اجزای‬SOA
(‫ادامه‬) •Management
•‫بر‬ ‫در‬ ‫را‬ ‫ها‬‫سرويس‬ ‫مديريت‬ ‫امکانات‬ ‫مجموعه‬ ‫اليه‬ ‫اين‬
‫دارد‬.
‫امکانات‬ ‫اين‬WSDM‫گردد‬‫مي‬ ‫تعريف‬.‫كه‬ ‫حالتی‬ ‫در‬
‫ها‬‫سرويس‬
‫استاندارد‬ ‫اساس‬ ‫بر‬ ‫باشند‬ ‫سرويس‬ ‫وب‬ ‫بر‬ ‫مبتنی‬
•WSDM(Web Services Distributed Management)
Defining a Web services architecture to manage distributed resources
•Access
•‫است‬ ‫سرويس‬ ‫کاربر‬ ‫طرف‬ ‫دربرگيرنده‬ ‫اليه‬ ‫اين‬.‫اين‬ ‫در‬
‫از‬ ‫اليه‬‫نظير‬ ‫استانداردهايي‬WSRP‫جهت‬‫ارائه‬ ‫و‬ ‫آوري‬‫جمع‬
‫گردد‬‫مي‬ ‫استفاده‬ ‫پورتال‬ ‫در‬ ‫ها‬‫سرويس‬.
•WSRP(Web Services for Remote Portlets)
‫گرافی‬ ‫کرو‬ ‫و‬ ‫ارکستريشن‬
•‫به‬ ‫ارکستريشن‬‫معنای‬‫موتور‬ ‫يک‬ ‫وجود‬‫فرآيندی‬‫است‬
‫و‬ ‫کرده‬ ‫کنترل‬ ‫را‬ ‫توالی‬ ‫و‬ ‫ترتيب‬ ‫که‬‫شرکاء‬ ‫از‬
‫خارجی‬ ‫يا‬ ‫داخلی‬‫برای‬‫می‬ ‫استفاده‬ ‫کارها‬ ‫انجام‬
‫نمايد‬.‫اين‬ ‫نمونه‬‫مدل‬BMPS‫هستند‬ ‫ها‬
•‫معنای‬ ‫به‬ ‫گرافی‬ ‫کرو‬‫بين‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫پردازش‬
‫که‬ ‫است‬ ‫فرآيند‬ ‫چند‬‫يک‬ ‫بدون‬‫رهبر‬‫مرکزی‬‫با‬‫هم‬
‫تعامل‬‫موتور‬ ‫چندين‬ ‫يا‬ ‫دارند‬‫فرآيندی‬‫در‬ ‫که‬
‫اجرا‬ ‫هم‬ ‫سطح‬ ‫هم‬ ‫و‬ ‫کنار‬‫شوند‬ ‫می‬‫با‬ ‫و‬‫همکاری‬‫هم‬
‫هدفی‬‫محقق‬ ‫را‬‫سازند‬ ‫می‬.‫در‬ ‫موضوع‬ ‫اين‬ ‫نمونه‬
‫و‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫پردازش‬‫فعاليتهای‬ ‫يا‬‫بين‬
‫دو‬ ‫هر‬ ‫که‬ ‫سازمانی‬‫با‬ ‫طرف‬‫دنبال‬ ‫به‬ ‫هم‬ ‫مشارکت‬
‫می‬ ‫ديده‬ ‫هستند‬ ‫هدف‬ ‫يک‬‫شود‬
‫بحث‬•‫يکديگر‬ ‫با‬ ‫مستقيم‬ ‫بصورت‬ ‫که‬ ‫داشتيم‬ ‫هايی‬ ‫سيستم‬ ‫قبال‬
‫اند‬ ‫بوده‬ ‫ارتباط‬ ‫در‬.‫گرا‬ ‫سرويس‬ ‫معماری‬ ‫آيا‬
‫دهد؟‬ ‫انجام‬ ‫کمکی‬ ‫سناريو‬ ‫اين‬ ‫در‬ ‫ميتواند‬
•‫فوق‬ ‫شده‬ ‫معرفی‬ ‫راهکار‬ ‫در‬ ‫اگر‬ESB‫سناريو‬ ‫وارد‬ ‫را‬
‫داشت؟‬ ‫خواهد‬ ‫سناريو‬ ‫در‬ ‫تاثيری‬ ‫چه‬ ‫کنيم‬
‫بحث‬
•‫تفاوت‬SOA‫چيست؟‬ ‫در‬ ‫سرويس‬ ‫وب‬ ‫و‬
•SOA‫ميکند‬ ‫توصيف‬ ‫را‬ ‫معماری‬ ‫سبک‬ ‫و‬ ‫است‬ ‫معماری‬
•‫است‬ ‫معماری‬ ‫اين‬ ‫سازی‬ ‫پياده‬ ‫استراتژی‬ ‫نوعی‬ ‫سرويس‬ ‫وب‬
SOA Web Services
‫بحث‬
•ESB‫کرو‬ ‫يا‬ ‫دانست‬ ‫ارکستريشن‬ ‫نوعی‬ ‫ميتوان‬ ‫را‬
‫گرافی؟‬

Introduction to SOA

  • 1.
    Introduction to SOA VahidFarahmandian Tarbiat Modares University Medicine Faculty Medical Informatics Group
  • 2.
    ‫معماری‬•‫تعاريف‬‫بر‬ ‫معماري‬‫خصوصيات‬‫زير‬‫تاكيد‬‫دارد‬: •‫يك‬ ‫معماري‬‫طراحي‬‫است‬‫سيستم‬ ‫عناصر‬ ‫براي‬ ‫باال‬ ‫سطح‬. •‫ميان‬ ‫ارتباط‬ ‫و‬ ‫سيستم‬ ‫عناصر‬ ‫مجموعه‬ ‫دهنده‬ ‫نشان‬ ‫معماري‬ ‫آ‬‫نهاست‬. •‫از‬ ‫اي‬ ‫مجموعه‬ ‫معماري‬‫مدلها‬‫و‬‫توصيفات‬‫است‬ •‫خوب‬ ‫معماري‬ ‫يك‬‫داراي‬‫باشد‬ ‫مي‬ ‫زير‬ ‫مشخصات‬ •‫باشد‬ ‫فهم‬ ‫قابل‬ •‫باشند‬ ‫مجدد‬ ‫استفاده‬ ‫قابل‬ ‫آن‬ ‫هاي‬ ‫مولفه‬. •‫انعطاف‬ ‫تغييرات‬ ‫به‬ ‫نسبت‬‫پذير‬‫باشد‬. •‫اصلي‬ ‫موارد‬‫كاربري‬‫گيرد‬ ‫بر‬ ‫در‬ ‫را‬ ‫سيستم‬. •‫به‬ ‫را‬ ‫ها‬ ‫سيستم‬ ‫زير‬ ‫بين‬ ‫هاي‬ ‫واسطه‬‫نحوي‬‫كرده‬ ‫تعريف‬ ‫ها‬ ‫سيستم‬ ‫تا‬ ‫باشد‬‫كمترين‬‫وابستگي‬‫داشته‬ ‫يكديگر‬ ‫به‬ ‫را‬
  • 3.
    ‫گرا‬ ‫سرويس‬ ‫معماری‬•‫مولفه‬‫که‬ ‫شده‬ ‫توزيع‬ ‫های‬ ‫سيستم‬ ‫توسعه‬ ‫برای‬ ‫روشی‬ ‫هستند‬ ‫منفرد‬ ‫های‬ ‫سرويس‬ ‫همان‬ ‫ها‬ ‫سيستم‬ ‫اين‬ ‫های‬. •‫سازی‬ ‫پياده‬ ‫زبان‬ ‫و‬ ‫سکو‬ ‫از‬ ‫مستقل‬ ‫ها‬ ‫سرويس‬ ‫هستند‬ •‫های‬ ‫سرويس‬ ‫از‬ ‫ميتواند‬ ‫افزاری‬ ‫نرم‬ ‫سيستم‬ ‫يک‬ ‫مختلف‬ ‫دهندگان‬ ‫ارائه‬ ‫توسط‬ ‫شده‬ ‫ارائه‬ ‫مختلف‬ ‫باشد‬ ‫شده‬ ‫ساخته‬. •‫سرويس‬:‫انجام‬ ‫دهنده‬ ‫سرويس‬ ‫يک‬ ‫وسيله‬ ‫به‬ ‫که‬ ‫کاري‬ ‫روي‬ ‫کوچک‬ ‫درخواست‬ ‫يک‬ ‫انجام‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫شود‬ ‫مي‬ ‫يا‬ ‫باشد‬ ‫اطالعات‬ ‫ذخيره‬ ‫يا‬ ‫دريافت‬ ‫مانند‬ ‫داده‬ ‫يک‬ ‫چاپ‬ ‫مانند‬ ‫تر‬ ‫پيچيده‬ ‫کاري‬ ‫انجام‬ ‫به‬ ‫مربوط‬ ‫باشد‬ ‫تصوير‬.
  • 4.
    ‫گرا‬ ‫سرويس‬ ‫معماری‬‫از‬ ‫نمايی‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬:‫در‬ ‫اصلي‬ ‫وظيفه‬ ‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬ ‫گرا‬‫سرويس‬ ‫معماري‬ ‫ها‬‫سرويس‬ ‫سازي‬ ‫پياده‬ ‫و‬ ‫باشد‬ ‫مي‬ ‫سرويس‬ ‫باشد‬ ‫مي‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬. ‫سرويسها‬ ‫واسط‬:‫اينكه‬ ‫براي‬ ‫سرويس‬ ‫هر‬ ‫استفاده‬ ‫قابل‬ ‫كنندگان‬ ‫درخواست‬ ‫توسط‬ ‫يك‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫بايستي‬ ‫باشد‬ ‫را‬ ‫سرويس‬ ‫فراخواني‬ ‫جهت‬ ‫مناسب‬ ‫واسط‬ ‫نمايد‬ ‫ارائه‬ ‫و‬ ‫تهيه‬.‫ارتباط‬ ‫حقيقت‬ ‫در‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫و‬ ‫كننده‬ ‫مصرف‬ ‫بين‬ ‫ميگردد‬ ‫برقرار‬ ‫سرويس‬ ‫واسط‬ ‫طريق‬ ‫از‬. ‫سرويس‬ ‫كننده‬ ‫مصرف‬:‫كننده‬ ‫درخواست‬ ‫ابتدا‬ ‫سرويس‬ ‫يك‬ ‫از‬ ‫استفاده‬ ‫جهت‬ ‫سرويس‬ ‫واسط‬ ‫به‬ ‫استفاده‬ ‫جهت‬ ،‫درخواست‬ ‫يك‬
  • 5.
    ‫معماری‬ ‫اصول‬SOA •‫استفاده‬ ‫قابليت‬‫مجدد‬ •‫ها‬‫سرويس‬ ‫اساسا‬‫برای‬‫اين‬ ‫خواه‬ ،‫شوند‬ ‫می‬ ‫طراحی‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫شود‬ ‫انجام‬ ‫حال‬ ‫زمان‬ ‫در‬ ‫مجدد‬ ‫استفاده‬‫موکول‬ ‫يا‬‫آينده‬ ‫به‬‫شود‬. ‫است‬ ‫مورد‬ ‫اين‬ ‫ضرورت‬ ‫شناسايی‬ ‫و‬ ‫کشف‬ •‫رسمی‬ ‫قرارداد‬‫تعامل‬ ‫برای‬ •‫نياز‬ ‫که‬ ‫هايی‬ ‫سرويس‬‫تعامل‬ ‫به‬‫قواعد‬ ‫بايست‬ ‫می‬ ‫دارند‬ ‫هم‬ ‫با‬ ‫را‬ ‫ارتباط‬ ‫اين‬ ‫چگونگی‬ ‫به‬ ‫مربوط‬‫رسمی‬ ‫بصورت‬‫و‬ ‫تعريف‬ ‫مشخص‬ ‫و‬ ‫نمايند‬ ‫منتشر‬.‫آدرس‬ ‫و‬ ‫نام‬ ‫تعريف‬ ‫شامل‬ ‫حداقل‬ ‫قرارداد‬ ‫اين‬ ‫عمليات‬ ،‫سرويس‬‫پيام‬ ،‫ها‬‫هاي‬‫ورودی‬‫خروجی‬ ‫و‬‫برای‬‫و‬ ‫عمليات‬ ‫هر‬ ‫ها‬ ‫داده‬ ‫اين‬ ‫نوع‬‫است‬ •‫ها‬ ‫سرويس‬ ‫سست‬ ‫اتصال‬ •‫به‬ ‫ها‬ ‫سرويس‬‫يکديگر‬‫شديد‬ ‫وابستگی‬‫بيشترين‬ ‫و‬ ‫باشند‬ ‫نداشته‬ ‫باشند‬ ‫داشته‬ ‫را‬ ‫يکديگر‬ ‫از‬ ‫استقالل‬.‫به‬ ‫اين‬‫معنای‬‫يک‬ ‫که‬ ‫است‬ ‫آن‬ ‫ممکن‬ ‫سرويس‬‫از‬ ‫استفاده‬ ‫و‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫اطالعات‬ ‫به‬ ‫نياز‬ ‫است‬ ‫از‬ ‫مستقل‬ ‫ولی‬ ‫باشد‬ ‫داشته‬ ‫آنها‬‫آنها‬(‫سازي‬ ‫پياده‬ ‫چگونگی‬)‫اجرا‬ ‫شود‬ ‫می‬
  • 6.
    ‫معماری‬ ‫اصول‬SOA •‫داخلی‬‫سازی‬ ‫پياده‬ ‫سازی‬ ‫پنهان‬ •‫حقيقت‬ ‫در‬‫آنچه‬‫داند‬ ‫می‬ ‫سرويس‬ ‫يک‬ ‫از‬ ‫اطراف‬ ‫محيط‬"‫چه‬‫چيز‬"‫و‬ ‫است‬ ‫نه‬"‫چگونه‬"،‫بدين‬‫سرويس‬ ‫ترتيب‬‫که‬ ‫شوند‬ ‫می‬ ‫سياه‬ ‫جعبه‬ ‫بصورت‬ ‫ها‬ ‫نمايند‬ ‫می‬ ‫مخفی‬ ‫را‬ ‫خود‬ ‫داخلی‬ ‫جزييات‬. •‫پذيری‬ ‫ترکيب‬ ‫قابليت‬ •‫بندي‬ ‫دانه‬ ‫ترتيب‬ ‫بدين‬ ،‫کنند‬ ‫می‬ ‫استفاده‬ ‫يکديگر‬ ‫از‬ ‫ها‬ ‫سرويس‬ ‫شود‬ ‫می‬ ‫ايجاد‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫متفاوتی‬ ‫هاي‬‫قابليت‬ ‫و‬‫مجدد‬ ‫استفاده‬ ‫پذيرد‬ ‫می‬ ‫ارتقاء‬.‫است‬ ‫استوار‬ ‫اصل‬ ‫براين‬ ‫نوعی‬ ‫به‬ ‫نيز‬ ‫ارکستريشن‬ ‫می‬ ‫سود‬ ‫آن‬ ‫از‬ ‫و‬‫اين‬ ،‫جويد‬‫استفاده‬ ‫قابليت‬ ‫با‬ ‫هايی‬ ‫شباهت‬ ‫مورد‬ ‫مهيا‬ ‫بر‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫که‬ ‫تفاوت‬ ‫اين‬ ‫با‬ ‫دارد‬ ‫مجدد‬‫نمودن‬ ‫لوازم‬‫مربوط‬ ‫پذيري‬ ‫ترکيب‬ ‫حاليکه‬ ‫در‬ ‫دارد‬ ‫تاکيد‬ ‫استانداردها‬ ‫و‬ ‫از‬ ‫ها‬ ‫سرويس‬ ‫طراحی‬ ‫و‬ ‫تعيين‬ ‫چگونگی‬ ‫به‬‫دانه‬ ‫نظر‬‫و‬ ‫بندي‬‫کارکردی‬ ‫بگونه‬ ‫است‬‫ای‬‫سرويس‬ ‫ديگر‬ ‫ترکيب‬ ‫از‬ ‫را‬ ‫کالن‬ ‫سرويس‬ ‫يک‬ ‫بتوان‬ ‫که‬ ‫نمود‬ ‫ايجاد‬ ‫ها‬. •‫ها‬ ‫سرويس‬ ‫خودمختاری‬ •‫را‬ ‫خود‬ ‫داخلی‬ ‫سازي‬ ‫پياده‬ ‫چگونگی‬ ‫بتواند‬ ‫بايد‬ ‫سرويس‬ ‫يک‬‫تغيير‬ ‫يا‬‫اينکه‬ ‫بدون‬ ‫بدهد‬ ‫گسترش‬‫برای‬‫يا‬ ‫اجازه‬ ‫به‬ ‫نياز‬ ‫کار‬ ‫اين‬ ‫تغييری‬‫باشد‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫در‬
  • 7.
    ‫معماری‬ ‫اصول‬SOA •‫ها‬ ‫سرويس‬‫وضعيتی‬ ‫بی‬ •‫سرويس‬ ‫عمليات‬‫بگونه‬‫ای‬‫يک‬ ‫و‬ ‫نبوده‬ ‫بندي‬ ‫مرحله‬ ‫قابل‬ ‫که‬ ‫است‬ ‫تراکنشی‬‫دريافت‬ ‫با‬ ‫که‬ ‫صورت‬ ‫بدين‬ ‫است‬‫توسط‬ ‫درخواست‬‫سرويس‬ ‫شود‬ ‫می‬ ‫ارسال‬ ‫گيرنده‬ ‫سرويس‬ ‫به‬ ‫مناسب‬ ‫پاسخ‬ ،‫دهنده‬.‫کليه‬ ‫ارائه‬ ‫هاي‬ ‫کارکرد‬‫سرويس‬ ‫يک‬‫قالب‬ ‫در‬‫عمليات‬ ‫چندين‬"‫تک‬ ‫و‬ ‫هم‬ ‫از‬ ‫مستقل‬ ‫تراکنشی‬"‫وضعيتی‬ ‫بی‬ ‫اصل‬ ‫هاي‬ ‫ضرورت‬ ‫از‬‫است‬ •‫کشف‬ ‫و‬ ‫شناسايی‬ ‫قابليت‬ •‫کليه‬ ‫و‬ ‫شرکاء‬ ‫توسط‬ ‫بايست‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫استفاده‬ ‫واسط‬ ‫قرارداد‬ ،‫هستند‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ ‫که‬ ‫عواملی‬‫شناسايی‬ ‫قابل‬‫باشد‬ ‫کشف‬ ‫و‬
  • 8.
    ‫معماری‬ ‫مختلف‬ ‫اصول‬‫بين‬ ‫رابطه‬SOA‫بررسی‬ ‫را‬ ‫کنيد‬ •‫استفاده‬ ‫بر‬ ‫مستقيم‬ ‫تاثير‬ ‫سست‬ ‫اتصال‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫مختاری‬ ‫خود‬ ‫هستند‬ ‫ها‬ ‫وابستگی‬ ‫کاهش‬ ‫دنبال‬ ‫به‬ ‫چراکه‬ ‫دارند‬ ‫مجدد‬ •‫سرويس‬ ‫قرارداد‬ ‫اجرای‬ ‫به‬ ‫نياز‬ ‫شناسايی‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫سازی‬ ‫پنهان‬ ‫دارند‬ •‫خود‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫مجدد‬ ‫استفاده‬ ‫شدن‬ ‫محقق‬ ‫نياز‬ ‫پيش‬ ‫سست‬ ‫اتصال‬ ‫است‬ ‫مختاری‬.‫بخورند‬ ‫گره‬ ‫هم‬ ‫به‬ ‫حد‬ ‫از‬ ‫بيش‬ ‫نبايد‬ ‫ها‬ ‫سرويس‬! •‫ميشود‬ ‫تسهيل‬ ‫سازی‬ ‫پنهان‬ ‫کمک‬ ‫به‬ ‫مجدد‬ ‫استفاده‬.‫کننده‬ ‫پياده‬ ‫چراکه‬ ‫ساير‬ ‫آنکه‬ ‫بدون‬ ‫دهد‬ ‫تغيير‬ ‫براحتی‬ ‫را‬ ‫خود‬ ‫درونی‬ ‫ساختار‬ ‫ميتواند‬ ‫شوند‬ ‫مختل‬ ‫ها‬ ‫سرويس‬ •‫ترکيب‬ ‫نياز‬ ‫پيش‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ،‫سست‬ ‫اتصال‬ ‫هستند‬ ‫پذيری‬ •‫پذيری‬ ‫ترکيب‬ ‫و‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫شرط‬ ‫پيش‬ ‫ها‬ ‫سرويس‬ ‫مختاری‬ ‫خود‬ ‫دارد‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫سست‬ ‫اتصال‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫و‬ ‫است‬ •‫و‬ ‫الزم‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫و‬ ‫خودمختاری‬‫ملزوم‬‫هستند‬ ‫همديگر‬.‫وضعيتی‬ ‫بی‬ ‫ميباشد‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ‫نياز‬ ‫پيش‬ •‫ميشود‬ ‫محقق‬ ‫سرويس‬ ‫قرارداد‬ ‫کمک‬ ‫به‬ ‫سرويس‬ ‫کشف‬.‫سرويس‬ ‫آنکه‬ ‫برای‬ ‫نمايد‬ ‫منتشر‬ ‫را‬ ‫خود‬ ‫واسط‬ ‫قرارداد‬ ‫بايد‬ ‫باشد‬ ‫کشف‬ ‫قابل‬.‫استفاده‬ ‫بحث‬
  • 9.
    ‫کليدی‬ ‫استانداردهای‬SOA •SOAP(Simple ObjectAccess Protocol) •‫سرويسها‬ ‫ميان‬ ‫ارتباطات‬ ‫از‬ ‫که‬ ‫پيام‬ ‫تبادل‬ ‫استاندارد‬ ‫ميکند‬ ‫پشتيبانی‬ •WSDL(Web Services Description Language) •‫است‬ ‫وب‬ ‫سرويسهای‬ ‫تعريف‬ ‫زبان‬ ‫استاندارد‬.‫واسط‬ ‫تعريف‬ ‫روش‬ ‫ميکند‬ ‫تعيين‬ ‫سرويس‬ ‫دهنده‬ ‫ارائه‬ ‫برای‬ ‫را‬ ‫سرويسها‬ •UDDI(Universal Description, Discovery and Integration) •‫ممکن‬ ‫که‬ ‫ميکند‬ ‫تعريف‬ ‫را‬ ‫سرويس‬ ‫يک‬ ‫مشخصاتی‬ ‫های‬ ‫مولفه‬ ‫شود‬ ‫گرفته‬ ‫بکار‬ ‫آن‬ ‫جستجو‬ ‫برای‬ ‫است‬ •WS-BPEL(Web Services Business Process Execution Language) •‫های‬ ‫برنامه‬ ‫که‬ ‫است‬ ‫کاری‬ ‫جريان‬ ‫زبان‬ ‫برای‬ ‫استانداردی‬ ‫ميکند‬ ‫تعريف‬ ‫را‬ ‫متعدد‬ ‫سرويسهای‬ ‫با‬ ‫درگير‬ ‫پردازشی‬
  • 10.
    ‫سرويس‬ ‫مهندسی‬ ‫فرآيند‬ •‫کانديدا‬‫سرويس‬ ‫شناسايی‬ •‫را‬ ‫آن‬ ‫نيازمنديهای‬ ‫و‬ ‫کرده‬ ‫شناسايی‬ ‫را‬ ‫شود‬ ‫سازی‬ ‫پياده‬ ‫ميتواند‬ ‫که‬ ‫سرويسی‬ ‫ميکند‬ ‫تعريف‬ •‫سرويس‬ ‫طراحی‬ •‫و‬ ‫منطقی‬ ‫های‬ ‫واسط‬WSDL‫ميکنيم‬ ‫طراحی‬ ‫را‬ ‫سرويس‬ •‫سرويس‬ ‫توسعه‬ ‫و‬ ‫سازی‬ ‫پياده‬ •‫قرار‬ ‫ديگران‬ ‫دسترس‬ ‫در‬ ‫استفاده‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫کرده‬ ‫تست‬ ‫و‬ ‫سازی‬ ‫پياده‬ ‫را‬ ‫سرويس‬ ‫ميدهد‬ •‫نیازمندیهای‬ ‫سرویس‬ ‫کاندیدا‬ ‫سرویس‬ ‫شناسایی‬ •‫مشخصات‬ ‫سرویس‬ ‫واسط‬ ‫سرویس‬ ‫طراحی‬ •‫معتب‬ ‫سرویس‬‫ر‬ ‫یافت‬ ‫توسعه‬ ‫و‬‫ه‬ ‫توسعه‬ ‫و‬ ‫سازی‬ ‫پیاده‬ ‫سرویس‬
  • 11.
  • 12.
    ‫معماری‬ ‫اجزای‬SOA •Transport •‫نظير‬ ‫مختلفی‬‫هاي‬‫پروتكل‬ ‫اساس‬ ‫بر‬ ‫اطالعات‬ ‫انتقال‬ ‫وظيفه‬HTTP ‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬. •Messaging •‫بر‬‫اساس‬‫قبل‬ ‫جزء‬‫اساس‬ ‫بر‬ ‫را‬ ‫اطالعات‬ ‫كند‬‫مي‬ ‫عمل‬‫نياز‬ ‫سرويس‬‫ها‬‫آماده‬‫كند‬‫مي‬ ‫ارسال‬ ‫و‬.‫ها‬‫سرويس‬ ‫كه‬ ‫هنگامی‬‫مبتنی‬ ‫وب‬ ‫بر‬‫سرويس‬‫باشند‬،SOAP‫مهمترين‬ ‫از‬‫استانداردهاي‬ ‫است‬ ‫اليه‬ ‫اين‬. •Description •‫جهت‬‫گيرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ها‬‫سرويس‬ ‫توصيف‬.‫ها‬‫سرويس‬ ‫توصيف‬ ‫جهت‬ ‫شود‬‫مي‬ ‫استفاده‬ ‫توصيفي‬ ‫زبان‬ ‫يك‬ ‫از‬.‫بر‬ ‫مبتنی‬ ‫ها‬‫سرويس‬ ‫كه‬ ‫هنگامی‬‫وب‬ ‫زبان‬ ‫اين‬ ‫باشند‬ ‫سرويس‬WSDL‫باشد‬‫مي‬. •Discovery •‫ثبت‬‫ها‬‫سرويس‬ ‫جستجوی‬ ‫و‬‫دارد‬ ‫برعهده‬ ‫را‬.‫سرويس‬ ‫از‬ ‫اليه‬ ‫اين‬‫نظير‬ ‫هايي‬ UDDI‫و‬ ‫ثبت‬ ‫جهت‬‫نگهداری‬‫كند‬‫مي‬ ‫استفاده‬ ‫ها‬‫سرويس‬.
  • 13.
    ‫معماری‬ ‫اجزای‬SOA (‫ادامه‬) •QoS •‫جهت‬‫غيره‬ ‫و‬‫هماهنگی‬ ،‫تراكنش‬ ‫اعمال‬ ،‫امنيت‬ ‫تامين‬‫باشد‬‫مي‬ •Integration •‫جهت‬‫يكنوايي‬ ‫و‬ ‫همنوايي‬ ،‫هماهنگی‬ ،‫همبندي‬‫هاي‬‫سرويس‬ ‫استفاده‬ ‫مورد‬ ‫مختلف‬ ‫اهداف‬ ‫راستای‬ ‫در‬ ‫سازمان‬‫قرار‬ ‫گيرد‬‫مي‬.‫اين‬‫مشخص‬ ‫جزء‬‫استفاده‬ ‫ترتيب‬ ‫کننده‬‫از‬ ‫هاي‬‫سرويس‬‫مختلف‬‫مشخص‬ ‫هدف‬ ‫يك‬ ‫راستای‬ ‫در‬‫ميباشد‬(Orchestration‫و‬ Choreography)
  • 14.
    ‫معماری‬ ‫اجزای‬SOA (‫ادامه‬) •Management •‫بر‬‫در‬ ‫را‬ ‫ها‬‫سرويس‬ ‫مديريت‬ ‫امکانات‬ ‫مجموعه‬ ‫اليه‬ ‫اين‬ ‫دارد‬. ‫امکانات‬ ‫اين‬WSDM‫گردد‬‫مي‬ ‫تعريف‬.‫كه‬ ‫حالتی‬ ‫در‬ ‫ها‬‫سرويس‬ ‫استاندارد‬ ‫اساس‬ ‫بر‬ ‫باشند‬ ‫سرويس‬ ‫وب‬ ‫بر‬ ‫مبتنی‬ •WSDM(Web Services Distributed Management) Defining a Web services architecture to manage distributed resources •Access •‫است‬ ‫سرويس‬ ‫کاربر‬ ‫طرف‬ ‫دربرگيرنده‬ ‫اليه‬ ‫اين‬.‫اين‬ ‫در‬ ‫از‬ ‫اليه‬‫نظير‬ ‫استانداردهايي‬WSRP‫جهت‬‫ارائه‬ ‫و‬ ‫آوري‬‫جمع‬ ‫گردد‬‫مي‬ ‫استفاده‬ ‫پورتال‬ ‫در‬ ‫ها‬‫سرويس‬. •WSRP(Web Services for Remote Portlets)
  • 15.
    ‫گرافی‬ ‫کرو‬ ‫و‬‫ارکستريشن‬ •‫به‬ ‫ارکستريشن‬‫معنای‬‫موتور‬ ‫يک‬ ‫وجود‬‫فرآيندی‬‫است‬ ‫و‬ ‫کرده‬ ‫کنترل‬ ‫را‬ ‫توالی‬ ‫و‬ ‫ترتيب‬ ‫که‬‫شرکاء‬ ‫از‬ ‫خارجی‬ ‫يا‬ ‫داخلی‬‫برای‬‫می‬ ‫استفاده‬ ‫کارها‬ ‫انجام‬ ‫نمايد‬.‫اين‬ ‫نمونه‬‫مدل‬BMPS‫هستند‬ ‫ها‬ •‫معنای‬ ‫به‬ ‫گرافی‬ ‫کرو‬‫بين‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫پردازش‬ ‫که‬ ‫است‬ ‫فرآيند‬ ‫چند‬‫يک‬ ‫بدون‬‫رهبر‬‫مرکزی‬‫با‬‫هم‬ ‫تعامل‬‫موتور‬ ‫چندين‬ ‫يا‬ ‫دارند‬‫فرآيندی‬‫در‬ ‫که‬ ‫اجرا‬ ‫هم‬ ‫سطح‬ ‫هم‬ ‫و‬ ‫کنار‬‫شوند‬ ‫می‬‫با‬ ‫و‬‫همکاری‬‫هم‬ ‫هدفی‬‫محقق‬ ‫را‬‫سازند‬ ‫می‬.‫در‬ ‫موضوع‬ ‫اين‬ ‫نمونه‬ ‫و‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫پردازش‬‫فعاليتهای‬ ‫يا‬‫بين‬ ‫دو‬ ‫هر‬ ‫که‬ ‫سازمانی‬‫با‬ ‫طرف‬‫دنبال‬ ‫به‬ ‫هم‬ ‫مشارکت‬ ‫می‬ ‫ديده‬ ‫هستند‬ ‫هدف‬ ‫يک‬‫شود‬
  • 16.
    ‫بحث‬•‫يکديگر‬ ‫با‬ ‫مستقيم‬‫بصورت‬ ‫که‬ ‫داشتيم‬ ‫هايی‬ ‫سيستم‬ ‫قبال‬ ‫اند‬ ‫بوده‬ ‫ارتباط‬ ‫در‬.‫گرا‬ ‫سرويس‬ ‫معماری‬ ‫آيا‬ ‫دهد؟‬ ‫انجام‬ ‫کمکی‬ ‫سناريو‬ ‫اين‬ ‫در‬ ‫ميتواند‬ •‫فوق‬ ‫شده‬ ‫معرفی‬ ‫راهکار‬ ‫در‬ ‫اگر‬ESB‫سناريو‬ ‫وارد‬ ‫را‬ ‫داشت؟‬ ‫خواهد‬ ‫سناريو‬ ‫در‬ ‫تاثيری‬ ‫چه‬ ‫کنيم‬
  • 17.
    ‫بحث‬ •‫تفاوت‬SOA‫چيست؟‬ ‫در‬ ‫سرويس‬‫وب‬ ‫و‬ •SOA‫ميکند‬ ‫توصيف‬ ‫را‬ ‫معماری‬ ‫سبک‬ ‫و‬ ‫است‬ ‫معماری‬ •‫است‬ ‫معماری‬ ‫اين‬ ‫سازی‬ ‫پياده‬ ‫استراتژی‬ ‫نوعی‬ ‫سرويس‬ ‫وب‬ SOA Web Services
  • 18.
    ‫بحث‬ •ESB‫کرو‬ ‫يا‬ ‫دانست‬‫ارکستريشن‬ ‫نوعی‬ ‫ميتوان‬ ‫را‬ ‫گرافی؟‬