A portal is a Web-based single point of access that delivers information and applications to a user on its own and by the integration of external services. With most portals, various users in the role of customer, supplier, employee, and so forth, can configure the available content and the functionalities in their own way and access them over multitude of devices—mobile phone, PDA, and PC to name a few (Priebe; Pernul, 2003). Whereas this type of portal can be seen as an adaptable system, adaptive portals shall adapt themselves to the individual user.
In general, portal implementations resemble a multi-tier architecture. Figure 1 shows such an architecture that has been adopted from (Sun Microsystems, 2005a) and slightly modified to represent the extension with semantic data sources. Apparently, the respective tiers are the client, the data sources, and the server that can be further decomposed into a web and a domain layer.
Figure 1. Top
A generic portal architecture, Source: Sun Microsystems, 2005a
The Domain Layer
In fact, the web-tier controller could implement the entire logic for model processing. However, in complex enterprise portal solution, the actual processing is rather delegated to domain components, which run on an application server. In a J2EE platform, these components are referred to as business objects that encapsulate the business logic. They are implemented as beans, e.g. entity beans, session beans and message-driven beans, which are supported by platform services such as naming, security, persistence and transaction. That is, while the components realize the specific functionalities, tasks common to all component such as the persistent storage of data, are provided by the EJB container (Sun Microsystems, 2005d).