Saturday, September 22, 2012

Sistem Terdistribusi (2)

TANTANGAN SISTEM TERDISTRIBUSI ...1

Beberapa tantangan yang masih dihadapi dalam pengembangan sistem terdistribusi, beberapa tantangan yang akan dipaparkan telah terpenuhi/terselesaikan, tetapi para calon perancang saat ini harus memahaminya.


1. Heterogeneity

Internet dapat memudahkan setiap pengguna untuk mengakses berbagai layanan dan menjalankan aplikasi melalui jaringan komputer yang heterogen (berbeda), keragaman tersebut meliputi :

- tipe jaringan
- perangkat keras (hardware)
- Sistem Operasi
- Bahasa Pemerograman
- implementasi oleh developer (pengembang) yang berbeda.

Middleware
Konsep Middleware sejauh ini mengatasi masalah keberagama(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.

Heterogeneity and Mobile Code. 
Istilah mobile code merujuk pada kode yang dapat dikirim ke workstation lain dan dapat berjalan/tereksekusi workstation tujuan, salah satu contohnya adalah java applet. Ketika kelompok instruksi/kode pada komputer bergantung pada jenis perangkat keras yang digunakan , kode mesin (machine code) yang cocok untuk satu jenis perangkat keras komputer dan tidak dapat/kompatible untuk berjalan pada jenis yang lain.sebagai contoh, kode aplikasi yang berjalan pada sistem operasi windows tidak dapat berjalan pada sistem operasi linux dan mac os, atau ketika beberapa waktu yang lalu beberapa VGA card tidak dapat berjalan semaksimal jenis VGA card lain pada sistem operasi linux.

Virtual machine (mesin virtual) menyediakan metode agar kode-kode tersebut dapat dijalankan/eksekusi di setiap perangkat keras komputer. compiler untuk bahasa tertentu menghasilkan kode untuk mesin virtual bukannya kode yang diperuntukkan bagi hardware tertentu. Sebagai contoh compiler java menghasilkan kode untuk Java Virtual Machine (JVM) yang harus diimplementasikan sekali untuk setiap jenis hardware agar program java dapat berjalan di atasnya.

---
Referensi
Distributed System Concept and Design; Coulouris,Dollimore, kindberg
http://www.komputasi.lipi.go.id/utama.cgi?artikel&1145626175&11 (22 sep 2012)

1 comment :