Anda di halaman 1dari 24

TUGAS TERSTRUKTUR & PRESENTASI

Nama Kelompok :

1. Desi Nilawati (1102636) 2. Ciendikia Nela (1102653) 3. Arfajrialdi (1102645)

Kelompok Prodi / Group Dosen Matakuliah Jadwal kuliah Kode seksi

: : : : : :

6 Pendidikan Teknik Informatika / 3F1,2 Nurindah Dwiyani, S.Pd, MT Sistem Terdistribusi Kamis / 13.20 15.50 (E66) 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 bersamasama 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 prosesproses 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 prosesproses, 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 sumber memanfaatkan dan mengendalikan

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 aktivitasaktivitas 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 diskmanagement 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 menutup). Contoh: dapat seragam (membuka, membaca, menulis,

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 (nonvolatile). 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. j. Windows 2000 Server 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 sepertiSemuanya 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 Server Interaksi : : : proses akses data, melakukan operasi pada komputer lain.

proses mengatur data, proses mengatur resources, proses komputasi. Invocation/result

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