با فراگیر شدن اینترنت و استفاده گسترده از آن در زمینه IT این پرسش مطرح گردید، که آیا می توان بین برنامه های دو کامپیوتر که از هم دور هستند از طریق اینترنت ارتباط برقرار کرد، بدین معنی که یک برنامه در یک کامپیوتر امکان فراخوانی تابعی را در برنامه کامپیوتر دوم که از آن دور است داشته باشد و بتواند ورودی هایی را به تابع مورد نظر ارسال نماید و خروجی هایی را دریافت نماید. پاسخ به این پرسش موجب به وجود آمدن تکنولوژی وب سرویس (Web Service) شد.
وب سرویس ها برنامه (قطعه کد) هایی هستند که تحت وب قابل دسترسی اند و از طریق پروتکل های استانداردی مانند Http به انتقال و مبادله دیتا با سایر برنامه های کاربردی می پردازند. اساس کار وب سرویس (Web Service) ها بر پایه دریافت و تولید پیغام بنیان گذاری شده است. بدین معنی که آنها منتظر می مانند که کلاینت ها به آنها وصل شده و بنا به درخواست کلاینت ها به آن ها پاسخ می دهند .
پروتکل های استاندارد مورد استفاده وب سرویس ها
(XML (eXtensible Markup Languag
تکنولوژی xml در سال 1996 توسط کنسرسیوم w3c ایجاد و استاندارد شده است. فایل های xml حاوی اطلاعات و دیتا در قالب متن و فاقد شکل و ظاهر می باشند و تنها برای انتقال و مبادله داده ها بین وب سرویس ها و برنامه ها به کار می روند. چنانچه xml برای برنامه ای قابل شناسایی باشد برنامه مورد نظر می تواند بدون آنکه نیاز به برنامه و سیستم عامل خاصی داشته باشد به اطلاعات درون فایل xml دسترسی پیدا کند .
(SOAP (Simple Object Access Protocol
استاندارد مهم دیگری که در وب سرویس ها به کار می رود استاندارد SOAP است. این استاندارد عامل ایجاد ارتباط بین نرم افزارها (برنامه های کاربردی) و وب سرویس میباشد این ارتباط اغلب از طریق پروتکل امن Http صورت می پذیرد. هنگامی که یک برنامه اقدام به ارتباط با یک وب سرویس می نماید پیغام های SOAP عامل ایجاد ارتباط و انتقال اطلاعات بین آن دو می باشند، یک پیغام SOAP که حاوی درخواست فراخوانی و اجرای یک تابع (در وب سرویس) می باشد به Web Service ارسال می شود پیغام ارسال شده توسط وب سرویس بررسی شده و سپس به اجرای درخواست (اجرای تابع) می پردازد و نهایتا نتیجه را در قالب یک پیغام SOAP به برنامه اصلی می فرستد.
(WSDL (Web Service Description Language
یکی از استانداردهای مهم در وب سرویس ها استاندارد WSDL است. هر وب سرویس دارای یک فایل WSDL می باشد. این فایل به توصیف وب سرویس می پردازد و نحوه استفاده از وب سرویس را توضیح می دهد و به صورت یک فایل متنی با فرمت Xml می باشد که به برنامه ها می گوید که وب سرویس مورد نظر چه ورودی هایی دریافت و چه خروجی هایی را به برنامه برمی گرداند WSDL صرفا برای برنامه طراحی شده است نه برای کاربران استفاده کننده از وب سرویس. بسیاری از نرم افزارهایی که به ساخت وب سرویس می پردازند فایل WSDL وب سرویس را نیز خود به صورت اتوماتیک تولید می کنند.
(UDDI (Universal Description, Discovery and Integration
از طریق این استاندارد، ثبت و جستجوی وب سرویس ها در اینترنت فراهم می گردد. این استاندارد توسط شرکت مایکروسافت، IBM و شرکت های بزرگ دیگر تولید شده است. با استفاده از این استاندارد شرکت ها قادرند به مبادله اطلاعات با سایر شرکت ها پرداخته و مدل B2B ایجاد نمایند. UDDI یک فایل مبتنی بر Xml می باشد که در آن شرکت ها به معرفی امکانات وب سرویس خود و نحوه عملکرد آن می پردازند. همچنین شرکت ها می توانند اجازه دستیابی به این فایل را تنها به شرکت های خاصی بدهند و یا اینکه آنها را به صورت عمومی در اینترنت قرار دهند.
ویژگی های کلی وب سرویس ها
وب سرویس ها به سیستم عامل و زبان برنامه نویسی وابستگی ندارند
شما می توانید از وب سرویس ها (Web Services) بر روی هر سیستم عامل و با هر زبان برنامه نویسی استفاده نمایید. وقتی یک برنامه یک وب سرویس را فرا می خواند، درخواست او با فرمت Xml ارسال می شود و پاسخ را نیز در قالب فایل Xml دریافت می نماید، در نتیجه فراخوانی یک وب سرویس توسط برنامه ها مستقل از سیستم عامل و زبان برنامه نویسی به کار رفته می باشد.
سهولت در برقراری ارتباط بین برنامه ها
انتقال اطلاعات بین برنامه ها از طریق وب سرویس بسیار آسان صورت می پذیرد.
کاربرد برنامه های مبتنی بر وب سرویس ها در ارائه خدمات مالی، محاسباتی و توسعه سیستم های توزیع شده می باشد برنامه هایی مانند رزرو بلیط هواپیما، تبدیل ارز با استفاده از آخرین نرخ، تبدیل تاریخ میلادی به تاریخ شمسی نمونه هایی از وب سرویس ها می باشند .