axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuhichi Nakamura" <NAKAM...@jp.ibm.com>
Subject Re: Transports
Date Tue, 22 May 2001 08:05:26 GMT

Good idea :-)

I want to see how a registry (for chains/transport listner) is managed.
When you have servlet and smtp listners, at least you need two JVM.
In a real situation, you may have multiple servlet engines.  In such
cases, it seems to important to ensure that all Axis engines on different
JVM
has to access a single registry.  Thoughts?

Best regards,

Yuhichi Nakamura
IBM Tokyo Research Laboratory
Tel: +81-462-73-4668


From: "Glen Daniels" <gdaniels@macromedia.com> on 2001/05/22 14:49

Please respond to axis-dev@xml.apache.org

To:   <axis-dev@xml.apache.org>
cc:
Subject:  Transports



I've just been playing a little with various models for "transports" in
Axis,
esp. on the server side.  I've now got the servlet set up so if you do this
in
your web.xml (or via other deployment means):

<servlet>
  <servlet-name>AxisServlet</servlet-name>
  <display-name>Apache-Axis Servlet</display-name>
  <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
  <description />
  <init-param>
   <param-name>transport.input</param-name>
   <param-value>transport_1</param-value>
  </init-param>
</servlet>
<servlet>
  <servlet-name>SecondServlet</servlet-name>
  <display-name>Apache-Axis Servlet</display-name>
  <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
  <description />
  <init-param>
   <param-name>transport.input</param-name>
   <param-value>transport_2</param-value>
  </init-param>
</servlet>

...you'll get two servlets registered, using the same class, each of which
will
use a different HTTP transport input chain.

I think the next thing I'd like to see in this realm is a concept of named
"transport listeners".  Each servlet we deploy would get a name, as would
each
POP listener, socket listener, etc.  Then that name gets used to look up
appropriate transport chains, instead of doing it the way we do now where
the
servlet knows the names of its transport chains.

To touch on a related topic, I'm imagining that each service we deploy will
have a set of valid transports over which it may be accessed.  I.e. the
getQuote service is available to any transport we deploy, but the
updateAccount
service is only accessible via a particular servlet which is hardwired to
use
SSL.

Having the names of the Listeners and chains be separate seems nicely
modular
to me, so you could have different Listeners with different sets of active
services behind them, but sharing the same transport chains.

As an example, you might have:

Listener "HTTP1" - servlet at http://foo.com/soap
  - maps to transport in-chain "HTTP.input", no out-chain
  - All "business" services use this transport

Listener "HTTPAdmin" - servlet at http://foo.com/soapadmin
  - same class as above (no extra code, just deployment)
  - maps to transport in-chain "SecureHTTP.input", which includes
    authentication checkers
  - AdminService has this as the only valid transport

Listener "AxisServlet" - servlet in the usual place
  - maps to "HTTP.input" input chain
  - only allows default Axis "test" services

This stuff was spurred by a long talk with Rob Jellinghaus in SF over the
weekend - he'll be posting some notes from that chat later on.

--Glen






Mime
View raw message