مرکز دانلود خلاصه کتاب و جزوات دانشگاهی

مرکز دانلود تحقیق رايگان دانش آموزان و فروش آنلاين انواع مقالات، پروژه های دانشجويی،جزوات دانشگاهی، خلاصه کتاب، كارورزی و کارآموزی، طرح لایه باز کارت ویزیت، تراکت مشاغل و...(توجه: اگر شما نویسنده یا پدیدآورنده اثر هستید در صورت عدم رضایت از نمایش اثر خود به منظور حذف اثر از سایت به پشتیبانی پیام دهید)

نمونه سوالات کارشناسی ارشد دانشگاه پیام نور (سوالات تخصصی)

نمونه سوالات کارشناسی دانشگاه پیام نور (سوالات تخصصی)

نمونه سوالات دانشگاه پيام نور (سوالات عمومی)

کارآموزی و کارورزی

مقالات رشته حسابداری و اقتصاد

مقالات علوم اجتماعی و جامعه شناسی

مقالات روانشناسی و علوم تربیتی

مقالات فقهی و حقوق

مقالات تاریخ- جغرافی

مقالات دینی و مذهبی

مقالات علوم سیاسی

مقالات مدیریت و سازمان

مقالات پزشکی - مامایی- میکروبیولوژی

مقالات صنعت- معماری- کشاورزی-برق

مقالات ریاضی- فیزیک- شیمی

مقالات کامپیوتر و شبکه

مقالات ادبیات- هنر - گرافیک

اقدام پژوهی و گزارش تخصصی معلمان

پاورپوئینت و بروشورر آماده

طرح توجیهی کارآفرینی

آمار سایت

آمار بازدید

  • بازدید امروز : 1983
  • بازدید دیروز : 2206
  • بازدید کل : 13043646

مقاله29-ارائه روشي براي طراحي مبتني بر سرويس80ص


مقاله29-ارائه روشي براي طراحي مبتني بر سرويس80ص

فهرست مطالب

عنوان شماره صفحه

چکيده

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 نه تنها در ارتباط با گسترش و صف آرايي سرويسها مي باشد بلکه امکان استفاده از سرويسها درجهت اجتماع برنامه هاي کاربردي متمايز و ايجاد کاربرد مرکب را منعکس مي سازد.

 

 

 

 

 

 

 

 

 

فصل اول:

کليات معماري سرويس گرا

 

 

 

 

 

 

 

 

 

1-1 تعاريف اوليه

1-1-1 معماري سرويس گرا (SOA)

SOA مجموعه قوانين ، سياستها و چارچوبهايي است كه نرم افزارها را قادر مي سازد تا عملكرد خود را از طريق مجموعه سرويسهاي مجزا و مستقل و در عين حال مرتبط با هم در اختيار ساير درخواست كنندگان قرار دهند تا بتوانند بدون اطلاع از نحوه پياده سازي سرويس و تنها از طريق رابطهاي استاندارد و تعريف شده، اين سرويسها را يافته و فراخواني نمايند و يا در تعريف ديگر مي توان گفت معماري سرويس گرا روشي براي ساخت سيستمهاي توزيع شده اي است که در آنها عملکرد سيستم بصورت سرويس در اختيار کاربران و يا ساير سرويسها قرار مي گيرد. از ديگرتعاريف ارائه شده مرتبط با معماري هاي سرويس گرا مي توان به واحدهاي نرم افزاري آماده در شبكه[3] يا سرويسهاي سطح حرفه اي[4] اشاره كرد.در حال حاضر، تکنولوژي سرويسهاي وب و پياده سازي نمونه هاي موفق از آن، نشان داده است که SOA مي تواند به عنوان راه حلي عملي و دست يافتني در طراحي سيستمهاي توزيع شده جديد و يکپارچه سازي سيستمهاي بزرگ موجود مطرح گردد[3]. در اين معماري، همه توابع به عنوان سرويس تعريف مي گردند. اين توابع شامل توابع تجاري و تراكنشهاي تجاري مي باشند كه تراكنشهاي تجاري خود شامل توابع سطح پايين و توابع سيستمي سرويسها هستند. سرويسها بصورت مستقل طراحي و پياده سازي شده و به عنوان جعبه سياه عمل مي نمايند. قطعات ديگر در خارج از اين قطعه, نيازي به دانستن نحوه انجام کار در اين سرويس را ندارند و تنها به نتيجه آن نيازمندند. قطعات، سرويسهاي خود را از طريق رابطهاي تعريف شده در اختيار قطعات ديگر قرار ميدهند که اين رابطها قابل دستيابي و فراخواني هستند، بدون اينکه محل قرار گيري آنها اهميت داشته باشد (رابطهاي محلي يا دور ). در ضمن، اين رابطها مي توانند به همان نرم افزار كاربردي يا به آدرسي در محل ديگري از شبکه مرتبط باشند. رابطها به عنوان کليدي در برقراري اين ارتباطها هستند و از طريق آنها نوع پارامترهاي ورودي و نتايج (خروجي) مشخص مي گردد[1,34,26].

