Dalam dunia teknologi informasi, terminologi middleware adalah istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah progaram/aplikasi yang telah ada. Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi.
Adapun fungsi dari middleware adalah:
- Menyediakan lingkungan pemrograman aplikasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi .
- Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi.
- Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.
Tujuan Umum Middleware Telematika
1. 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.
2. Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda
3. 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).
3 A. Lingkungan Komputer
Suatu lingkungan di mana sistem komputer digunakan. Lingkungan komputasi dapat dikelompokkan menjadi empat jenis yaitu :
1. Komputasi tradisional,
2. Komputasi berbasis jaringan,
3. Komputasi embedded,
4. Komputasi grid.
Pada awalnya komputasi tradisional hanya meliputi penggunaan komputer meja (desktop) untuk pemakaian pribadi di kantor atau di rumah. Namun, seiring dengan perkembangan teknologi maka komputasi tradisional sekarang sudah meliputi penggunaan teknologi jaringan yang diterapkan mulai dari desktop hingga sistem genggam. Perubahan yang begitu drastis ini membuat batas antara komputasi tradisional dan komputasi berbasis jaringan sudah tidak jelas lagi.
Lingkungan komputasi itu sendiri bisa diklasifikasikan berdasarkan cara data dan instruksi programnya dihubungkan yang terdiri atas empat kategori berikut ini :
1. Single instruction stream-single data stream (SISD) : Satu prosesor dan biasa juga disebut komputer sekuensial.
2. Single instruction stream-multiple data stream (SIMD) : Setiap prosesor memiliki memori lokal dan duplikasi program yang sama sehingga masing-masing prosesor akan mengeksekusi instruksi/program yang sama.
3. Multiple instruction stream-single data stream (MISD) : Data yang ada di common memory akan dimanipulasi secara bersamaan oleh semua prosesor.
4. Multiple instruction stream-multiple data stream (MIMD) : Setiap prosesor memiliki kontrol unit, memori lokal serta memori bersama (shared memory) yang mendukung proses paralelisasi dari sisi data dan instruksi.
3 B. Kebutuhan 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. Middleware dapat juga berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses.
Middleware tersedia untuk berbagai platform, dengan berbagai jenis. Jenis middleware yang umum dikembangkan saat ini dapat dikelompokkan dalam lima kategori besar, salah satunya adalah homegrown, yang dikembangkan khusus untuk kebutuhan internal organisasi, model RPC/ORB (Remote Procedure Call/Object Request Broker), Pub/Sub (Publication/Subscription), Message Queuing, dan TP (Transaction Processing) Monitor.
Di Linux, banyak perusahaan besar seperti IBM, BEA, dan Schlumberger yang sedang dan sudah mengerjakan berbagai sistem middleware. Salah satu produk middleware IBM untuk platform Linux adalah BlueDrekar™. BlueDrekar™ adalah middleware berbasis spesifikasi Bluetooth™ untuk koneksi peralatan wireless di lingkungan rumah dan kantor. Produk middleware ini menyediakan protocol stack dan berbagai API (Application Programming Interfaces) yang dibutuhkan aplikasi berbasis jaringan. Diharapkan adanya BlueDrekar™ di Linux ini akan mempercepat pertumbuhan aplikasi dan peralatan berbasis Bluetooth™. Contoh lain, BEA Tuxedo™ dari BEA System, sebuah middleware transaction processing monitor yang juga mendukung model ORB, tersedia untuk berbagai platform, termasuk RedHat Linux. BEA Tuxedo memungkinkan kombinasi pengembangan aplikasi dengan model CORBA dan ATMI (Application-to-Transaction Monitor Interface). Sebuah aplikasi yang dibuat untuk Tuxedo dapat berjalan pada platform apapun yang ditunjang oleh BEA tanpa perlu modifikasi dalam kode aplikasinya.
Dalam bidang kartu magnetis (smart cards), Schlumberger adalah salah satu pengembang dan produsen CAC (Common Access Card) dan middleware CAC-nya. Produk middleware ini yang diberi nama CACTUS (Common Access Card Trusted User Suite), dapat berjalan di atas Linux. memberi kemampuan koneksi pada level aplikasi ke kartu magnetis dan fungsi-fungsi kriptografis.
ShaoLin Aptus adalah sebuah middleware untuk Linux, yang mengubah jaringan PC menjadi sebuah arsitektur jaringan komputer yang bersifat 'fit client'. Produk yang memenangkan 'IT Excellence Awards 2002' di Hong Kong ini, mengembangkan konsep ' t h i n c l i e nt' dengan memperbolehkan komputasi berbasis client. Shaolin Aptus membuat banyak klien dapat menggunakan sistem operasi dan aplikasi yang tersimpan di server melalui LAN secara transparan.
Saat ini, hampir seluruh aplikasi terdistribusi dibangun dengan menggunakan middleware. Masih menurut IDC, perkembangan segmen middleware terbesar akan terjadi dalam alat yang membantu sistem manajemen bisnis. Hal ini terjadi untuk memenuhi permintaan akan integrasi aplikasi yang lebih baik. Linux, didukung oleh bermacam produk middleware, memberikan pilihan sistem operasi dan middleware yang stabil, dengan harga yang bersaing.
3 C. Contoh Middleware
1. Java’s : Remote Procedure Call.
Remote Procedure Calls (RPC) memungkinkan suatu bagian logika aplikasi untuk didistribusikan pada jaringan. Contoh :
- SUN RPC, diawali dengan network file system (SUN NFS).
- DCE RPC, sebagai dasar Microsoft’s COM.
Object Request Brokers (ORBs) memungkinkan objek untuk didistribusikan dan dishare pada jaringan yang heterogen. Pengembangan dari model prosedural RPC, –Sistem objek terdistribusi, seperti CORBA, DCOM, EJB, dan .NET memungkinkan proses untuk dijalankan pada sembarang jaringan.
2.Object Management Group’s : Common, dan Object Request Broker Architecture (COBRA).
Ilustrasi generasi otomatis dari kode infrastruktur dari sebuah antarmuka yang didefinisikan menggunakan CORBA
3. Microsoft COM/DCOM (Component Object Model).
4. .NET Remoting.
Berikut ini merupakan contoh-contoh perangkat lunak dari middleware :
- ODBC (Open Database Connectivity) adalah suatu middleware berbasis Windows yang digunakan untuk berinteraksi dengan berbagai database.
- JDBC (Java Database Connectivity) memungkinkan applet mengakses database biasa digunakan pada Pemrograman dengan bahasa java.
- J2EE Application Server suatu middleware berbasis open source yg digunakan untuk mengakses database server pada sebuah website yang menggunakan bahasa java.
- Oracle Application Server sebuah software middleware yang digunakan untuk mengakses dan mengolah suatu database yang dibangun menggunakan Software Oracle.