Penggunaan Middleware dalam Pengembangan Aplikasi Backend – Perwira Learning Center


Penggunaan Middleware dalam Pengembangan Aplikasi Backend


1. Latar Belakang

    Perkembangan teknologi informasi yang pesat membuat aplikasi modern semakin kompleks, terdiri dari berbagai komponen seperti frontend, backend, database, dan layanan pihak ketiga. Kompleksitas ini menuntut adanya mekanisme yang dapat mengatur alur komunikasi, keamanan, dan proses data antar komponen agar sistem berjalan dengan baik dan efisien. Jika semua proses pendukung ditangani langsung di logika utama aplikasi, kode program akan menjadi sulit dikelola, tidak terstruktur, dan rawan kesalahan.

    Middleware hadir sebagai solusi dengan berperan sebagai lapisan perantara antara request pengguna dan logika utama aplikasi. Middleware dapat menangani autentikasi, otorisasi, validasi data, keamanan, dan pencatatan aktivitas secara terpusat, sehingga logika inti aplikasi tetap bersih dan terstruktur. Dengan penerapan middleware, aplikasi menjadi lebih aman, mudah dikembangkan, dan mudah dipelihara, sehingga pengembang dapat membangun sistem yang andal dan terorganisir.

 Apa Itu Autentikasi API dan Mengapa Penting?

 

2. Alat dan Bahan

a. Perangkat Lunak

    - Web Browser (Chrome/Edge)

    - Web Server (XAMPP)

    - Text Editor (VS Code)

b. Perangkat Keras

     - Laptop / Komputer.     

3. Pembahasan

3.1 Pengertian Middleware 

    Middleware adalah komponen perantara dalam sebuah aplikasi yang berada di antara request (permintaan) dari user dan response (jawaban) dari sistem. Middleware berfungsi untuk memproses, memeriksa, atau memodifikasi request dan response sebelum diteruskan ke bagian utama aplikasi.

Sederhananya:

Middleware = penjaga + penyaring di tengah alur aplikasi

Analogi kehidupan sehari-hari: 

Bayangkan kamu masuk ke gedung perkantoran.

- Kamu datang ke pintu depan (request dari user)

- Satpam memeriksa kartu identitas dan tujuan kamu (middleware)

- Jika lolos, kamu boleh masuk ke ruangan tujuan (controller / fitur aplikasi)

- Jika tidak lolos, kamu ditolak

Satpam itu adalah middleware karena dia tidak mengerjakan pekerjaan utama kantor, tetapi menentukan apakah kamu boleh lanjut atau tidak. 

3.2 Arsitektur Middleware

 

Komponen utama dalam arsitektur middleware:

1. Client

Client adalah pihak yang mengirimkan request ke sistem, seperti browser atau aplikasi mobile. Request ini biasanya berupa HTTP request.

2. Web Server

Web server menerima request dari client dan meneruskannya ke aplikasi. Contohnya Apache atau Nginx.

3. Middleware Layer

Middleware layer adalah kumpulan middleware yang dieksekusi secara berurutan. Setiap middleware memiliki tanggung jawab khusus, seperti:

- Autentikasi

- Otorisasi

- Validasi data

- Logging

- Keamanan

4. Application Core (Controller / Service)

Bagian ini berisi logika utama aplikasi, seperti pengolahan data, perhitungan, dan akses database.

5. Response Handler

Setelah proses selesai, sistem mengembalikan response ke client melalui jalur yang sama. 

3.3 Cara Kerja Middeware

Berikut bagaimana cara kerja middleware:

1. User mengirim request ke aplikasi

Request bisa berupa permintaan halaman, pengiriman data, atau pemanggilan API.

2. Request diterima oleh server

Server meneruskan request ke aplikasi backend.

3. Request masuk ke middleware pertama

Middleware mulai bekerja sesuai urutan yang telah ditentukan.

4. Middleware melakukan pengecekan

 Middleware dapat mengecek autentikasi, otorisasi, validasi data, atau keamanan.

5. Keputusan middleware

Jika lolos → request diteruskan ke middleware berikutnya

Jika gagal → request dihentikan dan response dikirim

