Tuesday, June 27, 2006

A Thing or Two About Struts Framework

Based on my experience while doing my final project, there's a thing or two that we must remember while working using Struts framework.

First of all, please follow the Java coding standards. I've once have an error just because I use first capital letter on an attribute of a class. Eclipse did generate the getter and setter, but somehow the Struts can't recognize them. By changing it to lower case, problem solved. -Case closed-

Secondly, regarding checkbox(es), Struts ONLY sent data when the checkbox is checked. If you have a form with checkbox which checked by default and user unchecked it, somehow Struts doesn't detect the changes. To resolve it, you have to check the parameter using request.getParameter(""). If its value is null, the checkbox is unchecked. Otherwise, the checkbox is checked. -Case closed-

Actually, I still have some problems while using Struts framework. When I try to use struts-config.xml to configure database connection, it yields error code. In my final project, I put the database configuration in MessageResources.properties. I know this one is not good, but hey.. It works :p -guess it's not over yet-

Web Service - jFreeChart Conflict

In my final project, I used jFreeChart to generate a gantt chart. Unfortunately, after I put the jFreeChart library, the web services can not be deployed. After searching in the internet, finally I got the answer. Somehow, one of the files in the jFreeChart library cause the error. The file is "gnujaxp.jar". It's a little bit weird since deleting the files solve the problem without causing new problem. The web services back to normal. It can be deployed successfully. On the other hand, the gantt chart can be generated successfully as well. Everybody's happy now :)

The Final Version of My Final Project

Well, it's been a long time since my last post I guest hehe.. Many things happens during my final project. In short, my final project title becomes "Building Configuration and Monitoring Unified Process Based Software Project". It covers a little about many things, including unified process, Struts framework, and web services.

Here is the abstract of my final project:

During the final project, an integrated tool for configuring and monitoring unified process based software project management is build. The tool being built is called “Fusion”. Configuration on unified process based software project needs to be done based on the nature of unified process which allow user to choose the activities needed for a specific project. On the other hand, project monitoring needs to be done in order to monitor the status of a project. Until this final project, there have not been any integrated tools that can help the configuration and monitoring process.

The features of “Fusion” consist of configuring and monitoring unified process based software project. The configuration feature includes setting the number of iterations, activities which will be done, and artifacts which will be produced and creating new activity, artifact and worker which has not been defined in unified process. The monitoring feature includes setting the planned schedule, setting the actual schedule, and changing artifact’s status. In order to support interoperability with other application, the tool also provides web services feature. Using web services, data exchange can be done in application level on different programming language and platform. The web services features gives information regarding particular project and particular worker on particular project.

In order to build the tool, problem domain analysis regarding unified process, project management, and web services are done. The next step is to analyze, design, implement, and test the tool. Unified process methodology is also used during the tool’s development. “Fusion” is implemented as a web based application being build on Java programming language using Struts framework. To help the implementation of the tool, Eclipse is used as a Java IDE.

Based on testing that has been done, “Fusion” has met the software requirement specification and it can run according to the specified scenarios. “Fusion” can be used to help user to configure and monitor unified process based software project. It can also be used to learn how to configure a unified process based software project as well. Furthermore, monitoring feature on “Fusion” can be extended so that it can monitor cost, relationship between activities, and critical path aspects.

Keywords: unified process, unified process configuration, project monitoring, web services, “Fusion”