بررسی معماری سرويس های وب New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 سه شنبه  8  فروردين  1396  2017  Mar.  28   Tuesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 معماری سرويس های وب ( بخش اول )

 مديريت وب

19964

42

4.2

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

معماری سرويس های وب

معماری سرويس های وب ( بخش اول )
سرويس های وب يکی از مهمترين تحولات اخير در زمينه نرم افزار بوده که قطعا" دستاوردهای فراوانی را در ارتباط با طراحی و پياده سازی نرم افزار ، بدنبال خواهد داشت . سرويس های وب ، تسهيلات لازم بمنظورايجاد نسل جديدی از برنامه های وب  را ارائه می نمايند.
در مجموعه مقالاتی  که ارائه گرديد با مفاهيم اوليه سرويس های وب آشنا شديم . در ادامه سلسله مباحث مربوط به سرويس های وب ،  به بررسی معماری آنان خواهيم پرداخت .

مقدمه
بمنظور ايجاد برنامه های توزيع شده  قدرتمند و انعطاف پذير ، موارد متعددی وجود دارد که می بايست به آنها توجه گردد:

  • در موارديکه قصد ارتبا ط بين منابع نرم افزاری وجود داشته باشد ، منابع می بايست بدرستی و بخوبی با يکديگر مرتبط گردند( منابع مشخص و از يکديگر  متمايز گردند).
  • ارتباط بين برنامه ها می بايست متکی بر استانداردهای اينترنت باشد .
  • اينترفيس های  ( بخش های مرتبط با استفاده کننده )  منابع نرم افزاری ، می بايست برای استفاده عموم منتشر  و امکان دسترسی به  تعاريف اينترفيس  بهمراه مستندات مربوطه وجود داشته باشد .

برنامه هائی که با لحاظ نمودن موارد فوق ، طراحی و پياده سازی می گردند ، مزايای زير را بدنبال خواهند داشت :

  • می توان از سرويس های  نرم افزاری و منابع خارجی  بمنظور طراحی و پياده سازی نرم افزار مورد نظر خود استفاده کرد. 
  • امکان ايجاد منابع نرم افزاری بيشتری بصورت ماژولار ، وجود خواهد داشت ( کيت های نرم افزاری با قابليت استفاده مجدد ) .
  • هزينه توليد نرم افزار کاهش و بهره وری افزايش خواهد يافت .
  • مطرح شدن ايده عرضه نرم افزار بعنوان سرويس  . بدين ترتيب در مقابل عرضه يک نرم افزار Stand-alone ، می توان از رويکرد نرم افزار بعنوان سرويس ، استفاده نمود.

عناصر معماری مبتنی بر سرويس
معماری مبتنی بر سرويس برای پياده سازی  برنامه های توزيع شده ،ايده آل  می باشد . معماری فوق ،امکان پياده سازی پويا ، آزاد و گسترده برنامه های توزيع شده را فراهم می نمايد.
امروزه شاهد بکارگيری سيستم های متعددی می باشيم که خود از چندين برنامه و يا زير سيستم استفاده می نمايند. با توجه به ارتباط بين سيستمها با يکديگر ، ايجاد و اعمال يک تغيير در ارتباط با هر يک از زير سيستمها می تواند باعث بروز اشکال در تعداد زيادی از عناصر وابسته و يا ساير  برنامه ها گردد . رويکرد فوق ، افزايش هزينه نگهداری اين نوع سيستم ها را بدنبال خواهد داشت .
معماری مبتنی بر سرويس ،  وابسته به سه عنصر اساسی است که هر يک دارای جايگاه خاص خود می باشند : 
Service Provider ( ارائه دهنده سرويس ) ، Service consumer ( مصرف کننده سرويس ) و Service broker ( کارگزار سرويس ) . شکل زير معماری فوق را نشان می دهد .

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

ارتبا ط بين وظايف  سه گانه
عناصر سه گانه اشاره شده در معماری مبتنی بر سرويس ، با يکديگر مرتبط تا زمينه تحقق عمليات زير فراهم گردد :

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

عمليات يافتن و نسبت دهی  سرويس ها می تواند بصورت پويا  انجام گيرد . بدين ترتيب برنامه ها قادر خواهند بود بصورت پويا خود را پيکربندی نمايند. مثلا" اگربرنامه ای  تشخيص دهد که مدت زمان پاسخ از يک ارائه دهنده سرويس ، زمانی غير معقول است ، می تواند در زمان اجراء ، تصميم بر استفاده از يک ارائه دهنده سرويس ديگر نمايد .

