Selasa, 14 Januari 2014

Open Services Gateway Initiative (OSGi)

Pengertian Gateway

            Gateway adalah sebuah perangkat yang digunakan untuk menghubungkan
satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda. Definisi tersebut adalah definisi gateway yang utama. Seiring dengan merebaknya internet , definisi gateway seringkali bergeser. Tidak jarang pula pemula menyamakan "gateway" dengan "router" yang sebetulnya tidak benar. Kadangkala, kata "gateway" digunakan untuk mendeskripkan perangkat yang menghubungkan jaringan komputer besar dengan jaringan komputer besar lainnya. Hal ini muncul karena seringkali perbedaan protokol komunikasi dalam jaringan komputer hanya terjadi di tingkat jaringan komputer yang besar.
Gateway adalah sebuah perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda. Istilah gateway merujuk kepada hardware atau software yang menjembatani dua aplikasi atau jaringan yang tidak kompatibel, sehingga data dapat ditransfer antar komputer yang berbeda-beda. Salah satu contoh penggunaan gateway adalah pada email, sehingga pertukaran email dapat dilakukan pada sistem yang berbeda. Host yang digunakan untuk mengalihkan lalu lintas jaringan dari satu jaringan ke jaringan lain, juga digunakan untuk melewatkan lalu lintas jaringan dari satu protokol ke protokol lain. Dipergunakan untuk menghubungkan dua jenis jaringan komputer yang arsitekturnya sama sekali berbeda. Jadi gateway lebih kompleks daripada bridge. Gateway dapat diaplikasikan antara lain untuk menghubungkan IBM SNA dengan digital DNA, LAN (Local Area Network) dengan WAN (Wide Area Network). Salah satu fungsi poko gateway adalah melakukan protocol converting, agar dua arsitektur jaringan komputer yang berbeda dapat berkomunikasi. Gateway juga bisa diartikan sebagai komputer yang memiliki minimal 2 buah network interface untuk menghubungkan 2 buah jaringan atau lebih. Di Internet suatu alamat bisa ditempuh lewat gateway-gateway yang memberikan jalan/rute ke arah mana yang harus dilalui supaya paket data sampai ke tujuan. Kebanyakan gateway menjalankan routing daemon (program yang meng-update secara dinamis tabel routing). Karena itu gateway juga biasanya berfungsi sebagai router. Gateway/router bisa berbentuk Router box seperti yang di produksi Cisco, 3COM, dll atau bisa juga berupa komputer yang menjalankan Network Operating System plus routing daemon. Misalkan PC yang dipasang Unix FreeBSD dan menjalankan program Routed atau Gated. Namun dalam pemakaian Natd, routing daemon tidak perlu dijalankan, jadi cukup dipasang gateway saja.




Open Services Gateway Initiative (OSGi)


The OSGi Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah terbuka organisasi standar yang didirikan pada Maret 1999. Aliansi dan anggota-anggotanya telah ditentukan yang Java berbasis 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 Jasa 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 OSGiOSGi Allianceyang memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGi implementasi berisi lima entri.

Proses Spesifikasi
Spesifikasi OSGi dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk publik secara gratis di bawah Lisensi Spesifikasi OSGi. The Alliance OSGi memiliki kepatuhan program yang hanya terbuka untuk anggota. Pada November 2010, ada tujuh bersertifikat OSGi kerangka implementasi . Sebuah halaman terpisah daftar baik bersertifikat dan non-bersertifikat Implementasi Spesifikasi OSGi, yang meliputi kerangka OSGi dan spesifikasi OSGi lainnya.

Kerangka OSGi (OSGi framework)
Definisi
Kerangka OSGi adalah sistem modul dan layanan platform untuk Java bahasa pemrograman yang menerapkan lengkap dan dinamis model komponen , sesuatu yang seperti tahun 2012 tidak ada di Jawa standalone / VM lingkungan. Aplikasi atau komponen (datang dalam bentuk dari bundel untuk penyebaran) dapat jarak jauh diinstal, mulai, berhenti, diperbarui, dan dihapus tanpa memerlukan restart, pengelolaan paket Jawa / kelas ditentukan dengan sangat rinci. Aplikasi manajemen siklus hidup (start, stop, install, dll) dilakukan melalui API yang memungkinkan untuk remote download dari kebijakan manajemen. Registri layanan memungkinkan berkas untuk mendeteksi penambahan layanan baru, atau penghapusan layanan dan beradaptasi sesuai.
Spesifikasi OSGi telah bergerak melampaui fokus asli gateway layanan, dan sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Area aplikasi lainnya termasuk mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan, armada manajemen dan aplikasi server .