نياز به معماري سرويس گرا و امکانات آن ازجنبه هاي مختلف به نحوه بارزي در برنامه هاي كاربردي توزيع شده جديد خصوصا برنامه هاي مرتبط باE-Commerce مشهود و ملموس است. به عنوان نمونه اگرمثلا سرويسمربوط به پرداخت با كارت اعتباري غير فعالباشد، ‌قرار نيست كه فرايند فروش متوقف شود. بلكه سفارش ها بايستي پذيرفته شوندوعمليات پرداخت به وقت ديگري موكول شود. همانند ساير معماري هاي توزيع شده،‌ SOA ساخت برنامه هاي كاربردي با استفاده از اجزايي كه در حوزه هاي جدا از هم قراردارند را ممكن مي سازد و غالبا از سرويسهاي وب به عنوان نقاط ورود برنامه كاربردياستفاده مي كند كه از لحاظ مفهومي معادل همان اجزاي proxy و stub در سيستمهايتوزيع شده سنتي مبتني بر اجزاء هستند. با اين تفاوت كه در اين جا ارتباط بين سرويسوب و استفاده كننده خيلي آزادانه تر و مستقل تراست. به علاوه SOA به خاطر در بر داشتن فاكتورهايي كه اهميت حياتي در تجارت دارند، نيز منحصر به فرداست ( فاكتورهايي نظير قابليت اطمينان سرويس،‌ جامعيت پيام ، يكساني تراكنش وامنيت پيام ). اگر سيستمي توانايي هاي خود را در قالب سرويسيروي وب ارائه كند، در آن صورت نحوه فراخواني آن سرويس بايد به طور واضح مستند سازيو اعلام شود. بسياري از مسائل دسترس پذيري و مقياس پذيري برنامه هاي كاربرديامروزي در SOA به نحو مطلوبي حل شده است. البته در SOA فرض بر اين است كه احتمال خطا هميشه وجود دارد و مي تواند اتفاق بيفتد، بنابرايناستراتژي هايي براي پاسخگوئي به خطاها در آن تعبيه شده است . براي مثال اگر يك سرويس نتواند يك پيغام را در مرحله اول بپذيرد،اين معماري طوري طراحي شده است كه مجددا پيام را بفرستد و اگر يك سرويس به طوركامل قابل دسترس نباشد، (كه هرگز نبايد در يك سيستم SOA پايدار اتفاق بيفتد ) آنگاه معماري طوري طراحي شده است كه روي دادن خطاهايي كه منجر به قطع كامل در خواستسرويس مي شود، ‌امكان پذير نباشد. استفاده از معماري سرويس گرا همچنين قابليت اطمينان را افزايش مي دهد، زيرا خطاهايموقت در بخشي از جريان كار نمي توانند كل فرايند تجاري را از كار بياندازند.به بيان كلي،‌ SOA فرايندي تكامل يافته را ارائه مي نمايد و از اين نظر مي توانآن را بلوغ سريسهاي وب و تكنولوژي هاي يكپارچه سازي به حساب آورد. در SOA به اينامر توجه شده است كه سيستمهاي با اهميت حياتي كه بر مبناي تكنولوژي هاي توزيع شدهساخته مي شوند، بايد تضمين هاي خاصي را تامين نمايند. در اين گونه سيستمها بايداين اطمينان وجود داشته باشد كه در خواستهاي سرويسهاي موردنياز, به طور صحيح مسير دهي و هدايت شوند، در زمان مناسب به آنها پاسخ داده شود و اين سرويسها به طور واضح ودقيق, سياستهاي ارتباطي و رابطهاي خود را اعلام كنند.[1-34-35-36]

 

