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


وقتی اینترنت همه گیر شد و استفاده از آن سرعت گرفت، همیشه این سئوال بود که دو کامپیوتر که از هم دور هستند چگونه می توانند بدون دخالت یک انسان با هم ارتباط برقرار کنند. منظور از ارتباط این است که یک برنامه در یک کامپیوتر بتواند تابعی که در یک برنامه دیگر که در یک کامپیوتر دور از خودش قرار دارد را صدا بزند و نتیجه اش را دریافت کند. به هر حال شرکت های نرم افزاری دست به کار شدند تا پاسخی برای این مشکل پیدا کنند. شرکت مایکروسافت در این زمینه هم پیشرو بود و تکنولوژی DCOM را برای رفع این نیاز تولید کرد.
نسل بعدی راه حل این مشکل، که هم اکنون به صورت گسترده ای در اینترنت مورد استفاده قرار می گیرد، وب سرویس ها هستند. وب سرویس ها، برنامه های تحت دسکتاپ و تحت وب را قادر می سازند که با یک ارتباط روی HTTP به توابع داخل آن ها دسترسی پیدا کنند و نتیجه اش را در قالب فرمت استاندارد XML دریافت کنند.
وب سرویس ها به زبان برنامه نویسی، پلت فرم و پروتکل خاصی وابستگی ندارند.  یعنی شما می توانید با هر زبان برنامه نویسی روی هر پلت فرمی از وب سرویس ها استفاده کنید. یک وب سرویس نتیجه پردازش هایش را در قالب فرمت XML به برنامه در خواست کننده بوسیله HTTP می فرستد. فرمت XML، راهی استاندارد برای ارتباط دو سیستم ناسازگار است. علت اینکه پیغام های وب سرویس ها با استفاده از HTTP ارسال می شود این است که به راحتی و بدون اینکه توسط فایروال ها بلاک شوند، به دست برنامه درخواست کننده روی اینترنت برسد.
از مثال های وب سرویس های ساده ای که امروز استفاده می شود، می توان به سرویس گزارش وضع هوا، سرویس اخبار، سرویس تبدیل واحدهای پولی، سرویس شناسایی کشور از روی IP و … اشاره نمود.

Web Service in .NET platform

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

  • SOAP
    مخفف Simple Object Access Protocol و قراردادی است که نحوه صدا زدن متدهای یک وب سرویس و اینکه چطور پیغام ها قالب بندی می شوند، و چطور با HTTP فرستاده می شوند را مشخص می کند. SOAP همچنین نمایش استانداردی برای پیغام های خطا ارائه می کند.
  • WSDL
    مخفف Web Service Description Lanuage و استانداردی است که به کلاینت می گوید چه ورودی هایی این وب سرویس قبول می کند و پس از پردازش آن چه خروجی هایی به آن برخواهد گرداند. WSDL شامل همه جزئیاتی است که برای استفاده از آن وب سرویس نیاز است. متدها و خصوصیاتی که وب سرویس فراهم می کند، URL متدهایی که کلاینت می تواند به آن ها دسترسی داشته باشد، انواع داده ای مورد استفاده وب سرویس و پروتکل ارتباطی که مورد استفاده وب سرویس قرار می گیرد، اطلاعاتی هستند که WSDL به کلاینت ارائه می کند.
  • REST
    مخفف Representational State Transfer که توابع استاندارد پروتکل HTTP مثل GET, POST را به کلاینت ارائه می کند. به طور مثال API وب سایت توییتر در واقع وب سرویسی است که به کلاینت های مختلف اجازه فرستادن آپدیت ها و یا گرفتن تایم لاین های مختلف را می دهد.
  • SOA
    مخفف Service-oriented Architecture و مفهومی است که وب سرویس ها قادر به پیاده سازی آن ها می باشند. معماری مبتنی بر سرویس یکی از مفاهیم جدیدی است که شرکت های بزرگ نرم افزاری سرمایه گذاری های زیادی روی آن انجام داده اند.

وب سرویس ها در پلت فرم های نرم افزاری معروف مثل دات نت و جاوا از جایگاه ویژوه ای برخوردارند. به طور مثال برای ایجاد یک وب سرویس با استفاده از پلت فرم دات نت و ویژوال استادیو قدم های زیر را دنبال کنید :
از منوی File و زیر منوی New گزینه WebSite را برگزینید. در پنجره باز شده ASP.NET Web Service را انتخاب کنید. در پنجره Solution Explorer فایل Service.asmx را به نام مناسب تغییر دهید. برای مثال من متدی برای تبدیل تاریخ میلادی به تاریخ شمسی به وب سرویسم اضافه می کنم.
[WebMethod(Description="Convert a greogorian date to persian date")]
public DateTime ToPersianDate(DateTime gdate)
{
return BLL.ToPersianDate(gdate);
}

البته در این مثال مهم نیست که چطور این متد تاریخ میلادی را به شمسی تبدیل می کند، مهم نحوه اضافه کردن یک متد به یک وب سرویس است.

Advertisements