وب سرویس چیست و انواع وب سرویس ها

اگر در دنیای برنامه نویسی فعالیت دارید احتمالا تا بحال اسم وب سرویس را زیاد شنیده اید. ما بطور روزانه از وب سرویس در اپلیکیشن ها استفاده می کنیم. وب سرویسها می توانند application های شما را به Web-Application  تبدیل کنند. در این مقاله به سوال وب سرویس چیست پاسخ می دهیم.

 

web service یا وب سرویس چیست ؟

 

وب سرویس چیست و انواع وب سرویس ها

اگر در فکر این هستید از تلفن همراه برای پیشرفت کسب و کارتان استفاده کنید و با یک طراحی اپلیکیشن حرفه ای ارتباطی موثر بین خود و مشتریان ایجاد کنید.پیشنهاد میکنیم این لینک را کلیک کنید.

 

در تعریف وب سرویس چیست به زبان ساده می توان گفت web service یک سیستم نرم افزاری برای پشتیبانی از تعامل بین دستگاه و ماشین در شبکه است. به زبان ساده تر، یک سیستم از سیستم دیگری سرویس می گیرد. در تعریفweb service بطور خلاصه می توان گفت:

  • وبسرویس ها اجزای یک نرم افزار هستند.

  • وب سرویس ها از طریق پروتکل ارتباط برقرار می کنند.

  • web service ها نیازی به منابع بیرونی نداشته و اصطلاحا self-contained هستند.

  • وب سرویس ها از طریق UDDI قابل جستجو هستند.

  • وبسرویس ها توسط application های دیگر قابل استفاده اند.

  • XML و HTTP  پلت فرم اولیه وبسرویس هاست.

سرویس های وب دارای دو کلاس عمده هستند:

  • سازگار با REST

  • وب سرویس arbitrary

برای پیاده سازی وب سرویس باید یک دسته را براساس نیاز خود انتخاب کنید. حال که با مفهوم web service چیست آشنا شدید در امتداد مقاله به نحوه ی کار و مزایا وب سرویس ها می پردازیم.

وب سرویس چگونه کار می کند؟

وب سرویس به عنوان الگوی درخواست پاسخ کار می کند ، نهادی وجود دارد که برای برخی خدمات به همتای خاص خود یعنی نهاد ارائه دهنده خدمات درخواست می کند. در صورت درخواست ، ارائه دهنده خدمات با پیام پاسخ خواهد داد. بنابراین دو پیام وجود دارد که یک درخواست پیام (XML) و یک پیام پاسخ (XML) را بشنوید.

معماری‌های وب سرویس‌ ها

برای بررسی معماری‌ وب سرویس ها دو روش وجود دارد:

  • اولین مورد بررسی نقش های فردی هر یک از عوامل web service است.

  • دوم بررسی پشته پروتکل سرویس وب در حال ظهور است.

نقش های وب سرویس

سه نقش اصلی در معماری سرویس وب وجود دارد:

ارائه دهنده خدمات: این نقش ارائه دهنده خدمات وب است. ارائه دهنده خدمات این سرویس را پیاده سازی می کند و آن را در اینترنت در دسترس قرار می دهد.

درخواست کننده خدمات: این نقش هر مصرف کننده وب سرویس است. درخواست کننده با باز کردن اتصال شبکه و ارسال درخواست XML از یک سرویس وب موجود استفاده می کند.

ثبت خدمات: این نقش یک فهرست خدمات متمرکز منطقی است. رجیستری مکانی مرکزی را در اختیار شما قرار می دهد که توسعه دهندگان می توانند خدمات جدید را منتشر کنند یا خدمات موجود را پیدا کنند. بنابراین به عنوان یک مرکز تصفیه متمرکز برای شرکت ها و خدمات آنها عمل می کند.

