معماری سرويس های وب ( بخش اول )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

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

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

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

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

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

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

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

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

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

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

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


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir