Minggu, 20 Januari 2013

Pengantar Telematika 3 [OSGI-AMIC-JCS]


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






Referensi :