Case Study: Experience of Building AJAX with ZK
DBL started using ZK for all new web-development in early 2007, and these systems are now in use by clients in various private sector firms.
Many of DBL's clients are extremely innovative in their vision for their business and are increasingly looking to IT solutions to help support and manage new business practices. DBL needs to be able to offer rapid turnaround of new and custom features on top of its flagship products, without threatening the stability of the base products.
DBL sells business systems so the core challenge is not technology – it is being able to understand often complex customer requirements in terms of data model and process flow – then rapidly build user-friendly interfaces on top of these. “We want our programmers to spend most of their time understanding the client's business, and not writing boilerplate code.”
To meet this challenge, DBL analyzed the market for a tool which could really demonstrate productivity improvements. Their final decision was ZK. Here are the three main reasons:
- DHTML compatibility – no need to install or maintain any browser plug-ins
- Pure Java – means we have a consolidated skillset and avoid the complexity of DHTML
- Define UI declaratively in XML – makes code much easier to maintain
During evaluation, GWT, Echo2, OpenLaszlo and Flex were also considered and ZK defeated GWT in the end. Basically, ZK offers the ZUML language for declarative page layout and GWT has nothing comparable to this. In GWT developers must define the layouts by building them as object trees in a step by step way. In ZK everyone can do this whenever he wants to, but perhaps 80% of the time developers can declare the same tree in a more concise and intuitive way using the ZUML, a simple XML-based UI markup language.
One of another important factor which helped in the final decision was ZK’s extensibility. It comes with built-in integration and extension points for several popular technologies such as Spring, Google Maps, the FCKEditor online rich text editor, and DOJO. As most of people do not use all these technologies at the moment, DBL certainly plans to use some of them in the medium term and it was helpful to know that they were not shutting themselves off from them by choosing ZK.
It is also important to point out that ZK being 100% Java is a plus compared to certain other options because it means developers can build specialized components to fit ZK into the architecture at any level – all in the same general purpose programming language.
Finally, ZK's built-in Spring Integration was also a significant help.
Since DBL started using ZK, the following positive progress has been noticed:
- Technology Splurge. Browser-Server communication is transparent and warm-up time for new team members has been reduced to about an hour for the frontend part of our applications!
- Development cycles. Developers spend more time talking about the system and less time talking about syntax, config file locations and technology gotchas.
- UI Richness. Developers can do pretty much anything he could in a Native GUI - the relevant tags and UI elements are intuitively named and well documented. It just got easier to access from the frontend!
Database, Lda (DBL) was founded in 1999 to sell IT hardware and services into Mozambique's economy as it began a period of rapid growth. In 2004 DBL produced its first software product, a management system for the wholesale sector, and in 2005 restructured to focus primarily on software and services. Its software is now used by dozens of corporate clients in the wholesale, retail and import/export sectors.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)