ویرگول
ورودثبت نام
Farid Mohammadzadeh
Farid Mohammadzadeh
خواندن ۵ دقیقه·۱ ماه پیش

وب سرویس چیست؟

ما بطور روزانه از وب سرویس در اپلیکیشن ها استفاده می کنیم. وب سرویسها می توانند application های شما را به Web-Application  تبدیل کنند.

وب سرویس یک سیستم نرم افزاری برای پشتیبانی از تعامل بین دستگاه و ماشین در شبکه است. به زبان ساده تر، یک سیستم از سیستم دیگری سرویس می گیرد.

کاربردها و ویژگی‌های وب سرویس ها :

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

برخی از استانداردهای مورد استفاده در Web Service ها:

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

  • ایکس ام ال (XML (eXtensible Markup Language : زبان XML نوعی زبان نشانه گذاری قابل گسترش است. از این زبان به منظور انتقال اطلاعات به صورت متن در بین وب سرویس‌ها استفاده می‌شود.
  • سواپ (SOAP (Simple Object Access Protocol : روشی برای انتقال اطلاعات در وب سرویس‌ها است که از استانداردهای زیادی پیروی می‌کند. این پروتکل برای انتقال اطلاعات با سطح امنیتی بالا مناسب است و کاملا قابل اطمینان می‌باشد. پیاده سازی وب سرویس‌های مبتنی بر پروتکل SOAP از پیچیدگی بیشتری برخوردارند. استفاده از این پروتکل در سرویس‌های توزیع شده (distributed systems) کاربرد بیشتری دارد.
  • وب سوریس (WSDL (Web Service Description Language : به منظور استاندارد سازی انتقال اطلاعات در وب سرویس‌ها ایجاد و توسعه داده شد. همه رابط هایی که از این استاندارد استفاده می‌کنند، دارای یک فایل XML هستند که در آن روش به کارگیری این پروتکل شرح داده شده است. این استاندارد روش ارتباط بین وب سرویس و کلاینت را مشخص می‌ کند.

میخوام راجب استانداردهای مورد استفاده در Web Service ها بیشتر بدانم ...(کلیک کنید)

«سیستم توزیع شده» (Distributed Systems) که با نام «رایانش توزیع شده» نیز شناخته می‌شود، مجموعه‌ای متشکل از اجزای مستقل از هم است که بر روی کامپیوترهای متعددی قرار گرفته‌اند. این اجزا، به منظور دستیابی به اهدافی مشترک، در قالب تبادل پیام‌، با یکدیگر تعامل دارند.

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

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

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

وب سرویس به زبان ساده :

برای درک بهتر شیوه عملکرد یک وب سرویس تصور کنید شما یک واحد نرم افزاری در اختیار دارید که در نقطه ی X است. همه افراد و بخش‌های نرم افزاری که در نقطه X نیستند، اگر بخواهند از خدماتی که آن واحد نرم افزاری در نقطه X ارائه می‌دهد استفاده کنند باید از این رابط‌ها استفاده کنند. بنابراین باید رابطی وجود داشته باشد که بتواند خدمات ارائه شده در آن نقطه را در اختیار سایر نقاط قرار دهد. اطلاعاتی که با استفاده از این رابط‌ها در بین نرم افزارهای مختلف رد و بدل می‌شوند به صورت فایل و معمولا بر اساس یکی از دو استاندارد XML و JSON انتقال داده می‌شوند.


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

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

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

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







وبوب سرویسنرم افزار
شاید از این پست‌ها خوشتان بیاید