SlideShare a Scribd company logo
1 of 18
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

Similar to Introduction to SOA

Cloud Computing Impact on SE by Arman Taherian
Cloud Computing Impact on SE by Arman TaherianCloud Computing Impact on SE by Arman Taherian
Cloud Computing Impact on SE by Arman Taherian
Arman Taherian
 
استاندارد های استفاده شده در طراحی سایت
استاندارد های استفاده شده در طراحی سایتاستاندارد های استفاده شده در طراحی سایت
استاندارد های استفاده شده در طراحی سایت
گروه زوم تک
 
Cloud computing
Cloud computingCloud computing
Cloud computing
mahmud_sa
 

Similar to Introduction to SOA (20)

توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
 
shabake-sdn.pptx
shabake-sdn.pptxshabake-sdn.pptx
shabake-sdn.pptx
 
oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_Patterns
 
Metasys Corporation
Metasys CorporationMetasys Corporation
Metasys Corporation
 
AAA sso
AAA ssoAAA sso
AAA sso
 
Introduction to Cloud Computing and Openstack
Introduction to Cloud Computing and OpenstackIntroduction to Cloud Computing and Openstack
Introduction to Cloud Computing and Openstack
 
Cloud Computing Impact on SE by Arman Taherian
Cloud Computing Impact on SE by Arman TaherianCloud Computing Impact on SE by Arman Taherian
Cloud Computing Impact on SE by Arman Taherian
 
معماری استایل‌های بزرگ اندازه
معماری استایل‌های بزرگ اندازهمعماری استایل‌های بزرگ اندازه
معماری استایل‌های بزرگ اندازه
 
About Comp Cms
About Comp CmsAbout Comp Cms
About Comp Cms
 
OpenStack and its service
OpenStack and its serviceOpenStack and its service
OpenStack and its service
 
Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...
Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...
Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
 
استاندارد های استفاده شده در طراحی سایت
استاندارد های استفاده شده در طراحی سایتاستاندارد های استفاده شده در طراحی سایت
استاندارد های استفاده شده در طراحی سایت
 
Ssl security
Ssl securitySsl security
Ssl security
 
Proxmox
ProxmoxProxmox
Proxmox
 
agil software managment by scrunm in tfs
agil software managment by scrunm in tfsagil software managment by scrunm in tfs
agil software managment by scrunm in tfs
 
HotSpot
HotSpotHotSpot
HotSpot
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
معرفی ServiceWorker و کاربردهای آن
معرفی ServiceWorker و کاربردهای آنمعرفی ServiceWorker و کاربردهای آن
معرفی ServiceWorker و کاربردهای آن
 

More from Vahid Farahmandian

More from Vahid Farahmandian (8)

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

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