Saturday, December 29, 2007

Table Display Using DisplayTags & AjaxTags

The display tag library is an open source suite of custom tags that provide high-level web presentation patterns which will work in an MVC model.

Display tag can be downlaoded from

Actually the display tag library can just... display tables! Give it a list of objects and it will handle column display, sorting, paging, cropping, grouping, exporting, smart linking and decoration of a table in a customizable XHTML style

Exporting includes CSV,PDF,XML,Excel formats.

Pagination and sorting can be easily achieved.Sorting can be done per page or on the entire list based on the option given.Different css can be used for styling.

Table contents can be given as links by href options.Also dynamic links can be provided.Decorators can be used to display the contents of the table in desired formats.Decorators can be applied to tabel as a whole or per column basis.

The object to be displayed can be a Collection, an Enumeration, a Map (values are displayed in row), a Dictionary (values are displayed in row), an array, an Iterator, any Object with an iterator method.

The AJAX JSP Tag Library is a set of JSP tags that simplify the use of Asynchronous JavaScript and XML (AJAX) technology in JavaServer Pages.

It is a wrapper over display tag which allows only the part of the screen to be refreshed without the entire page being sent back to the server.Configeration is simple and all features of the display tag can be used.

Ajax Tags can be downloaded from

WorkFlow Using Enhydra Shark & Jawe

This Framework helps to maintain the workflow of an application seperate from its core implementation.The Enhydra Shark project delivers a workflow server It is an extendable and embeddable Java Open Source workflow engine framework including a standard implementation completely based on WfMC specifications using XPDL

Enhydra Shark and Jawe can be dowloadded from

This way Enhydra Shark can be used as a simple "Java library" in servlet or swing applications or running in a J2EE container supporting a session beans API, Corba ORB or accessed as a web service.The backend of the FameWork is a the databaase which allows to store each and evry state of the workflow and API s are provided which helps to acess and modify these values.

Along with this Jawe Editor is also available which allows to create workflows using Graphical user interface, most of them drag and drop features.The workflow created using the Editor is a xpdl(Xml Process Definitiomn Language) , which can be loaded and instanstiated using the given APIs , which stores each and every state of the workflow process.Seperate ToolAgents are also available which helps to connect external modules with the workflow.

Sample ToolAgents are available for many different common tasks in automated workflows.Storage of process and activity instances is done via a configurable persistence API.

In combination with WorkFlow Editor, the graphical XPDL workflow editor, this prject delivers a complete embeddable or standalone workflow solution.The default instance persistence API implementation uses Enhydra DODS for relational/object mapping, which allows it to be easily used across diffrent DataBases.Available ToolAgents include scheduler tool agent ,mail tool agent,BeanShell tool agent,JavaScript tool agent and Runtime application tool agent.

Enhydra Shark can be used as a simple java object(POJO), Web Service,Swing Client,Cobra ORB or running in a J2EE container supporting a session beans API.

Friday, December 28, 2007

Continous Integration With CruiseControl

Continuous integration is a hot topic in the software development world. Although often linked with Agile processes, such as eXtreme programming, the concept and practices are nothing new -- just a variation on well-known software development best practices. It includes a cycle of checking out the latest code from repository, build , deployment and testing.

CruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds.

It has provisions for
Checking out for modifications in the code Repository (SVN or CVS)

Interval based bulding( Eg : per hour basis or day basis in a week )

Conditional building based on modifications in Repoistory

The home grown build and deployment tools(processes) can be called from it which gets executed

Corresponding unit test cases & covearge frameworks can be executed .

Results can be intimated through messenger or emails.

JMX controls are provided which help in controling the entire process through the Webpage.

Dashboard is provided which gives detailed information about builds success, failure details , point of failure, time taken , latest modifications in repository from last successful build, unit test results , coding standars followed etc.

Although the process for Building and Deployment of the product depends on the individual , Cruisecontrol helps to integrate all these under one platform .

The product is available under the free licence and can be dowloaded from the following URL

It has Plugins for several of the following Additonal Frameworks.When Pluggins are not provided the results can be displayed from a link provided in the CI home page.(As Jettty WebServer is emmbedded woth cuisecontrol )

PMD : - (Coding Standard Framework)

Emma: -( Java Unit Test Coverage FrameWork)

Clover : -(Alternative to PMD)

Junit : - (Java Unit Testing Framework)

Utplsql : (PlSql Unit Testing Framework)

Jutex : - (PlSql Unit Test Coverage Framework)

Code Collaborator : (Code Review Tool)

Free Domain Names @!