Sabtu, 06 Desember 2014

Pengertian OSGI (Open Service Gateway Initiative)

OSGI (Open Service Gateway Initiative) adalah sebuah rencana industri untuk cara standar untukmenghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan ke Internet.OSGI berencana menentukan program aplikasi antarmuka (API) untuk pemrogrammenggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia layanan danperangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan dibangun pada bahasapemrograman 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 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.

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.

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.

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.

Teknologi OSGi meliputi :

·         The Problem (Permasalahan)
·         The Solution (Pemecahan Masalah)
·         The Framework (Kerangka Kerja)
·         Standard Services (Pelayanan Standard)
·         Framework Services (Pelayanan Kerangka Kerja)
·         System Services (Pelayanan Sistem)
·         Protocol Services (Pelayanan Protokol)
·         Miscellaneous Services (Bermacam-macam pelayanan)
·         Conclusion (Kesimpulan)

Framework OSGi
Komponen inti dari Spesifikasi OSGi adalah Framework OSGi. Framework menyediakan lingkungan standar untuk aplikasi (disebut bundel).

Layer-layer OSGI
·         Bundels – komponen OSGi yang dibuat oleh pengembang
·         Services – Layanan bundel menghubungkan lapisan dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek.
·         Life Cycle – The API untuk instalasi, start, stop, update, dan menghapus bundel.
·         Modules – Lapisan yang mendefinisikan bagaimana sebuah bundel dapat mengimpor dan mengekspor kode.
·         Security (Keamanan) – Lapisan yang menangani aspek keamanan.
·         Execution Environment (Eksekusi Lingkungan) – Menetapkan metode dan kelas-kelas apa saja yang tersedia dalam platform tertentu.

Penjelasan:

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

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

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

·         Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.

·         Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).

·         Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.

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

Implementasi OSGI

Teknologi Osgi sudah sangat banyak dikembangkan untuk berbagai macam keperluan dalamsehari hari maupun di bidang teknologi informasi dan industry serta di bidang ilmu komputer.

·         Dalam kehidupan sehari-hari
Dikembangkan 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 microsistem yaitu Java Embedded Server. Teknologi ini dinamakan home network dan jinni adalah salah satu standart untuk pembuatan home nerwork yang berbasis java.

·         Teknologi dan industry
Dalam hal ini pengembangan OSGI dalam Teknologi dan industri adalah untuk otomatisasi industri. Seperti otomatisnya system 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 melakukan OSGI didalam program Java. Dan juga eclipse IDE merupakan OSGI frameworkyang dikembangkan oleh eclipse dan berbasis GUI. Dan masih banyak juga dalam server serta program-program lain yang mengembangkan teknologi OSGI ini.

Sumber:
http://uriflabamba.blogspot.com/2009/12/open-service-gateway-initiative-osgi.html
http://id.scribd.com/doc/46153310/Microsoft-Word-Pengertian-OSGI


Middleware Telematika

Dalam dunia teknologi informasi, terminologi middleware adalah istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah progaram/aplikasi yang telah ada. Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi. Adapun fungsi dari middleware adalah:
·         Menyediakan lingkungan pemrograman aplikasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi .
·         Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi.
·         Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.

Tujuan Umum Middleware Telematika

Middleware adalah S/W penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan. Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda.

Middleware yang paling banyak dipublikasikan :

·         Open Software Foundation’s Distributed Computing Environment (DCE),
·         Object Management Group’s Common Object Request Broker Architecture (CORBA)
·         Microsoft’s COM/DCOM (Component Object Model).

Lingkungan Komputasi Dari Middleware Telematika

Suatu lingkungan di mana sistem komputer digunakan. Lingkungan komputasi dapat dikelompokkan menjadi empat jenis yaitu :

·         Komputasi tradisional,
·         Komputasi berbasis jaringan,
·         Komputasi embedded,
·         Komputasi grid.

Pada awalnya komputasi tradisional hanya meliputi penggunaan komputer meja (desktop) untuk pemakaian pribadi di kantor atau di rumah. Namun, seiring dengan perkembangan teknologi maka komputasi tradisional sekarang sudah meliputi penggunaan teknologi jaringan yang diterapkan mulai dari desktop hingga sistem genggam. Perubahan yang begitu drastis ini membuat batas antara komputasi tradisional dan komputasi berbasis jaringan sudah tidak jelas lagi.

Lingkungan komputasi itu sendiri bisa diklasifikasikan berdasarkan cara data dan instruksi programnya dihubungkan yang terdiri atas empat kategori berikut ini :

·         Single instruction stream-single data stream (SISD) : Satu prosesor dan biasa juga disebut komputer sekuensial
·         Single instruction stream-multiple data stream (SIMD) : Setiap prosesor memiliki memori lokal dan duplikasi program yang sama sehingga masing-masing prosesor akan mengeksekusi instruksi/program yang sama
·         Multiple instruction stream-single data stream (MISD) : Data yang ada di common memory akan dimanipulasi secara bersamaan oleh semua prosesor
·         Multiple instruction stream-multiple data stream (MIMD) : Setiap prosesor memiliki kontrol unit, memori lokal serta memori bersama (shared memory) yang mendukung proses paralelisasi dari sisi data dan instruksi.

