Web-based User Interface Layer
Home Infrastructure Development Environment Architecture

This page gives a brief overview about the user interface layer design recommendations and tools.


Architectural Requirements and Design Decisions at the User Interface Layer

Not all the requirements given below are applicable for all projects. The list below is a useful checklist of elements you need to consider when designing the UI layer.

Requirement Design/Architectural Decisions
Maintainability

An MVC framework to provide clear seperation between the user interface and the business components

Templating - the word "templating" is often used interchangeably to describe two distinct types of requirements

  • Templating as in having a "view" that contain variables to represent dynamic objects and a mechanism to replace those variables at runtime- such mechanisms include JSP, Velocity, FreeMarker, XML/XSL etc. - basically choices for the view layer.
  • The second idea is to have a mechanism for introducing a uniform view assemby structure (head, body, footer, navigation bar etc.) across multiple pages. There are two primary options to achieve this:
    1. Change all the pages to have JSP includes or
    2. Use SiteMesh to introduce these sections dynamically by manipulating the output.

    The latter approach is far better as changes to the layout won't require changes to all the pages. Read the comparison between Tiles and SiteMesh.

Have a clearly defined exception handling strategy that considers requirements for internationalization

i18n Internationalization can be supported using different strategies and is support by most MVC frameworks- some strategies are not scalable for supporting a large number of languages (compare Maverick strategy vs. Struts/Webwork).
Portal Requirements Java open-source portal frameworks
Support multiple formats and devices This may also be supported to varying degrees by the MVC framework you chose.
Security - ability to bind pages or regions to the concept of capabilities or priviledges Hooks (taglibs/API) to the security layer and a predefined uniform strategy of integrating the security layer with the user interface layer.
Reporting and Charting

It's important select a good reporting framework for your requirements .

JasperReports and JFreeChart are good options.

Java Open Source Reporting and Charting Solutions

Caching

Caching web pages or web-page components can make a big difference to overall application performance and scalability. For caching web pages, web page regions or application objects (reference data), OSCache is a good option.

J2EE Object Caching Frameworks - Article on JavaWorld

   
   

Go back to the Architecture Page

 

 

 


©2004 Chandika N. Mendis  
Hosted by www.Geocities.ws

1