Open Source Initiative
The OSGi Alliance (sebelumnya dikenal
sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah organisasi
standar yang didirikan pada Maret 1999. Aliansi dan anggota-anggotanya telah
ditentukan yang berbasis Java layanan platform yang dapat dikelola dari jarak
jauh. Inti bagian dari spesifikasi adalah sebuah kerangka kerja yang
mendefinisikan suatu manajemen siklus hidup aplikasi model, layanan registry,
sebuah lingkungan Eksekusi dan Modul. Berdasarkan kerangka ini, sejumlah besar
OSGi layers, API, dan Java telah ditetapkan. OSGi teknologi adalah sistem modul
dinamis untuk Java ™.
OSGi teknologi menyediakan layanan
berorientasi, komponen berbasis lingkungan untuk para pengembang dan menawarkan
cara-cara standar untuk mengelola siklus hidup perangkat lunak. Kemampuan ini
sangat meningkatkan nilai berbagai komputer dan perangkat yang menggunakan
platform Java. Pengadopsi teknologi OSGi manfaat dari peningkatan waktu ke
pasar dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan
integrasi pra-dibangun dan pra-komponen subsistem diuji. Teknologi ini juga
mengurangi biaya pemeliharaan dan kemajuan aftermarket baru peluang unik karena
jaringan dapat dimanfaatkan untuk secara dinamis mengupdate atau memberikan
layanan dan aplikasi di lapangan.
Spesifikasi
OSGi spesifikasi yang dikembangkan oleh para anggota dalam proses terbuka dan
tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGi. OSGi Alliance
yang memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada Oktober
2009, daftar bersertifikat OSGi implementasi berisi lima entri. Spesifikasi
OSGi yang dimulai pada tahun 1998 dan ditujukan untuk pasar otomatisasi rumah,
mencoba untuk memecahkan masalah bagaimana membangun aplikasi dari komponen
independen. Dalam dekade terakhir ini, industri perangkat lunak itu berubah
secara mendasar karena ledakan di proyek-proyek open source. Sepuluh tahun yang
lalu, sebuah aplikasi terdiri sebagian besar kode khusus ditulis. Saat ini,
sebagian besar perangkat lunak sebagian besar kabel sampai artefak open source
yang sering tidak dirancang untuk bekerja bersama-sama. Hal ini mirip dengan
masalah yang OSGi dirancang untuk memecahkan. Banyak proyek open source karena
itu mengadopsi spesifikasi OSGi karena mereka melihat bahwa mereka dapat fokus
pada masalah nyata dan khawatir kurang tentang infrastruktur, serta menjadi
lebih mudah untuk digunakan dalam proyek-proyek lainnya.
Arsitektur
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. Sebuahbundel 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.
Automotive Multimedia Interface Collaboration
Arsitektur
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. Organization
of motor vehicle manufactures created to facilitate the development and
standardization of automotive multimedia interfaces to motor vehicle
communication networks.– Specifications for physical network interfaces,
network protocols and In-vehicle software interfaces (telematics and local) :
• Release 2 specifications due Dec.
2002
• Characteristic
• Vehicle control: Low-speed wired
communication
• Information system: High-speed
wired communication
The Otomotif Multimedia Interface
Kolaborasi (AMI-C) mengumumkan di seluruh dunia cipta penugasan dari 1394
spesifikasi teknis otomotif ke Trade Association 1394 AMI-C berikut dokumen
sekarang milik 1394TA:
•AMI-C 3023 Power Management
Specification
•AMI-C 3013 Power Management
Architecture
•AMI-C 2002 1.0.2 Common Message Set
Power Management
•AMI-C 3034 Power Management Test
Documents
•AMI-C 4001 Revision Physical Speci
.cation
Fungsional Dan
Struktur
Kolaborasi antar muka
ototmotif multimedia 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.
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.
Java Community Process
Java adalah sebuah teknologi yang diperkenalkan oleh
Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java
adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat
lunak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih
menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa
pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman
konvensional.
Java Community Process
atau JCP, didirikan pada tahun 1998, merupakan sebuah proses formal yang
memungkinkan pihak-pihak yang tertarik untuk terlibat dalam definisi versi dan
fitur dari platform Java.
Java Virtual Machine (JVM)
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.
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.
Beberapa penerapan lainnya yang penting adalah :
Jika
beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber daya, VM
dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut sehingga
berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan sistem
operasi yang berbeda-beda.
- Otomasi dan
konsolidasi lingkungan pengembangan dan testing.
Setiap
VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan pengembang
sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
- Menjalankan
perangkat lunak terdahulu.
Sistem
operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih
baru.
- Memudahkan
recovery sistem.
Solusi
virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan
portabilitas dan fleksibilitas antar platform.
- Demonstrasi
perangkat lunak.
Dengan
teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan
secara cepat.
Teknologi VM memiliki beberapa keunggulan, antara lain:
- Hal
keamanan. VM memiliki perlindungan yang lengkap pada berbagai sistem
sumber daya, yaitu dengan meniadakan pembagian sumber daya secara
langsung, sehingga tidak ada masalah proteksi dalam VM. Sistem VM adalah
kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi.
Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka
dijamin tidak akan mengubah komponen lainnya.
- Memungkinkan
untuk mendefinisikan suatu jaringan dari Virtual Machine (VM).
Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali
lagi, jaringan dimodelkan setelah komunikasi fisik jaringan
diimplementasikan pada perangkat lunak.
Beberapa kesulitan utama dari konsep VM, diantaranya adalah :
- Sistem
penyimpanan. Sebagai contoh kesulitan dalam sistem penyimpanan adalah
sebagai berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk
drive namun ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan
bagi kita untuk dapat mengalokasikan setiap disk drive untuk tiap VM,
karena perangkat lunak untuk mesin virtual sendiri akan membutuhkan ruang
disk secara substansial untuk menyediakan memori virtual dan spooling.
Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula
dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran
sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah
antarmuka yang identik dengan perangkat keras yang mendasari.
- Pengimplementasian
sulit. Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
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 :
- 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.
Referensi :