HELLOOO !!!

Please read, comment, then follow my blog :)

Selasa, 07 Mei 2013

Client/Server


 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.

Tidak ada komentar:

Posting Komentar