Minggu, 20 Januari 2013

OSGI, AMI-C, JCP


1.      OSGI (Open Service Gateway Initiative)
OSGi adalah sistem modul dan platform layanan untuk bahasa pemrograman Java yang mengimplementasikan model komponen lengkap dan dinamis, sesuatu yang seperti tahun 2012 tidak ada di Jawa standalone / VM lingkungan. Aplikasi atau komponen (datang dalam bentuk bundel untuk penyebaran) dapat jarak jauh diinstal, mulai, berhenti, diperbarui, dan dihapus tanpa memerlukan reboot, pengelolaan paket Jawa / kelas ditentukan dengan sangat rinci. Aplikasi manajemen siklus hidup (start, stop, install, dll) dilakukan melalui API yang memungkinkan untuk men-download jauh kebijakan manajemen. Registri layanan memungkinkan berkas untuk mendeteksi penambahan layanan baru, atau penghapusan layanan, dan beradaptasi sesuai.
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
Spesifikasi OSGi telah bergerak melampaui fokus asli gateway layanan, dan sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Area aplikasi lainnya termasuk mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan, armada manajemen dan aplikasi server.
Spesifikasi OSGi dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk publik secara gratis di bawah Lisensi Spesifikasi OSGi. The Alliance OSGi memiliki program kepatuhan yang terbuka untuk anggota saja. Pada November 2010, ada tujuh bersertifikat OSGi implementasi kerangka kerja. Sebuah halaman terpisah daftar Implementasi Spesifikasi baik bersertifikat dan non-bersertifikat OSGi, yang meliputi kerangka OSGi dan spesifikasi OSGi lainnya.


Arsitektur OSGI
Setiap kerangka yang menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam kumpulan yang lebih kecil. Setiap bundel adalah pasangan erat, koleksi muatan kelas yang dinamis, jar, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada). Kerangka kerja konseptual yang dibagi dalam bidang-bidang berikut:
1.                  Bundles, adalah komponen normal jar dengan memperlihatkan tambahan header
2.       Services, layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan model publish-find-bind untuk Plain Old Java Interfaces (POJI) atau Plain Old Java Objects (POJO).
3.           Services Registry, API untuk layanan manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
4.                 Life-Cycle, API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
5.          Modules, lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
6.           Security, lapisan yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk kemampuan pra-didefinisikan.
7.         Execution Environment. Mendefinisikan metode dan kelas yang tersedia dalam platform tertentu. Tidak ada daftar tetap lingkungan eksekusi, karena dapat berubah sebagai Java Community Process menciptakan versi baru dan edisi Java. Namun, set berikut saat ini didukung oleh sebagian besar implementasi OSGi:
•    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




2.      AUTOMOTIVE MULTIMEDIA INTERFACE COLLABORATION (AMI-C)
Kolaborasi Antarmuka Otomotif Multimedia (AMI-C) adalah sebuah organisasi yang diakui secara global motor-pengembangan perusahaan yang mempromosikan pengembangan dan standarisasi gateway elektronik untuk teknologi multimedia yang digunakan dalam kendaraan bermotor dan telematika.

Arsitektur  AMI-C
AMIC - The Automotive Multimedia Interface Kolaborasi (AMIC) didirikan pada Oktober 1998 dengan tujuan untuk mengembangkan serangkaian spesifikasi umum untuk multimedia interface ke sistem elektronik kendaraan bermotor untuk mengakomodasi berbagai berbasis komputer perangkat elektronik di dalam kendaraan. AMI-C adalah organisasi global yang mewakili mayoritas dunia produksi kendaraan. AMI-C adalah mengembangkan dan standarisasi yang umum multimedia dan telematika otomotif antarmuka untuk kendaraan jaringan komunikasi. Organisasi kendaraan bermotor manufaktur diciptakan untuk memfasilitasi pengembangan dan standarisasi antarmuka multimedia otomotif untuk jaringan komunikasi kendaraan bermotor. Spesifikasi untuk antarmuka jaringan fisik, protokol jaringan dan kendaraan antarmuka perangkat lunak (telematika dan lokal). Memiliki karakteristik seperti berikut :
• Vehicle control: Low-speed wired communication
• Information system: High-speed wired communication

