تکنولوژی

وب سرويس چيست ؟

بخش مقاله Itiran – کسانى که با صنعت IT آشنايى دارند حتما ً نام وب سرويس را شنيده اند . براى مثال ، بيش از 66 درصد کسانى که در نظر سنجى مجله InfoWorld شرکت کرده بودند بر اين توافق داشتند که وب سرويس ها مدل تجارى بعدى اينترنت خواهند بود . به علاوه گروه گارتنر پيش بينى کرده است که وب سرويس ها کارآيى پروژه هاى IT را تا 30 در صد بالا مى برد . اما وب سرويس چيست و چگونه شکل تجارت را در اينترنت تغيير خواهد داد ؟

براى ساده کردن پردازش هاى تجارى ، برنامه هاى غير متمرکز (Enterprise) بايد با يکديگر ارتباط داشته باشند و از داده هاى اشتراکى يکديگر استفاده کنند . قبلا ً اين کار بوسيله ابداع استاندارد هاى خصوصى و فرمت داده ها به شکل مورد نياز هر برنامه انجام مى شد . اما دنياى وب و XML – تکنولوژى آزاد براى انتقال ديتا – انتقال اطلاعات بين سيستم ها را افزايش داد . وب سرويس ها نرم افزارهايى هستند که از XML براى انتقال اطلاعات بين نرم افزارهاى ديگر از طريق پروتوکول هاى معمول اينترنتى استفاده مى کنند .
به شکل ساده يک وب سرويس از طريق وب اعمالى را انجام مى دهد (توابع يا سابروتين ها ) و نتايج را به برنامه ديگرى مى فرستد . اين يعنى برنامه اى در يک کامپيوتر در حال اجراست ، اطلاعاتى را به کامپيوترى مى فرستد و از آن درخواست جواب مى کند ، برنامه اى که در آن کامپيوتر دوم است کارهاى خواسته شده را انجام مى دهد و نتيجه را بر روى ساختارهاى اينترنتى به برنامه اول بر مى گرداند . وب سرويس ها مى توانند از پروتکول هاى زيادى در اينترنت استفاده کنند اما بيشتر از HTTP که مهم ترين آنهاست استفاده مى شود .

وب سرويس هر توع کارى مى تواند انجام دهد . براى مثال در يک برنامه مى تواند آخرين عنوان هاى اخبار را از وب سرويس Associated Press بگيرد يا يک برنامه مالى مى تواند آخرين اخبار و اطلاعات بورس را از وب سرويس بگيرد . کارى که وب سرويس انجام مى دهد مى تواند به سادگى ضرب 2 عدد يا به پيچيدگى انجام کليه امور مشترکين يک شرکت باشد .

وب سرويس داراى خواصى است که آن را از ديگر تکنولوژى و مدل هاى کامپيوترى جدا مى کند ، Paul Flessner ، نايب رييس مايکروسافت در dot NET Enterprise Server چندين مشخصه براى وب سرويس در يکى از نوشته هايش ذکر کرده است ، يک ، وب سرويس ها قابل برنامه ريزى هستند . يک وب سرويس کارى که مى کند را در خود مخفى نگه مى دارد وقتى برنامه اى به آن اطلاعات داد وب سرويس آن را پردازش مى کند و در جواب آن اطلاعاتى را به برنامه اصلى بر مى گرداند . دوم ، وب سرويس ها بر پايه XML بنا نهاده شده اند . XML
و XML هاى مبتنى بر SOAP يا Simple Object Access Protocol تکنولوژى هايى هستند که به وب سرويس اين امکان را مى دهند که با ديگر برنامه ها ارتباط داشته باشد حتى اگر آن برنامه ها در زبانهاى مختلف نوشته شده و بر روى سيستم عامل هاى مختلفى در حال اجرا باشند . همچين وب سرويس ها خود ، خود را توصيف مى کنند . به اين معنى که کارى را که انجام مى دهند و نحوه استفاده از خودشان را توضيح مى دهند . اين توضيحات به طور کلى در WSDL يا Web Services Description Language نوشته مى شود . WSDL يک استاندارد بر مبناى XML است . به علاوه وب سرويس ها قابل شناسايى هستند به اين معنى که يرنامه نويس مى تواند به دنبال وب سرويس مورد علاقه در دايرکتورى هايى مثل UDDI يا Universal Description , Discovery and Integration جستجو کند . UDDI يکى ديگر از استاندارد هاى وب سرويس است .

نکات تکنولوژى وب سرويس :
همانطور که در ابتدا توضيح داده شد يکى از دلايل اينکه وب سرويس از ديگر تکنولوژى هاى موجود مجزا شده است استفاده از XML و بعضى استاندارد هاى تکنيکى ديگر مانند SOAP ، WSDL و UDDI است . اين تکنولوژى هاى زمينه ارتباط بين برنامه ها را ايجاد مى کند به شکلى که مستقل از زبان برنامه نويسى ، سيستم عامل و سخت افزار است .
SOAP يک مکانيزم ارتباطى را بين نرم افزار و وب سرويس ايجاد مى کند . WSDL
يک روش يکتا براى توصيف وب سروس ايجاد مى کند و UDDI يک دايرکتورى قابل جستجو براى وب سرويس مى سازد . وقتى اينها با هم در يک جا جمع مى شود اين تکنولوژى ها به برنامه نويس ها اجازه مى دهد که برنامه هاى خود را به عنوان سرويس آماده کنند و بر روى اينترنت قرار دهند .

شکل زير نقش هر کدام از استاندارد ها را در ساختار وب سرويس نمايش مى دهد . در قسمت هاى بعدى هر کدام از اين تکنولوژى ها را بررسى مى کنيم .

آدرس شکل :
http://www.hamedbanaei.com/articles/webservicedesc.htm

XML يا eXtensible Markup Language :

XML يک تکنولوژى است که به شکل گسترده از آن پشتيبانى مى شود ، همچنين اين تکنولوژى Open است به اين معنى که تعلق به شرکت خاصى ندارد . اولين بار در کنسرسيوم WWW يا W3C در سال 1996 براى ساده کردن انتقال ديتا ايجاد شده است . با گسترده شدن استفاده از وب در دهه 90 کم کم محدوديت هاى HTML مشخص شد .
ضعف HTML در توسعه پذيرى ( قابليت اضافه و کم کردن خواص ) و ضعف آن در توصيف ديتاهايى که درون خود نگهدارى مى کند برنامه نويسان را از آن نا اميد کرد . همچنين مبهم بودن تعاريف آن باعث شد از توسعه يافتن باز بماند . در پاسخ به اين اشکالات W3C يک سرى امکانات را در جهت توسعه HTML به آن افزود که امکان تغيير ساختار متنهاى HTML مهم ترين آن است . اين امکان را CSS يا Cascade Style Sheet مى نامند .

اين توسعه تنها يک راه موقتى بود . بايد يک روش استاندارد شده ، توسعه پذير و دارى ساختار قوى ايجاد مى شد .
در نتيجه W3C XML را ساخت . XML داراى قدرت و توسعه پذيرى SGML يا Standard Generalized Markup Language و سادگى که در ارتباط در وب به آن نياز دارد است .

استقلال اطلاعات يا جدا بودن محتوا از ظاهر يک مشخصه براى XML به حساب مى آيد . متنهاى XML فقط يک ديتا را توصيف مى کنند و برنامه اى که XML براى آن قابل درک است – بدون توجه به زبان و سيستم عامل – قادر است به اطلاعات درون فايل XML هر گونه شکلى که مايل است بدهد . متنهاى XML حاوى ديتا هستند بدون شکل خاص بنابراين برنامه اى که از آن مى خواهد استفاده کند بايد بداند که چگونه مى خاهد آن اطلاعات را نمايش دهد .
بنابراين نحوه نمايش يک فايل XML در يک PC با PDA و تلفن همراه مى تواند متفاوت باشد .

وقتى يک برنامه با متن XML مواجه مى شود بايد مطمئن باشد که آن متن حاوى ديتاى مورد نظر خود است . اين اطمينان توسط برنامه هايى با نام XML Parser حاصل مى شود . تجزيه کننده ها دستورات متن XML را بررسى مى کنند .
همچنين آنها به برنامه کمک مى کنند تا متن هاى XML را تفسير کند . به صورت اختيارى هر متن XML مى تواند به متن ديگرى اشاره کند که حاوى ساختار فايل XML اصلى باشد . به آن متن XML دوم DTD يا Document Type Definition گفته مى شود .

وقتى فايل XML به DTD اشاره مى کند برنامه تجزيه کننده فايل صلى را با DTD بررسى مى کند که آيا به همان ساختارى که در DTD توصيف شده شکل گرفته است يا خير . اگر يک تجزيه کننده XML بتواند يک متن را به درستى پردازش کند متن XML نيز به شکل صحيحى فرمت شده است .
وقتى که اکثر نرم افزار ها امکانات وبى خود را افزايش دادند اين طور به نظر مى آيد که XML به عنوان يک تکنولوژى جهانى براى فرستادن اطلاعات بين برنامه هاى انتخاب شود . تمامى برنامه هايى که از XML استفاده مى کنند قادر خواهند بود که XML ِ همديگر را بفهمند . اين سطح بالاى تطابق بين برنامه ها باعث مى شود که XML يک تکنولوژى مناسب براى وب سرويس باشد ، چون بدون اينکه احتياج به سيستم عامل و سخت افزار يکسان باشد مى تواند اطلاعات را جابجا کند .

SOAP يا Simple Object Access Protocol :

SOAP يکى از عمومى ترين استاندارد هايى است که در وب سرويس ها استفاده مى شود . طبق شواهد اولين بار توسط DeveloperMentor ، شرکت UserLand و مايکروسافت در سال 1998 ساخته شده و نسخه اول آن در سال 1999 ارايه شده است . آخرين نسخه SOAP ، نسخه 1.2 بود که در دسامبر سال 2001 در W3C ارايه شد . نسخه 1.2 نشان دهنده کار زياد بر روى آن و نمايانگر اشتياق زياد صنعت IT براى استفاده از SOAP و وب سرويس است .

هدف اصلى SOAP ايجاد روش براى فرستادن ديتا بين سيستم هايى است که بر روى شبکه پخش شده اند . وقتى يک برنامه شروع به ارتباط با وب سرويس مى کند ، پيغام هاى SOAP وسيله اى براى ارتباط و انتقال ديتا بين آن دو هستند .
يک پيغام SOAP به وب سرويس فرستاده مى شود و يک تابع يا ساب روتين را در آن به اجرا در مى آورد به اين معنى که اين پيغام از وب سرويس تقاضاى انجام کارى مى کند . وب سرويس نيز از محتواى پيغام SOAP استفاده کرده و عمليات خود را آغاز مى کند . در انتها نيز نتايج را با يک پيغام SOAP ديگر به برنامه اصلى مى فرستد .

به عنوان يک پروتکول مبتنى بر XML ، SOAP تشکيل شده از يک سرى الگو هاى XMLى است . اين الگو ها شکل پيغام هاى XML را که بر روى شبکه منتقل مى شود را مشخص مى کند ، مانند نوع ديتا ها و اطلاعاتى که براى طرف مقابل تفسير کردن متن را آسن کند .
در اصل SOAP براى انتقال ديتا بر روى اينترنت و از طريق پروتکول HTTP طراحى شده است ولى از آن در ديگر مدلها مانند LAN نيز مى توان استفاده کرد . وقتى که وب سرويس ها از HTTP استفاده مى کنند به راحتى مى توانند از Firewall عبور کنند .

يک پيغام SOAP از سه بخش مهم تشکيل شده است : پوشش يا Envelope ، Header ، بدنه يا Body . قسمت پوشش براى بسته بندى کردن کل پيغام به کار مى رود . اين بخش محتواى پيغام را توصيف و گيرنده آن را مشخص مى کند .
بخش بعدى پيغام هاى SOAP ، Header آن است که يک بخش اختيارى مى باشد و مطالبى مانند امنيت و مسيريابى را توضيح مى دهد . بدنه پيغام SOAP بخشى است که ديتاهاى مورد نظر در آن جاى مى گيرند .
ديتاها بر مبناى XML هستند و از يک مدل خاص که الگوها (Schemas) آن را توضيح مى دهند تبعيت مى کنند . اين الگو ها به گيرنده کمک مى کنند تا متن را به درستى تفسير کند .
پيغام هاى SOAP نوسط سرور هاى SOAP گرفته و تفسير مى شود تا در نتيجه آن ، وب سرويس ها فعال شوند و کار خود را انجام دهند .

