Apa itu arsitektur tiga tingkat?

Pemandangan Udara Tokyo saat senja

Apa itu arsitektur tiga tingkat?

Arsitektur tiga lapis adalah arsitektur aplikasi perangkat lunak yang sudah mapan, yang mengorganisasi aplikasi ke dalam tiga lapisan komputasi logis dan fisik: lapisan presentasi, atau antarmuka pengguna; lapisan aplikasi, tempat data diproses; dan lapisan data, tempat data aplikasi disimpan dan dikelola.

Manfaat utama dari arsitektur tiga tingkat adalah bahwa karena setiap lapisan berjalan pada infrastrukturnya sendiri, masing-masing lapisan dapat dikembangkan secara bersamaan oleh tim pengembang yang berbeda. Dan dapat diperbarui atau diskalakan sesuai kebutuhan tanpa memengaruhi tingkatan lainnya.

Selama beberapa dekade arsitektur tiga tingkat adalah arsitektur yang berlaku untuk aplikasi klien-server. Hari ini, sebagian besar aplikasi tiga tingkat adalah target untuk modernisasi yang menggunakan teknologi cloud native seperti kontainer dan layanan mikro dan untuk migrasi ke cloud.

Jangan pernah melewatkan terobosan teknologi

Temukan penelitian baru dalam AI, Quantum, hybrid cloud, dan banyak lagi dari pakar IBMdengan buletin Future Forward bulanan. Lihat Pernyataan Privasi IBM.

terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Tiga tingkat secara terperinci

Tingkat presentasi

Tingkat presentasi adalah antarmuka pengguna dan lapisan komunikasi aplikasi, di mana pengguna akhir berinteraksi dengan aplikasi. Tujuan utamanya adalah untuk menampilkan informasi dan mengumpulkan informasi dari pengguna. Tingkat atas ini dapat berjalan di browser web, sebagai aplikasi desktop, atau antarmuka pengguna grafis (GUI), misalnya. Tingkat presentasi web dikembangkan dengan menggunakan HTML, CSS, dan JavaScript. Aplikasi desktop dapat ditulis dalam berbagai bahasa bergantung pada platform.

Tingkat aplikasi

Tingkat aplikasi, juga dikenal sebagai tingkat logika atau tingkat menengah, adalah jantung dari aplikasi. Di tingkat ini, informasi yang dikumpulkan di tingkat presentasi diproses - kadang-kadang terhadap informasi lain di tingkat data - menggunakan logika bisnis, seperangkat business rules. Tingkat aplikasi juga dapat menambah, menghapus, atau memodifikasi data di tingkat data.

Tingkatan aplikasi biasanya dikembangkan dengan menggunakan Python, Java, Perl, PHP atau Ruby, dan berkomunikasi dengan tingkatan data dengan menggunakan panggilan API .

Tingkat data

Tingkat data, kadang-kadang disebut tingkat basis data, tingkat akses data atau back-end, adalah tempat informasi yang diproses oleh aplikasi disimpan dan dikelola. Ini bisa berupa sistem manajemen basis data relasional seperti PostgreSQL, MySQL, MariaDB, Oracle, Db2, Informix atau Microsoft SQL Server, atau di server Basis Data NoSQL seperti Cassandra, CouchDB, atau MongoDB.

Dalam aplikasi tiga tingkat, semua komunikasi melewati tingkat aplikasi. Tingkat presentasi dan data tidak dapat berkomunikasi secara langsung satu sama lain.

Pengembangan Aplikasi

Bergabunglah: Pengembangan aplikasi Enterprise di cloud

Dalam video ini, Dr. Peter Haumer membahas seperti apa pengembangan aplikasi perusahaan modern saat ini di hybrid cloud dengan menunjukkan berbagai komponen dan praktiknya, termasuk IBM Z Open Editor, IBM Wazi, dan Zowe. 

Manfaat arsitektur tiga tingkat

Sekali lagi, manfaat utama arsitektur tiga tingkat adalah pemisahan fungsionalitas logis dan fisik. Setiap tingkat dapat berjalan pada sistem operasi dan platform server terpisah - misalnya, server web, server aplikasi, server basis data - yang paling sesuai dengan persyaratan fungsionalnya. Dan setiap tingkat berjalan pada setidaknya satu perangkat keras server khusus atau server virtual, sehingga layanan dari setiap tingkat dapat disesuaikan dan dioptimalkan tanpa mempengaruhi tingkatan lainnya.