معماری سرويس های وب و معماری مبتنی بر سرويس
عناصر اساسی در معماری سرويس وب عبارتند از :

  • ارائه دهنده سرويس وب .گره ای در شبکه که مسئوليت ميزبان نمودن يک سرويس وب را برعهده خواهد داشت .
  • مصرف کننده سرويس . گره ای در شبکه که مسئوليت ميزبان نمودن هر سرويس گيرنده ای را که قادر به ارتباط با استفاده از HTTP باشد را برعهده می گيرد.  مرورگرها ، برنامه های کنسول و برنامه هائی با رابط کار گرافيکی سنتی ، نمونه هائی از برنامه های سرويس گيرنده می باشند. 
  • کارگزار سرويس وب. گره ای در شبکه که مسئوليت ميزبان نمودن يک ريجستری سراسری از تمامی سرويس های وب در دسترس را برعهده خواهد داشت .( نظير يک کتاب آدرس جامع  ) .

تمامی گره های فوق ، قادر به ارتباط با يکديگر از طريق شبکه های مبتنی بر پروتکل  TCP/IP  می باشند . در سرويس های وب ، سه گره  تعريف شده در معماری مبتنی بر  سرويس ، متناظر با عناصر سرويس های وب خواهند بود:
کارگزار سرويس ،  مسئوليت  ميزبان نمودن
UDDI)Universal Description,Discovery and Integration ) را برعهده خواهد داشت .
ارائه دهنده سرويس ، مسئوليت  عرضه سرويس های وب از طريق صفحات
ASP.NET با انشعاب asmx
. را برعهده خواهد داشت .
مصرف کننده سرويس ، قابليت برقراری ارتباط از طريق
HTTP ويا SOAP)Simple Object Access Protocol)  را دارا می باشد .

همانگونه که  اشاره گرديد، در معماری يک سرويس وب از سه عنصر اساسی استفاده می شود : ارائه دهنده سرويس وب  ، استفاده کننده سرويس وب و کارگزار سرويس وب . در ادامه به تشريح  هر يک از عناصر فوق خواهيم پرداخت . ( در اين بخش از مقاله به بررسی ارائه دهنده سرويس پرداخته و در بخش دوم اين مقاله ، مصرف کننده سرويس و کارگزار سرويس ، تشريح خواهند شد ) .

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

سرويس دهنده وب
يک ارائه دهنده سرويس می بايست حداقل شامل يک گوش دهنده (
listener ) پروتکل باشد . برای سرويس های وبی که توسط فريمورک دات نت و يا ويژوال استوديو دات نت ، پياده سازی می گردند ، گوش دهنده پروتکل می بايست يک HTTP listener باشد . با توجه به اينکه يک ارائه دهنده سرويس قادر به ميزبان نمودن چندين سرويس وب خواهدبود ،ارائه دهنده سرويس ،می بايست  امکان هدايت مناسب يک درخواست به سرويس وب مناسب را دارا باشد . ( قابل مقايسه با سرويس RPCCC) Remote Procedure Call Subsystem)، که مسئوليت پاسخگوئی به درخواست های وارده DCOM وهدايت آنان به يک سرويس دهنده مناسب COM است) .مصرف کنندگان ناشناخته سرويس وب ، قادر به دستيابی به يک ارائه دهنده سرويس می باشند . بنابراين لازم است ، سرويس دهنده وب  سرويس های پايه امنيتی را حداقل در سطح پروتکل، ارائه نمايد. IIS ، که يک سرويس دهنده وب است  ، سرويس های مورد نياز يک سرويس وب را  ارائه می نمايد :

  • IIS يک HTTP listener است
  • IIS  با استفاده از معماری ISAPI ، می تواند بعنوان يک  gateway  در رابطه با سرويس های وب  رفتار نموده و علاوه بر ميزبانی از سرويس های وب متعدد ، زمينه هدايت صحيح آنان را نيز فراهم نمايد.
  • IIS زيرساخت قابل ملاحظه ای  در رابطه با امنيت را ارائه می نمايد .

IIS و سرويس های وب
يک سرويس دهنده وب نظير
IIS ، قادر به فراخوانی يک سرويس از جانب يک سرويس گيرنده با استفاده از گزينه های متعددی است . سرويس دهنده وب قادر به فعال نمودن ( اجراء ) يک برنامه CGI)Common Gateway Interface)  ، اجرای يک مفسر اسکريپت بمنظور برخورد با  صفحات ASP و يا فراخوانی يک برنامه ISAPI است .زمانيکه IIS همراه با CLR  فعاليت می نمايد ، از يک فيلتر ISAPI بمنظوربررسی  درخواست هائی در ارتباط با صفحات با انشعاب asmx
  استفاده و در ادامه يک ميزبان زمان اجراء را فعال می نمايد . ميزبان زمان اجراء ،  کد مربوط به  سرويس وب را که توسط فريمورک دات نت پياده سازی شده است ، اجراء خواهد کرد.

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



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382