براى اينکه از SOAP در وب سرويس استفاده نکنيم از تعداد زيادى پروتکول بايد استفاده شود . براى مثال XML-RPC تکنولوژى قديمى ترى بود که همين امکانات را ايجاد مى کرد . به هر حال ، خيلى از سازندگان بزرگ نرم افزار SOAP را بر تکنولوژى هاى ديگر ترجيح دادند .
دلايل زيادى براى انتخاب SOAP وجود دارد ه خيلى از آنها درباره پروتکول آن است که فراتر از اين متن مى باشد . 3 برترى مهم SOAP نسبت به تکنولوژى هاى ديگر : Simplicity , Extensibility و Interoperability است .

پيغام هاى SOAP معمولا ً کدهاى زيادى ندارند و براى فرستادن و گرفتن آن به نرم افزار هاى پيچيده نياز نيست .
SOAP اين امکان را به برنامه نويس مى دهد تا بنا به نياز خود آن را تغيير دهد . در آخر بدليل اينکه SOAP از XML استفاده مى کند مى تواند بوسيله HTTP اطلاعات را انتقال بدهد بدون اينکه زبان برنامه نويسى ، سيستم عامل و سخت افزار براى آن مهم باشد .

WSDL يا Web Services Description Language :

استاندارد ديگرى که نقش اساسى در وب سرويس بازى مى کند WSDL است . همانطور که قبلا ً اشاره کرديم يکى از خواص وب سرويس ها توصيف خود آنهاست به اين معنى که وب سرويس داراى اطلاعاتى است که نحوه استفاده از آن را توضيح مى دهد .
اين توضيحات در WSDL نوشته مى شود ، متنى به XML که به برنامه ها مى گويد اين وب سرويس چه اطلاعاتى لازم دارد و چه اطلاعاتى را بر مى گرداند .

وقتى که سازندگان نرم افزار براى اولين بار SOAP و ديگر تکنولوژى هاى وب سرويس را ساختند دريافتند که برنامه ها قبل از اينکه شروع به استفاده از يک وب سرويس بکنند بايد اطلاعاتى درباره آن را داشته باشند . اما هر کدام از آن سازندگان براى خودشان روشى براى ايجاد اين توضيحات ابداع کردند و باعث شد که وب سرويس ها با هم هماهنگ نباشد .
وقتى IBM و مايکروسافت تصميم گرفتند تا استاندارد هاى خود را يکسان کنند WSDL بوجود آمد . در ماه مارس سال 2001 مايکروسافت ، IBM و Ariba نسخه 1.1 را به W3C ارائه کردند . گروهى از W3C بر روى اين استاندارد کار کردند و آن را پذيرفتند . هم اکنون اين تکنولوژى در دست ساخت است و هنوز کامل نشده . ولى هم اکنون اکثر سازندگان وب سرويس از آن استفاده مى کنند .

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

اين مهم است که بدانيم WSDL براى برنامه ها طراحى شده است نه براى خواندن آن توسط انسان . شکل فايلهاى WSDL پيچيده به نظر مى آيد ولى کامپيوترها مى توانند آن را بخوانند و نجزيه و تحليل بکند .
خيلى از نرم افزارهايى که وب سرويس مى سازند فايل WSDL مورد نياز وب سرويس را نيز توليد مى کنند بنابراين وقتى برنامه نويس وب سرويس خود را ساخت به شکل خودکار WSDL مورد نياز با آن نيز ساخته مى شود و احتياجى به آموزش دستورات WSDL براى ساختن و استفاده از وب سرويس نيست .

UDDI يا Universal Description , Discovery and Integration :

