Technology

Our solutions use the most appropriate technologies for your needs. We look at each business case uniquely and tailor the web application to your requirement.

Brief

Our applications are developed in line with best practice software developments techniques, tools and methodologies. These are outlined briefly in the following sections:

  1. Tools Used
  2. Patterns
  3. Enhancements
  4. Development Strategy

1. Tools Used

We are predominantly java development specialists with strong database and scripting skills. We take web application development from the initial use-case scenarios, through incremental testing and development, through to implementation, hosting and maintenance. Development Environment:

Libraries and APIs:

  • Struts
  • Tiles
  • Jakarta Commons Libraries (dbcp, logging, validator, pool, lang, collection...)
  • JSTL

Testing and Development

2. Patterns

There are a wide number of patterns used. The reasons for adopting and exploiting patterns is clear enough (or should be). Below are a list of some of the patterns used, but this is of course not exhaustive:

  • Model-View-Controller (Data-Presentation-Business). See also the explanation of MVC
  • Facade
  • Singleton
  • Chain of responsibility

3. Enhancements

Developer enhancements

Application Enhancements

  • RSS/ATOM feeds using ROME
  • Alternate front ends such as Print, Mobile, XHTML, webTV, Laszlo/Flash
  • Alternate output formats such as PDF, txt, SVG, .xsl etc...
  • Accessibility enhancements
  • Lucene search engine capabilities.
  • Velocity templating engine to simplify code at the interface
  • Hibernate for better ORM and data persistence.
  • AJAX for real-time front-end to back-end interactivity
  • Java Server Faces
  • ACEGI for improved authentication and authorization.

Server Enhancements

4. Development Strategy

  • Focus on the business problem
  • Keep it simple
  • Use Patterns
  • Reuse code
  • Work closely with other programmers (XP techniques)
  • Unit Test, test before your build
  • Use automated builds with tools such as Ant and Maven.
  • Develop code incrementally, using refactoring
  • Work with end users and model their needs with tools such as UML
  • Combine the UML with the code and the unit tests for round-trip engineering

Technologies

Some of the technologies we use:

  • AJAX
  • Java
  • Javascript
  • CSS
  • DHTML
  • XHTML
  • SQL
  • XSL/T
  • UML
  • DOM
  • Python
  • Ruby
  • PHP
  • XML

Things to Believe In

We feel strongly about using the best tools, techniques and methodologies available to us. These include:

  • Design Patterns
  • Unit Testing
  • UML
  • Strength in numbers

Knowledge and Community

We specialise in developing Knowledge and Community building environments tailored specifically to users' needs.

Using a range of bleeding-edge and established technologies we can provide you with a working communications solution that fit your specific needs and interests.

Our solutions are all web-based, allowing you to take your extended support environment with you wherever you need it. All our solution aim to meet the interoperable and useability requirements of W3C, WaSP and the major browser creators.

>