رابط برنامهنویسی نرمافزار کاربردی:( API: Application Programming Interface)یا به صورت خلاصه رابط برنامهنویسی، رابط بین یک کتابخانه یا سیستمعامل و برنامههایی است که از آن تقاضای سرویس میکنند.
رابط کارکردهایی را تعریف میکند که کتابخانه یا سیستمعامل میتواند ارائه دهد و مفهومی مجرد است. این کارکردها سپس در قالب یک نرمافزار یا کتابخانه پیادهسازی میشوند. به عبارت سادهتر، رابط برنامهنویسی مجموعه توابعی است که یک برنامه میتواند از یک برنامه دیگر فراخوانی کند.
برای مثال مایکروسافت برای APIهای ویندوز مرجعهایی استاندارد دارد که با استفاده از آنها برنامهنویسان میتوانند از قابلیتها و سرویسهای سیستمعامل در توسعه و نوشتن برنامههای کاربردی خود استفاده کنند.
بهطور کلی به مجموعهای از توابع و رویهها که به برنامههای کاربردی دیگر اجازه دسترسی و استفاده از ویژگیها یا دادههای یک نرمافزار را میدهد، ایپیآیهای آن نرمافزار گفته میشود. نرمافزار ارائه دهنده ایپیآی میتواند یک سایت اینترنتی، یک سیستمعامل یا هر سرویس دیگری باشد. در اینجا خدمات پایه نرمافزارهای تحت وب هستند که ایپیآیهای متنوعی ارائه میدهند و برنامه نویسان و تولیدکنندگان دیگری میتوانند از آنها استفاده نموده و بنابراین هزینههای زیرساختی و برنامهنویسی آنها کاهش پیدا کرده و سرعت برنامهنویسی آنها افزایش پیدا خواهد کرد زیرا دیگر لازم نیست که برای ایجاد یک ویژگی خاصی مجدداً برنامهنویسی کنند. همچنین امنیت برنامههای آنها نیز افزایش خواهد یافت، چرا که ارائه دهندگان خدمات پایه امنیت خود را در بالاترین سطح ممکن قرار خواهند داد.
وب سرویس
وب سرویس یک نظام نرمافزاری است که برای پشتیبانی قابلیت فعالیت دستگاه به دستگاه بر روی شبکه طراحی شده است و در غالب اوقات وب سرویسها تنها رابط برنامه کاربردی وب هستند که میتوانند بر روی یک شبکه مثلاً اینترنت قابل دسترسی باشند و بر روی میزبان نظام از راه دور سرویس درخواستی اجرا شده باشند.
تعاریف سرویسهای وب W3C بسیاری از نظامهای مختلف را در بر میگیرند. به غیر از شکل کاربرد مشترک که به سرویس گیرندهها و سرویس دهندهها تعلق دارد که با استفاده از پیامهای XML که استانداردهای پروتکل دسترسی آسان به اشیاء را رعایت میکنند ارتباط برقرار میکنند. مشترکاً در هر دو، فیلد و اصطلاحات فنی فرضی هستند که همچنین توضیحات عملکرد قابل خواندن توسط دستگاه وجود دارد که در زبان توضیحات سرویس وب (WSDL) نوشته شدهاند، توسط سرویس دهنده پشتیبانی میشود. در دومی احتیاجی به نقطه پایانی SOAP نیست. اما این برای ایجاد خودکار کدهای سمت سرویس گیرنده، در حالت عادی جاوا و Net.، در چارچوب کاری SOAP لازم است. بعضی از سازمانهای صنعتی مانند WS-I در تعریف سرویسهای وب به هر دوی SOAP و WSDL، پایبندند.
پروتکل دسترسی آسان به اشیاء (SOAP)
مبتنی بر XML: (قالب پوششی پیامهای توسعه پذیر برای قراردادهای اصلی) قراردادهای اصلی HTTP و پروتکل امن انتقال ابرمتن هستند.
زبان توضیحات سرویسهای وب (WSDL)
یک قالب XML یی که به رابطهای سرویس امکان میدهد تا همراه با جزئیات ملزوماتشان برای قراردادهای ویژه توصیف شوند. معمولاً برای ساخت کد سرویس دهنده و سرویس گیرنده و برای پیکربندی استفاده میشوند.
توضیحات عمومی اکتشاف و اجتماع (UDDI)
قراردادی برای انتشار و اکتشاف ابرداده درباره ی سرویسهای وب که برنامهها را برای یافتن آنها در هر دو زمان طراحی و اجرا قادر میسازد.
بیشتر این مشخصات هستهای شامل XML، پروتکل دسترسی آسان به اشیاء و زبان توصیف خدمات وب از W3C میآیند. شرح، کشف، و یکپارچهسازی فراگیر از OASIS میآید.