Thanks for the replies Venkat, have been distracted over the last few days
with a series of thorny build issues so only just getting back to this.

Simon

On 10/1/07, Venkata Krishnan <[EMAIL PROTECTED]> wrote:
>
> Hi Simon,
>
> I have tried to answer from whatever I know of polices.  Hope it helps. :)
>
> Thanks
>
> - Venkat
>
>
> On 10/1/07, Simon Laws <[EMAIL PROTECTED]> wrote:
> >
> > The new SOAP/JMS transport option in binding-ws-axis provided by Dinesh
> > motivated me to go and look at how this new option (soap/jms) might be
> > selected using the policy framework. This all started a while back with
> > this
> > thread (
> > http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg20657.html).
> > By way of a little education in the policy framework I've just looked at
> > the
> > server side of things at the moment and have a few questions of those
> who
> > know policy better than I do....
> >
> > I created a definitions.xml file with the following...
> >
> > <sca:intent name="transport.jms">
> >               <sca:description>
> >               A JMS transport is required
> >               </sca:description>
> > </sca:intent>
> >
> > <sca:policySet name="wsJMSTransportPolicy"
> >      provides="transport.jms"
> >      appliesTo="sca:binding.ws">
> >      <tuscany:wsConfigParam>
> >         <parameter name="TuscanyQueueConnectionFactory">
> >             <parameter name="java.naming.factory.initial">
> > org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >             <parameter name="java.naming.provider.url
> > ">tcp://localhost:61616</parameter>
> >             <parameter
> > name="transport.jms.ConnectionFactoryJNDIName
> > ">QueueConnectionFactory</parameter>
> >
> >         </parameter>
> >      </tuscany:wsConfigParam>
> > </sca:policySet>
> >
> > I plumbed this into the Axis2ServiceProvider as an alternative to
> > providing
> > this information via the binding.ws uri attibute so you can specify the
> > following...
> >
> >     <component name="HelloWorldServiceComponent">
> >         <implementation.java class="helloworld.HelloWorldImpl" />
> >         <service name="HelloWorldService">
> >             <interface.wsdl interface="
> > http://helloworld#wsdl.interface(HelloWorld)" />
> >             <binding.ws wsdlElement="
> > http://helloworld#wsdl.binding(HelloWorldSoapJmsBinding)" requires="
> > transport.jms"/>
> >         </service>
> >     </component>
>
>
> Before I go over to the questions just want to stress that this particular
> PolicyStructure has been put in place for those things that can be fed
> into
> the axis2 configuration as config params.  If soap/jms is something that
> can
> go in as config params then this could be used and all that you'd need to
> do
> is set up a policyset that describes the parameter.


I understand. soap/jms params sit underneath the transport configuration
elements in Axis configuration but they have the same parameter based
format. Should we though have a lees Axis specific policy structure? Also
this structure is currently in a security modules and I'm using it for the
jms transport which sounds wrong. In due course I may separate the jms stuff
out into a new module.

Quetions...
> >
> > - How does an SCA artifact, binding-ws in this case, advertise what
> > intents
> > and policy sets can validly be specified. Is the intention that it is
> > inferred through the policy set appliesTo attribute?
>
>
> Yes you are right.  For intents there is a 'constrains' attirbute that
> specifies the bindings / implementation that can use the specified intent
> and for policysets its the 'appliesTo' attribute which does this.  These
> are
> the two which we use to validate if an intent or policyset is really
> applicable to a binding or implementation.


Ok, thanks

- I used the policy-scurity Axis2ConfigParamPolicy to structure the policy
> > here. This is more generally useful that security. It raises the
> question
> > about where we put policy implementations.
> >       Each in a separate module
> >       In one big module (possibly with separate package names)
> >       With the SCA artifact implementation to which they belong
> >       Somewhere else
>
>
> I am not sure if I understand 'policy implementations'.  If you mean where
> we put the policyset definitions the answer is - in the definitions.xmlfile
> and every SCA Domain is supposed to be having a definitions.xml file.  If
> you are asking about the infrastructural piece that picks up the policy
> specifications and brings about the desired effects - such as encrypting
> the
> messages or authenticating requests etc. then I'd say it depends on where
> this can apply or where it could be plugged-in and invoked.  For example
> to
> effect ws-security in our Axis2 ws binding we use the Rampart module which
> straps on to Axis2 and hence its all a part of the axis2 binding
> module.  If
> there is something that could work with all bindings I would imagine that
> would probably get to be a module in our runtime itself.


I was ust making the point that I'm using your Axis configuration policy
structures and they sit in policy-security at the moment. I'm reusing them
for the jms transport support and that doesn;t sound right as it has nothing
to do with security

- This policy is very specific to Axis2. Well the information is general but
> > the parameters are structured as they are because this is the way that
> > Axis
> > reads configuration parameters. In the end though I didn't end up
> pushing
> > them directly into Axis 2 so, in theory, they could be structured
> > differently. It would be interesting to look at more general
> alternatives,
> > e.g. ws-policy. Are there any examples in the codebase yet?
>
>
> No :( at the present moment but you will soon see something.  Just now we
> have bindings enabled for policies and I want to wrap that up for
> implementations as well which is what I am doing currently.  After this, I
> plan to look at bringing in ws-policy and thats not far away. :)


I have seen you later posts on this. Sounds promising.

- I was originally going to drive the processing from the required intents
> > on the binding but they don't appear to be preserved in the model. Is
> this
> > intentional?
> >
> > I haven't looked at the reference side of this yet.
> >
> > The non SCA client relies on the service location in the wsdl having the
> > appropriate JMS configuration so the WSDL needs to be generated taking
> > intents into account.
> >
> > In the case of an SCA  client  in the same domain I'm assuming we would
> > expect the specification of a policy intent to be sufficient so
> that  this
> > can be part of the  reference/service  matching process. Currently I
> name
> > the JMS queue after the service name so the minimum information is the
> > contract, the reference target and the policy set.
> >
> > Regards
> >
> > Simon
> >
>

Reply via email to