در دنیای اطلاعات امروزی، ایجاد و ارائهی واسطهای برنامهنویسی قوی و قابلیت اطمینان برای دسترسی به دادهها از مبدأهای اساسی توسعه نرمافزار است. یکی از این واسطها، REST API است که امکان ارتباط میان برنامههای مختلف را فراهم میکند.
REST (Representational State Transfer) یک معماری متنباز برای ارتباط میان سیستمها است که بر اصول سادگی، قابلیت توسعه، و مشخصی بودن تمرکز دارد. در اینجا، بررسی خواهیم کرد که چگونه میتوان از یک REST API برای ارتباط با دیتابیس با استفاده از کوئریهای دیتابیسی ایجاد کرد. در ادامه این مطلب با شرکت دانش بنیان پلتکو همراه باشید.
برای ایجاد یک Rest API در پورتال Publisher (ناشر) پلتکو مراحل زیر را دنبال کنید:
- دانلود و نصب WSO2 Enterprise Integratot (EI)
- ایجاد Data Service
- ایجاد Rest API و استفاده از آن در پورتال توسعهدهنده پلتکو
دانلود و نصب WSO2 Enterprise Integratot (EI)
برای دانلود و نصب EI به https://docs.wso2.com/display/EI640/Installing+the+Product مراجعه کنید.
ایجاد Data Service
در ادامه دو روش را برای ایجاد data service ارائه دادیم:
1. روش اول (Wizard)
- وارد کنسول مدیریت EI شوید (به عنوان مثال، https://localhost:9443/carbon ).
- به Main > Services > Data Services > Create بروید.
- نام دیتا سرویس مورد نظر خود را در قسمت Data Service Name وارد کرده (در صورت نیاز فیلدهای غیر ضروری رو نیز وارد کنید) و سایر تنظیمات را مطابق شکل زیر انجام دهید و سپس بر روی Next کلیک کنید.
- با کلیک بر روی Add New Datasource دیتا سورس (منبع داده) ای که میخواهید از آن استفاده کنید را اضافه کنید. (از دیتا سورس های ایجاد شده میتوانید برای دیگر دیتا سرویسها نیز استفاده کنید)
- مشابه شکل زیر اطلاعات دیتا سورس جدید را وارد کرده و بر روی Save کلیک کنید.
توجه
- مقدار Datasource Id دلخواه است.
- در این مثال از یک فایل اکسل به عنوان دیتا سورس استفاده کردهایم. (با توجه دیتا سورس مد نظرتان میتوانید از قسمت Datasource Type از دیگر انواع دیتا سورسهای موجود استفاده کنید)
- برای استفاده از کوئری SQL ای باید Use Query Mode تیک خورده باشد.
- Excel URL آدرس فایل اکسلی هست که از آن به عنوان دیتا سورس استفاده خواهیم کرد که مطابق تصویر زیر در مسیر /_system/tmp قرار داده شده است.
مطابق شکل زیر دیتا سورس ایجاد شده قابل مشاهده است برای رفتن به مرحله بعد بر روی Next کلیک کنید.
- با کلیک بر روی Add New Query وارد صفحه ایجاد کوئری شوید.
همانند تصویر زیر مقادیر دلخواه مربوط به فیلدهای مشخص شده را وارد کنید.
در صورت نیاز به تغییر نام فیلدهای خروجی کوئری، بر روی Add New Output Mapping که در تصویر بالا مشخص شده است کلیک کنید.
مطابق تصویر زیر مقادیر مورد نظر خود را وارد و سپس بر بروی Add کلیک کنید.
- Output Field Name: نام فیلدی که میخواهید در خروجی نشان داده شود.
- Datasource Column Name: نام فیلد اصلی دیتابیس (در این مثال فیلد اکسل)
فیلد های اضافه شده در قمست Existing Output Mappings قابل مشاهده هستند. برای برگشت به صفحه قبل بر روی Main Configuration کلیک کنید.
در آخر برای ذخیره شدن کوئری ایجاد شده بر روی Save کلیک کنید.
- با کلیک بر روی Next وارد مرحله بعد یعنی ساخت عملیات شوید، سپس برای ایجاد یک عملیات جدید بر روی Add New Operation کلیک کنید.
مشابه شکل زیر نام عملیات و کوئری مورد استفاده برای این عملیات را مشخص کنید و در پایان بر روی Save کلیک کنید.
- با کلیک بر روی Next وارد صفحه منابع خواهید شد. برای ایجاد یک منبع جدید بر روی Add New Resource کلیک کنید.
مشابه تصویر زیر نام و نوع متد منبع و کوئری مورد استفاده برای این منبع را مشخص کنید و در پایان بر روی Save کلیک کنید.
- در پایان بر روی Finish کلیک کنید.
دیتا سرویس ایجاد شده در کنار دیگر دیتا سرویسهای موجود قابل مشاهده و ویرایش است.
2- روش دوم (EML Eidt)
در صورت موجود بودن دیتا سرویس میتوان با کلیک بر روی Edit Data Service (XML Edit) مستقیما فایل XML مربوط به دیتا سرویس رو تغییر داد.
ایجاد Rest API و استفاده از آن در پورتال توسعهدهنده پلتکو
جهت ایجاد یک Rest API از روی وبسرویس ایجاد شده در پرتال ناشر به صورت زیر عمل میشود:
- مطابق تصویر زیر آدرس Endpoint را از روی اطلاعات دیتا سرویس موجود در WSO2 EI بردارید.
با توجه به تصویر بالاEndpoint برابر https://wso2:8243/services/HR میباشد که برای استفاده از در ایجاد Rest API در پورتال ناشر پلتکو به جای آدرس و پورت Endpoint موجود در EI آدرس و پورت سروری که EI را بر روی آن نصب و راه اندازی کردهاید را مطابق تصویر زیر قرار دهید.
- سپس با توجه Resource Path و Resource Method منابعی که در دیتا سرویس EI تعریف کردهاید، منابعی که میخواهید پروکسی کنید را همانند تصویر زیر در پورتال ناشر پلتکو تعریف کنید.
حال میتوانید وب سرویس Rest ایجاد شده را در پورتال توسعهدهنده (و همچنین پرتال ناشر) پلتکو فراخوانی کنید.
شرکت دانش بنیان پلتکو، ارائه دهنده خدمات تخصصی یکپارچه سازی و مدیریت وبسرویسها می باشد که خدماتی نظیر گذرگاه سرویسهای سازمانی (ESB) و مدیریت وبسرویسها (API Manager)، مانیتورینگ، مدیریت لاگها، وب پرتال و دهها سرویس تخصصی دیگر به سازمانها ارائه میدهد.
نتیجهگیری و سخن پایانی
در این مقدمه، به بررسی نحوهی ارائهی یک REST API از روی کوئری دیتابیسی پرداختیم. ایجاد یک واسط برنامهنویسی با استفاده از اصول REST و ارتباط مستقیم با دیتابیس توسط کوئریهای دیتابیسی، توسعهدهندگان را قادر به ارائه دادههای ساختارمند و قابل توسعه به سایر برنامهها میکند.
در این راستا، افزایش سرعت توسعه، افزایش قابلیت توسعه و اصول استاندارد وب از جمله مزایایی هستند که از این رویکرد بهدست میآید. با استفاده از متدهای HTTP و تبدیل دادهها به فرمتهای استاندارد، امکان ارتباط شفاف و هماهنگ با سایر سیستمها را داریم.
همچنین، توسعهدهندگان با اعمال لایههای امنیتی مناسب، میتوانند از اطلاعات حساس دیتابیس خود محافظت کنند و کنترل دقیقتری بر روی دسترسیها اعمال کنند.در نهایت، ایجاد یک REST API از روی کوئری دیتابیسی نه تنها به سهولت در توسعه بلکه به ایجاد ارتباطات قوی و هماهنگ با برنامهها و سرویسهای مختلف کمک میکند. این رویکرد، جهت یکپارچگی و بهبود عملکرد در برنامهنویسی و توسعه نرمافزارهای مدرن بسیار حیاتی است.
بدون دیدگاه