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

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

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

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

XML يا eXtensible Markup Language
XMLيک تکنولوژی است که به شکل گسترده از آن پشتيبانی می شود، همچنين اينتکنولوژی Open است به اين معنی که متعلق به شرکت خاصی نيست. اولين بار درکنسرسيوم WWW يا W3C در سال ۱۹۹۶ برای ساده کردن انتقال ديتا ايجاد شدهاست. با گسترده شدن استفاده از وب در دهه ۹۰ کم کم محدوديت های 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 يا DocumentType Definition گفته می شود.

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

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

SOAP يا Simple Object Access Protocol
SOAPيکی از عمومی ترين استاندارد هايی است که در وب سرويس ها استفاده می شود.طبق شواهد اولين بار توسط DeveloperMentor، شرکت UserLand و مايکروسافت درسال ۱۹۹۸ ساخته شده و نسخه اول آن در سال ۱۹۹۹ ارايه شده است. آخرين نسخهSOAP، نسخه 1.2 بود که در دسامبر سال ۲۰۰۱ در 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 وجود دارد که خيلی ازآنها درباره پروتکل آن است که فراتر از اين متن می باشد. سه برتری مهمSOAP نسبت به تکنولوژی های ديگر عبارتند از قابليت توسعه، سادگی و قابليتعملکرد داخلي.

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

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

وقتیکه سازندگان نرم افزار برای اولين بار SOAP و ديگر تکنولوژی های وب سرويسرا ساختند دريافتند که برنامه ها قبل از اينکه شروع به استفاده از يک وبسرويس بکنند بايد اطلاعاتی درباره آن را داشته باشند. اما هر کدام از آنسازندگان برای خودشان روشی برای ايجاد اين توضيحات ابداع کردند و باعث شدکه وب سرويس ها با هم هماهنگ نباشد. وقتی IBM و مايکروسافت تصميم گرفتندتا استاندارد های خود را يکسان کنند WSDL بوجود آمد. در ماه مارس سال ۲۰۰۱مايکروسافت، 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 و پنجاه شرکت بزرگ ديگر ساخته شدهاست. با استفاده از UDDI شرکتها می توانند اطلاعات خود را در اختيار شرکتهای ديگر قرار بدهند و مدل B2B ايجاد کنند. همان طور که از نام آن مشخصاست شرکت ها می توانند وب سرويس خود را معرفی کنند، با وب سرويس ديگرانآشنا شوند و از آن در سيستم های خود استفاده کنند. اين استاندارد جديدیاست و در سال ۲۰۰۰ ساخته شده است و کنسرسيومی از شرکتهای صنعتی در حال کاربر روی آن هستند. نسخه دوم UDDI در ماه ژوئن سال ۲۰۰۱ ارائه شد و نسخه سومآن در دست ساخت است.

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

بزرگترينو مهمترين پايگاه UDDI پايگاه UDDI Business Registry يا UBR نام دارد وتوسط کميته UDDI طراحی و اجرا شده است. اطلاعات اين پايگاه در چهار نقطهنگهداری می شود: مايکروسافت، IBM، SAP و HP. اطلاعاتی که در يکی از چهارپايگاه تغيير کند در سه تای ديگر نيز اعمال می شود.

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

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

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

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

حميدرضا نيكخو