OSGI (Open Service Gateway Initiative)
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.
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.
Bagaimana spesifikasi dari OSGI ?
Inti bagian dari spesifikasi ini adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul. Berdasarkan kerangka ini, sejumlah besar OSGI layers, API, dan Jasa telah ditetapkan.
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.
Spesifikasi OSGI yang sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah aplikasi lain meliputi mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), armada manajemen dan aplikasi server. Adapun spesifikasi yang lain dimana OSGI akan dirancang untuk melengkapi standar perumahan yang ada, seperti orang – orang LonWorks (lihat kontrol jaringan), CAL, CEBus, HAVi, dan lain-lain.
Arsitektur dari OSGI
Ada kerangka OSGI yang menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam kumpulan yang lebih kecil. Setiap bundel adalah erat – coupled, dynamically loadable kelas koleksi, botol, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada).
Kerangka kerja konseptual yang dibagi dalam bidang-bidang berikut:
1.Bundel
Kumpulan jar normal komponen dengan nyata tambahan header. Sebuah bundel adalah sekelompok kelas Java dan sumber daya tambahan yang dilengkapi dengan rincian file pada MANIFEST.MF nyata semua isinya, serta layanan tambahan yang diperlukan untuk memberikan kelompok termasuk kelas Java perilaku yang lebih canggih, dengan tingkat deeming seluruh agregat sebuah komponen.
2.Layanan
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan, menerbitkan dan menemukan model dapat mengikat Java lama untuk menikmati objek (POJO). Siklus hidup menambahkan lapisan bundel dinamis yang dapat diinstal, mulai, berhenti, diperbarui dan dihapus. Buntalan bergantung pada lapisan modul untuk kelas loading tetapi menambahkan API untuk mengatur modul – modul dalam run time. Memperkenalkan lapisan siklus hidup dinamika yang biasanya bukan bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin operasi yang benar dari lingkungan.
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan, menerbitkan dan menemukan model dapat mengikat Java lama untuk menikmati objek (POJO). Siklus hidup menambahkan lapisan bundel dinamis yang dapat diinstal, mulai, berhenti, diperbarui dan dihapus. Buntalan bergantung pada lapisan modul untuk kelas loading tetapi menambahkan API untuk mengatur modul – modul dalam run time. Memperkenalkan lapisan siklus hidup dinamika yang biasanya bukan bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin operasi yang benar dari lingkungan.
3. Layanan Registrasi (Services-Registry)
API untuk manajemen jasa (ServiceRegistration,
ServiceTracker dan ServiceReference).
OSGi Alliance yang telah ditentukan banyak layanan. Layanan yang ditentukan oleh antarmuka Java. Kumpulan dapat mengimplementasikan antarmuka ini dan mendaftarkan layanan dengan Layanan Registri. Layanan klien dapat menemukannya di registri, atau bereaksi ketika muncul atau menghilang.
OSGi Alliance yang telah ditentukan banyak layanan. Layanan yang ditentukan oleh antarmuka Java. Kumpulan dapat mengimplementasikan antarmuka ini dan mendaftarkan layanan dengan Layanan Registri. Layanan klien dapat menemukannya di registri, atau bereaksi ketika muncul atau menghilang.
4. Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup untuk (instal, start, stop,
update, dan uninstall) bundel.
5.Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
6.Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
7. Pelaksanaan Lingkungan
Mendefinisikan metode dan kelas apa yang tersedia dalam
platform tertentu. Tidak ada daftar tetap eksekusi lingkungan, karena dapat
berubah sebagai Java Community Process menciptakan versi baru dan edisi Jawa.
Namun, set berikut saat ini didukung oleh sebagian besar OSGI implementasi:
• CDC-1.0/Foundation-1.0
• CDC-1.1/Foundation-1.1
• OSGi/Minimum-1.0
• OSGi/Minimum-1.1
• JRE-1.1
• Dari
J2SE-1.2 hingga J2SE-1,6
(Automotive Multimedia Interface Colaboration -AMI-C)
Kolaborasi Antarmuka Otomotif Multimedia adalah suatu
kelompok yang dibuat untuk menciptakan standar umum yang digunakan dalam
mengatur bagaimana suatu perangkat alat elektronik bekerja misalnya komputer
dan alat komunikasi kendaraan. Dan memiliki anggota: Fiat, Ford, General
Motors, Honda, Mitsubishi, Nissan, PSA Peugeot-Citroen, Renault.
Automotive Multimedia Interface Kolaborasi (AMIC) mengatakan
akan menjadi tuan rumah tiga update internasional briefing untuk menjadi
pemasok otomotif, komputer dan teknologi tinggi industri elektronik.
“AMIC telah mengalami kemajuan yang signifikan dalam satu
tahun terakhir ini dalam menyelesaikan struktur organisasi dan mencapai
kesepakatan tentang persyaratan yang diperlukan untuk hardware dan software
yang baik di masa depan untuk mobil dan truk,” Jurubicara AMIC Dave Acton
berkata, “Dan sekarang sudah saatnya bagi kita untuk bertemu dengan pemasok dan
mereka yang tertarik untuk menjadi pemasok untuk memastikan kami pindah ke
tahap berikutnya pembangunan kita bersama-sama. “
Acton menekankan bahwa AMIC terbuka untuk semua pemasok yang
tertarik bisnis elektronik. AMIC dibentuk pada bulan September l998 dan saat
ini dipimpin oleh 12 produsen otomotif dan anak perusahaan yang meliputi: BMW,
DaimlerChrysler, Ford, Fiat, General Motors, Honda, Mitsubishi, Nissan, PSA /
Peugeot-Citroen, Renault, Toyota, dan VW. Seorang juru bicara mengatakan
kelompok AMIC berencana untuk mendirikan sebuah kantor di San Francisco di masa
depan.
Proses komunitas java
Arsitektur Java Virtual Machine
Dalam spesifikasi mesin virtual Java, behaviour mesin
virtual digambarkan dari sisi subsistem, area memori, tipe data, dan instruksi.
Arsitektur Java Virtual Machine menunjukkan diagram
blok mesin virtual Java yang mencakup subsistem
utama dan daerah memori yang diuraikan
dalam spesifikasi, masing-masing mesin virtual
Java memiliki subsistem class loader yaitu mekanisme untuk memuat
tipe (kelas dan interface) diberikan nama-nama yang memenuhi
syarat. Setiap mesin virtual Java juga
memiliki mesin eksekusi yaitu mekanisme yang
bertanggung jawab untuk melaksanakan instruksi yang
terdapat dalam methods of loaded classes.
Ketika Java Virtual Machine
menjalankan sebuah program, butuh memori untuk
menyimpan banyak hal, termasuk bytecode dan
banyak informasi lain ekstrak dari
loaded class files, objek program instantiate,
parameter methods, nilai return, variabel lokal, dan antara hasil
perhitungan. Java virtual machine mengatur memori yang dibutuhkan
untuk mengeksekusi program ke beberapa runtime area data.
Meskipun terdapat runtime area
data yang sama dalam beberapa bentuk
di setiap implementasi JVM, spesifikasi cukup
abstrak. Beberapa runtime area data membagi
antara application's threads dan lainnya yang unik
ke individual threads. Setiap contoh dari JVM memiliki satu area
method dan satu heap. Daerah ini dibagi
oleh semua thread yang sedang berjalan
dalam JVM. Ketika mesin virtual memuat
file class, kemudian menguraikan informasi tentang tipe dari data biner
yang terdapat dalam file class. Ketika program berjalan, mesin virtual tempat
semua obkjekprogram instantiate ke heap.
Java stack terdiri dari stack frames (frame).
Sebuah frame berisi tumpukan dari satu
pemanggilan metode Java. Ketika thread memanggil sebuah
method, mesin virtual Java mendorong frmae baru ke thread Java
stack. Ketika method sudah lengkap mesin virtual muncul dan membuang frame
untuk method tersebut.
APIs
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:
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.
Java Enterprose Edition (EE), sebuah inisiatif API untuk
merancang aplikasi serverdengan mendukung untuk basis data.
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)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi Java pada level PC (Personal Computer)
Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi Java pada lingkungan entriprise dengan menambahkan
fungsionalitas-fungsionalitas java semacam EJB (Enterprise Java Bean), Java
CORBA, Servlet dan JSP serta Java XML (Extensible Markup Language)
Java 2 Micro Edition (J2ME)
Kategori ini digunakan untuk menjalankan dan mengembangkan
aplikasi-aplikasi java pada handled devices atau perangkat-perangkat semacam
handphone, Palm,PDA, dan Pocket PC. J2ME dirancang untuk dapat menjalankan
program Java pada perangkat-perangkat semacam handphone dan PDA, yang memiliki
karakteristik yang berbeda dengan sebuah komputer biasa, misalnya kecilnya
jumlah memori pada handphone dan PDA. J2ME terdiri atas komponen-komponen
sebagai berikut Java Virtual Machine (JVM) dan Java API (Application
Programming Interface) serta Tools lain untuk pengembangan aplikasi Java
semacam emulator Java Phone dan emulator Motorolla. Dalam J2ME dibagi menjadi
dua bagian yang dikenal dengan istilah configurationdan profile.
PROSES KOMUNITAS JAVA (JAVA COMMUNITY PROCESS (JCP)
Setelah pembahasan mengenai jenis platform dan perkembangan
yang ada pada JAVA. sekarang saya akan memcoba memberikan informasi tentang
siapa yang mengembangkan kedua platform JAVA tersebut.
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: