وقتی دربارهی APIها صحبت میکنیم، تمرکز اغلب بر فناوری، استانداردهای مدرن و روشهای خوب توسعه است. با این حال، به ندرت زمانی را صرف میکنیم تا دربارهی تأثیر واقعی این رابطها بر زندگی کسانی که بیش از همه اهمیت دارند یعنی شهروندان فکر کنیم.
فناوری بهتنهایی کافی نیست
در زندگی روزمرهی توسعهدهندگان نرمافزار، معماران سیستمها و مدیران پروژه، بهراحتی میتوان در چرخهی بیپایان مسائل فنی گم شد. ما روی عملکرد، امنیت، مقیاسپذیری و کنترل نسخه وسواس داریم، اما گاهی تصویر بزرگتر را فراموش میکنیم: همهی اینها در نهایت برای آسانتر کردن زندگی مردم است.
این موضوع زمانی برایم پررنگ شد که در حال آمادهسازی کارگاهی دربارهی شیوههای خوب مدیریت API برای یک سازمان دولتی (که مشتری شرکت ماست) بودم. چالش من این بود که محتوایی طراحی کنم که برای مخاطبان فنی (توسعهدهندگان، معماران، مدیران فناوری اطلاعات) جذاب باشد و در عین حال برای کسانی که در دنیای فناوری غرق نیستند (مدیران عمومی، رؤسای بخشها و دیگران) نیز ارزش خود را نشان دهد.
کارگاه بهخوبی پیش رفت، اما لحظهای که برایم ماندگار شد، بعد از آن و در گفتگو با رهبران نهادهای عمومی که از پلتفرم ما استفاده میکردند، رخ داد. آنها دربارهی فریمورکها یا خطوط لوله صحبت نکردند؛ بلکه از این گفتند که چگونه این راهحلها خدمات را برای شهروندان عادی متحول کردهاند: رزرو وقت ملاقات آنلاین، صدور مدارک، بررسی بدهی مالیاتی — همه بدون نیاز به خروج از خانه.
ارزشی که در کد منبع وجود ندارد
این داستانها به من یادآوری کردند که چقدر اغلب جنبهی انسانی فناوری را نادیده میگیریم. ما بیپایان دربارهی ارزش تجاری، افزایش بهرهوری و کاهش هزینهها صحبت میکنیم (و اینها مهم هستند)، اما نوع دیگری از ارزش نیز وجود دارد — آرامتر ولی حیاتیتر — که زندگی کسی را واقعاً بهتر میکند.
تصور کنید فردی با توانایی حرکتی محدود بتواند بدون زحمت حملونقل عمومی یا ایستادن در صفهای طولانی، وقت ملاقات پزشکی رزرو کند. یا کارگری که بدهی دولتی خود را بهصورت آنلاین پرداخت میکند، بدون اینکه مجبور شود یک روز کاریاش را از دست بدهد.
در چنین لحظاتی، فناوری رهاییبخش میشود — البته تنها زمانی که بهصورت آگاهانه و هدفمند به کار گرفته شود. و اینجاست که APIها وارد میشوند؛ بیصدا اما مؤثر، ارتباطاتی را ممکن میسازند که چنین دگرگونیهایی را به واقعیت تبدیل میکنند.
نقش APIها در این میان چیست؟
APIها پلهایی هستند که دادهها، سیستمها و تجربهها را به هم متصل میکنند. آنها زیربنای پلتفرمهای قدرتمند، یکپارچه و ایمن را تشکیل میدهند و همهچیز را ممکن میسازند — از کارهای ساده مانند بررسی یک سند گرفته تا عملیات پیچیده مانند یکپارچهسازی چندین پایگاه داده برای گزارشها و تحلیلها.
API خوب طراحیشده چیزی بیش از یک جزئیات فنی است؛ ستون فقرات راهحلهای مقیاسپذیر و مقاوم است. این همان چیزی است که به یک سامانهی شهری اجازه میدهد با سامانهی فدرال ارتباط برقرار کند یا به یک اپلیکیشن موبایل امکان میدهد دادههای لحظهای از چندین نهاد دولتی دریافت کند.
به همین دلیل است که داشتن نگرش «API-اول» بسیار مهم است. با طراحی API از ابتدا و با در نظر گرفتن اینکه چه کسی (مستقیم یا غیرمستقیم) از آن استفاده خواهد کرد، محصولات بهتری خلق میکنیم. این یعنی مستندسازی شفاف، احراز هویت قوی، کنترل نسخهی پایدار و از همه مهمتر امنیت بالا، بهویژه هنگام کار با دادههای حساس عمومی.
در ادامه چند نمونه از چگونگی پر کردن شکافها توسط APIها بر اساس حوزه آورده شده است:
آموزش
-
دانشآموزان میتوانند به محتوای درسی مدارس دولتی و فعالیتهای روزانهی آموزشی دسترسی پیدا کنند.
-
والدین میتوانند اطلاعات فرزندان خود را برای ثبتنام سالانه بهروزرسانی کنند.
-
دانشآموزان میتوانند مدارک تحصیلی معتبر و سایر اسناد دانشگاهی را تولید کنند.
-
میتوان به مجموعهی کتابخانهی عمومی مراجعه کرد.
سلامت
-
تعیین وقت ملاقات پزشکی.
-
مشاهدهی فهرست بیماران بستری در مراکز درمانی دولتی.
کارگران
-
دسترسی به فرصتهای شغلی برای بیکاران.
-
صدور کارت حرفهای اشتغال.
-
درخواست برای مزایای مستمری بازماندگان.
رانندگان
-
بررسی اطلاعات گواهینامه رانندگی و نتایج آزمون قوانین راهنمایی و رانندگی.
-
مشاهدهی اطلاعات وسیلهی نقلیه شامل مالیات، جریمهها و مقررات.
-
شرکت در دورهی بازآموزی رانندگی بهصورت آنلاین.
اینها تنها چند نمونه از خدمات بیشماری هستند که از طریق درگاههای دولتی ارائه میشوند. APIهای زیربنایی، تمامی این اطلاعات را به هم متصل کرده و به شهروندان از همهی اقشار جامعه امکان میدهند تا بهراحتی به این خدمات ضروری دسترسی پیدا کنند و از آنها بهرهمند شوند.
مسئولیت کسانی که API میسازند
APIها چیز جدیدی نیستند — اصلاً. اما شاید وقت آن رسیده که آنها را از زاویهای دیگر ببینیم. بهجای اینکه صرفاً ابزارهایی برای تسریع توسعه بدانیم، بهتر است به آنها بهعنوان پلهایی برای شمول دیجیتال نگاه کنیم.
وقتی APIها با دقت طراحی شوند، میتوانند خدمات عمومی را کارآمدتر، کمتر بوروکراتیک و بسیار در دسترستر کنند. این یعنی سفرهای کمتر، ناامیدی کمتر، و استقلال بیشتر برای افرادی که به آنها وابستهاند. در نهایت، این همان چیزی است که «ایجاد ارزش واقعی» معنا پیدا میکند.
در هنگام ساخت راهحلهایی برای بخش عمومی، فراموش نکنید که امنیت غیرقابل مذاکره است. این سیستمها روزانه دادههای حساسی از جمله شناسههای ملی، اطلاعات شهروندان و سایر دادههای شخصی قابل شناسایی (PII) را مدیریت میکنند.
برای جلوگیری از نشت دادهها، رمزنگاری باید بخشی جداییناپذیر از همهی APIها باشد. علاوه بر آن، یک API امن باید با این موارد آغاز شود:
-
احراز هویت قوی: استفاده از پروتکلهایی مانند OAuth 2.0 ضروری است.
-
مجوزدهی قدرتمند: پیادهسازی حداقل کنترل دسترسی مبتنی بر نقش (RBAC) برای مدیریت اینکه چه کسی به چه چیزی دسترسی دارد.
-
دامنههای JWT سفارشی: استفاده از دامنههای JSON Web Token (JWT) برای تعریف دقیق مجوز هر توکن.
با این حال، مسئولیت حفاظت از دادههای شهروندان فراتر از کد و زیرساخت (مانند استفاده از SSL برای اتصالات HTTPS) است. این مسئولیت مستلزم تعهد به طراحی APIهایی با استانداردهای امنیتی قوی از همان آغاز است.
کدنویسی با هدف
دفعهی بعد که یک endpoint طراحی میکنید، بین REST و GraphQL تصمیم میگیرید، محدودیت نرخ تنظیم میکنید یا هدرهای امنیتی را اعتبارسنجی میکنید، لحظهای مکث کرده و به شخصی که در سمت دیگر قرار دارد فکر کنید.
این API چه چیزی را ممکن میکند؟ چه مشکلی را حل میکند؟ چه مانعی را برمیدارد؟ آیا دسترسی به دادههای او بهدرستی محافظت شده است؟
اگر پاسخ، به هر شکل—even کوچک یا غیرمستقیم—زندگی کسی را بهتر میکند، پس شما چیزی فراتر از کد ارائه دادهاید. شما در حال ساخت آیندهای هستید که دسترسپذیرتر، کارآمدتر و انسانیتر است.