Kebutuhan Middleware

Middleware adalah software yang dirancang untuk mendukung pengembangan sistem tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling berhubungan. Dengan bantuan middleware, data yang sama dapat digunakan oleh customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Middleware dapat juga berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses. Middleware tersedia untuk berbagai platform, dengan berbagai jenis. Jenis middleware yang umum dikembangkan saat ini dapat dikelompokkan dalam lima kategori besar, salah satunya adalah homegrown, yang dikembangkan khusus untuk kebutuhan internal organisasi, model RPC/ORB (Remote Procedure Call/Object Request Broker), Pub/Sub (Publication/Subscription), Message Queuing, dan TP (Transaction Processing) Monitor.

Di Linux, banyak perusahaan besar seperti IBM, BEA, dan Schlumberger yang sedang dan sudah mengerjakan berbagai sistem middleware. Salah satu produk middleware IBM untuk platform Linux adalah BlueDrekar™. BlueDrekar™ adalah middleware berbasis spesifikasi Bluetooth™ untuk koneksi peralatan wireless di lingkungan rumah dan kantor. Produk middleware ini menyediakan protocol stack dan berbagai API (Application Programming Interfaces) yang dibutuhkan aplikasi berbasis jaringan. Diharapkan adanya BlueDrekar™ di Linux ini akan mempercepat pertumbuhan aplikasi dan peralatan berbasis Bluetooth™.

Contoh lain, BEA Tuxedo™ dari BEA System, sebuah middleware transaction processing monitor yang juga mendukung model ORB, tersedia untuk berbagai platform, termasuk RedHat Linux. BEA Tuxedo memungkinkan kombinasi pengembangan aplikasi dengan model CORBA dan ATMI (Application-to-Transaction Monitor Interface). Sebuah aplikasi yang dibuat untuk Tuxedo dapat berjalan pada platform apapun yang ditunjang oleh BEA tanpa perlu modifikasi dalam kode aplikasinya.

Dalam bidang kartu magnetis (smart cards), Schlumberger adalah salah satu pengembang dan produsen CAC (Common Access Card) dan middleware CAC-nya. Produk middleware ini yang diberi nama CACTUS (Common Access Card Trusted User Suite), dapat berjalan di atas Linux. memberi kemampuan koneksi pada level aplikasi ke kartu magnetis dan fungsi-fungsi kriptografis. ShaoLin Aptus adalah sebuah middleware untuk Linux, yang mengubah jaringan PC menjadi sebuah arsitektur jaringan komputer yang bersifat 'fit client'. Produk yang memenangkan 'IT Excellence Awards 2002' di Hong Kong ini, mengembangkan konsep ' t h i n c l i e nt' dengan memperbolehkan komputasi berbasis client. Shaolin Aptus membuat banyak klien dapat menggunakan sistem operasi dan aplikasi yang tersimpan di server melalui LAN secara transparan. Saat ini, hampir seluruh aplikasi terdistribusi dibangun dengan menggunakan middleware. Masih menurut IDC, perkembangan segmen middleware terbesar akan terjadi dalam alat yang membantu sistem manajemen bisnis. Hal ini terjadi untuk memenuhi permintaan akan integrasi aplikasi yang lebih baik. Linux, didukung oleh bermacam produk middleware, memberikan pilihan sistem operasi dan middleware yang stabil, dengan harga yang bersaing.

Contoh-contoh Middleware

1.     Java’s : Remote Procedure Call
Remote Procedure Calls (RPC) memungkinkan suatu bagian logika aplikasi untuk didistribusikan pada jaringan. Contoh :
·         SUN RPC, diawali dengan network file system (SUN NFS).
·         DCE RPC, sebagai dasar Microsoft’s COM.
·         Object Request Brokers (ORBs) memungkinkan objek untuk didistribusikan dan dishare pada jaringan yang heterogen. Pengembangan dari model prosedural RPC, –Sistem objek terdistribusi, seperti CORBA, DCOM, EJB, dan .NET memungkinkan proses untuk dijalankan pada sembarang jaringan.

2.    Object Management Group’s : Common, dan Object Request Broker Architecture (COBRA)
3.    Microsoft’s COM/DCOM (Companent Object Model), serta
4.    Also .NET Remoting.


Sumber : 
http://imammulya21.wordpress.com/2009/12/04/middleware-telematika/
http://vhinta.blogspot.com/2012/10/middleware-telematika.html

Teknologi Yang Terkait Dengan Telematika

Teknologi yang terkait dengan telematika terdapat 6 macam  antara lain:

·        Head-Up Displays Systems
Head-Up Displays Systems atau disingkat (HUD) merupakan tampilan transparan yang menampilkan data tanpa memerlukan pengguna untuk melihat ke arah yang lain dari sudut pandang biasanya. Asal nama dari teknologi ini yaitu pengguna dapat melihat informasi dengan kepala yang terangkat (head up) dan melihat ke arah depan daripada melihat ke arah bawah bagian instrumen. Meskipun mereka pada awalnya dikembangkan untuk penerbangan militer, HUDs sekarang digunakan dalam pesawat komersial, mobil, dan aplikasi lainnya.

·        Tangible User Interface
Tangible User Interface, yang disingkat TUI, adalah antarmuka dimana seseorang dapat berinteraksi dengan informasi digital lewat lingkungan fisik. Salah satu perintis TUI ialah Hiroshi Ishii, seorang profesor di Laboratorium Media MIT yang memimpin Tangible Media Group. Pandangan istimewanya untuk tangible UI disebut tangible bits, yaitu memberikan bentuk fisik kepada informasi digital sehingga membuat bit dapat dimanipulasi dan diamati secara langsung.

·        Computer Vision
Computer Vision (Komputer Visi) merupakan ilmu pengetahuan dan teknologi dari mesin yang melihat. Sebagai suatu disiplin ilmu, Computer Vision berhubungan dengan teori untuk membangun sistem buatan yang memperoleh informasi dari gambar. dengan teori yang digunakan untuk membangun sistem kecerdasan buatan yang membutuhkan informasi dari citra (gambar). Data citranya dapat dalam berbagai bentuk, misalnya urutan video, pandangan dari beberapa kamera, data multi dimensi yang di dapat dari hasil pemindaian medis.

Sebagai teknologi disiplin, visi komputer berusaha untuk menerapkan teori dan model untuk pembangunan sistem visi komputer. Contoh aplikasi visi komputer mencakup sistem untuk :
1.     Pengendalian proses (misalnya, sebuah robot industri atau kendaraan otonom).
2.    Mendeteksi peristiwa (misalnya, untuk pengawasan visual atau orang menghitung).
3.    Mengorganisir informasi (misalnya, untuk pengindeksan database foto dan gambar urutan).
4.    Modeling benda atau lingkungan (misalnya, industri inspeksi, analisis gambar medis atau topografis model).
5.    Interaksi (misalnya, sebagai input ke perangkat untuk interaksi manusia komputer).

Visi komputer juga dapat digambarkan sebagai pelengkap (tapi tidak harus lawan) penglihatan biologis.
Biologis visi, persepsi visual manusia dan berbagai hewan yang dipelajari, sehingga dalam model tentang bagaimana sistem ini beroperasi dalam hal proses-proses fisiologis. Komputer visi di sisi lain, menjelaskan sistem penglihatan buatan yang diimplementasikan dalam perangkat lunak dan perangkat keras. Interdisipliner pertukaran antara biologis dan visi komputer telah terbukti semakin bermanfaat bagi kedua bidang.
Sub-domain visi komputer meliputi adegan rekonstruksi, acara deteksi, pelacakan video, pengenalan obyek, belajar, pengindeksan, gerak estimasi, dan gambar restorasi.

·        Browsing Audio Data
Browsing Audio Data merupakan metode browsing jaringan yang digunakan untuk browsing video / audio data yang ditangkap oleh sebuah IP kamera. Jaringan video / audio metode browsing mencakupi langkah-langkah sebagai berikut :
1.     Menjalankan sebuah program aplikasi komputer lokal untuk mendapatkan kode identifikasi yang disimpan dalam kamera IP
2.    Transmisi untuk mendaftarkan kode identifikasi ke DDNS ( Dynamic Domain Name Server) oleh program aplikasi
3.    Mendapatkan kamera IP pribadi alamat dan alamat server pribadi sehingga pasangan IP kamera dan kontrol kamera IP melalui kamera IP pribadi alamat dan alamat server pribadi
4.    compile ke layanan server melalui alamat server pribadi sehingga untuk mendapatkan video / audio data yang ditangkap oleh kamera IP, dimana server layanan menangkap video / audio data melalui Internet.

·        Speech Recognition
Dikenal dengan pengenal suara otomatis (automatic speech recognition) atau pengenal suara komputer (computer speech recognition) merupakan suatu sistem yang dapat mengidentifikasi seseorang dari suara dimana merubah suara menjadi tulisan. Istilah ‘voice recognition’ digunakan untuk mengenali atau mengidentifikasi siapa yang berbicara, sedangkan istilah ‘Speech Recognition’ digunakan untuk mengidentifikasi apa yang diucapkannya.

·        Speech Synthesis
Speech synthesis merupakan hasil kecerdasan buatan dari pembicaraan manusia. Komputer yang digunakan untuk tujuan ini disebut speech syhthesizer dan dapat diterapkan pada perangkat lunak dan perangkat keras. Sebuah sistem text to speech (TTS) merubah bahasa normal menjadi pembicaraan.


Sumber :
http://nugliztajulie.wordpress.com/2009/12/05/teknologi-yang-terkait-antar-muka-telematika/
 http://heranapit.blogspot.com/2010/10/teknologi-yang-terkait-antar-muka.html