پلتفرم WSO2 API Manager یک زیر ساخت کاملا متن باز جهت مدیریت وبسرویسهای سازمانی است. مفاهیم کلیدی wso2 api manager بسیار وسیع است که آشنایی با انان برای فعالین در این حوزه ضرورت دارد.
در این پلتفرم مجموعه قابلیتهای کاملی جهت مدیریت وبسرویسها شامل طراحی وبسرویس، انتشار وبسرویس، مدیریت چرخه حیات وبسرویس، تامین امنیت وبسرویس، مدیریت نرخ ترافیک وبسرویس، نمایش آمار فراخوانی وبسرویس، ایجاد سرویسهای ترکیبی و مدیریت endpointها در محیطی گرافیکی پشتیبانی میشود.
در ادامه این مطلب با شرکت دانش بنیان پلتکو اجرا کننده WSO2 API Manager و سایر خدمات یکپارچه سازی وب سرویسها همراه باشید.
مفهوم wso2 api manager
wso2 api manager یک پلتفرم مدیریت API است که توسط شرکت WSO2 ارائه شده است. این پلتفرم به توسعه دهندگان و سازمان ها کمک می کند تا API های خود را به راحتی مدیریت، نظارت و ارائه دهند.
با استفاده از WSO2 API Manager، می توانید API های خود را در دسترس قرار داده و آن ها را برای استفاده در برنامه های دیگر در دسترس قرار دهید.
علاوه بر این، WSO2 API Manager قابلیت های مختلفی برای مانیتورینگ و نظارت بر عملکرد API ها، محافظت از آن ها در برابر حملات و نفوذ، و تعامل با سرویس های سحابی را فراهم می کند.
مفاهیم کلیدی که در بهرهبرداری از این پلتفرم با آن سر و کار خواهید داشت به قرار زیر است:
وبسرویس (API):
وبسرویس اصلیترین بلوک سازندهی WSO2 API Manager میباشد. وبسرویس یک لایهی واسط است که به عنوان پروتکل ارتباطی بین مشتری و ارائهدهندهی خدمت است که نقش آن تسهیل بهرهبرداری از خدمت ارائهشده میباشد. وبسرویس علاوه بر پنهانسازی پیچیدگیها و جزئیات پیادهسازی سرویس، یک پروتکل امن، مستندشده و قابل کنترل را جهت دسترسی به خدمت ارائه میدهد.
قالب وبسرویس (API Format)
قالب Open API (یا به عبارتی دیگر قالب Swagger) زیرساخت تعریف وبسرویسها در WSO2 API Manager میباشد. از این قالب میتوان جهت ایمپورت یک وبسرویس در پرتال Publisher استفاده نمود. علاوه بر این کاربر فنی میتواند در این پرتال وب سرویسها را در قالب Open API مشاهده، ویرایش و دانلود و آپلود نماید.
منبعهای وبسرویس (API Resource)
یک وبسرویس از یک یا چند منبع تشکیل شده است که هر یک از آن منبعها آدرسی یکتا و منحصر به فرد دارند. بر روی هر منبع، مجموعهای از متدهای HTTP اجرا میشود. متدهای HTTP که در WSO2 API Manager پشتیبانی میشود عبارتند از: GET, POST, PUT, DELETE, PATCH, HEAD, و OPTIONS
چرخه حیات وبسرویس (API Lifecycle)
مراحلی که یک وبسرویس از زمان ایجاد تا از ردهخارج شدن طی میکند چرخه حیات وبسرویس را تشکیل میدهند. این مراحل مستقل از اصل خدمتیست که وبسرویسها ارائه میدهند و عبارتند از: CREATED, PROTOTYPED, PUBLISHED, DEPRECATED, RETIRED. چرخهی حیات وبسرویس مطابق نیاز هر سازمان قابل شخصیسازی میباشد.
برنامه (Application)
برنامه در واقع زیرساخت منطقی و ارتباطی مورد نیاز برای یک برنامه کاربردی مانند اپلیکیشن موبایل یا اپلیکشن تحت وب میباشد. یک برنامه جهت استفاده از وبسرویسهای مورد نیاز بایستی اشتراک آن وب سرویسها را دریافت کند.
برنامه بایستی در دریافت اشتراک (subscription) یک وبسرویس، مدل تجاری (Business Plan) دسترسی به آن وبسرویس را مشخص نماید. مدل تجاری میزان حق استفاده (نرخ مجاز فراخوانی) وبسرویس را تعیین میکند.
محصول وبسرویس (API Product)
ترکیبی از منابع یک یا چند وبسرویس، یک محصول وبسرویس را تشکیل میدهد. این قابلیت مدیران را قادر میسازد با انتخاب و کپسوله کردن چند منبع، یک وبسرویس جدید به مشتریان ارائه دهند.
مشابه یک وبسرویس عادی، برنامهها جهت استفاده از یک محصول وبسرویس بایستی اشتراک آن محصول وبسرویس را تحت مدل تجاری مشخصی دریافت نمایند.
برنامهای که اشتراک یک محصول وبسرویس را دریافت کند به تمامی منابع آن محصول که در واقع منابع وبسرویسهایی هستند که جهت ساخت آن محصول مورد استفاده واقع شدهاند دسترسی پیدا میکند.
توکن دسترسی (Access Token)
این توکن در پروتکل OAuth2 جهت دسترسی مشتری به وبسرویس مورد استفاده قرار میگیرد. این توکن یک رشتهی نسبتا طولانیست که در قسمت Header وبسرویس ارسال میشود. WSO2 API Manger از توکنهای دسترسی در قالب JWT و مبهم شده (opaque) پشتیبانی میکند.
نمایش وبسرویسها (API Visibility)
نمایش یا ارائهی وبسرویسها در بستر WSO2 Developer Portal صورت میپذیرد. ارائهی وبسرویسها در سه سطح صورت میپذیرد:
- وبسرویسهای عمومی که در معرض دید تمامی کاربران خواهند بود.
- وبسرویسهای محدود به نقش. این وبسروسها در معرض دید کاربران دارای نقش دسترسی در دامنهی استیجاری (Tenant Domain) مربوطه خواهد بود.
- وب سرویسهای محدود به دامنه. این وبسرویسها صرفا به کاربران ثبتنام کرده در دامنهی استیجاری مربوطه نمایش داده میشوند.
محدودیت نرخ فراخوانی وبسرویس (API Rate Limits)
از این محدودیت جهت مدیریت نرخ مجاز فراخوانی وبسرویس در یک بازهی زمانی استفاده میشود. وجود این محدودیت فواید زیر را به همراه خواهد داشت:
- حفاظت از وبسرویس در برابر حملههای امنیتی مانند حملههای DoS
- مدیریت ترافیک و بار روی وبسرویس بر حسب میزان منابع پردازشی سرور استقرار
- سهمیه بندی میزان مجاز درخواست و کسب درآمد از فراخوانی وبسرویسها
گردش کار (Workflow)
با تنظیم گردش کار میتوان فعالیت کاربران در WSO2 Developer Portal و پرتال Publisherرا مدیریت و نظارت کرد. برای مثال میتوان ثبتنام کاربر در WSO2 Developer Portal را نیازمند تایید مدیر کرد.
پلاگینهای گردش کار را میتوان به صورت خلاقانه در سناریوهای مختلفی مانند اجرای اعتبارسنجیهای خاص منظوره و یا جهت بررسی و تایید فرآیندهای مهم و اساسی به کار برد. زیرساخت این پلاگینها ناهمگام بوده و تکمیل یا ادامهی یک فرآیند را متوقف به بررسی و تایید مدیر میکنند.
خط مشیهای واسطهگری پیامها (Message Mediation Policies)
خطمشیهای واسطهگری پیامها جهت غنیسازی، تغییر قالب یا ایجاد تغییرات در درخواست یا پاسخ درخواست که از درون WSO2 API Gateway عبور میکنند استفاده میشوند. برای مثال از این خط مشیها میتوان بدینگونه استفاده کرد که قالب xml درخواست و پاسخ درخواست را به json تبدیل کرد (یا بلعکس). از این خطمشیها میتوان جهت ترکیب وبسرویسها و یا پیادهسازی منطق واسط در ارسال درخواست و یا دریافت پاسخ استفاده کرد.
رسیدگیکننده (Handler)
رسیدگی کنندهها این امکان را فراهم میسازند که پردازشهایی بر روی پیامها پیش از عبور از منطق API Gateway انجام پذیرد. رسیدگیکنندهها میتوانند جهت سنجش امنیت پیام، اجرای خطیمشیها، ارسال نکات به سیستمهای بیرونی، ایجاد لاگهای خاص منظوره و … مورد استفاده قرار گیرند. رسیدگیکنندهها میتوانند جهت پردازش درخواستها و پاسخها مورد استفاده قرار گیرند.
برچسب (Tag)
برچسبها جهت دستهبندی وبسرویسها مورد استفاده قرار میگیرند. هنگامی که یک وبسرویس برچسب خورده منتشر میشود، عنوان برچسب به صورت قابل کلیک در پنل کناری WSO2 Developer Portal نمایش داده میشود. مشتریان میتوانند جهت یافتن وبسرویسهای مورد نظر بر روی برچسب متناظر کلیک کرده و بدین صورت سرویسهای دارای آن برچسب را مشاهده کنند. مشتریان همچنین میتوانند وبسرویسها را با مشخص کردن برچسب جستجو نمایند.
فهرست سرویس (Service Catalog)
فهرست سرویس یکی از اصلیترین قابلیتهاییست که یکپارچهسازی API-first را در WSO2 API Manager ممکن میسازد. از طریق فهرست سرویس، سرویس یکپارچه از سطح API Manager منفک میشود و از این رو آن سرویس میتواند به عنوان endpoint وبسرویسهای ایجاد شده در API Manager مورد استفاده قرار گیرند.
نقش انتشار وبسرویس (API Publisher Role)
کاربر دارای نقش انتشار وبسرویس در واقع مدیر محصول وبسرویسهاست و در قبال مدیریت وبسرویسها در سازمان، نظارت بر چرخهی حیات وبسرویسها، اشتراکهای وبسرویسها، آمار فراخوانی وبسرویسها و جنبهی درآمدی وبسرویسها مسئولیت دارد.
نقش ایجاد وبسرویس (API Creator Role)
کاربر دارای نقش ایجاد وبسرویس در واقع مدیر فنی وبسرویسهاست و کسیست که در پرتال Publisher مسئولیت ساخت پروکسیها، مدیریت نسخهی وبسرویسها و ایجاد مستندات وبسرویسها را بر عهده دارد. کاربر دارای این نقش تنظیمات فنی را در پرتال Publisher انجام داده و وبسرویس ایجاد شده را جهت مدیریت به کاربر دارای نقش انتشار تقدیم میکند.
نقش اشتراک وبسرویس (API Subscriber Role)
کاربر دارای این نقش در واقع مشتری وبسرویسهاست و در نظر دارد با استفاده از وبسرویسهایی که در Developer Portal WSO2 مشاهده میکند اپلیکیشنهایش را توسعه دهند. این کاربر وبسرویسها را بررسی و تست کرده و مستندات آنها را مطالعه میکند و پس از استفاده از آن وبسرویسها نظرات و بازخوردهایش را در Developer Portal ذیل آن وبسرویس ثبت میکند.
نقش مدیر (Admin Role)
کاربر دارای این نقش مدیر است و از این رو به Admin Portal دسترسی دارد. در این پرتال تنظیمات سطح بالا مانند ایجاد API Gatewayها یا ثبت Key Managerها و همچنین تایید یا رد گردشکارها جهت ادامه یافتن یا منتفی شدن آنها انجام میپذیرد.
کاربر مدیر همچنین در قبال مدیریت کلان نقشها، کاربران، دسترسیها، دیتابیسها و گردشکارها مسئول میباشد.
معرفی Key concepts of WSO2 API Manager از وب سایت docs.wso2
[ API Manager components ] [ Handlers ] [ Users and roles ] [ API lifecycle ] [ Applications ] [ Callback URL ] [ Access tokens ] [ Throttling tiers ] [ Multi tenanted API management ] [ API visibility and subscription Availability ] [ API documentation visibility ] [ API resources ] [ HTTP methods ] [ Cross-origin resource sharing ] [ OAuth scopes ] [ API templates ] [ Endpoints ] [ Sequences ] [ Caching ]
WSO2 API Manager یکی از محصولات مهم شرکت WSO2 است که به عنوان یک سامانه مدیریت API برای توسعه دهندگان و سازمان ها عرضه شده است. یادگیری مفاهیم کلیدی WSO2 API Manager بسیار مهم است زیرا این مفاهیم به توسعه دهندگان کمک می کنند تا با نحوه استفاده از WSO2 API Manager آشنا شوند و بتوانند به راحتی API های خود را در این سامانه مدیریت کنند. علاوه براین با یادگیری مفاهیم WSO2 API Manager ، توسعه دهندگان و سازمان ها قادر خواهند بود تا به صورت حرفه ای با مفاهیم امنیتی و حریم خصوصی در مورد API های خود آشنا شوند و بتوانند آن ها را به صورت مناسب در پروژه های خود استفاده کنند. در این مطلب به معرفی مهمترین مفاهیم wso2 api manager پرداختیم امیدواریم از مطالعه این مطلب لذت برده باشید.
سلام لطفا رسیدگیکننده (Handler) رو بیشتر توضیح دهید.
سلام و عرض ادب
نرمافزارهای هوش تجاری معمولا به صورت آفلاین درون سرورهای سازمان مستقر میشوند و از این جهت دغدغهای بابت امنیت دادهها وجود ندارد. همچنین خود این نرمافزارها نیز از سطوح دسترسی مختلف پشتیبانی میکنند و میتوان دسترسی داشبوردها و اطلاعات نمایشداده شده از طریق این نرمافزارها را به کاربران ذیصلاح و مربوط دسترسی داد و به سایر کاربران دسترسی نداد.
امکان تغییر وضعیت سامانه ها در API Lifecycle موجود هستش ؟
سلام و عرض ادب
در API Lifecycle و یا مدیریت چرخهحیات وبسرویسها وضعیت یک وبسرویس واحد مدیریت میشود و سایر وبسرویسهای سامانهها مستقل هستند و چرخهحیات آنها به صورت مجزا مدیریت میشود.