Dalam menghadapi kompleksitas kita perlu menggunakan politik Belanda waktu menjajah Indonesia "Devide et Impera", pecah belah lalu kuasai. Ketika membangun aplikasi yang kompleks , ada baiknya kita "memecah belah" aplikasi menjadi 3 layer. Pemisahan ini bisa jadi hanya secara logik (software), tidak harus berkorespondensi secara fisik (hardware). Masih ingat arsitektur TCP/IP yang dibuat berlapis-lapis? kira-kira apa tujuannya? pemisahan arsitektur aplikasi menjadi beberapa layer dimaksudkan untuk meminimalkan terjadinya ripple effect. Efek ini terjadi jika sebuah modul sangat tergantung dengan modul yang lain, sehingga jika terjadi perubahan disatu sisi, sisi lain harus ikut diubah. Istilah kerennya adalah tighty couple
Pada pendekatan 3-tier architecture aplikasi ini dipecah menjadi 3 layer yaitu : Presentation, Business Logic dan Data Access layer. Pemecahan ini tidak harus berkorespondensi secara fisik (hardware), bisa jadi hanya secara logik (software).
Presentation layer bertanggung jawab dengan tampilan (user interface), Business Logic dengan logika business/domain permasalahan dan Data Access bertanggung jawab bagaimana mekanisme akses ke basis datanya. Dengan pemisahan ini aplikasi tidak tergantung dengan user interface nya apa (Console, WinForm, Web/ASP.NET) atau pilihan DBMS (SQL Server, Oracle, MySQL), sehingga apabila terjadi perubahan dikemudian hari karena suatu hal, developer tidak harus menulis ulang program dari awal.
Perbedaan 1-Tier dengan 3-Tier
1. Classic (1-Tier)
Pada pendekatan 3-tier architecture aplikasi ini dipecah menjadi 3 layer yaitu : Presentation, Business Logic dan Data Access layer. Pemecahan ini tidak harus berkorespondensi secara fisik (hardware), bisa jadi hanya secara logik (software).
Presentation layer bertanggung jawab dengan tampilan (user interface), Business Logic dengan logika business/domain permasalahan dan Data Access bertanggung jawab bagaimana mekanisme akses ke basis datanya. Dengan pemisahan ini aplikasi tidak tergantung dengan user interface nya apa (Console, WinForm, Web/ASP.NET) atau pilihan DBMS (SQL Server, Oracle, MySQL), sehingga apabila terjadi perubahan dikemudian hari karena suatu hal, developer tidak harus menulis ulang program dari awal.
Perbedaan 1-Tier dengan 3-Tier
1. Classic (1-Tier)
- Semua kode (SQL dan C#) diletakkan disatu tempat, yaitu di bagian user interface.
- Terjadi pengulangan penulisan program atau syntax SQL, sehingga ada banyak duplikasi kode
- Struktur program tidak teratur
- Jika terjadi perubahan user interface, maka program harus ditulis ulang
Tidak ada komentar:
Posting Komentar