Client Server Dan Peer To Peer
Client Server Dan Peer To Peer
Client Server Dan Peer To Peer
1. Servis (layanan)
• Hubungan antara proses yang berjalan pada mesin yang berbeda
• Pemisahan fungsi berdasarkan ide layanannya
• Server sebagai provider, client sebagai konsumen
4. Transparansi lokasi
• Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada
mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari
client.
5. Mix-and-Match
• Perbedaan server client platforms
Pada model arsitektur ini, Client tidak dapat berfungsi sebagai Server,
tetapi Server dapat berfungsi menjadi Client (server non-dedicated). Prinsip kerja
pada arsitektur ini sangat sederhana, dimana Server akan menunggu permintaan
dari Client, memproses dan memberikan hasil kepada Client,
sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses dan
melihat visualisasi hasil prosesnya.
Sistem Client Server ini tidak hanya diperuntukkan bagi pembangunan jaringan
komputer skala luas. Sistem ini menggunakan protokol utama Transmision
Control Protocol/Internet Protocol (TCP/IP), sedangkam sistem operasi yang
digunakan antara lain Unix, Linux dan Windows NT.
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.
Server database berisi mesin database, termasuk tabel, prosedur tersimpan, dan
trigger (yang juga berisi aturan bisnis). Dalam system client/server, sebagian
besar logika bisnis biasanya diterapkan dalam database.
Server database manangani :
• Manajemen data
• Keamanan
• Query, trigger, prosedur tersimpan
• Penangan kesalahan
Aplikasi N-tier
Stored procedure ternyata tidak mencukupi untuk sistem dimana database
disimpan pada lebih dari satu server, karena bisa jadi terdapat client yang tidak
dapat mengakses procedure tersebut. Mungkin Anda bertanya, apa perlunya
menyimpan database lebih dari satu server? Tentu saja Anda juga menginginkan
perusahaan yang menggunakan aplikasi Anda dapat berkembang, bukan?
Penggunaan lebih dari satu database sangat memungkinkan saat sebuah
perusahaan telah memiliki divisi yang cukup besar dimana harus memiliki
database tersendiri. Dalam kasus penggunaan lebih dari satu server database,
Anda perlu mengimplementasikan strategi development yang berbeda,
pendekatan yang baik adalah dengan menggunakan model n-tier. Huruf “n” pada
n-tier menunjukkan variabel numerik yang dapat berisi angka sebanyak apapun,
misalnya 3-tier, 4-tier dan seterusnya. Karena itu sebuah aplikasi n-tier memiliki
3 atau lebih tingkatan logical, umumnya aplikasi n-tier saat ini menggunakan 3-
tier.
Untuk menggambarkannya, Anda dapat membayangkan skema disain aplikasi
two-tier yang mengimplementasikan business logic pada stored procedure
seperti yang telah diterangkan diatas, kemudian melakukan improvisasi disain
dengan menambahkan sebuah tingkatan (tier) sebagai middle tier sebagai
business object, arsitektur inilah yang dikenal dengan 3-tier. Perbedaan nyata
dengan 2-tier adalah, business object pada 3-tier terpisah dari aplikasi client dan
elemen database. Sehingga dapat digambarkan bahwa sistem 3-tier secara umum
terbentuk dari tingkatan client, business dan database.
Sebuah sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat
pada client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan
beberapa database yang digunakan secara bersamaan. Dalam pembahasan berikut
ini, akan dijelaskan contoh kasus penerapan 3-tier. Bayangkan sebuah sistem 3-
tier, yang terdiri dari client, business dan database.
Sistem tersebut harus melakukan kalkulasi gaji karyawan berdasarkan pajak dan
peraturan lainnya yang dapat berubah dari tahun ke tahun. Pada tahun ini,
terdapat perubahan peraturan pajak yang harus diterapkan pada sistem, pada
tingkatan mana Anda harus melakukan update? Anda hanya perlu melakukan
update pada tingkatan business object, yang ada karena arsitektur 3-tier ini. Satu
hal yang harus terus diingat sebagai konsep dasar, bahwa pengertian arsitektur 2-
tier maupun 3-tier adalah secara logical dan bukan secara physical. Sehingga pada
sebuah sistem kecil Anda dapat menjalankan business logic dan database pada
komputer yang sama. Tetapi pada sistem yang besar, Anda mungkin memerlukan
beberapa komputer untuk menjalankan baik tingkatan business ataupun database.
Teknologi pendukung
Beberapa contoh teknologi yang umum dipergunakan untuk mendukung n-tier:
• Component Object
Umumnya merupakan model object oriented dimana dapat dipergunakan oleh
aplikasi yang berbeda dan penggunaan ulang komponen. Contohnya adalah
COM/DCOM. Aplikasi yang ditulis dengan bahasa pemrograman yang berbeda
dapat saling berkomunikasi dengan menggunakan Component Object.
Component Object itu sendiri dapat ditulis dengan bahasa pemrograman yang
berbeda-beda. Pada prinsipnya komponen tersebut terdiri dari class yang
memiliki sekumpulan method.
• Microsoft Transaction Server
MTS atau Microsoft Transaction Server merupakan software yang dikembangkan
oleh Microsoft untuk keperluan monitoring transaksi pada aplikasi terdistribusi.
MTS beroperasi pada middle-tier dan menyediakan control transaksi. Sebagai
contoh, jika Anda mengembangkan sistem 3-tier yang mana menempatkan
business object pada middle-tier, maka Anda dapat membuat ActiveX DLL sebagai
business objectnya, dan melakukan instalasi didalam lingkungan MTS pada
middle-tier. MTS akan bertanggung-jawab dalam menangani akses multi-client
pada busines object tersebut. MTS menyediakan fasilitas seperti transaksi
rollback, commit dan deadlock pada middle-tier.
• HTTP/Web Server.
Untuk aplikasi n-tier pada aplikasi Internet/Intranet, Anda mutlak memerlukan
Web Server. Terdapat cukup banyak web server yang umum digunakan seperti
Apache Web Server atau Internet Information Server (IIS). Anda dapat
menggunakan web server sebagai middle-tier untuk menangani permintaan dari
browser komputer client.
• Microsoft Message Queue Server.
MMQS atau Microsoft Message Queue Server merupakan teknologi yang
dikembangkan oleh Microsoft yang berjalan pada middle-tier dan berfungsi untuk
mengelola antrian permintaan.
Hal ini dilatarbelakangi karena didalam jaringan yang besar, tidak semua komputer
yang terkoneksi berfungsi pada saat yang diperlukan, sehingga diperlukan sebuah
aplikasi yang dapat mengelola antrian request dari client dan response dari server
yang akan dikirimkan lagi ketika komputer tujuan telah berfungsi. Satu
keuntungannya lagi, jika client-client meminta request yang melebihi kapasitas
sebuah server, maka MMQS dapat menyimpannya untuk kemudian
mendelegasikannya pada server yang tidak sibuk. Untuk kebutuhan ini diperlukan
aplikasi pada server yang berfungsi sebagai listener atau referral.
• Database Management System.
Database Management System atau dikenal dengan singkatan DBMS merupakan
sumber penyimpanan data dan tentu saja memegang peranan vital dalam
keseluruhan sistem. Untuk arsitektur 2-tier dan n-tier, diperlukan aplikasi DBMS
yang mampu bekerja pada lingkungan tersebut, beberapa contohnya adalah
MySQL, Microsoft SQL Server dan Oracle. Jika pada DBMS yang dipergunakan
terdapat fasilitas stored procedure, maka dimungkinkan untuk menyimpan
business logic didalam stored procedure yang akan diakses oleh client.