Service Abstraction Layer

Building extensible and scalable systems is a challenging task. Nowadays, different clients communicating over different channels, like HTTP or WAP, must be offered with the same set of business services.

The number of channels having to be supported and the number of demanded services increase over time. This has to be considered during the development of such a system as the architecture must support new channels and services seamlessly. Thus, during the development of a multi channel enabled system architects are faced with the following question:

“How do you develop a system which can fulfill requests from different clients communicating over different channels without having to modify your business logic each time a new channel has to be supported or a new service is added?”

Service Abstraction Layer gives an answer.

You can read the paper here: ServiceAbstractionLayer

Product Construction Service

The ABSTRACT FACTORY pattern is a solution often used for isolating clients from the construction of concrete objects. Normally a new concrete factory class is developed for each concrete product family. Therefore new specific construction code has to be written each time a new product family needs to be supported. This approach influences software productivity negatively as it does only cover the reuse of design ideas. In order to minimize the effort involved in supporting a new product family, the reuse of code should also be achieved. A configurable factory as described in the implementation section of the ABSTRACT FACTORY pattern would be an appropriate solution. This would result in less implementation effort and thus in an increased software productivity. The PRODUCT CONSTRUCTION SERVICE pattern describes how to realize a configurable factory.

You can read the paper here: ProductConstructionService

GENVIS – Model-Based Generation of Data Visualizers

The tool GENVIS supports the integration of an XML data repository with different GUI
frameworks. It maps a model of an XML data repository to an abstract grid-based layout model. This mapping on model level combined with a flexible template mechanism allows to generate source code for data visualizers which construct well-formatted views on XML documents. GENVIS generates data visualizers for different GUI frameworks. The tool is productively used to construct report visualizers for a credit risk report management system of a leading Swiss Bank. GENVIS was developed with the prototyping environment APICES. Since large parts of the tool were generated from meta-models of the repository and the layout, we were able to construct it at reasonable costs and effort in a very short time.

You can read the paper here: GENVIS

Content Conversion and Generation on the Web: A Pattern Language

Content conversion and generation is required by many interactive, web-based applications. Simplistic implementations of content converters, builders, and templates often cannot satisfy typical requirements such as high performance, end-user customizability, personalization, dynamic system updates, integration with multiple channels. We will present a pattern language resolving the main forces in this context.

A GENERIC CONTENT FORMAT can be used to represent content from any content source. PUBLISHER AND GATHERER are central instances to convert to and from the GENERIC CONTENT FORMAT, and to handle other central content management tasks such as cache lookup and storage. Conversions are performed by CONTENT
CONVERTERS. There are three alternative patterns to generate content on request: CONTENT FORMAT BUILDERS, FRAGMENTS, and CONTENT FORMAT TEMPLATES. A CONTENT CACHE is used to store and retrieve the content in a central repository.

You can access the paper here: Content Conversion and Generation on the Web.