وب سرویس چیست؟
وب سرویس
کتاب ها و سازمان های مختلف تعاریف متفاوتی را برای وب سرویس ارائه میدهند. برخی از آنها اینجا لیست شده اند:
- یک وب سرویس هر قطعه ای از نرم افزار است که خودش را از طریق اینترنت در دسترس قرار میدهد و از یک سیستم پیام رسانی XML استاندارد استفاده میکند.XML برای رمزگذاری کلیه ارتباطات به یک وب سرویس استفاده میشود. برای مثال ،مشتری یک وب سرویس را با فرستادن پیام XML فراخوانی می کند،سپس منتظر پاسخ XML مربوطه می باشد.از آنجا که تمام ارتباطات با XML است،وب سرویس ها با هیچ یک از سیستم عامل ها یا زبان های برنامه نویسی گره نخورده است-java میتواند با perl ارتباط برقرار کند ، برنامه های windows میتوانند با برنامه Unix ارتباط برقرار کنند.
- وب سرویس ها برنامه های خودمختار،مدولار یا ماژولار،توزیع شده و پویا هستند که می توانند برای ایجاد محصولات و پردازش ها از طریق شبکه،منتشر شوند،قرار گیرند یا از طریق آن فراخوانی شوند. این نرم افزارها می توانند محلی،توزیع شده یا مبتنی بر وب باشند.خدمات وب بر روی بالاترین استانداردهای باز مانند TCP/IP،HTTP،Java و XML ساخته شده اند.
- خدمات وب سیستم های تبادل اطلاعات مبتنی بر XML هستند که از طریق اینترنت برای تعامل مستقیم apptication-to-application استفاده میکند.این سیستم ها می توانند شامل برنامه ها ،اشیا،پیام ها یا اسناد باشند.
- یک وب سرویس مجموعه ای از پروتکل های باز و استاندارد است که برای تبادل داده ها بین برنامه ها و سیستم ها استفاده می شود .برنامه های نرم افزاری که به زبان های مختلف نوشته شده ،بر روی سیستم عامل های مختلف اجرا شده اند،می توانند از وب سرویس برای تبادل داده از طریق شبکه های رایانه ای مانند اینترنت به روشی مشابه ارتباطات فرایندی روی یک کامپیوتر واحد استفاده کنند. این قابلیت همکاری (به طور مثال بین java , python یا برنامه های windows ,linux) به دلیل استفاده از استاندارد های باز است .
به طور خلاصه،یک وب سرویس کامل ،هر سرویسی است که:
- از طریق اینترنت یا شبکه های خصوصی اینترنت در دسترس است.
- از یک سیستم پیام رسانی XML استاندارد استفاده میکند.
- به هیچ یک از زبان های برنامه نویسی یا سیستم عامل ها گره نخورده است.
- خودمختار از طریق یک دستور زبان XML معمولی است.
- قابل کشف از طریق مکانیزم یافتن ساده.
اجرای وب سرویس
اساس پایه ای یا اصلی وب سرویس ها XML+ HTTP است.
کلیه سرویس های وب استاندارد با استفاده از مولفه های زیر کار میکند:
- SOAP یا simple object protocol :پروتکل دسترسی ساده به شی
- UDDI یا universal description discovery and integration:توضیحات جهانی ،کشف و ادغام
- WSDL یا web services description language :زبان شرح خدمات وب
چگونه یک وب سرویس کار میکند؟
یک وب سرویس ارتباط را میان برنامه (نرم افزار) ی مختلف از طریق استفاده از استاندارد های باز مثل HTML,XML,WSDL و SOAP برقرا ر میکند.وب سرویس کمک میکند به :
- XML برای برچسب زدن داده ها
- SOAP برای منتقل کردن پیام
- WSDL برای توصیف کردن در دسترس بودن خدمات
می توانید یک وب سرویس مبتنی بر جاوا روی solaris بسازید که از طریق برنامه visual basic شما که روی ویندوز اجرا میشود قابل دسترسی است.
همچنین می توانید از c# برای ساختن سرویس های وب جدید در ویندوز استفاده کنید که می تواند از طریق web application خودتان فراخوانی شود که مبتنی بر javaserver pages یا jsp است و در linux اجرا میشود.
مثال/
یک سیستم مدیریت حساب و سفارش ساده را در نظر بگیرید .کارمندان حسابداری برای ایجاد حساب های جدید و وارد کردن سفارشات جدید مشتری از یک برنامه مشتری client app که با ویژوال بیسیک یا JSP ساخته شده استفاده میکند.
منطق پردازش برای این سیستم به زبان جاوا نوشته شده و در یک دستگاه solaris ساکن است که برای ذخیره اطلاعات نیز با یک بانک اطلاعاتی در تعامل است.
مراحل انجام این عملیات به شرح زیر است:
- برنامه مشتری (client program)اطلاعات ثبت نام حساب را در پیام SOAP می بندد و دسته بندی می کند.
- این پیام SOAP به عنوان بدنه درخواست HTTP POST به سرویس وب ارسال میشود .
- وب سرویس درخواست SOAP را باز میکند و آن را به دستوری تبدیل میکند که برنامه بتواند آن را درک کند.
- برنامه اطلاعات را پردازش میکند و با یک شماره حساب منحصر به فرد جدید برای آن مشتری پاسخ میدهد.
- در مرحله بعد، سرویس وب پاسخ به پیام SOAP دیگری را ارسال میکند ،که در پاسخ به درخواست HTTP خود برای برنامه مشتری ارسال میکند .
- برنامه مشتری پیام SOAP را برای بدست آوردن نتایج فرآیند ثبت نام حساب باز میکند .