[Client dengan Server]
Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
Dari diatas, kata kuncinya adalah pada sistem client/server harus terdapat satu atau beberapa server yang menyediakan layanan dan satu atau beberapa klien yang meminta layanan tersebut (tidak perduli apakah kondisi tersebut berada pada sebuah sistem jaringan ataupun stand-alone).
Istilah server di sini bisa saja berupa komputer-komputer kelas server seperti IBM, HP, Compaq dll. Atau juga berupa software yang dapat dikategorikan berdasarkan layanannya misalnya web server, application server, file server, database server, terminal server, mail server, dll.
Server bisa juga berupa proses, seperti RPC Server yang terdapat pada sistem operasi server seperti Novell, Windows NT, Linux dll. Lebih dalam lagi, pada kernel (inti) sebuah sistem operasi juga banyak terdapat proses-proses yang bertanggung-jawab menyediakan layanan-layanan agar hardware komputer dapat bekerja sebagai mana mestiya.
Microsoft menamakan proses tersebut services sedangkan keluarga Unix/Linux menyebutnya daemons. Services/daemons tersebut umumnya menyediakan manajemen memory, akses file/jaringan, serta penjadwalan (scheduling).
Server adalah komputer yang dapat memberikan service ke client, sedangkan client adalah komputer yang mengakses beberapa service yang ada di server. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket.
Model Client-Server
Ada beberapa model client/server yang penting untuk diketahui. Dimulai dari arsitektur mainframe hingga arsitektur client/server.
- Arsitektur Mainframe
- Arsitektur File Sharing
- Arsitektur Client/Server
Gambar 1. Skema Sistem Client-Server
Komponen dan Fungsi Sistem Client
Server
Gambaran umum konfigurasi Client
Server diperlihatkan pada gambar 2. Dengan pendekatan Client Server setiap PC
dapat melakukan secara independen sebuah pemrosesan lokal dan mensharing
perangkat enterprise melalui LAN. Untuk kasus yang lebih luas kemampuan akses
dapat dilakukan melalui MAN (Metropolita Area Network) atau WAN (Wide
Area Network). Sebuah database dan program applikasi enterprise misalnya
diletakan pada sebuah server dimana setiap end user dapat melakukan
akses melalui Client Processor, LAN dan Server seperti pada gambar 3.
Gambar-2 Host Sistem dan Sistem Client Server
User
User disini adalah end user
yang mengakses client untuk mendapatkan sebuah layanan. End user bisa saja
seorang manager perusahaan, professional, karyawan di sebuah perusahaan, atau
pelanggan. Ada timbul sedikit kerancuan. Pelanggan dalam sebuah bisnis atau
perdagangan disebut dengan client, tapi client ini adalah manusia,
jangan dibingungkan dengan istilah client pada pemrosesan komputer. Dapat kita
katakan sebuah user atau end user adalah ketika melakukan proses akhir
menggunakan sistem client server.
Gambar 3. Komponen Sistem Client Server
Client
Client dapat berupa sebuah pemproses
yang powerful atau dapat juga berupa terminal tua dengan kemampuan proses yang
terbatas. Secara mendasar client adalah sebuah PC dengan sistem operasinya
sendiri. Sebagian besar pemrosesan banyak dilakukan di sebuah server dimana
bagian-bagian dalam lingkup pekerjaannya ditentukan oleh program komputer,
inilah yang menyebabkan sistem client server berbeda dengan sistem transaksi
tradisional. Sistem client server memungkinkan sebuah teknologi dan
applikasinya digunakan bersamaan. Applikasi disini termasuk didalamnya adalah
pemroses pesan seperti e-mail, pemproses file lokal seperti DBMS untuk browsing
dan penghitungan, atau sharing resource seperti sistem image processing, sistem
optical character, sistem advance grafic processing, plotter warna, atau sebuah
printer. Perangkat-perangkat ini bisa saja berasal dari berbagai vendor yang
ada. Untuk memfasilitasi query pemprosesan dari client, sebagian besar sistem
client server menggunkaan Structured Query Language (SQL) yang
merupakan struktur bahasa tingkat tinggi. SQL dengan database relationalnya
adalah standar de facto untuk hampir sebagian besar sistem client
server. Salah satu komponen terpenting sistem client server adalah User Interface
(UI), yang digunakan user untuk berkomunikasi. Bagi user yang seorang
programmer, UI tidak mesti user friendly, tapi untuk end user yang bukan
programmer sangat dibutuhkan UI yang user friendly. Dibutuhkan Graphical User
Interface (GUI) untuk end user karena GUI menampilkan grafis untuk melakukan
akses dengan icon-icon tanpa perlu memasukan perintah pemrograman. Kedepannya
GUI tidak hanya digunakan untuk menggantikan akses perintah pemprograman tapi
juga digunakan untuk grafik, voice, video, animasi, untuk selanjutnya menjadi
sebuah teminal multimedia.
Network dan Transmisi
Server dan client dapat terkoneksi
dengan sebuah media transmisi. Media transmisi ini dapat berupa kabel,
wireless, atau fiber. Dengan media ini memungkinkan sebuah perusahaan untuk
melakukan enterprice network lebih besar dalam sebuah workgroup atau
departemen. Untuk itu dibutuhkan interoperability sebagai contoh
operasi dan pertukaran informasi yang heterogen melalui berbagai perangkat
software dalam jaringan. Esensinya adalah keterbukaan dalam melakukan
pertukaran baik komponen dan software yang berasal dari vendor yang
berbeda-beda. Dengan interoperability baik vendor dan customer
akan mendapatkan keuntungan.
Interoperability
memberikan dampak pada arsitektur jaringan. Awal sebuah arsitektur jaringan
adalah SNA namun arsitektur ini bersifar proprietary dan tidak terbuka
dengan vendor lainnya. Kemudian sebagian besar orang beralih ke OSI yang di
standarkan oleh ISO (International Standards Organization). OSI banyak
di gunakan di Eropa namun kurang berkembang di Amerika Serikat. Di Amerika
Serikat muncul TCP/IP yang kemudian di dukung oleh Unix User Group.
Servers
Konektivitas adalah hal yang
terpenting namun bukan satu-satunya faktor untuk mendapatkan efisiensi dan
efektivitas sharing resource yang dimiliki. Dibutuhkan sebuah perangkat yang
memiliki kemampuan mengontrol software, menjalankan program applikasi, dan
mengakses database dengan mudah dan cepat. Untuk itulah diperlukan sebuah
Server. Sebuah Server harus mendukung spesifikasi yang mendukung resource
sharing seperti Network Server Operating System, Multiple User Interface, GUI (Graphic
User Interface), dialog oriented cleint – server languange seperti SQL dan
database arsitektur. Saat ini resuorce bisa tersebar secara spasial tidak hanya
berada dalam batasan sebuah negara namun sudah antar negara yang membutuhkan
interkoneksi yang tinggi.
Beberapa software dapat diperoleh
dari vendor atau software house. Software tersebut bisa bersifat mainframe
centric (sentral) atau PC server centric. Namun selain semua hal yang tersedia
pada paket software tersebut tetap dibutuhkan in house sofware
development. Juga perlu untuk mengintegrasikan sistem client server dengan
sistem informasi yang telah ada dan menggunakan sistem tersebut tidak hanya
sebagai end user tapi juga bekerja diantara group end user.
Server melakukan pemprosesan mirip
dengan pemrosesan yang ada disisi client. Namun ada sedikit perbedaan, biasanya
sebuah server tidak mempunyai User Interface karena didesain untuk networking,
memproses database dan memproses applikasi. Pembeda antara pemrosesan client
dan server ada pada tanggungjawab dan fungsi dari pemrosesan yang dilakukan.
Sebagai contoh sebuah server dapat bertindak sebagai repository dan penyimpanan
informasi dalam kasus pada file server. Tipe dari Server tergantung pada
kebutuhan dan tujuan sistem. Dalam beberapa kasus sebuah server harus mampu
melakukan multitaskting (membentuk multi fungsi secara simultan),
menggunakan multiple operating system, lebih portable, memiliki skalabilitas,
dan memiliki waktu respon yang cepat untuk melakukan teleprosesing.
Dengan kapabilitas seperti itu menjadikan server memiliki harga yang relatif
mahal. Penyebab mahalnya harga server adalah :
1. Network
Management
2. Gateway
function termasuk akses keluar dan e-mail publik
3. Penyimpanan
4. File
Sharing
5. Batch
processing
6. Bulletin
Board access
7. Facsimile
transmission
Pemrosesan Database
Beberapa prinsip pemrosesan data
pada server termasuk didalamnya adalah integritas, sekuriti, dan recovery data.
Enterprise data yang dibutuhkan oleh sebuah perusahaan membutuhkan sebuah
integrasi, pengaksesan data yang di kendalikan dan kelola dengan securiti yang
baik, dan recovery data dapat dilakukan jika terjadi kegagalan sistem.
Beberapa data management dilakukan
secara otomatis. Biasanya dilakukan oleh DBMS yang berada di Server yang
mengontrol akses diantara pemprosesan multiple sistem dan mengintegrasikan
akses data melalui network management.
Pemrosesan Applikasi
Data digunakan oleh program
applikasi yang mana sebagian besarnya berada di server. Ada beberapa applikasi
client server yang disediakan oleh vendor. Tools applikasi ini menjadikan
pengembangan sistem client-server menjadi lebih kompetitif. Pengembangan
applikasi client-server dapat dilakukan dengan beberapa cara yakni :
1. Fungsi
pemprosesan didistribusikan diantara client dan server. Porsi dari client
dijalankan oleh end user dengan menggunakan bahasa pemrograman database
seperti SQL yang memberikan semacam request data dan kemudian mengekstrak data
tersebut dari lokasinya dimana semua proses tersebut dikontrol oleh sistem
operasi.
2. UI
dan GUI menjadi lebih sering digunakan karena tingkat kemudahan penggunaan
menjadi lebih penting.
3. Digunakannya
Advance networking seperti LAN
4. Code
generator juga digunakan, Metodelogi Objeck Oriented akan menambah tingkat
penggunan.
5. Tools
pengembangan seperti SQL Server, FLOWMARK, Progress, ObjectView, Oracle menjadi
sangat diperlukan
Ketika sebuah applikasi diproses dan
permintaan akan data dilakukan oleh client, maka hasilnya dikirimkan melalui
LAN. Hasil dari applikasi tersebut dapat saja dilakukan perubahan bentuk untuk
mendapatkan tampilan yang lebih baik. Semuanya ini dilakukan di sisi client
oleh end user melalui UI (User Interface). Diagram skematik pendekatan client
server ditunjukan pada gambar 4.
Gambar 4- Applikasi Sistem Client Server
Keuntungan
Sistem Client Server
1. Mengurangi
tanggung jawab dan biaya overhead
2. Kontrol
biaya operasional dan pengembangan yang lebih mudah
3. Waktu
respon yang lebih baik dalam pemrosesan.
4. Akses
data yang lebih besar bagi perusahaan. Sistem Client server mengamankan
transaksi data dan menyimpannya pada server untuk kemudian dapat di sharing,
dimanipulasi, dianalisa secara lokal.
5. Memungkinkan
pendistribusian proses dari tersentralisasi menjadi desktop computing
6. Menawarkan
kooperatif prosesing antara individu dan group antar departemen, geografis dan
zona waktu.
7. Rewriting
software pada sistem client server memberikan keuntungan untuk mendapatkan
sistem yang terintegrasi dan memberikan efisiensi.
8. Menawarkan
friendlu interface pada end user khususnya pada knowledge worker dan customer.
9. Keterlibatan
yang lebih untuk end user pada implementasi IT.
10. Arsitektur
terbuka dan sistem terbuka memberikan fleksibilitas dalam memilih konfigurasi
hardware yang berbeda, network, dan DBMS dari berbagai vendor.
Hambatan
Implementasi Sistem Client Server
Organisasi
1. Skill
personel yang kurang memadai untuk implementasi sistem client server.
2. Anti
perubahan terhadap teknologi baru.
3. Biaya
konversi
4. Membutuhkan
koordinasi dan kontrol yang lebih pada end user.
Teknologi
1. Membutuhkan
infrastruktur LAN dan WAN
2. Skill
dan peralatan yang belum memadai
3. Belum
adanya pemahaman dan pengalaman dalam merencanakan sistem client server
4. Tidak
tersedianya produk dan tools pengembangan sistem client server
5. Sedikitnya
applikasi client server
6. Sedikitnya
standar nasional dan internasional untuk sistem client server.
Refrensi:
http://dennycharter.wordpress.com/2008/05/21/konsep-sistem-client-server/