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: