وب سرویس چیست ؟
27 دی ماه 1394

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

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

آدرس شکل :
http://www.1.ir/articles/webservicedesc.htm

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 ، نسخه ۱٫۲ بود که در دسامبر سال ۲۰۰۱ در W3C ارايه شد . نسخه ۱٫۲ نشان دهنده کار زياد بر روي آن و نمايانگر اشتياق زياد صنعت IT براي استفاده از SOAP و وب سرويس است .