You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Paul Hammant <ha...@apache.org> on 2002/03/23 20:16:11 UTC
Enterprise Object Broker (EOB), AltRMI and Axis
Folks,
My last posting here was October, but I've been lurking ever since and
am very pleased to see continued and rapid progress. A great job.
*Synopsis*
I am interested in SOAP enabling 'Enterprise Object Broker'. As I am an
Apache committer I am interested in reusing Apache solutions. See
http://eob.sourceforge.net/ for EOB.
Axis looks like I could use it bean-like in another project to
web-service enable dynamically loaded beans. I'm here to query the
thoughts of those who know about Axis.
*Context*
Just before Xmas I had the itch to (with others) start an "alternative
to RMI" project. It is pitched firmly as a Java to Java solution, but
given that it was in part inspired by the often mention Glue, it has
SOAP compatibility in its TODO list. AltRMI is hosted at Jakarta in
commons -> http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/altrmi/
Having reached a certain level of maturity with that, we started a
project at SourceForge (Apache license) called Enterprise Object Broker
(EOB) that reuses AltRMI with the idea to make an application server
with a lot less restrictions that the J2EE spec forces on people. We
have it built to a level where there are six demonstration client/server
apps working quite well. As a Java<-->Java solution it does the job and
illustrates the transparency of implementation location (controvercial
we know) admirably. We'd like to be able to, in a manifest, specify the
publishing type beyond those that are possible with AltRMI. Here is an
example application.xml manifest:
<?xml version="1.0"?>
<application-info>
<publish-info type="SocketCustomStream" bind-to="127.0.0.1"
port="7129"/>
</application-info>
It might be nice if we could do the following illustrating SOAP as well
as AltRMI publishing.
<?xml version="1.0"?>
<application-info>
<publish-info type="SocketCustomStream" bind-to="127.0.0.1"
port="7129"/>
<publish-info type="Axis" xxx="xxx" yyy="yyy" />
</application-info>
Now, I have the latest Axis from CVS, and have poked thru the source and
built some targets and it all looks good especially the .jws stuff.
Our bean manifests (beans.xml) are like this below (an application can
have many beans).
<?xml version="1.0"?>
<beans-info>
<bean-info name="Clock"
facade="net.sourceforge.eob.examples.example4.Clock"
impl="net.sourceforge.eob.examples.example4.ClockImpl">
</bean-info>
</beans-info>
The publishing for them is entirely dyamic (no ejbc step). The lookup
name will be 'Clock' and the interfaces that is castable on the client
side is 'net.sourceforge.eob.examples.example4.Clock'. We might have
made some mistakes with naming (e.g. facade="...") but it is very simple
and quite transparent. We invoke javac like you folks do. We are a
little uncomfortable about this given it is slow and deprecated, I guess
you are too.
If we want to similarly publish using Axis, we need obviously a servlet
capable web server (we have one - Jo!).
*Questions*
1) To what extent can Axis be instantiated and fed configuration to make
publishing over SOAP entirely dynamic?
2) Does everything have to be in the same classloader for Axis to work
well? ( we have a complex class loader tree for beans ).
Regards,
- Paul H