Enterprise Computing
Thursday, March 04, 2004
 
A real world example of such a system is a multi platform distributed database, maybe something like an Oracle database. At our presentation level we may have a graphical front end, produced in Visual Basic for PC machines and a interface made in Java for our Solaris machines. These applications have two requirements: obtain the users request; display the subsequent result. In our database example the request maybe an SQL (Structured Query Language) statement, the result maybe some lines of data from the Oracle database. In request will be send to the business logic level, this is likely to be on a different server, but not always. What happens at this level will depend on the complexity of the system, a simple level two will forward the data onto the database, in that case the database it properly be on the same server as the business logic or actually incorporated into the database in some cases. In more complex systems the logic will act as a router or co-ordinator for the data. Most large companies will have more than one copy of the database for security and performance reasons, this is called replication, for a query the logic layer will maybe pick the database with the least traffic on it. In the case of an update the job is not as easy, all the databases must be updated with the new data, now the logic layer must act as a ‘Transaction Monitor’, it must make sure that all the database are updated or none of them are update. Typically a Two or Three Phase Commit Protocol makes sure that this functional correctness is carried out. Another job of the logic layer is often joining together different databases, lets say our personnel data is on a client-server based Oracle system while the customer database is running on DB/2 on a mainframe. The logical layer will split and send of the relevant queries to the databases and join the response together. Assuming for simplicity that the system only uses one database the request in sent on to it, and a response is sent back. The logic layer gets the response and puts it into a readable format for both the Visual Basic client and the Java client. The advantage of this approach is a very high level of abstraction, for both the user and the developer. Lets say that for some reason we get rid of our DB/2 mainframe database and swap it for a Microsoft SQL Server database, the logic layer will need some new modification but the client interface layer should be unaware of any changes. This is very useful when we have hundreds of client machines and only a few application servers, a massive reduction in maintenance time.
 




<< Home
Alistair Thomas's 'everything to do with enterprise computing'.

Archives
03/01/2004 - 04/01/2004 / 04/01/2004 - 05/01/2004 / 05/01/2004 - 06/01/2004 / 08/01/2004 - 09/01/2004 / 03/01/2005 - 04/01/2005 / 04/01/2005 - 05/01/2005 / 06/01/2005 - 07/01/2005 / 08/01/2005 - 09/01/2005 / 09/01/2005 - 10/01/2005 / 11/01/2005 - 12/01/2005 / 02/01/2010 - 03/01/2010 / 06/01/2013 - 07/01/2013 /


Powered by Blogger

Subscribe to
Posts [Atom]