10. Open Services Gateway Initiative (OSGi)
OSGI adalah konsorsium yang didirikan oleh Ericsson, IBM, Oracle, dan Sun. OSGI dikenal juga sebagai Dynamic Module System untuk java. OSGI merupakan framework untuk mengumpulkan komponen (bundle) fungsional dalam membuat suatu program.
OSGI menyediakan services seperti manajemen dalam siklus hidup suatu program dansecurity-nya. Beberapa OSGI yang open source :
a. Equinox
b. Knoplerfish
c. Apache felix
Implementasi
dari OSGI adalah membolehkan pengembang aplikasi untuk memecah aplikasi
menjadi beberapa modul yang saling tergantung (interdependencies). Dengan begitu, aplikasi lebih mudah untuk diatur.
Alasan
kunci teknologi OSGi saat ini begitu sukses adalah bahwa ia menyediakan
komponen yang sangat dewasa sistem yang benar-benar bekerja dalam
jumlah yang mengejutkan lingkungan. Sebuah sistem komponen yang
benar-benar digunakan untuk membangun aplikasi yang sangat kompleks
seperti IDE (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle / BEA Weblogic, Jonas, JBoss), penerapan kerangka kerja (Spring, Guice), otomasi industri, perumahan gateway, telepon, dan banyak lagi.
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.
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
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
Pada
saat ini, teknologi OSGi sudah sangat banyak diimplementasikan untuk
berbagai macam keperluan dalam kehidupan sehari-hari diantaranya di
bidang teknologi informasi dan industri serta di bidang ilmu komputer.
- Dalam
kehidupan sehari-hari. Diimplementasikan untuk mengendalikan alat-alat
elektronik dalam rumah tangga dengan internet, yaitu dengan
menghubungkan berbagai framework OSGi
ini untuk mengendalikan alat-alat rumah tangga yang bersifat
elektronik. Hal ini dilakukan dengan berbagai protocol network yaitu
Bluetooth, uPnP,HAVi, dan X10. Dengan bantuan Jini dan standart OSGi
dari sun microsystem yaitu Java Embedded Server. Teknologi ini dinamakan
home network dan Jini adalah salah satu standard untuk pembuatan home
network yang berbasis Java.
- Teknologi
dan industri. Dalam hal ini implementasi OSGi dalam teknologi dan
industri adalah untuk otomatisasi industri. Seperti otomatisnya sistem
dalam gudang yang dapat meminta dalam PPIC untuk mengadakan bahan baku,
dan masih banyak yang lain.
- Ilmu
Komputer. Dalam ilmu komputer ini sangat banyak pengembang yang
memanfaatkan teknologi OSGi ini. Dari surfing di internet banyak yang
mengulas tentang pemrograman Java yang mengapdopsi teknologi OSGi ini.
Salah satu contoh adalah knopflerfish merupakan framework untuk
mengimplementasikan OSGi didalam program Java. Dan juga eclipse IDE
merupakan OSGi framework yang dikembangkan oleh eclipse dan berbasis
GUI. Dan masih banyak juga dalam server serta program lain yang
mengimplementasikan teknologi OSGi ini.
Sumber:
http://wartawarga.gunadarma.ac.id/2009/12/open-service-gateway-intiative-osgi/
11.The Automotive Multimedia Interface Kolaborasi (AMIC)
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. 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
persyaratan sebagai dasar untuk konvergensi pasar.
Untuk berbagai alasan, kendaraan telah tertinggal di belakang rumah
dan perangkat komputasi mobile ketika datang ke alat produktivitas dan
multimedia. Keamanan, kehandalan, biaya, dan desain waktu memiliki semua
faktor dalam produsen mobil 'menunda penerimaan teknologi baru. Makalah
membahas otomotif standar untuk antarmuka multimedia. Organisasi
seperti Otomotif Kolaborasi Multimedia Interface (AMI-C) memiliki
kesempatan untuk menjadi kekuatan pendorong di belakang upaya
standardisasi.
Depan yang berbeda, 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
Sumber : http://www.osun.org/Automotive+Multimedia+Interface+Colaboration-pdf.html
12. Proses Komunitas Java (Java Community Process JCP)
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.
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.
· Fitur
API adalah sebuah abstraksi. Perangkat lunak yang menyediakan
fungsionalitas yang dijelaskan oleh API dikatakan sebuah implementasi
dari API.
API
dapat Tergantung pada bahasa, yaitu hanya tersedia dalam bahasa
pemrograman tertentu, dengan menggunakan sintaks dan unsur-unsur bahasa
itu untuk membuat API nyaman untuk digunakan dalam konteks ini.
Bahasa-independen, yaitu ditulis dengan cara yang berarti dapat
dipanggil dari beberapa bahasa pemrograman. Ini adalah fitur yang
diinginkan untuk layanan-gaya API yang tidak terikat pada suatu proses
atau sistem dan dapat diberikan sebagai remote procedure calls atau
layanan web. Sebagai contoh, sebuah website yang memungkinkan pengguna
untuk memeriksa restoran lokal mampu lapisan tinjauan di atas peta
mereka diambil dari Google Maps, karena Google Maps API yang memiliki
memungkinkan hal ituGoogle Maps 'API mengontrol informasi apa pihak
ketiga situs bisa ambil, dan apa yang bisa dilakukan dengan itu. "API"
dapat digunakan untuk mengacu ke antarmuka lengkap, satu fungsi, atau
bahkan satu set berbagai API yang disediakan oleh sebuah organisasi.
Dengan demikian, cakupan makna biasanya ditentukan oleh orang atau
dokumen yang mengkomunikasikan informasi.
· 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 :
http://code86.wordpress.com/2009/11/19/layanan-interface-dan-fitur-fitur-telematika/