SpongeBob SquarePants esetblog: PERTEMUAN II(SISTEM TERDISTRIBUSI)

WELCOME

ESETBLOG.BLOGGSPOT.COM

Rabu, 22 Januari 2014

PERTEMUAN II(SISTEM TERDISTRIBUSI)




II.  MANFAAT SISTEM OPERASI TERDISTRIBUSI
Sistem  operasi  terdistribusi memiliki manfaat  dalam  banyak  sistem  dan  dunia  komputasi yang  luas.  Manfaat-manfaat  dari sistem terdistribusi antara lain :
1.  Shared Resource
Walaupun  perangkat  sekarang  sudah memiliki  kemampuan  yang  cepat  dalam  suatu proses  komputasi,  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  system 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. Uniprosesor
Multiprosesor
Sistem multiprosesor adalah, suatu sistem dengan lebih dari satu CPU yang memiliki sebuah memori bersama, seperti sekelompok orang dalam suatu ruangan yang memili papan tulis bersama. Karena setiap CPU dapat membaca atau menulis bagian apa saja dari memori, mereka harus berkoordinasi (dalam software) agar tidak saling berebut jalurnya masing -masing.
Berbagai skema implementasi dapat dilaksanakan. Salah satu skema paling sederhana adalah memiliki sebuah bus tunggal dengan banyak CPU dan satu memori yang seluruhnya dipasang ke dalam bus tersebut.
Semua prosesor dapat melakukan komputasi secara paralel dan masing-masing dapat mengakses memori melalui bus. Bus bertanggung jawab mengatur permintaan pemakaian memori yang berlangsung secara simultan oleh beberapa prosesor. Bus juga bertanggung jawab untuk meyakinkan bahwa semua prosesor dilayani secara adil dengan waktu tunda (delay) akses yang minimum.
Dengan sejumlah besar prosesor cepat yang selalu berusaha mengakses memori melalui bus yang sama, konflik - konflik akan terjadi. Para perancang multiprosesor telah mengajukan berbagai macam skema untuk mengurangi konflik ini guna meningkatkan kinerja seperti ditunjukan oleh gambar 14.8.
Multiprosesor memiliki keunggulan dibanding jenis - jenis komputer paralel yaitu:

