Open Service
Gateway Initiative (OSGI)
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.
Mengetahui bagaimana spesifikasi dari OSGI
Inti bagian dari spesifikasi 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.
Mengetahui bagaimana 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
Namun, set berikut saat ini didukung oleh sebagian
besar OSGI implementasi:
Kolaborasi Antar muka Otomotif Multimedia-(Automotive Multimedia Interface Colaboration - AMI-C)
Arsitektur Kolaborasi Antarmuka Otomotif Multimedia
Pengertian dari Kolaborasi Antar muka Otomotif Multimedia adalah sebuah
kelompok yang dibuat oleh pembuat untuk menciptakan standar umum yang
digunakan untuk mengatur bagaimana cara kerja perangkat elektronik,
seperti komputer dan hiburan unit, berkomunikasi dengan kendaraan. Automotive Multimedia Interface Collaboration (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,” Juru bicara 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, Daimler-Chrysler, 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.
Fungsional Kolaborasi & Struktural Antar muka Otomotif Multimedia
AMI-C mengembangkan dan standarisasi yang umum multimedia dan
telematika otomotif antarmuka untuk kendaraan jaringan komunikasi.
Tujuan dari kolaborasi antar mukaotomotif multimedia antar 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
-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 dalamkendaraan dan antara kendaraan dan dunia luar
Fungsional
Kolaborasi Antarmuka Otomotif Multimedia Telematika,sebelumnya
menjelaskan pengertian dari kata-kata tersebut agar lebih jelas dan
mudah dipahami.
Sebuah
organisasi yang dibentuk untuk menciptakan standarisasi dunia yang
digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat
bekerja disebut Kolaborasi Antar muka Otomotif Multimedia.
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. Inisiatif ini-yang pendiri Daimler-Chrysler, Ford, General
Motors, Renault dan Toyota – sekarang kelompok semua auto utama pembuat,
dan dengan demikian menyediakan kesempatan strategis baru untuk
mencapai suatu set umum industri mobil.
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.
Selanjutnya pembahasan dari tujuan dan fungsional kolaborasi antarmuka otomotif multimedia telematika :
Dapat
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.
Dapat meningkatkan pilihan dan
mengurangi keusangan sistem elektronik kendaraan. Dapat 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.
Dapat menawarkan standar terbuka dan spesifikasi untuk
informasi interface dalam kendaraan dan antara kendaraan dan dunia luar.
Dapat disimpulkan bahwa seluruh kemajuan teknologi pada setiap bidang
ditujukan untuk mempermudah para penggunanya.
Java Community Process (JCP)
Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank,
dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka
membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini
pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995
karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa
pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga
diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam
desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank
Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe
aslinya.
Sebagai sebuah platform, JAVA terdiri atas 2 bagian utama, yaitu :
-Java Virtual Machine (JVM)
-Java
Application Programming Interface (JAVA API)
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C
untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi
(perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut
diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte
tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem
operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa
level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel,
tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini
dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang
dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap
sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut
menjadi bahasa mesin tujuannya.
Java Application Programming Interface (JavaAPI)
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
serverdengan 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.
Java
Community Process (JCP) Program Management Office (PMO) sangat tertarik untuk
mengumumkan upgrade ke jcp.org baru-baru ini meluncurkan situs web. Setelah web
rumah masyarakat benar-benar dirombak dan dirilis pada bulan Juni 2009, bekerja
terus di belakang layar untuk menambah, meningkatkan, dan memperbaiki fungsi
dan kegunaannya. Anggota PMO berfungsi sebagai tim proyek untuk mendefinisikan
dan menyelesaikan pekerjaan.
Program yang JCP komunitas pengguna telah membantu dalam memberikan umpan balik
pada situs web. Banyak fitur baru dan perbaikan bug pada awalnya diusulkan atau
diidentifikasi oleh pengguna. Beberapa implementasi tersebut akan segera jelas.
Sebagai contoh, semua wiki dan papan sekarang mencakup satu cara bagi pengguna
untuk memberikan pendapat mereka yang cepat konten dengan menghadiahi setiap
item dengan nilai, dengan memilih jumlah bintang tertentu. Selain itu, semua
papan diskusi publik dan wiki termasuk RSS tombol untuk memungkinkan pengguna
untuk berlangganan pembaruan konten. Karena pengaturan keamanan dan persyaratan
browser, RSS feed fitur ini hanya bekerja jika SSL diaktifkan. Misalnya, fitur
RSS melakukan kerja dengan Firefox.
Berbagai bug telah diperbaiki dan navigasi juga telah diperbarui untuk mengatur
informasi yang tersedia. Ini adalah langkah inkremental lain sepanjang perjalanan
untuk meningkatkan jcp.org. Dalam bulan-bulan mendatang, sebagai masyarakat
terus menyarankan perubahan dan perangkat tambahan, upaya akan terus
memperbaiki situs. Semua umpan menyimpan program dan JCP jcp.org bergerak maju
dan ke atas.
Virtual Machine
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:
• Konsolidasi server.
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.
Kelebihan
Virtual Machine (VM)
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.
Kekurangan
Virtual Machine (VM)
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.
Pada Java API ini juga ditawarkan beberapa fitur menarik yang dapat digunakan
oleh user yang sedang berkecimpung di dunia Java. Beberapa fitur tersebut
adalah :
1. Applet
Java Applet merupakan program Java yang berjalan di atas browser. Penggunaan
applet ini akan membuat halaman HTML lebih dinamis dan menarik.
2. Java Networking
3. Java Database Connectivity (JDBC)
JDBC API terdiri atas class dan interface yang ditulis dalam bahasa Java untuk
sebagai alat bantu bagi pembuat program (developer ) dan menyediakan sekumpulan
API untuk mengatur keamanan mengakses database seperti Oracle, MySQL,
PostgreSQL, Microsoft SQL Server. Jadi keunggulan API JDBC dapat mengakses
sumber data dan berjalan pada semua Platform yang mempunyai Java Viortual
Machine (JVM).
4. Java Server Pages (JSP)
JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan
pada platform Java. JSP merupakan engembangan dari Servlet serta merupakan
bagian dari teknologi Java 2 Platform, Enterprise Edition (J2EE).
5. Java Card
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.
Publik formal review dari JSRs akan muncul sebelum JSRs final di putuskan oleh
komite eksekutif JCP. JSRs terakhir yang menyediakan
implementasi
referensi yang merupakan implementasi teknologi dalam bentuk kode sumber dan
teknologi kompatibilitas kit untuk melakukan verifikasi terhadap Java API. Jadi
dapat dikatakan bahwa sebuah JSRs menggambarkan JCP itu sendiri.
referensi:
http://dinapermatasari28.blogspot.com/2013/11/3-open-service-gateway-initiative-osgi_16.html
http://thisisworldwide.blogspot.com/2013/11/kolaborasi-antar-muka-otomotif.html
http://jdwisatrio.blogspot.com/2012/11/java-community-process-jcp.html