Selasa, 26 November 2013

Open Service Gateway

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 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.

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

Keuntungan Teknologi OSGi

Menjelaskan teknologi OSGi kepada yang belum familiar dengan teknologi ini sangatlah sulit. Ada begitu banyak artikel yang menjelaskan teknologi OSGi tetapi hal itu masih belum bisa dimengerti oleh user yang benar-benar awam karena teknologi OSGi menyediakan solusi untuk permasalahan yang banyak orang menganggap bahwa maslah itu merupakan aspek instrinsik dari Java.
Permasalahan ini sebenarnya bukan masalah instrinsik dari Java dan teknologi OSGi dapat mengatasi itu semua. Alasan utama mengapa teknologi OSGi dapat sukses karena teknologi ini menyediakan komponen system yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak jumlahnya. Komponen system yang biasa digunakan untuk membangun aplikasi yang tingkat kekompleksannya sangat tinggi seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industry, telepon dan banyak lainnya.

Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut :

1. Mengurangi kompleksitas : mengembangkan dengan OSGi berarti menembangkan bundles : salah satu komponen OSGi. Bundles adalah modul. Bundles menyembunyikan aspek internalnya dari bundles lainnya. Hal ini berarti ada banyak kebebasan untuk menggantinya di kemudian hari.
2. Dapat digunakan kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
3. Real World : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
4. Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
5. Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
6. Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7. Transparan
8. Banyak versinya
9. Simple : OSGi API sangat simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10. Ukurannya kecil
11. Kinerjanya cepat
12. Malas : Malas dalam software itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
13. Aman
14. Sederhana
15. Tidak Mengganggu Kinerja Aplikasi Lainnya
16. Berjalan dimana saja
17. Digunakan secara luas
18. Didukung Oleh Berbagai Perusahaan : OSGi juga didukung oleh berbagai perusahaan seperti Oracle, IBM, Samsung, Nokia, IONA, Motorola, NTT, Siemens, Hitachi, Deutsche Telekom, Redhat, Ericsson, dan masih banyak lagi.

Sumber :

http://cosaviora.blogspot.com/2011/01/spesifikasi-dari-osgi-open-service.html
http://luckyug.wordpress.com/2013/11/19/open-service-gateway/

Proses Komunikasi Java

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. The JCP melibatkan penggunaan Spesifikasi Jawa Permintaan (JSRs) – dokumen formal yang menggambarkan spesifikasi dan teknologi yang diusulkan untuk menambah platform Java. Publik formal review dari JSRs akan muncul sebelum JSR final dan Komite Eksekutif JCP suara di atasnya. JSR terakhir yang menyediakan implementasi referensi yang merupakan implementasi bebas teknologi dalam bentuk kode sumber dan Teknologi Kompatibilitas Kit untuk memverifikasi spesifikasi API. Sebuah JSR menggambarkan JCP itu sendiri. Seperti tahun 2009, JSR 215 menggambarkan versi sekarang (2.7) dari JCP.



Teknologi Virtual Machine

     Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau sistem 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 pada satu komputer. Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkansistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370   dan   S/390   dan   disebut   sebagai   sistem  operasi  VM/ESA  (Enterprise System Architecture).


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:

1. 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.

2. 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.

3. Menjalankan perangkat  lunak terdahulu
Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih baru.

4. Memudahkan  recovery  sistem 
Solusi   virtualisasi   dapat   dipakai   untuk rencana recovery sistem yang memerlukan portabilitas dan fleksibilitas antar platform.

5. Demonstrasi perangkat lunak
Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.

Kelebihan Virtual Machine (VM)

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:

 1. 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.

2. Pengimplementasian sulit.
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.


Sumber :
http://luckyug.wordpress.com/2013/11/19/proses-komunikasi-java/
http://sarrahjennonica.blogspot.com/2013/11/tulisan-9-proses-komunikasi-java.html 


Kolaborasi Antarmuka Otomotif Multimedia

Kendaraan segera akan mengalamin peningkatan perlengkapan dengan ditambahkannya sistem digital yang mendukung beberapa aplikasi seperti untuk mengakses informasi, komunikasi, kemanan dan internet. Ketertarikan terhadap aplikasi multimedia pada kendaraan meningkat, misalnya pada periode 2003-2005. Seperti: pengenalan aplikasi real-time, kamera kecepatan tinggi, seiring dengan semakin meningkatnya komersialisasi lalu lintas multimedia dan pelayanan pariwisata dan travel. Oleh sebab itu, kebutuhan akan multimedia bus yang diletakkan pada kendaraan akan meningkat.

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.

1. Bagaimana Fungsional Kolaborasi Antarmuka Otomotif Multimedia (AMIC) Telematika

Automotive Multimedia Interface Collaboration (AMI-C) adalah mengembangkan dan standarisasi yang umum multimedia dan telematika otomotif untuk kendaraan antarmuka jaringan komunikasi.

Tujuan utamanya adalah untuk:

    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.


Sumber :