|
Trader Pattern Framework
A Trader pattern is in some essence an Object Broker. You ask it
for a particular component and it returns to you the available
instance of that component. This highlights the following
aspects of the Trader object.
- The Trader object is responsible for creating the requested
instance of the component.
- The Trader object somehow needs to know all the information
in order to create an instance of the requested component.
Thus, the Trader pattern consists of two essential parts;
one is to parse the information about the component it is going
to create and second, is the actual creation of the component.
We will take up each of this process one by one and explore how
the Trader pattern is implemented.
Specifying the Component information
We have seen that the Trader object needs to know all the
information about a component in order to create an instance of
it. The question that we now face is what is the information
that the Trader object should need to know. Apparently, the name
of the class that represents the component seems enough for
creation of an instance of that class. For example, if we need
to create an instance of the class com.test.Acomponent, we
simply pass this name to the Trader object.
However, as you can easily notice that this will not work if
this component is a remote one. For components that reside in a
different namespace or at a different location altogether, we
need to tell the Trader object about the location also. For an
example, if we want to create an instance of an Entity Bean or a
Session Bean residing in some remote EJB container, we need to
pass the Trader object information such as PROVIDER_URL,
JNDI_NAME etc., etc., in order to lookup the component. Another
important point in implementing a Trader object is the ability
to tell it what kind of service the client is looking for. For
example, does the client want a local component of the same
Service or a remote EJB component of the same service?
We will summarize the information required in the following
points:
- The fully qualified name of the component class that needs
to be instantiated.
- The location and lookup information in case the requested
component is a remote one.
- The type of service.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|