لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه263
بخشی از فهرست مطالب
عنوان شماره صفحه
چکیده
1
مقدمه
2
فصل اول: کلیات معماری سرویس گرا
1-1) تعاریف اولیه
5
1-1-1) سبک معماری مبتنی بر سرویس
5
2-1) اهداف تحقیق
7
3-1) پیشینه تحقیق
8
4-1) روش کار و تحقیق
10
5-1) مقایسه ای بر مدلهای توسعه وابسته به معماری
11
1-5-1) توسعه مبتنی بر object
11
2-5-1) توسعه مبتنی بر مؤلفه
12
3-5-1) محاسبات توزیع یافته
13
4-5-1) معماری سرویس گرا
14
1-4-5-1) توسعه مبتنی بر سرویس
15
2-4-5-1) قابلیتهای معماری سرویس گرا
17
6-1) مؤلفه های SOA
18
7-1) اصول سرویس گرائی
21
8-1) سرویس گرائی و تشکیلات سازمانی
27
1-8-1) لایه های سرویس
29
1-1-8-1) لایه سرویس کاربردی
32
2-1-8-1) لایه سرویس تجاری
34
3-1-8-1) لایه سرویس همنوائی
34
2-8-1) سرویسهای Agnostic
37
فصل دوم : تحلیل مبتنی بر سرویس
1-2) چرخه حیات معماری سرویس گرا
40
2-2) استراتژیهای تحویل SOA
41
1-2-2) روش پایین به بالا
41
2-2-2) روش بالا به پایین
43
3-2-2) روش Meet-In-The-Middle
45
3-2) تحلیل سرویس گرا
47
1-3-2) اهداف تحلیل سرویس گرا
47
2-3-2) پروسه تحلیل سرویس گرا
48
فصل سوم : الگوها و اصول طراحی
1-3) نکات قابل توجه طراحی
52
1-1-3) مدیریت دانه بندی سرویس و مؤلفه
52
2-1-3) طراحی برای قابلیت استفاده مجدد
53
3-1-3) طراحی برای قابلیت ترکیب سرویس
54
1-3-1-3) اتصال و همبستگی
54
2-3) رهنمودهای عمومی
55
1-2-3) استانداردهای نامگذاری
55
2-2-3) طراحی عملیات سرویس به شکلی که ذاتا قابل توسعه باشد
56
3-2-3) تعیین متقاضیان مطرح سرویس
56
3-3) الگوهای طراحی و انواع معماری
57
1-3-3) الگوها
58
2-3-3) طراحی بنیادی
59
فصل چهارم : راهکار پیشنهادی
1-4) مرحله 1 بازبینی لایه بندی سیستم SOA
64
1-1-4) فعالیت 1 مروری بر استراتژیهای لایه بندی
64
2-1-4) فعالیت 2 بازبینی لایه بندی فاز تحلیل
66
3-1-4) فعالیت 3 معرفی لایه های تخصصی تر
67
1-3-1-4) لایه داده
67
2-3-1-4) لایه دسترسی سرویس
70
3-3-1-4) لایه تعامل
71
2-4) مرحله 2 تحلیل تغییرپذیری
77
1-2-4) فعالیت 1 شناسایی انواع تغییرپذیری
79
2-2-4) فعالیت 2 مدلهای موجود برای تغییرپذیری
83
3-2-4) فعالیت 3 گروهبندی و مدلسازی تغییرپذیری
84
4-2-4) فعالیت 4 نگاشت نقاط تغییرپذیر
87
3-4) مرحله 3 سرویسهای فاز طراحی
89
1-3-4) فعالیت 1 تعیین سرویسها
90
2-3-4) فعالیت 2 جایگاه سرویسهای کنترلی
98
4-4) مرحله 4 مروری بر دانه بندی
99
1-4-4) فعالیت 1 تکنیک دانه بندی سرویسها و چنددانه ای بودن
102
2-4-4) فعالیت 2 متدهای چند دانه ای سرویسها
104
5-4) مرحله 5 مدلسازی فرایند
108
1-5-4) استفاده از مدلسازی فرایند برای طراحی معماری سرویس گرا
108
2-5-4) ابزار مدلسازی فرایند
109
3-5-4) فعالیت طراحی فرایند کسب و کار مبتنی بر سرویس
113
فصل پنجم : بررسی موردی
1-5) انتخاب بررسی موردی
115
1-5) سیستم سفارش کالا
116
3-5) تحلیلی بر راهکار پیشنهادی
134
فصل ششم : نتیجه گیری و پیشنهادات
1-6) نتیجه گیری
136
2-6) پیشنهادات
138
مقاله
139
پیوستها
140
منابع و ماخذ
فهرست منابع فارسی
196
فهرست منابع لاتین
197
سایتهای اطلاع رسانی
200
اختصارات
201
چکیده انگلیسی
202
فهرست شکلها
عنوان شماره صفحه
شکل 1-1) میان افزار مبتنی بر پیغام[24]
14
شکل 2-1) مدل مفهومی معماری سرویس گرا[24]
15
شکل 3-1) توسعه مبتنی بر سرویس[24]
16
شکل 4-1) یک دیدگاه اولیه از چگونگی قرار گرفتن منطق خودکارسازی در داخل واحدها توسط SOA
20
شکل 5-1) عملیاتهایی که به سرویسهای متفاوتی تعلق دارند و بخشهای متنوعی از منطق پروسه را نمایش می دهند.
20
شکل 6-1) چگونه مؤلفه های یک معماری سرویس گرا با یکدیگر ارتباط دارند.
21
شکل 7-1) پیمانهای سرویس به طور رسمی مؤلفه های سرویس, عملیات و پیغام از یک معماری سرویس گرا را تعریف می کند.
23
شکل 8-1) سرویسها وابستگی ها را به قرارداد سرویس محدود می کنند و با این کار به منطق سرویس دهنده زیرین و تقاضاکننده اجازه می دهند که loosely coupled باقی بمانند.
24
شکل 9-1) عملیات Update Everything یک ترکیب سرویس را بسته بندی می کند
25
شکل 10-1) مراحل statelessو stateful که یک سرویس درهنگام پردازش یک پیغام از آنها عبور می کند .
27
شکل 11-1) جایگاه سرویسها[1]
28
شکل 12-1) لایه های تخصصی سرویس[1]
32
شکل 13-1) سلسله مراتب چرخه حیات توسعه سرویسهای وب[9]
36
شکل 14-1) بخش بندی سرویسها که محیط راه حل و پردازشهای تجاری را تفکیک کرده است[1].
38
شکل 1-2) چرخه حیات معماری سرویس گرا
40
شکل 2-2) گامهای تکنیک پائین به بالا
42
شکل 3-2) گامهای تکنیک بالا به پائین
44
شکل 4-2) گامهای تکنیک meet in the middle [1]
46
شکل 1-3) در صورت تجزیه یک سرویس , الگوهای نظارتی به عدم تاثیرگذاری در قرارداد سرویس کمک می کنند.[27]
59
شکل 2-3) منطق Agnostic و [27] Non Agnostic
60
شکل 1-4) فعالیتهای فاز طراحی
63
شکل 2-4) مدل گسترش سیستم تحت تاثیر لایه بندی [30]
65
شکل 3-4) پنهان سازی پیچیدگی توسط لایه انتزاعی داده
69
شکل 4-4) لایه دسترسی سرویس[2]
70
شکل 5-4) ساختار منطقی از سرویسهای تعاملی
73
شکل 6-4) مثالهایی از سرویس تعاملی در SOA
76
شکل 7-4) چارچوب مبتنی بر سرویس برای سرویسهای تعاملی
76
شکل 8-4) 4 نو ع تغییرپذیری
80
شکل 9-4) واسط مورد نیاز فرایند کسب و کار
81
شکل 10-4) نقاط تغییرپذیر ممکن
82
شکل 11-4) شمایی از تغییرپذیری در XML [6]
83
شکل 12-4) مدل تصمیم , مدل واسطی برای سازگاری سرویسها می باشد[6]
84
شکل 13-4) دیاگرام فعالیت و نقاط تغییر پذیر[31]
85
شکل 14-4) مدل خصیصه[31]
86
شکل 15-4) سرویسهای Gateway [2]
92
شکل 16-4) سرویسهای Façade [2]
93
شکل 17-4) جایگاه دستورات کنترلی درمقایسه دو راه حل [2]
96
شکل 18-4) سرویسهای دانه درشت[11]
101
شکل 19-4) ارتباط سرویس دانه درشت و سرویس دانه ریز[11]
103
شکل 20-4) متد جدیدی برای ارسال اطلاعات آدرس اضافه شده است.[11]
105
شکل 21-4) یک متدی که هر دو نوع اطلاعات آدرس و حساب را بر می گرداند.[11]
105
شکل 22-4) متدی که مؤلفه های درخواست داده شده را برمی گرداند[11]
107
شکل 23-4) مدلسازی سلسله مراتبی با BPMN [5]
112
شکل 24-4) مجموعه مدلهای فاز طراحی و ارتباط آنها
113
شکل 1-5) دیاگرام فعالیت 3 عامل
117
شکل 2-5) سرویسهای کاندید
120
شکل 3-5) مدل لایه بندی سیستم
121
شکل 4-5) تغییر پذیری در گردش کار
122
شکل 5-5) مدل خصیصه
123
شکل 6-5) دیاگرام فعالیت برای شناسایی وابستگیها
124
شکل 7-5) دیاگرام General Composition
125
شکل 8-5) مدل نگاشت
125
شکل 9-5) لایه تامین کننده QOS
126
شکل 10-5) سرویسهای دانه ریز
127
شکل 11-5) دیاگرام Consignee Collaboration
127
شکل 12-5) دیاگرام Consignee Sequence Diagram
128
شکل 13-5) دیاگرام Shipper Collaboration
128
شکل 14-5) دیاگرام Shipper Sequence
129
شکل 15-5) دیاگرام Partial Order Process Collaboration
129
شکل 16-5) دیاگرام Partial Order Process Sequence
130
شکل 17-5) دیاگرام تعاملات مابین سرویس فرایند و سرویسهای همکار
131
شکل 18-5) مدل BPMN
132
فهرست جداول
عنوان شماره صفحه
جدول 1-1) مقایسه مدلهای توسعه وابسته به معماری
17
جدول 1-6) راهکار پیشنهادی در تامین اصول طراحی
137
چکیده
معماری سرویس گرا به سرعت به عنوان نخستین ائتلاف و راه حل معماری محیطهای محاسباتی ناهمگون و پیچیده معاصر پدیدار گشته است . [1]SOA نیازمند این است که سازمانها مدلهای کسب و کار خود را ارزیابی کنند, به ایجاد تکنیکهای تحلیل و طراحی مبتنی بر سرویس بیاندیشند و طرحهای گسترش و پشتیبانی روابط مابین فروشنده , مشتری و شریک تجاری را ارزیابی کنند . طراحان نمی توانند انتظار مدیریت توسعه یک پروژه سرویس گرا را داشته باشند بدون اینکه به شیوه طراحی دقیق و متدولوژی توسعه تکیه داشته باشند . از آنجایی که متدولوژی توسعه مبتنی بر سرویس اهمیت حیاتی در توصیف ,ساخت , پالایش و تطبیق فرایندهای کسب وکاری دارد که تغییرپذیری بالایی دارند و تا به حال روش مناسب و منسجمی برای توسعه برنامه های کاربردی تجاری قدرتمند وجود ندارد , هدف این تحقیق ارائه روشی برای طراحی مبتنی بر سرویس می باشد . در این تحقیق از تکنیکها و مباحث مطرح درSOA استفاده شده و برای طراحی سرویس گرا روشی پیشنهاد می شود . تمرکز تحقیق بر روی فرایند طراحی می باشدکه اصول و تکنیکهای کافی برای مشخص کردن , ساخت و پالایش فرایندهای کسب وکاری که به سرعت دچار تغییر می شوند فراهم می کند . روش پیشنهای برای ایجاد کنترل متمرکز از تجرید لایه های سرویس و طبقه بندی انواع سرویس استفاده نموده و در کنار استفاده از سیستمهای موروثی در حمایت از استراتژیهای کوتاه مدت سازمانها ,بر اساس اصول طراحی و اصول سرویس گرائی در راستای استراتژیهای بلند مدت عمل می کند تا در تامین اهداف تجاری و حمایت از فرایندهایی که به سرعت دچار تغییر می شوند مفید واقع شود . همچنین زمینه تعامل عاملهای مختلف فرایند که در سطح چندین سازمان گسترده شده اند فراهم می شود و با تحلیل تغییرپذیری, انعطاف پذیری سیستم در حمایت از نقاط متغیر فرایندها و تغییر در سیاستهای کسب و کار افزایش می یابد . بدین منظور در ادامه بحث ابتدا سبکهای مختلف توسعه نرم افزار به همراه سبک مبتنی بر سرویس و اصول سرویس گرائی به تفصیل بررسی می گردد , سپس چرخه حیات معماری سرویس گرا و فاز تجزیه و تحلیل که مقدمه ای برای طراحی می باشد مورد بررسی قرار می گیرد و در ادامه با بیان اصول و الگوهای طراحی موجود , راهکار پیشنهادی با نمونه پیاده سازی شده به صورت مشروح بیان می گردد .
کلمات کلیدی : SOA , Layer, Service Type , Process ,Variation , Granularity .Composition
مقدمه
در طول چهار دهه اخیر، میزان پیچیدگی نرم افزارها بصورت صعودی افزایش یافته و تقاضا برای نرم افزارهای قدرتمندتر بیشتر شده است. در این میان، به نظر می رسد که روشهای قدیمی جوابگوی نیازهای در حال رشد کنونی نیستند و نیاز به ایجاد و بکارگیری روشهائی است که بوسیله آنها بتوان بر این پیچیدگیها بصورت کاراتر و در زمانی کوتاهتر غلبه کرد. از سوی دیگر امکان کنار گذاشتن یکباره سیستمهای نرم افزاری موجود که تا به حال مشغول سرویس دهی به مشتریان بوده اند، وجود ندارد و می بایست سیستمهای جدید را بصورت یکپارچه و در کنار همین سیستمهای فعلی بوجود آورد. معماری سرویس گرا، با تکیه بر اصول سرویس گرائی و محاسبات و سرویس های توزیع شده و بر پایه پروتکلهای شبکه و لایه های منطقی سرویس و همچنین زبانهایی که تولید نرم افزارهای توزیع شده را فراهم می کنند، به عنوان راه حلی مناسب جهت از میان برداشتن مشکلات و مسائل مذکور مطرح گردیده است[20,21].
SOA مجموعه ای از اصول , نظریه ها و تکنیکهایی را فراهم می کند که فرایندهای کسب و کار , اطلاعات و دارایی های تشکیلات بتوانند به شیوه مؤ ثری سازماندهی شوند و این فرایندها می توانند برای پشتیبانی از طرحهای استراتژیک و سطوح بهره وری که در محیطهای رقابتی کسب و کار مورد نیاز هستند, گسترش داده شوند . بسیاری از تشکیلات اقتصادی در استفاده اولیه شان از SOA چنین پنداشتند که از مولفه های موجود به عنوان سرویس وب می توانند استفاده کنند و عنوان کردند تنها با ایجاد سرویسهای پوشاننده[2] و رها کردن مولفه های زیرین غیر قابل دسترس, این کار عملی خواهد بود . در نتیجه پیاده سازی لایه نازکی از SOAP/WSDL/UDDI بالای برنامه کاربردی موجود یا مولفه هایی که سرویسهای وب را تحقق می بخشند , تا حد گسترده ای در صنعت نرم افزار تجربه شد . اما تا به حال روش مناسبی برای ایجاد برنامه های کاربردی تجاری قدرتمند وجود ندارد . اگرچه طبیعت مولفه ها مناسب استفاده از آنها به عنوان سرویس وب می باشد , در بیشتر موارد اینطور نیست و برای طراحی مجدد و ارائه کارکرد مولفه ها به شیوه صحیح و از طریق سرویس وب نیازمند تلاش مضاعفی می باشیم[9] .
پیاده سازی موفق SOA مستلزم این است که به مفاهیم و استراتژیهای پیاده سازی که خصوصیات و ویژگیهای اساسی SOA را فرموله می کنند , توجه شود . به مجرد پیاد ه سازی موفق SOA , مزایایی در جهت کاهش زمان توسعه و ایجاد محصول , بهره برداری از کاربردهای انعطاف پذیر با پاسخ دهی سریع و امکان اتصال پویای استدلالهای کاربردی شرکای تجاری , حاصل می شود . یک پیاده سازی کامل SOA نه تنها در ارتباط با گسترش و صف آرایی سرویسها می باشد بلکه امکان استفاده از سرویسها درجهت اجتماع برنامه های کاربردی متمایز و ایجاد کاربرد مرکب را منعکس می سازد.
دانلود مقاله ارائه روشی برای طراحی مبتنی بر سرویس