6. Request mencapai controller

Setelah semua middleware lolos, request diproses oleh controller atau logika utama aplikasi.

7. Aplikasi menghasilkan response

Hasil proses dikembalikan sebagai response.

8. Response melewati middleware (opsional)

Middleware dapat memodifikasi response sebelum dikirim ke user.

9. Response dikirim ke user

User menerima hasil akhir dari aplikasi. 

3.4 Jenis - Jenis Middleware 

1. Database Middleware

Memungkinkan aplikasi berinteraksi dengan berbagai sistem basis data seperti MySQL, PostgreSQL, atau MongoDB melalui antarmuka standar.

2. Message-Oriented Middleware (MOM)

Memfasilitasi komunikasi antar aplikasi secara asinkron melalui sistem antrian pesan, contohnya RabbitMQ, Kafka, dan ActiveMQ.

3. Remote Procedure Call (RPC) Middleware

Memungkinkan aplikasi menjalankan fungsi pada server jarak jauh seolah-olah fungsi tersebut berada secara lokal. Contoh implementasinya adalah gRPC.

4. Object Middleware

Mengelola komunikasi antar objek dalam sistem terdistribusi, seperti CORBA.

5. Transaction Middleware

Digunakan dalam sistem keuangan untuk memastikan transaksi berlangsung aman dan konsisten.

6. Web Middleware

Berperan dalam aplikasi berbasis web, misalnya Express.js pada Node.js atau middleware dalam framework Django untuk Python.

3.5 Fungsi Utama Middleware

    Middleware memiliki peran penting dalam mengatur alur kerja aplikasi. Fungsi utama middleware adalah sebagai pengontrol dan penyaring request sebelum diproses oleh logika utama sistem. Dengan adanya middleware, berbagai proses pendukung dapat dipisahkan dari kode inti aplikasi sehingga sistem menjadi lebih terstruktur dan mudah dikelola.

Secara umum, fungsi utama middleware meliputi:

1. Melakukan autentikasi pengguna, yaitu memastikan bahwa pengguna telah login sebelum mengakses halaman atau fitur tertentu.

2. Melakukan otorisasi pengguna dengan mengecek role atau hak akses, sehingga pengguna hanya dapat mengakses fitur yang sesuai dengan kewenangannya.

3. Melakukan validasi data yang dikirim oleh user sebelum diproses lebih lanjut oleh aplikasi.

4. Menjaga keamanan sistem, seperti mencegah akses ilegal, serangan CSRF, dan penyalahgunaan request.

5. Mencatat aktivitas atau log request untuk keperluan monitoring dan audit sistem.

6. Memodifikasi request atau response, misalnya menambahkan header tertentu atau mengubah format data. 

3.6 Kesimpulan 

    Middleware merupakan komponen penting dalam arsitektur aplikasi modern yang berfungsi sebagai lapisan perantara antara request pengguna dan logika utama sistem. Dengan middleware, proses seperti autentikasi, otorisasi, validasi, dan keamanan dapat dikelola secara terpusat tanpa mengganggu kode inti aplikasi. Penerapan middleware yang baik akan membuat sistem lebih aman, rapi, dan mudah dikembangkan, serta membantu pengembang dalam menjaga konsistensi dan kualitas aplikasi secara keseluruhan. 

4. Daftar Pustaka

CodePolitan. (2024, Juni 28). Apa itu middleware? Pengertian, contoh dan fungsinya. CodePolitan. https://www.codepolitan.com/blog/apa-itu-middleware-pengertian-contoh-dan-fungsinya (codepolitan.com)

RevoU. (n.d.). Middleware. RevoU. https://www.revou.co/id/kosakata/middleware (revou.co)

Amazon Web Services. (n.d.). What is middleware? AWS. https://www.aws.amazon.com/id/what-is/middleware/ (Amazon Web Services, Inc.)

Telkom University BSE. (n.d.). Peran middleware dalam rekayasa perangkat lunak modern. BSE Telkom University. https://bse.telkomuniversity.ac.id/peran-middleware-dalam-rekayasa-perangkat-lunak-modern/

Posting Komentar

0 Komentar