Selasa, 01 Januari 2013

JMS and Database Integration with Apache ServiceMix, Camel and ActiveMQ

I've been asked to create a simple project to demonstrate how Apache ActiveMQ, Cameland ServiceMix could be used in the same integration context. Then, for the specific customer I was talking to, I decided to create something related to the world they were used to.

This example will process messages as they are delivered on an input queue and I thought that XML would be a good format to also demonstrate how to parse the payload and generate an SQL statement  before hitting the database.

In summary, for each message going to the input queue, we're going to create a record in the database table and then generate a response message on the output queue.

I'm assuming you're already have Apache ServiceMix downloaded and installed in your machine. If not, it's time to download it… I recommend you to just go to http://fusesource.com/downloads/ and download FUSE ESB.

I'm also assuming that you already have Maven installed but if not feel free to download and install it from maven.apache.org


Here are the steps to create this short and simple demonstration:


1) Download and install MySQL database from http://dev.mysql.com/downloads/
You can use the default test database that's shipped with MySQL and the only thing you have to do is to create a table to insert test records. To do that, connect to the database  and run the following SQL statement:

CREATE table PARTNER_METRIC(partner_id int, time_occurred DATE, status_code int, perf_time long);

2) Install the following features in ServiceMix:

features:install camel-jdbc
features:install camel-jms


3) Install commons-dbcp bundle:

osgi:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.2.2_6

4) When you do this you will receive a bundle id, e.g. 229.  Enable dynamic imports on this bundle so that it can pick up the appropriate database driver.

dev:dynamic-import 229

5) Using ServiceMix hot deploy feature to deploy the MySQL JDBC driver:

cp /Applications/MySQL/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18-bin.jar  /Users/mjabali/Fuse/apache-servicemix-4.4.1-fuse-00-08/deploy/

Then you can verify that the driver gets deployed correctly with the following command:

karaf@root> list |grep -i mysql

and you should get a message similar to the following:

[ 227] [Active     ] [            ] [       ] [   60] Sun Microsystems' JDBC Driver for MySQL (5.1.18)

6) Download the source files of this sample and extract them on the directory of your choice. So, let's review the JMS and Database connection settings  in the following resource files:

$PROJECT_HOME/src/test/resources/sample/RiderAutoPartsPartnerTest.xml
$PROJECT_HOME/src/main/resources/META-INF/spring/beans.xml file

These are the same file albeit named differently. One is used by the bundle and the other by our test case.

We'll be also using the default Apache ActiveMQ instance for the messaging aspect of this tutorial.
To check whether the ActiveMQ is installed, up and running you can run the following command:

karaf@root> osgi:list |grep activemq-broker

and you should see an output similar to this

[  66] [Active     ] [Created     ] [       ] [   50] activemq-broker.xml (0.0.0)

You can see the default broker's definition within the activemq-broker.xml file under $SERVICEMIX_HOME/etc/activemq-broker.xml

The database source definition is on the beans.xml file and you may want to adjust it to reflect the settings on your environment. Here is a copy of the definitions I have on my machine:

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost/test"/>

    <property name="username" value="root"/>

    <property name="password" value="XXXX"/>

</bean>

7) Let's compile the code then… Run the following command on the root directory of the project

mvn clean install -Dmaven.test.skip=true

If the code builds up successfully then you're ready to deploy on ServiceMix.

8) To deploy the bundle into ServiceMix, run the following command:

karaf@root>osgi:install mvn:com.fusesource.fusebyexample/camel-jms-dbase/1.0-SNAPSHOT

A confirmation that the bundle was deployed successfully should be returned to you and a message similar to the follow one should be displayed:

Bundle ID: 228

Then, you are ready to start the bundle and verify if has started correctly. Follow the instructions below to do that:

To start the bundle:

karaf@root>osgi:start <bundle ID>


To verify the bundle has started correctly:

karaf@root>osgi:list |grep <bundle ID>


and then a message like the following should be displayed:

[ 228] [Active     ] [            ] [Started] [   60] Camel JMS Database Example (1.0.0.SNAPSHOT)


You can also immediately turn on the trace logging capability for Camel and get additional output in the ServiceMix log facility. To enable the trace logging just run:

karaf@root>set TRACE org.apache.camel

and then to see the ServiceMix log, run:

karaf@root>log:display


You should be able to see messages with the TRACE identifier similar to the below:

11:46:17,095 | TRACE | tnerRequestQueue | JmsMessageListenerContainer      | ?                                   ? | 94 - org.springframework.jms - 3.0.5.RELEASE | Consumer [ActiveMQMessageConsumer { value=ID:titan.local-54477-1319240594120-6:1:1:1, started=true }] of session [PooledSession { ActiveMQSession {id=ID:titan.local-54477-1319240594120-6:1:1,started=true} }] did not receive a message


9) To test this sample project all you have to do is to send a sample message (there is one included in the $PROJECT_HOME/src/test/resources/sample directory) to the ActiveMQ queue that the Camel route is listening for. You can use any approach you like but writing a JMS Test client is pretty simple and there are tons of examples on the Internet and also available in the ActiveMQ sample directory. You can also use tools likeHermesJMS which adds a little UI for you so you don't need to create a test program.

Either way, after sending a message to the partnerRequestQueue (default queue name used on this tutorial) you should see a couple of messages in the ServiceMix console like those below:

karaf@root>  **** toSql returning: INSERT INTO PARTNER_METRIC (partner_id, time_occurred, status_code, perf_time) VALUES ('123', '200911150815', '200', '9876')

 **** fromSql returning: Sample message to be returned on reply queue


You can verify that the values were inserted into the MySQL database running a simple query like:

select * from PARTNER_METRIC;


It is also recommended to check the ServiceMix log to make sure there are no exceptions there.

The sample code for this tutorial is available on GitHub: https://github.com/mjabali/JMS-DB-Sample

I also would like to thank my colleague Susan Javurek for putting an extra effort on this and helping out with the sample code.

UPDATE: I also would like to say a big thanks to Claus Ibsen (@davsclaus) for reminding me that all the manual steps related to OSGi bundles installation could be automated using the feature capability that consists in deploy multiple related bundles into a larger unit of deployment.

Enjoy the ride...
Read More

Senin, 03 Desember 2012

Rekor Dunia Overclock Kembali Pecah



altBaru-baru ini, Andre Yang, seorang overclocker kawakan pemegang rekor dunia overclock kembali membuat rekor dunia baru.
Kali ini rekor yang berhasil dicapainya yaitu dengan menorehkan catatan waktu tercepat pada SuperPi 32M di Asus ROG Camp di Berlin.
Catatan waktu yang ditorehnya yaitu 4 menit 42,656 detik, meningkat dari rekor dunia sebelumnya dengan catatan waktu 4 menit 43 detik. Rekor dunia ini menggunakan prosesor Intel Core i7-3770K dengan motherboard Asus ROG Maximus V Extreme.

Sebelumnya, Andre memegang rekor dunia karena berhasil meng-overclock AMD FX-8150 hingga 8,7GHz dari clock defaultnya 3,6GHz.

Tidak hanya itu, Andre Yang juga berhasil memecahkan rekor CPU-z dengan catatan rekor baru CPU frequency 8670,22MHz menggunakan prosesor AMD FX-8350 yang memiliki clock default 4.0GHz yang ditandem dengan motherboard ASUS ROG Crosshair V Formula-Z.

Di lain tempat, overclocker Hong Kong, John Lam dari HKEPC menggunakan motherboard ASUS ROG Crosshair V Formula-Z dan mencatat dua rekor dunia baru untuk wPrime.
Untuk benchmark wPrime 32M berhasil mencatat waktu 4,532 detik, sedangkan untuk wPrime 1024M berhasil mencatat rekor dunia baru 143,766 detik.
John Lam menggunakan prosesor AMD FX-8350 untuk memecahkan kedua rekor dunia tersebut.
Read More

Jumat, 30 November 2012

Harga Surface Pro Mulai $899



Microsoft melalui blog resminya kemarin mengumumkan harga Surface Pro yang dimulai dengan US$899 untuk versi 64GB dan US$999 untuk yang 128GB.
Tablet yang menjalankan Windows 8 Pro tersebut bakal diluncurkan pada Januari 2013 mendatang.
Menurut Panos Panay, General Manager untuk Microsoft Surface, kedua versi Surface Pro menggunakan prosesor Intel Core i5, layar 10,6 inci dengan tampilan ClearType 16:9, resolusi full HD 1920x1080.
Selain port USB 3.0 full size, Surface Pro juga dilengkapi dengan MiniDisplay Port yang dapat menggunakan layar eksternal beresolusi 2560x1440.
Surface Pro memiliki desain yang sama dengan Surface RT yang diluncurkan bulan lalu. Kesamaan juga meliputi casing Dark Titanum VaporMg, antena 2x2 MIMO yang dirancang khusus untuk Surface dan juga dudukan kickstand-nya.
Keistimewaan Surface Pro menurut Panay ada pada pen input. Feature ini sangat bermanfaat bagi pengguna yang suka menulis dengan pen dan juga bagi penyunting dokumen. Dengan teknologi Palm Block, pengguna dapat menulis di atas layar menggunakan pen tanpa terganggu oleh telapak tangan yang secara tak sengaja menyentuh layar.
Surface Pro dengan bobot kurang dari 2 pon dan tebal 14 mm ini dapat menjalankan aplikasi Windows 7 yang ada sekarang.
Read More

