Pengertian Client 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.
1. Arsitektur Mainframe
Pada
arsitektur ini, terdapat sebuah komputer pusat (host) yang memiliki sumber daya
yang sangat besar, baik memori, processor maupun media penyimpanan. Melalui
komputer terminal, pengguna mengakses sumber daya tersebut. Komputer terminal
hanya memiliki monitor/keyboard dan tidak memiliki CPU. Semua sumber daya yang
diperlukan terminal dilayani oleh komputer host. Model ini berkembang pada
akhir tahun 1980-an.
2. Arsitektur File Sharing
Pada
arsitektur ini komputer server menyediakan file-file yang tersimpan di media
penyimpanan server yang dapat diakses oleh pengguna. Arsitektur file sharing
memiliki keterbatasan, terutama jika jumlah pengakses semakin banyak serta
ukuran file yang di shaing sangat besar. Hal ini dapat mengakibatkan transfer
data menjadi lambat. Model ini populer pada tahun 1990-an.
3. Arsitektur Client/Server
Karena
keterbatasan sistem file sharing, dikembangkanlah arsitektur client/server.
Salah satu hasilnya yaitu berupa software database server yang menggantikan
software database berbasis file server. Dikenalkan pula RDBMS (Relational
Database Management System). Dengan arsitektur ini, query data ke server dapat
terlayani dengan lebih cepat karena yang ditransfer bukanlah file, tetapi
hanyalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang
peranan penting pada arsitektur 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,
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.
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 public
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).
Keuntungan Sistem Client Server
a.
Mengurangi
tanggung jawab dan biaya overhead
b.
Kontrol
biaya operasional dan pengembangan yang lebih mudah
c.
Waktu
respon yang lebih baik dalam pemrosesan.
d.
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.
e.
Memungkinkan
pendistribusian proses dari tersentralisasi menjadi desktop computing
f.
Menawarkan
kooperatif prosesing antara individu dan group antar departemen, geografis dan
zona waktu.
g.
Rewriting
software pada sistem client server memberikan keuntungan untuk mendapatkan
sistem yang terintegrasi dan memberikan efisiensi
h.
Menawarkan
friendlu interface pada end user khususnya pada knowledge worker dan customer.
i.
Keterlibatan
yang lebih untuk end user pada implementasi IT.
j.
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/
0 komentar:
Posting Komentar