The OSGi Alliance (sebelumnya dikenal
sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah
terbuka organisasi standar yang didirikan pada Maret 1999. Aliansi dan
anggota-anggotanya telah ditentukan yang Java berbasis layanan
platform yang dapat dikelola dari jarak jauhInti 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
Jasa telah ditetapkan.
1. SPESIFIKASI
OSGi spesifikasi yang
dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum
secara gratis di bawah Lisensi Spesifikasi OSGi. OSGi
Allianceyang memiliki kepatuhan program yang hanya terbuka untuk anggota.
Pada Oktober 2009, daftar bersertifikat OSGi implementasi berisi lima entri.
2. ARSITEKTUR
Setiap kerangka yang menerapkan standar OSGi 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:
- Bundles
Bundles adalah normal jar komponen dengan nyata tambahan header - Services
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO). - Services Registry
API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference). - Life-Cycle
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel. - Modules
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode). - Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan. - Execution Environment
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentuTidak 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.1/Foundation-1.1 CDC-1.1/Foundation-1.1
• OSGi/Minimum-1.0 OSGi/Minimum-1.0
• OSGi/Minimum-1.1 OSGi/Minimum-1.1
• JRE-1.1 JRE-1.1
• From J2SE-1.2 up to J2SE-1.6 Dari J2SE-1.2 hingga J2SE-1,6
• CDC-1.0/Foundation-1.0 CDC-1.0/Foundation-1.0
3. MANFAAT OSGI
1. Mengurangi Kompleksitas (Reduced Complexity)
Mengembangkan
dengan teknologi OSGi berarti mengembangkan bundel: komponenOSGi. Bundel adalah
modul. Mereka menyembunyikan internal dari bundel lain danberkomunikasi melalui
layanan didefinisikan dengan baik. Menyembunyikan internals berartilebih banyak
kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug, itu
juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran
benarmenerapkan sepotong fungsionalitas melalui interface didefinisikan dengan
baik. Ada sebuahblog menarik yang menjelaskan teknologi OSGi apa yang mereka
lakukan bagi prosespembangunan.
2. Reuse
Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi. Peningkatan jumlah proyek-proyek sumber terbuka memberikan JAR’s mereka siap dibuat untuk OSGi. Namun, perpustakaan komersial jugamenjadi tersedia sebagai bundel siap pakai.
Para model komponen OSGi membuatnya sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu aplikasi. Peningkatan jumlah proyek-proyek sumber terbuka memberikan JAR’s mereka siap dibuat untuk OSGi. Namun, perpustakaan komersial jugamenjadi tersedia sebagai bundel siap pakai.
3. Real World
OSGI kerangka kerja yang dinamis. Ini dapat memperbarui bundel on the fly dan pelayanan yang datang dan pergi. Ini dapat menghemat dalam penulisan kode dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas lebih daripada yang telah dilaksanakan selama satu solusi khusus.
OSGI kerangka kerja yang dinamis. Ini dapat memperbarui bundel on the fly dan pelayanan yang datang dan pergi. Ini dapat menghemat dalam penulisan kode dan juga menyediakan visibilitas global, debugging tools, dan fungsionalitas lebih daripada yang telah dilaksanakan selama satu solusi khusus.
4. Easy Deployment
Teknologi OSGi bukan hanya sebuah standard untuk komponen, tapi juga menentukan bagaimana komponen diinstal dan dikelola. API telah digunakan oleh banyak berkas untuk menyediakan sebuah agen manajemen. Agen manajemen ini bisa sesederhana sebagai perintah shell, TR-69 sebuah protokol manajemen pengemudi, OMA DM protokol sopir, komputasi awan antarmuka untuk Amazon EC2, atau IBM Tivoli sistem manajemen. Manajemen standar API membuatnya sangat mudah untuk mengintegrasikan teknologi OSGi dalam sistem yang ada dan masa depan.
5. Dynamic Updates
Model komponen OSGi adalah model dinamis. Kumpulan dapat diinstal, mulai, berhenti,diperbarui, dan dihapus tanpa menurunkan keseluruhan sistem. Banyak pengembang Java tidak percaya ini dapat dilakukan pada awalnya oleh karena itu tidak digunakan dalam produksi.Namun, setelah menggunakan ini dalam pembangunan selama beberapa waktu, sebagian besar mulai menyadari bahwa itu benar-benar bekerja dan secara signifikan mengurangi waktu penyebaran.
6. Simple
The OSGi API sangat sederhana. API inti hanya terdiri dari satu paket dan kurang dari 30 kelas / interface. API inti ini cukup untuk menulis kumpulan, menginstalnya, start, stop, update,dan menghapus mereka dan mencakup semua pendengar dan keamanan kelas.
7. Kecil (Small)
The OSGi Release 4 Framework dapat diimplementasikan kedalam JAR 300KB. Ini adalah overhead kecil untuk jumlah fungsi yang ditambahkan ke salah satu aplikasi dengan memasukkan OSGi. Oleh karena itu OSGi berjalan pada berbagai macam perangkat: dari sangat kecil, kecil, dan untuk mainframe. Hanya meminta Java VM minimal untuk menjalankan dan menambahkan sangat sedikit di atasnya.
8. Cepat (Fast)
Salah satu tanggung jawab utama dari Framework OSGi memuat kelas-kelas dari bundel.Di Java tradisional, JARs benar-benar terlihat dan ditempatkan pada daftar linear. Pencarian sebuah kelas memerlukan pencarian melalui daftar ini. Sebaliknya, pra-kabel OSGi bundel dan tahu persis untuk setiap bundel bundel yang menyediakan kelas. Kurangnya pencarian yang signifikan faktor mempercepat saat startup.
B. KOLABORASI ANTARMUKA OTOMOTIF MULTIMEDIA
Kolaborasi Antarmuka Otomotif
Multimedia adalah
sebuah kelompok yang dibuat oleh pembuat (maker) untuk menciptakan
standar umum yang digunakan untuk mengatur bagaimana cara kerja perangkat
elektronik, seerti komputer dan hiburan unit, berkomunikasi dengan kendaraan.
Dan memiliki anggota: Fiatm Ford, General Motors, Honda, Mitsubishi, Nissan,
PSA Peugeot-Citroen, Renault.
Sebuah organisasi yang dibentuk untuk menciptakan standarisasi dunia yang digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat bekerja disebut Kolaborasi Antar muka Otomotif Multimedia.
Sebuah organisasi yang dibentuk untuk menciptakan standarisasi dunia yang digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat bekerja disebut Kolaborasi Antar muka Otomotif Multimedia.
Automotive Multimedia Interface
Collaboration (AMI-C) menyatakan bahwa akan menggandeng teknologi Open Service
Gateway Initiative (OSGi) sebagai framework untuk platform sofware yang
dibangun untuk informasi mobile dan sistem entertainment. Dalam kombinasi’a,
AMI-C dan framework OSGi akan menyediakan satu platform software yang umum dan
pasar yang terbuka untuk penyedia aplikasi atomotif berbasis wireless. Untuk
pengguna, platform umum tersebut akan menyediakan pilihan software aplikasi
yang luas.
Tujuan dari
kolaborasi antarmuka otomotif multimedia antara lain:
·
Menyediakan interface standart 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
sitensis, untuk dipersembahkan komunikasi jarak dekat (DSRC) sistem untuk
kendaraan untuk infrastruktur komunikasi dan sistem mobil seperti airbag, pintu
kunci dan diagnostik input / output.
·
Meningkatkan pilihan dan mengurangi keusangan
sistem elektronik kendaraan.
·
Memotong biaya keseluruhan informasi
kendaraan dan peralatan hiburan dengan meningkatkan ukuran pasar yang efektif
terdiri dari banyak pasar yang kecil karena setiap platform kendaraan sering
mengandung berbagai adat-mengembangkan komponen dan platform yang khas hanya
sekitar 50.000 unit.
·
Menawarkan standar terbuka dan spesifikasi
untuk informasi interface dalam kendaraan dan antara kendaraan dan dunia luar.
1. FUNGSIONAL KOLABORASI ANTARMUKA OTOMOTIF-MULTIMEDIA
- 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.
- Meningkatkan pilihan dan mengurangi keusangan sistem elektronik kendaraan.
- Memotong biaya keseluruhan informasi kendaraan dan peralatan hiburan dengan meningkatkan ukuran pasar yang efektif dan memperpendek waktu pengembangan - industri otomotif efektif terdiri dari banyak pasar yang kecil karena setiap platform kendaraan sering mengandung berbagai adat-mengembangkan komponen dan platform yang khas hanya sekitar 50.000 unit.
- Menawarkan standar terbuka dan spesifikasi untuk informasi interface dalam kendaraan dan antara kendaraan dan dunia luar.
2. STRUKTURAL KOLABORASI ANTARMUKA
OTOMOTIF MULTIMEDIA
Automotive Multimedia Interface Kolaborasi (AMIC) mengatakan
akan menjadi tuan rumah tiga update internasional briefing untuk menjadi
pemasok otomotif, komputer dan teknologi tinggi industri elektronik. Briefing
akan diadakan 23 Februari di Frankfurt, Jerman; Februari 29 di Tokyo; dan Maret
9 di Detroit.
“AMIC telah membuat suatu kemajuan yang signifikan
dalam satu tahun terakhir ini dalam menyelesaikan struktur organisasi dan
mencapai kesepakatan mengenai persyaratan yang diperlukan untuk hardware dan
software baik di masa depan 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.
C. JCP (JAVA COMMUNITY PROCESS)
Spesifikasi Java tidak sekedar fondasi VMnya, tetapi menyangkut hampir
semua aspek, mulai dari mekanisme mengakses devices I/O, komponen pertukaran
objek, sampai pengembangan container. JCP merupakan badan yang bertanggung
jawab terhadap standar teknologi Java.
1. Virtual
Machine
Sebuah
mesin virtual (VM) adalah sebuah perangkat lunak implementasi sebuah mesin
(misalnya komputer) yang melaksanakan program-program seperti mesin fisik.
Sebuah mesin virtual pada awalnya ditentukan oleh Popek dan Goldberg sebagai
"yang efisien, terisolasi duplikat dari mesin yang nyata". Saat
menggunakan mesin virtual yang mencakup tidak memiliki surat-menyurat langsung
ke perangkat keras yang nyata.
Mesin virtual dipisahkan ke dalam dua kategori utama, berdasarkan tingkat penggunaan dan korespondensi untuk mesin nyata. Sebuah sistem mesin virtual yang lengkap menyediakan platform sistem yang mendukung pelaksanaan lengkap sistem operasi (OS). Sebaliknya, mesin virtual sebuah proses yang dirancang untuk menjalankan sebuah program, yang berarti bahwa ia mendukung satu proses. Karakteristik penting dari sebuah mesin virtual yang berjalan di dalam perangkat lunak adalah terbatas pada sumber daya dan abstraksi yang disediakan oleh mesin virtual tidak dapat keluar dari dunia virtual.
Contoh: Suatu program yang ditulis dalam Java menerima jasa dari Java Runtime Environment (JRE) perangkat lunak dengan mengeluarkan perintah untuk, dan menerima hasil yang diharapkan dari, perangkat lunak Java. Dengan memberikan layanan ini untuk program tersebut, perangkat lunak Java bertindak sebagai "mesin virtual", menggantikan sistem operasi atau hardware untuk program yang biasanya akan disesuaikan.
Mesin virtual dipisahkan ke dalam dua kategori utama, berdasarkan tingkat penggunaan dan korespondensi untuk mesin nyata. Sebuah sistem mesin virtual yang lengkap menyediakan platform sistem yang mendukung pelaksanaan lengkap sistem operasi (OS). Sebaliknya, mesin virtual sebuah proses yang dirancang untuk menjalankan sebuah program, yang berarti bahwa ia mendukung satu proses. Karakteristik penting dari sebuah mesin virtual yang berjalan di dalam perangkat lunak adalah terbatas pada sumber daya dan abstraksi yang disediakan oleh mesin virtual tidak dapat keluar dari dunia virtual.
Contoh: Suatu program yang ditulis dalam Java menerima jasa dari Java Runtime Environment (JRE) perangkat lunak dengan mengeluarkan perintah untuk, dan menerima hasil yang diharapkan dari, perangkat lunak Java. Dengan memberikan layanan ini untuk program tersebut, perangkat lunak Java bertindak sebagai "mesin virtual", menggantikan sistem operasi atau hardware untuk program yang biasanya akan disesuaikan.
2. APIs
Sebuah application programming interface (API) adalah
antarmuka bahwa sebuah program perangkat lunak alat untuk memungkinkan
perangkat lunak lain untuk berinteraksi dengan itu, banyak cara yang sama
seperti perangkat lunak mungkin akan mengimplementasikan antarmuka pengguna
untuk memungkinkan manusia untuk menggunakannya. API dilaksanakan oleh
aplikasi, perpustakaan dan sistem operasi untuk menentukan bagaimana perangkat
lunak lain dapat membuat panggilan ke atau layanan permintaan dari mereka.
Sebuah API menentukan kosa kata dan konvensi memanggil para pemrogram harus
mempekerjakan untuk menggunakan layanan . Ini mungkin termasuk spesifikasi
untuk rutinitas, struktur data, kelas objek, dan protokol yang digunakan untuk
berkomunikasi antara konsumen dan pelaksana API.
• Web API
Ketika digunakan dalam konteks
pengembangan web, biasanya sebuah API yang didefinisikan set Hypertext Transfer
Protocol (HTTP) pesan permintaan bersama dengan definisi respon struktur pesan,
biasanya dinyatakan dalam sebuah Sementara "Web API" secara virtual
sinonim untuk layanan web, tren baru-baru ini (yang disebut Web 2.0) telah
bergerak jauh dari Simple Object Access Protocol (SOAP) layanan berbasis lebih
langsung terhadap Negara Representasi Transfer (REST) gaya komunikasi. Web API
memungkinkan kombinasi dari berbagai layanan ke aplikasi baru yang dikenal
sebagai mashup.
• Implementasi
POSIX standard mendefinisikan sebuah API yang memungkinkan
berbagai fungsi komputasi umum harus ditulis sedemikian rupa sehingga mereka
dapat beroperasi pada banyak sistem yang berbeda (Mac OS X dan berbagai
Berkeley Software Distribusi (BSD) mengimplementasikan interface ini), namun,
dengan menggunakan ini memerlukan kompilasi ulang untuk setiap platform. API
yang kompatibel, di sisi lain, memungkinkan dikompilasi kode obyek untuk
berfungsi tanpa perubahan apapun, pada pelaksanaan sistem apapun yang API. Hal
ini menguntungkan kedua penyedia perangkat lunak (di mana mereka dapat
mendistribusikan perangkat lunak yang ada pada sistem baru tanpa memproduksi /
mendistribusikan upgrade) dan pengguna (di mana mereka mungkin lebih tua
menginstal perangkat lunak pada sistem baru mereka tanpa membeli upgrade),
meskipun hal ini memerlukan berbagai perangkat lunak secara umum pelaksanaan
perpustakaan API diperlukan juga.
Microsoft telah menunjukkan komitmen untuk API yang
kompatibel ke belakang, terutama di dalam Windows API (Win32) perpustakaan,
seperti aplikasi yang lebih tua dapat berjalan di Windows versi yang lebih baru
menggunakan pengaturan khusus eksekusi yang disebut "Compatibility
Mode" . Apple Inc telah menunjukkan kecenderungan yang kurang perhatian
ini, memecah kompatibilitas atau mengimplementasikan dalam sebuah API yang
lebih lambat "mode emulasi"; ini memungkinkan kebebasan lebih besar
dalam pembangunan, pada biaya pembuatan perangkat lunak yang lebih tua usang.
Antara Unix-seperti sistem operasi, ada banyak terkait
tetapi tidak sesuai sistem operasi berjalan pada platform hardware yang umum
(khususnya Intel 80386 sistem yang kompatibel). Sudah ada beberapa usaha untuk
standarisasi API vendor perangkat lunak sehingga dapat mendistribusikan satu
aplikasi binari untuk semua sistem ini, namun sampai saat ini, tidak satu pun
telah bertemu dengan banyak keberhasilan. Linux Standard Base adalah berusaha
untuk melakukan hal ini untuk Linux platform, sementara banyak dari beragam
Unix BSD (FreeBSD, NetBSD, OpenBSD) menerapkan berbagai tingkat kompatibilitas
API untuk kedua backward compatibility (memungkinkan program yang ditulis untuk
versi lama untuk berjalan di distribusi baru sistem) dan lintas-platform
kompatibilitas (memungkinkan eksekusi kode asing tanpa mengkompilasi ulang).
Sumber :
No comments:
Post a Comment