WhyWaitForever IT Consultancy

Technology

Here are some of the technologies we routinely apply to our consultancy and development projects. We are strongly committed to the Open Source movement.

Content Management System

We have experience of a number of content management systems. Current projects use OpenCms. We use OpenCms JSP / XML content templates to manage content which is held as Docbook XML fragments.

In many cases content management can be implemented as a back office application. Content can be tested, reviewed, approved, published and deployed either through scheduled processes or on demand. There can be conflict between the need to rapidly change content and that of performance.

Extensible Stylesheet Language

XSL and XSLT are used to display or transform XML documents.

Docbook XSL is used to transform Docbook XML documents into HTML, XHTML and other formats such as RSS.

JSP, Taglibs, STRUTS and Tiles

JSP is our preferred server side scripting language. Many advantages are gained by embedding JSP constructs within the Docbook XML fragments.

At one time it was common to build custom taglibs. A better approach is to use where possible the standard Taglibs.

Struts and Tiles allows easier implementation of business rules for personalisation and scenario processing.

Lucene for Search

We use Lucene to index websites and to provide a free form search capability.

Business rules define what is to be indexed and the ranking of returned items. High profit high availability items rank above low profit low availability items except when end of stock ranges need to be sold. It is very important to use web analytics to continue to tune the processes that build the indices.

Java, J2EE and EJBs

We have grown with Java. J2EE introduced Servlets and has now moved on to high levels of abstractions such as EJBs.

JUnit provides us with automatic continuous testing.

XDoclet is the generator of choice for EJBs. It is likely to replace many of the current generation of inhouse built custom Java source code generators.

Apache, Tomcat, JBoss and IIS

Apache is such a powerful and robust web server.

Tomcat adds JSP and Servlet processing.

JBoss adds enterprise middleware, service processing and EJBs.

IIS adds the capabilities to use those people friendly goodies from Microsoft research and development.

Web Services appears to be the future for application to application communications. We are evaluating Apache Axis as a SOAP server and client.

MySQL and Xindice

MySQL is our choice for relational database. Torque provides a level of abstraction from the variants in DDL, DML and SQL for the various relational databases. For high performance the two leaders are Oracle and DB2.

Xindice is our choice for a native XML database. The power and ease of XPATH and XQuery simplifies data mining.

Eclipse, Ant and Unix Tools

Eclipse is our current integrated development environment. Ant together with in house built tasks and the host of Unix tools provides a very powerful processing capability.