مقدمه ای بر API ها
یکی از مهمترین اجزای تشکیل دهنده ارزش مبتنی بر داده، API است. API مخفف Application Program Interface است، یک روش استاندارد برای انتقال داده و دستورات بین سیستم های مختلف برای کمک به آنها برای کار با ثبات و ایمن است.
APIها توسعه دهندگان را قادر می سازند تا برنامه ها و دستگاه های مختلف را بدون اختراع مجدد توابع رایج یا ادغام عملیات مختلف به هم متصل کنند، که امکان تعامل انسان به ماشین و ماشین به ماشین را فراهم می کند.
برای انجام این کار، APIها به معماری قدرتمند و شفافیت در مورد نحوه ساختار داده نیاز دارند. در غیر این صورت، برنامه هایی که داده ها را به روش های مختلف می خوانند یا تغییر می دهند، می توانند نتایج ناخواسته داشته باشند.
مثال
API های احراز هویت
برای مثال، هر بار که از فیسبوک برای ورود به وب سایت دیگری مانند Airbnb استفاده می کنید، از یک API احراز هویت استفاده می کنید. فیسبوک به Airbnb تأیید می کند که شما همان کسی هستید که می گویید، بدون اینکه مجبور باشید نام کاربری و رمز عبور جداگانه ای تنظیم کنید. قوانینی در مورد اینکه چه داده هایی می توانند بین سیستم ها با فیسبوک منتقل شوند و چه داده هایی نمی توانند، وجود دارد. این قوانین بسته به موقعیت می توانند از حریم خصوصی شما محافظت کنند یا آن را به خطر بیندازند.
برنامه های شخص ثالث لزوماً به همه چیز در مورد پروفایل فیسبوک شما دسترسی ندارند و ممکن است فقط بتوانند، برای مثال، آدرس ایمیل شما را ببینند.
API ها به شما امکان می دهند بدون نیاز به ساخت زیرساخت جدید از داده ها به سرعت استفاده کنید. هنگامی که هدف مورد نظر خود را برای استفاده از داده ها تعیین کردید، در نظر بگیرید که آیا می توانید از یک API و کیت های توسعه نرم افزار مرتبط (SDK) برای تحقق سریع آن استفاده کنید.
ضرورت استفاده از API ها
برای بهره مندی از API ها، شرکت ها باید زیرساخت خود را بازنگری کنند. از روزهای اولیه رایانه های دیجیتال تا دهه 1990 و اوایل دهه 2000، شرکت ها فناوری اطلاعات را در فرآیندهای موجود خود ادغام کردند تا تولید و فروش را ساده سازی کنند. اکثر سودهای حاصل از فناوری های اولیه از طریق افزایش بهره وری ایجاد شده است.
اما در عصر دیجیتال، نقش فناوری اکنون از بهینه سازی تولید به سمت قدرت دادن به پلتفرم ها تغییر می کند.
با توجه به انتظارات کاربران امروز، زیرساخت جدید نقاط ورودی برای مشارکت ایجاد می کند و به کاربران و شرکای استراتژیک اجازه می دهد تا به طور شگفت انگیزی در ایجاد، مصرف و استخراج ارزش همکاری کنند.
انتقال از “IT به عنوان یک ابزار” به “دیجیتال به عنوان یک توانایی”
یکی از تغییرات مهمی که فرصت های دیجیتال برای شرکت های سنتی نیاز دارند، گسترش مفهوم آنها از محل قرارگیری توابع فناوری در شرکت و نحوه اعمال آن است. مهارت ها و زیرساخت های سنتی فناوری اطلاعات مانند شبکه، مدیریت پایگاه داده و دسترسی به اینترنت بیش از هر زمان دیگری اهمیت دارند. با این حال، سازمان ها باید تمرکز خود را از IT به عنوان یک ابزار – که اساسا به یک بخش واحد در یک کسب و کار محدود می شود – به دیجیتالی به عنوان یک توانایی در هر بخش از کسب و کار تغییر دهند. IT از پشتیبانی از عملکردهای اساسی کسب و کار متوقف نمی شود – در عوض، شروع به ارائه و اتصال اجزای مورد نیاز برای ارزش های پیشنهادی دیجیتالی جدید و هیجان انگیز می کند.
فناوری اطلاعات قبلاً به عنوان “لوله های” دنیای تجارت در نظر گرفته می شد: یک هزینه ضروری که عملکرد فرآیندهای مادی مانند تولید محصولات یا فروش خدمات را تضمین می کرد.
به عبارت دیگر، فناوری اطلاعات یک ابزار بود که امکان عملکرد روان تر محصولات آنالوگ را فراهم می کرد. در ابتدا، این سیستمها فقط شامل چند فناوری و مجموعه داده کلیدی بودند. اما با اضافه شدن کاربران، مؤسسات و مجموعههای داده بیشتر، استراتژیهای فناوری به طور فزایندهای پیچیده شدند و چالشهای عظیمی را ایجاد کردند، زمانی که یک شرکت نیاز داشت به دیگری متصل شود (یا آن را به دست آورد).
مثال کلاسیک، خریداری Continental Airlines توسط United Airlines در ایالات متحده است – ادغام دو زیرساخت فناوری اطلاعات آنها سال های بی شماری طول کشید.
فناوریهای طرز فکر اولیه فناوری اطلاعات معمولاً بر روی آنچه در داخل دیوارهای شرکت اتفاق میافتد متمرکز بودند. در نتیجه، آنها تمایل دارند به سیستم های دیگر بسته باشند، انحصاری باشند و دسترسی کاربران به آنها دشوار باشد. ما می توانیم این عصر را به عنوان “فناوری اطلاعات” اما نه کاملاً دیجیتالی در نظر بگیریم. اکثر اشکال ایجاد ارزش هنوز به مدلهای کسبوکار و عرضههایی محدود میشود که برای کسی که از رایانهها مطلع نیست قابل تشخیص باشد.
به همین دلیل، توجه کمتری به قابلیت همکاری و رابط کاربری نسبت به عملکرد اولیه شد. ایجاد ارزش برای شرکتهایی با این طرز فکر تمایل دارد به یک چشم انداز خطی و آنالوگ، یعنی «لولهها» محدود شود.
مدل مبتنی بر لولههای فناوری اطلاعات بر سادهسازی فروش و تولید متمرکز بود، اما قابلیتهایی برای ایجاد ارزش جدید ارائه نمیکرد. در مدل قدیمی، زیرساخت یک مرکز هزینه است و نیاز دارد که سازمان میزبان خود، تمام ارزش را برای مشتری تصور، طراحی و ارائه کند.
با پیشرفت اجزای فناوری و زیرساخت، آنها ناهمگون تر شدند. رقابت شدید در صنایع نرم افزار و سخت افزار اغلب منجر به زیرساختی شد که درهم تنیده ای از وابستگی ها بود. راه حل های سفارشی برای شرکت های فردی یا حتی برای بخش های مختلف در یک شرکت ساخته شد.
مدیریت، ایمن سازی و حفظ زیرساخت دیجیتال در بودجه دشوار شد.
در بسیاری از صنایع، این منجر به مدلهای کسبوکار پلتفرم چند جانبه شد و در داخل شرکتها، اغلب منجر به ایجاد پلتفرمهای مشابه برای ایجاد ارزش در داخل سازمان شد.
سازمانها و افراد درون آنها باید دادهها و APIها را در آغوش بگیرند تا اطمینان حاصل کنند که میتوانند در چشمانداز دیجیتال متغیر امروز ارزش ارائه دهند.
شرکتها باید مدلهای ذهنی را در سراسر سازمان خود تغییر دهند تا به «دیجیتال» به عنوان یک توانایی فکر کنند، نه به IT فقط به عنوان یک تابع کاربردی، به طوری که بتوانیم به طور استراتژیک دادهها را جمعآوری کنیم و آنها را در اطلاعات معنادار سازماندهی کنیم.
برای انجام این کار، هر فرد در شرکت باید حداقل توانایی گفتگو – اگر نه تسلط – در فناوری های برتر را داشته باشد که بر کسب و کار آنها تأثیر می گذارد و به آن قدرت می دهد.
به عنوان مثال، در بسیاری از شرکتها، بخشهای بازاریابی و برندسازی اولین واحدهای تجاری بودند که مهارتهای فناوری خود را به کار گرفتند، گاهی اوقات در تضاد با سیاست IT موجود. این بخشها، چه از طریق فروشندگان شخص ثالث مانند آژانسها و چه به دلیل اینکه تصمیم به استخدام متخصصان فناوری خود گرفتند، به ما نشان دادند که IT نمیتواند به یک ابزار «بیا و آن را درست کن» در داخل کسبوکار محدود شود.
این چالشهای بزرگی را برای سازمانهای فناوری اطلاعات ایجاد میکند، زیرا آنها در حال مرتبسازی مراکز هزینه کسبوکار هستند – وبهای درهمتنیده از فناوریهای وابسته به هم – در داخل شرکتها، در حالی که در تلاش برای راهاندازی عملکردهای جدید تولیدکننده درآمد هستند.
برای یک نمونه ملموس از اینکه چگونه چنین تفکر «معماری سازمانی» باید گسترش یابد، انیمیشن وایتبرد عالی ArchiMate در مورد اهمیت معماری سازمانی در یک کسبوکار مبتنی بر پلتفرم را تماشا کنید.
این تغییر در تفکر از زیرساخت یکپارچه به مدل پلتفرم، شرکت ها را به روش های کلیدی زیر تحت تأثیر قرار می دهد:
- زیرساخت داخل شرکت ها در حال مدرن شدن است – یا طبق برنامه یا به عنوان پاسخی به نیازهای امنیتی و نیروهای بازار فناوری اطلاعات.
- بسیاری از سازمان ها از طریق ابزارهای ابری و API به مشتریان و شرکای خود متصل می شوند.
- برخی از سازمانها مستقیماً دادهها و زیرساخت خود را پولی میکنند و آن را از یک مرکز هزینه به یک مرکز درآمد تبدیل میکنند.
- تعداد کمی از سازمانها در حال میزبانی پلتفرمهای چند جانبه، بازار ایدهها، دادهها و برنامههایی هستند که سایر شرکتها و کاربران فردی در آن مشارکت دارند.
APIها تمام این تغییرات را امکان پذیر می کنند:
- در داخل شرکت ها، API ها داده ها و سیستم های مختلفی را که قبلاً با هم کار نمی کنند، مانند اتصال برنامه های مختلف Microsoft Office، متصل می کنند.
- بین سازمان ها، API ها امکان برقراری ارتباط استاندارد و هماهنگی عملیات سیستم های ماشینی را فراهم می کنند.
- API ها به داده ها و زیرساخت اجازه می دهند تا به صورت استاندارد، قابل مدیریت و اندازه گیری شده پولی شوند، مانند بین مؤسسات مالی و نرم افزار حسابداری Quickbooks یا برنامه های تلفن همراهی که از ابزارهای تشخیص تصویر Google استفاده می کنند.
- API ها اتصالاتی بین کاربران و پلتفرم ها و در داخل پلتفرم ها فراهم می کنند، همانطور که HealthKit اپل اتصال امن و همگام سازی بین برنامه های بهداشتی بومی و شخص ثالث، دستگاه ها و حتی ارائه دهندگان و محققان پزشکی را ساده می کند.
استانداردسازی API ها به طرز چشمگیری هزینه و ریسک نوآوری را کاهش می دهد. از این طریق، آنها به شکوفایی اثرات شبکه اجازه می دهند – ارزش به طور تصاعدی در حال رشد یک شبکه از افراد، ماشین ها، مجموعه داده ها و توسعه دهندگان با اضافه شدن اعضای یا گره های بیشتر به آن. API ها بافت همبند هستند که به افراد و سازمان ها اجازه می دهد تا به سرعت و ایمن با داده ها ارزش ایجاد کنند.
این تکامل از سیستمهای دارای فناوری اطلاعات به پلتفرمهای شبکهای چگونه است؟
سیستم های موجود فعال شده توسط IT
زیرساخت بکاند فقط برای استفاده داخلی
مجموعه ای از سیستم ها و داده های بسته، سیلو و غیرقابل انعطاف، که برای هدف(های) خاصی ساخته شده اند
مرکز هزینه – زیرساخت فرآیندهای موجود را ساده می کند، اما مشتریان جدیدی را جذب نمی کند یا فرصت های درآمدی جدیدی ایجاد نمی کند
شرکت تمام ارزش را در رابطه با مشتری از طریق یک محصول یا مجموعه محصولات ایجاد، ارائه و حفظ می کند.
پلتفرم های شبکه ای جدید
زیرساخت بکاند نیز با کاربران و شرکا تعامل دارد
سیستمها و دادههای کاملاً باز و قابل همکاری، ساخته شده برای اینکه اشخاص ثالث بتوانند «وصل کنند و بازی کنند»
تولیدکننده درآمد – زیرساخت از بازاری پشتیبانی می کند که در آن اشخاص ثالث می توانند پیشنهادات مستقلی ایجاد کنند که مشتریان جدیدی را جذب می کند
شرکت یک پلتفرمی را میزبانی می کند که به مشتریان، شرکای استراتژیک و سایر اشخاص ثالث اجازه می دهد تا با هم ارزش ایجاد و استخراج کنند.
تفکر محاسباتی
در جاهای دیگر، در مورد مفهوم تفکر محاسباتی بحث کرده ایم که فرآیند تجزیه مشکلات پیچیده به قسمت های کوچکتر، ایجاد مدل های جهان (و سیستم های فناوری)، شناسایی الگوها یا اجزای قابل استفاده مجدد، مونتاژ دستورالعمل ها به الگوریتم ها و ایجاد برنامه ها یا برنامه های کاربردی است.
شرکت های آنالوگ سنتی با تجزیه مشکلات بسیار پیچیده انسانی به عملکردهای انتخابی فعال شده توسط فناوری اطلاعات و واگذاری بقیه کارها به انسان ها شروع شدند. در همین حال، شرکتهای بومی دیجیتال مانند گوگل، آمازون، فیسبوک و استارتآپهای قابل توجه، از طرف دیگر شروع کردند. اساساً، آنها فقط متعهد به کار و خدماتی هستند که می توان آنها را در یک مجموعه ابزار کاملا دیجیتال مدیریت کرد.
برای سادهسازی بیش از حد، شرکتهای آنالوگ کار انسانی را به توابع ماشینی تجزیه میکنند تا سریعتر، بهتر یا ارزانتر عمل کنند. در مقابل، شرکت های دیجیتال با ترکیب (یا مونتاژ) توابع مختلف فناوری، و استفاده از انسان ها فقط برای وظایف بسیار ارزشمند یا پیچیده ای که نیاز به مغز انطباق پذیر هومو ساپینس دارد، پیشنهادات و عملکردهای تجاری ایجاد می کنند.
مثال
برنامه های Rideshare
یک برنامه rideshare ممکن است از چندین فعالیت کلیدی تشکیل شده باشد که همگی مبتنی بر API ها و سایر اجزای قابل استفاده مجدد هستند:
- یک برنامه ساخته شده برای یک سیستم عامل تلفن همراه (با بسیاری از عملکردهای رایج موجود)
- خدمات موقعیت مکانی (ارائه شده توسط دستگاه کاربر و سیستم عامل آن)
- نقشه کشی (ارائه شده توسط سرویسی مانند Google Maps)
- اعلانها (از طریق یک سرور اعلانها که از طریق API مدیریت میشود)
- چت، پیامک و تماس تلفنی برای اتصال رانندگان و مسافران (با استفاده از یک سیستم ارتباطات مبتنی بر اینترنت مانند Twilio)
- جمعآوری و توزیع پرداختها (با استفاده از یک ارائه دهنده پرداخت مانند Stripe)
- موسیقی (بله، واقعا—اوبر آزمایشی را انجام داد که در آن یک مسافر میتوانست موسیقی خود را به تلفن راننده ارسال کند تا از طریق استریوی ماشین پخش شود)
مهم است که در اینجا توجه داشته باشید که توسعهدهنده برنامه فقط باید عملکردهای منحصر به فرد خود را توسعه دهد. آنها نیازی به فهمیدن نحوه مدیریت هویت کاربران، جزئیات پرداخت و غیره ندارند. شخص دیگری قبلاً آن عملکرد را ساخته است و آنها می توانند به صورت رایگان، با هزینه کم برای دسترسی اندازه گیری شده، یا به عنوان بخشی از یک کمیسیون بسته بندی شده، مانند کمیسیون های فروشگاه برنامه اپل، به آن دسترسی داشته باشند.
در صنعت مالی، API های مختلف زیادی در دسترس است. در اینجا چند نمونه از API هایی وجود دارد که به طور مرتب در همه چیز، از برنامه های بودجه شخصی مخرب تا بانک های چند ملیتی عظیم، به هم متصل و بازسازی می شوند.
مثال
بازار داده AWS
یکی از جامعترین مکانها برای کاوش در دادهها و عملکردهای موجود از طریق API، بازار ارائه شده توسط Amazon Web Services (AWS) است. AWS یک پلتفرم چند جانبه ارائه می دهد که در آن ارائه دهندگان داده، توسعه دهندگان الگوریتم و مصرف کنندگان عملکردی از طریق یک هسته مشترک به هم متصل می شوند. AWS اتصال ایمن برای همه طرفها را آسان میکند، معمولاً از طریق API. مجموعه دادهها از بسیار خاص (مانند دادههای بستری شدن در بیمارستان COVID-19 در مناطق خاص) تا بسیار گسترده (مانند سوابق همه پروازهای عمومی) متغیر است.
مثال
بازار الگوریتم AWS
الگوریتم ها (توابع پردازش داده) نیز در بازار AWS موجود هستند. به عنوان مثال، کار یکنواخت کردن یک مجموعه داده بزرگ در صورتی که به انسان ها برای انجام آن هزینه پرداخت کنید، پرهزینه است. در عوض، می توانید داده های خود را از طریق API به برخی از خدمات “برچسب گذاری داده” قدرتمند منتقل کنید و آن را در قالبی سازگارتر به شما برگردانند.
مثال
Clearbit
Clearbit یک نمونه از API غنی سازی داده است. Clearbit دادهها در مورد افراد، به ویژه متخصصان را به دست میآورد، جمعآوری میکند و عادیسازی میکند. این کار را با ارائه یک سرویس رایگان به افراد در یک مدل دو طرفه انجام می دهد: در ازای به اشتراک گذاشتن دفترچه آدرس خود با شرکت، دفترچه آدرس آنها با آخرین اطلاعات تماس، عنوان و سابقه استخدام به روز می شود. Clearbit سپس آن داده ها را با در دسترس قرار دادن نسخه پریمیوم، یک طرفه در اختیار شرکت های بزرگتر قرار می دهد که بدون ارائه داده در عوض، داده های غنی شده دریافت می کنند.
استعاره هایی برای API ها
چندین استعاره وجود دارد که API ها را قابل فهم تر می کند. در اینجا چند مورد وجود دارد که می تواند به هر کسی کمک کند تا مفاهیم API ها را درک کند
استعاره کشتی های باربری برای API ها
یک استعاره رایج برای API ها، ایده کشتی های باربری است. کشتی های باربری مشاغل مختلف را در مناطق مختلف به هم متصل می کنند و انواع کالاها را در کانتینرهای استاندارد حمل می کنند. یک مکالمه انسانی بین یک فروشنده خودرو و یک تامین کننده در کشور دیگر ممکن است به این صورت باشد:
- آیا وسیله نقلیه ای موجود دارید؟
- بله، ما این نه وسیله نقلیه را داریم.
- اوه، من باید دقیقتر میگفتم. من فقط ماشین میخواهم، نه قطار یا دوچرخه.
- باشه، ما هفت ماشین در دسترس داریم.
- هم، من فقط ماشین های جدید می خواهم.
- آره، ما چهار ماشین ساخت آخرین ده سال داریم.
- عالی! لطفا آنها را برای من ارسال کنید.
- باشه! آنها را در یک کانتینر قرار میدهم و آنها را در اولین کشتی باری به سمت شما میفرستم.
- ممنون!
به طور همزمان، بسیاری از مکالمات دیگر در جریان است، برای انواع مختلف کالاها، و همه آنها بسته بندی می شوند تا بارگیری، حمل و نقل و تخلیه کشتی باری آسان شود. این کانتینرهای حمل و نقل ایمن، قابل مدیریت و مات هستند – هیچ کس خارج از آنها نمی تواند داخل آنها را ببیند.
API ها پاسخ هایی به پرس و جوها ارائه می دهند، از جمله پرس و جوهای بسیار خاص، و سپس می توانند اشیاء مورد نظر را به صورت ایمن بین سیستم ها ارسال کنند (همانطور که کانتینرهای حمل و نقل و کشتی های باری مناطق و اقتصادهای مختلف را به هم متصل می کنند).
استعاره برق برای API ها
API ها نیز شبیه برق هستند. در روزهای اولیه برق، هر اتصال سفارشی بود – با کانکتورهای مختلف، انواع سیم، فرکانس، ولتاژ و آمپراژ.
این برای آزمایش کنندگان و پذیرندگان اولیه برق خوب بود، اما برای تولیدکنندگان ایجاد محصولات الکتریکی ایمن و قابل اعتماد برای بازار انبوه بسیار دشوار بود.
بنابراین، بسیاری از نقاط جهان به سرعت رویکرد خود را به انتقال برق استاندارد کردند. ماهیت برق (انواع جریان، ولتاژ و فرکانس) و شکل دوشاخه پریزهای برق برای هر منطقه تعیین شد که اکثر آنها بسیار نزدیک به یک استاندارد جهانی بودند. در داخل منطقه خود، آنها با هر دستگاه الکتریکی موجود در بازار سازگار هستند، حتی اگر تولیدکنندگان آداپتورهایی برای تبدیل برق و شکل دوشاخه تولید کنند.
بسیاری از دستگاه های مختلف، از لپ تاپ گرفته تا یخچال و فریزر تا خودروهای الکتریکی، می توانند به همان پریزها متصل شوند.
به لطف این استانداردسازی، امکان استفاده از الکتریسیته در موارد مختلف و همچنین ایجاد صنایع تولیدی کامل در زمینه دستگاه های الکتریکی نسبتاً ایمن فراهم شد.
استعاره لوله ها برای API ها
لوله ها نیز یک استعاره مفید برای API ها هستند. اگر داده ها را مانند آب در نظر بگیریم، همانطور که هنگام بررسی داده ها در حرکت در زنجیره تامین داده انجام دادیم، و سازمان ها را به عنوان ساختمان ها یا شهرها، به روشی سریع و قابل اعتماد برای انتقال همه آن آب به اطراف نیاز داریم.
ایده انتقال آب با سطل در مقابل لوله ها را مقایسه کنید. سطل ها نیاز دارند که کسی به منبع اولیه آب برود، آن را تهیه کند و با دقت آن را به محل زندگی یا کار خود حمل کند، آن را فیلتر کند و از آن استفاده کند – با خطر ریختن یا آلوده شدن آن در طول مسیر. این یک روش پر زحمت و وقت گیر برای انتقال آب است، و برخی از کاربردهای آب ارزش تلاش را ندارند.
با این حال، اگر یک سیستم لوله کشی ساخته شود، می توانیم به سرعت به مقدار مناسب آب، فیلتر شده صحیح، دقیقاً زمانی که به آن نیاز داریم دسترسی داشته باشیم و فقط برای چیزی که استفاده می کنیم هزینه پرداخت کنیم.
مانند لوله ها، API ها به ما اجازه می دهند جریان های داده را بین سیستم های مختلف متصل کنیم، عرضه و تقاضای داده را کنترل کنیم و حتی آن را اندازه گیری و بفروشیم.
استعاره بلوک های ساختمانی برای API ها
بلوک های ساختمانی مانند لگو، راهی عالی برای تفکر در مورد داده ها نیز هستند.
کودکان اغلب مجموعه ای از اسباب بازی ها و اشیاء گرانبها را جمع آوری می کنند. اضافه کردن پول به معادله اغلب به صورت تصاعدی تعداد اسباب بازی ها و قطعات آنها را که در خانه پراکنده شده اند افزایش می دهد. ممکن است پنجره یک خانه اسباب بازی به دیوار خانه اسباب بازی دیگری ن合わない.
بین سالهای 1910 و 1920، والدین شروع به دیدن اسباببازیهای جدیدی در قفسههای فروشگاهها کردند: Tinker Toys، Erector Sets، و Lincoln Logs—مجموعههای اسباببازیهای میکس و مطابق که به دلیل تشویق به ترکیب مجدد قطعات سازگار، امکان بازی طولانی را فراهم میکردند.
با مواجهه با انتخاب بین یک اسباببازی یکبار مصرف و سیستمی که کودکان به طور مکرر به روشهای جدید از آن استفاده میکردند، این مجموعهها به سرعت محبوب شدند.
چند سال بعد، یک شرکت کننده جدید (ناشی از ضرورت نوآوری زمانی که رکود بزرگ باعث هرج و مرج اقتصادی شد) به وجود آمد: لگو.
تا سال 1960، آجرهای درهم تنیده ای که امروزه می شناسیم به دلیل قابلیت همکاری متقابل، مانند مجموعه های ساختمانی مدولار قبل از خود و دقت آنها، شروع به کسب محبوبیت تصاعدی کردند. در حالی که Lincoln Logs و Tinker Toys از چوب ناقص و مجموعه های erector از فلز ناپدیدی استفاده می کردند که می تواند تغییر شکل دهد، Legos از فناوری جدید قالب های پلاستیکی دقیق استفاده می کرد.
هر چه تعداد کودکان بیشتری از لگو استفاده می کردند، محبوبیت بیشتری پیدا می کردند و والدین آجرها و قطعات دیگر بیشتری می خریدند – به دلیل قابلیت همکاری متقابل و اندازه گیری دقیق آنها که اجازه می داد سازه های عظیم و پیچیده ای ایجاد شود.
برخی از بلوک ها عمومی بودند و برخی دیگر اهداف خاصی داشتند، مانند چرخ ها یا حتی موتورهای یکپارچه. اما همه آنها می توانستند به هم متصل شوند.
مانند قطعات اسباببازیهای نامتناسب و سیستمهای مدولار اولیه، زمانی که سعی میکنیم فناوریهای مختلف و مجموعه دادهها را به هم متصل کنیم، مشکل پیش میآید. زیرساخت IT اولیه نه به اندازه کافی پایدار بود و نه به اندازه کافی قابل همکاری برای مقیاس بزرگ و اجرای روان. اما زیرساختی که با بلوک های ساختمانی (توابع) و اتصالات قابل همکاری (API) طراحی شده است به این معنی است که می توانیم بی نهایت آنها را مخلوط و مطابقت کنیم.
با آن درجه از استانداردسازی، انتزاع و اتصالات قابل همکاری، نوآوری در فناوری کم هزینه تر و از بسیاری جهات کم ریسک تر است.
API ها اجزای داخلی و بین پلتفرم ها را به هم متصل می کنند.
برای مثال، زیرساخت Airbnb از طریق اتصالات مبتنی بر API به پردازنده های پرداخت، فیس بوک، سیستم عامل های تلفن همراه و فروشگاه های برنامه گسترش می یابد. این به آنها اجازه می دهد تا روی ارزش ایجاد شده برای کاربران خود تمرکز کنند و نه اختراع مجدد زیرساخت موجود یا نیاز به مشتریان برای وارد کردن مجدد داده هایی که قبلاً در سایر سیستم ها وجود دارد.
موارد استفاده زیادی برای API ها وجود دارد، از جمله:
- دسترسی یا ارائه داده ها
- پردازش داده ها
- تغییر یا حذف رکوردها در سایر سیستم ها
- احراز هویت کاربران
- همگام سازی
- اتوماسیون
- ارائه دسترسی “اجاره ای” به داده ها، الگوریتم ها و/یا قدرت محاسباتی
- ارائه داده ها به صورت بلادرنگ
ترکیب مجدد یکی از کلیدی ترین ذهنیت ها برای کار با API ها است – ترکیب و تطبیق عناصر مختلف داده و عملکردهای پردازش در سیستم های مختلف برای ایجاد ارزش جدید.
در دنیای موسیقی، “mashup” به معنای لایه بندی و زمان بندی دقیق آهنگ های متعدد (و “نمونه ها”) برای ایجاد یک صدای منحصر به فرد است. برخلاف ریمیکس ها که ممکن است ریتم جدیدی را روی آهنگ قرار دهند یا از هنرمند دیگری به عنوان مهمان دعوت کنند، mashup ها تفاوت قابل توجهی با آهنگ اصلی خود دارند.
به همین ترتیب، ترکیب مجدد بیت های داده و پردازش آنها به روش های جدید می تواند فراتر از ارزش افزوده و افزایشی باشد تا چیزی کاملاً جدید ایجاد کند – یا بسیار سریعتر یا ارزان تر از رویکرد واسطه انسانی.
ترکیب مجدد API ها معمولاً حول چند عنصر کلیدی اتفاق می افتد.
کال ها (calls): دستوراتی هستند که از طریق یک API ارسال می شوند، مانند’get’، ‘put’ یا ‘delete’. این کال ها که همیشه فعل هستند، به یک سیستم از راه دور می گویند که کارهایی مانند جستجو، به روز رسانی یا حذف را انجام دهد. این اقدامات اغلب روی “رکوردها” (records) یا “اشیاء” (objects) انجام می شوند که ورودی هایی در یک پایگاه داده یا سیستم دیگر هستند. می توانید آنها را به عنوان اسم در نظر بگیرید.
روابط نقش
مصرف کننده : ارائه دهنده
این درخواست ها از طریق یک رابطه عملکردی با دو طرف ارتباط برقرار می شوند: مصرف کننده ای از آنچه که ارائه دهنده API در دسترس قرار می دهد. در زمینههای فنی، این اغلب به عنوان رابطه مشتری:سرور نیز شناخته میشود.
ترکیب مجدد: Mashup
بیایید یک مثال فرضی از یک الگوریتم بسیار ساده (اسکریپتی از اقدامات دقیق برای دنبال کردن یک کامپیوتر) را بررسی کنیم:
در این مثال، سیستمهای بانکی برای ارسال درخواست جستجو (یا «کوئری») به یک شرکت خبری مالی، Benzinga، هدایت میشوند تا هرگونه داستان در مورد Acme Incorporated را جستجو کنند. اگر داستانی وجود داشته باشد، اسکریپت بررسی میکند که آیا بانک سهام آن شرکت را در اختیار دارد یا خیر. در صورت وجود، سیستم یک رکورد شرکت جدید در Salesforce (نرمافزار مدیریت ارتباط با مشتری بانک) ایجاد میکند و سپس کل متن داستان را از سرویس خبری دریافت میکند و آن را به آن رکورد شرکت پیوست میکند.
این قبلاً یک عملیات دستی بود – هزینه ای که ممکن بود انجام آن در مقیاس بزرگ غیرقابل توجیه باشد. اما با API ها و ساده ترین الگوریتم ها، این سه شرکت مختلف (بانک، بنزینگا و Salesforce) را می توان به سرعت متصل کرد و داده ها و دستورات را بین آنها منتقل کرد. در این مورد، بانک یک “مصرف کننده” برای “ارائه دهنده” API بنزینگا است.
با ترکیب مجدد عملکردهای کلیدی از چندین سیستم، افراد خلاق در داخل بانک می توانند اقدامات ساده ای را که قبلاً زمان زیادی از انسان ها می گرفت، خودکار کنند. آنها همچنین نیازی به دانستن نحوه دستکاری کد با ابزارهای مدرن که رابط های کاربری پسند به سیستم های ماشینی را فراهم می کنند، ندارند.
مجموعه دادههای بسیار پیچیدهتر، دستورات و مجموعه دستورالعملها را میتوان در اینجا بهعنوان بخشی از استراتژیهای مختلف برای یادگیری ماشینی، توسعه برنامه و سایر موضوعات خارج از محدوده این راهنما اعمال کرد. تقریباً همه استراتژی های فناوری مدرن از API ها برای اتصال مجموعه داده ها و سیستم های مختلف به یکدیگر استفاده می کنند.
انواع مختلفی از داده وجود دارد که می توانید از طریق API ارائه، دسترسی یا دستکاری کنید. برای مثال، در اینجا فقط چند نوع رکورد وجود دارد:
- متن بدون ساختار
- تصاویر
- نقشه ها
- تراکنش ها
- شرکت ها
- سرمایه گذاران
- افراد
- روندها
- ساختارهای شرکت (هلدینگ، شرکت های تابعه)
- کشورها
- ارزها
برای مشاهده بیشتر، به Data Sources Explorer بروید.
API ها به سازمان ها و حتی افراد اجازه می دهند تا به سرعت شکاف بین روش فعلی و آنالوگ انجام کارها و فرصت های دیجیتال را پر کنند.
به طور مؤثر سه رویکرد برای ایجاد ارزش با API ها وجود دارد:
- ساخت API های خودتان برای اتصال سیستم ها
- خرید دسترسی به API های موجود (یا پیدا کردن آنها به صورت رایگان)
- مشارکت با یک شخص ثالث برای ارتقاء زیرساخت API ها
کیت های توسعه نرم افزار (SDKs)
SDK ها یا Software Development Kits مجموعه ای از ابزارهای توسعه نرم افزار هستند که به توسعه دهندگان کمک می کنند تا به سرعت نرم افزارهایی را برای کاربران نهایی طراحی و توسعه دهند که سریع، پایدار، ایمن و سازگار باشند.
برخی از SDK ها مانند پروژه های منبع باز مشارکت کنندگان زیادی دارند، در حالی که برخی دیگر توسط یک شرکت برای اطمینان از یک تجربه بسیار سازگار ارائه می شوند، مانند SDK های اپل برای مدیریت داده های سلامتی (HealthKit، ResearchKit و CareKit) یا دستگاه های خانه متصل (HomeKit).
شرکت های دیجیتال نیز اغلب برای تیم های داخلی یا شرکت های کوچکتری که روی پلتفرم آنها توسعه می دهند، SDK ها را برای نتایج سازگارتر و پایدارتر ارائه می دهند. این SDK ها به شکل مجموعه ای از عناصر نرم افزاری (گاهی به صورت کتابخانه یا فریم ورک) و مستنداتی برای نحوه اتصال این اجزای قابل استفاده مجدد با API های مرتبط ارائه می شوند.
خلاصه
- رابط های برنامه نویسی کاربردی یا API ها، یک روش استاندارد برای انتقال داده ها و دستورات بین سیستم های مختلف برای کمک به آنها برای همکاری پایدار و ایمن هستند.
- سازمانها از «IT به عنوان یک ابزار» به «دیجیتال به عنوان یک قابلیت» در حال تغییر هستند.
- API ها کمترین مخرج مشترک بین سیستمها را فراهم میکنند و دادهها و دستورات را از طریق سرویس خودکار برای ارتباط ماشین به ماشین در دسترس قرار میدهند.
- API ها می توانند هم داده و هم دستورات را منتقل کنند.
- ترکیب مجدد مجموعه داده ها و دستورات دسترسی شده از طریق API می تواند نوآوری دیجیتال سریع و قابل اعتماد را امکان پذیر کند.
گامهای بعدی:
سفر خود را برای درک بهتر API ها با استفاده از دو نوع تفکر مرتبط آغاز کنید:
- تفکر طراحی برای درک عناصر یک مشکل یا فرصت و نیازهای انسانی در آن
- تفکر محاسباتی برای تجزیه آن مشکل یا فرصت به عناصری که برای ایجاد الگوریتم ها و برنامه ها مورد نیاز است.
منبع: https://www.digitalfluency.guide/apis/introduction-to-apis