01 February 2014

Reviewing

Ah, Sampai juga akhirnya menengok blog ini. Setelah sekian lama, lama sekali bahkan saya sedikitpun tidak menengok blog ini paling tidak 4 bulan lamanya, sementara sebentar lagi tagihan pembayaran hosting dan domain akan segera menghampiri :nyengir
Yah begitulah pembaca, akhir-akhir ini saya memang lumayan sibuk dengan pekerjaan kantor sambil sesekali menengok facebook dan akun sosial media lainnya yang saya miliki. Beberapa project critical bulan-bulan lalu memang tengah saya hadapi sehingga kesibukan ini bisa dikatakan bahwa saya benar-benar sibuk.
Saya belum akan mem-posting tulisan-tulisan tentang kegiatan saya dalam menjalani keseharian saya sebagai developer kali ini, sebab ya itu tadi, saya mencoba untuk menarik nafas terlebih dahulu setelah semua kesibukan tersebut bisa saya lewati dengan alhamdulillah bisa saya katakan memuaskan bagi saya atau mungkin pihak-pihak lain.
Ada baiknya saya ceritakan sedikit tentang beberapa project terkahir saya dan team yang kami lakukan beberapa bulan yang lalu. Siapa tahu bisa menjadi inspirasi bagi pembaca sekalian untuk kemudian meneruskannya kembali, atau jika berkeinginan untuk berdiskusi dengan saya tentang beberapa project terakhir saya juga, mari silahkan.
Ok saya akan bercerita tentang project saya dan team diantaranya :
PPDM Portal SKK Migas.
Project ini merupakan project yang sebenarnya bukan murni project dari kantor saya, melainkan project sub-con, dari perusahaan yang menang tender di SKK Migas, kenapa di Sub-Con ? sebab si pemenang tender setelah hampir 2 tahun tidak bisa menyelesaikan tugasnya. 
Memangnya project ini ngapain sih ? Jadi begini, pada project ini SKK Migas ingin memiliki sebuah interface dari data management berdasarkan database yang sudah mereka beli dari ppdm.org. Awalnya interface yang diinginkan oleh SKKMigas adalah sebuah interface yang bisa menampilkan data komposit dari database tersebut dan kemudian menampilkannya ke dalam portal sebagai sebuah informasi. Namun keinginan tersebut berkembang menjadi sebuah interface yang memiliki kemampuan back-office application atau sederhananya sebuah interface CRUD Database yang notabene termasuk data atomik.
Pada project ini kami menggunakan liferay-portal sebagai portal container karena memang kami sudah berpengalaman menggunakan liferay dalam pembuatan portal-portal customer perusahaan kami. Tantangan dari project ini adalah portal atau interface yang kami buat tidak boleh langsung terhubung dengan database yang ada, melainkan harus melewati sebuah middleware application, kenapa begitu?, ya emang harus begitu, saya juga gak ngerti, saya anggap sudah peraturan SKKMigas lah, bukan tugas saya untuk menyanggah atau memprotes kenapa SKKMigas memiliki mekanisme sistem informasi yang seperti itu.
Middleware application yang digunakan oleh SKKMigas ini merupakan produk dari SoftwareAG yang bernama Web Method. Jadi Web Method ini yang akan berhubungan dengan database, dan portal saya nantinya akan terhubung ke middleware ini. Web Method ini memiliki kemampuan dapat berkomunikasi menggunakan Web Service dan Socket, nah melalui salah satu-nyalah portal kami harus bisa berkomunikasi.
Awalnya saya ragu dan bingung dengan bagaimana cara mengintegrasikan portal kami dengan webmethod ini, sebab webmethod ini merupakan produk komersial yang juga sedikit sekali informasinya diinternet. Research-pun saya lakukan, dan akhirnya saya berhasil membuat sebuah library kecil yang bisa saya gunakan untuk berkomunikasi dengan webmethod ini. Library ini saya beri nama WmClient, cara kerja library ini adalah menghubungkan diri dengan socket yang di-listen, kemudian melakukan pemanggilan service yang ada pada webmethod ini. Output atau keluaran dari pemanggilan service tersebut kemudian saya mapping dengan domain model dalam aplikasi portal saya. Tentu saja library yang saya buat harus memiliki sifat yang dinamis sehingga output yang keluar dari webmethod tersebut bisa di-mapping ke dalam object model dalam aplikasi portal kami. 
Untuk membuat library tersebut saya membutuhkan waktu kira-kira 4 hari untuk menyelesaikannya, dan kemudian memodikasi aplikasi portal kami kepada library tersebut dan alhamdulillah dalam waktu singkat kurang dari 2 bulan kami berhasil menyelesaikan project tersebut.
Case Management DIRJEN Pajak
Project selanjutanya yang kami kerjakan adalah project case management Dirjen Pajak, project ini sebetulnya adalah project rintisan buat kantor saya, artinya project jenis ini memang belum pernah dikerjakan oleh kantor saya. Detail project ini sangat sederhana, yaitu membuat workshop dengan 2 sampel use-case. Workshop ini berlangsung selama 10 hari, guna mengenalkan case management ke dalam lingkungan department IT Dirjen Pajak yang nantinya mereka akan mengembangkan sendiri case management ini sesuai dengan kebutuhan mereka.
Case Management adalah sebuah mekanisme aplikasi yang berupa workflow, makanya sering sekali case management ini disebut juga dengan workflow. Mekanisme workflow itu sendiri mungkin seperti ini deskripsinya. Bayangkan ada sebuah penanganan komplain dari pelanggan ke perusahaan. Nah saat pertama kali komplain datang, saat itulah sebuah workflow dimulai. Misal begini, customer-service menerima komplain dari seorang pelanggan bahwa produk yang dibelinya cacad produksi, customer service tersebut mencatat data-data pelanggan beserta produk yang dibelinya dan detail komplain yang diajukan. Sampai disini sebuah bagian dari workflow telah selesai, kemudian kasus tadi misalnya akan di teruskan ke bagian teknisi untuk memeriksa apakah benar barang tersebut memiliki cacad produksi, jika benar maka tindakan yang dilakukan oleh teknisi ini adalah meneruskan laporan tentang cacad produksi ini ke bagian produksi dan kemudian mengganti produk yang dibeli pelanggan tadi dengan yang baru. Jika benar kasusnya bahwa barang tersebut cacad produksi, secara workflow akan ada dua aksi yang dilakukan teknisi ini, yang pertama melaporkan ke bagian produksi yang kedua mengganti barang tersebut dengan yang baru. Dan ketika mengganti dengan barang yang baru secara workflow bisa saja teknisi langsung bertemu dengan pelanggan atau diserahkan melalui mekanisme customer service, itu semua tergantung bagaimana workflow tersebut ditetapkan dan diterapkan. 
Perpindahan proses dari satu pihak ke pihak lain dalam workflow melibatkan pencatatan data, ada kemungkinan pencabangan disana, memiliki fitur tracking dan reviewing, begitulah kira-kira gambaran sebuah workflow atau case management. 
Kami memutuskan untuk menggunakan workflow engine dalam project ini, loh emang ada? jawabannya "banyak" baik yang komersil maupun yang open-source. Hanya saja engine tersebut adalah sebuah produk dan biasanya yang namanya produk pasti punya GUI dan kalo user menghendaki GUI yang berbeda dari GUI bawaan produknya, disinilah tantangannya.
Dari sekian banyak workflow engine yang kami research akhirnya kami memutuskan menggunakan activiti dengan alasan activiti memungkinkan kami tidak menggunakan GUI-nya dan hanya menggunakan engine workflownya saja. Untuk bisa berkomunikasi dengan activiti, kami menggunakan fitur RESTFull Service yang dimiliki oleh activiti tersebut, jadi ya akhirnya saya buat sebuah library yang bisa berkomunikasi melalui mekanisme RESTFull Service untuk bisa digunakan dalam aplikasi GUI-nya.
Oh ya, untuk GUI yang kami buat dalam project Case Management ini, kami menggunakan Grails Framework dengan alasan kecepatan dalam development. Jadi dengan Grails Framework ini kami mengalami kecepatan yang sangat luar biasa ketika membuat sebuah aplikasi java web. Kekuatan template engine dan environment ready to develop menjadi keunggulan tersendiri dari Grails Framework yang membuat kami terkagum-kagum. Dengan Grails kami dengan mudah mengintegrasikannya dengan framework css yang tengah naik daun saat ini, apalagi kalo bukan twitter-bootstrap.
Singkat cerita, project ini pun selesai kami kerjakan dalam waktu satu bulan saja dan kami melanjutkan dengan melakukan workshop di kantor DIRJEN Pajak selama 10 hari.
Pembaca yang budiman, begitulah kesibukan yang saya lakukan dalam 4 bulan belakangan ini. Yang saya rasakan dalam 4 bulan terkahir ini, begitu banyak pengalaman dan pelajaran yang saya dapat bersamaan dengan saya mengerjakan project-project tersebut diatas.
Mudah-mudahan dari cerita diatas para pembaca yang budiman bisa menjadikannya sebagai inspirasi. Saya terbuka untuk melakukan diskusi terutama dengan topik-topik pengalaman saya tadi diatas. Sebab menurut saya itu masih bisa dikembangkan lebih jauh lagi.
Akhir kata, drop me email of comment below  if you want to start discussion about it.

Terima kasih atas perhatiannya
Wassalam,

Menteng, 2 Februari 2014
Josescalia

No comments: