دستهبندی وب سرویس بر اساس سطوح دسترسی کاربران
در این مطلب میخواهیم در مورد دستهبندی API بر اساس دسترسی کاربران توضیح دهیم.
یکی از مهمترین روشهای دستهبندی APIها از منظر سطح دسترسی میباشد. لازم است تمامی انواع مختلف APIها با معماریها و پروتکلهای مختلف از این منظر دسته بندی شوند. در اکثر APIها سطح دسترسی با استفاده از یک کلید مدیریت میشود. سطح تعریف شده برای APIها عبارتند از:
- APIهای عمومی: همان طور که از نام این دسته مشخص است، دسترسی به این دسته از APIها برای همگان آزاد خواهد بود. عموماً برای استفاده از APIها، به یک کلید یا توکن نیاز است؛ که در این دست از APIها این کلید در اختیار هر فردی که درخواست نماید قرار داده خواهد شد.
- APIهای خصوصی و داخلی: این دسته با هدف کارمندان داخل سازمان و افزایش بهرهوری آنها و ارتباط هر بهتر و کاراتر سیستمهای نرمافزاری در اختیار توسعهدهندگان داخل سازمان است.
- APIهای محافظتشده: این نوع APIها در اختیار افراد مشخصی و از پیش تعیین شدهای قرار میگیرند که عموماً شرکای تجاری میباشند. هدف این کلاس میتواند مشتری نهایی یا کاربران تجاری بوده و با اهداف مختلفی بر پایه داده و نوع تجارت شرکت میتواند پیادهسازی شود. با توجه به به مخاطب خاص این دسته از APIها (شرکای تجاری) این دسته را به طور مجزا معرفی شده است و گرنه از منظر پیادهسازی و فنی، این دسته از APIها میتواند به عنوان زیردستهای از APIهای خصوصی نیز قرار گیرد.
از بین انواع APIهای فوق، دو نوع حفاظت شده و خصوصی، دستههای رایجتری میباشند. فیسبوک و تویتر دو شرکت بزرگ جهان هستند که عموم افراد آنها را میشناسند و APIهای عمومی نیز در اختیار توسعه دهندگان قرار میدهند. نکتهای که شاید کمتر به نظر برسد این است که این دو شرکت بیشتر از آنچه که توسعه دهندگان خارجی از API عمومی آنها استفاده کنند، خود مصرف کنندهی آنها هستند. حجم زیادی از فراخوانیهای API این دو شرکت به صورت داخلی است که در وبسایتها، برنامههای کاربردی موبایل و سایر محصولات آنها کاربرد دارد. در حقیقت APIهای عمومی همانند آن بخش از کوههای یخ هستند که دیدنی است و APIهای خصوصی و محافظت شده آن بخش از کوه یخ هستند که در زیرآب قرار دارد و حجم عظیمی از کوه یخ را تشکیل میدهند. هر چند ارائه APIها به صورت عمومی ارزش آفرین خواهد بود اما تاثیر APIهای خصوصی به میزان قابل توجهی چشمگیرتر از APIهای عمومی میباشد. برای مثال Netflix در ابتدا تعداد قابل توجهی از APIهای خود را باز نمود و آن را در اختیار تمامی توسعه دهندگان قرار داد اما بعد از چندین سال، متوجه شد که بیشترین تعداد درخواست و فراخوانی API توسط کارمندان و شرکای تجاری است و چیزی کمتر از ۰۳/۰ درصد از فراخوانی ها عمومی هستند( طبق تحلیلهای ارائه شده مجموع فراخوانی های انجام شده به صورت عمومی در طول یازده سال معادل یک روز فراخوانی APIهای خصوصی و محافظت شده است). از همین رو در سال ۲۰۱۴ این شرکت دسترسیهای عمومی به APIهای خود را به طور کامل از بین برد. لازم به ذکر است این مثال به معنای عدم استفاده از APIهای عمومی نمیباشد بلکه این نکته را خاطر نشان مینماید که هر چند APIهای عمومی لازم بوده و کاربرد دارند اما مخاطب اصلی APIها سازمانها و شرکای همکار آنها میباشند و ضروری است APIها توسط خود سازمانها به کار برده شود زیرا کارایی و بهرهوری سیستمها را به میزان قابل توجهی افزایش میدهد. همچنین همان طور که در ابتدای این فصل نیز ذکر گردید، شرکتهایی نظیر تویتر و فیسبوک در حال حاضر تعداد قابل توجهی از APIهای عمومی را به همگان ارائه میدهند. در نهایت انتخاب استراتژی عمومی یا خصوصی بر اساس رویکردهای تجاری- فنی شرکت خواهد بود و شرکتهای میتوانند بر حسب نیاز یکی از این دو رویکرد یا ترکیبی از هر دو را انتخاب نموده و بر اساس بازخورد و نیاز رویکردهای خود را تغییر دهند.
در این مطلب در مورد دسته بندی وب سرویس بر اساس سطوح دسترسی کاربران توضیح دادیم در مطلب بعدی در مورد دسته بندی وب سرویس بر اساس نوع معماری توضیح خواهیم داد.