Chat Downloader Application


ChatDwonloader merupakan OpenSource Java Application yang memungkinkan download file melalui chatting Google Talk. Ide awalnya adalah aku sebagai Software Developer yang hampir setiap hari menghabiskan waktu untuk bekerja di client. Namun kadang kala aku membutuhkan software mislakan update atau patch Websphere Application Server yang ukuranya hampir 1GB. Kalau di download dari internet client satu hari juga ga bakal kelar. Tapi kalo di download dari kantor kencang. Akhirnya dengan cara manual aku search software yang perlu di download saat jam kerja di client. Besok paginya aku datang ke kantor untuk mendownload file yang sudah aku persiapkan satu hari sebelumnya.

Terus terang cara manual diatas sangat tidak efektif, aku harus cari file nya, besoknya aku download dari kantor, besoknya aku datang lagi ke kantor untuk ambil file tersebut. Gimana jika disaat aku dapatkan url file download filenya, aku kirim sesuatu ke kantor lalu file tersebut di download automatis. Besoknya dengan santai aku datang ke kantor untuk ambil file hasil downloadtan.

Akhirnya setelah bertapa selama satu hari dan diberi wangsit oleh Ki Joko Bodo dan Hokage IV aku mendapat ide untuk download file melalui chat. Aku buatin program yang jalan di background, kerjaanya dengarin chat message download dari GTalk, ketika ada chat message download yang masuk program tersebut akan download-tin filenya, notify pengirim ketika file tersebut sudah selesai di download dari chat message juga.

Continue reading

Advertisements

Running Java Applications as a Linux Service


Overview

Sometimes application have the need to run java application as Linux Service. Aplicatioin needs to start, stop, restart easily. In traditional method, I usually run java application using command line
java -jar applicationame
when I need to restart the application, I will do:
– Find process ID of the application started before
– Kill process kill -9 PID
– start java apps, java -jar applicationname

Besides complicated, this method also has disadvantages such as the when start service for two times there is no prevention if the service running.

Java Service Wrapper

Using Java Service Wrapper, the complected steps above can be simplified.It also support Linux and Windows Platform.

The case study is scheduler will print log every one second. To know about quartz using spring support please check this article

First thing first is download java service wrapper library , I use 3.5.7 version for linux 64 bit. Unzip the file. If you want to use the java service wrapper to production you can remove docs, jdoc, src directory and readme files.
export the application to jar file, you can use you IDE to make it simple. Continue reading

Messaging and Event Driven Architecture


Overview

Messaging adalah salah satu metode komunikasi antara software komponen atau aplikasi. Messaging client dapat mengirimkan dan menerima pesan dari messaging client yang lain. Dengan messaging komunikasi terdistribusi dapat di lakukan. Message receiver tidak harus available saat message sender mengirimkan pesan. Message Sender mengirimkan pesan ke destination (lokasi dimana message tersebut dikirimkan) yang terdapat di messaging agent, saat receiver available messaging agent mengirimkan pesan tersebut ke receiver.

Messaging ini benar benar loosely coupled, sender tidak berinteraksi langsung dengan receiver, sender tidak perlu tahu menahu tentang receiver ataupun sebaliknya. Yang menjadi kontrak/yang harus diketahui oleh sender dan receiver adalah message format dan destination.

messaging itu asynchronous (fire and forget) , sender hanya mengirimkan message ke destination. sender tidak harus harus menunggu message tersebut selesai proses oleh receiver, dan receiver tidak harus available saat pesan tersebut di kirim. Misalkan aplikasi receiver down, receiver akan tetap mendapat message setelah aplikasi receiver available.

Terdapat dua messaging pattern:

  1. Point to Point: Sender hanya mengirimkan message ke satu receiver
  2. Publish and Subscribe: publisher/sender mempublish message ke banyak subscriber/receiver. Jika ada subscriber yang baru masuk, subscriber cukup mensubscribe destination, tidak ada perubahan terhadap publisher. Saat publisher mengirimkan message lagi maka subscriber yang baru secara automatis akan mendapatkan message tersebut. Continue reading

Unit Testing


Pertama-tama mendengar unit testing, langsung kepikiran kenapa capek2 buat code program untuk ngetest aplikasi yang di develop. Buang2 waktu sebab aplikasi bisa di test manual melalui user interface aplikasi. Isi data2 yang di form aplikasi, klik tombol submit, cek apakah ada error, atau data masuk ke database.

Lama kelamaan sejalan dengan waktu aku baru sadar kalau cara itu kurang efektif. Basically developer harus mengetest code yang di develop setiap kali ada perubahaan. Untuk menjamin code yang di tulisnya berjalan dengan benar.  Akan membuang banyak waktu jika tiap kali ada perubahan harus melakukan berulang2  isi data2 yang di perlukan user interface aplikasi, submit, cek apakah ada error atau mengecek apakah data sudah masuk di database.  Seratus kali perubahaan setarus kali test manual (input data) di lakukan. Programmer membangun aplikasi untuk membantu manusia mengautomatisasi pekerjaan mereka. Jadi kenapa kita tidak membantu diri kita sendiri mengautomatisasi pekerjaan dalam hal testing aplikasi ? Continue reading

To Do List


Sebentar lagi waktu ku bakal banyak yang kosong nih. Bakal bosan dan hambar kalo setiap pulang kerja atau hari sabtu minggu kerjaan nonton, tidur, browsing2 mulu. Karena itu, aku telah mepersiapakan to do list, mengenai hal2 apa saja yang harus dikerjakan.

  1. CI system design, sapa tau ada side project. bakal lebih enak ngerjainya. ngga capek2 mikiri design system dari awal
  2. Spring Framework, framework yang paling sering dipake oleh perusahaan yang bergerak di bidang software house akhir2 ini. Denger2 framework ini sangat sangat mempermudah pembangunan aplikasi web, membedakan Model, View, Controller,  service layer, terdapat juga dependency injection. Dan denger2 juga framework ini dapat digunakan untuk desktop aplication. Continue reading

Implementing ws-security in Webspehere Message Broker


Now I will talk abut implementing web service security.

Preq:

  1. Understand Implementing webservice in Websphere Message Broker
  2. Understand web service security concept
  3. Understand using LDAP server/client

Introduction

By default if we create web service, and publish that web service. The service can be accessed publicly.  some times there are some service that must be access privately, just certain user can access the service. and how to make it more secure, high integrity, and more confident.  There are several type of we service security implementation. Continue reading