به نظر امروزه واژه‌ی API برای ما اشنا است و در سازمان‌ها API ها در حال رشد هستند، در این مستند قصد داریم مروری بر مدیریت API ها داشته باشیم. امروزه مشتریان می خواهند از طریق انواع دستگاه ها و کانال های دیجیتال به داده ها و خدمات سازمانی دسترسی داشته باشند. برای برآورده کردن انتظارات مشتری، شرکت ها باید دارایی های خود را به شیوه ای چابک، انعطاف پذیر، ایمن و مقیاس پذیر در اختیار قرار دهند. API ها دریچه‌ای را به داده ها و خدمات یک سازمان ایجاد می‌کنند. آنها به برنامه ها اجازه می دهند تا با استفاده از یک پروتکل سبک وزن مانند HTTP به راحتی با یکدیگر ارتباط برقرار کنند. توسعه دهندگان از API ها برای نوشتن برنامه هایی استفاده می کنند که با سیستم Backend تعامل دارند. هنگامی که یک API ایجاد شد، باید با استفاده از یک پلت فرم مدیریت API مدیریت شود. یک پلت فرم مدیریت API به سازمان کمک می کند API ها را برای توسعه دهندگان داخلی، شریک و خارجی منتشر کند تا پتانسیل منحصر به فرد دارایی های خود را انتشار دهد. یک پلت‌فرم مدیریت API به کسب‌وکار کمک می‌کند تا دسترسی به کانال‌های دیجیتال را تسریع کند، رضایت شریک و همکار را افزایش دهد، از دارایی‌های دیجیتالی کسب درآمد کند، و تجزیه و تحلیل‌هایی برای بهینه‌سازی سرمایه‌گذاری در تحول دیجیتال ارایه دهد ( به طور خلاصه در شکل زیر مشخص شده است) ) یک پلت فرم مدیریت API این امکان را برای شما فراهم می‌کند تا API ها را در یک محیط امن و مقیاس پذیر ایجاد، تجزیه و تحلیل و مدیریت کنید (شکل ) یک پلت فرم مدیریت API باید قابلیت های زیر را ارایه دهد: فعال سازی توسعه دهنده برای API ها ارتباطات ایمن، قابل اعتماد و انعطاف پذیر مدیریت چرخه عمر API قابلیت API Auditing ، گزارش گیری و تجزیه‌و‌تحلیل قابلیت‌های مدیریت API را می‌توان از فروشندگان مدیریت API در یک ابر عمومی به‌عنوان یک سرویس میزبان خریداری کرد همچنین می‌توان آن را در یک ابر خصوصی خریداری کرد. یک رویکرد ترکیبی نیز می تواند دنبال شود، اینگونه که برخی از اجزای پلتفرم مدیریت API که به عنوان یک راه حل میزبان ارایه می شود را خریداری کنیم و برخی دیگر برای افزایش امنیت و کنترل به صورت محلی پیاده سازی کنیم. یک پلت فرم مدیریت API این قابلیت ها را به عنوان سه نوع خدمات اصلی (و همانطور که در شکل نشان داده شده است) ارایه می دهد: سرویس‌های دروازه API به این امکان را فراهم می‌کند از داده‌ها و سرویس‌ها API ها را ایجاد و مدیریت کنید. آنها به شما اجازه را می دهند که امنیت، مدیریت ترافیک، ترجمه رابط، هماهنگ سازی و قابلیت‌های مسیریابی را به API خود اضافه کنید. سرویس‌های تجزیه و تحلیل، ترافیک برنامه‌های جداگانه را نظارت می‌کنند و معیارهای بینش و عملیاتی، عملکرد API و برنامه و معیارهای تعامل توسعه‌دهنده را به کسب‌وکار ارایه می‌دهند پورتال‌های توسعه‌دهنده قابلیت‌هایی را برای ثبت نام و نصب برنامه‌نویس و برنامه‌نویس، اسناد API ، مدیریت انجمن و کسب درآمد از API ارایه می‌کنند. تا به این قسمت با قابلیت‌های مختلف یک پلت فرم مدیریت API آشنا شدیم. در برنامه های دیجیتال API ها کمک می کنند تا با سرویس های پشتیبان ارتباط برقرار کنند. ارتباطات، هسته API ها را تشکیل می دهد. ارتباطات می تواند از REST ، SOAP ، Plain Old XML ( POX ) یا هر پروتکل انتخابی دیگری استفاده کند. REST به دلیل ویژگی‌های ذاتی آن که در ادامه این مستند توضیح داده می‌شود، ترجیح پروتکل ارتباطی برای API ها است. یک پلت فرم مدیریت API باید چارچوبی را فراهم کند که کانال های ارتباطی امن، قابل اعتماد و انعطاف پذیر را فراهم کند. دروازه API در بستر مدیریت API خدماتی را ارایه می دهد که قابلیت های اصلی مورد نیاز برای ارتباطات API را تشکیل می دهد. - دروازه ( Gateway ) API یک دروازه API قلب هر راه حل مدیریت API را تشکیل می دهد که ارتباط ایمن، انعطاف پذیر و قابل اعتماد بین سرویس های پشتیبان و برنامه های دیجیتال را امکان پذیر می کند (شکل ) در معرض نمایش گذاشتن، ایمن ساختن و مدیریت داده‌ها و سرویس‌های پشتیبان به API های RESTful کمک می‌کند. چارچوبی را برای ایجاد نما در مقابل سرویس‌های پشت صحنه، فراهم می‌کند. این نما درخواست‌های API را برای اعمال امنیت، اعتبارسنجی داده‌ها، تبدیل پیام‌ها، کنترل ترافیک سوکت و در نهایت هدایت آن به سرویس پشت صحنه را رهگیری می‌کند. پاسخ‌های بدون تغییر، ممکن است برای بهبود عملکرد در حافظه پنهان ذخیره شود. دروازه API می تواند به صورت اختیاری درخواست‌ها را بین چندین سرویس پشتیبان هماهنگ کند و همچنین برای سرویس دهی به درخواست به پایگاه داده متصل شود. همه این قابلیت‌ها را می‌توان در یک دروازه پیاده‌سازی کرد، عمدتا از طریق تنظیمات و برنامه‌های افزودنی. - امنیت API ها توسط API ها دسترسی به داده‌ها و دارایی‌های با ارزش و محافظت شده فراهم می‌شود. بنابراین، امنیت برای API ها برای محافظت از دارایی های زیربنایی از دسترسی‌های غیرقانونی و غیرمجاز بسیار مهم است. با توجه به ماهیت برنامه‌ای API ها و دسترسی به آن‌ها از طریق ابر عمومی، آنها همچنین مستعد انواع مختلف حملات تهدید هستند. بنابراین پلتفرم مدیریت API باید جنبه های زیر از امنیت API را مورد توجه قرار دهد: احراز هویت، فرآیند تعیین و اعتبارسنجی منحصر به فرد هویت یک client است. یک برنامه مانند یک client فراخوانی API را انجام می‌دهد. این یک قطعه نرم افزاری است که از یک API برای دسترسی به دارایی ها، داده ها و خدمات سازمانی استفاده می کند. می تواند بر روی اینترنت، کامپیوتر، گوشی های هوشمند، تبلت ها یا هر وسیله الکترونیکی دیگری اجرا شود. برنامه‌ها معمولا توسط توسعه‌دهندگانشان از طریق یک پلتفرم توزیع شده، مانند اپ استور اپل، یا گوگل پلی، یا فروشگاه تلفن ویندوز در دسترس قرار می‌گیرند. هر برنامه با نام خود و یک UUID منحصر به فرد شناخته می شود که به عنوان کلید برنامه شناخته می شود. کلید برنامه اغلب به عنوان هویت برنامه ای که با API تماس می گیرد، عمل می کند. معمولا از طریق پلت فرم مدیریت API که توسط ارایه دهنده API صادر و مدیریت می شود. کلید برنامه به عنوان کلید API ، شناسه برنامه یا شناسه client نیز شناخته می شود. پلت فرم مدیریت API باید قابلیت صدور، ردیابی و لغو این کلید‌ها را داشته باشد. خدمات احراز هویت ممکن است نیاز به ادغام با سیستم‌های مدیریت احراز هویت داشته باشند که دسترسی کاربر به برنامه‌ها و سایر خدمات را کنترل می‌کنند: مجوز، سطح دسترسی به سرویس‌ها را کنترل می کند. به برنامه ای اعمال می شود که یک فراخوانی API را برقرار می کند. این برنامه (مجوز) کنترل می کند که از کدام منابع و روش‌های API می توان استفاده کرد. هنگامی که یک برنامه یک فراخوانی API را انجام می‌دهد، معمولا یک token دسترسی OAuth را در هدرهای HTTP ارسال می کند. این token به عنوان قسمتی از handshake OAuth تولید می‌شود و با حوزه‌هایی مرتبط است که API هایی را که می‌توان با استفاده از token به آنها دسترسی داشت، تعیین می‌کند. یک tocken دسترسی می تواند با یک یا چند حوزه مرتبط باشد. هر token دسترسی ممکن است یک مدت انقضا داشته باشد که مدت زمان اعتبار رمز را کنترل می کند. اگر token منقضی شده باشد، باید یک token دسترسی جدید ایجاد شود. یک برنامه می‌تواند این کار را به‌طور خودکار با ارایه یک تازه ساز token انجام دهد. توکن جدید ممکن است برای دریافت دسترسی جدید با دوره اعتبار جدید شده مبادله شود. استفاده از یک token جدید شده توسط یک برنامه برای ایجاد مجدد token دسترسی، به بهبود تجربه کاربر کمک می کند: API ها معمولا از پروتکل های OAuth برای پیاده سازی امنیت استفاده می کنند. با این حال، خدمات backend ممکن است با استفاده از SAML یا هر سرصفحه WS - Security دیگر ایمن شوند. از این رو، پلتفرم مدیریت API باید قابلیت ادغام با پلتفرم های Backend IDM و انجام وساطت هویت را داشته باشد. OAuth به SAML یک الزام بسیار رایج وساطت هویت است: API ها داده هایی را که ممکن است حساس باشند را در معرض دید قرار می دهند. چنین داده هایی باید فقط برای گیرنده مورد نظر خود قابل مشاهده باشد. هرگونه داده حساس در حال انتقال باید رمزگذاری شود. اگر چنین داده‌هایی در جایی ثبت شوند، باید پوشانده شوند. بنابراین پلت فرم مدیریت API باید دارای قابلیت های حفظ حریم خصوصی داده ها باشد. حریم خصوصی داده ها را می توان از طریق رمزگذاری و پوشاندن داده ها به دست آورد. داده‌های حساس باید با گواهی‌های دیجیتال در حال انتقال، رمزگذاری شوند. پلت فرم مدیریت API باید از SSL / TLS پشتیبانی کند. برای برخی موارد استفاده، ممکن است به رمزگذاری اضافی عناصر خاص، در payload نیز نیاز باشد. پوشاندن داده های حساس در زمان‌های بیکاری در بازرسی‌ها و فایل های گزارش یکی دیگر از الزامات حفظ حریم خصوصی داده است که یک پلت فرم مدیریت API باید ارایه کند: پلت فرم مدیریت API باید قابلیت مدیریت کلیدها و گواهینامه های مورد نیاز برای حفظ حریم خصوصی داده ها را نیز فراهم کند. DoS : داده ها و دارایی های ارزشمند را خارج از دیوارهای آتش سازمان باز می کنند. این باعث افزایش سطح حمله می شود و آنها را مستعد حملات می کند. هکرها ممکن است سعی کنند با پمپاژ ترافیک بالای غیرمنتظره از طریق API ها، سیستم های BackEnd را از بین ببرند. حملات انکار سرویس ( DoS ) در API ها بسیار رایج هستند. از این رو، پلتفرم مدیریت API باید بتواند چنین حملاتی را شناسایی و متوقف کند: برای API های عمومی، احتمال حمله بازیگران بد با استفاده از محتوای مخرب زیاد است. حملات مبتنی بر محتوا می‌توانند به شکل بد شکل XML یا JSON ، اسکریپت‌های مخرب یا SQL درونی بارگذاری باشند. چنین حملاتی ممکن است برای API های خصوصی و سازمانی نیز رخ دهد. پلتفرم مدیریت API باید بتواند فرمت‌های درخواست نادرست یا محتوای مخرب را در payload شناسایی کند و سپس در برابر چنین حملاتی محافظت کند. قابلیت تجسم خطا همچنین می‌تواند به شناسایی هر هکری که تلاش می‌کند نقطه ضعف قابل بهره‌برداری را در API ها پیدا کند، کمک کند: تعداد فراخوانی‌های API را که یک برنامه مجاز است در یک بازه زمانی معین تا انتهای کارش انجام دهد را مشخص می‌کند. فراخوانی‌های بیش از حد مجاز ممکن است جلوگیری یا متوقف شوند. سهمیه مجاز برای یک برنامه به خط مشی تجاری و مدل کسب درآمد API بستگی دارد. یک هدف مشترک برای یک quota ، تقسیم توسعه دهندگان به دسته هایی است که هر کدام سهمیه متفاوتی دارند و بنابراین رابطه متفاوتی با API دارند. به عنوان مثال، توسعه دهندگان رایگانی که ثبت نام می کنند ممکن است اجازه داشته باشند تعداد کمی تماس برقرار کنند. اما توسعه دهندگان پولی (پس از ت یید آنها) ممکن است اجازه داشته باشند تعداد بیشتری تماس برقرار کنند: افزایش غیرمنتظره ترافیک API را مشخص می کند. این به محافظت از سیستم های پشتیبان که برای تحمل بار زیاد طراحی نشده اند کمک می کند. افزایش بیش از حد حجم ترافیک API می‌تواند توسط پلتفرم مدیریت API برای محافظت از سیستم‌های backend در صورت حملات DoS حذف شود: راه حلی را برای کاهش سرعت فراخوانی بعدی API ارایه می دهد. این می تواند به بهبود عملکرد کلی و کاهش اثرات در ساعات اوج مصرف کمک کند. این کمک می کند تا اطمینان حاصل شود که زیرساخت API با حجم بالای درخواست های گروه خاصی از مشتریان یا برنامه ها کند نمی شود: به پلتفرم مدیریت API کمک می کند تا مشخص کند کدام دسته از مشتریان باید اولویت بیشتری داشته باشند. تماس‌های API از مشتریان با اولویت بالا باید ابتدا پردازش شوند. همه پلتفرم های مدیریت API از این قابلیت پشتیبانی نمی کنند. از این رو، ممکن است یک رویکرد یا طراحی جایگزین برای اجرای اولویت بندی ترافیک مورد نیاز باشد. - ترجمه رابط هنگامی که یک سازمان برای نمایش داده‌ها و خدمات خود یک API ایجاد می کند، باید اطمینان حاصل کند که رابط API به اندازه کافی قابل تفسیر و شهودی است تا توسعه دهندگان بتوانند به راحتی از آن استفاده کنند. API ها باید با رویکرد API - First ایجاد شوند، که ایجاد API را با تمرکز بر روی میزان مصرف و مصرف کننده ایجاد می کند. از این رو، رابط API به احتمال زیاد با سرویس‌های backend که ارایه می‌کند، متفاوت خواهد بود. بنابراین دروازه API باید بتواند رابط API را به شکلی تبدیل کند که قسمت backend بتواند آن را درک کند. برای پشتیبانی از ترجمه رابط ( Interface Translation ) ، دروازه API باید موارد زیر را پشتیبانی کند: ترجمه فرمت: سیستم backend ممکن است انتظار داده در SOAP ، یا XML ، یا CSV یا هر فرمت اختصاصی دیگری را داشته باشد. چنین فرمت داده‌ای را نمی توان به راحتی توسط مصرف کننده API مصرف کرد. از این رو، دروازه API باید این قابلیت را داشته باشد که به راحتی از یک فرمت به فرمت دیگر تبدیل شود. اکثر پلتفرم های مدیریت API قابلیت تبدیل داده ها از XML به JSON (و بالعکس) را با نگاشت یک به یک از عناصر داده را فراهم می کنند. نگاشت از JSON به هر فرمت داده دیگری ممکن است از طریق سفارشی سازی پشتیبانی شود. ترجمه پروتکل: اکثر سیستم های Backend که ارایه خدمات را میزبانی می‌کنند یک رابط SOAP برای مصرف کنندگان ارایه می دهند. با این حال، SOAP پروتکلی نیست که برای API ها برای ساخت برنامه، برای دستگاه های دیجیتال مناسب باشد. پلتفرم‌های مدیریت API باید بتوانند یک تبدیل پروتکل از SOAP به REST انجام دهند تا یک رابط سبک وزن برای مصرف‌کنندگان فراهم کنند. پشتیبانی از سایر تبدیل‌های پروتکل - مانند HTTP (ها) به JMS / FTP / JDBC - ممکن است ویژگی خوبی در پلتفرم مدیریت API باشد. نگاشت سرویس و داده: یک پلتفرم مدیریت API باید یک نمایش گرافیکی از مولفه‌های مختلف سرویس backend ارایه دهد که برای ارایه یک سرویس از طریق API کار می‌کنند. باید ابزارهای نگاشت خدمات را در خود جای دهد که کشف و توصیف دارایی های ارایه خدمات موجود را امکان پذیر می کند تا بتوان آنها را به طراحی API شما متصل کرد. - ذخیره سازی موقت یا cashing کش مکانیزمی برای بهینه سازی عملکرد از طریق پاسخ دادن به درخواست ها با پاسخ های، مشابه و ثابت ذخیره شده، در حافظه است. یک پراکسی API می تواند پاسخ های Backend را که اغلب در حافظه تغییر نمی‌کنند ذخیره کند. از آنجایی که برنامه‌ها روی یک URI درخواست می‌کنند، می‌توان از پاسخ ذخیره‌سازی شده برای پاسخ به جای ارسال آن درخواست‌ها به سرور Backend استفاده کرد. بنابراین ذخیره کش می تواند به بهبود عملکرد API از طریق کاهش تاخیر و ترافیک شبکه کمک کند. به طور مشابه، برخی از داده های ایستا و بدون تغییر مورد نیاز، برای پردازش درخواست، نیز ممکن است در حافظه ذخیره شوند. به جای رجوع هر باره، به منبع اصلی داده، می توان چنین داده هایی را از حافظه پنهان برای پردازش درخواست بازیابی کرد. تاریخ/زمان انقضا را می توان برای داده های ذخیره شده در حافظه پنهان تنظیم کرد، یا داده ها را می توان بر اساس قوانین تجاری تعریف شده باطل کرد. اگر داده منقضی شده باشد، داده های جدید از منبع داده اصلی بازیابی می شود و حافظه پنهان با داده های به روز شده به روز می شود. - مسیریابی خدمات در مسین یابی خدمات، API ها باید درخواست‌های مصرف‌کنندگان را به سمت سرویس Backend مناسب هدایت کنند که عملکرد تجاری را ارایه می‌کند. ممکن است بیش از یک سیستم backend وجود داشته باشد که عملکرد یک backend را ارایه می دهد. از این رو، پلت فرم مدیریت API باید بتواند درخواست را به نمونه صحیح backend شناسایی و هدایت کند. پلت فرم مدیریت API باید از قابلیت های مسیریابی زیر پشتیبانی کند: نگاشت URL : مسیر URL ورودی ممکن است با مسیر سرویس Backend متفاوت باشد. قابلیت نگاشت URL به پلتفرم اجازه می دهد تا مسیر URL ورودی را به مسیر سرویس Backend تغییر دهد. این نگاشت URL در زمان اجرا اتفاق می افتد به طوری که منبع درخواستی توسط مصرف کننده از طریق ارسال سرویس بازیابی می شود. اعزام یا Dispatching سرویس: این به پلت فرم مدیریت API اجازه می دهد تا سرویس backend مناسب را انتخاب و فراخوانی کند. در برخی موارد، ممکن است برای انجام نوعی هماهنگی و بازگرداندن پاسخ انبوه به مصرف کننده، از چندین سرویس فراخوانی شود. نگه داری تجمعی ( pooling ) از اتصال: پلت فرم مدیریت API باید بتواند مجموعه‌ای از اتصالات را به سرویس backend حفظ کند. Pooling اتصال، عملکرد کلی را بهبود می بخشد. همچنین، ممکن است برای اهداف مدیریت ترافیک لازم باشد که اطمینان حاصل شود که فقط حداکثر تعداد ثابتی از اتصالات فعال در هر نقطه از زمان به سرویس backend باز می‌شود. متعادل سازی بار: تعادل بار به توزیع ترافیک API در سرویس های پشتیبان کمک می کند. ممکن است الگوریتم های Load balancing مختلف پشتیبانی شود. بر اساس الگوریتم انتخاب شده، درخواست ها باید به منبع مناسبی که سرویس را میزبانی می کند هدایت شوند. قابلیت تعادل بار نیز عملکرد کلی یک API را بهبود می بخشد. - همنواسازی خدمات در بسیاری از سناریوها، دروازه API ممکن است نیاز به فراخوانی چندین سرویس backend در یک توالی خاص یا به صورت موازی داشته باشد و سپس یک پاسخ انبوه را برای مشتری ارسال کند. این به عنوان هنواسازی خدمات شناخته می‌شود. قابلیت همنواسازی‌های سرویس به ایجاد یک سرویس درشت دانه با ترکیب نتایج فراخوانی چندین سرویس backend کمک می کند. این به بهبود عملکرد کلی مشتری با کاهش ت خیر ایجاد شده به دلیل تماس های متعدد API کمک می کند. قابلیت هماهنگ‌سازی سرویس ممکن است به دروازه API برای حفظ حالت‌های بین تماس‌های API نیاز داشته باشد. با این حال، دروازه API باید تا حد امکان سبک و بدون حالت نگه داشته شود. از این رو، توصیه می‌شود که دروازه API فقط در هماهنگی سرویس‌های read only که ماهیت غیرمعمولی دارند، درگیر باشد. کسب‌وکارها باید بینشی نسبت به برنامه API داشته باشند تا سرمایه‌گذاری‌های مناسب را برای ساختن API های مناسب توجیه کنند و انجام دهند. آنها باید نحوه استفاده از یک API را بدانند، بدانند چه کسی از آن استفاده می کند و ارزش تولید شده از آن را ببیند. با بینش مناسب کسب‌وکار می‌تواند در مورد چگونگی افزایش ارزش کسب‌وکار با تغییر API یا با غنی‌سازی آن تصمیم‌گیری کند. یک دروازه API باید قابلیت اندازه گیری، نظارت و گزارش تجزیه و تحلیل استفاده از API را فراهم کند. داشبوردهای مناسب برای کسب و کار برای تجزیه و تحلیل API ، ارزش کسب و کار را اندازه گیری و بهبود می بخشد. گزارش کسب درآمد در مورد استفاده از API ، ارزش کسب و کار را اندازه گیری می کند. از این رو، یکی دیگر از ویژگی های مطلوب در یک پلت فرم مدیریت API است. - تجزیه و تحلیل API تجزیه و تحلیل، اطلاعاتی را برای تصمیم گیری در مورد API ها خود، در آینده، در اختیار شما قرار می دهد. هنگامی که شاهد افزایش ترافیک API هستید، باید بدانید که آیا این نشان دهنده موفقیت برنامه API شما است یا اینکه آیا از آن به روشی مخرب استفاده می شود که منجر به افزایش ترافیک می شود. چگونه پذیرش API خود را تعیین می کنید؟ آیا علاقه بیشتری به API های شما در جامعه توسعه دهندگان وجود دارد؟ آیا تعداد برنامه های ساخته شده با استفاده از API شما افزایش یافته است؟ عملکرد API ها از نظر زمان پاسخگویی و توان عملیاتی چگونه بوده است؟ انواع مختلف دستگاه هایی که برای دسترسی به API ها استفاده می شوند چیست؟ API ها چگونه در سراسر جهان پذیرفته شده اند؟ به عنوان یک ارایه دهنده و مصرف کننده API ، باید پاسخ این سوالات و بسیاری دیگر را بدانید. هرچه بیشتر بدانید، بهتر می توانید تشخیص دهید که چه اتفاقی در حال رخ دادن است. برای تصمیم گیری اینکه کدام ویژگی باید به برنامه API شما اضافه شود، به معیارهایی نیاز دارید. تجزیه و تحلیل API پاسخ به تمام پرس و جوها است. پلتفرم مدیریت API باید توانایی های زیر را برای تجزیه و تحلیل فراهم کند. - - ثبت فعالیت گزارش فعالیت، گزارش اولیه دسترسی API ، مصرف، عملکرد و هر استثنا ( exeption ) را فراهم می کند. این پلتفرم باید اطلاعاتی در مورد اینکه چه کسی از یک API استفاده می‌کند، از چه نوع برنامه‌ها و دستگاه‌هایی که API از آنها فراخوانی می‌شود، و کدام منطقه جغرافیایی منبع ترافیک API است، بگیرد و ارایه دهد. باید آدرس IP مشتریان و همچنین تاریخ و ساعت دریافت درخواست و ارسال پاسخ را ثبت کند. دروازه در پلت فرم مدیریت API باید ثبت کند که کدام API و روش توسط مشتری فراخوانی می شود. اطلاعات مختلف مانند URI ، فعل HTTP ، پروکسی API ، برنامه توسعه دهنده و سایر اطلاعات را می توان برای هر فراخوانی API وارد دروازه کرد. پلتفرم می‌تواند این اطلاعات را در زمان دیگری پردازش کند تا گزارش‌های معنی‌داری برای تجزیه و تحلیل API ارایه کند. معیارهای عملکرد API و کدهای پاسخ/خطا نیز باید به عنوان بخشی از گزارش فعالیت ثبت شوند. - - حسابرسی کاربر حسابرسی کاربر می تواند به مدیر API کمک کند تا اطلاعات تاریخی را برای تجزیه و تحلیل افرادی که به یک API دسترسی دارند، زمان دسترسی به آن، نحوه استفاده از آن و تعداد فراخوانی‌هایی که از مصرف کنندگان مختلف API انجام می‌شود، بررسی کند. - - گزارش ارزش کسب و کار گزارش‌های ارزش تجاری، ارزش مالی و نقدی مرتبط با برنامه API را اندازه‌گیری می‌کنند. گزارش های کسب درآمد از استفاده از API ، اطلاعاتی را در مورد درآمد ایجاد شده ارایه می دهد. دروازه API باید بتواند گزارش های درآمدزایی استفاده از API را ارایه دهد. برخی از API ها ممکن است مستقیما درآمدزایی داشته باشند، اما بسیاری از آنها یک مدل غیر مستقیم برای کسب درآمد دارند. از این رو، گزارش‌دهی مبتنی بر ارزش اضافی نیز باید در یک پلت فرم مدیریت API برای اندازه‌گیری مشارکت مشتریان امکان پذیر باشد. تعاملات را می توان با تعداد کاربران منحصر به فرد، تعداد توسعه دهندگان ثبت نام شده، تعداد توسعه دهندگان فعال، تعداد برنامه های ساخته شده با استفاده از API ، تعداد برنامه های فعال و بسیاری موارد دیگر اندازه گیری کرد. تجزیه و تحلیل پیشرفته پلتفرم مدیریت API باید بتواند متغیرهای سفارشی را از درون بار پیام برای گزارش تحلیلی پیشرفته استخراج و ثبت کند. باید به مدیران API و مدیران محصول امکان ایجاد گزارش های قابل اتصال و سفارشی از اطلاعات گرفته شده را ارایه دهد. - - نظارت در سطح سرویس پلتفرم مدیریت API باید آمار عملکردی را ارایه دهد که ت خیر در پلتفرم و ت خیر فراخوانی‌های پشتیبان را ردیابی کند. این به مدیر API کمک می کند تا منبع مشکلات عملکرد گزارش شده در هر API را پیدا کند. پلتفرم باید این قابلیت را داشته باشد که گزارش هایی در مورد خطاهای ایجاد شده در طول پردازش ترافیک API در داخل پلتفرم یا مواردی که از قسمت Backend دریافت می شود، ارایه دهد. طبقه بندی خطاها بر اساس نوع، فراوانی و شدت به مدیران API کمک ارزشمندی برای عیب یابی می دهد. یک برنامه API بدون مشارکت فعال یک جامعه توسعه دهنده نمی تواند موفق باشد. توسعه دهندگان برنامه از API ها برای ساخت برنامه های تلفن همراه یا ایجاد یکپارچگی سفارشی بین دو یا چند برنامه استفاده می کنند. از این رو، توسعه دهندگان باید بدانند که کدام API در دسترس است، عملکرد آنها چیست و چگونه می توان از آنها استفاده کرد. توسعه دهندگان باید زمین بازی برای تجربه و آزمایش API ها برای استفاده موثر از آنها در برنامه های خود داشته باشند. یک پلت فرم مدیریت API باید خدماتی را ارایه دهد که توسعه دهندگان را قادر می سازد تا با استفاده از API ها برنامه بسازند. یک پورتال توسعه دهنده می تواند این خدمات را ارایه دهد. - پورتال توسعه دهندگان پورتال توسعه‌دهنده یک وب‌سایت سفارشی‌سازی شده است که به یک ارایه‌دهنده API اجازه می‌دهد تا خدماتی را به جامعه توسعه‌دهنده ارایه دهد. این اساسا یک سیستم مدیریت محتوا است که API ها را مستند می کند همچنین به مستند سازی عملکردها، رابط ها، راهنماهای شروع، شرایط استفاده و موارد دیگر می‌پردازد. توسعه دهندگان می توانند از طریق پورتال، ثبت نام کنند و برنامه های خود را برای استفاده از API ها ثبت کنند. این می تواند با توسعه دهندگان دیگر در جامعه از طریق وبلاگ‌ها و انجمن‌های موضوعی، ارتباط برقرار کند. پورتال همچنین می تواند، برای پیکربندی و کنترل درآمدزایی API ها استفاده شود. کسب درآمد به توسعه دهندگان، امکان دسترسی سلف سرویس، به صورت‌حساب و گزارش‌ها، کاتالوگ‌ها و طرح‌ها و تنظیمات خاص کسب درآمد را می‌دهد. پورتال توسعه‌دهنده پلتفرم مدیریت API باید شامل قابلیت‌هایی باشد که در بخش‌های زیر توضیح داده شده است. - - کاتالوگ و مستندات API به عنوان یک ارایه دهنده API ، به یک پلتفرم برای عمومی کردن و مستندسازی API های خود نیاز دارید. سرویس‌های فعال‌سازی توسعه‌دهنده باید به یک ارایه‌دهنده API اجازه دهد تا کاتالوگ قابل کشف API را منتشر کند. کاتالوگ API گاهی اوقات به عنوان یک رجیستری API نیز شناخته می شود. توسعه دهندگان باید قادر به جستجوی کاتالوگ بر اساس متادیتا و تگ های مختلف باشند. کاتالوگ باید عملکرد API ، رابط آن، راهنماهای نحوه استفاده، شرایط استفاده، اسناد مرجع و غیره را مستند کند. اطلاعات مربوط به نسخه های API موجود نیز باید در اسناد گنجانده شود. - - پشتیبانی توسعه دهندگان در پشتیبنی، API های REST که برای درستی طراحی شده اند معمولا برای توسعه دهندگان، بسیار قابل درک هستند. توسعه دهندگان برنامه، می توانند به راحتی از آنها برای توسعه برنامه، استفاده کنند. با این حال، ارایه‌دهنده API باید منابعی را فراهم کند که توسعه‌دهندگان بتوانند از آنها برای ساخت برنامه‌های نوآورانه استفاده کنند. اسناد و شتاب دهنده های خوب API در قالب کیت های آزمایش و توسعه می توانند به سرعت بخشیدن به پذیرش API ها کمک کنند. مستندات API نه تنها باید رابط API را توصیف کند، بلکه باید راهنماهای نحوه تعامل با API ها را نیز ارایه کند. پورتال توسعه‌دهنده می‌تواند کنسول‌های آزمایشی تعبیه‌شده را ارایه کند که توسعه‌دهندگان می‌توانند از آن برای بازی با یک API و درک آن استفاده کنند. کد نمونه ای که استفاده از API ها را نشان می دهد می تواند به عنوان یک راهنمای شروع، سریع عمل کند و برای توسعه دهندگان برنامه بسیار مفید باشد. توسعه‌دهندگان برنامه اغلب به دنبال کتابخانه‌های مخصوص دستگاه می‌گردند تا با سرویس‌هایی که توسط API ها در معرض دید قرار می‌گیرند، مانند SDK‌های قابل دانلود در پورتال توسعه‌دهنده تعامل داشته باشند. - - مقبولیت از نظر برنامه‌نویس برای شروع استفاده از API ها، توسعه دهندگان باید در سیستم ارایه دهنده API ثبت نام کنند تا اعتبار دسترسی را دریافت کنند. توسعه دهندگان می توانند به صورت مستقل یا به عنوان بخشی از یک شرکت ثبت نام کنند. فرآیند ثبت نام باید ساده و آسان باشد. توسعه‌دهندگان باید بتوانند فرآیند ثبت‌نام خود را طی کنند و API های موجود از ارایه‌دهنده API را مشاهده کنند. سپس توسعه دهندگان می توانند یک محصول API را انتخاب کرده و برنامه های خود را برای استفاده از آن ثبت کنند. پس از ثبت نام و تایید موفقیت آمیز، یک کلید API به همراه یک رمز برای شناسایی منحصر به فرد برنامه تولید می شود. از کلید API به عنوان کلید برنامه یا شناسه مشتری نیز یاد می شود. بر اساس شرایط و ضوابط و تنظیم مدل کسب درآمد، فرآیند ت یید ممکن است خودکار یا دستی باشد. در ت یید دستی، یکی از اعضای تیم مدیریت API درخواست ثبت نام را ت یید می کند. کلید API تنها پس از ت یید موفقیت آمیز برنامه تولید می شود. در برخی موارد، توسعه دهندگان ممکن است بخشی از یک شرکت را تشکیل دهند. در چنین سناریوهایی، یک قابلیت مدیریت کلید مهم است تا مصرف‌کنندگان API بتوانند کلیدهای API را در سازمان خود اضافه، اصلاح یا لغو کنند. - - مدیریت جامعه توسعه دهندگان برنامه اغلب دوست دارند نظرات توسعه دهندگان دیگر جامعه را بدانند. آنها ممکن است بخواهند با یکدیگر همکاری کنند و آموخته ها و تجربیات استفاده از API خود را با یکدیگر به اشتراک بگذارند. وبلاگ ها و انجمن ها بخش عمده ای از همکاری و مدیریت جامعه را تشکیل می دهند. توسعه دهندگان ممکن است تجربیات خود را در مورد استفاده از API از طریق پست های وبلاگ به اشتراک بگذارند. ممکن است چنین پست‌هایی قبل از اینکه برای همه قابل مشاهده باشند، باید توسط ارایه‌دهنده API تعدیل شوند. یک ارایه‌دهنده API همچنین ممکن است وبلاگی ایجاد کند تا به‌روزرسانی‌ها و برنامه‌های آینده را با جامعه مصرف‌کنندگان API به اشتراک بگذارد. توصیه ها و بهترین روش ها در مورد استفاده از API نیز ممکن است در وبلاگ ها و انجمن های گفتگو به اشتراک گذاشته شود. یک توسعه‌دهنده همچنین باید بتواند مشکلات مربوط به API یا استفاده از آن را به تیم پشتیبانی ارایه‌دهنده API گزارش دهد. پورتال توسعه دهنده ممکن است پیوندی برای افزایش تیکت‌های پشتیبانی داشته باشد. وبلاگ ها و انجمن های یکپارچه می توانند به ایجاد یک جامعه واقعا پویا برای افزایش استفاده از API های ارایه دهنده کمک کنند. مدیریت چرخه عمر API این قابلیت را فراهم می کند که چگونه یک API توسعه یافته و برای مصرف کنندگان منتشر شود. API های منتشر شده می توانند توسط مصرف کنندگان برای ساخت برنامه استفاده شوند. آنها می توانند مشکلات را گزارش کنند یا درخواستی برای یک ویژگی API جدید مطرح کنند. یک پلت فرم مدیریت API باید قابلیت های زیر را برای مدیریت چرخه عمر API فراهم کند. - ایجاد API یک API به عنوان نمای خارجی برای تعامل با سرویس‌های backend عمل می‌کند. تیم API باید بتواند رابط REST را برای API طراحی کند و یک پروکسی API برای تعامل با سرویس‌های backend ایجاد کند. یک پروکسی API به عنوان یک نمای خارجی عمل می کند تا خدمات پشتیبان را به طور ایمن در معرض دید مصرف کنندگان قرار دهد. خط‌مشی‌های پیوست‌شده در مسیرهای جریان پراکسی API باید بتوانند امنیت، مدیریت ترافیک، ترجمه پیام، رمزگذاری، فیلتر کردن، ذخیره‌سازی، هماهنگ‌سازی و مسیریابی را پیاده‌سازی کنند. پس از تکمیل توسعه، تیم API باید قادر به استقرار و آزمایش API از طریق یک کنسول باشد. یک کنسول تعبیه شده برای آزمایش API ها می تواند بسیار مفید باشد و می تواند به کاهش زمان توسعه کمک کند. پلتفرم مدیریت API باید ابزارهایی را فراهم کند که ایجاد API ها را امکان پذیر می کند و متعاقبا آنها را قبل از انتشار برای تولید در یک محیط استقرار و آزمایش می کند. - انتشار API هنگامی که یک API ایجاد شد، قبل از اینکه بتوان آن را کشف و استفاده کرد، باید در یک محیط منتشر شود. بنابراین پلتفرم مدیریت API باید ابزارهایی را فراهم کند که بتوان از آنها برای انتقال API ها از محیط های پایین تر و استقرار به تولید استفاده کرد. پس از استقرار آن در تولید، مشخصات API و سایر جزییات باید در پورتال توسعه‌دهنده منتشر شود تا مصرف‌کنندگان بتوانند آن را کشف کرده و در برنامه‌های خود از آن استفاده کنند. در صورت استقرار نادرست، پلتفرم باید قابلیت بازگشت به نسخه قبلی از API را فراهم کند. - مدیریت نسخه API ها در طول زمان با الزامات تجاری جدیدتر تکامل می یابند. از این رو، مدیریت چندین نسخه از یک API برای پشتیبانی از مصرف کنندگان موجود، یک قابلیت مهم است که باید توسط پلت فرم مدیریت API ارایه شود. مدیریت نسخه همچنین باید امکان منسوخ کردن و بازنشستگی نسخه های قدیمی تر را فراهم کند. هنگامی که یک نسخه API به عنوان منسوخ علامت گذاری می شود، مصرف کنندگان موجود باید از طریق هشدارهای منسوخ شدن مطلع شوند. API های منسوخ شده ممکن است همچنان به ترافیک مصرف کنندگان موجود ادامه دهند. با این حال، مصرف کنندگان جدید نباید بتوانند برای استفاده از API های منسوخ ثبت نام کنند. با اخطار و دوره مناسب، API های منسوخ شده باید بازنشسته شوند و از پلتفرم حذف شوند تا از هرگونه هزینه تعمیر و نگهداری جلوگیری شود. بنابراین پلت فرم مدیریت API باید قابلیت مدیریت بازنشستگی یک API را فراهم کند. - تغییر اعلان تغییرات در یک API ممکن است بر مصرف کنندگان آن ت ثیر منفی بگذارد. از این رو، مصرف کنندگان باید از هرگونه تغییر برنامه ریزی شده در API مطلع شوند. توسعه دهندگانی که از API استفاده می کنند باید از هرگونه تغییر در API آگاه شوند. بنابراین پلتفرم مدیریت API باید مکانیزمی را برای اطلاع مصرف کنندگان API از هرگونه ارتقا یا قطعی API ارایه دهد. اطلاع رسانی را می توان از طریق ایمیل، پیامک یا رسانه های اجتماعی انجام داد. اعلان‌های انتشار می‌توانند به‌روزرسانی‌هایی درباره نسخه‌های جدید و ویژگی‌های اضافه‌شده به API ارایه دهند. مصرف کنندگان API باید در مورد زمان های توقف برنامه ریزی شده یا برنامه ریزی نشده مطلع شوند. یک پورتال توسعه دهنده API می تواند برای ارسال اعلان های انتشار و در دسترس بودن به کاربران مشترک استفاده شود. - مدیریت مسایل پلت فرم مدیریت API باید این امکان را برای مصرف کنندگان API فراهم کند تا مشکلات موجود در API ها را ثبت کنند. توسعه‌دهندگان برنامه‌هایی که API مصرف می‌کنند باید بتوانند هر گونه مشکل یا کاستی مربوط به API خود را گزارش کنند. آنها باید بتوانند بلیط های پشتیبانی را جمع آوری کنند و در مورد استفاده از API کمک بگیرند. مشکلات را می توان از طریق پورتال توسعه دهنده گزارش کرد. پلت فرم مدیریت API باید قابلیت ادغام گزارش عیب‌ها و قابلیت‌های مدیریت مسایل را در سیستم‌های موجود درون سازمانی فراهم کند. از مجموعه ابزار‌های منبع بازی که می‌توان از آن‌ها به منظور مدیریت API ها استفاده کرد عبارتند از: در ایران هم شرکت‌هایی در حال ارایه‌ی پلتفرم مدیریت API هستند مانند شرکت پلتکو.