Jumat, 20 Mei 2011

Konsep Jarkom dan SO untuk Client Server

Konsep Jaringan Komputer

Computer Network, atau jaringan komputer, merupakan sekumpulan komputer yang dihubungkan melalui media fisik dan software yang memfasilitasi komunikasi antara komputer-komputer tersebut.
Media fisik ini bisa berupa kabel, atau udara yang menjadi media bagi komunikasi elektromagnetik. Masing-masing komputer terhubung melalui media fisik dengan menggunakan kartu jaringan (network interface card = NIC) atau di pasaran disebut Ethernet Card. Segala proses transmisi melalui media fisik akan melalui NIC tersebut.
Bila jaringan komputer yang menempati suatu area lokal, dinamakan (Local Area Network).
Organisasi menggunakan jaringan komputer untuk melakukan sharing resource dan untuk komunikasi online antar komputer/orang.
Tujuan pengadaan jaringan komputer:
  • Berbagi pakai kelengkapan (hardware)
  • Berbagi pakai software
  • Berbagi pakai data (file, database)
  • Komunikasi dan sinkronisasi
Konsep Client – Server
Jaringan client atau server adalah jaringan dimana komputer client bertugas melakukan permintaan data dan server bertugas melayani permintaan tersebut.
Client
User akan membuat permintaan melalui software client. Aplikasi ini berfungsi :
  • Memberikan interface bagi user untuk melakukan jobs.
  • Format request data ke bentuk yang dapat dimengerti oleh server
  • Menampilkan hasil yang diminta pada layar

Server
Jaringan client atau server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client.
Untuk itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer harus mampu melayani :
  • Request secara simultan dalam jumlah besar
  • Aktivitas manajemen jaringan
  • Menjamin keamanan pada resource jaringan

Anatomi  program server

Peranan utama suatu program server adalah melayani client yang berjumlah banyak yang memiliki tujuan untuk menggunakan secara bersama sumber daya yang dimiliki oleh server tersebut. Berikut ini adalah karasteristik suatu yang biasanya dimiliki oleh suatu program server.
  • Menanti permintaan client. Program server menghabiskan sebagian besar waktu kerjanya secara pasif menanti permintaan client. Biasanya permintaan ini datang dalam bentuk message melalui sessi komunikasi. Beberapa server menggunakan suatu sesi khusus untuk setiap client. Server yang lainnya menggunakan session yang digunakan secara dinamis. Ada juga yang menggunakan gabungan kedua teknik ini (dedicated dan dinamis). Untuk dapat bekerja dengan baik, server harus tetap dapat bekerja ketika terjadi permintaan yang banyak (rush hour traffic).
  • Melaksanakan banyak permintaan pelayanan pada saat yang bersamaan. Server harus sesegera mungkin melaksanakan pelayanan yang diminta oleh client. Hal ini berarti, client tak boleh bergantung pada proses server yang hanya memiliki thread tunggal. Server harus dapat secara konkuren menyediakan pelayanan dengan tetap menjaga integritas sumber dayanya.
  • Mendahulukan client yang memiliki prioritas lebih tinggi (VIP). Server harus menyediakan beberapa tingkatan prioritas untuk clientnya. Misal untuk suatu pekerjaan batch dilakukan pada tingkatan prioritas yang rendah, sedangkan untuk pekerjaan yang berkaitan dengan On Line Transaction Processing (OLTP) dilakukan dengan prioritas tinggi.
  • Memulai dan melaksanakan aktifitas pekerjaan di background. Server harus dapat menjalankan program di background, misal melakukan download record dari database utama selama waktu tidak sibuk. Inisiatif ini harus dapat dilakukan secara otomatis oleh server.
  • Tetap menjaga agar sistem tetap selalu bekerja. Program server biasanya tergolong mission-critical application. Akan terjadi kerugian bila server tak bekerja melayani client. Dengan demikian program server dan environmentnya harus dapat bekerja secara robust (tahan terhadap gangguan).
  • Bertambah besar. Biasanya program server membutuhkan memori dan prosesor yang besar. Environment dari server haruslah dapat di upgrade dan memiliki skalabilitas yang baik.

Sistem Operasi untuk Server

Pada suatu lingkungan sistem terdistribusi, sistem operasi menyediakan fungsi yang bersifat :
  • Base services : pelayanan utama.
  • Extendes services : pelayanan tambahan.

Pelayanan utama

Program server harus memiliki konkurensi tinggi. Secara ideal, task yang terpisah dapat diberikan untuk setiap client, dan didisain agar task tersebut selalu memberikan dukungan konkurensi. Pengelolaan task (task management) terbaik dilakukan oleh sistem operasi multitasking. Multitasking merupakan cara alami untuk menyederhanakan suatu aplikasi kompleks yang dapat dibagi-bagi menjadi kumpulan task yang dapat berjalan secara konkuren. Task-task ini secara logis terpisah. Hal ini akan meningkatkan, unjuk kerja, keluaran (throughput), modularitas, dan respons dari program server. Multitasking juga berkaitan dengan suatu mekanisme untuk mengkoordinasikan antar task, dan pertukaran informasi antar task.
Server juga membutuhkan konkurensi tingkat tinggi untuk program tunggal. Program server akan berjalan lebih efisien bila task task tersebut dialikasi pada program yang sama, daripada dialokasikan pada berbagai task. Bagian kecil program ini disebut coroutines atau thread. Task dengan program yang sama akan mempercepat pergantian konteks (context switching) dan untuk menggunakan data secara bersama.
Pelayanan dasar dari suatu Sistem Operasi pada server:
  • Task preemption. Suatu Sistem operasi yang bersifat task premptive, harus dapat berpindah ke task lain sebelum task ini selesai. Lebih aman bila program dijalankan pada suatu sistem operasi yang telah menangani pemindahan task secara pre empsi ini.
  • Task priority. Suatu sistem operasi harus melaksanakan task berdasarkan prioritas yang dimiliki oleh task tersebut.
  • Semaphore. Suatu sistem operasi harus menyediakan mekanisme sikronisasi yang sederhana dan untuk menjaga task yang berjalan secara konkuren untuk saling mengganggu ketika sedang mengakses sumber daya yang sama. Mekanisme ini dikenal dengan nama semaphore, digunakan untuk mensinkronisasi aksi task yang mandiri, dan memberi peringatan ketika terjadi suatu error.
  • Interprocess Communication (IPC). Suatu sistem operasi juga harus menyediakan mekanisme agar task yang mandiri tersebut dapat saling bertukar data atau menggunakan data secara bersama.
  • Local/Remote IPC. Suatu sistem operasi harus dapat melakukan pembelokan (redirection) secara transparan ketika terjadi pemanggilan interprocess untuk suatu proses remote melalui jaringan. Hal ini dilakukan tanpa program aplikasi menyadarinya. Perpanjangan dari kemampuan ini menjadikan sumber daya dan proses dapat dengan mudah dipindahkan ke mesin lainnya.
  • Thread. Digunakan untuk menghasilkan suatu program yang sangat konkuren dan bekerja berdasarkan event-driven. Untuk setiap event yang akan terjadi dapat ditunjuk suatu thread yang akan memblok hingga event tersebut terjadi.
  • Intertask Protection. Sistem operasi harus mampu melindungi task agar saling tak mengganggu. Suatu task tunggal tak boleh membuat keseluruhan sistem berhenti bekerja. Proteksi juga dilakukan pada sistem file dan pemanggilan fungsi sistem operasi.
  • Multiuser High Performance File System. Sistem file harus mendukung task banyak dan menyediakan fasilitas locking yang melindungi integritas data. Program server biasanya bekerja dengan beberapa file secara bersamaan. Sistem operasi harus mendukung kemampuan membuka file dalam jumlah besar secara bersama-sama tanpa banyak mempengaruhi unjuk kerja.
  • Pengelolaan memori secara efisien. Sistem memori harus mendukung secara efisien program yang besar dan data object yang besar (grafik, suara dll).
  • Dynamically Linked Run Time Extensions. Kemampuan sistem operasi harus ditambah dengan mudah. Suatu mekanisme harus disediakan, agar pelayanan dapat bertambah pada saat penggunaan, tanpa perlu melakukan kompilasi pada seluruh sistem operasi.

Pelayanan tambahan (extended services)

