Januari 05, 2014

PENGANTAR TELEMATIKA 4

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.
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.
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).
6.Keamanan
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 •



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.

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host