Sistem Terdistribusi Client Server


Pengertian Sistem Terdistribusi Client Server adalah "A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing." [Coulouris]

Arsitektur Terdistribusi

Adalah Pemrosesan Suatu Aplikasi yang terjadi pada lebih dari 1 mesin

Model arsitektur terhadap komputasi terdisribusi

  • Model client server klasik(two tier)
  • Model 3 Tier
  • Model multi tier atau n-tier

Konsep Dasar Client Server

Menurut Gallaugher & Ramanathan (1996) : “client/server adalah client mengirim permintaan ke server, server menterjemahkan pesan, kemudian berusaha memenuhi permintaan”

Menurut Blaha & Premerlani (1998) : “client/server adalah suatu arsitektur dimana sumber daya server menyediakan komputasi untuk banyak komponen client. Client dapat mengakses satu server atau multiple server. Client dan server bisa berjalan pada mesin yg sama atau berbeda, ditulis dalam berbagai bahasa dan menggunakan sistem operasi yang berbeda.

Model Client server

Dasarnya arsitektur 2 tingkat(client-server). Tingkatan aplikasi client server :

1. Client tier

  • Dijalankan pada client
  • Berinteraksi dengan user
  • Mengandung kode yang menampilkan data.
  • Antarmuka pengguna

2. Database Server(DBMS)

  • Model Two Tier yang memanipulasi objek yang sangat komplek yaitu database
  • Manajemen Data
  • Keamanan
  • Query, Trigger, Prosedur tersimpan

Jenis Client

Thin Client, Komputer kemampuan kecil dengan sedikit pemrosesan

ex : browser (HTML)

Keuntungan :

  • Harga relatif lebih murah
  • Konektivitas (Bisa akses server database dari mana saja)
  • Kemampuan presentasinya tidak berbeda–beda
  • Dapat menurunkan biaya pendistribuasian aplikasi Fat Client, Komputer dekstop dengan kemampuan komputasi tinggi


Karakteristik Client/Server

Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas


Karakteristik Client/Server :

  • Service : Menyediakan layanan terpisah yang berbeda
  • Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
  • Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many.

Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client.

Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client.


Client/server akan menyembunyikan lokasi server dari client.

  • Mix-and-match : tidak tergantung pada platform
  • Message-based-exchange : antara clien dan server berkomunikasi dengan mekanisme pertukaran message.
  • Encapsulation of service : message memberitahu server apa yang akan dikerjakan

Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri


Multiple Server

Service disediakan oleh beberapa server. Contoh : sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda

1. Motivasi :

Unjuk kerja (contoh : cnn.com, download server, dll)

2. Kehandalan

Server menggunakan replikasi atau database terdistribusi


Proxy Server



• Server dengan duplikasi informasi yang melayani sebagai proxy

• Caching :

  1. Penyimpan lokal untuk item-item yang sering digunakan
  2. Meningkatkan unjuk kerja
  3. Mengurangi beban pada server
  4. Biasanya digunakan pada search engine


2-tier dan 3-tier Client/Server



N-tier Client-Server Architecture

Aplikasi server selalu menyimpan data pada mesin ke-tiga, dikenal dengan server database Arsitektur 3 Lapis, Ketiga lapisan arsitektur 3 tier :

1. Lapisan Presentasi

  • Antarmuka pengguna(interaksi user) pada client.
  • Aplikasi pada lapisan ini disebut user services
  • Berkomunikasi dengan lapisan bisnis


2. Lapisan Aplikasi(lapisan bisnis)

  • Menysipkan aturan bisnis yang tidak berhubungan dengan logika presentasi
  • Aplikasinya disebut Business Service


3. Lapisan Data

  • Database Server
  • Menyediakan data bagi lapisan bisnis


Aplikasi WEB

Aplikasi 3 -tier



Browser (presentation) yang berhubungan dengan user melalui halaman HTML. Request yang diinput melalui halaman HTML dikirm ke web server(application) agar diproses.

Client

  • Aplikasi yang di layani
  • Aplikasi ini di buat dengan bahasa pemrograman yang mendukung koneksi ke server
  • Aplikasi ini dapat berjalan di sistem operasi yang sama dengan server, dapat pula berbeda
  • Pemrosesan untuk presentasi diletakkan pada mesin user yang sering disebut sebagai client
  • Client memanipulasi data dan menyajikan hasilnya ke user

Server

