مدل سازمان دهی اَپی
این نوشته بخش چهارم (مشاهده بخش سوم) از یک مجموعه هشت قسمتی و در مورد پروژه میکرومشاوره ای تحت عنوان «مدل سازمان دهی اَپی در بخش های عمومی و خصوصی» توسط دپارتمان امور سربازان بازنشسته» نگاشته شده است.
مدل سازمان دهی اَپی
این پروژه به دنبال بررسی اجمالی در مورد مدل سازمان دهی اَپی و جهت کمک به درک، برای تبیین بهترین راهکار های عملی بخش های عمومی و خصوصی، و بطور خاص جهت اولویت بندی به ساخت اَپی ها، و استانداردهایی برای اینکه کدام اَپیها ساخته شوند، و در دسترس قرار دادن اَپیها جهت استفاده کاربر نهایی خارج از سازمان تولید شده است.
در این مقاله، سالیان متمادی تحقیقات انجام شده توسط آنالیز صنعتی API Evangelist ، در کنار مصاحبه های تلفنی انجام شده توسط Skylight Digital با متخصصین حوزه اَپی (API) سازمان ها و موسسات بزرگی که مدل سازمان دهی عمومی و خصوصی اَپی بر عهده دارند، گردآوری شده است.
مدل سازمان دهی اَپی در بخش های خصوصی و عمومی (بخش چهارم)
ما این گزارش را به منظور بازتاب مکالمات مصاحبه های انجام شده با رهبران حوزه جمع آوری کردیم، تا راهنمای قدم به قدمی در مورد انواع نقش ها و معماری های نرم افزاری بکارگرفته شده جهت سازمان دهی در سازمان های بزرگ باشد.
سپس به بررسی دقیق سازمان دهی به عنوان عامل شناسایی اَپیهای بالقوه، ایجاد استانداردهایی در رابطه با ساخت اَپیها، چگونگی ساخت آنها توسط سازمانها و همچنین چگونگی معرفی کردن آنها به مشتریانشان، خواهیم پرداخت.
در انتها این مقاله را با جمع بندی جزئیات مدل سازمان دهی اَپی ، و همچنین اقرار به اینکه درحال حاضر بیشتر سیاستهای ساخت اَپیها اغلب از ابتدا به درستی طرح ریزی نشده اند، به پایان خواهیم برد.
این جمع بندی شامل شرح کامل نحوه مدل سازمان دهی اَپی به همراه لیستی از عناصری که میتوانند به سازمان دهی اَپی (API) در شرکت های بزرگ کمک کنند، خواهد بود.
تعریف مدل سازمان دهی اَپی و استانداردها برای دادهها
برای ساخت و تولید بر اساس سازماندهی، نیاز به سرمایهگذاری سنگینی در استانداردسازی مدلهای داده، و ترکیب کردن الگوهای فعلی و استانداردها در طول چرخه حیات ساخت اَپی (API) داریم.
بسیاری از گروههای توسعه دهنده اَپی (API) در حال سادهسازی و استانداردسازی ساخت اَپیها از طریق بکارگیری و توسعه استانداردها در تمام عملیات هستند، که این موضوع به خودی خود باعث مورد پذیرش قرار گرفته شدن، یکپارچگی، و از بین بردن اصطکاکها برای توسعهدهندگان برنامههای کاربردی میشود.
تعاریف اساسی
در یک دههی اخیر مجموعهای از راهکارها برای طراحی، توسعه، تکامل و اجرای الگوهای مشترک در چرخه حیات اَپیها، پدید آمده است.
بحث اصلی مدل سازمان دهی اَپی ، حول محور این راهکارهای استانداردسازی شده است که توسط الگوهای متداول و دارای تعاریف قابل خواندن توسط ماشین و برای تعریف و ساخت اَپیها شکل گرفته است.
این راهکارها دلیل اصلی پیشرفت حوزهی مدل سازمان دهی اَپی در کاربردهای مبتنی بر موبایل، و همچنین باعث رشد کانالهای دیگر، مانند صوت، botهای خودکار، و اتصال اشیاء روزمره به شبکه شده، و به سازمان یافتن هرچه بیشتر شرکتها در رابطه با خدماتی که ارائه میدهند کمک میکند.
۱.تعریف بر اساس منابع – الگوهای طراحی RESTful راهکار سادهای هستند، برای تبدیل منابع شرکتی به منابع اَپی (API) اساسی، با قابلیت استفاده مجدد و بالقوه تحت وب که قابلیت استفاده در بسیاری از کاربردها را دارند.REST فلسفهای را پدید میآورد که میتوان طبق آن، منابع سازمان را به منابعی تبدیل کرد که قابلیت استفاده در کاربرهای مختلف سراسر سازمان را داشته بتوان از آنها به طرق مختلف بهره برد.
۲. مبتنی بر شماتیک – از شماتیک JSON برای دریافت انواع مختلف شماتیکهای دیگر و استانداردسازی آنها جهت استفاده در ساخت منابع اَپی با الگوی طراحی RESTful استفاده میشود. چارچوبی ایجاد میکند که بطور مکرر میتوان از آن در مدلهای درخواست و پاسخ برای ساخت مدل سازمان دهی اَپی بهره برد. نتیجه این امر، استانداردسازی طرحهای مورد استفاده فعلی، و دردسترس قرار دادن آنها برای اَپیهای جدیداً توسعه یافته یا در حال تکامل است، تا تیمها بتوانند بسیاری از مجموعه اهداف خود را با استراتژی مدرن اَپی (API) جامه عمل بپوشانند.
۳. مبتنی بر دامنه – در یک سازمان، دامنه کاری شرکت جهت شناسایی، توسعه، تکامل و استاندارسازی گونههای مختلف اَپی (API) مورد استفاده قرار میگیرد. حیطه کاری، تعاریف صنعتی، و تمرکز بر دامنه کاری شرکت، به تعیین حیطههای مورد توجه، و تفکیک سرویسها کمک میکند. بطوریکه امکان جداسازی منابع شرکتی مورد استفاده سیستمها را طوری فراهم میآورد که همگی آنها به عنوان یک مجموعه واحد در راستای اهداف کاری شرکت کار کنند.
۴. مفاهیم قدیمی – حرکت مداوم به سمت تفکیک، تعریف مجدد، و تکامل سیستمهای قدیمی ما را به سمت شناخت الگوهای متداول سوق داده و موجب تغییر حالت و بازیابی مجدد این سیستمهای قدیمی برای استفاده در اَپیهای جدید میشود. بدین صورت که با استخراج دانش موجود در پایگاههای داده و رابطهای قدیمی، در راستای توسعه استانداردهای متداول، استفاده میکنیم.
۵.واژهها – تیمهای توسعهدهنده اَپی (API)، علاوه بر اینکه همواره در حال ایجاد واژههای متداول جدید بر اساس استانداردهای زبانی موجود هستند، در عین حال در صورت لزوم با استفاده از واژگان عامیانه قراردادی که بین خودشان رایج است و عادی سازی آنها، لغات جدیدی را نیز پدید میآورند. بدین صورت زبان استانداردی ایجاد میشود که قابلیت استفاده برای صحبت در مورد سرویسها، منابع، و موارد دیجیتالی در سرتاسر سازمان را دارد.
۶.اکتشاف – دلیلی که گروههای بسیاری برای چالشهای پیش روی خود در رابطه با مقبول واقع نشدن استانداردها آوردند، این بود که تیمهای دیگر قادر به یافتن شماتیکها، تعاریف و دیگر استانداردهای موجود نبودند.
این موضوع نشانگر اهمیت وجود راهنمای جامعی در مورد تعاریف اساسی است که بطور فعالانه بروز نگه داشته شده و بخوبی در سرتاسر سازمان اطلاعرسانی شده باشد. این راهنما باید در یک مکان واحد، یا بصورت توزیع شده در مکانهای مختلف طوری فراهم شود که همگان قادر به یافتن و انتشار تعاریف مشترک باشند.
تعاریفی که در توسعه اَپیهای فعلی وجود دارند باید در راهنماهایی گردآوری شوند، و همچنین لازم است سیستمی اکتشافی فراهم آید که به تلاش برای سازماندهی کمک کند. باید امکانات موجود در سازمان شناسایی شده، و به الگوهای مشترکی تبدیل شوند تا بتوان از آنها در طراحی، توسعه، و ساخت نسل بعدی اَپیها استفاده کرد.
باید ماهیت موجود در شرکت استخراج شود تا بتوان از آن به عنوان سنگ بستری برای ساخت یک برنامه اَپی استفاده شود، طوری که در هر مرحله از چرخه حیات قابل اندازه گیری بعنوان بخشی از یک استراتژی بزرگتر سازماندهی باشد.
کار کردن روی وب
اَپیها بر روی وب ساخته شده و از بالغ بر ۲۵ سال تکامل آن بهره میبرند. در هنگام تلاش برای شناخت و شناسایی استانداردهای رایج برای استفاده در برنامه سازماندهی اَپی (API)، شماری از المانها باید در نظر گرفته شوند. درحالیکه که استراتژی اَپی (API) ریشه در تعاریف مبتنی بر هسته اصلی سازمان دارد، علاوه بر آن باید وب نیز مورد توجه قرار گرفته و الگوهای رایج کارکرد وب بکار گرفته شوند تا بتواند بستری برای ساخت مدل سازمان دهی اَپی باشد.
- استانداردهای وب – بستر اصلی ساخت اَپیها، وب است.بیشتر اَپیها از HTTP به عنوان لایه انتقال استفاده کرده و از URLها، کدهای HTTP، هِدِرها، پارامترها و دیگر استانداردهای رایج وب استفاده میکنند. استانداردهای وب باید به عنوان بخشی از هر استراتژی سازماندهی بکار گرفته شوند، تا به ایجاد الگوهای رایج و مفاهیم جهت استفاده در سازمان کمک کنند.
- مدیا تایپها – مدیا تایپها، بخشی اساسی از وب هستند و قالبهای پیامرسانی را میسازند که خارج از سازمان مورد استفاده قرار میگیرند و به پذیرش و استفاده مجدد از اَپیهایی که از این مدیا تایپها بهره میبرند، کمک میکند. بدین صورت که به مصرفکنندگان امکان این را میدهد که فرمتی را انتقال اطلاعات انتخاب کنند که برای آنها و کاربردی که قصد توسعه آن را دارند بهترین باشد.
- شماتیک صنعتی – شماتیک های صنعتی، در حال پیدایش و بلوغ برای استفاده در اَپیها هستند. تعاریفی مانند FHIR و PSD2 و دیگر شماتیکها در کنار الگوهای طراحی اَپی (API) دیگری در حال شکلگیری هستند تا به استفاده اَپیها در صنعت کمک کرده، و همچنین گروههای کاملاً متفاوت را به استفاده و همکاری در این اَپیها تشویق کنند.
- متن باز – استفاده از نرمافزارها، ابزار، تعاریف، و فرایندهای متن باز باعث ایجاد چشمانداز اَپی (API) در سازمان میشود. اَپیهای وب، بازتابنده اخلاق متن باز بوده، نقش مؤثری در ساخت، استفاده مجدد، پذیرش اَپی (API) داشته و قابلیت بررسی و مشاهده که برای موفقیت مدل سازمان دهی اَپی لازم است را به ارمغان میآورد.
سازمان دهی اَپی
اساس کار مدل سازماندهی اَپی بر روی وب است. وب بستری را فراهم میآورد که همه اَپیها روی آن کار میکنند.در هنگام تعریف شماتیکها، استانداردها، و الگوهای رایج برای استفاده در عملیات اَپیها، وب همیشه در متن امور قرار دارد.
اگرچه موضوع اصلی و مرکزی، الگوهای تعریف شده سازمانی همواره هستند، در زمان ممکن باید استانداردهایی که وب بر اساس آنها کار میکند، نسبت به مفاهیم محلی سازمان ارجحیت داده شوند. وقتی از وب استفاده میکنید، چرخ را دوباره اختراع نکنید؛ همیشه از مفاهیم شناخته شده و موجود استفاده کنید.
اثرگذاری
ممکن است در هنگام یادگرفتن استانداردهای جدید، و انتخاب استانداردها برای استفاده، تحت تأثیر وندورهای خاص، استانداردهای رقیب، جامعههای برنامه نویسان، و یا دیگر فاکتورها قرار بگیرید. در این هنگام ارزیابی دقیق استانداردها و آگاهی از عناصری که باعث سوق دادن نظر شما از سمتی به سمت دیگر ، یا حتی باعث گم کردن راه شده و شما را از رسیدن به هدف باز میدارند، بسیار مهم خواهد بود.
- گرفتار ترِندها شدن – مراقب باشید که دچار چرخههای ترِندها نشوید، چرا که اغلب باعث آن میشوند که هیجانهای لحظهای که در مورد بعضی مفاهیم شکل میگیرند را تشخیص ندهید. بخوبی تحقیق کنید، بهترین راه و سطوح پذیرش را پیدا کنید، و تصمیمات معقول در مورد کارهایتان اتخاذ کنید.
- نهادهای خارجی – در هنگام کار با نهادهای خارجی، اولیتهای آنها در مورد استانداردها و مفاهیم را درک کنید. وابستگیهای احتمالی بین اهداف شرکت خود، و نهاد خارجی که با آن درگیر هستید را در نظر داشته باشید، و اطمینان حاصل کنید که جهتگیریها وتأثیرات آنها در مسیر درستی قرار دارند.
- نیازهای داخلی – مشابه با نهادهای خارجی، اولیتهای تیمهای داخلی را به خوبی درک کنید، و همیشه اینطور فرض نکنید که درخواستهای داخلی، اهداف کلی سازمان را در نظر گرفته اند. همواره باید درک کاملی از انگیزه و آگاهی پیادهسازی هر استاندارد پیدا کنید، و میزان تناسب آنها با استراتژی کلی را در نظر داشته باشید.
- حلقههای بازخورد – اطمینان حاصل کنید حلقههای بازخورد متنوعی وجود دارند، بطوریکه دیدگاههای متنوعی از اینکه کدام انواع استانداردسازی و مفاهیم نیاز به پشتیبانی دارند ایجاد کند. این بازخوردها باعث ایجاد گستردهترین دید ممکن از چشمانداز در مورد پذیرش و سرمایهگذاری میشوند.
- تغییرات طبیعی –بکارگیری استانداردهایی که چه داخل سازمان و چه خارج از سازمان، توسط وندورها برای ایجاد تغییرات طبیعی در رشد استانداردها ایجاد شدهاند را مد نظر قرار دهید. درک صحیحی از مواردی که طی آنها استانداردها بصورت مصنوعی، یا برای اهداف جانبی فراتر از دلیل اساسی وجودشان بطور غیرطبیعی رشد داده شدهاند، پیدا کنید.
پیشرو بودن
اگرچه، شماری استاندارد آماده استفاده برای وب موجود هستند که طی روند طبیعی و توسط جامعه اَپی (API) رشد کردهاند، این استانداردها همیشه راه به سازمانها پیدا نمیکنند.
سازمانهای پیشرو، ثابت کردهاند که برای پیشرو بودن در زمینهی استانداردسازی زیرساختهای اَپی (API) در میان سازمانها، تلاشی ساختیافته، برای تعریف، گسترش، تعلیم، و تکامل استانداردها در سازمانهای بزرگ، بهمراه تعدادی تاکتیک ثابتشده مورد نیاز است.
- کارگاهها – برگزاری و اجرای روزافزون کارگاههایی برای معرفی استانداردها و مفاهیم مشترک بین افراد در تیمهای مختلف.
- مباحثات – ایجاد مباحثات رسمی در مورد استانداردهای درحال شکلگیری و استانداردهای درحال استفاده، برای بالا بردن سطح آگاهی و پذیرش این راهکارهای استانداردسازی در میان گروهها.
- مشارکت – ملزم کردن تیمها به کار با یکدیگر، وقتی از استاندارهای مشترکی استفاده میکنند، و به نمایش درآوردن دستاوردهایی که با کار با یکدیگر داشتهاند، به منظور درک ابزار، سرویسها و استانداردهای مورد استفاده آنها.
- Event Storming – استفاده از event storming به عنوان تکنیک مدلسازی چابک و سبک برای گروهها، که به آنها در شناسایی، تکامل و بکارگیری استانداردهایی که نیازهای تیم خاصی را برآورده میکند، کمک کند.
- افراد تأثیرگذار – شناسایی، پرورش و سرمایهگذاری روی افراد تأثیرگذاری که در گروهها وجود دارند، و تشویق آنها به ایجاد ارتباط و جا انداختن دید مثبت در مورد استانداردها در سرتاسر سازمان.
- طرح سؤال – همیشه سؤالاتی در مورد وجود یا عدم وجود استانداردها در سازمان بپرسید، و همواره صبحتهایی در مورد استانداردها مطرح کنید.
- چالشهای فرضی – اطمینان حاصل کنید که تیمها بیش از حد از کار خود راضی نباشند، همیشه چالشی برای کارها مطرح باشد، و همواره استانداردسازی در سازمان در صورت امکان به سطح بالاتری برسد.
برای پیشبرد استانداردها در سطح وب و صنعت، و همچنین برای پیشرفت پذیرش و بکارگیری استانداردها در سازمانها، نیاز به ایجاد بدنهای برای این استانداردها داریم. سازمانهای پیشرو، به وسیله بکارگیری شماتیکها، مفاهیم و استانداردهای رایج، بطور سازمانیافتهتری قادر به اندازهگیری، سنجش و تکامل زیرساختها هستند.
این سازمانها لغات مشترکی نیز برای استفاده توسط تمامی تیمها در هنگام طراحی، پیادهسازی و مدیریت سرویسها فراهم میآورند که میتوان از آنها در راستای منافع سازمانی و عمومی استفاده کرد.