Artikel ini berisikan tentang Teknologi Sistem Informasi...

Tuesday, November 26, 2013

Tulisan OPEN SERVICE GATEWAY INTIATIVE (OSGi)

OPEN SERVICE GATEWAY INTIATIVE (OSGi)


OSGi merupakan kependekan dari Open Services Gateway initiativedan merupakan sebuah modul system dan sercice platform untuk pemrograman java yang mengimplementasikan komponen model yang komplit dan dinamik.

Spesifikasi OSGi


OSGi sekarang digunakan dalam aplikasi mencakup telepon seluler sampai dengan Eclipse IDE (Open Source). Spesifikasi OSGi dikembangkan oleh para anggota dalam sebuah proses terbuka (open process) dan dibuat tersedia untuk umum tanpa biaya apapun (free of charge) dibawah lisensi spesifikasi OSGi (OSGi Specification Licence). OSGiAlliance memiliki program penyesuaian yang hanya terbuka untuk anggota saja. Pada November 2010, ada tujuh implementasi framework OSGi. Sebuah halaman terpisah mencantumkan baik dari tersertifikasi maupun non-sertifikasi  implementasi spesifikasi OSGi, yang meliputi framework OSGi dan spesifikasi OSGi lainnya.


Arsitektur OSGi



 

     Setiap framework yang menerapkan standar OSGi, menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam kumpulan yang lebih kecil. Setiap kumpulan adalah berhubungan erat, koleksi class yang dapat dimuat secara dinamis, jars, dan file-file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada). 

     Frameworknya dibagi secara konseptual dalam bidang-bidang berikut:

  • Bundles
Bundles adalah komponen jar normal dengan header yang lebih jelas.
  • Services
Layanan yang menghubungkan lapisan kumpulan (bundle / bundel) dalam cara yang dinamis dengan menawarkan model cetak-temukan-ikat untuk antar muka sederhana Java lama atau objek sederhana java lama.
  • Services Registry
API untuk jasa manajemen (Service Registration, Service Tracker dan Service Reference).
  • 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 kumpulan (bundle / bundle) dapat mengimpor dan mengekspor kode).
  • Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas kumpulan untuk kemampuan yang sebelumnya telah didefinisikan.
  • Execution Environment
Mendefinisikan metode dan kelas apa yang tersedia dalam platform tertentu. Tidak ada daftar tetap eksekusi lingkungan, karena dapat berubah seiring Java Community Process menciptakan versi  dan edisi dari Java. 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 JRE-1.1
-         From J2SE-1.2 up to J2SE-1.6

Struktur OSGi


Struktur OSGi digambarkan melalui model lapisan (layer) sebagai berikut:


Sumber :http://heavenizzzed.blogspot.com/2013/01/osgi-tugas-pengantar-telematika.html

Tulisan MANAJEMEN DATA TELEMATIKA

MANAJEMEN DATA TELEMATIKA

Apa yang pengertian dari ”Manajemen data Telematika”.

            Manajemen data menurut DAMA (Demand Assigned Multiple Access), adalah pengembangan dan penerapan arsitektur, kebijakan, praktik, dan prosedur yang secara benar menangani siklus hidup lengkap data yang dibutuhkan oleh suatu perusahaan. Jadi, Manajemen data telematika merupakan prosedur yang menangani siklus hidup lengkap data yang dibutuhkan oleh perusahaan dengan bantuan telematika.
            Didalam manajemen data telematika ini, di bagi-bagi menjadi 3,kategori yaitu :
1. Manajemen data sisi klien
2. Manajemen data sisi server
3. Manajemen data base sistem perangkat bergerak

Client-Server

Client-Server merupakan sebuah kemampuan dan layanan komputer untuk meminta request dan menjawab request data ke komputer lain. Setiap instance dari komputer yang meminta layanan / request disebut sebagai client dan setiap instance yang menyediakan/memberikan layanan atau menjawab request disebut server. Data yang diminta oleh client diambil dari database pada sisi server (server side) yang sering disebut database server.
Client server diaplikasikan pada aplikasi mainframe yang sangat besar untuk membagi beban proses loading antara client dan server. Pada awalnya pengertian client server adalah sebuah sistem yang saling berhubungan dalam sebuah jaringan yang memiliki dua komponen utama yang satu berfungsi sebagai client dan satunya lagi sebagai server atau biasa disebut 2-Tier. Ada beberapa pengertian lagi tentang client-server ini, tetapi pada intinya client server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.



Karakteristik Client-Server

Berikut merupakan karakteristik dari client-server :

  • Service
Untuk menyediakan layanan terpisah yang berbeda
  • Shared resource
Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource .
  • Asymmetrical Protocol
Antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.
  • Transparency Location
Proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
  • Mix-and-match
Tidak tergantung pada platform
  • Message-based-exchange
Antara client dan server berkomunikasi dengan mekanisme pertukaran message.
  • Encapsulation of service
Message memberitahu server apa yang akan dikerjakan.
  • Scalability
sistem C/S dapat dikembangkan baik secara vertical maupun horizontal
  • Integrity
Kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri.




