KLP3_Chapter 11_Arsitektur Sistem Terdistribusi

Download Report

Transcript KLP3_Chapter 11_Arsitektur Sistem Terdistribusi

ARSITEKTUR SISTEM TERDISTRIBUSI

092904006 092904010 092904011 092904030 092904035 092904041 092904043 SYAPUTRI ARTAMI S AYU ANGGRIANI H RUDI DIAN SYAH ZUL FADLY SULTHAN JUMIATI HUSNAENI NURHALIMAH PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011

Hampir semua berbasis komputer yang besar saat ini merupakan sistem terdistribusi (sistem terbesar).

Sistem terdistribusi adalah sistem di mana pemrosesan informasi didistribusikan pada beberapa komputer dan tidak terbatas hanya pada satu mesin saja. Rekayasa sistem terdistribusi memiliki banyak kesamaan dengan rekayasa perangkat lunak yang lain, tetapi ada isu isu khusus yang harus diperhitungan ketika merancangan tipe sistem ini.

Perekayasa perangkat lunak harus menyadari isu perangkat ini karena sistem terdistribusi banyak digunakan. Belum lama ini, kebanyakan sistem besar merupakan sistem sentral yang berjalan pada satu mainframe dengan terminal-terminal yang pemrosesan atau bahkan tidak memiliki kemampuan sama sekali, sehingga semua pemrosesan informasi merupakan tanggung jawab komputer mainframe.

TIPE SISTEM UTAMA

1. Sistem personal yang tidak terdistribusi dan dirancang untuk berjalan pada personal komputer atau workstation.

2. Sistem embedded yang berjalan pada satu prosesor atau pada kelompok prosessor yang terintegrasi.

3. Sistem terdistribusi (tersebar) di mana perangkat lunak sistem berjalan pada kelompok prosesor yang bekerja sama dan terintegrasi secara longgar, dengan dihubungkan oleh jaringan.

KERAKTERSISTIK YANG PENTING DARI SISTEM TERDISTRIBUSI

Coulouris et al .(1994) mengidentifikasi enam keraktersistik yang penting dari sistem terdistribusi: 1. Pemakaian bersama sumber daya 2. Keterbukaan 3. Konkurensi 4. Skalabilitas 5. Toleransi kesalahan 6. Transparansi

SISTEM TERDISTRIBUSI MEMILIKI BEBERAPA KERUGIAN

Kompleksitas

Keamanan

Kemampuan untuk dapat dikendalikan

Tidak dapat diramalkan.

DUA TIPE GENERIK ARSITEKTUR SISTEM TERDISTIBUSI 1. Arsitektur client-server Sistem dapat dianggap sebagai satu set layanan yang disediakan untuk klien yang memakai layanan ini. Server dan klien diperlakukan berbeda pada sistem ini.

2. Arsitektur objek terdistribusi Dalam hal ini, tidak ada perbedaan antara server dan klien, sistem dapat dianggap sebagai satu set objek yang berinteraksi yang lokasinya tidak relevan. Tidak ada perbedaan antara penyedia layanan dan user layanan .

1. ARSITEKTUR MULTIPROSESOR

ARSITEKTUR MULTIPROSESOR

Model sistem terdistribusi yang paling sederhana adalah sistem multiprosesor di mana sistem terdiri dari sejumlah prosesor yang dapat (tidak mesti) berjalan pada beberapa prosesor yang terpisah.

Sistem-sistem ini mengumpulkan informasi membuat keputusan dengan menggunakan informasi ini, kemudian mengirim sinyal ke aktuator yang memodifikasi lingkungan sistem.

Gambar 11.2

Sistem kontrol lalu lintas multiprosesor

Contoh tipe sistem yaitu Gambar 11.2 Sistem kontrol lalu lintas multiprosesor merupakan model yang disederhanakan dari sistem kontrol lalu lintas. Satu set sensor terdistribusi mengumpulkan informasi dari lalu lintas dan memproses informasi ini secara lokal sebelum mengirimnya ke ruangan kontrol. Operasi mengambil keputusan dengan memakai informasi ini dan memberi instruksi ke proses kontrol lampu lalu lintas yang berbeda. Pada contoh ini, ada proses logika yang terpisah untuk menangani sensor, ruangan kontrol, dan lampu lalu lintas. Proses-proses logika ini bisa merupakan proses tunggal atau sekelompok proses. Pada contoh ini, proses-proses berjalanan pada prosesor-prosesor yang terpisah.

2. ARSITEKTUR CLIENT SERVER

ARSITEKTUR CLIENT-SERVER

Pada arsitektur clien-server, suatu aplikasi dimodelkan sebagai satu set layangan yang disediakan oleh server dan satu set klien yang memakai layanan-layanan ini (Orfali dan Harkey, 1998).

Klien perlu menyadari keberadaan server yang tersedia, tetapi kita biasanya tidak mengetahui keberadaan klien yang lain.

Klien dan server adalah proses yang berbeda, hal ini ditunjukkan pada Gambar 11.3 Sistem client Server yang merupakan model logika dari arsitektur client-server terdistribusi.

Gambar 11.3 Sistem client Server

Gambar 11.4 Komputer pada jaringan client server

Gambar11.4 Komputer pada jaringan client-server menunujukkan arsitektur fisik sistem dengan enak komputer klien dan dua komputer server. Sistem ini dapat menjalankan proses klient dan server yang ditunjukkan pada Gambar 11.3. Membicarakan klien dan server, maka yang dimaksud adalah proses logika ini, dan bukannya komputer fisik di mana proses-proses ini berjalan.

Perancangan sistem client-server harus merefleksikan struktur logika aplikasi yang sedang dikembangkan.

Salah satu cara untuk memandang aplikasi diilustariskan pada Gambar 11.5

menunjukkan aplikasi yang distruktur menjadi tiga lapisan, yaitu: yang 1. Lapisan presentasi 2. Lapisan Pemrosesan aplikasi 3. Lapisan manajeman data

Gambar 11.5 Lapisan Aplikasi

Gambar 11.6 Thin client dan fat client

Arsitektur client-server yang paling sederhanan disebut arsitektur client-server two-tier, di mana aplikasi diorganisir seperti server (atau banyak server yang identik) dan satu set klien. Sebagaimana diinlustrasikan pada gambar 11.6, arsitektur client server two-tier memiliki 2 bentuk: 1. Model thin-client 2. Model fat-client

Gambar 11.7 Sistem ATM client-server

Sistem jaringan ATM diilustarikan pada Gambar 11.7. ATM tidak terhubung langsung ke data base nasabah, tetap terhubung ke monitorteleprocessing.

Menggunakan transaksi serial mengandung arti bahawa sistem dapat pulih dari kesalahan tanpa merusak data sistem.

Gambar 11.8 Arsitektur client-server three-tier

Masalah yang penting dengan pendekatan two-tier clien server adalah bahwa lapisan logika-presentasi, pemrosesan aplikasi, manajemen data – harus dipetakan pada dua sistem komputer. Mungkin akan ada masalah dengan dengan skalabilitas dan kinerja jika dipilih model thin client. Mungkin pula akan ada masalah manajemen sistem jikadipakai model fat-client. Untuk menghindari masalah-masalah ini, pendekatan alternatifnya adalah menggunakan arsitektur three-tier client server (Gambar.11.8). Pada arsitektur ini, presentasi, pemrosesan aplikasi dan manajemen data merupakan proses yang terpisah secara logika.

Gambar 11.9 Arsitektur distribusi sistem Internet banking

Sistem Internet banking

merupakan satu contoh tipe sistem yang dapat di implementasikan dengan menggunakan arsitektur t

hree-er

client-server. Database nasabah bank (biasanya berada pada komputer mainframe) menyediakan layanan manajemen data, web server menyediakan layanan aplikasi sepeti fasilitas untukmentrasfer membayar uang tagihan, dll.

tunai.

Dan Memunculkan komputer kalimat-kalimat, nasabah dengan browserInternet merupakan klien. Contoh ini diilustrasikan pada Gambar 11.9. Sistem ini dapat diskala karena relatif mudah untuk menembahkan web server baru dengan bertambahnya jumlah nasabah.

3. ARSITEKTUR OBJEK TERDISTRIBUSI

Pada model client-server sistem terdistribusi, klien dan server berbeda. Klienn menerima layanan dari server dan tidak dari klien lainnya; server dapat bertindak sebagai klien dengan menerima layanan dari server lain tetapi klien tidak meminta layanan dari klien; klien harus mengetahui layanan yang diberikan oleh server-server tertentu dan harus mengetahui bagaimana menghubungi server-server ini.

Gambar 11.11 Arsitektur objek terdistribusi

Pendekatan yang lebih umum bagi sistem terdistribusi adalah menghilangkan perbedaan antara klien dan server, dan merancang arsitektur sistem sebagai arsitektur objek terdistribusi. Pada arsitektur objek terdistribusi (Gambar 11.11) komponen-komponen sistem fundamental merupakan objek yang menyediakaninterface bagi satu set layanan yang mereka sediakan. Objek-onjek lain memanggil layanan ini tanpa adanya perbedaan logika antara klien (peneria layanan) dan server (penyedia layanan).

Kelebihan model arsitektur sistem terdistribusi adalah  Model ini memungkinkan perancangan sistem menunda keputusan mengenai di mana dan bagaimana layanan harus disediakan.

 Model ini merupakan arsitektur yang sangat terbuka yang memungkinkan sumber daya harus ditambahkan jika perlu.

 Sistem ini fleksibel dan dapat diskala  Rekonfigurasi sistem secara dinamis akan dimungkinkan dengan objek bermigrasi melintasi jaringan bilamana diperlukan.

Arsitektur objek dapat digunakan dengan dua cara pada perancangan sistem: 1. Sebagai model logika yang memungkinkan anda menstruktur dan mengorganisir sistem.

2. Sebagai pendekatan yang fleksibel terhadap sistem client-server.

Gambar 11.12 Arsitektur distribusi sistem penambangan data

Contoh tipe sistem di mana arsitektur objek terdistribusi mungkin cocok adalah sistem penambangan data

(data mining)

, yang mencari hubungan antara data yang tersimpan pada sejumlah database yang berbeda (Gambar 11.12). Contoh aplikasi penambangan data mungkin berupa kasus bisnis ritel yang memiliki toko yang berbeda-beda jenisnya (katakanlah toko makanan dan toko peralatan) dan mereka mencoba mencari hubungan antara pembelian jenis makanan bayi mungkin juga membeli

wallpaper

dengan tipe tertentu. Dengan pengetahuan ini, bisnis tersebut kemudian dapat menargetkan pelanggan makanan bayi dengan tawaran gabungan.

Arsitektur objek terdistribusi merupakan arsitektur yang cocok untuk tipe aplikasi ini, dan bukan arsitektur client-server, berdasarkan tiga alasan berikut: 1. Tidak seperti ATM (Misalnya), model logika sistem bukan salah satu penyedia layanan di mana terdapat layanan manajemen data yang nyata.

2. Cara ini memungkinkan jumlah bertambah tanpa menggangu sistem.

database yang diakses 3. Arsitektur ini memungkinkan tipe hubungan yang berbeda ditambang (

mined

) dengan menambahkan objek integrator baru.

4. CORBA

DUA STANDAR UTAMA BAGI MIDDLEWARE UNTUK MENDUKUNG KOMPUTASI OBJEK TERDISTRIBUSI

1. CORBA (Common Object Request Broker Architecture) CORBA merupakan satu set standar untuk middleware yang diintegrasikan dengan sistem operasi Microsoft.

2. DCOM (Distributed Component Object Mode) DCOM merupakan standar yang dikembangkan dan implementasi oleh Microsoft dan diintegrasikan dengan sistem operasi Microsoft.

Gambar 11.13 Struktur aplikasi terdistribusi berbasis CORBA

Visi OMG mengenai aplikasi terdistribusi ditunjukkan pada Gambar 11.13 yang adaptasi dari diagram Siegel untuk Object Management Architecture (Siegel , 1998) Visi ini mengusulkan agar aplikasi terdistribusi terbuat dari sejumlah komponen yaitu: 1. Objek aplikasi 2. Objek Standar 3. Layanan CORBA 4. Fasilitas CORBA horizontal

Gambar 11.14 Kominikasi objek melalui ORB

Ada empat utama untuk standar CORBA yaitu: 1. Model objek untuk objek aplikasi dimana objek CORMA 2. Object Request Broken (ORB) yang menangani permintaan akan layanan objek.

3. Satu set layanan objek yang merupakan layanan umum dan mungkin diperlukan oleh banyak aplikasi terdistribusi.

4. Satu set komponen umum, yang dibangun di atas layanan layanan dasar yang mungkin, dibutuhkan oleh aplikasi ini.

Gambar 11.15 Komunikasi antar ORB

Ilustrasi Gambar 11.15, Pada contoh ini, jika objek o1 atau o2 meminta layanan dari o3 atau o4, deperlukan ORB yang terhubung untuk berkomunikasi.

Implementasi CORBA mendunkung komunikasi ORB-keORB dengan menyediakan semua akses ORB ke semua definisi interface IDL dan dengan mengimplementasikan Generic Inter-ORB Protocol (GIOP) standar dari OMG. Protokol ini mendefenisikan messege standar yang dapat dipertukarkan ORB untuk implementasi invokasi objek jarak jauh dan transfer informasi.

Kerika dikombinasikan dengan protokol Internet TCP/IP, GIOP memungkinkan ORB berkomunukasi melintasi Internet.

Beberapa contoh layanan generiknya adalah: 1. Layanan penamaan dan pertukaran yang memungkinkan objek mengacu ke dan menentukan objek lain pada jaringan.

2. Layanan pengumuman yang memungkinkan objek memberitahu objek lain bahwa telah terjadi suatu event (peristiwa).

3. Layanan transaksi yang mendukung transaksi atomik dan

rollback

(kembali ke asal) jika ada kesalahan.