پشته (Stackپروتکل سرویس وب

دومین روش بررسی معماری وب سرویس بررسی پشته پروتکل سرویس وب است. پشته هنوز در حال تکامل است ، اما در حال حاضر دارای چهار لایه اصلی است.

حمل و نقل خدمات: این لایه وظیفه انتقال پیام بین برنامه ها را بر عهده دارد. در حال حاضر ، این لایه شامل Hyper Text Transport Protocol (HTTP) ، Simple Mail Transfer Protocol (SMTP) ، File Transfer Protocol (FTP) و پروتکل های جدیدتری مانند Blocks Extensible Exchange Protocol (BEEP) است.

پیام رسانی XML : این لایه وظیفه رمزگذاری پیام ها در قالب XML مشترک را دارد تا پیام ها در هر دو انتها قابل فهم باشند. در حال حاضر ، این لایه شامل XML-RPC و SOAP است.

شرح خدمات: این لایه وظیفه توصیف رابط عمومی برای یک وب سرویس خاص را دارد. در حال حاضر ، شرح خدمات از طریق زبان توصیف سرویس وب (WSDL) انجام می شود.

کشف سرویس: این لایه وظیفه متمرکز کردن خدمات در یک رجیستری مشترک و ارائه عملکرد انتشار / یافتن آسان را دارد. در حال حاضر ، کشف سرویس از طریق توصیف جهانی ، کشف و یکپارچه سازی (UDDI) انجام می شود.

با تکامل سرویس های وب ، ممکن است لایه های اضافی اضافه شده و فناوری های اضافی به هر لایه اضافه شوند.

ویژگی و مزایای وب سرویس چیست ؟

  • استفاده مجدد از کامپوننت های نرم افزاری

Application هایی وجود دارند که اغلب از آنها استفاده می کنیم، حال این سئوال مطرح می شود که چرا باید دوباره و دوباره آنها را ایجاد کنیم؟! وب سرویس ها می توانند کامپوننت های نرم افزارهای مختلف را مانند: تبدیل ارز، گزارش آب و هوا و یا سرویس ترجمه زبانهای مختلف را به شما ارائه دهند.

  •  اتصال به نرم افزارهای موجود

وب سرویس ها می توانند با یک متد مشخص داده ها و اطلاعات application های مختلف را به هم پیوند داده و از این طریق مشکلات موجود در این همکاری ها را مرتفع کنند. application های مختلف با پلت فرم های مختلف می توانند بوسیله وب سرویس ها با یکدیگر تبادل اطلاعات کنند.

استانداردهای مورد استفاده در Web Service ( انواع وب سرویس)

استاندارهای مختلفی جهت استفاده و راه اندازی Web Service ها وجود دارد که به آنها پروتکل وب سرویس نیز می‌گویند.

BEEP: پروتکل مبادله قابل انعطاف (BEEP) چارچوبی برای ایجاد پروتکل های برنامه شبکه است. BEEP شامل بلوک های ساختاری مانند کادربندی ، خطوط لوله ، مالتی پلکس ، گزارش دهی و احراز هویت برای اتصال و پیام های متصل به پروتکل های همتا به همتا (P2P) با پشتیبانی از ارتباطات دو طرفه ناهمزمان است.

E-Business XML: تجارت الکترونیکی با استفاده از زبان نشانه گذاری eXtensible ، که معمولاً به عنوان تجارت الکترونیکی XML یا ebXML شناخته می شود ، خانواده ای از استانداردهای مبتنی بر XML است که توسط OASIS و UN / CEFACT حمایت مالی می شود و مأموریت آن ایجاد زیرساخت مبتنی بر XML است که امکان استفاده جهانی از اطلاعات کسب و کار الکترونیک را فراهم می کند.

Hessian: یک پروتکل سرویس باینری وب است که وب سرویس ها را بدون نیاز به یک چارچوب بزرگ و بدون یادگیری مجموعه جدیدی از پروتکل ها ، قابل استفاده می کند.

Internet Open Trading Protocol: پروتکل معاملات باز اینترنتی (IOTP) یک پروتکل مستقل از سیستم است که برای تجارت الکترونیکی یک چارچوب پرداخت متقابل و استاندارد را فراهم می کند ، که سعی می کند تا آنجا که ممکن است فرآیندهای تجارت در دنیای واقعی را تکرار کند.

JSON-RPC: پروتکل JSON-RPC یک پروتکل تماس رویه از راه دور است که در JSON رمزگذاری شده است. این پروتکل مشابه پروتکل XML-RPC است که فقط چند نوع داده و دستور را تعریف می کند. JSON-RPC اجازه می دهد تا اعلان ها (داده هایی که به سرور ارسال نمی شوند و نیازی به پاسخ ندارند) و چندین تماس برای سرور ارسال می شود که ممکن است به صورت غیرهمزمان پاسخ داده شوند.

JSON-WSP: این پروتکل یک پروتکل سرویس وب است که از JSON برای توصیف خدمات ، درخواست ها و پاسخ ها استفاده می کند. این از JSON-RPC الهام گرفته شده است ، اما فقدان مشخصات توصیف خدمات با اسناد موجود در JSON-RPC باعث طراحی JSON-WSP شد.

وب سرویس SOAP: نام اختصاری Simple Protect Access Protocol مشخصات پروتکل پیام رسانی برای تبادل اطلاعات ساختاریافته در اجرای خدمات وب در شبکه های رایانه ای است. این از XML Information Set برای قالب پیام خود استفاده می کند و به پروتکل های لایه برنامه ، اغلب پروتکل انتقال متن (HTTP) متکی است ، اگرچه برخی از سیستم های قدیمی از طریق پروتکل انتقال ایمیل ساده (SMTP) برای مذاکره و انتقال پیام ارتباط برقرار می کنند.

UDDI: این پروتکل نام اختصار Universal Description، Discovery and Integration است که یک پروتکل زبان نشانه گذاری قابل گسترش و مستقل از بسترهای نرم افزاری است که شامل یک رجیستری (مبتنی بر XML) است که توسط آن مشاغل مختلف در سراسر جهان می توانند خود را در اینترنت لیست کنند و مکانیزمی برای ثبت و قرارگیری برنامه های وب سرویس است. UDDI یک ابتکار صنعت باز است که توسط سازمان پیشرفت استانداردهای اطلاعاتی ساخت یافته (OASIS) حمایت مالی می شود ، برای اینکه مشاغل بتوانند لیست خدمات را منتشر کنند و یکدیگر را کشف کنند و نحوه تعامل سرویس ها یا برنامه های نرم افزاری از طریق اینترنت را تعریف کنند.

WPS: استاندارد رابط سرویس پردازش وب OGC (WPS) قوانینی را برای استاندارد سازی ورودی ها و خروجی ها (درخواست ها و پاسخ ها) برای فراخوانی خدمات پردازش فضایی ، مانند پوشش چند ضلعی ، به عنوان یک سرویس وب ارائه می دهد. استاندارد WPS چگونگی درخواست مشتری برای اجرای یک فرآیند و نحوه مدیریت خروجی را مشخص می کند. این یک رابط است که انتشار فرآیندهای فضایی و کشف و اتصال مشتری به آن فرآیندها را تسهیل می کند.

WSCL: پیشنهاد زبان مکالمه سرویس وب (WSCL) توالی پیام ورودی و خروجی کلی یک وب سرویس را با استفاده از FSA اتومات حالت محدود روی الفبای انواع پیام تعریف می کند.

WSFL: پروتکل Web Services Flow Language 1.0 یک زبان برنامه نویسی XML بود که برای توصیف ترکیبات خدمات وب توسط IBM در سال ۲۰۰۱ پیشنهاد شد. زبان دو نوع ترکیب را در نظر گرفت. نوع اول برای توصیف فرآیندهای تجاری به عنوان مجموعه ای از خدمات وب و نوع دوم برای توصیف تعاملات بین شرکا بود. WSFL به عنوان لایه لایه در بالای زبان توصیف سرویس های وب پیشنهاد شده است.

WSDL ( Web Service Description Language ): پروتکل WSDL یک قالب XML برای توصیف سرویس های شبکه به عنوان مجموعه ای از نقاط انتهایی است که بر روی پیام ها حاوی اطلاعات مدارک مدار یا روش گرا هستند. عملیات و پیام ها به صورت انتزاعی توصیف می شوند ، و سپس به یک پروتکل شبکه و قالب پیام متصل می شوند تا نقطه پایانی را تعریف کنند.

XINS: پروتکل یا استاندارد XML Interface for Network Services یک فناوری متن باز برای تعریف و پیاده سازی برنامه های اینترنتی است ، که یک رویکرد مشخصات گرا را اعمال می کند.

XML-RPC: استاندارد XML-RPC یک پروتکل تماس از راه دور (RPC) است که از XML برای رمزگذاری تماس های خود و HTTP به عنوان مکانیزم انتقال استفاده می کند.

استفاده از وب سرویس در Web-application

هنگامی که پلت فرم های مختلف قابلیت دسترسی به وب را از طرق جستجوگرهای وب (Web Browsers) دارند، می توانند با هم تعامل داشته باشند و برای این منظور Web-application ها توسعه یافتند.

Web-application ها به صورت ساده، نرم افزارهایی هستند که تحت وب عمل می کنند و با استانداردهای مرورگرهای وب و پلت فرم های مختلف همخوانی دارند. با استفاده از وب سرویس ها، عملکرد application های شما در سطح جهانی گسترش پیدا خواهد کرد. وب سرویس ها از XML برای کدگزاری و کد گشایی اطلاعات و از SOAP برای جابجایی آن استفاده می کنند.

به عنوان مثال با web service ها، سیستم صدور صورت حسابهای مالی بخش حسابداری شما که با ویندوز ۲۰۰۰ کار میکند می تواند با سیستم بخش IT که از سرور UNIX استفاده میکند ارتباط برقرار کند.

 

اگر به دنبال شرکت طراحی سایت معتبر هستید ، پیشنهاد میکنیم ابتدا این لینک را کلیک نمایید.