Message-oriented Middleware (MOM) adalah perangkat lunak atau perangkat keras infrastruktur pendukung mengirim dan menerima pesan antara sistem terdistribusi. IBU memungkinkan modul aplikasi untuk didistribusikan ke platform heterogen dan mengurangi kompleksitas pengembangan aplikasi yang span beberapa sistem operasi dan protokol jaringan. Middleware menciptakan lapisan komunikasi terdistribusi yang insulates pengembang aplikasi dari rincian dari berbagai sistem operasi dan antarmuka jaringan. API yang memperpanjang di beragam platform dan jaringan yang biasanya disediakan oleh MOM. Message-oriented Middleware (MOM) menyediakan unsur-unsur perangkat lunak yang berada di semua komponen berkomunikasi dari arsitektur client / server dan biasanya mendukung panggilan asynchronous antara klien dan server aplikasi. MOM mengurangi keterlibatan pengembang aplikasi dengan kompleksitas sifat master-slave dari mekanisme client / server.
A. Pengertian Middleware
Middleware adalah software penghubung yang berisi sekumpulan layanan yangmemungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan. Middleware sangat dibutuhkan untuk bermigrasi dariaplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasiantar platform yang berbeda. Dalam dunia teknologi informasi, terminologi middlewaremerupakan istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah program/aplikasi yang telah ada. Perangkat lunak middleware merupakan perangkatlunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada disistem operasi
B. Fungsi Middleware Fungsi-fungsi dari middleware adalah sebagai berikut : Menyediakan lingkungan pemrograman aplilasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi. Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistem operasi. Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, sepertidalam hal: networking, security, database, user interface, dan system administration.
C. Perkembangan Middleware Perkembangan middleware dari waktu ke waktu dapat dikatagorikan sebagai berikut: 1. On Line Transaction Processing (OLTP)Merupakan perkembangan awal dari koneksi antar remote database. Pertamakali ditemukan tahun 1969 oleh seorang engineer di Ford, kemudian diadopsi olehIBM hingga kini dikenal sebagai proses OLTP. 2. Remote Procedure Call (RPC)Menyediakan fasilitas jaringan secara transparan. Open Network Computing(ONC) merupakan prototipe pertama yang diperkenalkan awal tahun 70-an. Sununggul dalam hal ini dengan mengeluarkan suatu standar untuk koneksi ke internet.Distributed Computing Environment (DCE) yang dikeluarkan oleh Open Systems Foundation (OSF) menyediakan fungsi-fungsi ONC yang cukup kompleks dan tidak mudah untuk sistem administrasinya.
1. Konsep middleware Dengan pesatnya perkembangan teknologi komputer, berbagai perangkat lunak aplikasi harus transplantasi berbagai platform, atau platform yang dibutuhkan untuk mendukung beberapa aplikasi dan manajemen dari beberapa sistem aplikasi, perangkat lunak dan platform perangkat keras dan sistem aplikasiharus handal dan efisien transfer data atau konversi, sistem ini mampu menjamin interoperabilitas. Semua ini memerlukan perangkat lunak dan dibangun pada platform perangkat keras, sementara juga menyediakan dukungan terhadap aplikasi atas sistem perangkat lunak, dan middleware di lingkungan ini. Sebagai teknologi middleware adalah dalam proses berkembang, sehingga saat ini tidak dapat didefinisikan secara tegas. definisi Populer adalah: Middleware adalah perangkat lunak sistem yang terpisah atau program layanan, mendistribusikan perangkat lunak aplikasi menggunakan software ini dalam suatu sumber daya bersama antara teknologi yang berbeda.Middleware di klien / sistem operasi server, pengelolaan sumber daya komputasi dan komunikasi jaringan. Seperti dapat dilihat dari definisi middleware, middleware adalah perangkat lunak kelas, bukan software, middleware tidak hanya saling berhubungan, tetapi juga untuk mencapai interoperabilitas antara aplikasi, middleware didasarkan pada pemrosesan perangkat lunak didistribusikanpenekanan khusus pada definisi komunikasi jaringan.
2. Fitur dan manfaat dari middleware Dalam arti biasa, middleware harus memiliki fitur berikut: sejumlah besar aplikasi untuk memenuhi kebutuhan; dijalankan pada hardware berganda dan platform OS; dukungan komputasi terdistribusi, untuk menyediakan antar-jaringan, perangkat keras dan platform OS, aplikasi atau layanan interaksi transparanfungsi; mendukung protokol standar; mendukung antarmuka standar. Programmer untuk menyediakan sejumlah besar dengan memanggil middleware API, lingkungan heterogen, komunikasi, dan dengan demikian terlindung sistem operasi yang kompleks dan protokol jaringan heterogen. Klien dan middleware server untuk menyediakan konektivitas antara layanan yang memiliki antarmuka standar dan prosedur protokol.Untuk sistem operasi yang berbeda dan platform perangkat keras, mereka dapat memenuhi berbagai antarmuka dan spesifikasi protokol untuk mencapai. Sebagai antarmuka standar untuk portabilitas dan protokol standar untuk pentingnya interoperabilitas, middleware telah menjadi bagian utama dari banyak pekerjaan standardisasi.Untuk pengembangan aplikasi, middleware, sistem operasi dan layanan jaringan jauh lebih penting untuk memberikan middleware program antarmuka mendefinisikan sebuah lingkungan yang relatif stabil aplikasi tingkat tinggi, terlepas dari perangkat keras komputer dan perangkat lunak yang mendasari sistem bagaimana untuk menggantikan yang lama, selama middlewareupdate, dan memelihara middleware yang sama dan definisi antarmuka eksternal, aplikasi, hampir tanpa modifikasi, sehingga melindungi pengembangan perangkat lunak aplikasi enterprise dan pemeliharaan investasi besar. Middleware adalah perangkat lunak sistem yang berdiri sendiri atau program layanan, aplikasi terdistribusi menggunakan perangkat lunak ini untuk berbagi sumber daya antar teknologi yang berbeda.Middleware mengelola database atau program klien dan komunikasi awal antara aplikasi. Middleware antara klien didistribusikan dan jasa memainkan peranan penghubung, seperti manajemen transaksi, load balancing, dan komputasi berbasis Web. Penggunaan teknologi ini membantu mengurangi beban pengembang aplikasi sehingga mereka menggunakan hardware yang telah ada, sistem operasi, jaringan, sistem manajemen database, dan model obyek untuk membuat perangkat lunak aplikasi mendistribusikan lebih berguna.Sebagai middleware untuk melindungi perusahaan- perusahaan investasi untuk menjamin stabilitas relatif dari aplikasi perangkat lunak, ekstensi aplikasi untuk mencapai; sementara middleware sangat menyederhanakan struktur hardware dari kompleksitas lingkungan multi-pengolahan terdistribusi, itumenyebabkan munculnya semakin perhatian pengguna.
konsultasi Dunia terkenal Laporan penelitian Standish Group diringkas dalam sepuluh middleware keuntungan: a. Pengembangan Aplikasi: Analisis Kelompok Standish dari 100 aplikasi penting dalam logika bisnis, aplikasi logika program dan proporsi prosedur dasar; proses bisnis prosedur logika dan logis hanya 30% dari total kapasitas program, sedangkanmeliputi 70% dari prosedur dasar, penggunaan middleware tradisional dapat menyimpan 25% ~ 60% dari biaya pengembangan aplikasi.Jika generasi baru produk middleware adalah campuran aplikasi, sementara sesuai dengan komponen bisnis objek reusable, penghematan biaya pengembangan aplikasi hingga 80%. b. Sistem Operasi: tidak menggunakan aplikasi middleware, investasi awal dalam modal dan biaya operasi dari penggunaan ukuran yang sama, dua kali lipat dari aplikasi middleware. c. siklus pengembangan: pengembangan perangkat lunak dasar adalah suatu pekerjaan yang memakan waktu, penggunaan middleware komersial standar dapat memperpendek siklus pengembangan dari 50% sampai 75%. d. untuk mengurangi risiko proyek pembangunan: studi menunjukkan bahwa tidak ada kunci untuk menggunakan pengembangan aplikasi middleware standar tingkat kegagalan proyek komersial lebih tinggi dari 90%.Dasar pembangunan mereka sendiri built-perusahaan (middleware) software bernilai menunggu, total pengeluaran minimal dua kali, atau bahkan 10 kali. e. penggunaan yang wajar dari dana: Dengan middleware komersial standar, perusahaan dapat dengan mudah berada di atas sistem yang ada atau warisan atau menambahkan fitur baru di luar modul, dan menetapkan mereka mulus dengan sistem yang ada.Mengandalkan standar middleware, sistem dapat menyamar sebagai fashion lama Internet / aplikasi Intranet. f. mengatur aplikasi: untuk bergantung pada middleware standar dapat aplikasi yang ada, aplikasi baru dan pembelian bisnis yang diterapkan bersama-sama koleksi komponen. g. pemeliharaan sistem: kebutuhan untuk menyebutkan bahwa dasar (middleware) perangkat lunak untuk pengembangan diri adalah harga yang harus dibayar, di samping itu, pemeliharaan tahunan berdasarkan pengembangan diri (middleware) belanja software akan membutuhkan pembangunan asli biaya15% ~ 25%, aplikasi setiap tahun biaya perawatan juga perlu biaya proyek total% asli 10 sampai 20%.Dalam keadaan normal, pembelian standar produk middleware komersial setahun untuk membayar harga sebesar 15% sampai 20% dari biaya perawatan, tentu saja, produk middleware tertentu berdasarkan harga, kuantitas dan yang produk untuk membeli, perusahaan mungkin. h. Kualitas: Berdasarkan basis perusahaan sendiri dibangun (middleware) platform aplikasi perangkat lunak, penambahan setiap modul baru, kita harus Sejalan dengan dasar (middleware) perangkat lunak untuk mengubah berakhir.Middleware interface standar yang jelas dan standar persyaratan.Standar modul aplikasi middleware standar secara efektif dapat memastikan kualitas dan mengurangi biaya sistem pemeliharaan lama. i. Teknis inovasi: perusahaan yang dibangun atas dasar diri (middleware) software platform untuk inovasi sering sangat sulit dicapai (tidak sebenarnya).Pembelian standar middleware komersial, pengembangan dan perubahan teknologi dapat yakin bahwa vendor middleware akan berkewajiban untuk mengambil arah teknis dan inovasi teknis.
Manfaat dari middleware itu sendiri yaitu memungkinkan aplikasi : a. Transparansi di seluruh jaringan sehingga menyediakan interaksi dengan layanan atau aplikasi lain b. Independen dari layanan jaringan c. Handal dan selalu tersedia Middleware menawarkan beberapa keunggulan untuk bisnis dan industri. Dalam bisnis sering digunakan untuk menghubungkan informasi dari departemen database seperti penggajian, penjualan, dan akuntansi. E-Commerce juga menggunakan middleware ini untuk membantu dalam menangani transaksi cepat dan aman di berbagai jenis lingkungan komputer. Singkatnya, middleware telah menjadi elemen penting di berbagai industri, berkat kemampuannya untuk menyatukan sumber daya yang berbeda di seluruh jaringan atau platform komputasi.
Jenis Middleware Hurwitz mengatur sistem klasifikasi berbagai jenis middleware yang tersedia saat ini. Klasifikasi ini didasarkan pada skalabilitas dan recoverability : a. Remote Procedure Call Klien membuat panggilan dengan prosedur yang berjalan pada sistem remote. Dapat asinkron atau sinkron. b. Message Oriented Middleware. Pesan yang dikirim ke client dikumpulkan dan disimpan sampai ditindaklanjuti, sementara client terus dengan pengolahan lain. c. Object Request Broker jenis ini memungkinkan aplikasi untuk mengirim permintaan dalam suatu sistem berorientasi objek d. SQL-oriented Data Access Middleware antara aplikasi dan database server e. Embedded Middleware Layanan komunikasi dan integrasi antarmuka software / firmware yang beroperasi antara aplikasi dan real time operating system.
Karena bisnis, lembaga, dan teknologi berkembang terus menerus, sistem perangkat lunak yang melayani mereka harus mampu mengakomodasi perubahan tersebut. Setelah merger, penambahan layanan, atau perluasan layanan yang tersedia, bisnis sakit mampu untuk menciptakan sistem informasinya. Hal ini pada titik ini yang paling penting yang perlu untuk mengintegrasikan komponen baru atau untuk skala yang sudah ada seefisien mungkin. Cara termudah untuk mengintegrasikan komponen yang heterogen bukan untuk menciptakan mereka sebagai elemen homogen tetapi untuk memberikan lapisan yang memungkinkan mereka untuk berkomunikasi meskipun perbedaan mereka. Lapisan ini, yang disebut middleware, memungkinkan komponen perangkat lunak (aplikasi, enterprise java beans, servlet, dan komponen lainnya) yang telah dikembangkan secara independen dan lari yang pada platform jaringan yang berbeda untuk berinteraksi dengan satu sama lain. Ini adalah ketika interaksi ini adalah mungkin bahwa jaringan bisa menjadi komputer Seperti ditunjukkan dalam Gambar dibawah ini, konseptual, middleware berada antara lapisan aplikasi dan lapisan Platform (sistem operasi dan layanan jaringan yang mendasari).
Aplikasi terdistribusi pada node jaringan yang berbeda menggunakan antarmuka aplikasi untuk berkomunikasi tanpa harus khawatir dengan rincian lingkungan operasi yang aplikasi host lain atau dengan layanan yang menghubungkan mereka ke aplikasi ini. Selain itu, dengan menyediakan antarmuka administratif, baru ini, sistem virtual aplikasi yang saling berhubungan dapat dibuat handal dan aman. Kinerjanya dapat diukur dan disetel, dan dapat ditingkatkan tanpa kehilangan fungsi. Middleware dapat dikelompokkan ke dalam kategori berikut: 1. Remote Procedure Call atau berbasis RPC middleware, yang memungkinkan prosedur dalam satu aplikasi untuk memanggil prosedur dalam aplikasi remote seolah-olah mereka adalah panggilan lokal. Middleware menerapkan mekanisme menghubungkan yang menempatkan prosedur terpencil dan membuat ini tersedia secara transparan ke pemanggil. Secara tradisional, jenis middleware ditangani program berbasis prosedur, sekarang juga mencakup komponen berbasis obyek. 2. Obyek Permintaan Broker atau ORB berbasis middleware, yang memungkinkan objek aplikasi untuk didistribusikan dan dishare pada jaringan yang heterogen. 3. Pesan Berorientasi Middleware atau middleware berbasis MOM, yang memungkinkan aplikasi terdistribusi untuk berkomunikasi dan bertukar data dengan mengirim dan menerima pesan. Semua model ini memungkinkan satu komponen perangkat lunak untuk mempengaruhi perilaku komponen lain melalui jaringan. Mereka berbeda dalam RPC-ORB dan middleware berbasis menciptakan sistem komponen erat-coupled, sedangkan sistem berbasis MOM memungkinkan untuk kopling longgar komponen. Dalam sebuah RPC-atau ORB berbasis sistem, ketika salah satu prosedur panggilan lain, harus menunggu untuk disebut prosedur untuk kembali sebelum dapat melakukan hal lain. Dalam model ini pesan sinkron, middleware berfungsi sebagian sebagai super-linker, lokasi yang disebut prosedur pada jaringan dan menggunakan layanan jaringan untuk lulus fungsi atau metode parameter untuk prosedur dan kemudian kembali hasil. Sistem berbasis MOM memungkinkan komunikasi terjadi melalui pertukaran asynchronous pesan, seperti yang ditunjukkan pada berikut.
Pesan Berorientasi Middleware memanfaatkan penyedia pesan untuk menengahi operasi messaging . Unsur-unsur dasar dari sistem MOM adalah klien , pesan , dan penyedia MOM , yang mencakup alat API dan administrasi. Penyedia MOM menggunakan arsitektur yang berbeda untuk rute dan menyampaikan pesan : dapat menggunakan server pesan terpusat atau dapat mendistribusikan routing dan fungsi pengiriman ke setiap mesin klien . Beberapa produk MOM menggabungkan dua pendekatan ini . Menggunakan sistem MOM , klien membuat panggilan API untuk mengirim pesan ke tujuan yang dikelola oleh penyedia. Panggilan memanggil penyedia layanan untuk rute dan menyampaikan pesan . Setelah itu telah mengirim pesan , klien dapat terus melakukan pekerjaan lain, yakin bahwa penyedia mempertahankan pesan sampai klien menerima mengambil itu . Model berbasis pesan , ditambah dengan perantaraan provider, memungkinkan untuk menciptakan sebuah sistem komponen longgar - digabungkan. Sistem seperti ini dapat berlanjut Satu keunggulan lain dari memiliki penyedia pesan memediasi pesan antara klien adalah bahwa dengan menambahkan antarmuka administratif, Anda dapat memantau dan menyempurnakan kinerja . Aplikasi klien sehingga secara efektif dibebaskan dari setiap masalah kecuali bahwa pengiriman, penerimaan, dan pengolahan pesan . Terserah kode yang mengimplementasikan sistem MOM dan sampai administrator untuk menyelesaikan masalah seperti interoperabilitas , kehandalan, keamanan, skalabilitas, dan kinerja. Sejauh ini kami telah menjelaskan keuntungan dari menghubungkan komponen terdistribusi menggunakan middleware berorientasi pesan. Ada juga kelemahan : salah satunya hasil dari kopling longgar sendiri. Dengan sistem pesan sinkron, pemanggilan fungsi tidak kembali sampai disebut fungsi selesai tugasnya. Dalam sistem asynchronous, klien dapat terus menelepon untuk memuat pekerjaan pada penerima sampai sumber daya yang dibutuhkan untuk menangani pekerjaan ini habis dan disebut komponen gagal. Tentu saja, kondisi ini dapat diminimalisir atau dihindari dengan memantau kinerja dan menyesuaikan aliran pesan, tapi ini adalah pekerjaan yang tidak diperlukan dengan sistem pesan sinkron. Yang penting adalah untuk memahami kelebihan dan kewajiban masing-masing jenis sistem. Setiap sistem yang sesuai untuk berbagai jenis tugas. Kadang-kadang, Anda akan perlu untuk menggabungkan dua jenis sistem untuk memperoleh perilaku yang tepat yang Anda butuhkan. Gambar 1-1 menunjukkan cara sistem MOM dapat memungkinkan komunikasi antara dua sistem pesan sinkron ( misalnya, dua sistem berbasis RPC ) . Sisi kiri angka menunjukkan sebuah aplikasi yang mendistribusikan client, server , dan komponen menyimpan data pada node jaringan yang berbeda untuk meningkatkan kinerja . Ini adalah diskon maskapai penerbangan sistem reservasi : pengguna akhir membayar biaya untuk menggunakan layanan ini , yang memungkinkan untuk menemukan tarif terendah yang tersedia untuk tujuan tertentu dan waktu . Menyimpan data menyimpan informasi tentang pengguna terdaftar dan sekitar penerbangan yang berpartisipasi dalam program ini . Berdasarkan pengguna permintaan , logika pada server queries penerbangan yang berpartisipasi untuk harga , jenis melalui informasi , dan menyajikan tiga penawaran terendah kepada pengguna . Sisi kanan gambar menunjukkan sistem berbasis RPC yang merupakan tiket / sistem reservasi untuk salah satu perusahaan penerbangan yang berpartisipasi . Sisi kanan gambar akan direplikasi untuk sebanyak penerbangan sebagai penekan tersambung ke . Untuk setiap maskapai tersebut, menyimpan data akan menyimpan informasi tentang penerbangan yang tersedia (tempat duduk , jadwal penerbangan , dan harga ) . Komponen server akan memperbarui informasi bahwa dalam menanggapi masukan data dengan pengguna akhir. Server maskapai juga berlangganan ke layanan MOM, menerima permintaan informasi dari sistem reservasi diskonto dan kembali duduk dan informasi harga. Jika pelanggan memutuskan untuk membeli tiket diskon pada penerbangan PanWorld, komponen server untuk sistem yang akan memperbarui informasi dalam menyimpan data dan kemudian menghasilkan tiket untuk pemohon atau mengirim pesan ke layanan diskon untuk menghasilkan tiket. Gambar 1-1 Menggabungkan RPC dan Sistem MOM
Contoh ini menggambarkan beberapa perbedaan antara RPC dan sistem MOM . Perbedaan dalam cara di mana komponen terdistribusi yang digabungkan telah disebutkan . Perbedaan lain adalah bahwa sementara sistem RPC sering digunakan untuk mendistribusikan dan menghubungkan komponen klien dan server di mana komponen klien secara langsung diakses oleh pengguna akhir , dengan sistem MOM , komponen klien sering sistem perangkat lunak heterogen yang hanya bisa beroperasi dengan cara pesan asynchronous . Masalah yang lebih serius dengan sistem MOM muncul dari fakta bahwa MOM diimplementasikan sebagai produk proprietary . Apa yang terjadi ketika perusahaan Anda , yang tergantung pada supermom - X mengakuisisi perusahaan yang menggunakan supermom - Y ? Untuk mengatasi masalah ini , antarmuka pesan standar yang dibutuhkan . Jika kedua supermom - X dan supermom - Y dilaksanakan antarmuka ini, maka aplikasi yang dikembangkan untuk berjalan pada satu sistem juga bisa berjalan di sisi lain . Seperti sebuah antarmuka harus sederhana untuk belajar tetapi memberikan fitur yang cukup untuk mendukung aplikasi pesan canggih . The Java Message ( JMS ) spesifikasi Service, diperkenalkan pada tahun 1998 , bertujuan untuk melakukan hal itu . Bagian selanjutnya menjelaskan fitur dasar JMS dan menjelaskan bagaimana standar ini dikembangkan untuk merangkul elemen umum yang ada produk MOM proprietary serta memungkinkan perbedaan dan pertumbuhan lebih lanjut. FUSE Pesan Broker - open source, middleware berorientasi pesan FUSE Pesan Broker adalah perangkat lunak SOA berbasis pada Apache ActiveMQ middleware berorientasi pesan. Menawarkan platform JMS, FUSE Pesan Broker menyediakan kehandalan mission-critical, skalabilitas terbatas, dan kinerja tinggi untuk didistribusikan komputasi perusahaan. FUSE Pesan Broker diuji, bersertifikat dan didukung sepenuhnya oleh Iona. Ini middleware open source menawarkan platform messaging yang benar-benar hemat biaya dan fleksibel untuk efisien operasi scaling, andal mengeksekusi data, dan memindahkan data dan menghubungkan proses di database heterogen dan lingkungan aplikasi. FUSE Pesan Broker middleware berorientasi pesan menyediakan organisasi dengan 1. Pengiriman data kinerja tinggi . FUSE Pesan Broker dapat membawa volume sangat besar informasi kepada sejumlah besar sistem terdistribusi secara global dalam waktu sesingkat mungkin . 2. Konektivitas yang handal untuk klien terpencil. Solusi ini berorientasi pesan memungkinkan organisasi untuk mencapai sistem warisan , perangkat nirkabel , terminal point- of-sale , atau klien browser berbasis jaringan swasta , jaringan nirkabel , dan / atau Internet . 3. Otomatisasi Efisien fungsi sistem . FUSE Pesan Broker menyederhanakan otomatisasi proses yang biasanya membutuhkan intervensi pengguna akhir , atau proses yang akan menempatkan beban tambahan pada aplikasi bisnis. 4. Hindari vendor lock- in . FUSE Pesan Broker merupakan open source , sehingga pengguna tidak perlu menunggu ( atau membayar ) vendor untuk mengembangkan perangkat tambahan . 5. Perlindungan terhadap kegagalan transaksi . Terlepas dari mengapa atau berapa lama sistem tidak tersedia , ini FuseSource middleware melindungi transaksi dari ditinggalkan dan data tidak hilang .