a) Peningkatan throughput, karena lebih banyak proses / thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
b) Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama – sama. Prosesor - prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik.
c) Peningkatan kehandalan (reliabilitas), Jika satu prosesor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau failoft system.
Penjadwalan Multiprocessor
Kita perlu mempelajari penjadwalan pada prosesor jamak berhubung sistem
dengan prosesor jamak akan semakin banyak digunakan karena kemampuannya yang
lebih baik dari sistem dengan prosesor tunggal. Seperti halnya pada prosesor tunggal,
prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak,
penjadwalannya jauh lebih kompleks dari pada prosesor tunggal. Dalam penjadwalan
prosesor jamak, tiap proses dapat mengakses memori dengan cara yang sama [uniform
memory access].
Pembatasan dalam penjadwalan juga terjadi dalam multiprosesor. Hal ini
disebabkan karena:
a) kemungkinan adanya load sharing. Load sharing terjadi jika ada beberapa prosesor
yang identik. Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan
penjadwalan mandiri (self schedulling).
b) kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa
prosesor memilih untuk mengeksekusi proses yang sama. permasalahan seperti itu
bisa dijawab dengan sebuah master-slave structure, yaitu suatu struktur dimana
satu prosesor ditunjuk sebagai master. Master inilah yang akan bertanggung jawab
dalam hal penjadwalan, memproses I/O, dan sebagainya. Sedangkan prosesor yang
lain [slave] hanya bertugas untuk mengeksekusi user code. Hal ini disebut juga
sebagai Asymmetric Multiprocessing karena hanya satu prosesor yang dapat
mengakses struktur data dari sistem. Ada beberapa jenis dari sistem penjadualan prosesor jamak, namun yang akan dibahas dalam bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki fungsi-fungsi prosesor yang memiliki fungsi yang sama (Homogeneous processors within a multiprocessor).
Diantaranya ada 2 yaitu:
1. Penjadwalan Asymmetric MultiProcessing (AMP)
Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan
asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan Master
Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai
master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk
menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave
Processors. Master Processor melakukan pekerjaan yang berhubungan dengan
System, Slave Processor melayani user requests dalam pengeksekusian program.
Pemrosesan yang banyak tidak menyebabkan penurunan performance. Metode ini
sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan
juga mengurangi data sharing. Sebagai contoh, prosesor master memilih proses yang
akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan
instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang
dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi
interupsi kepada prosesor master dan berhenti untuk menunggu perintah
selanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan
untuk suatu proses yang sama pada waktu yang berbeda. Master processor dapat
mengeksekusi OS dan menangani I/O, sedangkan sisanya processor tidak punya
kemampuan I/O dan disebut sebagai Attached Processor (Aps). APs mengeksekusi kodekode user dibawah pengawasan master processor.
2. Penjadwalan Symmetric MultiProcessing (SMP)
Penjadwalan SMP adalah pendekatan kedua untuk penjadwalan prosesor jamak.
Pada metode ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling).
Penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa
antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem prosesor
jamak mencoba untuk mengakses dan mengupdate suatu struktur data, penjadwal
dari prosesor-prosesor tersebut harus diprogram dengan hati-hati, kita harus yakin
bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak
hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP,
termasuk Windows XP, Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X.
Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin
mengakses alamat memori yang sama dan mengubah shared memory. Dalam skema
tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan
symmetric multiprocessing(SMP). Dimana setiap prosesor menjadwalkan diri sendiri.
Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.
Multiprocessing
Multiprocessing adalah penggunaan dua atau lebih central processing unit (CPU) dalam satu sistem komputer untuk menjalankan beberapa tugas yang ada. Dengan kata lain komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen. Istilah ini juga merujuk pada kemampuan dari suatu sistem untuk mendukung lebih dari satu prosesor dan / atau kemampuan untuk mengalokasikan tugas antara mereka.
Bentuk Multiprocessing misalnya :
  • Pengolahan data KPU yang bersifat terpusat di Jakarta dan dapat diakses dari seluruh jaringan di Indonesia.
  • Super komputer sebagai mesin catur yang pernah bertarung dengan Grand Master Anatoly Karpov.
  • Mainframe komputer yaitu komputer besar yang berisi prosesor yang banyak. Komputer sebagai central local pada jaringan telepon di Belanda.


Distributed Shared memori system
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 prosesorprosesor 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 maupunWAN.
Fungsi Sistem Operasi
Secara garis besar Sistem Operasi mempunyai 2 tugas utama, yaitu sebagai :
a. 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, lightpen,
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.
b. 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.
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.
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 secondarystorage yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondarystorage 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 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, commandline interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari satu system 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.
Network operation system
Sistem operasi jaringan juga dikenal dengan sebutan network operating system dalam bahasa Inggris. Sistem operasi jaringan ini, seperti yang tersurat dalam namanya, merupakan sebuah sistem yang disebut dengan sistem operasi yang digunakan untuk menangani jaringan. Sistem operasi jaringan ini sudah sngat dikenal oleh berbagai kalangan dimulai dari beberapa tahun terakhir ini saat teknologi muai dikenal dan dikembangkan secara cepat. Sistem operasi jaringan dikenal memiliki banyak layanan yang mereka sediakan. Layanan sistim operasi jaringan tentu saja digunakan utuk melayani pelanggan atau dalam istilah mereka lebih dikenal disebut dengan pengguna. Beberapa contoh yang disediakan oleh sistem operasi jaringan adalah layanan berbagai alat pencetak atau printer, layanan HTTP, layanan berbagi berkas dan beberpa layanan lain yang sepertinya memang sudah banyak dikenal.

Jenis-jenis Sistem Operasi Jaringan

Dalam sistim operasi jaringan, terdapat beberapa sistem operasi yang harus diketahui. Pengetahuan dasar sistem operasi jaringan seharusnya dimiliki oleh semua orang agar mereka sedikit mengerti apa itu sistim operasi jaringan dan bagaimana sistem operasi jaringan bekerja. Beberapa sistem operasi jaringan yang dimaksudkan di atas adalah Microsoft MS-NET, Microsoft LAN Manager, Novell Net-Ware, Microsoft Windows NT Server, GNU atau LINUX, Banyan VINES, dan juga beberap varian dari UNIX seperti SCO Open Server, Novell UnixWare dan Solaris sebagai contohnya. Beberapa sistim operasi jaringan yang disebutkan sebelumnya mungkin sudah diketahui pleh beberapa orang. Produk Microsoft dan Linux sebagai contohnya. Jika ditanya, banyak orang mungkin sudah banyak mengetahui tentang dua produk ini. Tetapi, sebagian besar dari sistem operasi jaringan di atas kurang dikenal oleh banyak orang karena sistem-sistem operasi tersebut tidak banyak dipakai.