2-1 اهداف تحقيق

راهکارهاي نوين توسعه سيستم هاي نرم افزاري که هم اکنون بطور گسترده استفاده مي گردند عليرغم نکات برجسته و نقاط کارامد غالبا سيستم هائي ايجاد مي کنند که از کمبودهائي رنج مي برند. مهمترين نقاط ضعف اين سيستم هاي نرم افزاري شامل موارد زير است:

¨ کمبود انعطاف پذيري محيط کسب و کار سازمان

¨ کند بودن در پشتيباني از تغييرات نيازمنديهاي کسب و کار و پشتيباني اهداف و سياستهاي جديد

¨ سربارها و پيچيدگيهاي عملياتي و قابليت استفاده مجدد کم سرمايه هاي فعلي سازمان

¨ کمبود تعامل پذيري مناسب و دشواري گسترش سريع استانداردهاي صنعتي نوين

¨ عدم پشتيباني اصول پايه مهندسي نرم افزار و استانداردهاي شفاف و صريح

SOA ، با تکيه بر محاسبات توزيع شده و بر پايه پروتکلهاي شبکه و لايه هاي مياني سرويس و همچنين زبانهايي که توليد نرم افزارهاي توزيع شده را فراهم مي كنند، بعنوان راه حلي مناسب جهت از ميان برداشتن مشکلات و مسائل مذكور مطرح گرديده است. بمنظور توسعه سيستم هاي نرم افزاري با رويکرد SOA و طراحي فرايند سرويس گرا و شناسائي سرويس هاي مختلف تکنيکهاي مختلفي وجود دارد که غالب اين روشها عليرغم مزايائي که دارند داراي معايبي نيز مي باشند .

از آنجايي که متدولوژي توسعه مبتني بر سرويس اهميت حياتي در توصيف ,ساخت, پالايش و تطبيق فرايندهاي کسب وکاري دارد که به سرعت دچار تغيير[5] مي شوند و تا به حال روش مناسب و منسجمي براي توسعه برنامه هاي کاربردي تجاري قدرتمند وجود ندارد هدف ما ارائه روشي براي طراحي مبتني بر سرويس مي باشد . طراحي سرويسها شامل چندين موضوع اساسي مي باشد که به منظور غلبه بر پيچيدگي در ساخت کاربردهاي مبتني بر سرويس ضرورت دارد روشن شود .در اين تحقيق ما از تکنيکها و مباحث مطرح درSOA به شکل منسجم استفاده نموده و براي طراحي سرويس گرا روشي پيشنهاد خواهيم کرد . تمرکز ما بر روي فرايند طراحي مي باشدکه اصول و تکنيکهاي کافي براي مشخص کردن , ساخت و پالايش فرايندهاي کسب وکاري که به سرعت دچار تغيير مي شوند , فراهم مي کند . در طي فاز طراحي يک سيستم مبتني بر سرويس , سرويسها بر اساس ملاحظات خاصي - از قبيل پيمانه اي بودن , در نظر گرفتن نقاط تغييرپذير براي ارائه قابليت تصميم گيري در راستاي استفاده هاي مختلف از سرويسها , دارا بودن قابليت استفاده مجدد , خود مختاري و غيره , طراحي وساختاردهي مي شوند . به دليل اينکه اساس وپايه SOA قابليت استفاده مجدد مي باشد , هدف ما رعايت اصول طراحي سيستم شامل اعمال ملاحظات پياده سازي در صورت وجود يک پيکربندي اوليه SOA براي سازمان و همچنين اعمال نيازمنديهاي غير کارکردي , اصول طراحي سرويسها و بازبيني پيکربندي لايه هاي شناسائي شده مي باشد .

 

3-1 پيشينه تحقيق

