replicating objects from its native object-orientated database to one or more relational database. This feature supports Microsoft SQL Server versions 2000, 2005 and 2008. Three-tier model Database-driven software, often uses a three-tier methodology with applications being split into three tiers – data storage, processing and presentation. In the data storage and processing tiers, JADE systems are a collection of co-operating servers, called nodes, and multiple nodes may be involved in each tier. Each type of node has a different name and all are capable of manipulating objects and executing business logic. A collection of nodes can be deployed across one or several machines. Database servers handle data storage and can also execute business logic, while application servers handle processing. In a three-tier model, presentation clients provide the user interface. JADE also provides a two-tier client that combines the abilities of an application server and presentation client. Traditionally, these three tiers would be created by combining three programs and having them communicate to form one system. Having the different programs separate like this has many advantages, the main one is that the system becomes scalable, that is, raising the power of the system involves simply adding more nodes. Designing a system like this gives the programmer a decision to consider every time they want to code in a particular function. They need to decide whether the function would run best on the database server, application server or presentation client before they begin coding as it will be difficult to change that decision once the functionality is coded into one of the tiers. This is different for JADE applications, as they are coded as one application from end-to-end. When creating a JADE application, the programmer can think as if they were creating a program that will be running on the database server – as if all the data storage, processing and presentation were happening on one computer. When the program runs on three tiers, JADE automatically knows to run all the code by default on the application server, and to send database requests up to the database server and user interface information down to the presentation client. However, it is very easy for the programmer to switch the location at which a particular method is run and move it to a different tier by changing the method signature. Because of this, the decision on where a particular piece of code should run