Browse Prior Art Database

Dynamic J2EE Service Override

IP.com Disclosure Number: IPCOM000109660D
Original Publication Date: 2005-Mar-24
Included in the Prior Art Database: 2005-Mar-24
Document File: 3 page(s) / 72K

Publishing Venue

IBM

Abstract

Dynamic J2EE Service Override allows business functionality to be delegated to multiple implementations depending on a configurable list of attributes (selector). It extends polymorphism to J2EE Stateless Session Bean facades while allowing implementations unknown at compilation time to be dynamically selected during runtime.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

Dynamic J2EE Service Override

    A Stateless Session Bean can be used as an effective service facade. However, it is not possible using standard J2EE (Java 2, Enterprise Edition) mechanisms to provide multiple implementations for a Stateless Session Bean interface to be dynamically selected in runtime without the knowledge of the actual implementation class types during compilation time. The Dynamic J2EE Service Override allows business functionality to be delegated to multiple implementations depending on a configurable list of attributes (selector). It extends polymorphism to J2EE Stateless Session Bean facades while allowing implementations unknown at compilation time to be dynamically selected during runtime.

The context

    A Stateless Session Bean can be used as an effective facade. However, it is not straightforward to provide multiple implementations for a Stateless Session Bean interfaces as it is to provide multiple implementations for a simple Java interface

The problem this pattern is solving

    How to provide multiple implementations of a single service dynamically, when implementations vary on a request basis.

The pattern forces
a) Allow multiple implementations for the same Service
b) Allow dynamic selection of an implementation based on some sort of selector
c) Provide a simple interface to be implemented as an integration point
d) Hide the complexity of looking up implementation through JNDI (Java Naming and Directory Interface)

The pattern solution

    Dynamic Ser...