از گذشته هاي دور برنامه نويسان تلاش مي كردند تا كدهاي نرم افزاري را بصورت پيمانه ايبنويسند تا بتوان ازآن كدها در توليد نرم افزارهاي ديگر استفاده كرد . تفاوت نوشتن كد بصورتپيمانه اي و براساس معماري سرويس گرا در حجم مخاطبان آن است. در جهانامروز طيف مخاطباني كه مي توانند بصورت بالقوه از يك سرويس استفاده كنند، كل كاربران رويشبكه اينترنت است. بنابراين بايد مكانيزمي بوجود مي آمدكه مي توانست پاسخگوي اينمحيط جديد (اينترنت) و كاربران آن باشد، بنابراين تفکر ايجاد معماري سرويس گرا بوجود آمد . ايده SOA اولين بار توسط دو شركت IBM ,Microsoft در اواخر دهه 1980 پيشنهاد گرديد، كه هر دو شركت طي سالهاي اخير ازحاميان اصلي سرويس هاي وب و عامل بسياري از ابداعات جديد در حيطه پشتيباني SOA و سرويس هاي وب، مانند UDDI ,WSE بوده اند. [3-22] در زمينه طراحي مبتني بر سرويس متدولوژي RUP توسعه اي داشته است که چارچوب کاري ذيل را ارائه کرده است :

  1. service identification
  2. service specification
  3. service realization
  4. service deployment

 

در سال 2005Tomas Erl تکنيکي ارائه نمود که قراردادها و اصول سرويس گرايي را در درون فرايند طراحي سرويس قرار مي دهد و تصميمات کليدي اتخاذ مي گردد[1] . در سال 2004 Dijkman and Dumas مدلي در زمينه طراحي مبتني بر سرويس با لحاظ چندين ديدگاه ارائه نمودند . ديدگاههاي مطرح در مدل ارائه شده , رفتار واسط[6] , رفتار سرويس دهنده[7] , ترتيب و نظم[8] و همنوائی[9] مي باشد [7] . در مدل ارائه شده محدوديتهاي موجود بررسي و ارتباط مابين اين 4 ديدگاه اخذ مي شود در نهايت مدل ارائه شده زمينه ارزيابي سازگاري مابين سرويسهاي ترکيب شده را فراهم مي کند . Christian Emig از يک process language از قبيل [10]BPMN براي نگاشت اتوماتيک مدل به يک زبان قابل اجرا استفاده کرده است[5] . Soo Ho Chang براي مدلسازي تغييرپذيري متدي ارائه کرده است [6] . Thomas Oliver نشان داده است که چگونه مدل فرايند براي طراحي و تحقق معماريهاي سرويس گرا استفاده مي شود[10] . روشهاي موجود به شکل کامل به فاز طراحي نپرداخته اند و مي توان گفت تنها در بخشي از مباحث مطرح SOA تکنيکهايي ارائه کرده اند .

تعدادي از سوالاتي که در زمينه طراحي مطرح مي شود از اين قرار است که چه استانداردهاي طراحي وجود دارد ؟ چه ترکيبات سرويسي ممکن است ؟ براي حمايت فرايندهاي تجاري بايد چه تصميماتي براي پيکربندي لايه هاي سرويس اتخاذ گردد؟ ...

 

4-1 روش کار و تحقيق

در اين پايان نامه در زمينه مدلها و سبکهاي مختلف توسعه نرم افزار بحث شده و با توسعه مبتني بر سرويس مقايسه خواهند شد . سپس SOA با توجه به مولفه هايش شرح داده خواهد شد و معماري لايه و ويژگيهاي آن بيان خواهد شد . بخش بعدي در ارتباط با روشن نمودن اصول مبتني بر سرويس در طراحي و توسعه نرم افزاري خواهد بود و ويژگيهاي طراحي مبتني بر سرويس بيان خواهد شد . سپس فاز تحليل سرويس گرا از ديدگاه استراتژيهاي مختلف و ايجاد خروجي قابل استفاده براي فاز طراحي بيان مي شود . بخش بعدي به اصول طراحي سرويس گرا و رهنمودهاي عمومي طراحي مي پردازد و الگوهاي طراحي موجود معرفي مي شود . درنهايت روشي براي طراحي مبتني بر سرويس ارائه خواهد شد . گامهاي طراحي دربردارنده تکنيک و اصول مربوطه از جهت حمايت سرويس گرائي مي باشند . هر يک از گامهاي طراحي حاوي مثالي به منظور نمايش فرايند تعريف شده خواهند بود و در پايان نمونه کاربردي پياده سازي شده و نتيجه گيري را خواهيم داشت .