Entry Level Irit



Meskipun menawarkan kinerja seadanya, pesona netbook tetap bertahan di antara gempuran perangkat tablet dan notebook.  
Di tengah pasar komputasi mobile yang diramaikan oleh notebook, ultrabook, dan juga komputer tablet, produk netbook atau laptop mini seolah mulai tenggelam. Padahal, kenyataannya pangsa ini masih terus bertahan.
Mungkin saja banyak yang kurang menyukai layarnya yang kecil, kinerja yang terlalu “cupu”, sampai fasilitasnya yang dianggap terbatas. Namun demikian, produk ini memiliki daya tarik pada harganya yang makin murah, baterai yang makin irit, dan dimensi yang kecil. Ketiga hal ini ternyata selalu mendapat tempat di mata konsumen, utamanya bagi anak muda yang menginginkan komputasi ringan di mana saja.
Dibandingkan dengan perangkat mobile lain, netbook tampak kalem dalam meluncurkan dirinya di pasaran. Maklum, produk ini menggunakan prosesor baru yang terbatas, yakni seri Cedar Trail (Atom N2600/2800). Sementara AMD menjagokan versi APU platform Brazos (seri E – Zacate dan seri C – Ontario).
Untuk itu, kali ini kami tampilkan dua netbook baru dengan dapur pacu berbeda untuk melihat seberapa besar kinerjanya. Ini akan sangat berguna khususnya bagi yang tengah bingung memilih produk berbasis prosesor Intel atau AMD.

Asus Eee PC 1015BX
Seri anyar Asus kali ini muncul dengan prosesor entry level AMD C-50 (dual-core) berkecepatan 1 GHz yang memiliki level TDP (Thermal Design Power) 9 watt. Ini merupakan konsumsi daya terkecil pada jajaran CPU Brazos AMD. Memang belum sekecil milik Intel Cedar Trail. Namun ini sudah terbilang lumayan untuk menghemat daya. Apalagi Asus memasangkan baterai berkapasitas 5200 mAH di perangkat ini.  
Fasilitas di 1015BX terbilang minim namun tetap menyediakan fasilitas standar penting termasuk juga sudah mendukung USB 3.0 (SuperSpeed). Namun jumlah port USB yang tersedia memang hanya dua, kurang cukup bila Anda sering menghubungkan banyak peranti USB di netbook. Namun dalam hal desain, 1015BX unggul termasuk pada keyboard dan touchpad yang tebilang nyaman.

Spesifikasi Asus Eee PC 1015BX
Prosesor
AMD C-50 – Ontario (1 GHz, 1 MB L2 cache)
RAM
2 GB, DDR3
Chipset
Intel NM10 Express
Kartu Grafis
Intel GMA3150 256MB
Harddisk
250 GB SATA
Optical drive
Tidak ada
Fasilitas
Wi-Fi b/g/n, LAN, Bluetooth 3.0, card reader (3-in-1), USB 2.0 (1), USB 3.0 (1), webcam 0,3MP, VGAout, HDMI.
Layar
10,1 inci – resolusi 1024x600 pixel
Kartu suara
Realtek ALC269 HD audio
Sistem Operasi
DOS
Baterai
Li-ion 5200 mAH
Dimensi
26,2x17,8x(2,4-3,6) cm
Bobot
1,2 kg
Garansi
1 tahun
Situs Web
Harga (kisaran)*
US$279
* Asus Indonesia, (021) 4587-8055; Minggu ketiga Juli 2011

