SlideShare a Scribd company logo
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‫کرو‬ ‫يا‬ ‫دانست‬ ‫ارکستريشن‬ ‫نوعی‬ ‫ميتوان‬ ‫را‬
‫گرافی؟‬

More Related Content

PDF
Microservice architecture - معماری مایکروسرویس
PDF
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
PDF
OpenStack and its service
PPTX
Microservices Workshop Part 1
PDF
Enterprise Resource Planning Implementation Architectures and Frameworks.pdf
PPTX
Erp roya bajelan_v2
PPSX
PPTX
94.10.18
Microservice architecture - معماری مایکروسرویس
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
OpenStack and its service
Microservices Workshop Part 1
Enterprise Resource Planning Implementation Architectures and Frameworks.pdf
Erp roya bajelan_v2
94.10.18

Similar to Introduction to SOA (20)

PDF
Openstack Rally
PDF
طراحی شبکه های کامپیوتری
PDF
مجازي سازي، مجازى سازى
PDF
It tools in crm
PDF
طرح چارچوب متن باز تولید نرم افزار
PPTX
ITIL Foundation
PDF
General cataloge 4
PDF
طرح رایانش ابری در صنعت برق خراسان
PPTX
Arashnia soa patterns
PDF
Software architecture002
PPTX
ارائه پایان نامه:بهبود روش ارزیابی معماری نرم افزار از دید مدیریت برون سپاری
PDF
Network management 2_sample
PPT
شبکه های هوشمند
PPTX
PDF
Keydoc presentation (1)
PDF
چرا نود.جی اس؟
PPTX
ayntrnt-ashyaa-dr-arsh-sakhtman-sazy (1).pptx
PDF
PDF
پروژه پورتال جامع سازمانی
PDF
Pdn tech-cloud management-softwares-ver2.0.1
Openstack Rally
طراحی شبکه های کامپیوتری
مجازي سازي، مجازى سازى
It tools in crm
طرح چارچوب متن باز تولید نرم افزار
ITIL Foundation
General cataloge 4
طرح رایانش ابری در صنعت برق خراسان
Arashnia soa patterns
Software architecture002
ارائه پایان نامه:بهبود روش ارزیابی معماری نرم افزار از دید مدیریت برون سپاری
Network management 2_sample
شبکه های هوشمند
Keydoc presentation (1)
چرا نود.جی اس؟
ayntrnt-ashyaa-dr-arsh-sakhtman-sazy (1).pptx
پروژه پورتال جامع سازمانی
Pdn tech-cloud management-softwares-ver2.0.1
Ad

More from Vahid Farahmandian (8)

PPTX
Core C# Programming Constructs, Part 1
PPTX
Building C# Applications
PPTX
The Philosophy of .Net
PPTX
C#.net evolution part 2
PPTX
Understanding Security in .Net Framework
PPTX
Introduction to CRM
PPTX
C#.net Evolution part 1
PPTX
Interview tips
Core C# Programming Constructs, Part 1
Building C# Applications
The Philosophy of .Net
C#.net evolution part 2
Understanding Security in .Net Framework
Introduction to CRM
C#.net Evolution part 1
Interview tips
Ad

