اگر تخصصتان در حوزه فناوری اطلاعات باشد احتمال زیاد واژه رابط برنامهنویسی نرمافزار (Application Programming Interface – API) را زیاد شنیده باشید. از منظر فنی API به نرمافزارها امکان دسترسی به دادهها و تعامل با اجزای نرمافزار خارجی، سیستمعاملها یا میکرو سرویسها (Microservices) را میدهد.
اما امروزه این واژه تنها یک اصطلاح فنی در حوزه توسعه نرمافزار نیست و جنبههای کسبوکاری آن پررنگ شده است. اصطلاحی مانند اقتصاد API-محور (API Economy) دلالت بر جنبههای تجاری این مفهوم فنی دارد. در این مقاله سعی دارم تا به زبان ساده مفهوم رابط برنامهنویسی نرمافزار (API) را برای خوانندگان غیر فنی توضیح دهم و دلالتهای آن را در حوزه کسبوکار تشریح کنم.
API به زبان ساده
شما بهعنوان یک انسان وقتی میخواهید با یک نرمافزار تعامل کنید، نیاز است این تعامل استاندارد شود. برای مثال وقتی شما میخواهید از سیستم پست الکترونیکی خود استفاده کنید این تعامل استاندارد شده است. طراحان نرمافزار برای آنکه این تعامل را در یک چارچوب مشخص دربیاورند یک رابط کاربر (User Interface – UI) طراحی کردند تا این تعامل استاندارد شود.
برای نمونه معلوم است که اگر بخواهید ایمیلی را بخوانید باید به چه پنجرهای بروید، اگر بخواهید ایمیلی را ارسال کنید باید چه دکمهای را بزنید و یا اگر بخواهید ایمیلی را حذف کنید، چگونه انجام دهید.
رابط برنامهنویسی نرمافزار (API) همان نقش را برای تعامل بین دو نرمافزار بازی میکند؛ یعنی چارچوبی فراهم میکند تا برنامهها ارتباط با یکدیگر را استاندارد کنند.
بهطور خلاصه API اجازه میدهد که نرمافزارها با یکدیگر صحبت کنند. بهطورکلی اقداماتی که از طریق API انجام میشود، در چهار دسته جای میگیرند:
GET: درخواست داده
POST: فرستادن یک سری اطلاعات جدید
PUT: تغییرات روی دادههای موجود
DELETE: پاک کردن اطلاعات
آشنایی با وبسرویس (Web Service)
وبسرویس (Web Service) یکی از متداولترین و کاربردیترین انواع API است. هر پروتکلی که از طریق شبکهٔ اینترنت و وب تعامل بین اپلیکیشنهای مختلف را امکانپذیر میسازد، API تحت وب یا وبسرویس گفته میشود.
اینترنت درواقع چیزی بهجز یک شبکه بزرگ از سرورهای به هم متصل شده نیست. هر صفحه وب، ازجمله همین صفحهای که در وبسایت من در حال مطالعه آن هستید، بر روی یک سرور قرار دارد. سرور هم به زبان ساده چیزی نیست جز یک کامپیوتر که برای پردازش درخواستها بهینه شده است. شما میتوانید کامپیوتر خودتان را هم تبدیل به سرور کنید.
وقتی شما در نرمافزار مرورگرتان نشانی www.analica.ir را تایپ میکنید، یک درخواست به سرور وبسایت آنالیکا ارسال میشود. وقتی مرورگر شما پاسخ را دریافت کند، کدهای دریافتی را اجرا میکند و صفحه وب را نمایش میدهد. برای مرورگر شما این تعامل با API سرور وبسایت آنالیکا صورت میگیرد.
آشنایی با معماری میکرو سرویس (Microservice)
معماری میکرو سرویس یکی دیگر از حوزههایی است که API در آن کاربرد دارد. امروزه تیمهای توسعه نرمافزار ممکن است که اپلیکیشن خود را به چند بخش شکسته و آنها روی چندین سرور قرار دهند که از طریق API با یکدیگر صحبت میکنند. چنین معماری در توسعه نرمافزار معماری میکرو سرویس نام دارد.
برای مثال یک اپلیکیشن تجارت الکترونیک را در نظر بگیرید که از مشتریان سفارش کالا دریافت میکند، موجودی کالا در انبار و موجودی کیف پول مشتری را بررسی میکند و درنهایت فرآیند ارسال را انجام میدهد. این اپلیکیشن از اجزاء مختلف کوچکتری شامل محیط فروشگاه اینترنتی که نقش رابط کاربری (UI) را بازی میکند و سرویسهای پشتیبانی (Backend Services) مانند بررسی موجودی کیف پول، بررسی موجودی کالا در انبار و ارسال سفارشها تشکیل شده است. پس میتوان گفت این اپلیکیشن شامل یک سری میکرو سرویس است که با یکدیگر از طریق API تعامل دارند و داده مبادله میکنند (شکل-۱).
از مزایای چنین رویکردی در توسعه نرمافزار این است که امکان توسعه نرمافزارهای پیچیده با اجزاء مختلف را فراهم میکند، توسعه نرمافزار را سرعت میبخشد، نگهداری از زیرساخت نرمافزاری را سادهتر میکند، و انعطافپذیری در استفاده از فناوریهای متنوع در توسعه نرمافزار را بالا میبرد.
API بهعنوان دارایی استراتژیک کسبوکار
جمعبندی من از مطالعات مختلف این است که مفهوم API از یک مسئله فنی در حوزه توسعه نرمافزار فراتر رفته است. بهطورکلی اثرات آن را بر کسبوکار در سه دسته کلی تقسیم میکنم: تقویت دارایی دیجیتال بنگاه، درآمدزایی برای کسبوکار و خلق زیستبومهای (Ecosystem) جدید.
تقویت دارایی دیجیتال بنگاه
استفاده از معماری میکرو سرویس، اجازه توسعه چابک و انعطافپذیر سامانهها و زیرساختهای فناوری اطلاعات را میدهد. تفکیک عملکردهای نرمافزاری به سرویسهایی که با API در دسترس قرار میگیرند و در تناظر با فرآیندهای کسبوکار هستند در مرکز تحول دیجیتال (Digital Transformation) شرکتها قرار دارد.
رویکرد مبتنی بر API بود که به شرکتی مانند اوبر (Uber) که در حوزه تاکسیهای اینترنتی فعال است اجازه داد بهسرعت خود را وارد بازار تحویل فوری غذا کند (تقریباً همین اتفاق در ایران برای شرکت مشابه آن رخ داد).
یکی از نمونههای پیشرو و موفق در دنیا شرکت آمازون (Amazon) است. جف بزوس (Jeff Bezos) در سال ۲۰۰۲ همه تیمهای محصول در آمازون را ملزم کرد که ارتباط و تبادل داده را با یکدیگر در قالب API انجام دهند. چنین رویکردی در آمازون به انعطاف و سرعت در توسعه محصول منجر شد. بهاینترتیب آمازون موفق شد زیرساختهای فناوری اطلاعت خود را به بخشهای مختلفی تقسیم کند که هر یک از طریق رابط تحت وب با یکدیگر صحبت کنند.
چنین رویکردی منجر به ایجاد یکی از پرسودترین واحدهای کسبوکار شرکت یعنی وبسرویس آمازون (Amazon Web Service – AWS) شد. این وبسرویسها شامل سرویسهای محاسباتی و رایانشی (EC2)، ذخیرهسازی (Amazon S3)، تحویل محتوا، پایگاه داده، تجارت الکترونیک، پرداخت و صدور صورتحساب و موارد دیگری میشود. آمازون ارائه این خدمات به عموم را از ابتدای سال ۲۰۰۶ آغاز نمود.
درآمدزایی مستقیم برای کسبوکار
از منظر کاربردی API برای آن توسعه مییابد که خدمات یا نرمافزار شرکت شما با امکانات یک نرمافزار ثالث ادغام شود. برای مثال، فرض کنید شما یک اپلیکیشن تجارت الکترونیک دارید که از طریق آن کاربران بهصورت برخط (Online) میتوانند کالایی را از شما بخرند و شما هم آن را از طریق شرکت ملّی پست ایران به درب منزل آنان هرکجای ایران که باشد، میفرستید.
بهعنوان یک خدمت، شما در اپلیکیشن خود میخواهید رهگیری کالای سفارش دادهشده را از زمان سفارش تا رسیدن به دست مشتری به او گزارش دهید. بخشی از عملیات مانند موجودی گرفتن کالا از انبار، بستهبندی و آمادگی برای ارسال در داخل شرکت شما انجام میشود و شما میتوانید اطلاعات آن را به مشتری نشان دهید. ولی بخش ارسال کالا توسط شرکت ملّی پست ایران انجام میشود.
خوشبختانه شرکت پست دادههای مراحل مختلف ارسال مرسوله را از طریق API تحت وب میتواند در اختیار شرکت شما قرار دهد تا بتوانید این دادهها را در داخل اپلیکیشن خودتان برای کاربران به نمایش دربیاورید. شرکت پست بابت هر درخواست داده که فرستاده میشود از شرکت شما پول دریافت میکند.
امروزه هزاران API توسط شرکتها و نهادهای عمومی توسعه یافته است.امروزه برخی شرکتهای پیشرو در دنیا نظیر Salesforce، Ebay و Expedia بین ۵۰ تا ۹۰ درصد درآمدشان را از طریق خدماتی که با API عرضه میکنند، به دست میآورند.
در گزارشی که اخیراً گروه مشاوران مکنزی (McKinsey & Company) از صنعت مالی دنیا منتشر کرده است، اشاره شده است که ۹۰ درصد مؤسسات مالی شرکتکننده در نظرسنجی مکنزی به دنبال این هستند تا از API برای ایجاد درآمد بیشتر از مشتریان فعلی خود استفاده کنند. همچنین دو سوم آنان اعلام کردند به دنبال استفاده از API برای ایجاد یک جریان درآمدی از مشتریان جدید هستند.
خلق زیستبومهای جدید
رابط برنامهنویسی نرمافزار (API) میتواند به توسعهدهندگان نرمافزار در خارج از سازمان شما، اجازه دهد تا محصولات و خدماتی را ارائه کنند که ذاتاً وابسته به فرآیندهای کسبوکار، محصولات یا زیرساختهای فناوری اطلاعات سازمان شما باشد.
درحالیکه در رویکرد قبلی، سازمان شما مستقیم از API درآمدزایی میکرد، در این رویکرد مجموعهای از داراییهای دیجیتال سازمان شما منجر به ایجاد زیست بومی برای خلق ارزش میشود. چنین رویکردی میتواند منجر به خلق زیستبومهای جدید و رشدهای سریع و بزرگی برای سازمان شود.
یک مورد جالب در خصوص خلق زیستبوم مبتنی بر API محصول واتسون شرکت آی بی ام (IBM Watson) است. آی بی ام واتسون یک سیستم هوش مصنوعی (Artificial Intelligence) مبتنی بر پرسش و پاسخ است. این سیستم میتواند به حجم زیادی از دادههایی که دانش بشری را تشکیل میدهند، متصل شود و با سرعت ۵۰۰ گیگابایت بر ثانیه آنها را پردازش کند. هدف آی بی ام واتسون این است بهصورت پرسش و پاسخ با انسان تعامل کند، پرسشها را درک کند و پاسخهایی به انسان بدهد که برای او قابلفهم باشد.
برنامه اولیه آی بی ام استفاده از موقعیت منحصربهفردش در صنعت نرمافزار و فناوری بود تا واتسون را به یک محصول موفق تبدیل کند. ولی این شرکت خیلی زود فهمید که بازی عوض شده و استراتژی خود را تغییر داد. آی بی ام دسترسی به واتسون را از طریق API برای همه آزاد کرد. چنین رویکردی باعث شد تا نیروی نهفته توسعه محصولات و خدمات متنوع توسط شرکتهای ثالث مبتنی بر آی بی ام واتسون آزاد گردد.
یکی از این نمونهها کاربرد واتسون در رشته سرطانشناسی (Oncology) بود. API-های واتسون به پایگاه دادههای علمی اِلزویر (Elsevier) و آرشیو گسترده مطالعات علمی حوزه سرطان آن متصل شد. چنین رویکردی منجر شد تا پزشکان و پرستاران به اطلاعات بیسابقهای در خصوص نشانهشناسی و رویکردهای تشخیص و درمان سرطان دست پیدا کنند.
این استراتژی به آی بی ام اجازه داد تا زیست بوم حوزه سرطانشناسی خود را توسعه دهد و پایگاههای داده، مراکز درمانی، بیمارستانها، متخصصان و پزشکان زیادی از سراسر دنیا را به اکوسیستم خود متصل کند. همچنین این فرصت را فراهم کرد تا در سایر حوزههای درمان و سلامت هم خود را مطرح کند.
آی بی ام همین رویکرد را در حوزههای دیگر در پیش گرفت و زیستبومهای دیگری در حوزه ساخت دستور پخت آشپزی، خرید و مسافرت خلق کرد. این منجر به خلق یک فرصت چندین میلیارد دلاری برای آی بی ام واتسون از طریق توسعه زیستبوم مبتنی بر API شد.
یادمان باشد شرکتی مانند آمازون از فروش برخط کتاب شروع به کار کرد و الآن یکی از پرسودترین بخشهای کسبوکار آن زیستبوم آمازون وبسرویس است. به قول تئودور لویت (Theodore Levitt) که پرسید “واقعاً کسبوکار شما چیست؟”، مدیران شرکتها باید چنین پرسشی را مرتباً از خود بپرسند؛ پرسشی که با ظهور API پاسخ به آن روزبهروز دشوارتر میشود.
اگر به این مقاله علاقهمند بودید، خواندن مقاله ” دادههای باز چیست؟” را در آنالیکا توصیه میکنم.
منابع:
گروه مشاوران مکنزی – مترجم: کیان پور، علیرضا (۱۴۰۰). “عصر پرشتاب: ۱۸ سؤال از رهبرانی که به تحول دیجیتال میاندیشند”، انتشارات امیران
Botta, A., et al. (2021). “From Tech Tool to Business Asset: How Banks Are Using B2B APIs to Fuel Growth”, McKinsey & Company
Richardson , C. (2021). “Pattern: Microservice Architecture”, https://microservices.io/patterns/microservices.html
Subramaniam, M. & Iyer, B. (2015). “The Strategic Value of APIs”, Harvard Business Review, https://hbr.org/2015/01/the-strategic-value-of-apis
Wang, T. X. & McLarty M. (2021). “APIs Aren’t Just for Tech Companies”, Harvard Business Review, https://hbr.org/2021/04/apis-arent-just-for-tech-companies