Arsitektur (Architecture)
Setiap kerangka yang menerapkan standar OSGi menyediakan suatu lingkungan untuk modularisasi aplikasi ke dalam bundel kecil. Setiap bundel adalah koleksi, erat dynamically loadable kelas, guci, dan file konfigurasi yang secara eksplisit menyatakan dependensi eksternal mereka (jika ada).
Kerangka ini secara konseptual dibagi menjadi bidang-bidang berikut:

  1. Bundles
    Bundles adalah normal jar komponen dengan nyata tambahan header
  2. Services
    Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO).
  3. Services
    API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
  4. Life-Cycle
    API untuk manajemen siklus hidup untuk (instal, start, stop, update, dan uninstall) bundel.
  5. Modules
    Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
  6. Security
    Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
  7. 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
    •   OSGi/Minimum-1.0
    •   OSGi/Minimum-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
Bundles (Kumpulan)
Bundel adalah sekelompok kelas Java dan sumber daya tambahan yang dilengkapi dengan manifes rinci MANIFEST.MF file pada semua isinya, serta layanan tambahan yang diperlukan untuk memberikan kelompok termasuk kelas Java perilaku yang lebih canggih, sejauh deeming seluruh agregat komponen.
Di bawah ini adalah contoh khas MANIFEST.MF file dengan Headers OSGi:
Bundle-Nama: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: Sebuah bundel Hello World
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Ekspor-Paket: org.wikipedia.helloworld, version = “1.0.0″
Impor-Paket: org.osgi.framework, version = “1.3.0″
Makna dari isi dalam contoh adalah sebagai berikut :
§  Bundle-Nama: Mendefinisikan nama terbaca-manusia untuk bundel ini, Cukup memberikan nama pendek untuk bundel.
§  Bundle-SymbolicName: Header hanya diperlukan, entri ini menetapkan pengenal unik untuk bundel, berdasarkan konvensi nama domain terbalik (digunakan juga oleh paket java ).
§  Bundle-Description: Penjelasan mengenai fungsi bundel itu.
§  Bundle-ManifestVersion: Menunjukkan spesifikasi OSGi digunakan untuk membaca bundel ini.
§  Bundle-Version: menunjuk nomor versi ke bundel.
§  Bundle-Activator: Menunjukkan nama kelas yang akan dipanggil sekali bundel diaktifkan.
§  Ekspor-Paket: mengungkapkan mana Java paket yang terkandung dalam sebuah kemasan akan dibuat tersedia untuk dunia luar.
§  Impor-Paket: Menunjukkan mana Java paket akan diperlukan dari dunia luar untuk memenuhi dependensi yang dibutuhkan dalam sebuah kemasan.

Siklus Kehidupan (Life-cycle)
Lapisan Siklus Hidup menambahkan bundel yang dapat secara dinamis diinstal, mulai, berhenti, diperbarui dan dihapus. Bundel bergantung pada lapisan modul untuk pemuatan kelas tetapi menambahkan API untuk mengelola modul dalam waktu dijalankan. Lapisan siklus hidup memperkenalkan dinamika yang biasanya bukan bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin operasi yang benar dari lingkungan. Hidup operasi siklus sepenuhnya dilindungi dengan arsitektur keamanan.

Bundle Negara
Deskripsi
DIPASANG
Bundel telah berhasil diinstal.
RESOLVED
Semua kelas Java bahwa kebutuhan bundel tersedia. Kondisi ini menunjukkan bahwa bundel ini baik siap untuk memulai atau telah berhenti.
STARTING
Bundel ini sedang dimulai, BundleActivator.start metode akan dipanggil, dan metode ini belum kembali. Ketika bundel memiliki kebijakan aktivasi, bundel akan tetap di negara STARTING sampai bundel diaktifkan sesuai dengan kebijakan aktivasi ..
AKTIF
Bundel ini telah berhasil diaktifkan dan berjalan, Bundle nya Activator mulai metode telah dipanggil dan kembali.
MENGHENTIKAN
Bundel ini sedang dihentikan. The BundleActivator.stop Metode telah dipanggil tetapi metode berhenti belum kembali.
Dihapus
Bundel telah dihapus. Ini tidak bisa pindah ke negara lain.

Di bawah ini adalah contoh dari kelas khas Jawa melaksanakan BundleActivator antarmuka:
Paket org.wikipedia;
impor org.osgi.framework.BundleActivator;
mengimpor org.osgi.framework.BundleContext;
public class Activator mengimplementasikan BundleActivator {
private BundleContext konteks;
kekosongan awal publik (BundleContext konteks) throws Exception {
Sistem keluar println (“Memulai: Hello World”)..;
konteks ini = konteks.;
}
kekosongan berhenti publik (BundleContext konteks) throws Exception {
Sistem keluar println (“Menghentikan: Dunia Kejam Goodbye”)..;
konteks ini = null.;
}
}

Sumber :

Tidak ada komentar:

Posting Komentar