Middleware telematika, OSGi, dan JCP

A. Middleware Telematika

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 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 sistim operasi.
* Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.

Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas.

Perkembangan middleware dari waktu ke waktu dapat dikatagorikan sebagai berikut:

* On Line Transaction Processing (OLTP), merupakan perkembangan awal dari koneksi antar remote database. Pertama kali ditemukan tahun 1969 oleh seorang engineer di Ford, kemudian diadopsi oleh IBM hingga kini dikenal sebagai proses OLTP. DIGITAL ACMS merupakan contoh lainnya yang sukses pada tahun 70-an dan 80-an. UNIX OLTP lainnya seperti: Encina, Tuxedo pada era 80-an, serta DIGITAL CICS untuk UNIX yang memperkenalkan konsep dowsizing ke pasar.
* Remote Procedure Call (RPC), menyediakan fasilitas jaringan secara transparan. Open Network Computing (ONC) merupakan prototipe pertama yang diperkenalkan awal tahun 70-an. Sun unggul 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 sis administrasinya.

ommon Object Request Broker Architecture (CORBA), merupakan object-oriented middleware yang menggabungkan fungsi RPC, brokering, dan inheritance. DIGITAL ObjectBroker merupakan salah satu contohnya.

Database middleware adalah salah satu jenis middleware disamping message-oriented middleware, object-oriented middleware, remote procedure call, dan transaction processing monitor. Pada prinsipnya, ada tiga tingkatan integrasi sistem komputer yaitu integrasi jaringan, integrasi data, dan integrasi applikasi. Database middleware menjawab tantangan integrasi data, sedangkan midleware-middleware yang lain menjawab tantangan integrasi applikasi dan jaringan.

Messaging Middleware :

1. Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded
2. Mungkin berisi business logic yang merutekan message ke ujuan sebenarnya dan memformat ulang data lebih tepat
3. Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi

B. OSGi

OSGI (Open Service Gateway Initiative) adalah sebuah rencana industri untuk cara standar untuk menghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet. OSGI berencana menentukan program aplikasi antarmuka (API) untuk pemrogram menggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia layanan dan perangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan dibangun pada bahasa pemrograman Java. Program java pada umumnya dapat berjalan pada platform sistem operasi komputer.

OSGI adalah sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah sebuah organisasi standar terbuka yang didirikan pada Maret 1999. Aliansi dan anggota – anggotanya telah ditentukan sebuah layanan berbasis Java platform yang dapat dikelola dari jarak jauh.Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGI. OSGI Alliance yang memiliki program kepatuhan yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasi berisi lima entri.

Manfaat dalam penerapan OSGI ini antara lain :

* Mengurangi Kompleksitas (Reduced Complexity) – Mengembangkan dengan teknologi OSGi berarti mengembangkan bundel: komponen OSGi. Bundel adalah modul. Mereka menyembunyikan internal dari bundel lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Menyembunyikan internals berarti lebih banyak kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran benar menerapkan sepotong fungsionalitas melalui interface didefinisikan dengan baik. Ada sebuah blog menarik yang menjelaskan teknologi OSGi apa yang mereka lakukan bagi proses pembangunan

* Reuse – Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi. Peningkatan jumlah proyek-proyek sumber terbuka memberikan JAR’s mereka siap dibuat untuk OSGi. Namun, perpustakaan komersial juga menjadi tersedia sebagai bundel siap pakai.

* Real World – OSGi kerangka kerja yang dinamis. Ini dapat memperbarui bundel on the fly dan pelayanan yang datang dan pergi. Ini dapat menghemat dalam penulisan kode dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas lebihy daripada yang telah dilaksanakan selama satu solusi khusus.

* Easy Deployment – teknologi OSGi bukan hanya sebuah standard untuk komponen, tapi juga menentukan bagaimana komponen diinstal dan dikelola. API telah digunakan oleh banyak berkas untuk menyediakan sebuah agen manajemen. Agen manajemen ini bisa sesederhana sebagai perintah shell, TR-69 sebuah protokol manajemen pengemudi, OMA DM protokol sopir, komputasi awan antarmuka untuk Amazon EC2, atau IBM Tivoli sistem manajemen. Manajemen standar API membuatnya sangat mudah untuk mengintegrasikan teknologi OSGi dalam sistem yang ada dan masa depan.

* Dynamic Updates – Model komponen OSGi adalah model dinamis. Kumpulan dapat diinstal, mulai, berhenti, diperbarui, dan dihapus tanpa menurunkan keseluruhan sistem. Banyak pengembang Java tidak percaya ini dapat dilakukan pada awalnya oleh karena itu tidak digunakan dalam produksi. Namun, setelah menggunakan ini dalam pembangunan selama beberapa waktu, sebagian besar mulai menyadari bahwa itu benar-benar bekerja dan secara signifikan mengurangi waktu penyebaran.

* Simple – The OSGi API sangat sederhana. API inti hanya terdiri dari satu paket dan kurang dari 30 kelas / interface. API inti ini cukup untuk menulis kumpulan, menginstalnya, start, stop, update, dan menghapus mereka dan mencakup semua pendengar dan keamanan kelas.

* Kecil (Small) – The OSGi Release 4 Framework dapat diimplementasikan kedalam JAR 300KB. Ini adalah overhead kecil untuk jumlah fungsi yang ditambahkan ke salah satu aplikasi dengan memasukkan OSGi. Oleh karena itu OSGi berjalan pada berbagai macam perangkat: dari sangat kecil, kecil, dan untuk mainframe. Hanya meminta Java VM minimal untuk menjalankan dan menambahkan sangat sedikit di atasnya.