Beberapa Macam Layanan Sistem Operasi Jaringan

Terdapat beberapa macam layanan sistem operasi jaringan yang perlu diketahui. Layanan-layanan ini nantinya akan diperlukan sehingga pengetahuan dasar tentang layanan sistim operasi jaringan harus diketahui. Layanan sistem operasi jaringan yang pertama adalah Mail ServerMail yang merupakan sebuah perangkat lunak yang digunakan untuk distribusi informasi sebagai respon permintaan yang telah dikirim melalui email sebelumnya. Layanan yang kedua adalah DHCP (Dynamic Host Configuration Protocol) server. Layanan sistem operasi jaringan ini memberikan nomor IP secara otomatis kepada komputer yang meminta nomor IP tersebut. Jaringan sistim operasi jaringan yang ketiga adalah Web Server. Layanan ini berguna untuk menerima layanan HTTP ataupun juga HTTPS. Layanan yang keempat adalah DNS (Domain Name System) sever. Layanan ini duhunakan untuk mencari nama komputer dalam jaringan yang menggunakan TCP (Transmission Control Protocol) atau IP (Internet Protocol). Masih banyak lagi macam layanan sistem operasi ini yang perlu diketahui.

Fungsi Sistem Operasi Jaringan

Sistem operasi jaringan memiliki beberapa fungsi yang sangat berguna. Fungsi-fungsi ini haruslah diketahui sehingga oran mendapatkan pengetahuan yang tidak hanya seputar sistem jaringan tetapi juga tentang apa guna dari sistem ini. Beberapa fungsi yang dimaksud di atas adalah mengelola semua sumber daya yang berkaitan dengan perangkat lunak yang sedang dijalankan oleh komputer. Perangkat lunak yang dimaksud adalah memori utama, CPU, dan alat input atau output, memberikan tahap persiapan pada perangkat keras sehingga program-program aplikasi dapat dengan lancar berinteraksi dengannya secara stabil dan juga konsisten tanpa harus memiliki wawasan yang luas tentang perangkat keras, mengelola proses yang mencakup penyiapan, penjadwalan dan pemonitoran proses program yang sedang berjalan, dan juga megelola data pengendali terhadap data keluaran dan masukan. Sangatlah penting untuk memiliki fungsi-fungsi sistem operasi jaringan.

MIDDLEWARE
Software yang menghubungkan dua aplikasi lain yang terpisah. Sebagai contoh, ada sejumlah produk middleware yang menghubungkan sistem database ke server Web. Hal ini memungkinkan pengguna untuk meminta data dari database menggunakan formulir yang ditampilkan pada web browser, dan memungkinkan server Web untuk mengembalikan halaman Web dinamis berdasarkan permintaan pengguna dan profil.