Pelayanan tambahan menyediakan software sistem tambahan yang dapat memanfaatkan potensi jaringan yang terdistribusi, akses yang fleksible untuk menggunakan informasi bersama-sama, memungkinkan sistem lebih mudah dikelola dan dirawat. Di samping itu juga menjadikan pembuat perangkat lunak dan sistem integrator menjadi lebih mudah menyusun suatu aplikasi server yang baru.
Pelayanan tambahan, sebagian ada yang belum tersedia pada sistem operasi komersial pada saat ini :
  • Fasilitas Komunikasi Data Kemampuan tambahan operasing sistem harus memiliki fungsi yang mendukung stack protocol komunikasi data. Sehingga memungkinkan server berkomunikasi dengan server yang lainnya dan kepada client yang berbeda jenisnya. Server juga mampu berkomunikasi dengan server lainnya ketika membutuhkn kemampuan server lainnya tersebut.
  • Network Operating System Kemampuan tambahan sistem operasi harus mampu memberikan fasilitas untuk menyediakan file dan print service melalui jaringan komputer.
  • Binary Large Objects (BLOB) Image, Video, Graphics, Intelligent Document, dan database snapshot akan menguji kemampuan sistem operasi, database dan jaringan. Object besar ini membutuhkan kemampuan sistem operasi tambahan, seperti intelligent message streams, format represetansi objects. Juga kemampuan jaringan untuk memindahkan data dalam jumlah besar. Database, dan sistem file harus mampu menyimpan data berukuran besar ini. Protokol tambahan juga dibutuhkan agar dapat dilakukan pertukaran data BLOB antar program aplikasi.
  • Direktori global dan Network Yellow Pages Kemampuan tambahan sistem operasi harus mampu menyediakan cara untuk client agar dapat mengetahui lokasi server di jaringan dan service yang disediakannya dengan menggunakan sistem direktori yang mampu bekerja secara global. Sumber daya di jaringan harus dapat diperoleh dengan cukup dengan menggunakan nama saja. Secara dinamis server mampu mendaftarkan pada penyedia direktori seluruh service yang disediakannya.
  • Authentication and Authorization Services Kemampuan tambahan sistem operasi ini harus menyediakan cara agar server dapat membuktikan keabsahan client.
  • Pengelolaan Sistem (System Mangement) Kemampuan tambahan sistem operasi ini harus mampu mengintegrasikan pengelolaan jaringan dan sistem. Pengelolaan sistem termasuk service untuk mengkonfigurasi sistem dan menyediakan kemampuan memonitor kemampuan seluruh elemen, serta membangkitkan peringatan ketika terjadi kesalahan. Ditambah dengn kemampuan mendistribusikan dan mengelola perangkat lunak untuk client, memeriksa virus dan intruder, serta kemampuan melakukan perhitungan biaya penggunaan sumber daya (software metering).
  • Network Time Kemampuan tambahan sistem operasi ini harus menyediakan suatu mekanisme bagi client dan server untuk melakukan sinkronisasi clock.
  • Pelayanan Database dan Transaksi. Kemampuan tambahan sistem operasi ini harus  menyediakan suatu DBMS multi user yang robust. DBMS ini harus mendukung SQL untuk decision support dan server-stored procedures pada pelayanan transaksi. Server-stored procedure dibuat di luar sistem operasi oleh programmer. Fungsi yang lebih canggih lagi termasuk Transaction Processing Monitor (TP Monitor) untuk mengelola sotred procedured (atau transaksi) secara satuan kerja atomik yang dieksekusi pada satu atau lebih server.
  • Pelayanan Internet. Internet adalah suatu jaringan yang memberikan kesempatan penggunaan suatu server. Diharapkan pelayanan Internet menjadi kemampuan standard dari suatu sistem operasi termasuk, HTTP daemon, Secure Socket Layers (SSL), firewall, Domain Name System (DNS), file system yang berbasiskan HTML, kerangka kerja untuk perdagangan elektronis.
  • Pelayanan Object Oriented. Kemampuan ini masih belum banyak tersedia pada sistem operasi komersial pada saat ini. Sistem operasi akan meyediakan object broker services yang memungkinkan setiap obyek berinteraski dengan obyek lainnya di jaringan. Sistem operasi juga harus menyediakan pelayanan pertukaran obyek (object interchange services) dan kumpulan obyek (object repository). Aplikasi client server  masa mendatang merupakan komunikasi antar obyek.

0 komentar:

Posting Komentar