* Cepat (Fast) – Salah satu tanggung jawab utama dari Framework OSGi memuat kelas-kelas dari bundel. Di Java tradisional, JARs benar-benar terlihat dan ditempatkan pada daftar linear. Pencarian sebuah kelas memerlukan pencarian melalui daftar ini. Sebaliknya, pra-kabel OSGi bundel dan tahu persis untuk setiap bundel bundel yang menyediakan kelas. Kurangnya pencarian yang signifikan faktor mempercepat saat startup.

Teknologi OSGi meliputi :

* The Problem (Permasalahan)
* The Solution (Pemecahan Masalah)
* The Framework (Kerangka Kerja)
* Standard Services (Pelayanan Standard)
* Framework Services (Pelayanan Kerangka Kerja)
* System Services (Pelayanan Sistem)
* Protocol Services (Pelayanan Protokol)
* Miscellaneous Services (Bermacam-macam pelayanan)
* Conclusion (Kesimpulan)

Komponen inti dari Spesifikasi OSGi adalah Framework OSGi. Framework menyediakan lingkungan standar untuk aplikasi (disebut bundel).

C. JCP (Java Community Process)

Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman tingkat tinggi dan sekaligus sebagai suatu platform. JAVA pertama kali diperkenalkan oleh Sun Microysystem pada pertengahan tahun 1990. Menurut definisi dari Sun, JAVA adalah nama untuk sebuah teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun lingkungan jaringan. Setiap orang yang sudah mengenal dan mempelajari atau bahkan mahir dengan bahasa C/C++ tentunya tidak akan sulit untuk mempelajari JAVA. JAVA juga merupakan sebuah bahasa pemrograman berorientasi objek yang dirancang agar dapat dijalankan di semua platform.
Java dikembangkan mengacu pada standar yang ditentukan oleh komite didalam JCP (Java Community Process). Spesifikasi Java tidak sekedar fondasi VMnya, tetapi menyangkut hampir semua aspek, mulai dari mekanisme mengakses devices I/O, komponen pertukaran objek, sampai pengembangan container. JCP merupakan badan yang bertanggung jawab terhadap standar teknologi Java.
Sebagai sebuah platform, JAVA terdiri atas 2 bagian utama, yaitu :
Java Virtual Machine (JVM)
Java Virtual Machine adalah sebuah spesifikasi untuk sebuah komputer abstrak. JVM terdiri dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode arsitektur netral. Kelas pemanggil memanggil file API untuk dieksekusi oleh interpreter Java. Dengan kata lain JVM adalah sebagai perantara antara program yang akan dijalankan dan sistem operasi yang sedang digunakan.
Java Application Programming Interface (JAVA API)
Java API merupakan komponen-komponen dan kelas JAVA yang sudah jadi, yang memiliki berbagai kemampuan. Kemampuan untuk menangani objek, string, angka, dsb. Java API terdiri dari tiga bagian utama:
1.Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, keamanan, konektivitas basis data dan jaringan.
2.Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi serverdengan mendukung untuk basis data.
3.Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.
Pada saat ini teknologi java semakin berkembang, Sun Microsystem memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK dan JRE versi 1.2. Pada Java 2 ini, java dibagi menjadi 3 kategori:
Java 2 Standart Edition (J2SE)
Java 2 Enterprise Edition (J2EE)
Java 2 Micro Edition (J2ME)

Pada Java API ini juga ditawarkan beberapa fitur menarik yang dapat digunakan oleh user yang sedang berkecimpung di dunia Java. Beberapa fitur tersebut adalah :
1.Applet
2.Java Networking
3.Java Database Connectivity(JDBC)
4.Java Security
5.Java Swing
6.Java RMI
7.Java 2D/3D
8.Java Server Pages
9.JNI (Java Native Inteface)
10.Java Sound
11.Java IDL+CORBA
12.Java Card
13.JTAPI (Java Telephony API)

Platform yang ada pada JAVA dikembangkan oleh yang namanya Java Community Process (JCP). JCP didirikan pada tahun 1998, merupakan suatu proses formal yang memungkinkan pihak-pihak yang tertarik untuk terlibat dalam mengembangkan versi dan fitur dari platform JAVA tersebut. Di dalam JCP terdapat yang namanya Java Specification Request’s atau JSRs. JSRs adalah kumpulan dokumen formal yang menggambarkan spesifikasi dan teknologi yang diusulkan oleh orang-orang yang terlibat dalam JCP untuk melakukan penambahan fitur-fitur yang terdapat pada platform JAVA tersebut.
Pada Spesifikasi untuk J2SE, J2EE dan J2ME perkembangannya dibawah pengawasan Java Community Process (JCP). Spesifikasi yang dihasilkan adalah Java Specification Request (JSR). JCP terdiri dari para ahli dari berbagai perusahaan yang tergabung untuk membentuk Spesification. JSR ini melalui beberapa tahap pada JCP sebelum selesai. Setiap JSR diberi nomor.

Sumber :

1. http://rezkyaweb.web.id
2. dkf.bogor.net/…/n21-software-bab2-industri-software-05-1998.rtf
3. http://traycorser.blogspot.com
4. http://uriflabamba.blogspot.com/
5. http://kingrio.wordpress.com/2009/11/19/teknologi-yang-dihasilkan-java/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: