A multi-tier application for interaction with a
user interface, such as a browser on a PC or PDA. The application comprises a presentation tier (such as a
web server with a JSP / servlet engine) and a
business logic tier (such as an
application server) to manipulate data for subsequent presentation on the
user interface. A direction module has a plurality of coupled directions, including a function direction to direct a corresponding functional component to perform a
data processing function using the
business logic tier and provide a
data processing output, and a presentation direction to direct a corresponding presentation component to incorporate the
data processing output, when applicable, into a presentation template to produce a presentation element for the
user interface. The function component and presentation component are independent and separate from each other, the connection being the function component produces the data and the presentation component consumes the output data. The presentation component is an abstract representation of a general kind of presentation element, each specific presentation element having its
layout and format (such as markup language) stored in a different presentation template, and the reference to a specific presentation template for the presentation component can be determined at
processing time in the presentation tier.