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.
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:
- Menemukan tempat melewati jaringan secara transparan sehingga dapat menyediakan interaksi dengan service atau aplikasi lainnya.
- Mandiri dari service jaringan.
- 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.
3. 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.
Manajemen Data Telematika
1. Manajemen Data Sisi Klien
Manajemen Data yang terjadi pada sisi klien dapat kita pahami pada DBMS dibawah ini.
- Mobile DBMS (Embedded/Ultra tiny/Java Database)
Merupakan suatu DBMS yang terdapat pada peralatan bergerak (mobile device). mobile DBMS adalah versi khusus dari sebuah departemen atau perusahaan DBMS. Ini dirancang untuk digunakan dengan remote pengguna yang biasanya tidak terhubung ke jaringan. DBMS memungkinkan mobile akses database lokal dan modifikasi pada laptop atau perangkat genggam, seperti PDA atau PocketPC Palm. Selanjutnya, mobile DBMS menyediakan mekanisme untuk sinkronisasi perubahan basis data jauh terpusat, perusahaan atau departemen server database.
2. Manajemen Data Sisi Server
Manajemen Data yang terjadi pada sisi server dapat kita pahami pada versi DBMS dibawah ini.
- MODBMS (Moving Object DBMS)
MODBMS (Memindahkan Obyek DBMS) adalah sebuah DBMS yang menyimpan dan mengelola informasi lokasi serta dinamis lainnya informasi tentang obyek bergerak. MODBMS memungkinkan seseorang untuk mewakili benda-benda bergerak dalam database dan untuk menanyakan pertanyaan tentang gerakan tersebut. Daerah MODBMS merupakan bidang yang belum dijelajahi relatif terhadap RDBMS atau DBMS Spasial di mana beberapa karya yang telah dilakukan dalam standarisasi dan komersialisasi. Ada beberapa penelitian prototipe untuk MODBMS seperti DOMINO tetapi hanya sedikit produk MODBMS komersial. Memindahkan objek dapat diklasifikasikan ke dalam bergerak poin dan bergerak daerah. Memindahkan objek hanya relevan tergantung waktu posisi dalam ruang. Mereka bisa mobil, truk, pesawat terbang, kapal atau ponsel pengguna. Pindah daerah objek bergerak dengan rupa seperti badai, hutan file, tumpahan minyak, wabah penyakit, dan sebagainya. Pindah daerah berubah posisi dan geometri objek dengan waktu sambil bergerak poin hanya berubah posisi benda.
Manajemen Database sistem perangkat bergerak
Pesatnya perkembangan bagi komunikasi bergerak mendorong para operator layanan berlomba untuk memperkaya macam layanannya guna menambah pemasukan bagi perusahaanya. Komunikasi data bergerak, misalnya untuk akses internet. Pengenalan WAP (Wireless Application Protocol) telah menunjukkan potensi sebagai layanan internet nirkabel/ WAP merupakan protocol global terbuka yang memungkinkan para pengguna mengakses layanan-layanan on-line dari layar kecil pada telepon genggam dengan menggunakan built-in browser. WAP bekerja pada berbagai teknologi jaringan bergerak, yang memungkinkan pasar missal bagi penciptaan layanan data bergerak.
Contoh dari layanan bergerak adalah GPRS. GPRS merupakan system transmisi berbasis paket untuk GSM yang menggunakan prinsip 'tunnelling'. GPRS tidak menawarkan laju data tinggi yang memadai untuk multimedia nayata, tetapi GPRS merupakan kunci untuk menghilangkan beberapa batas pokok bagi layanan-layanan data bergerak.
Beberapa faktor yang menjadi pertimbangan bahwa GPRS merupakan teknologi kunci untuk data bergerak :
Memperkaya utility investasi untuk perangkat GSM yang sudah ada.
Merupakan teknologi jembatan yang bagus menuju generasi ke 3.
Mampu memanfaatkan kemampuan cakupan global yang dimiliki GSM.
Menghilangkan atau mengurangi beberapa pembatas bagi akses data bergerak.
Memiliki laju data sampai 115 kbps yang berarti dua kali lipat daripada koneksi 'dial up' 56 kbps yang berlaku.
Menampakan diri sebagai komunikasi yang 'selalu' terhubung sehingga memiliki waktu sesi hubungan yang pendek dan akses langsung ke internet.
Open Services Gateway Initiative (OSGI)
Open Service Gateway Initiative (OSGi) adalah sebuah system dan aplikasi interoperability berbasis komponen platform yang terintegrasi. OSGi merupakan system modul dinamik untuk Java. Teknologi OSGi adalah Universal Middleware. Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus hidup software. Kemampuan ini dapat menambah nilai jangkauan dari computer dan peralatan yang menggunakan platform Java dengan sangat hebat. Teknologi OSGi mengadopsi keuntungan dari menambah time-to-market dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan subsistem komponen yang terintegrasi dari pre-build dan pre-tested. Teknologi ini juga mengurangi biaya perawatan dan memberikan kesempatan aftermarket yang baru dan unik karena jaringan dapat digunakan untuk update secara dinamik dan mengirimkan service dan aplikasi di lapangan.
OSGi ARSITEKTUR
OSGi adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen system dinamik untuk Java. Spesifikasi ini memungkinkan sebuah model pengembangan dimana aplikasi (secara dinamik) terdiri dari berbagai komponen yang berbeda. Spesifikasi OSGi memungkinkan komponen-komponennya untuk menyembunyikan implementasinya dari komponen lainnya ketika berkomunikasi melalui services dimana biasanya ketika hal ini berlangsung implementasi antar komponen dapat terlihat jelas. Model yang simple ini telah jauh mencapai efek dari segala aspek dari proses pengembangan software.
Lapisan OSGi
Model lapisan dari OSGi adalah sebagai berikut :
Definisi :
a.Bundles : bundles adalah komponen OSGi yang dibuat oleh pengembang/developer.
b.Services : lapisan service menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk objek Java yang lama.
c.Life Cycle : API untuk menginstall, memulai, menghentikan, update dan menguninstall bundles.
d.Modules : lapisan yang menjelaskan bagaimana bundles dapat mengimport dan mengexport kode.
e.Security : Lapisan yang memegang aspek keamanan.
f.Execution Environment : menjelaskan class dan method apa yang ada di platform.
KEUNTUNGAN TEKNOLOGI OSGi
Menjelaskan teknologi OSGi kepada yang belum familiar dengan teknologi ini sangatlah sulit. Ada begitu banyak artikel yang menjelaskan teknologi OSGi tetapi hal itu masih belum bisa dimengerti oleh user yang benar-benar awam karena teknologi OSGi menyediakan solusi untuk permasalahan yang banyak orang menganggap bahwa maslah itu merupakan aspek instrinsik dari Java.
Permasalahan ini sebenarnya bukan masalah instrinsik dari Java dan teknologi OSGi dapat mengatasi itu semua. Alasan utama mengapa teknologi OSGi dapat sukses karena teknologi ini menyediakan komponen system yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak jumlahnya. Komponen system yang biasa digunakan untuk membangun aplikasi yang tingkat kekompleksannya sangat tinggi seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industry, telepon dan banyak lainnya.
Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut :
1.Mengurangi kompleksitas : mengembangkan dengan OSGi berarti menembangkan bundles : salah satu komponen OSGi. Bundles adalah modul. Bundles menyembunyikan aspek internalnya dari bundles lainnya. Hal ini berarti ada banyak kebebasan untuk menggantinya di kemudian hari.
2.Dapat digunakan kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
3.RealWorld : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
4.Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
5.Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
6.Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7.Transparan
8.Banyak versinya
9.Simple : OSGi API sangat simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10.Ukurannya kecil
11.Kinerjanya cepat
12.Malas : Malas dalam software itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
13.Aman
14.Sederhana
15.Tidak Mengganggu Kinerja Aplikasi Lainnya
16.Berjalan dimana saja
17.Digunakan secara luas
18.Didukung Oleh Berbagai Perusahaan : OSGi juga didukung oleh berbagai perusahaan seperti Oracle, IBM, Samsung, Nokia, IONA, Motorola, NTT, Siemens, Hitachi, Deutsche Telekom, Redhat, Ericsson, dan masih banyak lagi.
Jika sedang mengembangkan Java maka teknologi OSGi merupakan langkah lanjut yang harus ditempuh karena teknologi OSGi dapat memecahkan masalah yang mungkin tidak akan terbayangkan sebelumnya. Keuntungan menggunakan teknologi OSGi yang begitu berguna jika kita menggunakan Java, maka sudah seharusnya teknologi OSGi masuk berada dalam kotak peralatan kita.
OSGi Specifications
OSGi Service Platform Release 4
OSGi Service Platform Release 4 was first released in October 2005. Version 4.1 was released in May 2007. Version 4.2 was released in September 2009.
-Errata
-API Javadoc
-XML Schemas
Referensi:
http://titasinsi.blogspot.com/2012/10/tentang-middleware-telematika.html
http://masrurihherry.blogspot.com/2011/11/manajemen-data-telematika.html
http://zainuliman.blogspot.com/2009/12/open-service-gateway-initiative-osgi.html
http://titasinsi.blogspot.com/2012/10/tentang-middleware-telematika.html
http://masrurihherry.blogspot.com/2011/11/manajemen-data-telematika.html
http://zainuliman.blogspot.com/2009/12/open-service-gateway-initiative-osgi.html