وب سرویس و API چیست؟ - شرکت قلعه کرند

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

api چیست ؟

به زبان ساده ، API ها مخفف (Application Programming Interface)  هستند یعنی رابط‌هایی نرم‌افزاری که ارتباط بین نرم‌افزارهای مختلف را پیاده‌سازی می‌کنند.

معمولاً API ها شامل یکسری توابع و روال ها هستند که به ما اجازه دسترسی به اطلاعات و امکانات یک نرم افزار رو میدن.

شاید این سوال برای شما پیش بیاد که از چه زمانی API ها مورد استفاده قرار گرفتن. میشه گفت تقریباً از زمانی که اولین برنامه کامپیوتری ایجاد شد، توسعه دهنده ها به این فکر افتادن که بتونن به راحتی ارتباط بین نرم افزار ها برقرار کنن و از امکانات موجود یک نرم افزار استفاده کنن و اینگونه بود که API متولد شد.

اما امروزه واژه API بیشتر اشاره به Web API داره که امکان دسترسی به اطلاعات، داده ها و امکانات یک Application رو بر روی اینترنت به ما میده. به عنوان مثال به موارد زیر دقت کنید:

  1. لاگین کردن به وب سایت های مختلف با حساب های گوگل یا فیسبوک
  2. امکان طراحی Plugin برای وب سایت هایی مانند فیسبوک
  3. استفاده از قابلیت جستجوی گوگل در طراحی وب سایت شخصیتون
  4. نمایش نقشه گوگل در وب سایت ها

تمام مواردی که در بالا بهش اشاره شد بوسیله API هایی که توسط سایت های مورد اشاره ارائه شده امکان پذیر هست. اگر بخواییم دیدگاه تخصصی تر به موضوع داشته باشیم، میتونیم بگیم که یک API، امکان ارسال و دریافت درخواست های HTTP رو فراهم می کنه و پاسخ (Response) درخواست ها مبتنی بر Json یا XML برای ما ارسال میشه. دلیل استفاده از Json یا XML این هست که این فرمت ها به صورت استاندارد و بر روی پلتفرم های مختلف قابل استفاده هستند.

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

وب سرویس(Web Service) ها قطعه کدهایی هستند که تحت وب قابل دسترسی اند و از طریق پروتکل های استانداردی مانند Http به انتقال و مبادله دیتا با سایر برنامه های کاربردی می پردازند. اساس کار وب سرویس ها بر پایه دریافت و تولید پیغام بنیان گذاری شده است. بدین معنی که آنها منتظر می مانند که کلاینت ها به آنها وصل شده و بنا به درخواست کلاینت ها به آن ها پاسخ می دهند.

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

 (XML (eXtensible Markup Languag

تکنولوژی xml در سال 1996 توسط کنسرسیوم w3c ایجاد و استاندارد شده است. فایل های xml حاوی اطلاعات و دیتا در قالب متن و فاقد شکل و ظاهر می باشند و تنها برای انتقال و مبادله داده ها بین وب سرویس ها و برنامه ها به کار می روند. چنانچه xml برای برنامه ای قابل شناسایی باشد برنامه مورد نظر می تواند بدون آنکه نیاز به برنامه و سیستم عامل خاصی داشته باشد به اطلاعات درون فایل xml دسترسی پیدا کند .

(SOAP (Simple Object Access Protocol

استاندارد مهم دیگری که در وب سرویس ها به کار می رود استاندارد SOAP است. این استاندارد عامل ایجاد ارتباط بین نرم افزارها (برنامه های کاربردی) و وب سرویس میباشد این ارتباط اغلب از طریق پروتکل امن Http صورت می پذیرد. هنگامی که یک برنامه اقدام به ارتباط با یک وب سرویس می نماید پیغام های SOAP عامل ایجاد ارتباط و انتقال اطلاعات بین آن دو می باشند، یک پیغام SOAP که حاوی درخواست فراخوانی و اجرای یک تابع (در وب سرویس) می باشد به Web Service ارسال می شود پیغام ارسال شده توسط وب سرویس بررسی شده و سپس به اجرای درخواست (اجرای تابع) می پردازد و نهایتا نتیجه را در قالب یک پیغام SOAP به برنامه اصلی می فرستد.

 (WSDL (Web Service Description Language

یکی از استانداردهای مهم در وب سرویس ها استاندارد WSDL است. هر وب سرویس دارای یک فایل WSDL می باشد. این فایل به توصیف وب سرویس می پردازد و نحوه استفاده از وب سرویس را توضیح می دهد و به صورت یک فایل متنی با فرمت Xml می باشد که به برنامه ها می گوید که وب سرویس مورد نظر چه ورودی هایی دریافت و چه خروجی هایی را به برنامه برمی گرداند WSDL صرفا برای برنامه طراحی شده است نه برای کاربران استفاده کننده از وب سرویس. بسیاری از نرم افزارهایی که به ساخت وب سرویس می پردازند فایل WSDL وب سرویس را نیز خود به صورت اتوماتیک تولید می کنند.

(UDDI (Universal Description, Discovery and Integration

از طریق این استاندارد، ثبت و جستجوی وب سرویس ها در اینترنت فراهم می گردد. این استاندارد توسط شرکت مایکروسافت، IBM و شرکت های بزرگ دیگر تولید شده است. با استفاده از این استاندارد شرکت ها قادرند به مبادله اطلاعات با سایر شرکت ها پرداخته و مدل B2B ایجاد نمایند. UDDI یک فایل مبتنی بر Xml می باشد که در آن شرکت ها به معرفی امکانات وب سرویس خود و نحوه عملکرد آن می پردازند. همچنین شرکت ها می توانند اجازه دستیابی به این فایل را تنها به شرکت های خاصی بدهند و یا اینکه آنها را به صورت عمومی در اینترنت قرار دهند. 

ویژگی های کلی وب سرویس ها:

  • وب سرویس ها به سیستم عامل و زبان برنامه نویسی وابستگی ندارند.

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

  • سهولت در برقراری ارتباط بین برنامه ها
  • انتقال اطلاعات بین برنامه ها از طریق وب سرویس بسیار آسان صورت می پذیرد.