Manfaat lain (dibandingkan dengan arsitektur satu atau dua tingkat) meliputi:

  • Pengembangan yang lebih cepat: Karena setiap tingkat dapat dikembangkan secara bersamaan oleh tim yang berbeda, organisasi dapat membawa aplikasi ke pasar lebih cepat. Dan programmer dapat menggunakan bahasa dan alat terbaru dan terbaik untuk setiap tingkat.

  • Skalabilitas yang lebih baik: Tingkatan mana pun dapat diskalakan secara independen dari yang lain sesuai kebutuhan.

  • Peningkatan keandalan: Pemadaman pada satu tingkat cenderung tidak berdampak pada ketersediaan atau kinerja tingkat lainnya.

  • Peningkatan keamanan: Karena tingkat presentasi dan tingkat data tidak dapat berkomunikasi secara langsung, tingkat aplikasi yang dirancang dengan baik dapat berfungsi sebagai firewall internal, mencegah injeksi SQL dan penyalahgunaan berbahaya lainnya.

Tingkatan versus lapisan

Dalam diskusi tentang arsitektur tiga tingkat, lapisan sering digunakan secara bergantian - dan keliru – untuk tingkat, seperti dalam 'lapisan presentasi' atau 'lapisan logika bisnis'.

Mereka tidak sama. Sebuah 'lapisan' mengacu pada pembagian fungsional perangkat lunak, tetapi 'tier' mengacu pada divisi fungsional perangkat lunak yang berjalan pada infrastruktur yang terpisah dari divisi lainnya. Aplikasi Kontak di ponsel Anda, misalnya, adalah aplikasi tiga-lapis , tetapi aplikasi tier -tunggal, karena ketiga lapisan berjalan di ponsel Anda.

Perbedaannya penting karena lapisan tidak dapat menawarkan manfaat yang sama dengan tingkatan.

Aplikasi tiga tingkat dalam pengembangan web

Dalam pengembangan web, tingkatan memiliki nama yang berbeda tetapi melakukan fungsi yang sama:

  • Server web adalah tingkat presentasi dan menyediakan antarmuka pengguna. Ini biasanya halaman web atau situs web, seperti situs e-commerce di mana pengguna menambahkan produk ke keranjang belanja, menambahkan detail pembayaran atau membuat akun. Konten dapat statis atau dinamis, dan dikembangkan menggunakan HTML, CSS, dan JavaScript.

  • Server aplikasi sesuai dengan tingkat menengah, menampung logika bisnis yang digunakan untuk memproses input pengguna. Untuk Lanjutkan contoh e-commerce, ini adalah tingkat yang menanyakan basis data inventaris untuk mengembalikan ketersediaan produk, atau menambahkan detail ke profil pelanggan. Lapisan ini sering dikembangkan menggunakan Python, Ruby, atau PHP dan menjalankan kerangka kerja seperti Django, Rails, Symphony, atau ASP.NET.

  • Server basis data adalah tingkat data atau backend dari aplikasi web. Server ini berjalan pada perangkat lunak manajemen basis data, seperti MySQL, Oracle, DB2, atau PostgreSQL.

Arsitektur beberapa tingkat lainnya

Sementara arsitektur tiga tingkat adalah arsitektur aplikasi beberapa tingkat yang paling banyak diadopsi, ada arsitektur lain yang mungkin Anda temui dalam pekerjaan atau riset Anda.

Arsitektur dua tingkat

Arsitektur dua tingkat adalah arsitektur klien-server asli, terdiri atas tingkat presentasi dan tingkat data; logika bisnis berada di tingkat presentasi, tingkat data atau keduanya. Dalam arsitektur dua tingkat, tingkat presentasi - dan oleh karena itu pengguna akhir - memiliki akses langsung ke tingkat data, dan logika bisnis sering terbatas. Aplikasi manajemen kontak sederhana, di mana pengguna dapat memasukkan dan mengambil data kontak, adalah contoh aplikasi dua tingkat.

arsitektur 3 tingkat

Arsitektur N-tier - juga disebut arsitektur multitier - mengacu pada arsitektur aplikasi apa pun dengan lebih dari satu tingkat. Tetapi aplikasi dengan lebih dari tiga lapisan jarang terjadi karena lapisan tambahan menawarkan sedikit manfaat dan dapat membuat aplikasi lebih lambat, lebih sulit dikelola dan lebih mahal untuk dijalankan. Akibatnya, arsitektur n-tier dan arsitektur multitier biasanya sinonim untuk arsitektur tiga tingkat.

Solusi terkait
IBM Enterprise Application Service for Java

Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.

Jelajahi Aplikasi Java
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan Pengembangan Aplikasi Perusahaan

Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.

Layanan pengembangan aplikasi
Ambil langkah selanjutnya

Layanan Konsultasi Pengembangan Aplikasi IBM Cloud menawarkan panduan pakar dan solusi inovatif untuk menyederhanakan strategi cloud Anda. Bermitralah dengan para pakar cloud dan pengembangan IBM untuk memodernisasi, menskalakan, dan mempercepat aplikasi Anda, sehingga memberikan hasil yang transformatif bagi bisnis Anda.

Jelajahi layanan pengembangan aplikasi Mulai membangun dengan IBM cloud secara gratis