1. Standalone (one-tier)
Pada arsitektur ini semua pemrosesan dilakukan pada mainframe. Kode
aplikasi, data dan semua komponen sistem ditempatkan dan dijalankan pada host.
Seperti terlihat pada gambar 1.1.
Walaupun komputer client dipakai untuk
mengakses mainframe, tidak ada pemrosesan yang terjadi pada mesin ini, dan
karena mereka “dump-client” atau “dump-terminal”. Tipe model ini, dimana semua
pemrosesan terjadi secara terpusat, dikenal sebagai berbasis-host. Sekilas
dapat dilihat kesalahan pada model ini. Ada dua masalah pada komputasi berbasis
host: Pertama, semua pemrosesan terjadi pada sebuah mesin tunggal, sehingga
semakin banyak user yang mengakses host, semakin kewalahan jadinya. Jika sebuah
perusahaan memiliki beberapa kantor pusat, user yang dapat mengakses mainframe
adalah yang berlokasi pada tempat itu, membiarkan kantor lain tanpa akses ke
aplikasi yang ada.
Pada saat itu jaringan sudah ada namun masih dalam tahap bayi, dan umumnya
digunakan untuk menghubungkan terminal dump dan mainframe. Internet baru saja
dikembangkan oleh pemerintah US dan pada saat itu dikenal sebagai ARPANET.
Namun keterbatasan yang dikenakan pada user mainframe dan jaringan telah mulai
dihapus.
2.
Client/Server
(two-tier)
Dalam model client/server, pemrosesan
pada sebuah aplikasi terjadi pada client dan server. Client/server adalah
tipikal sebuah aplikasi two-tier dengan banyak client dan sebuah server yang
dihubungkan melalui sebuah jaringan, seperti terlihat dalam gambar 1.2.
Aplikasi ditempatkan pada komputer client dan mesin database dijalankan pada
server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang
mengirimkan kembali data ke client-nya.
Dalam client/server, client-client yang cerdas bertanggung jawab untuk
bagian dari aplikasi yang berinteraksi dengan user, termasuk logika bisnis dan
komunikasi dengan server database. Tipe-tipe tugas yang terjadi pada client
adalah :
· Antarmuka
pengguna
· Interaksi
database
· Pengambilan
dan modifikasi data
· Sejumlah
aturan bisnis
· Penanganan
kesalahan
Server database berisi mesin database, termasuk tabel, prosedur tersimpan,
dan trigger (yang juga berisi aturan bisnis). Dalam sistem client/server,
sebagian besar logika bisnis biasanya diterapkan dalam database. Server
database manangani :
· Manajemen
data
· Keamanan
· Query,
trigger, prosedur tersimpan
· Penangan
kesalahan
Arsitektur client/server merupakan
sebuah langkah maju karena mengurangi beban pemrosesan dari komputer sentral ke
komputer client. Ini berarti semakin banyak user bertambah pada aplikasi
client/server, kinerja server file tidak akan menurun dengan cepat. Dengan
client/server user dair berbagai lokasi dapat mengakses data yang sama dengan
sedikit beban pada sebuah mesin tunggal. Namun masih terdapat kelemahan pada
model ini. Selain menjalankan tugas-tugas tertentu, kinerja dan skalabilitas
merupakan tujuan nyata dari sebagian besar aplikasi. Model client/server
memiliki sejumlah
keterbatasan :
· Kurangnya
skalabilitas
· Koneksi
database dijaga
· Tidak
ada keterbaharuan kode
· Tidak
ada tingkat menengah untuk menangani keamanan dan transaksi
Aplikasi-aplikasi berbasis client/server
memiliki kekurangan pada skalabilitas. Skalabilitas adalah seberapa besar
aplikasi bisa menangani suatu kebutuhan yang meningkat , misalnya, 50 user
tambahan yang mengakses aplikasi tersebut. Walaupun model client/server lebih
terukur daripada model berbasis host, masih banyak pemrosesan yang terjadi pada
server. Dalam model client/server semakin banyak client yang menggunakan suatu
aplikasi, semakin banyak beban pada server.
Koneksi database harus dijaga untuk
masing-masing client. Koneksi menghabiskan sumber daya server yang berharga dan
masing-masing client tambahan diterjemahkan ke dalam satu atau beberapa
koneksi. Logika kode tidak bisa didaur ulang karena kode aplikasi ada dalam
sebuah pelaksanaan executable monolitik pada client. Ini juga menjadikan
modifikasi pada kode sumber sulit. Penyusunan ulang perubahan itu ke semua
komputer client juga membuat sakit kepala.
Keamanan dan transaksi juga harus
dikodekan sebagai pengganti penanganan oleh COM+/MTS. Bukan berarti model
client/server bukanlah merupakan model yang layak bagi aplikasi-aplikasi.
Banyak aplikasi yang lebih kecil dengan jumlah user terbatas bekerja sempurna
dengan model ini. Kemudahan pengembangan aplikasi client/server turut menjadikannya
sebuah solusi menarik bagi perusahaan.
Pengembangan umumnya jauh lebih cepat
dengan tipe sistem ini. Siklus pengembangan yang lebih cepat ini tidak hanya
menjadikan aplikasi meningkat dan berjalan dengan cepat namun juga lebih hemat
biaya.
3.
Three-Tier / Multi-Tier
Model three-tier atau multi-tier
dikembangkan untuk menjawab keterbatasan pada arsitektur client/server. Dalam
model ini, pemrosesan disebarkan di dalam tiga lapisan (atau lebih jika
diterapkan arsitektur multitier). Lapisan ketiga dalam arsitektur ini masing-masing
menjumlahkan fungsionalitas khusus. Yaitu :
· Layanan
presentasi (tingkat client)
· Layanan
bisnis (tingkat menengah)
· Layanan
data (tingkat sumber data)
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada mesin
client. Logika bisnis dikeluarkan dari kode client dan ditempatkan dalam
tingkat menengah. Lapisan layanan data berisi server database. Setiap tingkatan
dalam model three-tier berada pada komputer tersendiri, seperti pada gambar 1.3
Konsep model three-tier adalah model yang
membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi aplikasi
mendapatkan skalabilitas, keterbaharuan, dan keamanan.
Tidak ada komentar:
Posting Komentar