Online documentation - Websydian v6.0

Users Guide | Patterns Reference | WebsydianExpress | Search

 

Websydian J2EE Architecture Background

J2EE Architecture

J2EE (Java 2 Platform, Enterprise Edition) has emerged as the standard E-Business application architecture supported by application servers such as

J2EE defines the standard for developing mult-itier enterprise applications in Java. The J2EE philosophy is to simplify enterprise applications by fully utilizing standardized, modular components, and by letting the J2EE environment handle a large part of an applications standard behaviour automatically.

This figure (borrowed from Suns overview of J2EE) illustrates the multi-tier architecture that J2EE implements. Note that the Server-Side Business Logic tier is the only tier with direct access to the database tier (Enterprise Information System).

As shown on the figure, J2EE defines four tiers, thus dividing the application into the tiers described in the table below.

Tier name Tier description

Client-Side Presentation

The remote presentation layer. In web applications the user most often accesses this tier through a web browser, but other entry points are possible, such as desktop applications or entirely different devices using e.g. web services. 

Server-Side Presentation

The Server-Side Presentation Layer contains the logic that allows the user to navigate the application. In this layer the presentation of the content to the user is determined.

Server-Side Business Logic

This layer contains the business logic of the application. The functionality is divided into modular components, called EJBs (Enterprise Java Beans), and each bean is responsible for a defined area of the business logic, e.g. price calculation or customer data. 

Enterprise Information System

This grandly named layer is simply the database server, containing the raw data.

For further information see the official documentation at Suns J2EE site.

Websydian and J2EE

With Websydian and AllFusion Plex 5.1 it is easy to develop true J2EE applications. As shown in the figure below Plex and Websydian works in the two Server-Side tiers, handling the presentation as well as the business logic.

The Websydian application related to the presentation layer is deployed in the Server-Side Presentation tier as a Java Servlet, and the business logic is Plex generated EJBs deployed in the Server-Side Business Logic tier.

The figure below shows how a Websydian application fits into the J2EE architecture. The Websydian application (J2eeEventDispatcher, EventHandlers, and PageGenerators) is deployed in the J2EE Web Container along with a J2eeProxy Servlet, and access to the database goes through the Plex generated EJBs and the Plex EJB Proxy.

The Websydian Application Programming Model for Web-Based J2EE Applications.

Websydian fits very well into the J2EE architecture, as the presentation part of the Websydian applications (i.e. PageGenerators, EventHandlers, and the Dispatcher) is placed in the Web Container, whereas the business logic is placed in the Bean Container.

Websydian J2EE Architecture and the Websydian Philosophy

The Websydian philosophy builds on a strong belief in model based development, as well as the conviction that functionality and design should be strictly separated.

It can be tempting to place business logic in both event handlers and page generators, as this might appear to shorten development time (relative to creating external functions containing the business logic) - however, this behaviour should be avoided as it mixes presentation and functionality and makes maintenance costs much higher.

The Websydian J2EE architecture promotes separation of presentation and business logic by placing the presentation part of the Websydian application (PageGenerators, EventHandlers, and the EventDispatcher) in the Server-Side Presentation Tier, whereas the business logic is placed in the Server-Side Business Logic Tier.

Performance and the J2EE platform

During test we have found that the performance of the Websydian J2EE application varies greatly from platform to platform depending on the chosen Application Server and the capacity of the hardware.

We recommend contacting your supplier of the chosen Application Server for information on hardware requirements.

For testing we recommend using either the reference J2EE server supplied with the SUN Java 2 SDK, Enterprise Edition.

Contact your J2EE Application Server supplier for hardware requirements for running the J2EE Applications.