Apa itu
Client Server ?
Client/Server adalah teknologi
pendistribusian kerja aplikasi antara dua komputer atau lebih, yang dihubungkan
oleh jaringan komunikasi, dimana yang satu akan bertindak sebagai Client atau
peminta layanan, dan yang lainnya sebagai Server, atau pemberi layanan. Baik
Client ataupun Server memiliki pemroses atau CPU sendiri, sedangkan jaringan
yang digunakan bisa berupa jaringan lokal (LAN) ataupun jaringan yang lebih
luas lagi (WAN).
Model
konsep Client/Server
Sesuai dengan kebutuhan dan juga sarana
penunjang yang dimiliki, pada dasarnya implementasi aplikasi Client/Server
tergantung dari pendistribusian kebutuhan prosesnya. Oleh sebab itu, pada
umumnya definisi implementasi Client/Server dibagi atas 5 model yaitu :
1. Distributed Presentation
2. Remote Presentation
3. Distributed Logic
4. Remote Data
5. Distributed Data
1.
Distributed Presentation
Implementasi aplikasi
Client/Server dengan model ini, pada dasarnya adalah menterjemahkan tampilan
antar muka aplikasi (layar) yang statis dan kaku pada terminal di Server
(umumnya aplikasi di Mini Komputer ataupun Mainframe), dan membentuk tampilan
antar muka di Client (PC) yang grafikal dan juga dapat mengeksploitasi
fasilitas di Client seperti mouse, layar sentuh, dll.
Hal ini biasanya dilakukan pada
aplikasi yang berjalan di Mainframe atau Mini komputer, dimana pada dasarnya
tidak terjadi perubahan pada aplikasi tersebut hanya ditambahkan ‘jembatan’
antara layar terminal mainframe dan layar PC dengan prinsip pemetaan instruksi.
Dalam prakteknya, model ini digunakan hanya untuk menjembatani tampilan kaku
dan statis menjadi lebih grafikal, tanpa merubah proses asli dari aplikasi
tersebut dan tampilan dari aplikasi di Server itu sendiri. Implementasi ini
adalah yang paling aman dalam tahap awal penerapan Client/Server bagi pemakai
Mainframe dan Mini komputer, walaupun bukan cara yang paling efektif.
Remote Presentation
Pada model ini interaksi antara
Client dan Server mulai dilakukan dalam bentuk pembagian kerja yang baku. Dalam
implementasinya, Client akan berfungsi menjadi pemberi layanan antar muka (alat
presentasi informasi) antara pemakai akhir dan aplikasi, sedang seluruh proses
dan manajemen data akan dilakukan di
Server.
Dengan kata lain Client akan menjadi ‘dialog manager’ antara pemakai dan
aplikasi, dimana dengan jaringan komunikasi data, masukan yang terjadi akan di
sampaikan ke Server untuk diproses, dan tanggapan/response balik dari Server
akan dikembalikan ke jaringan komunikasi data dan ditampilkan oleh Client
sebagai sarana untuk tindak lanjutnya oleh pemakai akhir.
Contoh hal ini adalah sebuah PC yang
memiliki tampilan grafis yang baik akan menjadi Client bagi sebuah aplikasi
Mainframe, tapi manipulasi data dan proses akan terjadi di Servernya. Hal ini
dilakukan dengan menggunakan fasilitas Advanced Program to Program
Communication (APPC), yang mana program di PC akan memanggil suatu
prosedur/program di Mainframe dengan parameter tertentu. Program ini biasanya cukup kompleks, sebab proses
Call, Wait and Response diatur oleh
program tersebut.
Implementasi model ini banyak dilakukan
diawal tahun 80’an, dimana konsep Client/Server mulai berkembang, tapi
kemampuan PC belum berkembang seperti sekarang, dan juga teknologi Distributed Data pada RDBMS belum maju
seperti saat ini. Sekarang model ini sudah agak jarang diimplementasikan.
Distributed Logic
Implementasi model ini telah
memanfaatkan sumber daya pemroses yang dimiliki oleh Client. Sehingga yang
menjadi perbedaannya adalah sebagian dari logika/proses aplikasi akan
didelegasikan ke Client, dan presentasi data tetap di Client sepenuhnya. Dalam
model ini akan terjadi pembagian kerja antara Client dan Server yang
berhubungan dengan pengolahan data, dimana umumnya pembagian kerja tersebut akan
berbentuk seperti hal-hal berikut ini :
·
Alur kerja, data editor dan validasi dapat dibebankan ke
prosesor di Client, sehingga akan meringankan beban Server, sebab semua data
yang disampaikan ke Server sudah dalam bentuk yang siap pakai, tanpa perlu pengujian
lebih lanjut.
·
Pelaksanaan logika/kriteria proses dan integrasi data akan
dilakukan oleh Server, hal ini untuk menjaga keselarasan kerja antar seluruh
pemakai akhir.
Implementasi model ini adalah
pengembangan dari model sebelumnya, dimana sejalan dengan meningkatnya
kemampuan prosessor pada PC dan juga tersedianya perangkat lunak PC yang dapat
berkolaborasi dengan perangkat lunak di Mainframe. Tapi pada umumnya aplikasi
ini belum memanfaatkan RDBMS sebagai basis datanya.
Remote Data
Model ini dikembangkan sejalan
dengan meningkatnya kemampuan yang dapat dilakukan oleh PC sebagai Client dari
RDBMS. Pada model ini presentasi data dan logika aplikasi dilakukan seluruhnya
di tingkat Client, sedang Server hanya berfungsi untuk melayani permintaan data
dengan kriteria yang ditentukan Client berikut proses manajemen dari data itu
sendiri.
Pada umumnya implementasi model
dilakukan dengan implementasi ‘Relational Database Management System (RDBMS)’
yang berbasis SQL baik di PC (Client) dan juga di Mainframe (Server). Dengan
berkembangnya kemampuan ini dimungkinkan untuk membentuk aplikasi Client/Server
yang jauh lebih kompleks, dan lebih mudah digunakan oleh pemakai akhir dengan
memakai alat bantu tertentu, dan membentuk proses yang mendukung hal berikut :
·
Ad Hoc Query/Laporan
·
Decision Support System
·
Executive Information System
·
Business Simulation
Hal ini sebelumnya sangat sulit
dilakukan, sebab komunikasi antara program di Client dan di Server harus
diprogram dan diatur sendiri oleh pemrogram, sedang pada model ini proses
tersebut sudah terintegrasi menjadi satu dengan fasilitas data manajemen,
sehingga lokasi data cenderung transparent
kepada pemakai.
Distributed Data
Model ini adalah yang paling maju
dan canggih dari aplikasi Client/Server. Dimana data tersebar dalam jaringan
komputer dan umumnya dibutuhkan fasilitas manajemen data yang lebih kompleks.
Pada prinsipnya dengan model ini,
tidak ada lagi batas antara Client dan Server, sebab pada saat tertentu Client
akan dapat menjadi Server, dan begitu juga sebaliknya. Semua kontrol atas data
sudah didelegasikan secara tersebar, sesuai dengan lokasi kerja yang
bertanggung jawab pada data tertentu. Oleh sebab itu, dalam implementasinya
bukan hanya dibutuhkan fasilitas manajemen data yang canggih, tapi juga hal-hal
pokok sebagai berikut :
·
Pembentukan standarisasi sistem informasi yang berlaku untuk
semua lokasi, aplikasi, jaringan dan prosedur kerja pendukung sistem informasi.
·
Pembentukan ‘Corporate Data Model’ yang akan menjadi acuan
bagi seluruh aplikasi yang ada dan akan berjalan.
·
Rancangan ‘Backbone’ untuk komunikasi data, yang akan
menjadi acuan bagi seluruh jaringan aplikasi.
·
Sumber daya manusia yang handal untuk menangani hal tersebut
diatas, dan juga,
·
Dokumentasi yang ‘up to date’, sebagai syarat utama untuk
manajemen model ini.
Umumnya penerapan model ini sangat
bergantung dari kemampuan RDBMS yang digunakan, dimana telah memiliki fasilitas
Distributed RDBMS (DRBMS) yang memungkinkan terjadinya komunikasi data bolak
balik antara Data Manajer di satu lokasi dan Data Manajer dilokasi lain, yang
bahkan berbeda platform ataupun produknya. Keuntungan dari model ini, alokasi
data dapat dilakukan sesuai dengan komputer yang menanganinya, tapi keberadaan
lokasi dan data tersebut transparent
ke pemakai.
Usulan
Pola Implementasi Client/Server
Untuk menerapkan aplikasi Client/Server
dilingkungan suatu organisasi perlu dipertimbangkan beberapa syarat dasar yang
akan menjadi landasan operasi Client/Server tersebut. Persyaratan tersebut pada
dasarnya dapat dikelompokan dalam hal sebagai berikut :
·
Rancangan dasar struktur Client/Server
·
Sarana penunjang yang dibutuhkan
·
Strategi pengembangan aplikasi
·
Sumber daya manusia, dan juga
·
Dukungan dari pihak eksekutif perusahaan.
Struktur Client/Server
Pada prinsipnya untuk
mengimplementasikan aplikasi Client/Server perlu didefinisikan perangkat keras
apa yang akan digunakan sebagai ‘Master Server’ atau Server Utama dari semua
Server yang akan dipakai. Server tersebut akan menjadi Server utama dalam
manajemen arsitektur Client/Server secara keseluruhan. Tapi dalam konteks yang
lebih kecil, mungkin Server ini dapat juga berfungsi sebagai Client bagi Server
lainnya.
Karena sifatnya sebagai pengelola
jaringan Client/Server, diperlukan kriteria sebagai berikut dalam
mempertimbangkan kebutuhan ‘Master Server’ :
·
Non Dedicated
Non Dedicated adalah Server tidak
diperuntukan hanya untuk satu fungsi tertentu, seperti menjadi ‘Data Server’
atau ‘File Server’ saja. Tapi juga untuk ‘Network management’, administrasi
seperti pelaporan, dst. Contoh ‘Non Dedicated’ adalah Server yang menggunakan
sistem operasi yang ‘Multi Tasking’ atau bahkan ‘Multi Threading’, seperti
OS/2, Windows NT, Unix, OS/400 dan lainnya. Sedang contoh ‘Dedicated’ adalah
Netware versi 3 keatas, yang dipasang dengan karakteristik DOS. Dimana hanya
bisa berfungsi sebagai Server tapi tidak dapat berfungsi sebagai Client, atau
fungsi-fungsinya.
·
Kapasitas Besar
Kapasitas perangkat keras secara
keseluruhan dari arsitektur mesin, memori, tempat penyimpanan, prosesor dan
juga media pembantu lainnya yang lebih lengkap, seperti CD-ROM, Optikal Disk,
Tape dan lainnya.
·
Lokasi
di Kantor Pusat
Karena fungsinya sebagai
pengelola, dimana berfungsi juga untuk mengintegrasikan data, dan menyimpan
rangkuman data perusahaan, biasanya Server Utama ini berlokasi di kantor pusat
perusahaan yang umumnya memiliki sarana penunjang yang lebih baik, seperti
telekomunikasi, listrik, ‘Cabling’, dan juga sumber daya manusia yang ada.
Hal ini sebenarnya cocok dengan model
Client/Server Remote Data ke
atas, dimana proses sehari-hari dan juga
sebagian dari data akan menjadi tanggung jawab Client, sedang sebagian data
yang diperlukan sebagai konsolidasi dan sifatnya ‘sharing’ dengan proses lainnya akan diletakan di Mainframe sebagai
Server utama.
Dari hal tsb di atas, ada beberapa
keuntungan :
·
Server Utama dapat berfungsi sebagai penyedia informasi bagi
sistem informasi eksekutif, dimana untuk data rangkuman akan ditempatkan di
Server Utama, sedang analisis dan observasi lanjut dapat pergi ke lokasi
komputer Client sesuai dengan bidang informasi yang dibutuhkan. Sebagai contoh
aplikasi sumber daya manusia, biodata pegawai akan berada di Server Utama,
dimana menyimpan informasi yang baku, sedang sejarah informasi, seperti sejarah
jabatan, kepangkatan akan didapat pada komputer Client.
·
Pemakai akhir akan dapat memproses lebih cepat dan
independen. Hal ini dimungkinkan karena pemakai akhir akan memiliki sebuah komputer
yang lebih kecil, apakah itu Mini atau PC, yang memiliki kemampuan proses
sendiri. Hal ini mengurangi ketergantungan dari komputer pusat dan juga
prosesor dapat disesuaikan dengan kebutuhan pemakai.
·
Integrasi data yang lebih terpadu, dimana semua unit kerja
berbagi informasi yang sama, tanpa harus memilikinya dilokasi sendiri.
·
Mudah dikembangkan menjadi model Client/Server yang lebih
maju, yaitu ‘Distributed Data’.
Sarana Penunjang
Sebelumnya telah disinggung secara
langsung mengenai sarana penunjang Server Utama. Tapi hal yang harus
diperhatikan adalah sarana komunikasi data, yaitu :
·
Menentukan protokol komunikasi apa yang akan menjadi
standar,
·
Menyediakan sarana jaringan komunikasi data disetiap
komputer, khususnya Server Utama, baik perangkat lunak dan perangkat kerasnya,
·
Menyediakan saluran telekomunikasi, seperti saluran telepon,
Radio Link, Satelit antara setiap jaringan komputer,
·
Membentuk ‘Network
Management System’ di Server Utama, dimana dapat memantau seluruh jaringan
Client/Server melalui Server Utama.
Strategi Pengembangan Aplikasi
Untuk menunjang aplikasi Client/Server
harus digunakan perangkat lunak yang memang dirancang dengan menggunakan pola
Client/Server. Pada dasarnya pembentukan aplikasi ini ditentukan oleh
implementasi ‘Relational Database Management System (RDBMS)’. Hal ini dilakukan
dengan jalan memanfaatkan kemampuan RDBMS dalam melakukan pendistribusian data
secara transparan (Distributed Data) antar Database kepada pemakai akhir.
Dengan fungsi ‘Distributed Data’ ini, pemakai tidak perlu tahu lokasi dari data
yang akan digunakannya secara fisik, selama ia memiliki otorisasi akses ke
suatu data, tanpa perlu tahu data itu di komputer mana, fungsi RDBMS akan mencarikan lokasi data tersebut untuknya. Hal
ini juga transparan ke aplikasi. Sehingga RDBMS sangat menunjang dalam membuat
aplikasi Client/ Server.
Sumber Daya Manusia
Untuk mengembangkan aplikasi
Client/Server, diperlukan bukan hanya kemampuan teknis komputerisasi semata.
Tapi perlu dikembangkan wawasan berpikir untuk dapat mencakup pola kerja
Client/Server, dimana dibutuhkan integrasi, sinkronisasi dan perencanaan yang
matang secara keseluruhan.
Disamping itu perlu pula dikembangkan
kemampuan perorangan di bidang aplikasi dan jaringan, yang mana sangat kritikal
dalam implementasi aplikasi Client/Server, dengan cara memberi pendidikan dan
juga ‘magang’.
Untuk mendapatkan pengalaman yang
dibutuhkan, dapat dipertimbangkan suatu bentuk kerja sama dengan pihak luar
yang lebih berpengalaman. Sebagai contoh, dapat dipilih salah satu aplikasi
yang akan dikonversikan menjadi aplikasi Client/Server, dan dalam proses
pengerjaannya melibatkan pihak luar sebagai konsultan teknis, yang mana akan
memberi pengalaman implementasi bagi tenaga ahli dilingkungan perusahaan.
Dukungan Eksekutif
Menerapkan aplikasi Client/Server
dilingkungan perusahaaan, diproyeksikan akan memberikan dampak positif bagi
penggunaan teknologi informasi di jajaran eksekutif perusahaan, seperti lebih
mudahnya membuat sistem informasi untuk eksekutif. Tapi disisi lain diperlukan
biaya yang tidak sedikit dalam pelaksanaannya.
Oleh sebab itu perlu dipikirkan program
kerja khusus yang berhubungan dengan aktifitas eksekutif, yang bertujuan untuk
membangun minat eksekutif dalam mendukung program Client/Server ini, seperti :
·
Pembentuk prototipe aplikasi Sistem Informasi Eksekutif,
·
Memberikan laporan kemajuan perusahaan yang dihasilkan oleh
teknologi informasi,
·
Melakukan kunjungan kerja studi banding dibidang teknologi
informasi bagi para eksekutif, dll.