Software Architecture
Apa sih Software Architecture itu? Dan apa sih tujuannya? Berikut ini adalah penjelasannya
Software application architecture adalah sebuah proses untuk mendefinisikan struktur dari suatu aplikasi yang dapat memenuhi seluruh kriteria dari sisi teknis dan juga operasional, dengan pertimbangan kualitas seperti performance, security, and manageability. Jadi, istilah software architecture ini berperan sebagai sebuah struktur dalam sebuah software atau aplikasi. Secara tidak langsung, software architecture juga menjadi solusi untuk requirements yang ada, lalu juga meningkatkan performance dan security secara bersamaan.
— — Definisi menurut Martin Fowler —
““The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system’s lifetime; and, in the end, architecture boils down to whatever the important stuff is.”
Tujuan dari Software Architecture : Untuk menciptakan suatu jembatan antara kebutuhan bisnis dengan kebutuhan teknis melalui use cases yang sudah dibuat, dan menemukan cara bagaimana untuk mengimplementasikan use cases tersebut. Software architecture yang baik akan meminimalisir kemungkinan resiko/kegagalan yang diciptakan oleh para developer. Selain itu, software architecture yang baik juga dapat beradaptasi dengan perubahan yang akan terjadi seiring waktu dalam teknologi perangkat keras dan perangkat lunak, serta dalam skenario dan persyaratan pengguna. Seorang arsitektur aplikasi juga harus mempertimbangkan hasil desain arsitektur yang sudah dibuat agar memiliki performance dan security yang baik.
Beberapa Jenis Software Architecture Pattern
Layered Pattern : Pattern ini digunakan untuk menstruktur program yang dapat didekompos menjadi beberapa subtask. Setiap layer memberikan service kepada layer diatasnya. 4 layer yang umumnya ditemukan ada sebagai berikut:
Microservices : Pada microservices, pendekatannya berdasarkan service-service yang mempunyai fitur tertentu, lalu terkumpul membangun suatu sistem. Sistem yang terbangun dari kumpulan service-service ini dapat memanggil service yang menjalankan fitur tersendiri.
Software application architecture adalah sebuah proses untuk mendefinisikan struktur dari suatu aplikasi yang dapat memenuhi seluruh kriteria dari sisi teknis dan juga operasional, dengan pertimbangan kualitas seperti performance, security, and manageability. Jadi, istilah software architecture ini berperan sebagai sebuah struktur dalam sebuah software atau aplikasi. Secara tidak langsung, software architecture juga menjadi solusi untuk requirements yang ada, lalu juga meningkatkan performance dan security secara bersamaan.
— — Definisi menurut Martin Fowler —
““The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system’s lifetime; and, in the end, architecture boils down to whatever the important stuff is.”
Tujuan dari Software Architecture : Untuk menciptakan suatu jembatan antara kebutuhan bisnis dengan kebutuhan teknis melalui use cases yang sudah dibuat, dan menemukan cara bagaimana untuk mengimplementasikan use cases tersebut. Software architecture yang baik akan meminimalisir kemungkinan resiko/kegagalan yang diciptakan oleh para developer. Selain itu, software architecture yang baik juga dapat beradaptasi dengan perubahan yang akan terjadi seiring waktu dalam teknologi perangkat keras dan perangkat lunak, serta dalam skenario dan persyaratan pengguna. Seorang arsitektur aplikasi juga harus mempertimbangkan hasil desain arsitektur yang sudah dibuat agar memiliki performance dan security yang baik.
Beberapa Jenis Software Architecture Pattern
Layered Pattern : Pattern ini digunakan untuk menstruktur program yang dapat didekompos menjadi beberapa subtask. Setiap layer memberikan service kepada layer diatasnya. 4 layer yang umumnya ditemukan ada sebagai berikut:
- Presentation layer (UI layer)
- Application layer (Service layer)
- Business logic layer (Domain layer)
- Data access layer (Persistence layer)
Microservices : Pada microservices, pendekatannya berdasarkan service-service yang mempunyai fitur tertentu, lalu terkumpul membangun suatu sistem. Sistem yang terbangun dari kumpulan service-service ini dapat memanggil service yang menjalankan fitur tersendiri.
Komentar
Posting Komentar