Advan Vanbook P1N-26225
Rival yang berasal dari merek lokal ini mengusung prosesor Intel Atom N2600 (dual-core) berkecepatan 1,6 GHz dengan TDP hanya 3,5 watt. Port USB di P1N lebih banyak namun belum memiliki USB 3.0 untuk mentransfer data secara lebih cepat. Keyboard juga terlihat menarik namun kurang nyaman dipakai.  
Desain Vanbook P1N terlihat lebih unik dengan sekujur cover bertekstur agar tak licin. Uniknya, indikator status netbook justru diletakkan di bagian touchpad sehingga terhalang kala dipakai. Ringannya bobot netbook (hanya 1 kg) merupakan kelebihan tersendiri. Sayangnya ini memangkas kapasitas baterainya yang juga tak bisa dilepas.

Spesifikasi Advan Vanbook P1N-26225
Prosesor
Intel Atom N2600 - Oaktrail (1,6 GHz, 1 MB L2 cache)
RAM
2 GB, DDR3 1333 MHz
Chipset
Intel NM10 Express
Kartu Grafis
Intel GMA3650
Harddisk
250 GB SATA II
Optical drive
Tidak ada
Fasilitas
Wi-Fi b/g/n, LAN, card reader (3-in-1), USB 2.0 (3), webcam 1,3 MP, HDMI, VGA-out, SIM (opsi).
Layar
10,1 inci – resolusi 1024x600 pixel
Kartu suara
Realtek ALC269 HD audio
Sistem Operasi
DOS
Baterai
56 Wh
Dimensi
26,3x18x2,7 cm
Bobot
1,07 kg
Garansi
1 tahun
Situs Web
Harga (kisaran)*
Rp2.150.000
* Intech Surya Abadi, (021) 6583-0222; Minggu ketiga Juli 2011

****
Netbook umumnya memang menawarkan kinerja dan desain minimalis sesuai fungsinya sebagai komputasi ringan. Bagaimanapun juga netbook masih tetap menarik dengan karakternya yang praktis, dan hemat.

Hasil Pengujian
Tanding dua dapur pacu yang saling berseteru ini memberi hasil plus dan minus. Asus 1015BX dengan AMD C-50 berkinerja sedikit lebih lamban dibandingkan Advan P1N-26225 yang berbasis Atom N2600. Namun kemampuan grafis di Asus 1015BX yang diperkuat Radeon HD6250 sebenarnya lebih unggul khususnya dalam hal aktivitas grafis yang lebih kompleks. Baterai kapasitas besar di Asus 1015BX pun membantu daya tahan lebih lama.
Pengujian
Asus Eee PC 1015BX
(AMD C-50 1GHz, RAM DDR-2GB, VGA Radeon HD6250)
Advan P1N-26225
(Intel Atom N2600 1,6GHz, RAM DDR3-1333 2 GB, VGA Intel HD3650)
Sysmark 2007 v1.06
-
46
PCMark Vantage v1.0.2.0
1642
1691
3DMark 2006
-
416
Cinebench R11.5
0,41
0,51
Encoding video
1 jam 12 menit 52 detik
39 menit 37 detik
Encoding audio
6 menit 45 detik
9 menit 3 detik
Daya Tahan Baterai
Memutar HD Video
3 jam 25 menit
1 jam 31 menit

6 jam 11 menit
2 jam 8 menit

Read More

Rabu, 28 November 2012

Ditemukan, Malware Baru Pada Activator Windows 8



altBagi Anda yang mencoba-coba untuk melakukan aktivasi ilegal terhadap Windows 8 berhati-hatilah. Selain hal tersebut melanggar hukum, baru-baru ini telah ditemukan dua jenis malware baru pada activator serta keygen yang berisi lisensi palsu.

Hal ini diungkapkan oleh perusahaan keamanan terkemuka, Trend Micro, yang melaporkan bahwa telah ditemukan beberapa key generator dan activator palsu untuk Windows 8 yang tersedia di internet. Kedua jenis activator ini nantinya hendak mengelabui pengguna bahwa mereka dapat mengaktifkan Windows 8 tanpa membayar lisensi.
Dari sampel yang didapat Trend Micro, activator dan keygen tersebut terinfeksi ADW_SOLIMBA dan JOKE_ARCHSMS yang akan mengintai komputer dan mencuri data-data pengguna sesaat setelah terinfeksi.
"Saat dijalankan, ADW_SOLIMBA akan menampilkan pesan palsu agar penggunanya melakukan klik OK untuk mengunduh Windows 8 melalui peramban. Di sisi lain, JOKE_ARCHSMS menampilkan pesan palsu yang serupa, dimana ia akan mengelabui pengguna bahwa mereka telah mengaktifkan Windows 8. Padahal semuanya itu tidak benar dan mereka hanya hendak mengintai komputer penggunanya." ujar Trend Micro.
"Orang-orang dibalik pembuat malware tersebut memanfaatkan popularitas Windows 8 dengan menunggangi hal-hal yang berhubungan dengan sistem operasi tersebut. Sejauh ini, program baru, software, atau aplikasi jejaring sosial memang menjadi alat yang memudahkan malware untuk menyusup didalamnya," tambah Trend Micro.
Trend Micro menambahkan bahwa sampel yang didapatnya bukan satu-satunya malware yang mengancam, masih banyak aplikasi palsu yang bertebaran di internet di mana malware-malware baru bertebaran didalamnya. Untuk menjaga keamanan, pengguna mesti menghindari mengunjungi atau mengunduh aplikasi atau tools dari sumber yang tidak jelas tingkat keamanannya.

