آموزش وب سرویس (قسمت هشتم): چطور می توانیم ای پی آی ها را به محصول تبدیل کنیم؟
مجموعه “API چیست و چه کاربردی دارد؟”
در این مجموعه یازده قسمتی، توضیحات مفصلی درباره API داده شده است. شما با تماشای این مجموعه، اطلاعات بیشتری را درباره وب سرویس ها و بازارهای مربوط به آنها بدست خواهید آورد. پس ما را تا پایان این سری از ویدیو کلیپها دنبال کنید و به طور کامل با مفاهیم زیر آشنا شوید:
- مفهوم دقیق اَپی (وب سرویس) چیست؟ و نحوه عملکرد آن به چه صورت است؟
- چرا باید روی ای پی آی ها سرمایه گذاری شود؟
- چطور یک ای پی آی ها را به یک محصول تبدیل کنیم؟
- چطور می توان امنیت ای پی آی ها را تامین کرد؟
- چرا طراحی اولیه یک ای پی آی مسئله مهمی است؟
- چگونه یک ای پی آی بسازیم؟ و چگونه اپی را مصرف کنیم؟
در قسمتهای گذشته پیرامون این مطالب صحبت کرده ایم:
- ای پی آی چیست و چه کاربردی دارد؟
- نحوه عملکرد ای پی آی ها به چه صورت است.
- انعطاف پذیری سازمانی به چه معنی است و نقش ای پی آی در انعطاف پذیری سازمانی چیست؟
- تاثیر ای پی آی بر فرهنگ سازمانی
- اقتصاد ای پی آی (api)
- آموزش وب سرویس (قسمت ششم)، انواع ای پی آی
- دلایل سرمایه گذاری در ای پی آی ها
همراه ما بمانید …
قسمت هشتم: چطور می توانیم API ها را به محصول تبدیل کنیم؟
موضوع عرضه یک API به عنوان محصول یکی از کلیدیترین مباحثی است که برای بقای یک ای پی آی باید به آن فکر کرد.
در حقیقت ارائه یک ای پی آی به بازار مانند عرضه یک محصول نرم افزاری است. به بیان دیگر محصول بودن ای پی آی به مفهوم طی کردن چرخه حیات API سوییچ مورد نظر است که عموما شامل هشت فاز مختلف میباشد:
- فاز اول: برنامه ریزی و تحلیل
- فاز دوم: طراحی
- فاز سوم: توسعه
- فاز چهارم: بهره برداری
- فاز پنجم: سازماندهی
- فاز ششم: اندازه گیری و تست
- فاز هفتم: ارتباط گیری با توسعه دهندگان (مصرف کنندگان) مخاطب
- فاز هشتم: از رده خارج کردن محصول
انجام این فازها هیچ ترتیب و توالی خاصی را ندارند و میتوانند همزمان نیز اجرایی شوند.
افراد دخیل در تولید ای پی آی:
منابع انسانی و نیروهای متخصص در هر سازمان، نقش کلیدیای را به عهده دارند. معمولا برای تولید هر API، نیاز داریم تا افرادی با نقشهای مختلفی را در مجموعه خود داشته باشیم. اهم نقشهای لازم برای تولید یک ای پی آی شامل موارد زیر میباشد:
مالک ای پی آی (API Owner): این فرد مدیر یا مسئول اجرایی شدن و عرضه یک ای پی آی است.
معمار آی تی (IT): فردی است که علاوه بر انتخاب ساختار و معماری یک ای پی آی، مسئولیت طراحی، اجرا و نظارت بر کارکرد اجزای مختلف یک API را برعهده میگیرد.
توسعه دهنده ای پی آی: این فرد وظیفه برنامه نویسی و توسعه API را به عهده خواهد داشت.
مدیر ارشد امنیت: فردی است که در شرکت مسئول برقراری امنیت ای پی آی است. این فرد میبایست در جریان تمام کارهایی که انجام میدهید قرار داشته باشد تا بتواند با شناسایی باگها و نقاط ضعف امنیتی، جلوی نفوذ و حمله هکرها به ای پی آی شما را بگیرد.
مالک سرویس یا (Service Owner): کسی است که وظیفه نظارت بر عملکرد و مدیریت ای پی آی های مختلف را برعهده دارد.
اپراتور سرویس: فردی است که باید امور مربوط به یک ای پی آی را اجرایی کند. مثلا سطح دسترسی افراد مختلف را تعریف نموده و یا تغییر میدهد. همچنین موظف است تا پاسخگوی درخواستها و پیامهای ارسالی از طرف توسعه دهنده باشد و همزمان عملکرد تمام ای پی آی ها را نیز زیر نظر داشته باشد.
واسطه ای پی آی: شخصی است که مسائل مربوط به API را به همه منتقل میکند. در حقیقت واسطه یک API، فردی است که برای آن تبلیغات کرده و آن را به مخاطبیناش معرفی میکند. ممکن است حتی یک ای پی آی پرکاربرد، بدون وجود واسطه (دلال) هرگز به دست مخاطبین خاص خودش نرسد. یکی دیگر از وظایف مهمی که برعهده واسطهها است، جمع آوری نظرات و بازخوردهای مصرف کنندگان یک ای پی آی است. مسلما این نظراتو بازخوردها، یکی از ارزشمندترین داراییهای شرکت برای ارتقا یک سرویس خاص به حساب میآیند.
مصرف کنندگان (توسعه دهندهها) API: این افراد یکی از مهمترین بخشهای لازم در مجموعه شما هستند که ماهیتا در ابتدا خارج از سیستم شما قرار دارند و میبایست جذب محصول شما شوند. برای توسعه و ارتقاء یک ای پی آی، شما به حضور توسعه دهندگان و نظرات و انتقادات ایشان نیازمند هستید.
در سازمانهای کوچک ممکن است یک نفر همزمان موظف به ایفای چندین نقش مختلف باشد. ولی برای رسیدن به یک نتیجه مطلوب در بازار، باید مطمئن باشید که همه این نقشها در سازمان شما اجرایی میشوند.
فازهای حیاتی چرخه یک API سوییچ
فاز برنامه ریزی و تحلیل:
در این مرحله فرد میبایست ایدهای را که برای تولید یک ای پی آی در سر میپروراند، فرموله نماید تا بتواند آن را برای دیگران بازگو نموده و اجرایی کند. در این مرحله معمولا افراد مختلفی دور هم جمع میشوند و درباره دیدگاهها و ایدههای خود نسبت به یک API خاص تبادل نظر میکنند. در همین فاز باید معلوم کنید که ای پی آی شما چه کاری انجام خواهد داد؟ چه چیزهایی برای تولید آن نیاز است؟ چه شرایطی را برای کاربر بوجود میآورد؟ شرایط بازار برای این محصول به چه صورت است؟ مزایای رقابتی این API چیست؟ این API در هر مرحله از حیات خود، از چه سیاستهایی پیروی خواهد کرد؟ در پایان با جمعبندی جواب سوالاتی از این دست، میتوانید به یک بیزینس پلن یا طرح تجاری خوب پیرامون ای پی آی خود دست یابید.
همچنین در این فاز میبایست پیرامون تاثیرات سازمانی این API در یک سازمان، مدل تجاری مناسب برای آن ای پی آی، نوع ای پی آی (اپن ای پی آی، ای پی آی خصوصی)، سطح دسترسی افراد با توجه به میزان استفاده آنها، سطح دسترسیِ متناسب با مدل مالی، نوع توافقنامههای سطح خدمات وب سرویس (SLA)، امنیت API و به طور کلی تمام وجوه فنی، مالی، تکنیکی و بازاریابی یک ای پی آی برنامه ریزیهای لازم را انجام گیرد.
فاز طراحی:
در این مرحله باید تمام مسائل مطرح شده در فاز اول را از ابتدای کار، نهایی نمود و سپس به صورت مستند و مکتوب درآورد، تا در طول پروژه مورد استفاده قرار گیرند.
ابزارهای مختلفی برای طراحی اAP ها وجود دارند، که در این مرحله به کمک طراحان API میآیند. یکی از اصول اولیه طراحی API ها، استفاده از API first ها میباشد. بعد از آماده شدن نمونه اولیه باید سعی کنید در کمترین زمان ممکن مشتریهای هدف خود را وارد چرخه استفاده از این ای پی آی نمایید. در این مرحله، ارائه API به مشتریان (که احتمالا همان توسعه دهندگان و مصرف کنندگان نهایی شما نیز هستند) به منظور جمع آوری نظرات و بازخوردهای آنان، برای ارتقاء و رفع ایرادات وب سرویس ها صورت میپذیرد. با این کار ارائه دهنده میتواند نسخهای بی نقصتر به مشتریان نهایی خود ارائه نماید، و دیگر نیازی به بروزرسانی زود به هنگام ای پی آی نخواهد بود. البته استفاده از ابزارهای تست API در کنار جمع آوری بازخوردها، در مرحله طراحی بسیار ضروری است.
علاوه بر این، در این مرحله ارائه دهنده میبایست مستندات ای پی آی خود را برای ارزیابی به توسعه دهنده های خود ارائه نماید، تا اگر به تغییر و تحولی نیاز است، در این مرحله انجام پذیرد.
فاز پیاده سازی:
تا به این لحظه هیچ محصول نهایی یا API ای ساخته نشده است. به بیان بهتر، از اینجا به بعد است که میتوان خروجیهای فاز طراحی را پس از تکمیل، اجرایی نمود. یعنی سیستمهای پشت پرده را در کنار هم قرار داد و به صورتی مرتبطشان نمود که تشکیل یک API بدهند. خیلی از اوقات ای پی آی ها از دادههایی استفاده میکنند که از چند منبع یا سیستم مختلف سرچشمه میگیرند. پس ممکن است نیاز داشته باشید تا این سیستمها را یکپارچه سازی کنید. از اینرو در این مرحله باید در مورد محل استقرار ای پی آی، لیست فروشندگانی که قرار است API شما را به بازار ارائه دهند، نوع فناوریهای مورد استفاده در وب سرویس و از این دست موارد حساس دیگر، تصمیم گیری نمایید.
تصمیمگیری در مورد ابزارهای نظارتی، ابزارهای نگهداری، زیرساختهای مورد نیاز و مواردی این چنین نیز در لیست تصمیماتی قرار میگیرند که قبل از ساخت و پیاده سازی API خود به آن نیازمند خواهید بود.
در این مرحله مهمترین چیز، استفاده از ابزارهای تست و معیارهایی برای میزان موفقیت ای پی آی است. برای این کار ابزارهای خاصی توسط شرکتهای مختلفی ارائه شده است، که میبایست متناسب با شرایط کاری ای پی آی مورد نظر، از یکی از این ابزارها استفاده نمود. این موضوع باعث میشود تا مطمئن شوید که همه چیز در سیستم به خوبی پیشرفت میکند، و دیگر نیازی به بازگشت برای رفع مشکلات نخواهید داشت. این یعنی موفقیت!
فاز بهره برداری:
در این فاز، که یک فاز دائم به شمار می رود، مسائل کلیدی و مستمری مانند موضوع نظارت بر API، حفظ امنیت، تنظیمات مورد نیاز و ایجاد زیرساختهای آن در ای پی آی، زمانبندی برای عملیاتهای مختلف و اقدامات دیگری از این قبیل وجود دارند که همگی در همین مرحله انجام میپذیرند.
ایجاد مقیاسپذیری مطمئن برای ای پی آی ها، ایجاد پلنهای پرداختی متناسب با مصرف برای کاربران، شناسایی و احراز هویت کاربران و غیره نیز جزو مسائل مهم دیگری هستند که در همین فاز صورت میگیرند.
فاز سازماندهی:
در این فاز، برای ای پی آی خود باید قوانین و سیاستهای مشخصی را تعریف کنیم. سیاستهایی که در این فاز تعیین میشوند شامل تعیین سطح دسترسی کاربران، تعیین منابع اطلاعاتی در دسترس ای پی آی، نوع API هایی که کاربران در سطوح مختلف میتوانند از آنها استفاده کنند و موارد مشابهی این چنینی خواهد بود. این موارد در کل محدوده فعالیت کاربران را تعیین میکنند. برای اعمال این سیاستها تکنولوژیها و ابزارهای زیادی وجود دارند که ارائه دهندگان میتوانند از آنها استفاده نمایند.
سیاستهای اعمال شده برای یک ای پی آی، در این فاز باید بگونهای لایه بندی شوند که با یکدیگر تداخل نداشته باشند، و کاربران را با مشکلات بعدی مواجه نکنند. همچنین باید بدانید که چطور میتوانید دسترسی کاربران خود را مدیریت کنید. دسترسی کاربران میتواند بر مبنای حق اشتراک کاربران در ساعات مختلف و یا از مکانهای خاصی امکان پذیر باشد. برای این کار میتوان از کلیدهای API استفاده نمود.
یکی از مهمترین مسائلی که باید در نظر داشته باشید، مسئله امنیت ای پی آی در سطوح مختلف کاربری و اپلیکیشنهایی است که به ای پی آی شما متصل میشود. معمولا وظیفه کنترل دسترسیها به عهده اکتیودایرکتوری است.
فاز اندازه گیری و تست:
کنترل ای پی آی ها بدون وجود این فاز، کار بسیار دشواری است. اندازه گیری و تست API باعث میشود تا میزان موفقیت ای پی آی ها را در طول بازه کاری آنها ارزیابی کنیم. به بیان بهتر، همه شاخصهای کلیدی یک API، مانند شاخص مالی، شاخص کارایی، شاخص مقیاس پذیری و غیره در پروسه کاری آن میبایست چک شوند و مورد ارزیابی قرار گیرند. ای پی آی ها معمولا بعد از گذشت مدتی (متناسب با روند پیشرفت تکنولوژیها در آن حوزه) دیگر کارایی اولیه خود را ندارند و میبایست بروزرسانی شوند. تعیین بهترین زمان مناسب برای توسعه یا بروزرسانی API، متناسب با نتیجه آزمایشات و اندازه گیریهای انجام گرفته روی ای پی آی ها مشخص میشود. برای رصد بهتر نتایج تستهای انجام گرفته، نیاز به یک داشبورد دارید تا بتوانید به موقع برای رفع اشکالات احتمالی در پروسه کاری ای پی آی ها اقدام کنید.
به یاد داشته باشید که انجام تست بر روی ای پی آی ها باید به صورت مداوم انجام شود تا بتوانید از نحوه عملکرد آن اطمینان داشته باشید. هر گونه اشکال و ایرادی که در پروسه کاری ای پی آی شما بوجود آید، ممکن است به از کار افتادن و اخلال در عملکرد یک اپلیکیشن مهم، و نیز به از بین رفتن اعتماد مشتریان شما منجر شود.
از سوی دیگر شما به عنوان یک ارائه دهنده باید در مورد نحوه کارکرد API خود با کاربران و توسعه دهندگانتان برخورد شفافی داشته باشید. با این کار شما در واقع اعتماد مخاطبین خود را به دست خواهید آورد و در نتیجه به تعداد مشتریان وفادار خود میافزایید.
فاز ارتباط گیری با توسعه دهندگان (مصرف کنندگان) مخاطب:
ایجاد ارتباط مداوم با توسعه دهندگان و مصرف کنندگان API یکی از مهمترین کارهایی است که شما در بخش بازرگانی و تجاری خود انجام میدهید. به یاد داشته باشید که مشتریانتان با ارزشترین سرمایههای شما هستند و باید به صورت مداوم برای آنها برنامه ریزی کنید. معمولا برنامههای زیادی وجود دارند که میتوانید برای ارتباط با مشتریان از آنها استفاده کنید. اهم این برنامه.ها میتوانند شامل موارد زیر باشند:
- طراحی بازی، مسابقه یا چالش.های هدفمند، با هدف جذب مخاطب
- باز گذاشتن API برای بکار برده شدن در اپلیکیشنهای بیشتر، و در نهایت جذب مخاطب
- ایجاد داشبوردهای مخصوص برای توسعه دهندگان
- ایجاد دسترسی به نسخههای آزمایشی API
- ارائه کیت.های توسعه نرم افزاری به توسعه دهندگان با زبانهای مختلف
- مستند سازی API. ارائه مستندات درست به کاربران یکی از مهمترین بخشهایی است که برای جذب کاربران به آن نیاز خواهید داشت.
- مستندات خود را باید به واضحترین شکل ممکن منتشر کنید تا کاملا قابل جستجو باشند.
- برای ای پی آی خود یک تاریخچه کامل ارائه دهید تا افراد بتوانند از تغییرات اعمال شده در api شما آگاه شوند.
- امنیت ای پی آی خود را به طور کامل برقرار کنید.
- ایجاد واسطه برای API. برای ای پی آی خود راه ارتباطی با مخاطبینتان قرار دهید تا آنها بتوانند به راحتی با شما در ارتباط باشند و مشکلات و نظرات خود را بیان کنند. برای این کار می.توانید از ایمیل، رساناهای اجتماعی یا هر فضای ارتباطی دیگری استفاده کنید.
فاز نسخه بندی و از رده خارج کردن:
بسیاری از API ها نسخههای مختلفی (مانند نسخه آزمایشی، نسخه نهایی، نسخه مهاجرت، نسخه پشتیبانی و از این قبیل نسخه ها) را به طور همزمان منتشر میکنند. وقتی چندین نسخه از یک ای پی آی را منتشر میکنید، باید همزمان نیز توجه خود را به تمام آنها معطوف کنید، و بدانید که به هر یک از نسخهها چه سطح دسترسیای ارائه میدهید.
در فاز نسخه بندی و از رده خارج کردن تمام این موارد باید در نظر گرفته شوند. برای تمام نسخههای ارائه شده باید از قبل به مسائلی مانند روش منسوخ کردن، میزان سازگاری نسخههای مختلف با یکدیگر، سیاست و چگونگی منسوخ کردن هر نسخه، ترغیب توسعه دهندهها به استفاده از نسخههای جدید و از این قبیل برنامهها فکر کنید.
به یاد داشته باشید، از رده خارج کردن نسخه API ها هم به سادگی انجام نمیپذیرد. زیرا ممکن است توسعه دهندههایی باشند که شما به آنها دسترسی ندارید و هنوز هم از نسخههای قبلی API شما استفاده میکنند. ولی به یاد داشته باشید یک روز نگهداری وب سرویس های قدیمی برای شما هزینههای گزافی را به همراه خواهند دشت، پس باید از ابتدا به فکر روزی باشید که میخواهید اAP خود را از رده خارج کنید.
جمع بندی:
این قسمت از سریال آموزش وب سرویس، یکی از مهمترین بخشهای این مجموعه است که در آن به هشت فاز مهم در چرخه حیات API ها پرداخته شد. به یاد داشته باشید که ای پی آی شما در حقیقت محصولی است که قرار است به بازار عرضه کنید تا از این طریق به درآمدزایی برسید. پس از همان مرحله تحقیق و تحلیل ایده، میبایست به فکر تمام جنبههای حیاتی و اقتصادی محصول خود باشید؛ تا در اواسط و یا انتهای کار با مشکل خاصی روبرو نشوید.
اگر دوست دارید در مورد اپی اکو، که یک محصول کامل API سوییچ میباشد و همه فازهای چرخه حیات API سوییچ در آن رعایت شده است بیشتر بدانید، میتوانید به وبسایت ما مراجعه کنید. مطمئن هستیم که اطلاعات ارزشمندی را میتوانید در اینجا بدست آورید.
در قسمت بعد به یکی از مهمترین جنبههای اجرای API ها، یعنی تامین امنیت ای پی آی خواهیم پرداخت.