قدرتمندترین و بروزترین سامانه پیامکی کشور

وب سرویس

وب سرویس یک نوع رابط برنامه نویسی است که بر بستر وب پیاده سازی می‌شود. این رابط‌ها با استفاده از پروتکل‌های استاندارد مانند http، توابع و مکانیزم‌های مختلفی در اختیار ما قرار می‌دهند تا بتوانیم به تبادل اطلاعات در بین سیستم‌های مختلف بپردازیم. به عبارتی دیگر این رابط‌ها ارتباط میان نرم افزار با نرم افزار و کلاینت با نرم افزار را امکان پذیر می‌کند.

وب سرویس مانند پلی ارتباطی است که به منظور تبادل اطلاعات میان نرم افزارهای مختلف توسط سازمان W3C توسعه یافته است. این رابط‌ها می‌توانند بدون وابستگی و پیش نیازی خاص بر روی سیستم عامل‌ها و زبان‌های برنامه نویسی مختلف، عملکردی یکسان داشته باشند. بنابراین به صورت کلی می‌توان کاربردها و ویژگی‌های آن‌ها را به صورت زیر در نظر گرفت :

  • وابسته نبودن به سیستم عامل
  • وابسته نبودن به زبان‌های برنامه نویسی
  • آسان کردن ارتباط میان بخش‌های نرم افزاری مختلف
  • آسان کردن ارتباط میان نرم افزار با کلاینت
  • یکپارچه سازی اطلاعات در میان پلتفرم‌های مختلف

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

وب سرویس‌ها به روش‌های مختلفی می‌توانند پیاده سازی شوند و هر کدام از این روش‌ها دارای مزایا و معایب خاصی است. این روش‌ها عبارتند از:

  • روش فراخوانی از راه دور – (Remote procedure call) : روش فراخوانی از راه دور (RPC) پروتکلی است که با استفاده از آن یک نرم افزار می‌تواند یک سرویس را از نرم افزاری در کامپیوتری دیگر به وسیله توابعی درخواست کند. این پروتکل ارتباط میان نرم افزارهای مختلف در شبکه را بدون نیاز به درک جزئیات آن شبکه امکان پذیر می‌کند.
  • معماری سرویس گرا – (Service-oriented architecture) : معماری سرویس گرا (SOA) یک سبک طراحی نرم افزار است که در آن خدمات به کامپوننت‌های (اجزای نرم افزاری) مجزا تقسیم می‌شوند. بنابراین برای تبادل اطلاعات میان سرویس‌های مختلف از هر یک از این کامپوننت‌ها استفاده می‌شود. تبادل اطلاعات بین سرویس‌ها بر اساس یک پروتکل انتقال اطلاعات در بستر وب صورت می‌گیرد.
  • معماری رِست – (Representational state transfer – REST API) : یک سبک معماری برای ایجاد نرم افزارهای تحت شبکه است که از پروتکل‌های مختلف استفاده می‌کند. یکی از پرکاربردترین پروتکل‌ها در این معماری، پروتکل HTTP است. این معماری با هدف برقراری ارتباطات نقطه به نقطه طراحی شده است و برای محیط‌های توزیع شده قابل استفاده نیست. پیاده سازی این نوع رابط‌ها از پیچیدگی کمتری نسبت به روش‌های دیگر برخوردار است.

استانداردهای وب سرویس

استاندارهای مختلفی جهت استفاده و راه اندازی 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 به عنوان مکانیزم انتقال استفاده می کند.

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

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

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

درخواست کننده خدمات: این نقش هر مصرف کننده وب سرویس است. درخواست کننده با باز کردن اتصال شبکه و ارسال درخواست 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) انجام می شود.

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