Definisi sistem 3-tier

8

Orang sering mengklaim bahwa mereka mengikuti arsitektur '3-tier (atau n-tier)', dan kadang-kadang mereka kemudian mengklaim beralih ke Model Domain. Tapi saya benar-benar tidak pernah mengerti apa ini 'arsitektur 3-tingkat' mitos. Tampaknya tidak memiliki definisi formal. Sementara ada banyak referensi dan contoh di sekitar yang menjelaskan dan menunjukkan pola Model Domain, setiap referensi ke 3-tier hanya menyarankan Anda harus memisahkan kode Anda menjadi UI, Business Logic dan Layers Akses Data. Dan hanya itu yang mereka katakan.

Apa yang saya temukan aneh adalah bagi saya, Model Domain adalah perwujudan sempurna dari paradigma 3-tier ini. ORM dan file pemetaan adalah Lapisan Akses Data, Domain adalah Logika Bisnis, dan UI adalah, yah, UI. Jadi mengapa orang berbicara seolah-olah itu adalah sesuatu yang baru dan berbeda, dan sesuatu yang harus mereka ubah?

Sebelum saya melihat orang-orang menerapkan Model Domain, sebagian besar aplikasi adalah UI yang mengakses prosedur tersimpan dengan logika terpecah di UI dan SP. Kadang-kadang ada beberapa majelis yang disebut 'UI', 'BLL' dan 'DLL' tetapi biasanya ini hanya mediator antara UI dan SP, meninggalkan lebih banyak tempat untuk logika yang akan tersebar secara acak.

Jadi apa arsitektur '3-tier' mitos ini? Apakah itu benar-benar ada? dan jika demikian, di mana beberapa contoh penerapannya dilaksanakan dengan baik?

Paul T Davies
sumber

Jawaban:

9

Definisi arsitektur 3-tier adalah kasus khusus arsitektur n-tier . Dalam arsitektur n-tier, ada n komponen dan masing-masing hanya berinteraksi dengan komponen segera "di atas" dan "di bawah" itu. Arsitektur tiga tingkat memiliki tiga komponen tersebut.

Biasanya, arsitektur tiga tingkat terdiri dari lapisan interaksi pengguna, lapisan aturan bisnis, dan lapisan layanan data (termasuk basis data). Lapisan interaksi pengguna hanya mengeluarkan permintaan ke lapisan aturan bisnis, yang mengambil data dari berbagai layanan data, memprosesnya, dan kemudian mengembalikannya kepada pengguna melalui lapisan interaksi pengguna.

Arsitektur n-tier adalah contoh pola arsitektur (atau gaya arsitektur). Ini hanya mendefinisikan beberapa kendala pada arsitektur sistem. Dengan sendirinya, ini bukan tampilan lengkap dari arsitektur sistem. Meskipun saya yakin bahwa ada sistem yang mengimplementasikan sesuatu seperti arsitektur tiga-tier, itu hanya pola yang dimaksudkan untuk mengatur diskusi untuk desain tambahan dan implementasi sistem.

Thomas Owens
sumber
Pada dasarnya, apa yang Anda katakan adalah bahwa arsitektur 3-tier adalah arsitektur yang memiliki 3 tingkatan ... yang persis jawaban yang benar :-)
Jörg W Mittag
@ JörgWMittag Cukup banyak. Tetapi saya juga mengatakan bahwa itu hanya pola yang digunakan untuk menyederhanakan komunikasi antara arsitek sistem, perancang aplikasi, dan pemrogram. Pada kenyataannya, ini adalah kasus khusus dari arsitektur n-tier yang merupakan kasus khusus dari arsitektur client-server.
Thomas Owens