Layered Architecture

Sangat umum dijumpai bahwa developer tidak menggunakan arsitektur formal, tanpa arsitektur yang jelas dan terdefinisi dengan baik sebelum mulai menuliskan kode, alhasil dengan praktik ini sekumpulan kode yang telah dirangkai tidak terorganisir dengan baik, tidak memiliki peran dan bahkan tidak jelas hubungannya satu dengan yang lain. Oleh karena itu untuk software architect atau developer baiknya mendifinisikan terlebih dahulu terkait dengan arsitektur yang akan digunakan sebelum menuliskan kode. Layered architecture adalah arsiktetur yang paling common digunakan oleh developer.

Apa itu Layered Architecture

Layared architecture atau yang paling sering dijuluki sebagai dengan nama n-tier architecture pattern. Arsitektur ini diorganisir dalam beberapa layer yang mana masing-masing layer memiliki peranan dan tanggung jawab tersendiri. Pada umumnya terdiri dari 4 layer yaitu Presentation, Business, Persistence dan Database layer. Namun bisa ditambah juga ya layernya sesuai dengan kebutuhan pengembangan. Presentation layer biasanya bertanggung jawab untuk menerima request dan menampilkan response kepada client melalui UI.
Contoh kasus ketika : get customer data. Presentation layer tidak perlu tahu cara megambil data customer dari database, cukup menampilkan hasilnya saja.

Layered Architecture Pattern
Pattern Layered Architecture

Konsep Utama Layered Architecture

Hal yang paling utama dalam arsitektur layered adalah bagaimana masing-masing layer itu tertutup. Maksudnya gimana ya tertutup? Artinya request berpindah dari satu layer ke layer lain, contohnya seperti dari presentation layer ke business layer dst.

Closed Layered

Nah kalau seperti ini kenapa bukan dari presentation layer meneruskan request ke database layer untuk mendapatkan data customer pada kasus diatas? . Nah inilah yang dinamakan isolasi layer, pada pattern ini masing-masing layer terisolasi maksudnya adalah perubahan yang dibuat dalam satu lapisan arsitektur tidak berdampak pada layer yang lain. Ketika Anda menjadikan Presentation layer direct ke Database layer maka yang akan terjadi akan berdampak perubahan ke layer yang lain seperti persistency/database layer dan akan sangat bergantungan erat untuk setiap perubahan ( tightly coupled) dan banyak dependensi ke component lain yang mengakibatkan arsitektur tipe ini sangat mahal dan sulit dalam melakukan pengembangan(Perubahan kedepannya)

Contoh Pattern

Anggaplah sekarang Anda ingin mengembangkan Aplikasi untuk mendapatkan informasi customer, maka secara arsitektur layer akan tampak interaksi masing-masing layer seperti gambar dibawah:

Layered Architecture Pattern

Pelanggan mengirimkan request melalui UI ( Presentation Layer) kemudian Presentation layer meneruskan request ke Business Layer untuk mendapatkan informasi customer dan melanjutkan command tersebut ke Persistance Layer yang akan melakukan interaksi ke database terkait dengan informasi pelanggan yang namanya siapa atau emailnya siapa atau bahkan lengkap dengan profile pelanggan tersebut dan kemudian meneruskan informasi tersebut yang dibungkus dalam UI pada presentation layer kepada pengguna.

Pertimbangan Menggunakan Layered Architecture

Pastinya masing-masing layer memiliki keunggulan masing-masing yang dapat kita pertimbangkan dari beberapa indikator dibawah ini.

Overall Agility : Rendah
Kemampuan untuk meresponse dengan cepat untuk perubahan enviroment. Karena layered ini biasanya digunakan di Monolith nature yang masing-masing componentnya sangat bergantung satu dengan yang lain.

Easy of Deployment : Rendah
Setiap bagian kecil perubahan dari satu komponen akan berdampak bagi komponen lainnya, yang mengakibatkan perlunya waktu dan plan untuk melakukan re-deployment.

Testability : Tinggi

Karena masing-masing komponen memiliki peranan/tanggung jawab yang spesifik sehingga mudah untuk melakukan test.

Performance : Rendah

Karena request harus melewati berbagai layer untuk memenuhi request

Scalability : Rendah

Karena arsitektur ini dibangun dengan pattern yang monolith dan sangat bergantungan antara satu layer dengan yg lain.

Easy of Development: Tinggi

Pattern ini mudah untuk dipelajari dan tidak kompleks untuk di implementasi.

Hmm.. Sounds good kalau untuk arsitektur yang performancenya bagus apa ya? Yuk di sesi selanjutnya akan kita ulas ya.

Source : O’reilly Software Architecture Patterns

22 thoughts on “Layered Architecture”

  • Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

  • Keep up the fantastic work! Kalorifer Sobası odun, kömür, pelet gibi yakıtlarla çalışan ve ısıtma işlevi gören bir soba türüdür. Kalorifer Sobası içindeki yakıtın yanmasıyla oluşan ısıyı doğrudan çevresine yayar ve aynı zamanda suyun ısınmasını sağlar.

  • Keep up the fantastic work! Kalorifer Sobası odun, kömür, pelet gibi yakıtlarla çalışan ve ısıtma işlevi gören bir soba türüdür. Kalorifer Sobası içindeki yakıtın yanmasıyla oluşan ısıyı doğrudan çevresine yayar ve aynı zamanda suyun ısınmasını sağlar.

  • Keep up the fantastic work! Kalorifer Sobası odun, kömür, pelet gibi yakıtlarla çalışan ve ısıtma işlevi gören bir soba türüdür. Kalorifer Sobası içindeki yakıtın yanmasıyla oluşan ısıyı doğrudan çevresine yayar ve aynı zamanda suyun ısınmasını sağlar.

  • I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

  • شركة Bwer هي أحد الموردين الرئيسيين لموازين الشاحنات ذات الجسور في العراق، حيث تقدم مجموعة كاملة من الحلول لقياس حمولة المركبات بدقة. وتغطي خدماتها كل جانب من جوانب موازين الشاحنات، من تركيب وصيانة موازين الشاحنات إلى المعايرة والإصلاح. تقدم شركة Bwer موازين شاحنات تجارية وموازين شاحنات صناعية وأنظمة موازين جسور محورية، مصممة لتلبية متطلبات التطبيقات الثقيلة. تتضمن موازين الشاحنات الإلكترونية وموازين الشاحنات الرقمية من شركة Bwer تقنية متقدمة، مما يضمن قياسات دقيقة وموثوقة. تم تصميم موازين الشاحنات الثقيلة الخاصة بهم للبيئات الوعرة، مما يجعلها مناسبة للصناعات مثل الخدمات اللوجستية والزراعة والبناء. سواء كنت تبحث عن موازين شاحنات للبيع أو الإيجار أو التأجير، توفر شركة Bwer خيارات مرنة لتناسب احتياجاتك، بما في ذلك أجزاء موازين الشاحنات والملحقات والبرامج لتحسين الأداء. بصفتها شركة مصنعة موثوقة لموازين الشاحنات، تقدم شركة Bwer خدمات معايرة موازين الشاحنات المعتمدة، مما يضمن الامتثال لمعايير الصناعة. تشمل خدماتها فحص موازين الشاحنات والشهادات وخدمات الإصلاح، مما يدعم موثوقية أنظمة موازين الشاحنات الخاصة بك على المدى الطويل. بفضل فريق من الخبراء، تضمن شركة Bwer تركيب وصيانة موازين الشاحنات بسلاسة، مما يحافظ على سير عملياتك بسلاسة. لمزيد من المعلومات حول أسعار موازين الشاحنات، وتكاليف التركيب، أو لمعرفة المزيد عن مجموعة موازين الشاحنات ذات الجسور وغيرها من المنتجات، تفضل بزيارة موقع شركة Bwer على الإنترنت على bwerpipes.com

Leave a Reply

Your email address will not be published. Required fields are marked *