Hi all,

Liburan imlek nanti tanggal 7, 8, 9, 10 Februari akan diadakan training Java EE.

Berikut detail trainingnya.

Trainer :
Ifnu Bima (http://nagasakti.or.id/roller/ifnu)
Endy Muhardin (http://endy.artivisi.com)
Hadikusuma Wahab (http://dhiku.wordpress.com)

Waktu dan tempat:
Tanggal : 7 – 10 Februari 2008
Jam : 9.00 – 16.00
Tempat : Jl. Palupuh 3 dalam no 2, Bantar Jati Bogor.

Materi Training:
1. Java Fundamental
2. JDBC dan Dao Pattern
3. Spring 2.5 JDBC
4. Java Server Faces
5. Richfaces Component
6. JasperReports
7. NetBeans 6.0

Informasi lebih lanjut dapat dilihat disini

Karena gw ngasi materi JSF dan Jasperreport, sedikit bocoran untuk silabusnya,Continue reading

Based on discussion in JUG Indonesia mailing list, there are currently two persons have shared their favorite development stack,

Now its my turn to share my favorite stack,

Presentation
Mojarra 1.2 with RichFaces + Tomahawk component

Templating
Facelets (really good with JSF)

Reporting Tools
JasperReport and iReport for visual designer

Business and Integration Layer
Spring Framework

Data Access
Hibernate, please note without JPA 😛

Security
Spring Security, yeah it can secure your app based on URL, method, object, also EVERY component in JSF 🙂 sluuurp

Testing
Unit testing with JUnit 4 + EasyMock
Integration testing with DBUnit
Coverage testing with Cobertura
Planning to implement JSFUnit for presentation testing

Build system
Apache Ant

Continuous integration server
Hudson

App Server
Tomcat for development, Glassfish for production

Database
MySQL for development, PostgreSQL for production

Project Management Tools
Redmine (task and bug tracking and wiki)

IDE
Eclipse is okay, but Netbeans rocks :))

Done! Your turn please 🙂

Setelah bermain2 dengan drupal untuk project web collaboration, gw selalu melakukan kegiatan yang sifatnya administratif dan berulang2. Parahnya lagi ini ga bisa gw lakukan lewat administrator interface. Beberapa hal tsb misalnya,

  • Karena project disimpan di subversion maka untuk memulai project, gw dan anggota tim harus,
    • Checkout project dari repository
    • Memindahkan hasil checkout ke direktori /var/www/
    • Setelah kerjaan selesai, tinggal commit hasilnya
  • Deployment ke server
    • SSH ke server
    • Export project (last stable) dari repository
    • Backup project sebelumnya dengan me-rename namanya menjadi project-backup. Misalnya dari /var/www/project ke /var/www/project-backup
    • Memindahkan hasil export project ke direktori /var/www
  • Backup data
    • SSH ke server
    • Copy project ke direktori backup. Misalnya, copy dari direktori /var/www/project ke /backup/project-[tanggal_hari_ini]
    • Dump database dan simpan di dalam direktori backup (/backup/project-[tanggal_hari_ini])

Kegiatan tsb kalo dilakukan terus menerus akan sangat membosankan. Nah maka itu gw pgn semua proses di atas bisa diotomasi. Maka gw ketemu sama yang namanya Capistrano, tools yang dibuat di atas ruby dan bertugas untuk melakukan otomasi kegiatan2 yang sifatnya repetitif seperti, instalasi, deployment, mengatur konfigurasi2, backup, dsb. Karena dibuat dengan ruby maka capistrano ini mudah di-extend dengan menambah ruby module. Capistrano ini bisa melakukan otomasi project yang dibangun selain ruby (walaupun awalnya ditujukan khusus ruby).

Maka dari itu gw mau share script capistrano untuk melakukan deployment dan backup pada projek drupal. Dengan asumsi OS yang digunakan adalah Ubuntu.Continue reading

Akhir2 ini di milis netbeans-indonesia, sering yang bertanya tentang reporting dengan menggunakan jasperreport. Oleh karena itu gw mau sedikit sharing tentang reporting tools ini. Okay, sebelumnya sharing ini gw asumsikan pembaca sudah pernah menggunakan atau setidaknya pernah mencoba untuk menampilkan report dengan data yang berasal dari database.

Ada banyak cara untuk menampilkan report, yang pertama adalah dengan memasukkan seluruh SQL ke dalam JRXML, namun pendekatan ini menurut gw kurang fleksibel. Kenapa? karena setiap ada perubahan pada tabel database kita harus mengubah kode tsb di JRXML, compile ulang menjadi jasper file, dan memastikan query ditampilkan dengan sempurna. Selain itu manipulasi dan kalkulasi terhadap row-pun sulit dilakukan, dan juga bagaimana kalo pake ORM seperti hibernate? apa mau kembali nulis SQL lagi setelah terbiasa dengan HQL? Thanks but no thanks 😀

JasperReport sudah memfasilitasi hal ini dengan menggunakan konsep DataSource. Intinya adalah proses pengambilan data dipindahkan ke kode Java, dimasukkan ke dalam DataSource, dan DataSource ini tinggal diumpan ke Jasper file (hasil compile JRXML) untuk diisi(fill) dan selanjutnya diexport dalam bentuk report yang diinginkan. Jadi tidak perlu compile2 ulang JRXML lagi jika ada perubahan SQL.

Ada banyak jenis DataSource yang disediakan oleh JasperReport, namun yang paling sering gw gunakan adalah JRBeanCollectionDataSource. Dari namanya pasti bisa ditebak bahwa DataSource ini untuk menyimpan Collection of Object. Selain itu ada juga,

  • JRMapArrayDataSource untuk datasource dari array of map
  • JRMapCollectionDataSource untuk datasource dari collection of map
  • JRBeanArrayDataSource untuk datasource dari array of bean
  • JRTableModelDataSource untuk datasource dari tablemodel di swing
  • JRXmlDataSource untuk datasource dari xml

Oke langsung saja ke contoh,

Objectivenya adalah menampilkan report seluruh user yang terdaftar (yang ada dalam database).Continue reading

Whatever You Think

Buku ini sebenarnya sudah terbit sejak Maret 2006 dan pas jalan2 ke gramedia tiba2 adek gw nunjukkin buku ini, sekilas terlihat menarik, gw baca sekilas dan gw ga sabar untuk ngebacanya. Dan setelah itu? gw simpulkan buku ini worth it untuk dibaca, sangat inspiratif, disampaikan dengan berani, ilustrasi2 yang kreatif dan contoh2 yang paradoks.

Whatever You Think, Think The Opposite, diawali dengan contoh2 cara berpikir terbalik, misalnya bagaimana atlet yang merubah cara melompat dalam lompat tinggi yang sebelumnya menyajarkan badan dengan palang rintangan (sebelum 1968) dengan membalikkan badannya sehingga membelakangi palang rintangan. Hasilnya? Rekor pecah. Sebelumnya hanya 5 feet 8 inchi menjadi 7 feet 4 1/4 inchi. Atlet tsb adalah Dick Fosbury, dan teknik ini akhirnya disebut Fosbury Flop.Continue reading