sistem terdistribusi - tugas 2 (tugas terstruktur dan presentasi )
Post on 29-Nov-2015
356 Views
Preview:
DESCRIPTION
TRANSCRIPT
TUGAS TERSTRUKTUR & PRESENTASI
Nama Kelompok : 1. Desi Nilawati (1102636)
2. Ciendikia Nela (1102653)
3. Arfajrialdi (1102645)
Kelompok : 6
Prodi / Group : Pendidikan Teknik Informatika / 3F1,2
Dosen : Nurindah Dwiyani, S.Pd, MT
Matakuliah : Sistem Terdistribusi
Jadwal kuliah : Kamis / 13.20 – 15.50 (E66)
Kode seksi : 28417
Soal :
“Pembahasan mengenai konsep perangkat lunak sistem terdistribusi dan keterkaitannya
dengan model sistem terdistribusi.”
Sebelum kita masuk kepada soal terlebih dahulu kita harus mengetahui :
Apa itu konsep perangkat lunak sistem terdistribusi ?
Apa model dalam sistem terdistribusi ?
Dan nanti kita akan mengaitkan konsep perangkat lunak sistem terdistribusi dan
modelnya.
Konsep perangkat lunak sistem terdistribusi, terbagi 3 yaitu :
A. Sistem operasi terdistribusi
B. Sistem operasi Jaringan
C. Middleware
Sekarang, kita dapat menguraikannya :
1. Sistem Operasi Terdistribusi
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di
mana sekumpulan komputer dan prosesor yang heterogen terhubung dalam satu
jaringan. Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara bersama-
sama untuk melakukan suatu tugas atau pekerjaan tertentu. Tujuan utamanya adalah
untuk memberikan hasil secara lebih, terutama dalam:
file system
name space
Waktu pengolahan
Keamanan
Akses ke seluruh resources, seperti prosesor, memori, penyimpanan sekunder, dan
perangakat keras.
Sistem operasi terdistribusi bertindak sebagai sebuah infrastruktur/rangka dasar
untuk network-transparent resource management. Infrastruktur mengatur low-level
resources (seperti Processor, memory, network interface dan peripheral device yang
lain) untuk menyediakan sebuah platform untuk pembentukan/penyusunan higher-level
resources(seperti Spreadsheet, electronic mail messages, windows).
a. Manfaat sistem operasi terdistribusi
Sistem operasi terdistribusi memiliki manfaat dalam banyak sistem dan dunia komputasi
yang luas. Manfaat-manfaat ini termasuk dalam sharing resource, waktu komputasi dan
komunikasi.
1. Shared Resource
Walaupun perangkat sekarang sudah memiliki kemampuan yang cepat dalam proses-
proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja
menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas,
kecepatan yang diinginkan user dapat di atasi dengan menggabung perangkat yang ada
dengan sistem DOS.
2. Manfaat Komputasi
Salah satu keunggulan sistem operasi terdistribusi ini adalah bahwa komputasi berjalan
dalam keadaan paralel. Proses komputasi ini dipecah dalam banyak titik, yang mungkin
berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat
prosesor-prosesor yang lain. Sistem operasi terdistribusi ini bekerja baik dalam
memecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari
titik-titik cluster untuk ditampilkan hasilnya.
3. Reliabilitas
Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas. Berdasarkan design dan
implementasi dari design sistem ini, maka hilangnya satu node tidak akan berdampak
terhadap integritas sistem. Hal ini berbeda dengan PC, apabila ada salah satu hardware
yang mengalami kerusakan, maka sistem akan berjalan tidak seimbang, bahkan sistem
bisa tidak dapat berjalan atau mati.
4. Komunikasi
Sistem operasi terdistribusi berjalan dalam jaringan dan biasanya melayani
koneksi jaringan. Sistem ini umumnya digunakan user untuk proses networking.
User dapat saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN
maupun WAN.
b. Fungsi Sistem Operasi
Secara garis besar Sistem Operasi mempunyai 2 tugas utama, yaitu sebagai :
Pengelola Seluruh Sumber Daya Pada Sistem Komputer (Resource Manager).
Yang dimaksud dengan sumber daya pada sistem komputer adalah semua
komponen yang memberikan fungsi (manfaat) atau dengan pengertian lain
adalah semua yang terdapat atau terhubung ke sistem komputer yang dapat
untuk memindahkan, menyimpan, dan memproses data, serta untuk
mengendalikan fungsi-fungsi tersebut.
Sumber daya pada sistem komputer, antara lain :
1) Sumber daya fisik
Contoh dari sumber daya fisik diantaranya keyboard, bar-code reader, mouse,
joystick, light-pen, track-ball, touchscreen, pointing devices, floppy disk drive,
hard-disk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem,
ethernet card, PCMCIA, RAM, cache memory, register, kamera, sound card,
radio, digitizer, scanner, plotter, dan sebagainya.
“Salah satu sasaran yang harus dicapai sistem operasi adalah dapat
memanfaatkan seluruh sumber daya agar dapat digunakan secara efektif dan
efisien mungkin.”
2) Sumber daya abstrak
Terdiri dari :
Data, misalnya : Semaphore untuk pengendalian sinkronisasi proses-
proses, PCB(Process Control Block) untuk mencatat dan mengendalikan
proses, tabel segmen, tabel page, i-node, FAT, file dan sebagainya.
Program yang berupa kumpulan instruksi yang dapat dijalankan oleh
sistem komputer, yang dapat berupa utilitas dan program aplikasi
pengolahan data tertentu.
Penyedia layanan (extended/virtual machine)
Secara spesifik berfungsi :
Memberi abstaksi mesin tingkat tinggi yang lebih sederhana dan
menyembunyikan kerumitan perangkat keras. Sistem operasi
menyediakan system call (API=Application Programming Interface) yang
berfungsi menghindarkan kompleksitas pemograman dengan memberi
sekumpulan instruksi yang mudah digunakan.
Basis untuk program lain. Program aplikasi dijalankan di atas sistem
operasi yang bertujuan untuk memanfaatkan dan mengendalikan
sumber daya sistem komputer secara benar, efisien, dan mudah
dengan meminta layanan sistem operasi.
c. Komponen Inti Sistem Operasi
Komponen sistem operasi terdiri dari :
Manajemen proses,
Manajemen memori utama,
Manajemen berkas,
Manajemen sistem I/O,
Manajemen penyimpanan sekunder,
Sistem proteksi,
Jaringan dan
Command-Interpreter System.
Uraiannya :
Manajemen Proses
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah
proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya.
sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan
perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-
aktivitas yang berkaitan dengan manajemen proses seperti:
Pembuatan dan penghapusan proses pengguna dan sistem proses.
Menunda atau melanjutkan proses.
Menyediakan mekanisme untuk proses sinkronisasi.
Menyediakan mekanisme untuk proses komunikasi.
Menyediakan mekanisme untuk penanganan deadlock.
Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang
besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau
bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori
Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan
oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data
yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen memori seperti:
Menjaga track dari memori yang sedang digunakan dan siapa yang
menggunakannya.
Memilih program yang akan di-load ke memori.
Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya
sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program
komputer dibutuhkan secondary- storage yang bersifat permanen dan mampu
menampung banyak data. Contoh dari secondary- storage adalah harddisk,
disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan
dengan disk- management seperti: free-space management, alokasi
penyimpanan, penjadualan disk.
Manajemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum
sehingga operasi I/O dapat seragam (membuka, membaca, menulis,
menutup). Contoh: pengguna menggunakan operasi yang sama untuk
membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
Buffer: menampung sementara data dari/ ke perangkat I/O.
Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih
efisien (antrian dsb.).
Menyediakan driver untuk dapat melakukan operasi "rinci" untuk
perangkat keras I/O tertentu.
Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan
pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis
(direktori, volume, dll.).
Sistem operasi bertanggung-jawab:
Pembuatan dan penghapusan berkas.
Pembuatan dan penghapusan direktori.
Mendukung manipulasi berkas dan direktori.
Memetakan berkas ke secondary storage.
Mem-backup berkas ke media penyimpanan yang permanen (non-
volatile).
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh
program, prosesor, atau pengguna ke sistem sumber daya.
Mekanisme proteksi harus :
Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
Specify the controls to be imposed.
Provide a means of enforcement.
Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau
clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut
terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan
akses pengguna ke bermacam sumber-daya sistem.
Increased data availability.
Enhanced reliability.
Computation speed-up.
Increased data availability.
Enhanced reliability.
Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven).
Program yang membaca instruksi dan mengartikan control statements umumnya
disebut: control-card interpreter, command- line interpreter, dan UNIX shell.
Command-Interpreter System sangat bervariasi dari satu sistem operasi ke
sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O
devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.
d. Jenis sistem operasi terdistribusi
Ada berbagai macam sistem operasi terdistribusi yang saat ini beredar dan banyak
digunakan. Keanekaragaman sistem ini dikarenakan semakin banyaknya sistem yang
bersifat opensource sehingga banyak yang membangun OS sendiri sesuai dengan
kebutuhan masing-masing, yang merupakan pengembangan dari OS opensource yang
sudah ada.
Beberapa contoh dari sistem operasi terdistribusi ini diantaranya :
Amoeba (Vrije Universiteit)
Amoeba adalah sistem berbasis mikro-kernel yang tangguh yang menjadikan
banyak workstation personal menjadi satu sistem terdistribusi secara transparan.
Sistem ini sudah banyak digunakan di kalangan akademik, industri, dan pemerintah
selama sekitar 5 tahun.
Angel (City University of London)
Angel didesain sebagai sistem operasi terdistribusi yang pararel, walaupun
sekarang ditargetkan untuk PC dengan jaringan berkecepatan tinggi. Model
komputasi ini memiliki manfaal ganda, yaitu memiliki biaya awal yang cukup murah
dan juga biaya incremental yang rendah. Dengan memproses titik-titik di jaringan
sebagai mesin single yang bersifat shared memory, menggunakan teknik distributed
virtual shared memory (DVSM), sistem ini ditujukan baik bagi yang ingin
meningkatkan performa dan menyediakan sistem yang portabel dan memiliki
kegunaan yang tinggi pada setiap platform aplikasi.
Chorus (Sun Microsystems)
CHORUS merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk
mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang
telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX,
supercomputing, dan kegunaan yang tinggi. Multiserver CHORUS/MiX merupakan
implementasi dari UNIX yang memberi kebebasan untuk secara dinamis
mengintegrasikan bagian-bagian dari fungsi standar di UNIX dan juga service dan
aplikasi-aplikasi di dalamnya.
GLUnix (University of California, Berkeley)
Sampai saat ini, workstation dengan modem tidak memberikan hasil yang baik
untuk membuat eksekusi suatu sistem operasi terdistribusi dalam lingkungan yang
shared dengan aplikasi yang berurutan. Hasil dari penelitian ini adalah untuk
menempatkan resource untuk performa yang lebih baik baik untuk aplikasi pararel
maupun yang seri/berurutan. Untuk merealisasikan hal ini, maka sistem operasi
harus menjadwalkan pencabangan dari program pararel, mengidentifikasi idle
resource di jaringan, mengijinkan migrasi proses untuk mendukung keseimbangan
loading, dan menghasilkan tumpuan untuk antar proses komunikasi.
GUIDE
Guide (Grenoble Universities Integrated Distributed Environment) adalah sistem
operasi terdistribusi yang berorientasi obyek untuk pempangunan dan operasi dari
aplikasi terdistribusi pada PC atau server dengan jaringan yang tersambung LAN.
Guide adalah hasil penggabungan Bull and the IMAG Research Institute
(Universities of Grenoble), yang telah membangun Bull-IMAG joint Research
Laboratory. Ini juga memiliki kaitan erat dengan COMANDOS Esprit Project
(Construction and Management of Distributed Open Systems) dan BROADCAST
Esprit Basic Research project.
Hurricane
Sistem operasi Hurricane memiliki hierarki sebagai sistem operasi dengan cluster
yang merupakan implementasi dari Hector multiprocessor. Peng-cluster-an
mengatur resource pada sistem, menggunakan pasangan yang ketat antara cluster,
dan kehilangan pasangan pada cluster. Prinsip sistem terdistribusi diaplikasikan
dengan mendistribusikan dan mereplika servis pada sistem dan objek data untuk
meningkatkan kelokalan, meningkatkan konkurensi, dan untuk mencegah sistem
terpusat, sehingga membuat sistem berimbang.
Mach (Carnegie Mellon University)
Mach adalah satu dari beberapa komunitas penelitian tentang sistem operasi.
Sistem ini aslinya dimulai di CMU, dan Mach menjadi basis dari banyak sistem
penelitian. Walaupun pekerjaan dengan Mach di CMU sudah lama tidak diterapkan,
tetapi masih banyak kelompok-kelompok lain yang masih menggunakan Mach
sebagai basis pada penelitiannya.
Mach at OSF (OSF Research Institute)
OSF Research Institute masih menggunakan teknologi yang dimulai dari CMU dan
menggunakan ini sebagai basis dari banyak penelitian, termasuk sistem operasi
untuk mesin pararel , kernel berorientasi objek yang aman, dan penelitian-penelitian
tentang sistem operasi yang lain.
Maruti (University of Maryland) Group Members
Maruti adalah sistem operasi berbasis waktu, yang merupakan proyek di University
of Maryland. Dengan Maruti 3.0, kita memasuki fase baru pada proyek ini. Menurut
mereka, mereka memiliki sistem operasi yang lebih nyaman untuk kalangan yang
lebih luas.
Masix (Blaise Pascal Institute MASI Laboratory)
Masix adalah sistem operasi terdistribusi yang berbasis pada mikro kernel dari
Mach, yang saat ini di bawah pengembangan dari MASI Laboratory. Tujuan utama
dari sistem ini adalah untuk secara simultan mengeksekusi banyak data aplikasi
personal, yang berjalan baik baik di semua platform, baik Unix, DOS, OS/2 dan
Win32.
MOSIX (Hebrew University, Jerusalem, Israel)
Sebuah solusi untuk masalah saat ini menjadi ada untuk lingkungan multikomputer,
yang disebut MOSIX. Mosix adalah pengembangan dari UNIX, yang mengijinkan
user untuk menggunakan resource yang ada tanpa ada perubahan pada level
aplikasi. Dengan penggunaan yang transparan, algoritma proses migrasi dinamis,
MOSIX melayani servis jaringan, seperti NFS, TCP/IP, dari UNIX, untuk level
proses, dengan menggunakan penyeimbangan load dan distribusi dinamis pada
cluster-cluster yang homogen.
Plan 9 (Bell Labs Computing Science Research Center)
Plan 9 adalah sistem operasi baru yang dibangun di Bell Labs. Ini adalah sebuah
sistem yang terdistribusi. Pada kebanyakan konfigurasi, ini menggunakan tiga
macam komponen : terminal yang ada pada meja pengguna, server file yang
menyimpan data permanen, dan server CPU yang melayani CPU lainnya lebih
cepat, authentikasi user, dan network gateways. Salah satu kesemuan yang
menarik dari Plan 9 adakah pengiriman file yang esensial pada semua servis
system.
Puma and relatives (Sandia National Laboratory)
Sistem operasi Puma menargetkan aplikasi dengan performa tinggi yang
dipasangkan dengan arsitektur memory terdistribusi. Ini adalah turunan dari
SUNMOS.
2. Sistem operasi jaringan
Sistem Operasi Jaringan (Network Operating System) adalah sebuah jenis sistem
operasi yang ditujukan untuk menangani jaringan. Umumnya, sistem operasi ini terdiri
atas banyak layanan atau service yang ditujukan untuk melayani pengguna, seperti
layanan berbagi berkas, layanan berbagi alat pencetak (printer), DNS Service, HTTP
Service, dan lain sebagainya.
Sesuai fungsi komputer pada sebuah jaringan, maka tipe jaringan komputer dibedakan
menjadi dua tipe:
1. Jaringan peer to peer
Jaringan peer-to-peer menyatakan model jaringan yang memberikan kedudukan
yang sama terhadap semua computer. Tak ada yang bertindak sebagai server
ataupun client eksplisit. Oleh karena itu tidak ada media penyimpanan yang bersifat
global, dalam arti dipakai oleh sejumlah computer. Pada model seperti ini, dua
computer dapat berhubungan dengan langsung tanpa bergantung pada server.
Model ini lebih murah dari pada client/server, tetapi hanya dapat berjalan efektif
kalau jumlah computer tidak lebih dari 25 buah.
Setiap komputer yang terhubung pada jaringan dapat berkomunikasi dengan
komputer-komputer lain secara langsung tanpa melalui komputer perantara.
Pada jaringan ini sumber daya terbagi pada seluruh komputer yang terhubung
dalam jaringan tersebut, baik sumber daya yang berupa perangkat keras
maupun perangkat lunak dan datanya
Komputer yang terhubung dalam jaringan peer to peer pada prinsipnya mampu
untuk bekerja sendiri sebagai sebuah komputer stand alone.
Tipe jaringan seperti ini sesuai untuk membangun sebuah workgroup dimana
masing-masing penguna komputer bisa saling berbagi pakai penggunaan
perangkat keras.
2. Jaringan client/server
Client/server adalah suatu model jaringan yang memiliki client dan server adalah
computer yang meminta layanan (bias berupa data ataupun perangkas keras
seperti printer), sedangkan server adalah computer yang bertindak untuk melayani
permintaan client. Fungsi server sendiri sebenarnya berupa perangkat lunak yang
dijalankan pada perangkat keras yang umumnya berupa computer. Beberapa
contoh fungsi server yaitu file server, print server, web server, dan mail server. File
server menangani berkas yang dapat diakses oleh client. Print server bertindak
sebagai pengontrol printer yang dapat digunakan oleh client. Web server
menangani halaman-halaman Web yang dapat diakses oleh browser. Mail server
menangani surat elektronis.
Terdapat sebuah komputer berfungsi sebagai server sedangkan komputer yang
lain berfungsi sebagai client
Komputer server berfungsi dan bertugas melayani seluruh komputer yang
terdapat dalam jaringan tersebut.
Sedangkan komputer client (workstation) sesuai dengan namanya menerima
layanan dari komputer server
Karakteristik Sistem Operasi Jaringan
a. Pusat kendali sumber daya jaringan
b. Akses aman ke sebuah jaringan
c. Mengizinkan remote user terkoneksi ke jaringan
d. Mengizinkan user terkoneksi ke jaringan lain (misalnya Internet)
e. Back up data dan memastikan data tersebut tersedia
Fungsi Utama Sistem Operasi Jaringan
a. Menghubungkan sejumlah komputer dan perangkat lainnya ke sebuah jaringan
b. Mengelola sumber daya jaringan
c. Menyediakan layanan
d. Menyediakan keamanan jaringan bagi multiple users
e. Mudah menambahkan client dan sumber daya lainnnya
f. Memonitor status dan fungsi elemen – elemen jaringan
g. Distribusi program dan update software ke client
h. Menggunakan kemampuan server secara efisien
i. Menyediakan tolerasi kesalahan
Jenis Sistem Operasi jaringan
Sistem Operasi Jaringan Berbasis GUI
Adalah Sistem operasi yang dalam proses Instalasinya, user tidak perlu menghafal
sintax – sintax atau perintah DOS atau bahasa pemograman yang digunakannya.
Berikut beberapa contoh Sistem Operasi jaringan berbasis GUI
a. Linux Redhat
b. Windows NT 3.51
c. Windows 2000 (NT 5.0)
d. Windows Server 2003
e. Windows XP
f. Microsoft MS-NET
g. Microsoft LAN Manager
h. Novell NetWare
Sistem Operasi Jaringan Berbasis Text
Adalah sistem operasi yang proses instalasinya, user diharapkan untuk menghafal
sintax – sintax atau perintah DOS yang digunakan untuk menjalankan suatu proses
instalasi Sistem Operasi Jaringan tersebut, diantaranya adalah sebagai berikut :
a. Linux Debian
b. Linux Suse
c. Sun Solaris
d. Linux Mandrake
e. Knoppix
f. MacOS
g. UNIX
h. Windows NT
i. Windows 2000 Server
j. Windows 2003 Server
Sistem Operasi Terdistribusi Versus Sistem Operasi Jaringan
Suatu sistem operasi terdistribusi yang sejati adalah yang berjalan pada beberapa
buah mesin, yang tidak melakukan sharing memori, tetapi terlihat bagi user sebagai
satu buah komputer single. Pengguna tidak perlu memikirkan keberadaan perangkat
keras yang ada, seperti prosesor. Contoh dari sistem seperti ini adalah Amoeba.
Sistem operasi terdistribusi berbeda dengan sistem operasi jaringan. Untuk dapat
membedakannya, sistem operasi jaringan memiliki ciri-ciri sebagai berikut:
a. Tiap komputer memiliki sistem operasi sendiri
b. Tiap personal komputer memiliki sistem file sendiri, di mana data-data disimpan
c. Sistem operasi tiap komputer dapat berbeda-beda atau heterogen
d. Pengguna harus memikirkan keberadaan komputer lain yang terhubung, dan
harus mengakses, biasanya menggunakan remote login (telnet)
e. File system dapat digunakan dengan dukungan NFS
Contoh dari sistem ini adalah UNIX dan LINUX Server.
3. Middleware
Middleware adalah software yang dirancang untuk mendukung pengembangan sistem
tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling
berhubungan. Dengan bantuan middleware, data yang sama dapat digunakan oleh
customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Di
sini middleware dapat berfungsi sebagai penerjemah informasi sehingga setiap aplikasi
mendapatkan format data yang dapat mereka proses.
Pengertian Middleware adalah sebuah aplikasi yang secara logic berada diantara
lapisan aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer
TCP/IP [1]. Middleware bisa juga disebut protokol. Protokol komunikasi middleware
mendukung layanan komunikasi aras tinggi. Software yang berfungsi sebagai lapisan
konversi atau penerjemah yaitu :
- Software penghubung yang berisi sekumpulan layanan yang memungkinkan
beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling
berinteraksi pada suatu jaringan juga sebagai integrator.
- Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi
berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.
Contoh layanan middleware :
Transaction Monitor
Produk pertama yang disebut middleware.
Menempati posisi antara permintaan dari program client dan database, untuk
menyakinkan bahwa semua transaksi ke database terlayani dengan baik
Messaging Middleware
Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati
atau overloaded
Mungkin berisi business logic yang merutekan message ke ujuan sebenarnya
dan memformat ulang data lebih tepat
Sama seperti sistem messaging email, kecuali messaging middleware
digunakan untuk mengirim data antar aplikasi
Tipe layanan middleware :
Distributed Object Middleware
Contoh: RPC, CORBA dan DCOM/COM
Middleware basis data
menyediakan antarmuka antara sebuah query dengan beberapa database yang
terdistribusi
Contoh: JDBC, ODBC, dan ADO.NET
Application Server Middleware
J2EE Application Server, Oracle Application Server
Konsep Middleware sejauh ini mengatasi masalah keberagaman (Heterogeneity)
dalam sistem terdistribusi. Istilah Middleware diaplikasikan pada layer software yang
menyediakan abtraksi pemerograman serta sekaligus menyamarkan keberagaman
(heterogeneity) yang mendasari jaringan, perangkat keras, sistem operasi dan bahasa
pemerograman.
Salah satu jenis pemerograman yang digunakan pada Middleware adalah CORBA
(Common Object Request Broker Architecture). CORBA adalah hasil 'kesepakatan'
antara sejumlah vendor dan pengembang perangkat lunak terkenal seperti IBM,
Hewlett-Packard, dan DEC, yang tergabung dalam sebuah konsorsium bernama OMG
(Object Management Group).
Middleware Kebanyakan diimplementasikan melalui protokol internet, yang dengan
sendiriya menutupi perbedaan dari jaringan yang mendasarinya. Tetapi semua
middleware mampu mengatasi perbedaan dalam perangkat keras dan sistem operasi.
Dalam memecahkan masalah heterogenitas, middleware memberikan model
komputasi yang seragam untuk digunakan oleh programmer dari server dan aplikasi
terdistribusi. Salah satu model yang disediakan CORBA adalah Remote Object
Invocation, yang memungkinkan sebuah objek dalam sebuah program berjalan pada
sebuah komputer untuk me-request/meminta method sebuah objek dalam sebuah
program yang berjalan pada komputer lain.
Sedangkan DOS mencoba untuk menciptakan sebuah sistem khusus untuk aplikasi
terdistribusi, tujuan middleware adalah untuk menciptakan sistem antarmuka
independen untuk aplikasi terdistribusi.
Gambar 3: Sebuah sistem middleware.
Seperti ditunjukkan dalam Gambar 3 middleware terdiri dari lapisan layanan
ditambahkan antara orang-orang dari jaringan biasa OS 1 dan aplikasi yang
sebenarnya. Layanan ini memfasilitasi pelaksanaan aplikasi terdistribusi dan berusaha
untuk menyembunyikan heterogenitas (baik hardware dan software) dari arsitektur
sistem yang mendasariny.
Prinsip Tujuan middleware, yaitu menaikkan tingkat abstraksi untuk didistribusikan
pemrograman, dicapai dalam tiga cara:
1. Mekanisme komunikasi yang lebih nyaman dan kurang rawan kesalahan daripada
lewat pesan dasar,
2. Dari OS, jaringan protokol, bahasa pemrograman, dll dan
3. Standar layanan (seperti layanan penamaan, layanan transaksi, layanan
keamanan, dll).
Untuk membuat integrasi berbagai layanan lebih mudah, dan untuk meningkatkan
transparansi ,middleware biasanya didasarkan pada paradigma tertentu, atau model,
untuk menggambarkan distribusi dan komunikasi. Karena paradigma adalah
pendekatan yang menyeluruh untuk bagaimana didistribusikan
Sistem harus dikembangkan, ini sering memanifestasikan dirinya dalam model
pemrograman tertentu seperti’Semuanya adalah file’, panggilan prosedur remote, dan
objek terdistribusi. Memberikan paradigma tersebut secara otomatis menyediakan
abstraksi untuk programmer untuk mengikuti, dan memberikan arahan untuk
bagaimana untuk merancang dan mengatur aplikasi terdistribusi.
Model sistem terdistribusi
Model dalam sistem terdistribusi :
Model Arsitektur (Architectural Models)
Model Interaksi (Interaction Models)
Model Kegagalan (Failure Models)
Resource dalam sistem terdistribusi dipakai secara bersamaan oleh users. biasanya dibungkus
dalam suatu komputer dan dapat di akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager. Resource
manager memberikan kemungkinan komunikasi interface antar resource.
Resource manager dapat di generalisasi sebagai proses, kalau sistem di design dengan sudut
pandang objek (Object Oriented), resource dibungkus dalam suatu objek.
Model Arsitektur (Architectural Models)
Bagaimana cara kerja sistem terdistribusi antara komponen-komponen sistem dan bagaimana
komponen tersebut berada pada sistem terdistribusi :
Client - Server Model
Sistem yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan memberikan
layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh implementasinya
antara lain: RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation).
Client : proses akses data, melakukan operasi pada komputer lain.
Server : proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi : Invocation/result
o Karakteristik Client-Server
1. Service : menyediakan layanan terpisah yang berbeda
2. Shared Resource : server dapat melayani beberapa client pada saat yang
sama dan mengatur pengaksesan resource
3. Asymmetrical Protocol : antara client dan server merupakan hubungan
one to many
4. Mix and Match : tidak tergantung pada platform
5. Encapsulation of Service : message memberitahu server apa yang akan
dikerjakan
6. Transparency Location : proses server dapat ditempatkan pada mesin
yang sama atau terpisah dengan proses client. Client/server akan
menyembunyikan lokasi server dari client
7. Message-based-exchange : antara client dan server berkomunikasi
dengan mekanisme pertukaran message
8. Scalability : sistem client/server dapat dimekarkan baik vertikal maupun
horisontal
9. Integrity : kode dan data server diatur secara terpusat, sedangkan pada
client tetap pada komputer sendiri
Multiple Server Model
Proxy Server Model
Proxy server menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain.
Biasanya proxy server dipakai untuk menyimpan hasil copy web resources. ketika client
melakukan request ke server, hal pertama yang dilakukan adalah memeriksa proxy server
apakah yang diminta oleh client terdapat pada proxy server.
Proxy server dapat diletakan pada setiap client atau dapat dipakai bersama oleh beberapa
client. Tujuannya adalah meningkatkan performance dan availibity dengan mencagah frekuensi
akses server.
Proxy server membuat duplikasi beberapa server yang diakses oleh client.
Caching :
- penyimpanan lokal untuk item yang sering diakses
- meningkatkan kinerja
- mengurangi beban pada server
- wajib digunakan pada search engine
Contoh model proxy server : searching satu topik namun dilakukan dua kali maka searching
terakhir memiliki waktu yang lebuh kecil.
Mobile Code Model
Kode yang berpindah dan dijalankan pada komputer yang berbeda. Contoh : Applet.
Mobile Agent Model
Mobile agent adalah sebuah program yang berpindah (termasuk data dan kode) dari satu
komputer ke lainnya dalam jaringan. Biasanya melakukan suatu pekerjaan otomatis tertentu.
Beberapa masalahnya antara lain authentication, permission dan keamanan. Alternatif dengan
mengambil informasi melalui remote invocation. Contoh : digunakan untuk install dan
memelihara software pada komputer dalam suatu organisasi, membandingkan harga produk
dari beberapa vendor.
Peer Processes (Peer To Peer)
Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client
maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu
pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi
rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan
berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan
fleksible.
Model Interaksi (Interaction Models)
Untuk interaksinya sistem terdistribusi dibagi menjadi 2 bagian :
Synchronous Distributed System
Batas atas dan bawah waktu pengeksekusian dapat di set. Pesan yang dikirim diterima dalam
waktu yang sudah ditentukan. Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Bererapa hal yang penting untuk diperhatikan :
1. Dalam synchronous distributed system terdapat satu waktu global
2. Hanya synchronous distributed system dapat memprediksi perilaku (waktu)
3. Dalam synchronous distributed system dimungkinkan dan aman untuk
menggunakan mekanisme timeout dalam mendeteksi error atau kegagalan
dalam proses atau komunikasi.
Asynchronous Distributed System
Banyak sistem terdistribusi yang menggunakan model interaksi ini (termasuk internet). Tidak
ada batasan dalam waktu pengeksekusian, tidak ada batasan dalam delay transmission
(penundaan pengiriman), dan tidak ada batasan terhadap fuktuasi waktu lokal. Asynchronous
Distributed System secara praktek lebih banyak digunakan.
Model Kegagalan (Failure Models)
Kegagalan dapat terjadi pada proses atau kanal komunikasi, dan penyebabnya bisa berasal
dari hardware ataupun software. Model kegagalan (failure models) dibutuhkan dalam
membangun suatu sistem dengan prediksi terhadap kegagalan-kegagalan yang mungkin
terjadi. Kegagalan yang dapat terjadi dan efek yang ditimbulkan :
Ommision Failures
Yang dimaksud dengan ommision failures adalah ketika prosesor dan kanal komunikasi
mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan. Dikatakan tidak
mempunyai ommision failure apabila :
1. terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi
2. sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil
Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts. Kalau kita
yakin bahwa pesan yang dikirim sampai, timeout akan mengindikasikan bahwa proses
pengiriman rusak, seperti fail-stop behavior pada sistem.
Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau komunikasi
diabaikan atau yang tidak diharapkan terjadi dieksekusi sehingga hasil yang diharapkan tidak
terjadi atau mengeluarkan hasil yang salah.
Timing Failures
Timing Failures dapat terjadi pada synchronous system, dimana batas waktu diatur untuk
eksekusi proses, komunikasi dan fuktuasi waktu. Timing Failures terjadi apabila waktu yang
telah ditentukan terlampaui
Jadi, konsep perangkat lunak sistem terdistribusi dan keterkaitannya dengan model
sistem terdistribusi adalah (ai,,, buat keterkaitannya sertakan dengan contoh dan lakukan
pembahasan dari segala aspek
top related