سومين استاندارد اصلى وب سرويس ها ، UDDI ، به شرکتها و برنامه نويسان اجازه مى دهد تا وب سرويس هاى خود را بر روى اينترنت معرفى کنند . اين استاندارد در اصل بوسيله مايکروسافت ، IBM و Ariba و 50 شرکت بزرگ ديگر ساخته شده است .
با استفاده از UDDI شرکتها مى توانند اطلاعات خود را در اختيار شرکت هاى ديگر قرار بدهند و مدل B2B ايجاد کنند . همان طور که از نام آن مشخص است شرکت ها مى توانند وب سرويس خود را معرف کنند ، با وب سرويس ديگران آشنا شوند و از آن در سيستم هاى خود استفاده کنند .
اين استاندارد جديدى است و در سال 2000 ساخته شده ، کنسرسيومى از شرکتهاى صنعتى در حال کار بر روى آن هستند ؛ نسخه دوم UDDI در ماه ژوئن سال 2001 ارائه شد و نسخه سوم آن در دست ساخت است .

UDDI يک متن مبتنى بر XML را تعريف مى کند که در آن شرکت ها توضيحاتى درباره چگونگى کار وب سرويس شرکتشان و امکانات خود مى دهند . براى تعريف اين اطلاعات از شکل خاصى که در UDDI توضيح داده شده استفاده مى شود .
شرکت ها مى توانند اين اطلاعات را در UDDI شرکت خود نگهدارى کنند و تنها به شرکت هاى مورد نظرشان اجازه دستيابى به آنها را دهند يا آنها را در مکان عمومى و د اينترنت قرار دهند . بزرگترين و مهمترين پايگاه UDDI ، UDDI Business Registry يا UBR نام دارد و توسط کميته UDDI طراحى و اجرا شده است . اطلاعات اين پايگاه در چهار نقطه نگهدارى مى شود ، مايکروسافت ، IBM ، SAP و HP . اطلاعاتى که در يکى از چهار پايگاه تغيير کند در سه تاى ديگر نيز اعمال مى شود .

اطلاعات درون اين پايگاه ها شبيه دفترچه تلفن است . White Pages که در آنها اطلاعات تماس شرکت ها و توضيحات متنى آنهاست ، Yellow Pages حاوى اطلاعات طبقه بندى شده شرکتها و اطلاعات درباره توانايى هاى الکترونيکى آنها مى باشد ، Green Pages ، حاوى اطلاعات تکنيکى درباره سرويس هاى آنها و نحوه پردازش اطلاعات شرکت آنها مى باشد .

اطلاعات تجارى و سرويس هاى شرکت ها کاملا ً طبقه بندى شده است و اجازه مى دهد که به راحتى در آنها جستجو کرد . سپس متخصصان IT مى توانند از اين اطلاعات استفاده کرده و شرکت ها را براى خدمات بهتر به هم متصل کنند . با اين شرح UDDI امکان پياده سازى مدل B2B را ايجاد مى کند و شرکتها مى توانند از سرويس هاى يکديگر استفاده کنند .

شرکت هايى که به UDDI علاقه نشان داده اند قدرت مند هستند و خيلى از آنها از وب سرويس و استاندارد هاى آن در محصولات خود استفاده مى کنند . NTT Communications of Tokyo يکى از شرکت هايى است که در حال اضافه کردن توضيحاتى به ساختار UDDI است . در هر حال شرکت ها هنوز کمى درباره وارد کردن خود در پايگاه هاى عمومى محتاط هستند . اين چيز عجيبى نيست . شرکتها ابتدا اين امکانات را فقط براى شرکاى خود ايجاد مى کنند .
شرکتهاى بزرگ نيز براى مديريت بر سرويس هاى خود و اشتراک آنها بين قسمت هاى مختلف از اين استاندارد استفاده مى کنند . وقتى اين استاندارد به حد بلوغ خود برسد و کاربران با آن احساس راحتى بکنند استفاده از آن نيز در مکان هاى عمومى فراگير خواهد بود .

اين تغيير رويه براى شرکت هاى بزرگى که B2B را به روش هاى قديمى اجرا کرده بودند مشکل است . بعضى نيز اشکال امنيتى بر اين روش مى گيرند و مايل نيستند اطلاعاتشان را بدهند . ما با گذشت زمان و کامل شدن اين تکنولوژى و درک لزوم استفاده از آن شرکت ها چاره اى جز استفاده از آن ندارند .

منبع : http://www.deitel.com

نوشته های مشابه

یک دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا