آموزش وب سرویس - مقدماتی - 3
وب سرویس:
وب سرویس روشی برای ایجاد ارتباط بین دو ماشین بر بستر وب (شبکه) است.
یک وب سرور منتظر درخواست از سمت کلاینت است. وقتی این درخواست میاد، وب سرویس ریسورس مورد نظر رو در جواب میفرسته. این ریسورس میتونه JSON، XML، HTML یا فایل های صدا و تصویر و ... باشه.
در وب سرویس درخواست ها باید بر بستر اینترنت (شبکه) باشه.
API:
لغت API از کلمات Application Programming Interface گرفته شده. در واقع یک سری قوانینی هست که برای ارتباط بین دو اپلیکیشن ایجاد شده.
وقتی در مورد API صحبت میکنیم، عموما منظور ما Web API هست (یعنی APIای که بر بستر وب وجود داره). اما API میتونه به صورت لوکال هم باشه. مثلا jar فایل های جاوا یا فایل های .h در C/C++ که باعث میشه دو تا برنامه به صورت لوکال با هم ارتباط برقرار کنن.
تفاوت وب سرویس و API:
وب سرویس حتما بر بستر وب هست اما API لزوما به اینترنت نیازی نداره. بنابراین:
هر وب سرویس یک API است اما هر API وب سرویس نیست.
REST API:
REST API یک استاندارد برای پیاده سازی Web Service API است. یکی از ملزومات REST اینه که درخواست ها حتما باید براساس متدهای پروتکل HTPP باشه.
یک درخواست REST شامل موارد زیر است:
- URL Path [https://api.example.com/user]
- HTTP Method [GET, PUT, POST, PATCH, DELETE]
- Header – (optional) additional information that the client needs to pass along in the request such as Authorization credentials, Content-Type of the body, User-Agent to define what type of application is making the request, and more]
- Parameters – (optional) variable fields that alter how the resource will be returned.
- Body – (optional) contains data that needs to be sent to the server.
معماری REST در مقایسه با سایر روش ها ساده تر است.
پس:
وب سرویس = web API
مطالب بالا ترجمه این مقاله هست.
این یک مرجع فارسی خوب برای توضیح تفاوت API و وب سرویس هست.
لینک مقاله ویرگول و دارای توضیحات مفید در مورد RESTful API
لینک مقاله ویرگول برای نوشتن وب سرویس Restful
تعریف دیگه ای از وب سرویس:
یک سری کد است که توسط یک وب سرور اجرا می شود، و وظیفه آن بازگرداندن داده های ساخت یافته به برنامه فراخوانی است, و یک صفحه وب را باز نمی گردانند و فقط اطلاعات خام را در حالت ساختار هایی همچون json یا xml برمی گرداند.
مثل SOAP,WSDL ,Restful