Selasa, 29 Desember 2009
Java Community Process
Program yang JCP komunitas pengguna telah membantu dalam memberikan umpan balik pada situs web. Banyak fitur baru dan perbaikan bug pada awalnya diusulkan atau diidentifikasi oleh pengguna. Beberapa implementasi tersebut akan segera jelas. Sebagai contoh, semua wiki dan papan sekarang mencakup satu cara bagi pengguna untuk memberikan pendapat mereka yang cepat konten dengan menghadiahi setiap item dengan nilai, dengan memilih jumlah bintang tertentu. Selain itu, semua papan diskusi publik dan wiki termasuk RSS tombol untuk memungkinkan pengguna untuk berlangganan pembaruan konten. Karena pengaturan keamanan dan persyaratan browser, RSS feed fitur ini hanya bekerja jika SSL diaktifkan. Misalnya, fitur RSS melakukan kerja dengan Firefox.
Berbagai bug telah diperbaiki dan navigasi juga telah diperbarui untuk mengatur informasi yang tersedia. Ini adalah langkah inkremental lain sepanjang perjalanan untuk meningkatkan jcp.org. Dalam bulan-bulan mendatang, sebagai masyarakat terus menyarankan perubahan dan perangkat tambahan, upaya akan terus memperbaiki situs. Semua umpan menyimpan program dan JCP jcp.org bergerak maju dan ke atas.
OSGI (Open Service Gateway Initiative)
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 dalam penerapan OSGI ini antara lain :
* Mengurangi Kompleksitas (Reduced Complexity) – Mengembangkan dengan teknologi OSGi berarti mengembangkan bundel: komponen OSGi. Bundel adalah modul. Mereka menyembunyikan internal dari bundel lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Menyembunyikan internals berarti lebih banyak kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran benar menerapkan sepotong fungsionalitas melalui interface didefinisikan dengan baik. Ada sebuah blog menarik yang menjelaskan teknologi OSGi apa yang mereka lakukan bagi proses pembangunan
* 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 juga menjadi tersedia sebagai bundel siap pakai.
* 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 lebihy daripada yang telah dilaksanakan selama satu solusi khusus.
* 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.
* 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.
* 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.
* 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.
* 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)
Komponen inti dari Spesifikasi OSGi adalah Framework OSGi. Framework menyediakan lingkungan standar untuk aplikasi (disebut bundel).
Layer-layer OSGI :
* 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)
* Siklus Hidup (Life Cycle)
* 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 Java.
MIddleware telematika
Pada tugas kelompok kali ini, kami akan membahas tentang Middleware Telematika. Sumber artikel ini berasal dari: http//lecturer.ukdw.ac.id/budsus.
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.
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 aplilasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi .
1.Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai
komputer dan sistim operasi.
2. Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.
Layanan Middleware merupakan sekumpulan S/W terdistribusi yang menempati lapisan antara aplikasi dan sistem operasi serta layanan jaringan di suatu node pada jaringan komputer. Menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi daripada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu aplikasi dapat :
1. Mengalokasikan suatu layanan secara transparan pada jaringan
2. Menyediakan interaksi dengan aplikasi atau layanan lain
3. Tidak tergantung dari layanan jaringan
4. Handal dan mampu memberikan suatu layanan
5. Diperluas (dikembangkan) kapasitasnya tanpa
kehilangan fungsinya
Berikut ini contoh-contoh layanan middleware :
TRANSACTION MONITOR
Produk pertama yang disebut middleware.
Menempati posisi antara permintaan dari program client dan database, untuk menyakinkan bahwa semua transaksi ke database terlayani dengan baik.
MESSAGING MIDDLEWARE
Merupakan antarmuka dan transportasi antar aplikasi
*
Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded.
*
Mungkin berisi business logic yang merutekan message ke tujuan sebenarnya dan memformat ulang data lebih tepat.
*
Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi.
MIDDLEWARE BASISDATA
*
Middleware basisdata menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi.
*
Menggunakan, baik arsitektur hub and spoke atau arsitektur terdistribusi, memungkinkan data untuk digabungkan dari beberapa sumber data yang berbeda atau terpisah.
MIDDLEWARE APPLICATION SERVER
*
Sebuah Web-based Application server, yang menyediakan antarmuka untuk berbagai aplikasi, digunakan sebagai middleware antara browser dan aplikasi.
*
J2EE adalah contoh application serverA wide range of server-side processing has been supported by appservers (i.e.;J2EE).
CONTOH MIDDLEWARE :
*
Java’s: Remote Procedure Call
*
Object Management Group’s: Common Object Request Broker Architecture (CORBA)
*
Microsoft’s COM/DCOM (Component Object Model)
– Also .NET Remoting
Microsoft’s Component Object Model (COM)
Menangani pemaketan dan deployment komponen yang mendukung berbagai bahasa pemrograman. COM adalah arsitektur komponen yang memiliki beberapa kekuatan
*
Ribuan kontrol ActiveX controls (in-process COM components) tersedia di pasar.
*
Microsoft dan vendor lain membangun banyak tool yang mempercepat perkembangan aplikasi berbasis pada COM.
Selasa, 20 Januari 2009
Senin, 12 Januari 2009
MRAM: Teknologi Terbaru Memori Komputer, 10 Kali Lebih Cepat dari RAM
Sebelumnya Anda pasti pernah mendengar istilah RAM (Ramdom Access Memory) untuk menyebut memory komputer. Memory RAM ini memiliki berbagai jenis mulai dari EDO RAM, DDR1, DDR2 dan beberapa jenis lainnya.
Namun ternyata RAM saja elum cukup untuk memuaskan kebutuhan manusia akan tuntutan kecepatan. Oleh karena itu, Fisikawan dan Insinyur Jerman mengembangkan sebuah jenis memory baru.
Memory tersebut diberi nama Magnetoresistive Random Access Memory (MRAM), memory ini bukan hanya lebih cepat daripada RAM tetapi juga Lebih hemat Energi. Kehadiran MRAM sepertinya akan meningkatkan perkembangan mobile computing dan level penyimpanan dengan cara membalik arah kutub utara-selatan medan magnit.
IBM dan beberapa perusahaan pengembang yang lain berencana menggunakan MRAM, MRAM ini akan memutar elektron-elektron untuk mengganti kutub magnet. Hal ini juga dikenal sebagai spin-torque MRAM (Torsi putar MRAM) teknologi inilah yang kini sedang dikembangkan oleh para fisikawan dan insinyur Jerman.
Dengan membangun pilar-pilar kecil berukuran 165 nano meter, akan mengakibatkan magnet variabel pada atas lapisan akan mengakibatkan arus listrik mengalir dari bawah ke atas dan akan memutar posisi elektron. Medan magnet ini akan berubah dan hanya membutuhkan sedikit waktu untuk merubah kutub medan magnet ini. Kemudian kutub utara dan selatan akan bertukar.
Yang pasti, kecepatan MRAM mencapai 10 kali lipat kecepatan RAM. KEcepatan ini masih bisa terus dikembangkan dimasa depan.
Trik Agar IP Local Dapat Dilihat Oleh IP Luar
Artikel ini sengaja aku tulis karena biar tidak lupa bila suatu saat aku berhadapan dengan kasus ini lagi. Permasalahan nya adalah ketika kita cuma dikasih satu IP Address Publik oleh pihak ISP. Untuk menyiasati hal ini, agar beberapa server kita (Web Server, FTP server, Email Server) yang ada di IP lokal bisa diakses oleh Internet kita dapat menggunakan salah satu aplikasi dilinux yang sudah terkenal bandel…
Bagaimana caranya?
Solusinya adalah dengan NAT (Network Address Translation) yaitu mentranslasikan suatu IP Address ke sisi jaringan yang lain. Pada sistem Operasi Linux kita dapat melakukannya secara standard dengan menggunakan tools iptables. iptables sebagai tools pengatur trafik jaringan memiliki kemampuan untuk melakukan hal tersebut. iptables dijalankan dari sisi server akan meneruskan traffik yang merekues dari sisi publik/internet diteruskan ke sisi lokal.
Sehingga sintaksnya akan menjadi seperti demikian
iptables -t nat -I PREROUTING -p tcp -s IP_Publik_Yang_Merekuest –dport Port_Tujuan -j DNAT –to-destination IP_Lokal_tujuan ort_aplikasinya
Penjelasan
-t nat = table nat pada iptables
-I PREROUTING = Insert pada chain Prerouting
-p tcp = protokol tcp
-s = Source/sumber Ip address yang merekues. Kalau semua diijinkan = 0/0
–dport = port tujuan yang diminta dari sisi publik
-j DNAT = Target Destination NAT
–to-destination = ke tujuan ip lokal yang diinginkan
Misal kita memiliki ip publik202.130.202.111 dan webserver ada pada sisi lokal 192.168.0.250 maka kita bisa melakukan seperti ini
iptables - t nat -I PREROUTING -p tcp -s 0/0 –dport 80 -j DNAT –to-destination 192.168.0.250:80
Atau jika port 80 telah digunakan oleh server itu sendiri, kitabisa memanfaatkan port yang kosong dari sisi server tersebut misal
iptables - t nat -I PREROUTING -p tcp -s 0/0 –dport 88 -j DNAT –to-destination 192.168.0.250:80
Namun, proses pemanggilan dalam browser harus lengkap menggunakan port
http://202.130.202.111:88
Ya, langkah ini juga bisa di balik apabila seorang administrator jaringan ingin merouting jaringan, agar rekuest ke port tertentu, dapat dialihkan ke route lain, namun logika dibalik dan port destination di belakang di hilangkan. Contoh:
iptables -t nat -I PREROUTING -p tcp -s 192.168.0.0/24 –dport 80 -j DNAT –to-destination 202.130.202.111
Langkah ini juga bisa di gunakan untuk protokol lain juga selain web seperti ssh, remote server dal protokol lainnya.