وب سرويس چيست   

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو

مقدمه

کسانی که با صنعت 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 يا Document Type 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 از سه بخش مهم تشکيل شده است: پوشش ياHeader،Envelope، بدنه يا Body. قسمت پوشش برای بسته بندی کردن کل پيغام به کار می‌رود. اين بخش محتوای پيغام را توصيف و گيرنده آن را مشخص می‌کند. بخش بعدی پيغام‌هایHeader ،SOAP آن است که يک بخش اختياری می‌باشد و مطالبی مانند امنيت و مسيريابی را توضيح می‌دهد. بدنه پيغام 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 حاوی اطلاعات طبقه بندی شده شرکت‌ها و اطلاعات درباره توانايی‌های الکترونيکی آنها می‌باشد، Green Pages، حاوی اطلاعات تکنيکی درباره سرويس‌های آنها و نحوه پردازش اطلاعات شرکت آنها می‌باشد.

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

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

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

منبع : hamedbanaei.com

8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.