You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by Alex Boisvert <bo...@intalio.com> on 2006/01/11 19:30:23 UTC

Axis2 binding component

Howdy,

I'm in the process of designing an Axis2-based binding component and 
wanted to solicit feedback and review before I get too far.

The BC would support two main use-cases:

-expose internal JBI components over protocols/transports supported by Axis2
-allow JBI components to access external web services using Axis2

To expose an internal service, one would create a service unit that 
would identify the internal service, and provide an Axis2 services.xml 
descriptor to configure the processing chain, binding and port 
information (e.g. protocol, transport, policy, security, ...)

At runtime, the BC would obtain the internal service description (WSDL) 
via Component.getDescription() and update its binding and port 
information according the Axis2 configuration such that the resulting 
WSDL can be provided dynamically to external consumers (e.g. via HTTP GET).

For external services, one would create a service unit containing a 
service description (WSDL) and an optional Axis2 services.xml descriptor 
if a special processing chain is required.

The BC would then expose this external service on the JBI bus, which may 
then be resolved using service type, service name, service endpoint, 
external endpoint and (eventually) service reference.

The BC descriptor would look something like this:

<Axis2BC-descriptor>
   <service>
       <type>internal/external</type>

       <!-- route element only valid if service type is "internal" -->
       <route>
           <interfaceName>QName</interfaceName>
           <serviceName>QName</serviceName>
           <endpoint>NCName</endpoint>
       </route>
   </service>
</Axis2BC-descriptor>

And the service unit layout would look like this:

meta-inf/jbi.xml        (JBI service unit descriptor)
meta-inf/Manifest.mf    (JAR manifest)
meta-inf/services.xml   (Axis2 service descriptor)
MyExternalService.wsdl  (WSDL for external service, if applicable)

That's what I've got so far.  I have ideas on additional features for 
the BC but I want to get the basics right first.

BTW, is anybody already working on something similar?  Maybe we can work 
together.  Also, if anyone is interested in helping out during the early 
development stage, please let me know and we could arrange to setup a 
shared repository.

cheers,
alex

Re: Axis2 binding component

Posted by Davanum Srinivas <da...@gmail.com>.
Please CC axis-dev@ws?

On 1/11/06, Alex Boisvert <bo...@intalio.com> wrote:
> Howdy,
>
> I'm in the process of designing an Axis2-based binding component and
> wanted to solicit feedback and review before I get too far.
>
> The BC would support two main use-cases:
>
> -expose internal JBI components over protocols/transports supported by Axis2
> -allow JBI components to access external web services using Axis2
>
> To expose an internal service, one would create a service unit that
> would identify the internal service, and provide an Axis2 services.xml
> descriptor to configure the processing chain, binding and port
> information (e.g. protocol, transport, policy, security, ...)
>
> At runtime, the BC would obtain the internal service description (WSDL)
> via Component.getDescription() and update its binding and port
> information according the Axis2 configuration such that the resulting
> WSDL can be provided dynamically to external consumers (e.g. via HTTP GET).
>
> For external services, one would create a service unit containing a
> service description (WSDL) and an optional Axis2 services.xml descriptor
> if a special processing chain is required.
>
> The BC would then expose this external service on the JBI bus, which may
> then be resolved using service type, service name, service endpoint,
> external endpoint and (eventually) service reference.
>
> The BC descriptor would look something like this:
>
> <Axis2BC-descriptor>
>    <service>
>        <type>internal/external</type>
>
>        <!-- route element only valid if service type is "internal" -->
>        <route>
>            <interfaceName>QName</interfaceName>
>            <serviceName>QName</serviceName>
>            <endpoint>NCName</endpoint>
>        </route>
>    </service>
> </Axis2BC-descriptor>
>
> And the service unit layout would look like this:
>
> meta-inf/jbi.xml        (JBI service unit descriptor)
> meta-inf/Manifest.mf    (JAR manifest)
> meta-inf/services.xml   (Axis2 service descriptor)
> MyExternalService.wsdl  (WSDL for external service, if applicable)
>
> That's what I've got so far.  I have ideas on additional features for
> the BC but I want to get the basics right first.
>
> BTW, is anybody already working on something similar?  Maybe we can work
> together.  Also, if anyone is interested in helping out during the early
> development stage, please let me know and we could arrange to setup a
> shared repository.
>
> cheers,
> alex
>


--
Davanum Srinivas : http://wso2.com/blogs/