Total Tayangan Halaman

Jumat, 18 Januari 2013

OSGi, Virtualization, dan API



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

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.


Arsitektur:
Setiap kerangka yang menerapkan standar OSGi 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:
·         Bundles
Bundles adalah normal jar komponen dengan nyata tambahan header
·         Services
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek (POJO).
·         Services
API untuk jasa manajemen (ServiceRegistration, ServiceTracker dan ServiceReference).
·         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 bungkusan dapat mengimpor dan mengekspor kode).
·         Security
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra-didefinisikan kemampuan.
·         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 CDC-1.1/Foundation-1.1
•    OSGi/Minimum-1.0 OSGi/Minimum-1.0
•    OSGi/Minimum-1.1 OSGi/Minimum-1.1
•    JRE-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

Contoh Penerapan OSGi (Open Service Gateaway Initiative)
Merupakan serangkaian spesifikasi yang mendefinisikan sebuah sistem komponen dinamik untuk Java. Spesifikasi ini memungkinkan sebuah model pengembangan dimana aplikasi (secara dinamis) disusun dari bermacam komponen (yang dapat digunakan ulang) berbeda. Spesifikasi OSGi memungkinkan komponen untuk menyembunyikan implementasi mereka dari komponen lainnya sementara berkomunikasi menggunakan service, dimana objeknya secara khusus dibagi diantara komponen. Model sederhana ini secara mengejutkan telah mencapai efek untuk hampir semua aspek dari proses pengembangan perangkat lunak. OSGi merupakan teknologi pertama yang berhasil memecahkan masalah-masalah nyata dalam pengembangan perangkat lunak dengan menggunakan sebuah komponen sistem. Pengguna teknologi OSGi melihat pengurangan kompleksitas yang signifikan hampir dalam semua aspek pengembangan perangkat lunak. Kode program yang lebih mudah ditulis dan diuji, dapat dipakai ulang, membangun sistem menjadi lebih mudah, pembukaan yang lebih dapat diatur, bugs yang dapat dideteksi lebih cepat dan runtime yang menyediakan sebuah tanda yang memberitahu apa yang sedang berjalan.

OSGi mempunyai lapisan seperti pada gambar berikut ini:




http://code86.wordpress.com/2009/12/20/middleware-osgi-ami-c-jcp/

Original Post by Joan Mathilda Picauly
Referensi:



Virtualization
dalam dunia komputer, virtualisasi adalah teknik untuk membuat abstraksi (bisa dikatakan emulasi) resources komputer. resources dapat berupa: satu set hardware komputer (mainboard + harddisk + dll), satu set OS, atau dapat berupa hanya sebuah aplikasi.

untuk membuat system virtual, ada 2 cara yang dipakai:
* Full virtualization & Hardware-assisted virtualization
* Paravirtualization

Contoh konkritnya adalah: OS dalam OS, aplikasi dalam aplikasi.
Contoh softwarenya: VMware, Xen, Citrix, KVM, virtual-box, Solaris Zones.



Application Programming Interface (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 mengandung ratusan kelas standar :
·         J2SE: Edisi standar
·         J2EE: Edisi enterprise (lebih banyak kelas)
·         J2ME: Subset kelas standar

Kelas-kelas ini memungkinkan pembuatan program dengan mudah. API Java cukup lengkap, mulai dari yang sederhana (misalnya struktur data Stack) Sampai yang kompleks (seperti enkripsi dan akses file ZIP).

Cara Memakai API
Dilakukan dengan mengimpor package/kelas import java.util.Stack;
Ada beberapa kelas bernama sama dipackage yang berbeda, yaitu :
·         import salah satu dan gunakan nama lengkap untuk yang lain, atau
·         gunakan nama lengkap semua kelas

Ada tiga jenis Bahasa Pemrograman Java Application Programming Interface (API):

inti resmi Java API, yang terdapat dalam JDK atau JRE, dari salah satu edisi dari Java Platform. Tiga edisi dari Java Platform adalah Java ME (Micro edition), Java SE (Standard edition), dan Java EE (Enterprise edition).
Resmi opsional API yang dapat didownload secara terpisah. Spesifikasi API ini didefinisikan sesuai dengan Spesifikasi Jawa Request (JSR), dan kadang-kadang beberapa API ini kemudian dimasukkan dalam API inti dari platform (contoh yang paling terkenal dari jenis ini adalah swing).
API tidak resmi, yang dikembangkan oleh pihak ketiga, tetapi tidak berkaitan dengan JSRs apapun.
Pihak-pihak ketiga dapat dengan bebas mengimplementasikan spesifikasi JSR API resmi (bahkan untuk API inti dari bahasa), memberikan bahwa mereka menyesuaikan diri dengan Teknologi Kompatibilitas Kit (TCK) untuk JSR ini (yang TCK adalah paket tes yang memeriksa kesesuaian dari implementasi untuk JSR). The result of this freedom is that many official APIs have more implementations than the Sun’s Reference implementation (RI). Hasil dari kebebasan ini adalah bahwa banyak API resmi memiliki lebih implementasi daripada Matahari pelaksanaan Referensi (RI). Anda dapat menggunakan kelas Java dan API untuk mengakses konten di berbagai server konten.

The DB2 Content Management pusat informasi yang menyediakan dokumentasi API berikut:

·         Kelas Java dan API
·         JavaBeans
·         C + + kelas dan API
·         Tabel kontrol sistem
·         Perpustakaan pengguna server keluar
·         DB2 Content Manager aturan sistem konektor

Berikut ini adalah sebagian daftar Application Programming Interface (API) untuk Java Programming Language.

·         Java Platform, Standard Edition (Java SE)
·         Bundled 1.1.1 API (bagian dari standar download)
·         Opsional 1.1.2 API (download terpisah)
·         Java Platform, Enterprise Edition (Java EE)
·         Bundled 1.2.1 API (bagian dari standar download)
·         Opsional 1.2.2 API (download terpisah)
·         Java Platform, Micro Edition (Java ME)
·         Unofficial API (Dirilis oleh pihak ketiga)


Sumber:

http://kur2003.if.itb.ac.id/file/IF2281_Java_API.pdf
http://en.wikipedia.org/wiki/api
Original Post by Selly Margaretha