روش ارائه شده با بازبيني لايه بندي مرحله تحليل آغاز مي شود و با اضافه نمودن لايه هاي تخصصي تر به فرايند همکاري سرويسها کمک مي کند . سپس تحليل بر روي نيازمندهاي تغيير پذير صورت مي گيرد و نقاط تغيير پذير[11] شناسايي مي شوند . ممکن است مجموعه اين نقاط بعدا دچار تغيير شود ويا اينکه نقاط جديدي تعريف شود . سپس بر اساس انواع سرويسهايي که در فرايند طراحي با آنها رو به رو هستيم نگاشت سرويسها به لايه هاي مجزاي تعريف شده انجام مي پذيرد . حوزه عملکرد سرويسها , نيازمنديهاي پردازشي سرويسها ,سرويسهاي ترکيبي و ترتيب هماهنگي از سرويسها براي دست يافتن به اهداف فرايندکسب وکار مشخص مي شود . با شناسايي قوانين تجاري , استثناها و شروط , لايه سرويس فرايند که يک لايه کنترلي است تعريف مي شود . سپس با استفاده از مبحث دانه بندي[12] ,بر روي سرويسهاي مرحله قبل بازبيني خواهيم داشت و متدهاي هر کدام از سرويسها از جهت حوزه عملکرد و خروجي توليد شده مورد بررسي قرار خواهند گرفت . در صورت نياز ممکن است براي تامين امنيت ضرورت متدهاي چند دانه[13] تعريف شود . در اين مرحله مدلسازي سرويسهاي ترکيبي انجام مي شود و خروجي اين مرحله Sequence Diagam , Collaboration Diagram, Generic model خواهد بود . در مرحله نهايي با استفاده از BPMN - بر خلاف UML که مبتني بر object است , BPMNقابليتهايي در مدلسازي فرايند دارد - مي توان به مدلسازي فرايند پرداخت و با امکانات اين ابزار کد قابل اجراي فرايند ايجاد مي شود .

 

5-1 مقايسه اي بر مدلهاي توسعه وابسته به معماري

در اين بخش درزمينه مدلهاي مختلف توسعه نرم افزار و سبکهاي معماري, بحث شده و با توسعه مبتني بر سرويس مقايسه مي شوند . سپس سبک معماري سرويس گرا با بيان جزئيات و با توجه به مولفه ها , ويژگيها و معماري لايه لايه شرح داده مي شود .

 

1-5-1 توسعه مبتني بر object

توسعه مبتني بر object با کپسوله سازي داده و رفتار در يک نوع داده مجازي به نام کلاس از توسعه نرم افزار حمايت مي کند . اشياء از طريق ارسال پيغام با همديگر ارتباط برقرار مي کنند . توسعه مبتني بر شي با حمايت کافي از پنهان سازي رفتار و داده در اشياء و کلاسها ,پيشرفت طراحي نرم افزار را موجب مي شود .

طراحي مبتني بر object فاز اساسي در توليد نرم افزار است که موفقيت تجاري در بازار نرم افزار داشته است . طراحي مبتني بر شي شامل طرح ريزي ساختار نرم افزار , بهبود کيفيت نرم افزار از طريق يافتن کمبودهاي ساختار و نمونه سازي سريع از سيستم نرم افزاري مي باشد . مزيت مبتني بر شئ بودن اين است که ساختارهاي نرم افزار به سادگي به نمونه هاي واقعي نگاشت مي يابند . امروزه تکنولوژي مبتني بر شيء به طور گسترده اي به کار گرفته مي شود و الگوي برجسته اي براي توسعه نرم افزارهاي کاربردي مي باشد . اين تکنولوژي زماني که با زيرسازي هاي مولفه اي ترکيب مي شود , قابليت همکاري محيطهاي مختلف نرم افزاري را فراهم مي کند[24] .

 

2-5-1 توسعه مبتني بر مؤلفه

