Hi,

I just checked in a first cut of the SCDL files composing the WS-I SupplyChain sample application, as well as the WSDL files describing the ports for all the Web services under tuscany/cpp/sca/samples/SupplyChain.

I tried to follow the structure described in the WS-I supplychain architecture document at http://www.ws-i.org/SampleApplications/SupplyChainManagement/2003-12/SCMArchitecture1.01.pdf, including:
- a demo sub-system, including a client reference and a logging service
- a retailer sub-system, composed of a retailer service component and three Warehouses
- manufacturer sub-systems serving the Warehouses
- composites describing the implementation of the logging, retailer, warehouse and manufacturer components.

Note that I'm still using the sub-system terminology here... My intention is not go back to the 0.9 spec :) but I am influenced by the WS-I spec which uses the term system to refer to these things, and I'm looking for good terms to distinguish between system-configuration-composites and composites-describing-pieces-of-implementations.

After this first pass trying to define all the SCDL artifacts, I have a few comments, and requests for comments:

- I had to repeat <service> definitions many times just to publish/promote services out of composites. IMO this needs to be simplified. I opened issue JIRA 660 for this and also raised it to the OSOA specification workgroup.

- In my composite definitions I just needed to declare SOAP bindings for my services and references, but since <binding.ws> requires a port I had to create dummy ports with dummy SOAP addresses for all the services and references, knowing that these would be different once deployed to my system. I'll raise this issue to the spec group as well.

- I was not sure when to use wires and when to use URIs on bindings. I tended to use binding URIs instead of wires in all the cases where I had to specify the binding anyway, resulting in very few wires. It would be great if some SCA spec experts on this list could look at what I've done and help me get the wiring right...

- The callback pattern described in the WS-I document didn't seem to fit with SCA conversational callbacks as I understood them. The supplychain callback does not seem conversational to me, or if it is then the correlation between the various exchanges is done through business data and URLs "manually" added to SOAP headers, and I'm not sure how that fits with SCA callbacks. So for now I have modeled this contract with two independent reference + service in both directions. This seems consistent with what the other existing implementations of the WS-I supplychain sample have done as well.

- I was not sure how to publish a reference with multiplicity out of a composite. See supplychain.retailer.composite to see what I did to define the "warehouses" references (which needs to point to three warehouses). The warehouses reference is first defined in the Retailer component type, then promoted out of the supplychain.retailer.composite and bound to SOAP by a composite reference. In doubt I specified multiplicity 0..n on both the component reference and the composite reference, but I'm not sure that this makes any sense at all :)

- Finally I organized the artifacts like we recently discussed on this list, the composites configuring and assembling "sub-systems" under a configuration/ folder, and the composites describing installed implementations under packages/.

Thoughts?

Is anybody interested in helping with the design and implementation of this scenario?

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to