Rabu, 23 Januari 2013

1. Spesifikasi dan arsitektur OSGI serta penerapannya



1.     Spesifikasi dan arsitektur OSGI serta penerapannya
Inti bagian dari spesifikasi adalah suatu kerangka kerja yang mendefinisikan aplikasi model manajemen siklus hidup, sebuah layanan registrasi, sebuah lingkungan eksekusi dan modul. Berdasarkan kerangka ini, sejumlah besar OSGI layers, API, dan Jasa telah ditetapkan. 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.

Spesifikasi OSGI yang sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah aplikasi lain meliputi mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), armada manajemen dan aplikasi server. Adapun spesifikasi yang lain dimana OSGI akan dirancang untuk melengkapi standar perumahan yang ada, seperti orang – orang LonWorks (lihat kontrol jaringan), CAL, CEBus, HAVi, dan lain-lain.


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.

KEUNTUNGAN TEKNOLOGI OSGi
Menjelaskan teknologi OSGi kepada yang belum familiar dengan teknologi ini sangatlah sulit. Ada begitu banyak artikel yang menjelaskan teknologi OSGi tetapi hal itu masih belum bisa dimengerti oleh user yang benar-benar awam karena teknologi OSGi menyediakan solusi untuk permasalahan yang banyak orang menganggap bahwa maslah itu merupakan aspek instrinsik dari Java.
Permasalahan ini sebenarnya bukan masalah instrinsik dari Java dan teknologi OSGi dapat mengatasi itu semua. Alasan utama mengapa teknologi OSGi dapat sukses karena teknologi ini menyediakan komponen system yang benar-benar matang yang dapat bekerja di lingkungan yang sangat banyak jumlahnya. Komponen system yang biasa digunakan untuk membangun aplikasi yang tingkat kekompleksannya sangat tinggi seperti IDEs (Eclipse), aplikasi server (GlassFish, IBM Websphere, Oracle/BEA Weblogic, Jonas, JBoss), aplikasi framework (Spring, Guice), otomatisasi industry, telepon dan banyak lainnya.
Keuntungan dari teknologi OSGi antara lain adalah sebagai berikut :
1.Mengurangi kompleksitas : mengembangkan dengan OSGi berarti menembangkan bundles : salah satu komponen OSGi. Bundles adalah modul. Bundles menyembunyikan aspek internalnya dari bundles lainnya. Hal ini berarti ada banyak kebebasan untuk menggantinya di kemudian hari.
2.Dapat digunakan kembali : model komponen OSGi sangat mudah digunakan dan dapat digunakan dengan aplikasi pihak ketiga.
3.RealWorld : OSGi framework dinamik. Hal ini berarti OSGi dapat diupdate secara online.
4.Mudah Penyebarannya : teknologi OSGi bukanlah sebuah teknologi standard. OSGi dapat dimanage sedemikian rupa serta dapat diatur cara penginstalannya.
5.Update yang dinamik : OSGi komponen bisa diupdate secara dinamik.
6.Adaptif : model komponen OSGi didesain sedemikian rupa hingga diperbolehkan untuk mengkombinasi dan mencocokan antar komponen.
7.Transparan
8.Banyak versinya
9.Simple : OSGi API sangat simple. API OSGi hanya terdiri dari satu paket dan berjumlah kurang dari 30 kelas.
10.Ukurannya kecil
11.Kinerjanya cepat
12.Malas : Malas dalam software itu berarti bagus. Teknologi OSGi mempunyai banyak mekanisme hanya ketika dibutuhkan saja.
13.Aman
14.Sederhana
15.Tidak Mengganggu Kinerja Aplikasi Lainnya
16.Berjalan dimana saja
17.Digunakan secara luas
18.Didukung Oleh Berbagai Perusahaan : OSGi juga didukung oleh berbagai perusahaan seperti Oracle, IBM, Samsung, Nokia, IONA, Motorola, NTT, Siemens, Hitachi, Deutsche Telekom, Redhat, Ericsson, dan masih banyak lagi.
Penerapannya
Kerangka kerja yang OSGi sistem modul untuk Java yang lengkap dan mengimplementasikan sebuah model komponen dinamis, sesuatu yang tidak ada di Jawa standalone / VM lingkungan. Aplikasi atau komponen (datang dalam bentuk bungkusan untuk penyebaran) dapat jarak jauh diinstal, mulai, berhenti, diperbarui dan dihapus tanpa memerlukan reboot; pengelolaan paket Jawa / kelas ditentukan dengan sangat rinci. Hidup siklus manajemen dilakukan melalui API yang memungkinkan untuk remote men-download dari kebijakan manajemen. Registri layanan memungkinkan berkas untuk mendeteksi penambahan layanan baru, atau penghapusan layanan, dan beradaptasi sesuai.
Asli layanan fokus pada penerapan gateway tapi ternyata jauh lebih luas. OSGi spesifikasi yang sekarang digunakan dalam aplikasi mulai dari ponsel ke open source Eclipse IDE. Wilayah aplikasi lain meliputi mobil, otomasi industri, otomatisasi bangunan, PDA, komputasi grid, hiburan (misalnya iPronto), manajemen armada, dan aplikasi server.


