Software Architecture – LAYERED ARCHITECTURE
Definition
Pola arsitektur layered adalah pola n-tiered di mana komponen disusun dalam lapisan horizontal. Dan ini adalah metode tradisional untuk merancang sebagian besar perangkat lunak dan dimaksudkan untuk pengembangan mandiri sehingga semua komponen saling berhubungan tetapi tidak saling bergantung.
Seperti yang ditunjukkan pada gambar, layering biasanya dilakukan dengan mengemas fungsionalitas khusus aplikasi di lapisan atas, penyebaran fungsionalitas spesifik menjadi lapisan bawah dan fungsionalitas yang membentang di seluruh domain aplikasi di lapisan tengah. Jumlah lapisan dan bagaimana lapisan-lapisan ini disusun ditentukan oleh kompleksitas masalah dan solusinya.
Di sebagian besar arsitektur berlapis, ada beberapa lapisan (Atas ke bawah):
– The application layered : Berisi layanan spesifik aplikasi.
– The business layer : Menangkap komponen yang umum di beberapa aplikasi.
– The middleware layer : Lapisan ini mengemas beberapa fungsi seperti pembangun GUI, antarmuka ke basis data, laporan / dll.
– The database / system software layer : Berisi OS, Database dan antarmuka ke komponen perangkat keras tertentu.
Analysis
Penilaian untuk setiap karakteristik berdasarkan kecenderungan alami untuk implementasi tipikal pola layered.
- Kemampuan untuk merespon dengan cepat terhadap lingkungan yang terus berubah, tetapi masih rumit dan memakan waktu untuk membuat perubahan dalam pola arsitektur ini karena sifat pola yang monolitik.
- Bergantung pada implementasi pola, penyebaran bisa menjadi masalah. Satu perubahan kecil ke komponen dapat memerlukan redeployment seluruh aplikasi.
- Pengembang dapat memberikan pengujian singkat untuk menguji aplikasi sebelum klien menggunakannya.
- Mudah dikembangkan karena polanya sudah terkenal dan tidak terlalu rumit untuk melakukan implementasinya.
Pros & Cons
Pros
Mudah untuk diuji karena komponen-komponennya termasuk lapisan khusus. Dengan demikian, mereka dapat diuji secara terpisah. Ini sederhana dan mudah diimplementasikan karena secara alami, sebagian besar aplikasi bekerja berlapis-lapis
Cons
Meskipun perubahan dapat dilakukan pada lapisan tertentu, itu tidak mudah karena aplikasi adalah unit tunggal. Selain itu, kopling antar lapisan cenderung membuatnya lebih sulit. Ini juga membuatnya sulit untuk diukur. Ini harus digunakan sebagai unit tunggal sehingga perubahan ke lapisan tertentu berarti seluruh sistem harus dipekerjakan kembali. Semakin besar, semakin banyak sumber daya yang dibutuhkan untuk permintaan untuk melewati beberapa lapisan dan dengan demikian akan menyebabkan masalah kinerja.
Software Architecture Pattern
Ini adalah pola arsitektur paling umum di sebagian besar aplikasi tingkat perusahaan. Ini juga dikenal sebagai pola n-tier, dengan asumsi n jumlah tingkatan. Skenario Contoh untuk Lapisan
Design Patterns
Anggap mock-up software design, susunan “stack” nya seperti layered architecture :
Setiap layer dari aplikasi terpisah dengan cara penggunaan metode API, namun yang masih saling berhubungan adalah memory handling , karena setiap komunikasi layer akan membawa/mengirim data sehingga akan terjadi alokasi memory dan pada akhirnya membutuhkan memory handling.
Ada 4 bagian dari layered architecture yang di mana setiap layer memiliki hubungan antara komponen yang ada di dalamnya dari atas kebawah yaitu
- The presentation layer : semua bagian yang berhubungan dengan layer presentasi.
- The business layer : berhubungan dengan logika bisnis.
- The persistence layer : berguna untuk mengurusi semua fungsi yang berhubungan dengan objek relasional
- The database layer : Tempat penyimpanan semua data layer.
Reference
- Software Architecture: A Case Based Approach Book by : Vasudeva Varma, Varma Vasudeva
Author : Alfi Maldino, Nadeem Abdur Rasheed , Michael Bryan , David Setyawan , Edwin Fernaldy
Supervised by : Irma Kartika W, S.Kom., M.T.I