وب سرویس چیست؟ آشنایی با API و کاربرد آن در برنامه نویسی
در صورتی که اندکی با برنامه نویسی آشنایی داشته باشید و یا حوزه فعالیت شما در زمینه تکنولوژی اطلاعات باشد حتما تا کنون واژه وب سرویس یا API را شنیده اید و برایتان سوال بوده است که وب سرویس چیست و چه کاربردی دارید؟
وب سرویس (API)
وب سرویس را به زبان ساده میتوان برنامه یا سرویس مطرح نمود که از طریق پروتکل وب در دسترس بوده و شما میتوانید دستوراتی را بصورت آرگومان ارسال کنید و درخواست انجام کاری را داشته باشید. وب سرویس ها عموما روی پروتکل HTTP(s) اجرا میگردند و توسط سازمان W3C جهت سهولت در انجام امورات بصورت از راه دور تالیف یافته است. پایه کار وب سرویس ها بدین صورت میباشد که برنامه همیشه در حال اجرای وب سرویس منتظر دریافت دستورات میباشد که بعد اتصال کلاینت ها دستورات را بصورت متنی دریافت و بر اساس الگوریتم های تعریف شده نسبت با انجام کاری و یا نتیجه ای برنامه یا تابع دیگری اجرا و نتیجه آن مجددا از طریق وب به درخواست کننده یا کلاینت ارسال گردد.
وب سرویس را میتوان قسمتی از یک برنامه نیز در نظر گرفت که از طریق پروتکل های تحت وب ارتباط برقرار میکنند و از هرگونه برنامه خارجی بی نیاز به کار خود ادامه میدهند. وب سرویس ها توسط سایر برنامه های برنامه نویسان از طریق وب قابل استفاده میباشد و پلتفرم اولیه آنها بر روی http , xml پایه گذاری شده است.
ویژگی های وب سرویس چیست؟
تکنولوژی وب سرویس با توجه به پایه ریزی بر اساس XML امکان استفاده مشترک در تمام زبان های برنامه نویسی را دارند و نیاز نیست کاربر استفاده کننده حتما برای اتصال و استفاده از یک وب سرویس پیاده سازی شده با پایتون، برنامه خود را برای اتصال به این وب سرویس به پایتون تغییر دهد.
همچنین با توجه به استفاده از همین پلتفرم واسط XML وب سرویس ها به سیستم عامل نیز محدود نمیباشند و از طریق هر سیستم عامل میتوان به وب سرویس ها متصل و از آنها استفاده نمود.
سهولت در استفاده از وب سرویس ها نیز یکی دیگر از ویژگی های یک وب سرویس میباشد که باعث شده است برنامه نویسان و کاربران مبتدی هم بتوانند از وب سرویس برای استفاده های روزمره خود با دانش کمتر استفاده کنند. معمولا وب سرویس ها دارای مستنداتی میباشند که تمامی کاربران بتوانند با دسترسی های ایجاد شده توسط سازنده وب سرویس با ساده ترین حالت ممکن در کمترین زمان بتوانند از وب سرویس استفاده کنند.
استانداردهای وب سرویس ها چیست؟
XML:
همانطور که اشاره شد یکی از روش ها و استانداردهای اولیه برای استفاده از وب سرویس ها، XML میباشد. این پلتفرم نیز تو سط W3C استاندارد سازی شده تا توسعه دهندگان قادر باشند بصورت استاندارد از این پلتفرم به عنوان واسط اتصال استفاده کنند.
SOAP یا Simple Object Access Protocol :
یکی دیگر از استاندارهای مهم و کاربردی در وب سرویس ها استاندارد SOAP میباشد که این پروتکل نیز همانند XML قادر است بصورت مشترک باعث اتصال موفق برنامه ها با وب سرویس گردد. در واقع پیغام های ایجاد و ارسال شده SOAP عامل اصلی و ایجاد کننده اتصال وب سرویس میباشند. بعد از اتصال پیغام بر روی بستر SOAP در صورتی که پیغام برای وب سرویس دارای مفهوم عملیاتی باشد با توجه به توابع تعریف شده دستور اجرا و نتیجه آن مجددا بر روی قالب پیغام SOAP به درخواست کننده ارسال میگردد.
UDDI یا Universal Description – Discovery and Integration :
این استاندارد حاوی یک فایل مبتنی بر XML میباشد که توسط آن شرکت ها به معرفی اتصال وب سرویس ها اقدام میکنند. از معروفترین شرکت هایی به استفاده و توسعه این استاندارد میپردازند مایکروسافت میباشد. شرکت های استفاده کننده از این فایل و استاندارد میتوانند سطح دسترسی آن را به راحتی حتی جهت معرفی در اختیار عموم قرار دهند یا شرکت های خاص.
WSDL یا Web Service Description Language:
از دیگر استاندارد های مهم که کاربرد بسیار فراوانی در وب سرویس ها دارد استاندارد WSDL میباشد. این استاندارد نیز همانند UDDI دارای یک فایل برای هر وب سرویس میباشد که این فایل با فرمت XML بوده و بصورت کلی نحوه استفاده از وب سرویس را شرح میدهد. در این فایل عناوین مهمی از جمله اینکه پورتهای خروجی و وردی وب سرویس چه پورت تعیین شده است، وجود دارد. استاندارد WSDL در کنار تمامی وب سرویس ها این فایل را ایجاد و در اختیار کاربر قرار میدهند تا به راحتی به مستندات وب سرویس دسترسی داشته باشند و بتوانند از آن استفاده کنند.