2. Virtualization serta software2 nya
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.
Contoh konkritnya adalah: OS dalam OS, aplikasi dalam aplikasi.
Microsoft Virtual PC 
Microsoft sebagai penyedia OS yang terbesar juga membuat software virtualkomputer. Software ini mendukung instalasi beberapa OS seperti : Windows Server 2003, Standard Edition (32-bit x86); Windows Server 2003, Standard x64 Edition; Windows Vista Business; Windows Vista Business 64-bit edition; Windows Vista Enterprise; Windows Vista Enterprise 64-bit edition; Windows Vista Ultimate; Windows Vista Ultimate 64-bit edition; Windows XP Professional Edition ; Windows XP Professional x64 Edition ; Windows XP Tablet PC Edition.
Bochs
Dibangun oleh Kevin Lawton dengan bahasa C++ dan dilisensikan dibawah GNU/GPL. Bochs dapat berjalan pada hampir semua platform sistem operasi seperti Windows dan Linux . Sebagai emulator, Bochs mampu mengemulasikan CPU intel x86, BIOS Custom dan berbagai I/O devices. Untuk suara, bochs mengemulasikan sounds blaster dan untuk perangkat jaringan, bochs mengemulasikan kartu NE2000, atau yang kompatibel. GXEMUL
 Dibangun oleh Anders Gavare, merupakan emulator komputer lengkap dengan CPU dan berbagai komponen hardware, seperti framebuffer, interrupt controller, bus, disk controller, dan serial controller. Emulator ini dibangun dengan bahasa C dan dilisensikan dibawah revised BSD-style.
Hercules 
Program canggih ini dibangun oleh Roger Bowler dan saat ini, dimaintain oleh Jay Marnard, dilisensikan dibawah Q Public License. Sebagai host, Hercules mampu berjalan pada Linux, Windows (98, 2000, XP), Mac OS X.
Mac-On Linux
 Aplikasi ini memungkinkan virtualisasi Mac OS atau Mac OS X di Linux. Dengan demikian kita yang menggunakan arsitektur x86 tidak dapat memanfaatkan aplikasi ini. Untuk Host, Mac On Linux mendukung Linux dengan kernel 2.4 dan 2.6. http://bochs.sourceforge.net/