مؤلفه ها , ماژولهاي نرم افزاري پيچيده اي نسبت به اشياء هستند و نيازمند برقراري تغييراتي در تفکر سيستمها , فرايندهاي نرم افزاري و به کارگيري تکنولوژي مي باشند . توسعه مبتني بر مؤلفه به توسعه دهندگان اجازه مي دهد تا سيستمهاي با کيفيت تر و پيچيده تر ايجاد کنند به دليل اينکه متدهاي بهتري براي مديريت پيچيدگيها و وابستگيهاي داخل يک کاربرد فراهم مي کند . يک مؤلفه نرم افزار به مثابه يک واحد ترکيبي , با وابستگيهاي مفهومي صريح و واسطهايي که مبتني بر قرارداد هستند تعريف مي شود . يک مؤلفه نرم افزاري مي تواند به شکل مستقلي گسترش داده شود و اين مبحثي است که بوسيله third parties براي ترکيب استفاده مي شود .

ممکن است که مؤلفه ها براي ايجاد واحدهاي بزرگتر مجتمع شوند که اين واحد مي تواند يک مؤلفه جديد , يک چارچوب مؤلفه اي و يا يک سيستم کامل . مؤلفه ترکيب شده خصوصيات به اشتراک گذاشته شده را از مؤلفه هاي سازنده کسب مي کند که اغلب اجتماع plug-and-play ناميده مي شود .

مؤلفه هاي با قابليت استفاده مجدد بازتاب صحيحي از طراحي نرم افزارهاي موثر مي باشند . در اين معماري يک زمينه طراحي فراهم مي شود که در آن مولفه ها ساخته شده و مجددا استفاده مي شوند . جنبه مهم ديگر مؤلفه ها اين است که توسعه معماري نرم افزار مبتني بر توصيفات مؤلفه از ساخت مستقل و همزمان اجزاء سيستم حمايت مي کند . اين ويژگي موجب مي شود که بخشهاي مستقل سيستم , زير سيستمهاي قابل تست باشند و بتوان سيستم را مابين يک يا چندين تيم توزيع يافته تقسيم کرد .

 

3-5-1 محاسبات توزيع يافته

اگرچه معماري سرويس گرا دلالت مستقيمي به محاسبات توزيع يافته[14] ندارد , اما ناگزير است که تکنولوژيهاي ميان افزار موجود و مفاهيم محاسبات توزيع يافته را بهم پيوند دهد . يک معماري سرويس گراي موفق بايد به مشکلات رويارويي با تکنولوژيهاي ميان افزار موجود از طريق حمايت يک راه حل موثر در توسعه برنامه هاي کاربردي و تکنولوژيهاي آتي غلبه کند و اين کار از طريق توجه به مفاهيم و تکنولوژيهاي قابل حصول انجام مي شود .

راه حلهاي اخير در محاسبات توزيع يافته به برپايي يک ارتباط مستقيم مابين دو برنامه توزيع يافته بر روي پروتکل فيزيکي شبکه مربوط مي شود . پروتکلهاي سطح بالاتر از قبيل SNA ,TCP/IP,IPX واسطهايي فراهم مي کنند که تلاش براي پياده سازي و وابستگي تکنولوژي را کاهش مي دهد . نظر به اينکه تکنولوژي محاسبات توزيع يافته تکامل پيدا مي کند , ضرورت فراهم نمودن چندين پياده سازي شبکه اي براي تامين نيازمنديهاي کيفيتي سرويس نيز افزايش پيدا مي کند . ممکن است اين نيازمنديها شامل وقت شناسي در تحويل پيغام , کارايي , توان عملياتي , قابليت اطمينان , امنيت و ساير نيازمنديهاي غيرکارکردي باشد .

دراين نوع توسعه ,برنامه هاي کاربردي به طور اساسي در دو نوع سبک ارتباط برقرار مي کنند . مکانيزم همزمان و مکانيزم غير همزمان . اما در حقيقت معمولا چندين نوع متنوع از سبکهاي برقراري ارتباط وجود دارد . از نمونه هاي محاسبات توزيع يافته مي توان به تکنولوژيهاي [15]RPC , Distributed object , [16]MOM اشاره کرد . MOM يک قطعه نرم افزاري است که مابين دو بخش برقرار کننده ارتباط قرار مي گيرد و براي ارتباط برنامه هاي کاربردي مختلف مکانيزمي را فراهم مي کند .شکل(1-1) .

شکل 1- 1) ميان افزار مبتني بر پيغام

 

4-5-1 معماري سرويس گرا