Karakteristik sisi client (Client side)
o       Selalu memulai permintaan layanan
o       Menunggu dan menerima balasan dari server
o       Biasanya terhubung dengan server-server kecil dalam satu waktu
o        Berinteraksi langsung dengan pengguna akhir (end user) dengan menggunakan GUI (Graphical User Interface).

 Karakteristik sisi server (Server Side)

o       Pasif
o       Menunggu permintaan dari client
o       Menerima permintaan dari client, kemudian memproses permintaan tersebut dan memberikan balasan / menjawab permintaan kepada client
o       Biasanya menerima koneksi dari sejumlah besar client
o       Tidak berinteraksi langsung dengan pengguna akhir

 Keuntungan Client-Server
Ada beberapa keuntungan yang dapat kita ambil dari penggunaan manajemen data telematika client server ini. Berikut adalah beberapa keuntungan tersebut :
  • Client-server mampu menciptakan aturan dan kewajiban komputasi secara terdistribusi.
  • Mudah dalam maintenance. Memungkinkan untuk mengganti, memperbaiki server tanpa mengganggu client.
  • Semua data disimpan di server Server dapat mengkontrol akses terhadap resources, hanya yang memiliki autorisasi saja.
  • Tempat penyimpanan terpusat, update data mudah. Pada peer-to-peer, update data sulit.
  • Mendukung banyak clients berbeda dan kemampuan yang berbeda pula.


Kelemahan Client Server
Selain memiliki kelemahan, penggunaan client server juga tentunya memiliki kelemahan. Berikut adalah kelemahan-kelemahan tersebut :
  • Traffic congestion on the network, jika banyak client mengakses ke server secara simultan, maka server akan overload.
  • Berbeda dengan P2P network, dimana bandwidthnya meningkat jika banyak client merequest. Karena bandwidth berasal dari semua komputer yang terkoneksi kepadanya.
  • Pada client-server, ada kemungkinan server fail.
  • Pada P2P networks, resources biasanya didistribusikan ke beberapa node sehingga masih ada node yang dapat meresponse request.


Manajemen data base sistem perangkat bergerak Open Service Gateway Initiative (OSGi)

Open Service Gateway Initiative (OSGi) adalah sebuah system dan aplikasi interoperability berbasis komponen platform yang terintegrasi. OSGi merupakan system modul dinamik untuk Java. Teknologi OSGi adalah Universal Middleware. Teknologi OSGi menyediakan sebuah service-oriented, lingkungan yang berbasis komponen untuk pengembang dan menawarkan jalan standard untuk mengatur siklus hidup software. Kemampuan ini dapat menambah nilai jangkauan dari computer dan peralatan yang menggunakan platform Java dengan sangat hebat. Teknologi OSGi mengadopsi keuntungan dari menambah time-to-market dan mengurangi biaya pengembangan karena teknologi OSGi menyediakan subsistem komponen yang terintegrasi dari pre-build dan pre-tested. Teknologi ini juga mengurangi biaya perawatan dan memberikan kesempatan aftermarket yang baru dan unik karena jaringan dapat digunakan untuk update secara dinamik dan mengirimkan service dan aplikasi di lapangan.



OSGi ARSITEKTUR

OSGi adalah sebuah set spesifikasi yang mendefinisikan sebuah komponen system dinamik untuk Java. Spesifikasi ini memungkinkan sebuah model pengembangan dimana aplikasi (secara dinamik) terdiri dari berbagai komponen yang berbeda. Spesifikasi OSGi memungkinkan komponen-komponennya untuk menyembunyikan implementasinya dari komponen lainnya ketika berkomunikasi melalui services dimana biasanya ketika hal ini berlangsung implementasi antar komponen dapat terlihat jelas. Model yang simple ini telah jauh mencapai efek dari segala aspek dari proses pengembangan software.

Lapisan OSGi

Definisi

  1. Bundles                           :bundles adalah komponen OSGi yang dibuat oleh pengembang/developer.
  2. Services                         :lapisan service menghubungkan bundles dalam sebuah jalan dinamik dengan menawarkan model publish-find-bind untuk objek Java yang lama.
  3. Life Cycle                          :API untuk menginstall, memulai, menghentikan, update dan menguninstall bundles.
  4. Modules                       :lapisan yang menjelaskan bagaimana bundles dapat mengimport dan mengexport kode.
  5. Security                             : Lapisan yang memegang aspek keamanan.
  6. Execution Environment    : menjelaskan class dan method apa yang ada di platform.
 Sumber : http://macansirkuit.blogspot.com/2012/11/manajemen-data-telematika.html

Tulisan Middleware Telematika


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:

o        Menyediakan lingkungan pemrograman aplikasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi .
o        Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi.
o        Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.

Tujuan Umum Middleware Telematika

a.       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.
b.       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 :

a.       Open Software Foundation’s Distributed Computing Environment (DCE),
b.       Object Management Group’s Common Object Request Broker Architecture (CORBA)
c.       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 :
1.         Komputasi tradisional,
2.         Komputasi berbasis jaringan,
3.         Komputasi embedded,
4.         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

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

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

Sumber : http://ratnasariii.blogspot.com/2012/11/middleware-telematika.html