I.1 Middleware
Dalam konteks komputasi terdistribusi, definisi middleware adalah software layer yang berada antar sistem
operasi dan aplikasi di setiap sistem.
Karena dipicu oleh semakin berkembangnya aplikasi
berbasis jaringan, teknologi middleware menjadi semakin penting. Teknologi ini
menjangkau domain yang sangat luas, meliputi distributed objects and components, message-oriented communication, dan mobile application support.
Perusahaan dan organisasi
mulai membangun system informasi berskala besar dengan menggabungkan
aplikasi-aplikasi independen yang sudah ada, dan digabungkan dengan pengembangan aplikasi baru. Proses integrasi
berkaitan dengan aplikasi warisan dari sistem lama. Aplikasi warisan hanya dapat
digunakan melalui antarmuka yang spesifik, dan tidak dapat dimodifikasi. Pada
banyak kasus, besarnya biaya tulis ulang aplikasi warisan adalah penghalang
utama.
Jumlah sistem yang semakin
bertambah terdiri atas sejumlah peralatan yang terhubung oleh jaringan, dan
masing-masing peralatan memberikan fungsi yang melibatkan baik interaksi lokal
dengan dunia nyata dan interaksi secara remote
dengan peralatan lain pada sistem. Hal ini meliputi jaringan komputer, sistem
telekomunikasi, unit uninterruptible
power supply dan unit manufaktur terdesentralisasi.
User berinteraksi dengan aplikasi internet
melalui berbagai macam peralatan dengan karakteristik dan kemampuannya beragam.
Antara PC, smartphone dan PDA, bandwidth yang bervariasi, kemampuan pemrosesan
lokal, kapasitas layar, kemampuan menampilkan gambar berwarna sangat
beragam.
I.2 Fungsi Middleware
Pada contoh kasus diatas, aplikasi menggunakan
software perantara (intermediate software ) yang berada diatas sistem operasi
dan protokol komunikasi untuk melakukan fungsi fungsi berikut ini :
·
Menyembunyikan distribusi, seperti pada
kenyataanya aplikasi terdiri dari banyak bagian yang berjalan pada lokasi yang
terdistribusi.
·
Menyembunyikan heteroginitas berbagai macam
komponen hardware dan sistem operasi serta protokol komunikasi.
·
Memberikan antarmuka yang uniform, standar dan
berlevel tinggi pada developer aplikasi dan integrator sehingga aplikasi mudah
disusun, digunakan kembali, dipindahkan dan dan dioperasikan.
·
Memberikan seperangkat layanan standar untuk
melakukan berbagai fungsi yang umum, untuk menghindari duplikasi kerja dan
memfasilitasi kolaborasi antar aplikasi
Layer software intermediate ini terkenal dengan
nama yang umum yaitu middleware.
Peranan middleware adalah mempermudah pembuatan
aplikasi, dengan menyediakan abstraksi pemrograman yang umum, dengan membungkus
keberagaman dan distribusi pada hardware
dan sistem operasi dan dengan cara menyembunyikan detail pemrograman low-level.
I.3 Desain Middleware
Membuat software menjadi sebuah komoditas dengan
membangun sebuah industri dari komponen yang reusable adalah menjadi tujuan pada awal ilmu
rekayasa perangkat lunak. Sementara itu, kemajuan penting telah dicapai, hal
ini tetap menjadi tantangan
jangka panjang.
Fungsi middleware adalah untuk menjadi mediasi
interaksi antara komponen aplikasi, atau antara aplikasi. Karena itu isu
arsitektural menjadi peran utama dalam mendesain middleware. Arsitektur
berhubungan dengan organisasi, struktur keseluruhan, dan pola komunikasi untuk
aplikasi maupun middleware itu sendiri.
Disamping aspek arsitektur, masalah utama desain
middleware berkaitan dengan berbagai macam aspek sistem terdistribusi. Setiap
sistem middleware bergantung pada layer
komunikasi yang memungkinkan berbagai bagian sistem beroperasi bersama. Sebagai
tambahan, fungsi komunikasi disediakan oleh middleware untuk aplikasi, dan entitas komunikasi dapat memberikan peran
yang berbeda seperti client-server
atau peer-to-peer. Middleware
memberikan model interaksi yang berbeda (synchronous
invocations, asynchronous message
passing, koordinasi antara objek yang dibagi-pakai) yang tergabung dalam
pola yang berbeda.
I.4 Contoh Middleware
Contoh aplikasi middleware antara lain:
- Ice—A Modern Alternative to CORBA
- ObjectWeb - Open-Source Middleware
- JBoss - Professional Open-Source Java Middleware
- PrismTech OpenFusion CORBA Middleware
- IBM Websphere MQ
- Microsoft BizTalk Server
- Oracle Fusion Middleware
- RoboSuite by Kapow Technologies
- Coridan - an Open-Source solution
- Middleware Xbox Website
- Clinical Laboratory Middleware - Instrument Manager
- SkyBoard - Distributed Data Management Platform
- NDDS - Real-Time Publish Subscribe using the Network Data Distribution Service
I.5 Tantangan Middleware
Desainer middleware di masa yang akan datang akan
menghadapi beberapa tantangan:
·
Sistem middleware
mengandalkan mekanisme intersepsi dan indireksi yang menyebabkan pengurangan
performa. Middleware beradaptasi dengan cara memperkenalkan indireksi tambahan
yang membuat situasi menjadi semakin buruk.
·
Aplikasi menjadi semakin terhubung dan saling
bergantung, jumlah objek, user dan peralatan cenderung bertambah. Hal ini
menambah permsalahan skalabilitas komunikasi dan algoritma manajemen objek dan
menambahkan kompleksitas administrasi
·
Ubiquitous
computing adalah visi masa depan yang menambah jumlah peralatan yang ditambahkan
pada berbagai macam objek fisik yang ikutserta dalam komunikasi global.
Mobilitas dan konfigurasi ulang yang dinamis akan menjadi feature dominan,
membutuhkan adaptasi permanen aplikasi.
·
Mengelola aplikasi besar yang heterogen,
terdistribusi luas, dan evaluasi permanen menimbulkan banyak pertanyaan seperti
observasi konsisten, keamanan, merupakan begaining antara otonomi dan
interdependensi untuk subystem berbeda., definisi dan implementasi kebijakan
resource.
No comments:
Post a Comment
silahkan membaca dan berkomentar