3. Apa itu API (Application Programming Interface) - Api Fasapay
API adalah sebuah aplikasi permrograman yang secara khusus dikembangkan untuk digunakan sebagai perantara komunikasi antara komponen-komponen perangkat lunak. Dokumen ini berisi mengenai deskripsi dari fungsi-fungsi dan bagian tertentu dari FasaPay XML API.
XML API memungkinkan anda untuk memproses pengiriman dan penerimaan pembayaran secara otomatis, dab mendapatkan Informasi transaksi maupun daftar catatan transaksi yang telah dilakukan melalui FasaPay. Layanan ini diperuntukkan bagi semua situs yang memilih FasaPay sebagai salah satu pilihan pembayaran atau segala macam kegiatan bisnis yang membutuhkan transfer antar rekening elektronik melalui akun FasaPay Layanan Pembayaran Online Indonesia Cepat dan Aman
Siapa Saja yang Membutuhkan Dokumen Ini?
Dokumen ini diperlukan untuk semua developer yang bekerja pada bidang pemprograman yang ingin menintegrasikan layanan pembayaran FasaPay pada website mereka. Agar dapat mengimplementasikan XML API dengan baik sebaiknya anda sudah paham atau memiliki pengalaman di beberapa hal berikut :
Mempersiapkan data dan pengiriman request ke webserver
Menerima dan menganalisa responds dari webserver
Bekerja dengan HTTPS protokol
Memiliki pengetahuan tentang XML dan mampu menggunakan HASH
Informasi Mendasar Mengenai XML API
XML API merupakan kumpulan perintah, yang digunakan sebagai perantara antara FasaPay dan sites web yang lain. Format dan struktur data dari XML API dikembangkan dari standar XML-1.0
Cara Kerja  XML API
XML API merupakan sistem yang mengirim dan menerima request informasi. Sistem ini akan memproses permintaan tersebut sesuai dengan perintah kemudian akan menggabungkan laporan data yang dibutuhkan dan mengirimnya kembali ke pengirim request.
Setiap request terdiri dari perintah tertentu yang kemudian akan ditafsirkan (interprets) oleh API dan kemudian memerintah server untuk mengikuti instruksi tersebut. Setelah setiap instruksi dilaksanakan maka server akan merespon dengan hasil yang sudah dilaksanakan atau dengan pesan error yang menjelaskan kenapa error terjadi.
Setiap request dan response harus diatur sedemikian rupa mengikuti format yang sudah ditentukan sehingga akan membentuk data yang spesifik dan dapat dibaca oleh XML API. Beberapa request akan menghasilkan lebih dari satu perintah dan atau lebih dari satu response. Berikut adalah beberapa langkah agar XML API dapat berjalan dengan lancar.
Pengumpulan Data request
Pembentukan XML dengan format yang benar
Pembuatan HTTP GET atau POST Request berdasarkan XML yang telah dipersiapkan.
Pengiriman HTTP GET atau POST request ke FasaPay Server melalui HTTPS
Menunggu response dari server
Menganalisan dan mengolah data response yang dikirim oleh server FasaPay
PENGOPERASIAN XML API
XML API mendukung beberapa pilihan pengoperasian yaitu sebagai berikut :
Transfer. Memungkinkan anda untuk mentransfer dana dari satu akun ke akun yang lain. Dengan perintah ini anda dapat mentransfer salah satu mata uang yang tersedia di FasaPay. Opsi ini juga memungkinkan anda untuk melakukan mass transfer.
History. Opsi ini memungkinkan anda untuk mendapatkan catatan transaksi yang terjadi di akun FasaPay anda. Opsi ini mendukung banyak parameter tambahan untuk memfilter data yang ingin anda dapatkan seperti tanggal, mata uang, rekening tujuan, dan sebagainya.
Detail. Opsi ini memungkinkan anda untuk mendapatkan informasi detail dari sebuah transaksi. Dalam satu request anda dapat mencantumkan lebih dari satu opsi ini untuk mendapatkan lebih dari informasi transaksi.
Balance. Opsi ini memungkinkan anda untuk mengetahui balance saldo di akun FasaPay anda
Account. Opsi ini memungkinkan anda untuk melakukan check apakah nomor Akun tersebut ada di fasapay atau tidak.

Tidak ada komentar:

Posting Komentar