Fungsional & Struktural AMI-C
Fungsional dari AMIC (Automotive Multimedia Interface Collaboration) adalah sebuah organisasi yang dibentuk untuk menciptakan standarisasi  dunia yang digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat bekerja. Contoh Komputer  dan alat komunikasi kendaraan atau computer dan radio dalam mobil. Satiap alat elektronik itu harus dapat bekerja dengan selaras sehingga kendaraan dapat lebih handal. Setiap perangkat elektronik yang dipasang belum tentu cocok dengan setiap kendaraan. Perangkat elektronik atau multimedia bisa saja mengganggu sistem keselamatan dan system-sistem lain di dalam kendaraan. Itulah kenapa perlu dibentuk standarisasi kolaborasi antarmuka multimedia.
Automotive Multimedia Interface Collaboration (AMI-C) sudah memiliki anggota : Fiat, Ford, General Motors, Honda, Mitsubishi, Nissan, PSA Peugeot-Citroen, Renault. AMI-C mengembangkan dan men-standarisasi antarmuka multimedia dan telematika otomotif yang umum untuk jaringan komunikasi kendaraan. Dan 40 pemasok elektronik mendaftarkan diri untuk menulis standar. Mereka berpendapat untuk menulis standar diperlukan waktu selama 2 tahun. Tapi dua tahun adalah masa di telematika. Penyelenggara elektronik, ponsel, komputer dan peralatan video yang akan menggunakan koneksi dapat melewati beberapa generasi dalam waktu itu.
Standar-standar akan memungkinkan sebuah pasar plug-and-play global untuk perangkat elektronik yang akan dipasang di kendaraan dengan kemudahan yang sama dengan melampirkan pheriperal komputer pribadi. Tujuan dari AMIC ini antara lain menyediakan interface standar untuk memungkinkan pengendara mobil untuk menggunakan berbagai media, komputer dan perangkat komunikasi - dari sistem navigasi dan hands-free telepon selular, melalui manusia maju / mesin sistem antarmuka, termasuk pengenalan suara dan sintesis, untuk dipersembahkan komunikasi jarak dekat (DSRC) sistem untuk kendaraan untuk infrastruktur komunikasi dan sistem mobil seperti airbag, pintu kunci dan diagnostik input / output.



3.      JAVA COMMUNITY PROCESS
Java Community Process (JCP) didirikan pada tahun 1998, adalah mekanisme formal yang memungkinkan pihak yang berkepentingan untuk mengembangkan spesifikasi teknis standar untuk teknologi Java. Siapapun bisa menjadi Anggota JCP dengan mengisi formulir yang tersedia di situs JCP. Keanggotaan JCP untuk organisasi dan entitas komersial membutuhkan biaya tahunan tetapi bebas untuk individu. JCP melibatkan penggunaan Java Specification Requests (JSRs). Dokumen formal yang menggambarkan spesifikasi yang diusulkan dan teknologi untuk menambah platform Java. Ulasan publik Formal JSRs akan muncul sebelum JSR menjadi final dan suara JCP Komite Eksekutif di atasnya. Sebuah JSR akhir menyediakan implementasi referensi yang merupakan implementasi bebas dari teknologi dalam bentuk kode sumber dan Kompatibilitas Kit Teknologi untuk memverifikasi spesifikasi API.

Java Virtual Machine (JVM)
Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau system operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment lain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya [terpisah] sendiri. VM muncul karena adanya keinginan untuk menjalankan banyak sistem operasi pada satu komputer.Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu. Salah satu penerapan penting dari teknologi VM adalah integrasi lintas platform.
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.

Java Application Programming Interface (JAVA API)
API adalah Seperangkat fungsi standar yang disediakan oleh OS atau Bahasa. Dalam Java, API dimasukkan ke dalam package-package yang sesuai dengan fungsinya. 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 server dengan 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.


Referensi :