Hi
Thanks for your reply.
I would contest that connection management should not be mentioned in the
spec, even if it is not part of the formal spec per say. If the spec is to
be practically useful - rather than just of academic interest - some
common behaviour needs to be available to the bean author.
Looking at the goals of the spec from the 1.1 draft (with my _emphasis_):
* The Enterprise JavaBeans architecture will be the standard component architecture
for build-ing distributed object-oriented business applications in the Java�
programming language. The Enterprise JavaBeans architecture will make it possible
to build distributed applications by combining components developed using tools from
_different vendors_.
* The Enterprise JavaBeans architecture will make it easy to write applications:
Application developers will not have to understand low-level transaction and
state management details; multi-threading; resource pooling; and other complex
low-level APIs.
* Enterprise JavaBeans applications will follow the Write Once, Run Anywhere��
philosophy of the Java programming language. An enterprise Bean can be developed
once, and then _deployed on multiple platforms without recompilation or
source code modification_.
[JAC - I assume platform here to mean the whole lot - appserver and all]
* The Enterprise JavaBeans architecture will define the contracts that enable tools
from
multiple vendors to develop and deploy components that can _interoperate at runtime_.
* The Enterprise JavaBeans architecture will be compatible with existing server
platforms.
Vendors will be able to extend their existing products to support Enterprise
JavaBeans.
* The Enterprise JavaBeans architecture will be compatible with other Java programming
language APIs.
* The Enterprise JavaBeans architecture will provide interoperability between
enterprise
Beans and non-Java programming language applications.
* The Enterprise JavaBeans architecture will be compatible with the CORBA protocols.
* The Enterprise JavaBeans architecture will address the development, deployment, and
_runtime aspects of an enterprise application�s life cycle_.
To me, these highlighted requirements place connection management firmly within the
spec. If I can't rely on the lifecycle of connections and their interaction
with EJBs, then my application is not platform portable.
[ A few other comments below... ]
Comments ?
Joel Crisp, Senior Java Architect, SUN PS Java Center
Rickard �berg wrote:
>
> Hi!
>
> Joel Crisp wrote:
> > Can someone in the know clarify the issue of when clients are expected
> > to make and terminate connections to the server ?
> >
> > Is this supposed to be part of the spec ? If so, the following questions
> > apply, if not, please clarify the owner of this issue as part of the spec.
>
> This is strictly implementation related and is not, and should be, in
> the spec.
>
> > Is there a way to force a client to maintain a virtual connection (i.e. hold
> > bean stubs) but drop the socket connection ? IHAC who wants to
> > support a degree of off-line working, but can't disconnect from the
> > server as it (Tengah3.2) seems to hold the connection open forever.
>
> You could use my SmartProxy package to do this. See:
> http://www-und.ida.liu.se/~ricob684/java/smartproxy/docs/index.html
Unfortunately we can't use this package in a commercial context. You might
also be in infringement of trademark and copyright/IPR registrations from
Inprise - who use the term "smartproxy" in the Visibroker ORB.
>
> > My assumption at the moment is that a connection is opened with the
> > first retrieval of a "Home" interface, and closed with the GC of the
> > last active instance of a Home, Session or Entity bean in the
> > client. This doesn't seem to work in Tengah or ND.
>
> How the RMI framework handles this is dependent on the specific
> implementation. I suggest contacting [EMAIL PROTECTED] for details.
>
> > If this is the case I think that more control is needed to manage
> > the underlying transport layers in order to 1) manage errors by permitting
> > a client to perform a hard disconnect irrespective of the handles it has
> > open 2) permit off-line disconnection/re-connection of the transport layers
> > without affecting the EJB handles.
>
> Again, both these issues are related to the specific RMI/EJB
> implementations and is out of the scope of the EJB specification.
> However, my SmartProxy package deals with (/can deal with) both of these
> issues, regardless of the EJB server used.
I don't think that this is sufficient for real-world use. Interoperability
at Appserver level is one reason why customers are interested in the use
of EJB, and the perceived issue with CORBA is lack of standardisation of the APIs
for the container and support services. If EJB goes the same way we could
lose the vendor independence - which would be very bad.
>
> HTH :-)
>
> /Rickard
>
> --
> Rickard �berg
>
> @home: +46 13 177937
> Email: [EMAIL PROTECTED]
> Homepage: http://www-und.ida.liu.se/~ricob684
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff EJB-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".