Introduction to SOA

  • 1. Introduction to SOA Vahid Farahmandian Tarbiat Modares University Medicine Faculty Medical Informatics Group
  • 2. ‫معماری‬•‫تعاريف‬‫بر‬ ‫معماري‬‫خصوصيات‬‫زير‬‫تاكيد‬‫دارد‬: •‫يك‬ ‫معماري‬‫طراحي‬‫است‬ ‫سيستم‬ ‫عناصر‬ ‫براي‬ ‫باال‬ ‫سطح‬. •‫ميان‬ ‫ارتباط‬ ‫و‬ ‫سيستم‬ ‫عناصر‬ ‫مجموعه‬ ‫دهنده‬ ‫نشان‬ ‫معماري‬ ‫آ‬‫نهاست‬. •‫از‬ ‫اي‬ ‫مجموعه‬ ‫معماري‬‫مدلها‬‫و‬‫توصيفات‬‫است‬ •‫خوب‬ ‫معماري‬ ‫يك‬‫داراي‬‫باشد‬ ‫مي‬ ‫زير‬ ‫مشخصات‬ •‫باشد‬ ‫فهم‬ ‫قابل‬ •‫باشند‬ ‫مجدد‬ ‫استفاده‬ ‫قابل‬ ‫آن‬ ‫هاي‬ ‫مولفه‬. •‫انعطاف‬ ‫تغييرات‬ ‫به‬ ‫نسبت‬‫پذير‬‫باشد‬. •‫اصلي‬ ‫موارد‬‫كاربري‬‫گيرد‬ ‫بر‬ ‫در‬ ‫را‬ ‫سيستم‬. •‫به‬ ‫را‬ ‫ها‬ ‫سيستم‬ ‫زير‬ ‫بين‬ ‫هاي‬ ‫واسطه‬‫نحوي‬‫كرده‬ ‫تعريف‬ ‫ها‬ ‫سيستم‬ ‫تا‬ ‫باشد‬‫كمترين‬‫وابستگي‬‫داشته‬ ‫يكديگر‬ ‫به‬ ‫را‬
  • 3. ‫گرا‬ ‫سرويس‬ ‫معماری‬•‫مولفه‬ ‫که‬ ‫شده‬ ‫توزيع‬ ‫های‬ ‫سيستم‬ ‫توسعه‬ ‫برای‬ ‫روشی‬ ‫هستند‬ ‫منفرد‬ ‫های‬ ‫سرويس‬ ‫همان‬ ‫ها‬ ‫سيستم‬ ‫اين‬ ‫های‬. •‫سازی‬ ‫پياده‬ ‫زبان‬ ‫و‬ ‫سکو‬ ‫از‬ ‫مستقل‬ ‫ها‬ ‫سرويس‬ ‫هستند‬ •‫های‬ ‫سرويس‬ ‫از‬ ‫ميتواند‬ ‫افزاری‬ ‫نرم‬ ‫سيستم‬ ‫يک‬ ‫مختلف‬ ‫دهندگان‬ ‫ارائه‬ ‫توسط‬ ‫شده‬ ‫ارائه‬ ‫مختلف‬ ‫باشد‬ ‫شده‬ ‫ساخته‬. •‫سرويس‬:‫انجام‬ ‫دهنده‬ ‫سرويس‬ ‫يک‬ ‫وسيله‬ ‫به‬ ‫که‬ ‫کاري‬ ‫روي‬ ‫کوچک‬ ‫درخواست‬ ‫يک‬ ‫انجام‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫شود‬ ‫مي‬ ‫يا‬ ‫باشد‬ ‫اطالعات‬ ‫ذخيره‬ ‫يا‬ ‫دريافت‬ ‫مانند‬ ‫داده‬ ‫يک‬ ‫چاپ‬ ‫مانند‬ ‫تر‬ ‫پيچيده‬ ‫کاري‬ ‫انجام‬ ‫به‬ ‫مربوط‬ ‫باشد‬ ‫تصوير‬.
  • 4. ‫گرا‬ ‫سرويس‬ ‫معماری‬ ‫از‬ ‫نمايی‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬:‫در‬ ‫اصلي‬ ‫وظيفه‬ ‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬ ‫گرا‬‫سرويس‬ ‫معماري‬ ‫ها‬‫سرويس‬ ‫سازي‬ ‫پياده‬ ‫و‬ ‫باشد‬ ‫مي‬ ‫سرويس‬ ‫باشد‬ ‫مي‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫عهده‬ ‫به‬. ‫سرويسها‬ ‫واسط‬:‫اينكه‬ ‫براي‬ ‫سرويس‬ ‫هر‬ ‫استفاده‬ ‫قابل‬ ‫كنندگان‬ ‫درخواست‬ ‫توسط‬ ‫يك‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫بايستي‬ ‫باشد‬ ‫را‬ ‫سرويس‬ ‫فراخواني‬ ‫جهت‬ ‫مناسب‬ ‫واسط‬ ‫نمايد‬ ‫ارائه‬ ‫و‬ ‫تهيه‬.‫ارتباط‬ ‫حقيقت‬ ‫در‬ ‫سرويس‬ ‫كننده‬ ‫توليد‬ ‫و‬ ‫كننده‬ ‫مصرف‬ ‫بين‬ ‫ميگردد‬ ‫برقرار‬ ‫سرويس‬ ‫واسط‬ ‫طريق‬ ‫از‬. ‫سرويس‬ ‫كننده‬ ‫مصرف‬:‫كننده‬ ‫درخواست‬ ‫ابتدا‬ ‫سرويس‬ ‫يك‬ ‫از‬ ‫استفاده‬ ‫جهت‬ ‫سرويس‬ ‫واسط‬ ‫به‬ ‫استفاده‬ ‫جهت‬ ،‫درخواست‬ ‫يك‬
  • 5. ‫معماری‬ ‫اصول‬SOA •‫استفاده‬ ‫قابليت‬‫مجدد‬ •‫ها‬ ‫سرويس‬ ‫اساسا‬‫برای‬‫اين‬ ‫خواه‬ ،‫شوند‬ ‫می‬ ‫طراحی‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫شود‬ ‫انجام‬ ‫حال‬ ‫زمان‬ ‫در‬ ‫مجدد‬ ‫استفاده‬‫موکول‬ ‫يا‬‫آينده‬ ‫به‬‫شود‬. ‫است‬ ‫مورد‬ ‫اين‬ ‫ضرورت‬ ‫شناسايی‬ ‫و‬ ‫کشف‬ •‫رسمی‬ ‫قرارداد‬‫تعامل‬ ‫برای‬ •‫نياز‬ ‫که‬ ‫هايی‬ ‫سرويس‬‫تعامل‬ ‫به‬‫قواعد‬ ‫بايست‬ ‫می‬ ‫دارند‬ ‫هم‬ ‫با‬ ‫را‬ ‫ارتباط‬ ‫اين‬ ‫چگونگی‬ ‫به‬ ‫مربوط‬‫رسمی‬ ‫بصورت‬‫و‬ ‫تعريف‬ ‫مشخص‬ ‫و‬ ‫نمايند‬ ‫منتشر‬.‫آدرس‬ ‫و‬ ‫نام‬ ‫تعريف‬ ‫شامل‬ ‫حداقل‬ ‫قرارداد‬ ‫اين‬ ‫عمليات‬ ،‫سرويس‬‫پيام‬ ،‫ها‬‫هاي‬‫ورودی‬‫خروجی‬ ‫و‬‫برای‬‫و‬ ‫عمليات‬ ‫هر‬ ‫ها‬ ‫داده‬ ‫اين‬ ‫نوع‬‫است‬ •‫ها‬ ‫سرويس‬ ‫سست‬ ‫اتصال‬ •‫به‬ ‫ها‬ ‫سرويس‬‫يکديگر‬‫شديد‬ ‫وابستگی‬‫بيشترين‬ ‫و‬ ‫باشند‬ ‫نداشته‬ ‫باشند‬ ‫داشته‬ ‫را‬ ‫يکديگر‬ ‫از‬ ‫استقالل‬.‫به‬ ‫اين‬‫معنای‬‫يک‬ ‫که‬ ‫است‬ ‫آن‬ ‫ممکن‬ ‫سرويس‬‫از‬ ‫استفاده‬ ‫و‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫اطالعات‬ ‫به‬ ‫نياز‬ ‫است‬ ‫از‬ ‫مستقل‬ ‫ولی‬ ‫باشد‬ ‫داشته‬ ‫آنها‬‫آنها‬(‫سازي‬ ‫پياده‬ ‫چگونگی‬)‫اجرا‬ ‫شود‬ ‫می‬
  • 6. ‫معماری‬ ‫اصول‬SOA •‫داخلی‬ ‫سازی‬ ‫پياده‬ ‫سازی‬ ‫پنهان‬ •‫حقيقت‬ ‫در‬‫آنچه‬‫داند‬ ‫می‬ ‫سرويس‬ ‫يک‬ ‫از‬ ‫اطراف‬ ‫محيط‬"‫چه‬‫چيز‬"‫و‬ ‫است‬ ‫نه‬"‫چگونه‬"،‫بدين‬‫سرويس‬ ‫ترتيب‬‫که‬ ‫شوند‬ ‫می‬ ‫سياه‬ ‫جعبه‬ ‫بصورت‬ ‫ها‬ ‫نمايند‬ ‫می‬ ‫مخفی‬ ‫را‬ ‫خود‬ ‫داخلی‬ ‫جزييات‬. •‫پذيری‬ ‫ترکيب‬ ‫قابليت‬ •‫بندي‬ ‫دانه‬ ‫ترتيب‬ ‫بدين‬ ،‫کنند‬ ‫می‬ ‫استفاده‬ ‫يکديگر‬ ‫از‬ ‫ها‬ ‫سرويس‬ ‫شود‬ ‫می‬ ‫ايجاد‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫متفاوتی‬ ‫هاي‬‫قابليت‬ ‫و‬‫مجدد‬ ‫استفاده‬ ‫پذيرد‬ ‫می‬ ‫ارتقاء‬.‫است‬ ‫استوار‬ ‫اصل‬ ‫براين‬ ‫نوعی‬ ‫به‬ ‫نيز‬ ‫ارکستريشن‬ ‫می‬ ‫سود‬ ‫آن‬ ‫از‬ ‫و‬‫اين‬ ،‫جويد‬‫استفاده‬ ‫قابليت‬ ‫با‬ ‫هايی‬ ‫شباهت‬ ‫مورد‬ ‫مهيا‬ ‫بر‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫که‬ ‫تفاوت‬ ‫اين‬ ‫با‬ ‫دارد‬ ‫مجدد‬‫نمودن‬ ‫لوازم‬‫مربوط‬ ‫پذيري‬ ‫ترکيب‬ ‫حاليکه‬ ‫در‬ ‫دارد‬ ‫تاکيد‬ ‫استانداردها‬ ‫و‬ ‫از‬ ‫ها‬ ‫سرويس‬ ‫طراحی‬ ‫و‬ ‫تعيين‬ ‫چگونگی‬ ‫به‬‫دانه‬ ‫نظر‬‫و‬ ‫بندي‬‫کارکردی‬ ‫بگونه‬ ‫است‬‫ای‬‫سرويس‬ ‫ديگر‬ ‫ترکيب‬ ‫از‬ ‫را‬ ‫کالن‬ ‫سرويس‬ ‫يک‬ ‫بتوان‬ ‫که‬ ‫نمود‬ ‫ايجاد‬ ‫ها‬. •‫ها‬ ‫سرويس‬ ‫خودمختاری‬ •‫را‬ ‫خود‬ ‫داخلی‬ ‫سازي‬ ‫پياده‬ ‫چگونگی‬ ‫بتواند‬ ‫بايد‬ ‫سرويس‬ ‫يک‬‫تغيير‬ ‫يا‬‫اينکه‬ ‫بدون‬ ‫بدهد‬ ‫گسترش‬‫برای‬‫يا‬ ‫اجازه‬ ‫به‬ ‫نياز‬ ‫کار‬ ‫اين‬ ‫تغييری‬‫باشد‬ ‫ها‬ ‫سرويس‬ ‫ديگر‬ ‫در‬
  • 7. ‫معماری‬ ‫اصول‬SOA •‫ها‬ ‫سرويس‬ ‫وضعيتی‬ ‫بی‬ •‫سرويس‬ ‫عمليات‬‫بگونه‬‫ای‬‫يک‬ ‫و‬ ‫نبوده‬ ‫بندي‬ ‫مرحله‬ ‫قابل‬ ‫که‬ ‫است‬ ‫تراکنشی‬‫دريافت‬ ‫با‬ ‫که‬ ‫صورت‬ ‫بدين‬ ‫است‬‫توسط‬ ‫درخواست‬‫سرويس‬ ‫شود‬ ‫می‬ ‫ارسال‬ ‫گيرنده‬ ‫سرويس‬ ‫به‬ ‫مناسب‬ ‫پاسخ‬ ،‫دهنده‬.‫کليه‬ ‫ارائه‬ ‫هاي‬ ‫کارکرد‬‫سرويس‬ ‫يک‬‫قالب‬ ‫در‬‫عمليات‬ ‫چندين‬"‫تک‬ ‫و‬ ‫هم‬ ‫از‬ ‫مستقل‬ ‫تراکنشی‬"‫وضعيتی‬ ‫بی‬ ‫اصل‬ ‫هاي‬ ‫ضرورت‬ ‫از‬‫است‬ •‫کشف‬ ‫و‬ ‫شناسايی‬ ‫قابليت‬ •‫کليه‬ ‫و‬ ‫شرکاء‬ ‫توسط‬ ‫بايست‬ ‫ها‬ ‫سرويس‬ ‫از‬ ‫استفاده‬ ‫واسط‬ ‫قرارداد‬ ،‫هستند‬ ‫استفاده‬ ‫به‬ ‫مجاز‬ ‫که‬ ‫عواملی‬‫شناسايی‬ ‫قابل‬‫باشد‬ ‫کشف‬ ‫و‬
  • 8. ‫معماری‬ ‫مختلف‬ ‫اصول‬ ‫بين‬ ‫رابطه‬SOA‫بررسی‬ ‫را‬ ‫کنيد‬ •‫استفاده‬ ‫بر‬ ‫مستقيم‬ ‫تاثير‬ ‫سست‬ ‫اتصال‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫مختاری‬ ‫خود‬ ‫هستند‬ ‫ها‬ ‫وابستگی‬ ‫کاهش‬ ‫دنبال‬ ‫به‬ ‫چراکه‬ ‫دارند‬ ‫مجدد‬ •‫سرويس‬ ‫قرارداد‬ ‫اجرای‬ ‫به‬ ‫نياز‬ ‫شناسايی‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫سازی‬ ‫پنهان‬ ‫دارند‬ •‫خود‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ،‫مجدد‬ ‫استفاده‬ ‫شدن‬ ‫محقق‬ ‫نياز‬ ‫پيش‬ ‫سست‬ ‫اتصال‬ ‫است‬ ‫مختاری‬.‫بخورند‬ ‫گره‬ ‫هم‬ ‫به‬ ‫حد‬ ‫از‬ ‫بيش‬ ‫نبايد‬ ‫ها‬ ‫سرويس‬! •‫ميشود‬ ‫تسهيل‬ ‫سازی‬ ‫پنهان‬ ‫کمک‬ ‫به‬ ‫مجدد‬ ‫استفاده‬.‫کننده‬ ‫پياده‬ ‫چراکه‬ ‫ساير‬ ‫آنکه‬ ‫بدون‬ ‫دهد‬ ‫تغيير‬ ‫براحتی‬ ‫را‬ ‫خود‬ ‫درونی‬ ‫ساختار‬ ‫ميتواند‬ ‫شوند‬ ‫مختل‬ ‫ها‬ ‫سرويس‬ •‫ترکيب‬ ‫نياز‬ ‫پيش‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫و‬ ‫وضعيتی‬ ‫بی‬ ،‫سست‬ ‫اتصال‬ ‫هستند‬ ‫پذيری‬ •‫پذيری‬ ‫ترکيب‬ ‫و‬ ‫مجدد‬ ‫استفاده‬ ‫قابليت‬ ‫شرط‬ ‫پيش‬ ‫ها‬ ‫سرويس‬ ‫مختاری‬ ‫خود‬ ‫دارد‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫سست‬ ‫اتصال‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫و‬ ‫است‬ •‫و‬ ‫الزم‬ ‫وضعيتی‬ ‫بی‬ ‫و‬ ‫و‬ ‫خودمختاری‬‫ملزوم‬‫هستند‬ ‫همديگر‬.‫وضعيتی‬ ‫بی‬ ‫ميباشد‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫پذيری‬ ‫ترکيب‬ ‫نياز‬ ‫پيش‬ •‫ميشود‬ ‫محقق‬ ‫سرويس‬ ‫قرارداد‬ ‫کمک‬ ‫به‬ ‫سرويس‬ ‫کشف‬.‫سرويس‬ ‫آنکه‬ ‫برای‬ ‫نمايد‬ ‫منتشر‬ ‫را‬ ‫خود‬ ‫واسط‬ ‫قرارداد‬ ‫بايد‬ ‫باشد‬ ‫کشف‬ ‫قابل‬.‫استفاده‬ ‫بحث‬
  • 9. ‫کليدی‬ ‫استانداردهای‬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) •‫های‬ ‫برنامه‬ ‫که‬ ‫است‬ ‫کاری‬ ‫جريان‬ ‫زبان‬ ‫برای‬ ‫استانداردی‬ ‫ميکند‬ ‫تعريف‬ ‫را‬ ‫متعدد‬ ‫سرويسهای‬ ‫با‬ ‫درگير‬ ‫پردازشی‬
  • 10. ‫سرويس‬ ‫مهندسی‬ ‫فرآيند‬ •‫کانديدا‬ ‫سرويس‬ ‫شناسايی‬ •‫را‬ ‫آن‬ ‫نيازمنديهای‬ ‫و‬ ‫کرده‬ ‫شناسايی‬ ‫را‬ ‫شود‬ ‫سازی‬ ‫پياده‬ ‫ميتواند‬ ‫که‬ ‫سرويسی‬ ‫ميکند‬ ‫تعريف‬ •‫سرويس‬ ‫طراحی‬ •‫و‬ ‫منطقی‬ ‫های‬ ‫واسط‬WSDL‫ميکنيم‬ ‫طراحی‬ ‫را‬ ‫سرويس‬ •‫سرويس‬ ‫توسعه‬ ‫و‬ ‫سازی‬ ‫پياده‬ •‫قرار‬ ‫ديگران‬ ‫دسترس‬ ‫در‬ ‫استفاده‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫کرده‬ ‫تست‬ ‫و‬ ‫سازی‬ ‫پياده‬ ‫را‬ ‫سرويس‬ ‫ميدهد‬ •‫نیازمندیهای‬ ‫سرویس‬ ‫کاندیدا‬ ‫سرویس‬ ‫شناسایی‬ •‫مشخصات‬ ‫سرویس‬ ‫واسط‬ ‫سرویس‬ ‫طراحی‬ •‫معتب‬ ‫سرویس‬‫ر‬ ‫یافت‬ ‫توسعه‬ ‫و‬‫ه‬ ‫توسعه‬ ‫و‬ ‫سازی‬ ‫پیاده‬ ‫سرویس‬
  • 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‫کرو‬ ‫يا‬ ‫دانست‬ ‫ارکستريشن‬ ‫نوعی‬ ‫ميتوان‬ ‫را‬ ‫گرافی؟‬