2 min to read
Banking Service API Gateway
Recent Project - Banking Service API Gateway

INTRODUCTION
project ini berupa API Gateway. API Gateway (Application Programming Interface Gateway) adalah lapisan perangkat lunak yang bertindak sebagai titik masuk tunggal untuk aplikasi klien dan layanan backend. Kurang lebih gambarannya seperti berikut:
PROJECT CONCEPT
Project yang akan saya buat adalah integrasi antara ERP (dynamics 365) dengan layanan Perbankan (BCA), kenapa perlu menggunakan API Gateway? Seharusnya ERP bisa langsung Hit ke endpoint layanan perbankan?.
Tentu, Dynamics 365 sudah lebih baik dalam melakuka request API, tetapi masalahnya layanan perbankan memiliki API yang cukup ketat dari sisi security. Kendala yang dihadapi adalah endpoint layanan perbankan perlu melakukan whitelist IP static, sementara dynamics 365 memiliki IP yang dynamic. maka dari itu diperlukan API Gateway yang di deploy di server yang berbeda dan memiliki IP static untuk melakukan request ke layanan perbankan.
Tujuan project ini adalah:
- Membuat fitur transfer (Payment Vendor dll) di ERP melalui API Gateway.
Solusi yang perlu dibuat:
- Membuat API Gateway untuk solusi jangka panjang terkait whitelist IP di layanan perbankan.
- Membuat Middleware Whitelist Domain, untuk security agar endpoint yang disediakan oleh api gateway hanya bisa di hit oleh domain tertentu.
- Membuat Authentikasi menggunakan JWT, untuk security agar endpoint yang disediakan oleh api gateway hanya bisa di hit apabila client memberikan akses yang telah dibuat. hasil dari autentikasi ini berupa Token JWT yang hanya diperlukan untuk hit endpoint berikutnya.
- Membuat Validasi, untuk data yang dikirimkan oleh client (Dynamics 365), apakah sudah sesuai dengan field yang disediakan.
berikut adalah skema project ini.
TECHNICAL REQUIREMENTS
Resource | For |
---|---|
Node JS | Runtime Javascript |
Javascript | Bahasa utama yang digunakan untuk membangun API Gateway pada project ini |
Express JS | Framework yang digunakan untuk membuat API Gateway |
Mysql | Database yang digunakan untuk menyimpan hasil log request dan response |
PHP | Bahasa yang digunakan untuk membuat dashboard monitoring log |
CrudBooster | Library untuk generate crud function otomatis |
Virtual Private Server | Server yang digunakan untuk deploy API Gateway |
PM2 | Manajer proses untuk runtime JavaScript Node.js. |
RESULT
Result dari project ini adalah
- Endpoint yang siap di hit oleh Dynamics 365 (ERP)
- Dashboard Monitoring Log beberapa bagian gambar disensor, karena mengandung data confidential.
Comments