Arsitektur, Bangunan, Struktur?

Reza Ramadhansyah
PPL Teman Bisnis
Published in
3 min readMay 28, 2019

Halo! Ketemu lagi! Kali ini saya akan membahas apasih Software Architecture itu? Lalu bagaimana penerapan dalam proyek kelompok A1? Dan mengapa istilahnya dinamakan ‘Arsitektur’.

Taken from tutorialspoint

Pengertian

Tidak hanya di kehidupan sehari-hari, istilah ‘arsitektur’ juga dapat ditemukan dalam dunia Software Engineering dan Development. Sama dengan namanya, istilah software architecture berperan sebagai sebuah struktur dalam sebuah software atau aplikasi. Jadi secara tidak langsung, software architecture juga berperan menjadi sebuah solusi untuk requirements yang ada, lalu juga meningkatkan performance dan security secara bersamaan.

Macam-Macam Software Architecture Pattern

Dalam Software Architecture terdapat berbagai macam pattern-pattern yang digunakan dalam pengembangan software. Berikutnya akan saya bahas beberapa pattern yang umum digunakan dalam software engineering.

1. Layered Pattern

Seperti namanya, pattern ini membagi tugas aplikasi menjadi n-layer. Aplikasi-aplikasi tersebut mempunyai fungsi dan peran masing-masing yang dapat berhubungan satu sama lain. Contoh yang dapat diambil yaitu aplikasi desktop.

2. Client-Server Pattern

Pattern ini terbagi menjadi dua bagian, yakni server dan clients. Masing-masing bagian mempunyai fungsi dan peran yang berbeda. Komponen server akan menyediakan berbagai macam service untuk banyak komponen client. Sementara komponen client akan merequest berbagai macam service dari server, lalu server akan memberikan service yang relevan sesuai permintaan.

3. Microservices

Pada pattern arsitektur yang satu ini, pendekatannya berdasarkan service-service yang mempunyai fitur tertentu terkumpul membangun suatu sistem. Meskipun terpisah, service-service yang mempunyai tugas masing-masing dapat membentuk suatu core application yang nantinya dapat memanggil service kecil tersebut.

Penerapan dalam Proyek

Gambar penerapan arsitektur yang kami gunakan

Dalam aplikasi kami, terdapat dua buah komponen utama yaitu frontend dan backend. Aplikasi kami menggunakan container-based architecture yang dijalankan menggunakan docker. Terdapat container untuk frontend, backend, dan db. Masing-masing container menjalankan image yang sesuai fungsinya. Image yang sudah ada akan di push ke registry PPL.

Komponen Aplikasi Teman Bisnis Customer Database and Analytics

Container ppla1-frontend — Pada container ini terdapat aplikasi web yang nantinya akan digunakan oleh temanbisnis. Aplikasi ini nantinya akan membuat request data ke aplikasi backend untuk meminta hasil tracking yang diperoleh untuk ditampilkan.

Container ppla1-backend — Dalam container ini terdapat aplikasi backend yang sangat penting untuk mengintegrasi database, frontend, dan aplikasi android yang kami kembangkan. Dibuat dengan menggunakan framework Django versi 2.6 sama seperti frontend.

Container ppla1-db — Dalam container ini kami menyimpan database image postgresql. Container ini hanya dapat diakses oleh backend yang nantinya akan menyimpan berbagai macam data hasil tracking yang sudah dilakukan.

Sekian tulisan saya, kembali lagi dalam kesempatan berikutnya!

Terima kasih sudah membaca!

--

--