Software Architecture

Fachrur Rozi
Sulang
Published in
2 min readMay 2, 2018

Software architecture adalah struktur sistem dari suatu program atau sistem komputer yang terdiri dari komponen-komponen perangkat lunak, ciri yang tampak secara eksternal dari komponen-komponen tersebut, serta hubungan antar komponen tersebut.

The Goals of Architecture

Software architecture berusaha untuk membangun jembatan yang baik antara business requirements dan technical requirements dengan memahami use cases, lalu menemukan cara untuk mengimplementasikannya ke dalam software. Arsitektur yang baik adalah arsitektur yang fleksibel, yang dapat secara mudah beradaptasi dengan kebutuhan user. selain itu, arsitektur juga harus memperhatikan isu efficiency, scalability, dan reliability.

Berikut beberapa key principles dalam penerapan software architecture

Software Architecture

Pada gambar di atas, setiap layer merepresentasikan satu key principles. Di mana terdiri Users, Eksternal System, Presentation Layer, Service Layer, Business Layer, Data Layer, dan Cross Cutting.

Dalam mengembangkan aplikasi suling, tim juga telah merancang Software Architecture. Kami menggunakan Django framework sebagai sistem backend utama, dan dibungkus dengan Rest API sebagai jalur komunikasi dengan frontend. Stack frontend yang digunakan adalah React JS. Sistem backend juga memiliki komunikasi dengan open source api seperti likedin API dan juga api.cs.ui.ac.id, komunikasi dilakukan melalui API Gateway.

Berikut adalah diagram dari software architecture aplikasi suling:

Suling Software Architecture

Gambar di atas adalah implementasi software architecture dalam pengembangan aplikasi suling. Implementasi kami lakukan pada bagian service layer, di mana terdiri dari backend dan frontend. Kami juga menggunakan API call dengan external system, yaiut dengan api.cs.ui.ac.id dan juga linkedin api. Data layer hanya terdiri dari database yang menggunakan postgresql. Pada presentation layer, kami hanya mengimplementasikan browser view, baik untuk desktop maupun mobile. Dalam arsitektur tersebut business layer belum diterapkan.

Reference: https://msdn.microsoft.com/en-us/library/ee658098.aspx

--

--