Istilah middleware digunakan untuk menggambarkan produk terpisah yang berfungsi sebagai perekat antara dua aplikasi. Oleh karena itu, berbeda dengan fitur impor dan ekspor yang dapat dibangun menjadi salah satu aplikasi. Middleware kadang-kadang disebut pipa karena menghubungkan dua sisi aplikasi dan melewati data antara mereka. Kategori middleware umum termasuk:
ESBs
TP monitor
DCE lingkungan
RPC sistem
Obyek Permintaan Broker (ORBs)
Database akses sistem
pesan Passing
1. Tujuan Umum
Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas. Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda.
Perangkat lunak ini terdiri dari serangkaian pelayanan yang mengizinkan bermacam-macam proses berjalan dalam satu atau lebih mesin untuk dapat saling berinteraksi satu sama yang lainnya. Lambat laun teknologi ini menyediakan kemampuan interoperabilitas yang mendukung pada perpindahan ke arsitektur distribusi yang berhubungan, yang biasanya sering digunakan untuk mendukung dan menyederhanakan kerumitan, aplikasi terdistribusi. Termasuk didalamnya, web server, aplikasi server dan peralatan sama yang mendukung pengembangan dan pengantaran aplikasi. Middleware secara khusus menjadi bagian dari teknologi informasi modern berbasis XML, SOAP, web service dan pelayanan berbasis arsitektur. Middleware berada diantara aplikasi perangkat lunak yang mungkin bekerja pada system operasi yang berbeda. Middleware serupa dengan middle layer dari sebuah tiga baris sistem arsitektur tunggal, kecuali usahanya melewati bermacam-macam system atau aplikasi. Contohnya perangkat lunak EAI (Enterprise Application Integration), perangkat lunak telekomunikasi, monitor transaksi dan perangkat lunak pemesanan dan pengantrian.
Dalam dunia teknologi informasi Middleware merupakan suatu software yang dirancang untuk ` menghubungkan beberapa proses pada satu atau lebih mesin untuk dapat saling berinteraksi pada suatu jaringan.
Seperti data customer yang harus dapat dibaca oleh bagian customer service dan akuntansi. Data hasil pengembangan perlu dapat dibaca juga oleh bagian manajemen. Hal ini semakin terasa ketika sistem tersebar menjadi semakin besar dan bervariasi.
Di sinilah aplikasi middleware memegang peranan, dengan bantuan middleware, data yang sama dapat digunakan oleh customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Disini middleware dapat berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses.
Middleware berada diantara lapisan aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP. Middleware bisa juga disebut protokol.

2. Lingkungan Komputasi
Pelayanan middleware menyediakan banyak set fungsi dari aplikasi antarmuka pemogramanan yang mengizinkan sebuah aplikasi untuk:
1.    Menemukan tempat melewati jaringan secara transparan sehingga dapat menyediakan interaksi dengan service atau aplikasi lainnya.
2.    Mandiri dari service jaringan.
3.    Dapat dipercaya dan selalu tersedia.
Middleware menawarkan beberapa keuntungan unik dari technologi untuk bisnis dan industri. Sebagai contoh, sistem database tradisional biasanya diletakan dalam lingkungan yang dekat dimana pengguna mengakses sistem menggunakan jaringan terbatas atau intranet. Dengan perkembangan fenomena dari World Wide Web, pengguna dapat mengakses database secara virtual dengan berbagai macam jenis akses dari belahan dunia manapun. Middleware mengalamatkan masalah dari berbagai level interoperbilitas diantara struktur database yang berbeda. Middleware memfasilitasi akses transparan untuk melegalkan sistem manajemen database (DBMS) atau aplikasi lewat sebuah web server tanpa memperhatikan karakteristik spesifik database. 
Perusahaan bisnis sering menggunakan aplikasi middleware untuk menghubungkan informasi dari database departemen, misalnya daftar pembayaran, penjualan, dan penghitungan atau database house dalam lokasi geografi yang bermacam-macam. Dalam tingginya kompetisi komunitas kesehatan, laboratorium membuat luas penggunaan dari aplikasi middleware untuk data mining, sistem informasi laboratorium (LIS) cadangan, dan untuk menggabungkan sistem selama proses penggabungan dua rumah sakit. Middleware menolong menjembatani jarak pemisah antara LIS dalam bentuk baru jaringan kesehatan mengikuti proses pembelian rumah sakit. Pengembang jaringan wireless dapat menggunakan middleware untuk menghadapi tantangan penggabungan dengan sensor jaringan wireless (WSN) atau teknologi WSN. Pengimplementasian sebuah aplikasi middleware mengizinkan pengembang middleware untuk menyatukan sistem operasi dan perangkat keras dengan berbagai macam aplikasi yang tersedia. Middleware dapat menolong pengembang perangkat lunak menghindari penulisan antarmuka program aplikasi (API) untuk setiap pengendali program, dengan cara melayani sebagai sebuah antarmuka pemograman yang berdiri sendiri untuk setiap aplikasi yang dibuat. 
Contoh Middleware:
1. Java's : Remote Procedure Call
2. Object Management Group's : Common Object Request Broker Architecture (CORBA)
3. Microsoft's COM/DCOM (Component Object Model
    - Also .NET Remoting
4. ActiveX controls (in-process COM components).
Database middleware yang paling umum digunakan adalah ODBC (Open DataBase Connectivity). Keterbatasan ODBC adalah bahwa middleware ini didisain untuk bekerja pada tipe penyimpanan relational database. Database middleware yang lain, yang merupakan superset daripada ODBC adalah OLEDB. OLEDB bisa mengakses hampir segala macam bentuk database, kelebihan yang lain dari OLEDB adalah dia didisain dengan konsep obyek komponen (Component Object Model) yang mengandalkan object-oriented computing dan menjadi salah satu trend di dunia komputasi.
Beberapa produk database middleware yang bisa disebutkan di sini adalah Oracle’s DB Integrator (previously DIGITAL’s DB Integrator), Sybase’s Omni CONNECT, and International Software Group’s Navigator. Kelebihan dari produk-produk ini dibandingkan dengan standard seperti ODBC dan OLEDB adalah performance, yang sangat sulit dimiliki oleh suatu produk yang mengacu pada standar.
Middleware merupakan software yang berfungsi sebagai lapisan konversi atau penerjemah. Selain itu middleware juga sebagai Consolidator dan Integrator. Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.
Middleware adalah S/W penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan. Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda.
Middleware yang paling banyak dipublikasikan:
- Open Software Foundation’s Distributed Computing Environment (DCE),
- Object Management Group’s Common Object Request Broker Architecture (CORBA),
- Microsoft’s COM/DCOM (Component Object Model).
Arsitektur middleware merupakan sekumpulan S/W terdistribusi yang menempati lapisan antara aplikasi dan sistem operasi serta layanan jaringan di suatu node pada jaringan komputer.
Layanan middleware menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi daripada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu aplikasi dapat:
- Mengalokasikan suatu layanan secara transparan pada jaringan,
- Menyediakan interaksi dengan aplikasi atau layanan lain,
- Tidak tergantung dari layanan jaringan,
- Handal dan mampu memberikan suatu layanan,
- Diperluas (dikembangkan) kapasitasnya tanpa kehilangan fungsinya.
Messaging Middleware merupakan antarmuka dan transportasi antar aplikasi. Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded. Mungkin berisi business logic yang merutekan message ke tujuan sebenarnya dan memformat ulang data lebih tepat. Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi.
Middleware basis data data menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi. Menggunakan, baik arsitektur hub and spoke atau arsitektur terdistribusi, memungkinkan data untuk digabungkan dari beberapa sumber data yang berbeda atau terpisah.
Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas. Bagaimana pun juga middleware bukanlah “obat mujarab”:
- Ada jarak antara prinsip dan praktek. Beberapa middleware membuat suatu aplikasi tergantung pada suatu produk tertentu,
- Sedikitnya jumlah middleware menjadikan rintangan tersendiri. Untuk menjaga lingkungan komputasi mudah diatur, pengembang biasanya memilih sejumlah kecil layanan yang memenuhi kebutuhan mereka,
- Selama layanan middleware masih memunculkan abtraksi pemrograman terdistrbusi, middleware masih akan memberikan bagi si pengembang suatu pilihan rancangan aplikasi yang cukup sulit. Contoh: pengembang masih harus menentukan layanan atau fungsi apa yang harus diletakkan pada client ataupun server.
Ada tiga tipe layanan middleware yaitu:
1) Layanan Sistem Terdistribusi:
a. Komunikasi kritis, program-to-program, dan layanan manajemen data,
b. RPC, MOM (Message Oriented Middleware) dan ORB.
2) Layanan Application:
a. Akses ke layanan terdistribusi dan jaringan,
b. Yang termasuk: TP (Transaction Processing) monitor dan layanan database, seperti Structured Query Language (SQL).
3) Layanan Manajemen Middleware: memungkinkan aplikasi dan fungsi dimonitor secara terus menerus untuk menyakinkan unjuk kerja yang optimal pada lingkungan terdistribusi.


























1.5 Model client server

Sampai titik ini, kita hampir tidak mengatakan apa-apa pada organisasi yang sebenarnya dari sistem terdistribusi, yang terutama berpusat di sekitar pertanyaan tentang bagaimana mengatur proses dalam suatu sistem. meskipun begitu, konsensus tentang banyak isu sistem terdistribusi seringkali sulit untuk menemukan, ada satu isu yang banyak peneliti dan praktisi setuju atas: berpikir dalam hal klien yang meminta layanan dari serevers membantu memahami dan mengelola kompleksitas sistem terdistribusi. dalam bagian ini, kita melihat lebih dekat pada model client-server.

1.5.1 Klien dan Server

Dalam model client-server dasar, proses dalam sistem terdistribusi dibagi menjadi dua (mungkin tumpang tindih) kelompok. server adalah proses pelaksanaan layanan tertentu, misalnya, file sistem pelayanan atau layanan database. klien adalah proses yang meminta layanan dari server dengan mengirimkan permintaan dan kemudian menunggu balasan server. interaksi client-server, juga dikenal sebagai permintaan-jawaban perilaku ditunjukkan pada Gambar. 1-25

1-25.  interaksi umum antara klien dan server

Komunikasi antara dan klien dan server dapat diimplementasikan dengan cara protokol connectionless sederhana ketika jaringan yang mendasari cukup handal seperti di banyak jaringan area lokal. dalam kasus ini, ketika klien meminta layanan, itu hanya paket pesan untuk server, mengidentifikasi layanan yang diinginkan, bersama dengan data masukan yang diperlukan. pesan tersebut kemudian dikirim ke server. yang terakhir, pada gilirannya, akan selalu menunggu permintaan masuk, kemudian memprosesnya, dan mengemas hasil dalam pesan balasan yang kemudian dikirim ke klien.

Menggunakan protokol connectionless memiliki keuntungan jelas menjadi efisien. asalkan pesan tidak tersesat atau rusak, protokol permintaan / jawaban hanya sketsa bekerja dengan baik. sayangnya, membuat protokol tahan terhadap kegagalan transmisi sesekali tidak sepele. satu-satunya hal yang dapat kita lakukan adalah mungkin membiarkan klien mengirim ulang permintaan ketika tidak ada pesan balasan masuk masalah, bagaimanapun, adalah bahwa klien tidak dapat mendeteksi apakah pesan permintaan asli hilang, atau bahwa transmisi jawaban gagal. jika jawabannya hilang, kemudian kirim kembali permintaan dapat mengakibatkan melakukan operasi dua kali. jika operasi adalah sesuatu seperti "mentransfer $ 10,000 dari rekening bank saya," maka jelas, itu akan lebih baik bahwa kita hanya melaporkan kesalahan sebagai gantinya. di sisi lain, jika operasi adalah "katakan padaku bagaimana muchmoney yang tersisa," itu akan benar-benar diterima untuk mengirim ulang permintaan. tidak sulit untuk melihat bahwa tidak ada solusi tunggal untuk masalah ini. kita menunda pembahasan rinci tentang penanganan kegagalan transmisi untuk chap 7.sebagai alternatif, sistem client server yang banyak menggunakan protokol berorientasi koneksi yang dapat diandalkan. meskipun solusi ini tidak sepenuhnya tepat dalam jaringan lokal-daerah karena kinerja yang relatif rendah, itu bekerja baik-baik saja di wide-area sistem di mana komunikasi secara inheren tidak dapat diandalkan. misalnya, hampir protokol internet aplikasi semua didasarkan pada handal TCP / IP koneksi. dalam hal ini, setiap kali klien meminta layanan, pertama kali mendirikan koneksi ke server sebelum mengirim permintaan. server umumnya menggunakan koneksi yang sama untuk mengirim pesan balasan, setelah koneksi menolak. masalahnya adalah bahwa pengaturan dan menghancurkan sambungan relatif mahal, terutama ketika permintaan dan pesan balasan kecil. kita akan membahas solusi alternatif di mana manajemen koneksi dikombinasikan dengan transfer data dalam bab berikutnya.

1.5.2 Aplikasi layering

Model client-server telah dikenakan banyak perdebatan dan kontroversi. salah satu masalah utama adalah cara menggambar perbedaan yang jelas antara klien dan server. tidak mengherankan, seringkali tidak ada perbedaan yang jelas. Misalnya, server untuk database terdistribusi continuosly dapat bertindak sebagai klien karena meneruskan permintaan ke server file yang berbeda bertanggung jawab untuk melaksanakan tabel database. dalam kasus seperti itu, server database itu sendiri pada dasarnya tidak tidak lebih dari permintaan proses.

Namun, mengingat bahwa banyak aplikasi client-server yang ditargetkan terhadap mendukung akses pengguna ke database, banyak orang telah menganjurkan perbedaan antara tiga level berikut.
1. tingkat user-interface
2. tingkat pengolahan
3. tingkat data

1.5.3 Client-server arsitektur

Perbedaan menjadi tiga tingkatan logis seperti yang dibahas di bagian sebelumnya, menunjukkan sejumlah kemungkinan untuk fisik mendistribusikan aplikasi client-server di beberapa mesin. organisasi yang paling sederhana adalah dengan hanya memiliki dua jenis mesin:
1. mesin klien yang hanya berisi program pelaksana (bagian dari) tingkat user-interface
2. mesin server yang mengandung sisanya, yaitu program penerapan tingkat pengolahan dan data.
masalah dengan organisasi ini adalah bahwa hal itu tidak benar-benar didistribusikan: semuanya ditangani oleh server, sementara klien pada dasarnya tidak lebih dari sebuah terminal dumb. ada kemungkinan lain, yang kita menjelajahi beberapa yang lebih umum dalam bagian ini.

Multitier arsitektur

satu pendekatan untuk klien mengatur dan server adalah untuk mendistribusikan program-program di lapisan aplikasi bagian sebelumnya di mesin yang berbeda, seperti yang ditunjukkan pada Gambar 1-29. sebagai langkah pertama, kami membuat perbedaan antara hanya dua jenis mesin: klien dan server, yang menyebabkan apa yang juga disebut sebagai arsitektur (fisik) dua tingkat.

1-29. alternatif client-server organisasi (a) - (e)

Satu organisasi yang mungkin adalah untuk memiliki hanya bagian terminal tergantung dari user interface pada mesin klien, seperti yang ditunjukkan dalam gambar 1-29 (a), dan memberikan aplikasi remote control atas presentasion data mereka. alternatif adalah dengan menempatkan perangkat lunak user interface keseluruhan pada sisi client, seperti yang ditunjukkan pada Gambar 1-29 (b). dalam kasus seperti itu, kita pada dasarnya membagi aplikasi ke dalam ujung depan grafis, yang berkomunikasi dengan aplikasi lain (yang berada di server) melalui protokol aplikasi-spesifik. dalam model ini, ujung depan tidak ada pengolahan lain selain yang diperlukan untuk menyajikan antarmuka aplikasi.

Berlanjut sepanjang baris ini penalaran, kita juga dapat memindahkan bagian dari aplikasi ke ujung depan, seperti yang ditunjukkan dalam gambar 1-29 (c). contoh di mana hal ini masuk akal adalah di mana aplikasi yang menggunakan bentuk yang perlu diisi seluruhnya sebelum dapat diproses. ujung depan kemudian dapat memeriksa kebenaran dan konsistensi bentuk, dan bila perlu berinteraksi dengan pengguna. contoh lain dari organisasi Fig.1-29 (c), adalah bahwa dari pengolah kata di mana fungsi pengeditan dasar mengeksekusi pada sisi klien mereka beroperasi secara lokal cache, atau di-memori data, tetapi di mana alat-alat pendukung canggih seperti memeriksa ejaan dan tata bahasa mengeksekusi pada sisi server.

Di environtments client server banyak, organisasi yang ditunjukkan pada Gambar 1-29 (d) dan Gambar 1-29 (e) yang populer tertentu. organisasi ini digunakan dalam kasus di mana komputer klien adalah PC atau workstation, terhubung melalui jaringan ke sistem file terdistribusi atau database. pada dasarnya, sebagian besar aplikasi berjalan pada komputer klien, tetapi semua operasi pada file atau entri database pergi ke server. gambar 1-29 (e) menggambarkan situasi di mana disk lokal klien berisi bagian dari data. Misalnya, ketika browsing web, klien secara bertahap dapat membangun cache besar pada disk lokal kebanyakan halaman web baru-baru ini diperiksa.

Modern arsitektur

Multitier client-server arsitektur merupakan konsekuensi langsung dari aplikasi terbagi menjadi user interface-, komponen pengolahan, dan tingkat data. tingkatan yang berbeda berhubungan langsung dengan organisasi logis dari aplikasi. dalam lingkungan bisnis, pemrosesan terdistribusi setara dengan mengatur aplikasi client-server sebagai arsitektur multitier. kita lihat jenis distribusi sebagai distribusi vertikal. fitur karakteristik dari distribusi vertikal adalah bahwa hal itu dicapai dengan menempatkan komponen logis yang berbeda pada mesin yang berbeda. istilah ini berhubungan dengan konsep fragmentasi vertikal seperti yang digunakan dalam database relasional terdistribusi, di mana itu berarti bahwa tabel dibagi kolom-bijaksana, dan kemudian didistribusikan di beberapa mesin (Ozsu dan Valduriez, 1999).

Namun, distribusi vertikal hanya salah satu cara untuk mengatur aplikasi client-server, dan dalam banyak kasus yang menarik sedikit. dalam arsitektur modern, sering distribusi klien dan server yang penting, yang kita sebut sebagai distribusi horizontal. dalam jenis distribusi, tikar client atau server secara fisik dibagi menjadi bagian-bagian logis setara, tetapi masing-masing bagian ini beroperasi di saham sendiri dari kumpulan data lengkap, sehingga menyeimbangkan beban.
sebagai contoh distribusi horizontal yang populer, mempertimbangkan web server direplikasi di beberapa mesin dalam jaringan area lokal, seperti yang ditunjukkan pada Gambar 1-31. setiap server memiliki set yang sama halaman web, dan setiap kali sebuah halaman web diperbarui, salinan segera ditempatkan di server masing-masing. ketika permintaan datang, itu diteruskan ke server menggunakan kebijakan round-robin. ternyata bahwa bentuk distribusi horizontal bisa sangat efektif untuk situs web yang sangat populer, disediakan bandwidth yang cukup tersedia.

1-31. contoh distribusi horizontal dari layanan web.

Meskipun kurang jelas, klien dapat didistribusikan juga. untuk aplikasi kolaboratif yang sederhana, kita bahkan mungkin punya kasus di mana tidak ada server sama sekali. dalam kasus seperti itu, kita sering berbicara tentang peer-to-peer distribusi. apa yang mungkin terjadi, misalnya, adalah bahwa pengguna mencari kontak dengan pengguna lain, setelah itu baik peluncuran aplikasi yang sama untuk memulai sesi. klien ketiga dapat menghubungi salah satu dari dua, dan kemudian juga meluncurkan perangkat lunak aplikasi yang sama.

Sejumlah organisasi alternatif untuk client-server sistem yang dibahas dalam (Adler, 1995). kita akan menemukan banyak organisasi lainnya untuk sistem terdistribusi maupun di bab berikutnya. kita akan melihat bahwa sistem umumnya didistribusikan baik dalam arti vertikal dan horisontal.









BAB III
PENUTUP
A.   KESIMPULAN

Definisi system terdistribusi memiliki dua aspek. Yang pertama berhubungan dengan hardware: mesin yang autonomos. Yang kedua berkaitan dengan software: pengguna berpikir mereka berhadapan dengan satu sistem. keduanya penting. kita akan kembali ke titik-titik kemudian dalam bab ini setelah pergi selama beberapa materi latar belakang pada kedua perangkat keras dan perangkat lunak.
Sistem terdistribusi juga harus relatif mudah untuk memperluas atau skala ini. karakteristik ini merupakan konsekuensi langsung dari memiliki komputer independen, tapi pada saat yang sama, menyembunyikan bagaimana komputer benar-benar mengambil bagian dalam sistem secara keseluruhan. sebuah sistem terdistribusi biasanya akan terus menerus tersedia, meskipun mungkin bagian-bagian tertentu mungkin sementara keluar dari urutan. pengguna dan aplikasi tidak akan melihat bahwa bagian sedang diganti atau diperbaiki, atau bahwa bagian-bagian baru ditambahkan untuk melayani lebih banyak pengguna atau aplikasi.


B.   SARAN

Sistem Terdistribusi terbentuk jika kumpulan autonomous computers  berhubungan melalui sistem jaringan computer dan dilengkapi dengan system software terdistribusi untuk membentuk fasilitas computer terintegrasi.







DAFTAR PUSTAKA

·         e-book-Tanenbaum-Distributed System-pdf

Tidak ada komentar:

Posting Komentar