انواع وب سرویس ها
در مطالب قبل در مورد دسته بندی api بر اساس سطح دسترسی و نوع معمری را توضیح دادیم در این مطلب در مورد شکل های مختلف api دیگر را بیان میکنیم.
APIهای بر پایه کتابخانه
بهمنظور استفاده از این نوع API یک برنامه به کتابخانهای از کدها ارجاع دادهشده و یا آن کتابخانه از توابع باینری به برنامه وارد میشود تا با استفاده از توابع و روتینهای آن کتابخانه بتوان اعمال یا تبادل اطلاعات را انجام داد.
APIهای javascript مثال خوبی برای این دسته هستند. بهعنوانمثال با استفاده از تگ <Script> میتوان کتابخانه javascript را از آدرسی فراخوانی و هر جا به کتابخانه آن نیاز بود از آن استفاده نمود.
TWIN یک API و پروتکل ارتباطی برای اسکنرها و دوربینهاست. این API بهمنظور اتصال آسان برنامهها به دستگاههایی مانند اسکنرها، دوربینها و پرینترها نوشتهشده است.
APIهای بر پایه کلاس
این دسته که نوع خاصی از APIهای بر پایه کتابخانه هستند، در واقع کلاسهای مرتبشدهای هستند که در زبانهای شیءگرا استفاده میشوند. زبان برنامهنویسی جاوا مثال خوبی از زبان شیءگرایی که از APIهای بر پایه کلاس استفاده میکند، میباشد. APIجاوا مجموعهای از کلاسهاست که به همراه محیط توسعه جاوا ارائه میشود که برای برنامهنویسی در جاوا ضروری هستند. زبان جاوا شامل دستورات و انواع داده ساده است. کلاسهای جاوا بقیه موارد مورد نیاز برنامهنویسی مانند رشتهها، آرایهها، اشیا شناختهشده و بسیاری از موارد دیگر را فراهم میسازد.
محیط برنامهنویسی اندروید و Google Studio مثالهای دیگر این نوع از APIها در زبان جاوا هستند.
APIهای سنتی
انواع سنتی واسط برنامههای شامل واسطهای سیستمهای عامل، APIهای سختافزاری، پروتکلهای ارتباطی، صف پیام ، پروتکلهای دسترسی به اشیاء از راه دور و دیگر موارد هستند.
توابع یا روتینها در یک سیستمعامل
دسترسی به سیستم فایل، پرینت کردن مستندات، نمایش محتویات یک فایل بر روی یک کنسول، پیامهای خطا، دسترسی به واسط کاربر که توسط سیستمعامل فراهم میشوند. از جمله مواردی هستند که میتواند در این دسته قرار دارد.
APIهای سختافزاری
این نوع APIها برای دسترسی به قسمتهای سختافزاری قابل آدرسی دهی بر روی یک دستگاه هستند مانند شتابدهندههای ویدئویی، درایور دیسک ، باسهای درگاه PCI.
APIهای دسترسی به اشیا از راه دور
این کلاس از APIها از پروتکلهای دسترسی از راه دور مانند CORBA استفاده میکنند و همانند یک API عمل میکنند ولی با این تفاوت که یک پروکسی محلی برای دسترسی به اشیا و اتصال آنها به اشیا محلی تعریف میکند. یک مثال از این نوع .NET Remoting میباشد.