JBoss development,
The document "Requirements: EJB Proxies", was updated Mar 15, 2010
by David Lloyd.
To view the document, visit:
http://community.jboss.org/docs/DOC-14983#cf
Document:
--------------------------------------------------------------
This is a requirements document for EJB proxies.
Please do *not* remove any sections. If a requirement is to be removed, please strike it
out so that the numbering remains consistent.
*
#EJB_Proxies
**
#Remote_Proxies
***
#Invocation
****
#Proxy_Invocation_Handler
****
#Invocation_Processor
****
#Invocation_Dispatcher
***
#Proxy_Serialization_and_Deserialization
****
#Proxy_Deserialization_Constraints
*****
#Remote_Invocation_Context
****
#Proxy_Serialization_Constraints
*****
#Remote_Invocation_Context_483294
***
#High_Availability_and_Clustering
h1. EJB Proxies
h2. Remote Proxies
h3. Invocation
h4. Proxy Invocation Handler
The invocation handler of an EJB proxy shall convert the invocation details into an
+Invocation+ object which contains the details of this invocation. The invocation will
then be passed to an +Invocation Processor+ to be handled.
h4. Invocation Processor
A mechanism shall be provided by which each Invocation may be preprocessed in one or more
steps before it is +dispatched+ to its final target. Such processors should have the
opportunity to attach additional information to the Invocation, or modify such
attachments. Processors should also have the opportunity to "short-circuit" an
invocation and reply directly, either with a successful return or an exception of some
sort.
h4. Invocation Dispatcher
The Invocation Dispatcher represents the target of the Invocation and shall have the
ability to execute an Invocation appropriately. For Remote proxies this typically will
entail transmitting the Invocation across the network in some form. The receiving side
may dispatch the Invocation directly, or it may pass the Invocation through another set of
Invocation Processors which may or may not correspond to the sending side's Processor
set.
h3. Proxy Serialization and Deserialization
When a proxy is deserialized, it is expected that the deserialized Proxy will be
functional regardless of where and when the proxy is deserializaed. There shall be
constraints on the functionality of deserialized proxies, as follows.
h4. Proxy Deserialization Constraints
h5. Remote Invocation Context
In order for a proxy to be functional after deserialization, it shall be required that the
user provide, directly or indirectly, a +Remote Invocation Context+ which is necessary to
fully reconstitute a working remote proxy. Proxy instances which are deserialized without
the presense of such a context will not be usable and will cause an exception to be thrown
upon invocation.
h4. Proxy Serialization Constraints
h5. Remote Invocation Context
A proxy must be serialized in the presence of a Remote Invocation Context. Attempting to
serialize a proxy without such a context will cause an object validation exception.
h3. High Availability and Clustering
--------------------------------------------------------------