معماري سرويس گرا يک سبک معماري مي باشد که متدها و تکنولوژيهايي را به کار مي گيرد تا ارتباط پويايي براي تشکيلات فراهم کند و برنامه هاي کاربردي شرکاي مختلف کسب و کار و پلتفورمهاي مختلف بتوانند از طريق ارائه سرويسهاي عمومي و قابل اعتماد ارتباط برقرار کنند که اين سرويسها به عنوان واحدهاي اساسي يک برنامه کاربردي استفاده مي شوند[24] .

معماري سرويس گرا مابين سه واحد وظيفه مند يک مدل تعاملي تعريف مي کند شکل (2- 1) . کاربر سرويس با فراهم کننده سرويس ارتباط متقابلي دارد تا سرويسي را که با نيازمنديهاي او تطابق دارد از طريق جستجو در رجيستري سرويس پيدا کند .

شکل 2-1) مدل مفهومي معماري سرويس گرا

1-4-5-1 توسعه مبتني بر سرويس

سرويسها در تکامل مولفه ها ايجاد شدند به اين معني که چندين واسط مولفه يک واسط واحدي را براي عملکرد خاصي شکل مي دهند . سرويس ,يک منبع مجرد با توانايي انجام يک وظيفه مي باشد . سرويسها پتانسيل بازتاب کارکردهاي کسب و کار و همچنين وظائف فني را دارا مي باشند . توسعه مبتني بر سرويس , توسعه مبتني بر مولفه را ارتقاء مي دهد به شيوه اي که سرويسها شامل توسعه مولفه هاي توزيع يافته و همکار مي باشند که با زبانهاي برنامه نويسي مختلفي تحقق مي يابند . همچنين مبتني بر سرويس بودن از ويژگيهايي از قبيل استقلال پلتفورم , اکتشاف پوياي سرويسها و سطح بهبود يافته در زمينه ماژولهاي کاربردي با قابليت استفاده مجدد حمايت مي کند شکل (3-1).

شکل 3-1) توسعه مبتني بر سرويس

معماري مبتني بر سرويس از چندين مرحله و مدلهاي معماري عبور کرده است تا اينکه توسعه استقلال پلتفورم و سرويسهاي قابل استفاده مجدد را فراهم کند . هر مدل معماري متد بهتري براي برخورد با مشکلات نرم افزاري نسبت به راه حلهاي قبلي ايجاد مي کند تا ساختارهاي نرم افزاري بهبود يافته اي را در حمايت از نيازمنديهاي دنياي واقعي به انجام رساند . تکنولوژي مبتني بر شي توسعه انعطاف پذيري را نتيجه مي دهد که از پنهان سازي منطق کسب وکار از طريق عملکردهاي دانه درشت[17] و کلاسها حمايت مي کند . به هر حال مزاياي محسوس توسعه کاربردهاي قوي در پيشبرد مولفه ها و سرويسها حاصل شده است جدول (1-1) .

 

 

[1] Service Oriented Architecture

[2] Wrapper Services

[3] Network Available Software Unit

[4] Service Business Level

[5] Highly Volatile

[6]Interface Behaviour

[7]Provider Behaviour

[8]Choreography

[9]Orchestration

[10]Business Process Model Notation

[11] Variant Point

[12] Granularity

[13] Multi Grained Methods

[14] Distributed Computing

[15]Remote Procedure Call

[16]Message Oriented Middleware

[17] Course Grained


مبلغ قابل پرداخت 19,440 تومان

توجه: پس از خرید فایل، لینک دانلود بصورت خودکار در اختیار شما قرار می گیرد و همچنین لینک دانلود به ایمیل شما ارسال می شود. درصورت وجود مشکل می توانید از بخش تماس با ما ی همین فروشگاه اطلاع رسانی نمایید.

Captcha
پشتیبانی خرید

برای مشاهده ضمانت خرید روی آن کلیک نمایید

  انتشار : ۸ تیر ۱۳۹۶               تعداد بازدید : 1312

دیدگاه های کاربران (0)

دفتر فنی دانشجو

توجه: چنانچه هرگونه مشكلي در دانلود فايل هاي خريداري شده و يا هر سوال و راهنمایی نیاز داشتيد لطفا جهت ارتباط سریعتر ازطريق شماره تلفن و ايميل اعلام شده ارتباط برقرار نماييد.

فید خبر خوان    نقشه سایت    تماس با ما