hahaha..memang tradisi windows dari dulu selalu langganan virus. :D
Read More

AMD Hadirkan APU Generasi Kedua 'Piledriver'



Setelah cukup sukses dengan generasi APU sebagai prosesor fusion (gabungan CPU dan GPU) yang ekonomis, menjelang tutup tahun ini AMD Indonesia kembali menyegarkan jajaran APU seri A yang lebih bertenaga.
Generasi kedua AMD seri A kali ini (kode Piledriver) hadir dengan inti CPU lebih banyak dan juga clock lebih cepat sehingga lebih mendukung untuk aktivitas multimedia dan gaming.
Game semacam Medal of Honor: Warfighter, COD: Black Ops 2, dan juga Need for Speed: Most Wanted terbaru akan mudah dijalankan oleh APU baru ini berkat dukungan chip grafis mandiri Radeon HD7000. Namun, kompatibilitas untuk sekuel APU yang 20% lebih cepat dari generasi Llano ini juga berubah dengan memakai soket FM2.
Beberapa feature menarik dari APU versi 2 yang muncul dalam keempat varian ini adalah kemampuan unlock khas AMD melalui aplikasi AMD Overdrive yang memungkinkan clock dasar bisa ditingkatkan hingga 6,5GHZ. Ada lagi teknologi Turbo Core 3.0 yang memungkinkan core GPU dan CPU bekerja lebih maksimal secara otomatis saat diperlukan.
Berikut tabel singkat 4 varian APU baru yang diperkenalkan AMD:
alt
Read More

Jumat, 23 November 2012

Linux Mint 14/Nadia Sudah Siap Unduh



Linux Mint 14 yang dinamakan Nadia, sudah tersedia untuk diunduh gratis.
Dengan wajah antar muka yang baru, Nadia datang dengan tool manajemen yang telah diperbarui, serta perbaikan lainnya termasuk peningkatan kestabilan. Nadia berbasis pada distro Linux Ubuntu 12.10 (Quantal Quetzal) dan menggunakan kernel Linux 3.5.
Seperti ditulis oleh pengembangnya di blog mereka, Linux Mint 14 merupakan hasil dari 6 bulan proses pengembangan dari vesi sebelumnya. “Kami sangat bangga dengan MATE, Cinnamon, MDM dan semua komponen yang digunakan pada rilis ini,” tulisnya di blog mereka.
MATE dan Cinnamon merupakan dua pilihan interface (desktop environment) yang dapat dipakai oleh pengguna. Bandingkan dengan Ubuntu yang hanya menggunakan Unity sebagai interface-nya.
MATE merupakan pengembangan dan sempalan (fork) dari GNOME 2. Menurut pengembang Mint, MATE 1.4 tidak hanya peningkatan kualitas dan stabilitas dari GNOME 2, tetapi juga penghapusan bug dan penambahan feature baru.
Mint 14 juga menyertakan interface MDM (Mint Display Manager) yang mendukung theme Gnome Display Manager 2. Ada 30 theme yang terinstal secara default di Mint 14 dan ada sekitar 2000 lainnya yang dapat diperoleh di gnome-look.org. Pengguna dapat meng-customise theme dan layar login mereka.
Untuk menjalankan Mint 14 diperlukan sistem sebagai berikut. Prosesor x86 32-bit atau 64-bit (Linux Mint 64-bit mensyaratkan prosesor 64-bit; Linux Mint 32-bit dapat menggunakan prosesor 32-bit atau 64-bit), RAM 512MB (disarankan 1GB), ruang disk 5GB, kartu grafis dengan resolusi minimal 800x600; drive CD/DVD atau port USB.
Read More