Konsep
Sistem Client-Server
Pendahuluan
Diawal perkembangannya perangkat komputer adalah barang yang
mahal dan mewah. Pengembangan dan pengoperasiannya rumit dan terpusat. Namun
seiring dengan berjalannya waktu yang tadinya proses tersentralisasi dikembangakan
menjadi proses terdistribusi sampai pada end user. Hal ini sangat
dipengaruhi oleh adanya perkembangan teknologi LAN (Local Area Network)
di pertengahan tahun 1980 an. Dengan LAN sebuah PC dapat melakukan komunikasi
satu dengan lainnya dan dapat saling berbagi resource baik perangkat keras
ataupun database. LAN mampu memberikan interkonektivitas yang tidak
pernah ada sebelumnya. Untuk dapat melakukan hal tersebut dibutuhkan sebuah
komputer pemproses yang memfasilitasi dan melayani proses sharing semua resource
yang ada. Perangkat ini disebut dengan Server. Untuk melakukan
Sharing File biasanya dibutuhkan sebuah File Server begitu juga untuk sharing
Printer dibutuhkan sebuah Printer Server. Namun ternyata hal seperti ini
belumlah cukup. Jumlah PC yang bertambah dengan sangat cepat seiring dengan
berkembangnya sebuah organisasi. Jumlah end user dan client juga
bertambah banyak. Kebutuhan akan perangkat menjadi bertambah pula, tidak hanya
membutuhkan sebuah printer server, juga dibutuhkan server-server lainnya
seperti server pengolahan gambar, server pengolahan suara, dan lainnya.
Server-server ini dengan database dan applikasinya harus dapat diakses oleh
beberapa PC, ataupun diakses oleh sebuah komputer mainframe melalui sebuah LAN.
Sistem seperti ini disebut Sistem Client Server seperti digambarkan pada
Gambar 1 dibawah ini.
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 :
- Network Management
- Gateway function termasuk akses
keluar dan e-mail publik
- Penyimpanan
- File Sharing
- Batch processing
- Bulletin Board access
- 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 :
- 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.
- UI dan GUI menjadi lebih sering
digunakan karena tingkat kemudahan penggunaan menjadi lebih penting.
- Digunakannya Advance networking
seperti LAN
- Code generator juga digunakan,
Metodelogi Objeck Oriented akan menambah tingkat penggunan.
- 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
- Mengurangi tanggung jawab dan
biaya overhead
- Kontrol biaya operasional dan
pengembangan yang lebih mudah
- Waktu respon yang lebih baik
dalam pemrosesan.
- 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.
- Memungkinkan pendistribusian
proses dari tersentralisasi menjadi desktop computing
- Menawarkan kooperatif prosesing
antara individu dan group antar departemen, geografis dan zona waktu.
- Rewriting software pada sistem
client server memberikan keuntungan untuk mendapatkan sistem yang
terintegrasi dan memberikan efisiensi.
- Menawarkan friendlu interface
pada end user khususnya pada knowledge worker dan customer.
- Keterlibatan yang lebih untuk
end user pada implementasi IT.
- 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
- Skill personel yang kurang
memadai untuk implementasi sistem client server.
- Anti perubahan terhadap
teknologi baru.
- Biaya konversi
- Membutuhkan koordinasi dan
kontrol yang lebih pada end user.
Teknologi
- Membutuhkan infrastruktur LAN
dan WAN
- Skill dan peralatan yang belum
memadai
- Belum adanya pemahaman dan
pengalaman dalam merencanakan sistem client server
- Tidak tersedianya produk dan
tools pengembangan sistem client server
- Sedikitnya applikasi client
server
- Sedikitnya standar nasional dan
internasional untuk sistem clien