Employing best practice throughout enables us to implement systems in a realistic time scale and at minimum cost. This is underpinned with the use of the correct development tools, a proven platform, and strict adherence to configuration control and version release procedures.

There is little technical difference in the way we approach the implementation of websites and larger online business software packages. They all run on the same platform and in the same environment, but on separate web servers. The conventional three tier approach, which consists of a data layer, a business logic layer, and a user interface layer, is adopted throughout.

Websites are intrinsically simpler than online business software packages, and are in many ways similar to one of the single entities / modules that make up a larger software package. Websites also differ in that much more emphasis is placed on the user interface, because this is the face of the business as seen by the online world. This entails much more interaction with the customer during the website development.

Most business software is intended for in-house use, so the emphasis is more on ease and consistency of use, rather than appearance. The greater complexity of the online business software also requires a much more modular and formal approach to their implementation.

Extranets, which expose selected in-house data to customers in a secure manner, are slightly closer to websites, because they are seen by the customer's customer. Even so, the emphasis in on the delivery of information, rather than attracting new contacts.

A Solid Foundation

All of our applications are based the well-established and proven three tier approach to all of its online systems and websites. These three tiers are the database handler, the business logic and the user interface, which are viewed as separate intercommunicating aspects of the system.

The larger online systems normal require a relational database, for which Microsoft SQL is used. SQL also has the advantage of being easily scalable and locatable on a physically separate server to that on which the associated business logic is executed. Our preferred approach for websites and for smaller online systems is to hold the data in XML files. These can still be related, but the relationships are controlled separately within the business logic. Some online systems involve a hybrid arrangement employing both a SQL database and XML files.

The business logic sits between the database handler and the user interface and is largely independent of both. The business logic is implemented entirely in Microsoft C# running on a Microsoft .Net Framework, which enables us to write high performance compiled programs for any application and without any constraint. It also gives us access to the largest worldwide pool of well proven C# software source code, so no requirement is beyond our reach.

The user interface is controlled by C# programs running on the web server, together with a range of browser programs, including JavaScript, jQuery libraries, stylesheets, including the LESS dynamic stylesheet language, and exploiting the full capability of HTML5.

We have also developed a library of programs, primarily in support of the user interface, which cater from any eventuality that be required for a website, from relatively standard features through to a complete novel requirement. We also have a suite of designer tools, which enable us to implement the most common website features without the need to resort to any lower level C# programming.