Client Server
Client Server
Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Serve didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagaisistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstationanggota jaringan.
Client adalah komputer yang diperbolehkan untuk masuk kedalam network dan mengambil / menggunakan segala sumber daya yang tersedia di dalam network. Kata kuncinya adalah pada sistem client/server harus terdapat satu atau beberapa server yang menyediakan layanan dan satu atau beberapa klien yang meminta layanan
![]() |
| Gambar 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.
2. Arsitektur File Sharing
Pada arsitektur ini komputer server menyediakan filefile 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.
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.
4. Model Two-tier
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan: client (yang meminta service) dan server (yang menyediakan service). Tiga komponen tersebut yaitu :
• User Interface, yaitu antar muka program aplikasi yang berhadapan dan digunakan langsung oleh user.
• Manajemen proses
• Database
Model ini memisahkan peranan user interface dan database dengan jelas, sehingga terbentuk dua lapisan.
5. Model Three-tier
Pada model ini disisipkan satu layer tambahan diantara user interface tier dan database tier. Tier tersebut dinamakan middle-tier. Middle-Tier terdiri dari bussiness logic dan rules yang menjembatani query user dan database, sehingga program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier. Dengan adanya server middle-tier ini, beban database server berkurang. Jika query semakin banyak dan/atau jumlah pengguna bertambah, maka server-server ini dapat ditambah, tanpa merubah struktur yang sudah ada. Ada berbagai macam software yang dapat digunakan sebagai server middle-tier. Contohnya MTS (Microsoft Transaction Server) dan MIDAS.
Agent
Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software agent nantinya disebut agent saja.
Karakteristik Software Agent
1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun ke dalam.
2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.
3. Delegation: Agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
4. Reactivity: Kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan. Lingkungan itu bisa mencakup: agent lain, user, informasi dari luar, dsb.
5. Proactivity dan Goal-Oriented: Sifat proactivity boleh dibilang adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yangdiembannya (goal-oriented).
6. Communication and Coordination Capability: Agent harus memiliki kemampuan berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent System (MAS).
Klasifikasi Software Agent
1. Klasifikasi menurut Karakteristik yang Dimiliki
a. Collaborative Agent: Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).
b. Interface Agent: Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring dan learning untuk memenuhi kebutuhan user.
c. Mobile Agent: Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
d. Information dan Internet Agent: Agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
e. Reactive Agent: Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.
f. Hybrid Agent: Kita sudah mempunyai lima klasifikasi agent. Kemudian agent yang memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
g. Heterogeneous Agent System: Dalam lingkungan Multi Agent System (MAS), apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent system.
2. Klasifikasi menurut Lingkungan Dimana Dijalankan
a. Desktop Agent: Agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC), dan berjalan diatas suatu Operating System (OS). Termasuk dalam klasifikasi ini adalah:
• Operating System Agent
• Application Agent
• Application Suite Agent
b. Internet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugas memanage informasi yang ada di Internet. Termasuk dalam klasifikasi ini adalah:
• Web Search Agent
• Web Server Agent
• Information Filtering Agent
• Information Retrieval Agent
• Notification Agent
• Service Agent
• Mobile Agent
Bahasa Pemrograman Digunakan
Bahasa pemrograman yang dipakai untuk tahap implementasi dari software agent, sangat menentukan keberhasilan dalam implementasi agent sesuai dengan yang diharapkan, diantaranya yaitu :
1. Object-Orientedness:
Karena agent adalah berhubungan dengan obyek, bahkan beberapa peneliti menganggap agent adalah obyek yang aktif, maka juga agent harus diimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-oriented programming language).
2. Platform Independence:
Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup dan berjalan diberbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakai untuk implementasi adalah yang terlepas dari platform, atau dengan kata lain program tersebut harus bisa dijalankan di platform apapun (platform independence).
3. Communication Capability:
Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan (network environment), diperlukan kemampuan untuk melakukan komunikasi secara fisik. Sehingga diperlukan bahasa pemrograman yang dapat mensupport pemrograman yang berbasis network dan komunikasi.
4.Security
Faktor keamanan (security) adalah factor yang sangat penting dalam memilih bahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobil agent, diperlukan bahasa pemrograman yang mensupport level-level keamanan yang bisa membuat agent bergerak dengan aman.
5.Code Manipulation:
Beberapa aplikasi software agent memerlukan manipulasi kode program secara runtime, sehingga diperlikan bahasa pemrograman untuk software agent yang dapat menangani masalah runtime tersebut. Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak untuk mengimplementasikan software agent adalah sebagai berikut :
✓Java
✓Telescript
✓Tcl/Tk, Safe-Tcl, Agent-Tcl

Komentar
Posting Komentar