‫دانشجو‬:
‫نیا‬ ‫آرش‬ ‫رضا‬ ‫حسن‬
‫استاد‬:
‫زادگان‬ ‫رسول‬ ‫عباس‬ ‫دکتر‬ ‫آقای‬ ‫جناب‬
‫طراحی‬ ‫الگوهای‬
«‫ها‬ ‫سرویس‬ ‫بین‬ ‫پیام‬ ‫ارسال‬»
‫گرا‬ ‫سرویس‬ ‫معماری‬ ‫در‬
‫اول‬ ‫نیمسال‬93-92
‫صفحه‬2
‫اول‬ ‫نیمسال‬93-92
‫بحث‬ ‫مورد‬ ‫مطالب‬
‫گرا‬ ‫سرویس‬ ‫معماری‬
‫طراحی‬ ‫الگوهای‬
‫همزمان‬ ‫غیر‬ ‫رسانی‬ ‫پیام‬ ‫طراحی‬ ‫الگوی‬
‫مطمئن‬ ‫رسانی‬ ‫پیام‬ ‫طراحی‬ ‫الگوی‬
‫فرستنده‬ ‫انتشار‬ ‫طراحی‬ ‫الگوی‬
‫صفحه‬3
‫اول‬ ‫نیمسال‬93-92
‫گرا‬ ‫سرویس‬ ‫معماری‬ ‫معرفی‬
‫گرا‬ ‫سرویس‬ ‫معماری‬ ‫کلی‬ ‫ایده‬
‫معماری‬‫سرویس‬‫گرا‬
•‫دستیابی‬‫به‬‫اتصال‬‫سست‬‫در‬‫ارتباطات‬‫بین‬‫مولفه‬‫های‬‫ن‬‫رم‬‫افزاری‬
•‫توزیع‬‫مولفه‬‫های‬‫سیستم‬‫های‬‫در‬‫مناطق‬‫مختلف‬
•‫تشویق‬‫استفاده‬‫مجدد‬‫در‬‫فرآیند‬‫تولید‬‫نرم‬‫افزار‬
‫ارتباطات‬‫بین‬‫سرویس‬‫ها‬‫در‬‫این‬‫معماری‬‫براساس‬‫تبادل‬‫پیام‬‫بین‬‫سرویس‬‫ها‬
‫است‬.
‫چالش‬‫های‬‫معماری‬‫سرویس‬‫گرا‬
‫قابلیت‬‫اطمینان‬،‫در‬‫دسترس‬،‫بودن‬‫کارایی‬،
‫ارسال‬‫مطمئن‬‫پیام‬‫ها‬‫بین‬‫سرویس‬‫ها‬
‫مهمترین‬‫چالش‬:
‫ارسال‬‫مطمئن‬‫پیام‬‫ها‬‫بین‬‫سرویس‬‫ها‬‫راهکار‬:‫استفاده‬‫از‬‫الگوهای‬‫طراحی‬
‫صفحه‬4
‫اول‬ ‫نیمسال‬93-92
‫الگوهای‬‫طراحی‬
‫الگوهای‬‫طراحی‬‫یک‬‫طرح‬‫کلی‬‫از‬‫یک‬‫راه‬‫حل‬‫و‬‫ابزاری‬‫برای‬‫استفاده‬‫مجد‬‫د‬
(reuse)‫در‬‫فرایند‬‫های‬‫تولید‬‫نرم‬‫افزار‬‫سریع‬‫هستند‬.
‫از‬‫الگوهای‬‫طراحی‬‫موجود‬‫به‬‫عنوان‬‫راه‬‫حل‬‫های‬‫تست‬‫شده‬‫ای‬‫که‬‫مورد‬
‫آزمایش‬‫قرارگرفته‬‫اند‬‫می‬‫توانند‬‫برای‬‫حل‬‫چالش‬‫های‬‫یاد‬‫شده‬‫مورد‬‫است‬‫فاده‬
‫قرارگیرند‬.
‫اما‬‫یافتن‬‫یک‬‫راه‬‫حل‬‫مناسب‬‫به‬‫این‬‫سادگی‬‫نیست‬‫و‬‫می‬‫تواند‬‫به‬‫عن‬‫وان‬‫یک‬
‫چالش‬‫برای‬‫طراحان‬‫باشد‬.
‫در‬‫ادامه‬‫از‬‫الگوهای‬‫طراحی‬‫ارائه‬‫شده‬‫توسط‬‫انجمن‬SOA‫استفاده‬‫شده‬
‫است‬
‫صفحه‬5
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫پیام‬‫رسانی‬‫غیر‬‫همزمان‬
‫چالش‬:
‫مشکالت‬‫مرتبط‬‫با‬‫ارتباطات‬‫همزمان‬‫در‬
‫پیام‬‫رسانی‬‫همزمان‬‫بین‬‫سرویس‬‫ها‬
‫راه‬‫حل‬:
‫استفاده‬‫از‬‫یک‬‫بافر‬‫برای‬‫تبادل‬‫پیام‬‫بین‬‫سرویس‬‫درخواست‬‫کننده‬‫و‬‫سرویس‬‫ارائه‬‫دهنده‬‫خدمات‬
‫هدف‬‫الگو‬:
‫کاهش‬‫میزان‬‫قفل‬‫شدن‬‫منابع‬‫و‬‫افزایش‬‫کارایی‬‫سیستم‬
‫سرویس‬‫ها‬‫می‬‫توانند‬‫در‬‫فاصله‬‫بین‬‫درخواست‬‫و‬‫دریافت‬‫پاسخ‬‫به‬‫کارهای‬‫دیگری‬‫مشغول‬‫ب‬‫اشند‬‫که‬
‫باعث‬‫افزایش‬‫کارایی‬‫سیستم‬‫می‬‫شود‬.
‫مکانیزم‬‫کار‬:
‫درخواست‬‫کننده‬(‫فرستنده‬)‫یک‬‫پیام‬‫را‬‫تحویل‬‫بافر‬‫گیرنده‬‫می‬،‫دهد‬‫گیرنده‬‫پیام‬‫را‬‫به‬‫ترتیب‬‫از‬‫بافر‬‫د‬‫ریافت‬‫می‬‫کند‬‫و‬‫پاسخ‬
‫مناسب‬‫را‬‫در‬‫بافر‬‫فرستنده‬‫قرار‬‫می‬،‫دهد‬‫فرستنده‬‫پس‬‫از‬‫دریافت‬،‫پاسخ‬‫عملیات‬‫پردازشی‬‫مناسب‬‫را‬‫انجام‬‫م‬‫ی‬‫دهد‬
‫صفحه‬6
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫پیام‬‫رسانی‬‫غیر‬‫همزمان‬
‫مزایا‬:
‫کاهش‬‫میزان‬‫قفل‬‫شدن‬
‫منابع‬‫و‬‫افزایش‬‫کارایی‬
‫سیستم‬
‫معایب‬:
‫ممکن‬‫است‬‫پیام‬‫تایید‬‫به‬‫درخواست‬‫کننده‬‫نرسد‬
‫ممکن‬‫است‬‫اجرای‬‫تراکنش‬‫های‬‫اتمیک‬‫امکان‬‫پذیر‬‫نباشد‬
‫صفحه‬7
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫پیام‬‫رسانی‬‫مطمئن‬
‫چالش‬:
‫تحویل‬‫پیام‬‫مطمئن‬‫بین‬‫سروی‬‫س‬‫ها‬
‫در‬‫زمانی‬‫که‬‫بستر‬‫انتقال‬‫و‬‫یا‬
‫پروتکل‬‫های‬‫انتقال‬‫امن‬‫نیست‬
‫راه‬‫حل‬:
‫افزودن‬‫یک‬‫مکانیزم‬‫واسط‬‫به‬‫معماری‬‫برای‬‫گارانتی‬‫نمودن‬‫تحویل‬‫مطمئن‬‫پیام‬‫بین‬‫س‬‫رویس‬‫ها‬
‫مکانیزم‬‫واسط‬=‫یک‬‫چارچوب‬‫کاری‬‫و‬‫مخزن‬‫برای‬‫نگهداری‬‫و‬‫انتقال‬‫پیام‬‫بین‬‫سرویس‬‫ه‬‫ا‬
‫هدف‬‫الگو‬:
‫گارانتی‬‫ارتباط‬‫بین‬‫سرویس‬‫ها‬‫در‬‫زمانی‬‫که‬‫سرویس‬‫در‬‫یک‬‫محیط‬‫نامطمئن‬‫پیاده‬‫سازی‬‫شده‬
‫باشد‬‫یا‬‫پروتکل‬‫مورد‬‫استفاده‬‫امن‬‫نباشد‬
‫مکانیزم‬‫کار‬:
‫درخواست‬‫کننده‬‫یک‬‫پیام‬‫را‬‫تحویل‬‫مکانیزم‬‫واسط‬‫می‬‫دهد‬‫تا‬‫به‬‫گیرنده‬‫پیام‬‫تحویل‬‫دهد‬،‫چنانچه‬
‫پس‬‫از‬‫گذشت‬‫مدت‬‫زمان‬‫مشخص‬‫پاسخی‬‫دریافت‬‫نشد‬،‫فرستنده‬‫مجددا‬‫اقدام‬‫به‬‫ارسال‬‫پیام‬‫می‬
‫کند‬
‫صفحه‬8
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫پیام‬‫رسانی‬‫مطمئن‬
‫مزایا‬:
‫اطمینان‬‫از‬‫تحویل‬‫پیام‬‫بین‬‫سرویس‬‫ها‬‫ب‬‫دون‬
‫توجه‬‫به‬‫بستر‬‫و‬‫یا‬‫پروتکل‬‫انتقال‬
‫معایب‬:
.1‫سرویس‬‫ها‬‫باید‬‫پیگیر‬‫پیام‬‫های‬‫ارسالی‬‫و‬‫تحویل‬‫آنها‬‫به‬‫سرویس‬‫مقصد‬‫باشند‬
.2‫امکان‬‫عدم‬‫دریافت‬‫پیام‬‫تایید‬
.1‫زمانی‬‫که‬‫گیرنده‬‫در‬‫دسترس‬‫نباشد‬
.2‫شبکه‬‫واسط‬‫دچار‬‫مشکل‬‫شود‬.
‫در‬‫هر‬‫دو‬‫حالت‬‫فرستنده‬‫باید‬‫منتظر‬‫پیام‬‫تایید‬‫بماند‬‫و‬‫متوجه‬‫عدم‬‫در‬‫دسترس‬‫بودن‬‫سرویس‬‫مقصد‬‫ن‬‫می‬‫شود‬.
.3‫افزایش‬‫سربار‬‫عملیاتی‬‫سیستم‬(‫حتی‬‫در‬‫صورت‬‫درستی‬‫عملکرد‬‫سیستم‬)
‫چالش‬‫جدید‬:
‫افزایش‬‫سربار‬‫عملیاتی‬‫سیستم‬
‫برای‬ ‫تری‬ ‫مناسب‬ ‫الگوی‬ ‫توان‬ ‫می‬ ‫آیا‬
‫بین‬ ‫پیام‬ ‫تبادل‬‫درخواست‬ ‫سرویس‬
‫خدمات‬ ‫دهنده‬ ‫ارائه‬ ‫سرویس‬ ‫و‬ ‫کننده‬
‫نمود‬ ‫ارائه‬‫معایب‬ ‫که‬‫را‬ ‫الگو‬ ‫دو‬ ‫این‬
‫؟‬ ‫باشد‬ ‫نداشته‬
‫صفحه‬9
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫انتشار‬‫فرستنده‬
‫چالش‬:
‫تحویل‬‫پیام‬‫مطمئن‬‫بین‬‫سرویس‬‫ها‬‫در‬‫ز‬‫مانی‬
‫که‬‫بستر‬‫انتقال‬‫و‬‫یا‬‫پروتکل‬‫های‬‫انت‬‫قال‬‫امن‬
‫نیست‬
‫راه‬‫حل‬:
‫ترکیب‬‫دو‬‫الگوی‬‫پیام‬‫رسانی‬‫غیر‬‫همزمان‬‫و‬‫پیام‬‫رسانی‬‫مطمئن‬
‫هدف‬‫الگو‬:
•‫باشد‬ ‫می‬ ‫مطمئن‬ ‫رسانی‬ ‫پیام‬ ‫الگوی‬ ‫در‬ ‫موجود‬ ‫مشکالت‬ ‫کردن‬ ‫برطرف‬.
•‫تضمین‬‫پیام‬ ‫رسیدن‬
•‫رفع‬‫فرستنده‬ ‫سربار‬ ‫به‬ ‫مربوط‬ ‫مشکالت‬
‫مکانیزم‬‫کار‬:
‫در‬‫زمانی‬‫که‬‫درخواست‬‫کننده‬‫سرویس‬‫یک‬‫پیام‬‫را‬‫به‬‫سرویس‬‫دیگر‬‫می‬‫فرستد‬‫این‬‫پیام‬‫توسط‬‫مدیر‬‫سر‬‫ویس‬‫به‬‫صف‬
‫اضافه‬‫می‬‫شود‬‫و‬‫در‬‫صورت‬‫پر‬‫بودن‬‫صف‬‫پیام‬‫در‬‫حافظه‬‫جانبی‬‫ذخیره‬‫می‬‫شود‬.
‫صفحه‬10
‫اول‬ ‫نیمسال‬93-92
‫الگوی‬‫انتشار‬‫فرستنده‬
‫مکانیزم‬‫کار‬(‫ادامه‬):
1-‫سرویس‬‫مقصد‬‫پیام‬‫را‬‫دریافت‬‫و‬‫پیام‬‫تایید‬‫آن‬‫را‬‫به‬‫فریم‬
‫ورک‬‫ارسال‬‫می‬‫کند‬‫و‬‫فریم‬‫ورک‬‫پیام‬‫تایید‬‫را‬‫به‬‫فرست‬‫نده‬‫ارسال‬
‫می‬‫کند‬
2-‫اگر‬‫فریم‬‫ورک‬‫پیام‬‫تایید‬‫را‬‫از‬‫سرویس‬‫دریافت‬‫ننمای‬‫د‬،‫پس‬‫از‬
‫طی‬‫مدت‬‫زمان‬‫مشخصی‬‫اقدام‬‫به‬‫ارسال‬‫مجدد‬‫پیام‬‫می‬‫نماید‬‫و‬
‫این‬‫کار‬‫را‬‫به‬‫مدت‬‫حداکثر‬N‫بار‬‫انجام‬‫می‬‫دهد‬.‫در‬‫طرف‬
‫دیگر‬‫اگر‬‫درخواست‬‫کننده‬‫پس‬‫از‬‫گذشت‬‫مدت‬‫زمان‬T،‫پیام‬
‫تایید‬‫را‬‫دریافت‬،‫نکرد‬‫فرض‬‫را‬‫بر‬‫عدم‬‫تایید‬‫درخواستش‬‫می‬
‫گذارد‬.
‫مزایا‬:
‫کاهش‬‫سربار‬‫عملیاتی‬‫سیستم‬‫و‬‫افزایش‬‫کارایی‬‫سرویس‬‫ها‬
‫معایب‬:
‫در‬‫صورتی‬‫که‬‫تعداد‬‫سرویس‬‫ها‬‫و‬‫پیام‬‫های‬‫مبادله‬‫شده‬‫بین‬‫آنها‬‫زیاد‬،‫باشد‬‫فریم‬‫ورک‬‫می‬‫تواند‬‫ب‬‫ه‬‫عنوان‬‫یک‬
‫گلوگاه‬‫باشد‬
‫صفحه‬11
‫اول‬ ‫نیمسال‬93-92
‫نتیجه‬‫گیری‬
•‫از‬‫الگوهای‬‫طراحی‬‫می‬‫توان‬‫به‬‫عنوان‬‫راه‬‫حل‬‫های‬‫تست‬‫شده‬‫ای‬‫که‬‫مورد‬‫آزمایش‬‫قرارگرفته‬‫اند‬‫برای‬‫حل‬
‫چالش‬‫ها‬‫استفاده‬‫نمود‬
•‫استفاده‬‫از‬‫یک‬‫الگو‬‫باعث‬‫حل‬‫یک‬‫مشکل‬‫می‬‫شود‬‫ولی‬‫ممکن‬‫است‬‫مشکالت‬‫دیگری‬‫را‬‫به‬‫سی‬‫ستم‬‫تحمیل‬
‫نماید‬
•‫با‬‫استفاده‬‫از‬‫ترکیب‬‫الگوهای‬‫مختلف‬‫می‬‫توان‬‫به‬‫الگوهای‬‫کارآمدتری‬‫دست‬‫یافت‬
•‫در‬‫الگوی‬‫انتشار‬‫فرستنده‬،‫فرستنده‬‫پیام‬‫در‬‫صورت‬‫عدم‬‫دریافت‬‫پیام‬‫تایید‬‫فرض‬‫را‬‫بر‬‫رد‬‫د‬‫رخواست‬‫می‬
‫گذارد‬‫در‬‫حالی‬‫که‬‫در‬‫الگوی‬‫پیام‬‫رسانی‬‫مطمئن‬‫فرض‬‫را‬‫بر‬‫عدم‬‫تحویل‬‫می‬‫گیرد‬.‫همین‬‫استراتژی‬‫باعث‬
‫کاهش‬‫سربار‬‫سیستم‬‫می‬‫شود‬.
•‫استفاده‬‫از‬‫الگوی‬‫طراحی‬‫انتشار‬‫فرستنده‬‫باعث‬‫افزایش‬‫قابلیت‬‫اطمینان‬‫به‬‫سیستم‬‫می‬‫ش‬‫ود‬.
•‫الگوی‬‫انتشار‬‫فرستنده‬،‫تحویل‬‫پیام‬‫را‬‫در‬‫یک‬‫بستر‬‫غیر‬‫مطمئن‬‫گارانتی‬‫می‬‫نماید‬
•‫در‬‫الگوی‬‫انتشار‬‫فرستنده‬،‫در‬‫صورتی‬‫که‬‫تعداد‬‫سرویس‬‫ها‬‫و‬‫پیام‬‫های‬‫مبادله‬‫شده‬‫بین‬‫آنها‬‫زی‬‫اد‬،‫باشد‬‫فریم‬
‫ورک‬‫می‬‫تواند‬‫به‬‫عنوان‬‫یک‬‫گلوگاه‬‫باشد‬
‫صفحه‬12
‫اول‬ ‫نیمسال‬93-92
‫منابع‬
[1] T. Erl, Service-Oriented Architecture: Concepts,Technology, and Design, Prentice Hall, 2005.
[2] I. Sommerville, Software engineering / Ian Sommerville. — 9th ed. 2009, 2009.
[3] "soa-challenges-solutions," [Online]. Available: http://www.f5.com/pdf/white-papers/soa-
challenges-solutions-wp.pdf. [Accessed 2013].
[4] Imen TOUNSI,Mohamed HADJ KACEM,Ahmed HADJ KACEM,Khalil DRIRA, "The Sender
Released Pattern: An SOA design pattern for inter-service message exchange," in IEEE 21st
International WETICE, 2012.
[5] A. E. Inc, "SOA Design Patterns," 2013. [Online]. Available: http://soapatterns.org.
[6] 2013. [Online]. Available: http://soapatterns.org/design_patterns/reliable_messaging.
‫صفحه‬13
‫اول‬ ‫نیمسال‬93-92
‫دوستان‬ ‫و‬ ‫محترم‬ ‫استاد‬ ‫حوصله‬ ‫و‬ ‫صبر‬ ‫از‬ ‫تشکر‬ ‫با‬

More Related Content

PPTX
Arashnia quail
PDF
Danesh fanni-com-shahrivar-96
PPTX
Are.ir online meter reading
PPTX
Arashnia virus
PDF
C++Builder ,OOP
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Arashnia quail
Danesh fanni-com-shahrivar-96
Are.ir online meter reading
Arashnia virus
C++Builder ,OOP
2024 Trend Updates: What Really Works In SEO & Content Marketing
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Ad

Arashnia soa patterns