Yang di maksud adalah server basis data, Software server menerima permintaan data dari software client dan mengirimkan hasilnya ke client

Sebuah aplikasi mesin basis data disebut server jika :

  • Dapat menyimpan database
  • Dapat diakses oleh banyak pemakai
  • Dapat diakses oleh banyak pemakai dalam waktu bersamaan (concurency acces)
  • Dapat menjaga sendiri (dari level database) tidak terjadinya pengubahan data oleh dua atau lebih user pada baris yang sama (locking)
  • Mendukung bahasa transaksional

Contoh : ORACLE, SQL SERVER, PosgreSQL 7.2

SQL

Structured Query Language (SQL) adalah bahasa standar yang sudah ditetapkan oleh American National Standards institute (ANSI) merupakan bahasa yang dapat digunakan untuk berkomunikasi dengan database relasional

Perintah SQL terbagi menjadi 5 bagian yaitu

  • Query
  • DML (data manipulation language)
  • DDL (Data Definition Language)
  • TCL (transaction control language)

Contoh : Commit,Rollback,savepoint)

  • DCL (Data Control Language), berhubungan dengan pengaturan akses ke data
  • GRANT, memberikan user sejumlah akses terhadap data
  • REVOKE
  • Transact SQL, bagian ini adalah bahasa pemrograman yang diletakan di server database.

OBYEK OBYEK DALAM SERVER

Database

Di dalam database terdapat

  • (Tables) Tabel tabel
  • Trigger
  • Views
  • Store Procedure
  • Function
  • User
  • Group


Tables

Tabel adalah container (wadah) data secara fisik dalam unit terkecil yang terdiri dari kolom dan baris

Di dalam tabel terdapat 1 buah kunci utama (bisa berupa single field ataupun gabungan beberapa field) sifatnya adalah unique

Terdapat pula kunci tamu yaitu kunci yang diambil dari tabel yang lain Setiap Field memiliki tipe data

View

View merupakan tampilan virtual dari data yang tersimpan di server. View di buat untuk kepentingan penampilan data, jika dibutuhkan tampilan data yang tidak sama strukturnya dengan struktur tabel secara fisik.

Trigger

Sekumpulan perintah yang secara otomatis akan di jalankan jika sebuah peristiwa /event terjadi. Event yang dapat di pakai untuk membangkitkan triger adalah event penghapusan data, pengupdate-an data, penambahan data (detele,update,insert).

Store Procedure

Pengertian procedure sama dengan procedure pada umumnya sekelompok perintah yang digunakan untuk mengerjakan rutin tertentu Procedure dan function juga sering juga dikenal dengan sub rutin. 

Perbedaannya hanya function dapat mengembalikan nilai/keluaran secara explisit. Pada beberapa produk server database hanya tersedia procedure saja seperti di Ms.

SQL Server pada produk lain seperti postgreSQL hanya tersedia function saja. Sebagian besar server programming di gunakan untuk mendefinisikan store procedure.

User

 Oleh karena pengguna dari database yang disimpan di database server di gunakan oleh banyak orang (shared) yang memegang komputer client maka user juga harus didefinisikan.

Group

 User user dengan hak yang sama atau hampir sama akan diklompokan dalam satu grup/kelompok.

Permision

Hak dari user terhadap obyek obyek yang ada seperti tabel,store procedure dan view. Hak yang dapat diberikan adalah hak untuk select, hak untuk insert, hak untuk update, hak untuk delete, hak untuk execute. User yang berbeda dapat diberi hak yang berbeda beda tergantung deskripsi keamanan yang dibuat.

Transaction

Sebuah transaksi adalah sekumpulan perintah yang dijalankan secara berurutan, dimana semua printah tersebut harus sukses maka transaksi disebut mencapai commit.

Tapi jika salah satu atau lebih printah tidak sukses maka transaksi disebut mencapai rollback.

Perintah yang berhubungan dengan transaksi adalah:

  • Begin transaction
  • Commit Transaction
  • Rollback Transaction

Transac-SQL

  • Aplikasi berkomunikasi dg SQL server melalui media Transact SQL
  • Dapat melakukan query, input, modifikasi data sesuai hasil yg diinginkan.
  • Menggunakan logic pemrograman procedural seperti fungsi, prosedur, loop, case, if then else dan lainnya
  • Variabel dapat digunakan untuk mengambil nilai dari sebuah query

No comments for "Sistem Terdistribusi Client Server"