خدمات وب

از نگاه فناوری اطلاعات و بر اساس استانداردهای تعریف شده، وب سرویس (یا خدمت وبی) سرویس یا خدمتی است که از طریق وب (اینترنت) توسط یک دستگاه الکترونیکی (سرور یا خادم) به دستگاه الکترونیکی دیگر (سریس گیرنده یا Client)، ارائه می‌شود. در وب سرویس، از فناوری‌های وبی مانند HTTP - که به صورت پایه برای ارتباط انسان با سرور(Human-to-machine) طراحی شده‌است – برای ارتباط بین نرم‌افزار سرویس دهنده و نرم‌افزار سرویس گیرنده استفاده می‌شود. وب سرویس از HTTP بیشتر برای انتقال اطلاعات و دادها استفاده می‌نماید، این اطلاعات به صورت فایل و اغلب با دو استاندارد متداول XML و جی‌سن رد و بدل می‌شوند.
در عمل و در بیشتر موارد وب سرویس به صورت یک رابط وب بین نرم‌افزارهای مختف مانند نرم‌افزارهای موبایل یا وب سایت‌های مختلف با پایگاه داده‌ها (Data Base) استفاده می‌شود. همچنین وب سرویس این امکان را فراهم می‌نمایند تا اطلاعات و داده‌های مختلف ازمنابع مختلف، در یک صفحه نمایش داده شوند. به عنوان مثال با استفاده از وب سرویس‌های سازمان بورس و سازمان‌های هواشناسی اطلاعات مربوط به بورس و پیش‌بینی وضع هوا در کنار هم نمایش داده می‌شود.
سازمان W3C واژه وب سرویس را به صورت زیر ترجمه نموده است: «یک نرم‌افزار سیستمی که برای در خواست و پاسخ (فعل و انفعال) بین عناصر غیرانسانی (machine-to-machine) با قابلیت درک متقابل (interoperable) طراحی شده است».
میزبانی صفحات وب
میزبانی یا وب هاستینگ همان چیزی است که وقتی می‌خواهید وب سایتتان روی شبکه بین‌المللی (اینترنت) برای همه قابل دیدن باشد به آن نیاز دارید. به زبان ساده، وب سایت شما باید روی یک سرویس دهنده میزبان قرار گیرد. کامپیوتر شخصی شما هم می‌تواند به صورت یک سرویس دهنده میزبان تنظیم و راه اندازی شود اما اگر قصدتان جذب ترافیک یا «بازدیدکننده» زیاد برای سایتتان است، این کار زیاد عاقلانه به نظر نمی‌رسد برای اینکه وب سایت شما در اینترنت در دسترس باشد لازم است کامپیوتر شما همیشه روشن و به اینترنت متصل باشد؛ به محض خاموش شدن کامپیوتر دیگر کسی سایت شما را نمی‌بیند. از طرف دیگر اگر با نرم افزارهای راه اندازی سرور آشنا نباشید، این کار می‌تواند برای شما پیچیده باشد در نتیجه اصلاح اشکالات و خرابی‌های احتمالی سرورتان وقت و انرژی زیادی می‌خواهد .
مزایای مربوط به خدمات وب
بزرگ‌ترین مزیت روش نو از ناحیه حضور اکس‌ام‌ال در اکثر ساختارهای مربوط به خدمات وب می‌آید. نیاز به اکس‌ام‌ال به خاطر غلبه بر عدم مقیاس‌پذیری (scalability) شیوه‌های پیشین در مهندسی و ساخت اینترنت است. از آنجا که اکس‌ام‌ال متن گراست (به انگلیسی: text-based)، شمه‌ای از نرمی و انعطاف‌پذیری شگفت‌آوری که در زبان انسان موجود است با سختی و شکنندگی روش‌های ماشینی ترکیب شده و ما را به ساخت سامانه‌های بسیار گسترش‌پذیر توانا می‌گرداند.
استانداردهای خدمات وب
پروتکل دسترسی ساده به شیء (SOAP)
بر اساس پروتکل دستیابی ساده به شیء است که تمامی خدمات وب به گردش در می‌آید. منظور از پروتکل، مجموعه شرح قواعد و فرمت‌های مربوط به ارسال پیامهای مخابراتی از یک ماشین به ماشین دیگر است. SOAP پروتکل ساده‌ای ست که به منظور سازگاری (compatibility) با سکوهای (platforms) مختلف و نیز سیستم‌های عامل (operating systems) گوناگون نوشته شده‌است. هدف اساسی این پروتکل را باید امکان‌پذیری مخابرات ماشین به ماشین در محیط‌های محاسباتی نامتجانس (heterogeneous) ذکر کرد.
زبان توصیف خدمات وب (WSDL)
هر چه بیشتر پروتکل‌های مخابراتی و فرمت پیامها بر روی وب به سمت استاندارد شدن پیش می‌رود، امکان و اهمیت توصیف مخابرات و امور تبادل یافته، به شیوه‌های ساختاریافته (structured) نیز فزونی می‌یابد. زبان توصیف خدمات وب، درست به منظور برآورده نمودن همین نیاز ابداع گردیده است، و این مهم را با تعریف یک گرامر اکس‌ام‌ال انجام می‌دهد. این گرامر به خصوص، خدمات موجود در شبکه را به صورت مجموعه‌هایی از نقاط پایانی مخابراتی بیان می‌نماید که قادرند به تبادل پیام‌های مخابراتی بپردازند.
شرح، کشف، و یکپارچه‌سازی جهانی (UDDI)
به وسیله فناوری شرح، کشف، و یکپارچه‌سازی فراگیر (Universal Description، Discovery، and Integration) می‌توان به انتشار و نیز جستجوی خدمات وب اقدام کرد. این فناوری، خدمات وب را سامان داده، و پس از شرح آن‌ها، اطلاعات بدست آمده را در یک جایگاه مرکزی قرار می‌دهد.
دراینجا بیشتر تاکیدمان برتعامل با منابعی است که حالت پذیر (State-full) هستند به جای استفاده از پیغامها یا عملیات‌ها.
انواع سبک‌های استفاده از وب سرویس‌ها
روش فراخوانی از راه دور - RPC
وب سرویس‌های این نوع، توابع توزیع شده‌ای را اجرا می‌کنند که فراخوانی شان بسیار برای تولیدگرها آشناست، به‌طور معمول ساده‌ترین واحد این مدل فراخوانی یک عملیاتی است که یک wsdl در پی دارد روش‌های دیگری که با کارکرد مشابه به عنوان شیء RPC می‌توان نام برد، Object Management Groups (OMG) و Common Object Request Broker Architecture (CORBA) و Microsofts Distributed Component Object Model (DCOM) یا سان مایکروسیستم جاوا ست که همان (RMI)نامیده می‌شود.
معماری سرویس گرا - Service-oriented architecture
وب سرویس‌ها را برای پیاده‌سازی معماری با رویکرد به مفاهیم معماری سرویس گرا (SOA) می‌توان اجرا کرد که مبتنی است بر ساده‌ترین واحدهای ارتباطی که همان پیغام‌ها می‌باشند در تقابل با اعمال (operation)، به همین دلیل است که غالبا با نام سرویس‌های پیغام گرا نامیده می‌شوند. این دست از وب سرویس‌ها توسط اکثر تولیدکنندگان نرم‌افزار عمده در دنیا پشتیبانی می‌گردد، بر خلاف RPC در این مدل امکان اتصالات سست (loose coupling) محقق‌تر است به دلیل اینکه تاکید بر روی CONTRACT ی است که WSDL تولید کرده به جای اینکه بروی جزئیات زمینه اجرا باشد.
نمایانگر حالت انتقال - (Representational state transfer (REST)
این مدل تلاشی است در جهت توصیف یا ساخت معماری‌هایی که از http یا پروتکل‌های مشابه‌ای استفاده می‌کنند که هدفشان محدود کردن واسطه(interface) هاست به استفاده از اعمال شناخته شده و استاندارد (مثل GET، POST، PUT، DELETE بروی HTTP) دراینجا بیشتر تاکیدمان برتعامل با منابعی است که حالت پذیر(State-full) هستند به جای استفاده از پیغامها یا عملیات‌ها. یک معماری مبتنی بر REST که REST-full نامیده می‌شود می‌تواند برای تعریف یک پیغام سوپ از WSDL بروی HTTP استفاده کند یا می‌تواند یک کلاس انتزاعی باشد که صرفا بروی سوپ بنا شده باشد، یا می‌تواند تماما بدون هیچ استفاده‌ای از سوپ ساخته شود. WSDL ۲ نه تنها اتصال به همه متدهای ورژن یک را امکانپذیر می‌کند بلکه تمامی متدهای اتصال به http را پشتیبانی می‌کند، بنابراین به نظر می‌رسد که برای وب سرورهایی از نوع REST این اجرا بهترین باشد، هر جند که پشتیبانی از این مشخصات فنی معماری، درون کیت‌های برنامه‌نویسی روز دنیا هنوز ضعیف می‌باشد. این برنامه‌ها معمولا به سمت تولید ابزارهایی برای WSDL ۱ تمایل دارند.
محاسبات توزیع‌شده
معماری سرویس‌گرا
خدمات معنایی وب