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.
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: