On Tue, Nov 22, 2011 at 1:51 PM, Simon Laws <simonsl...@googlemail.com> wrote: > On Fri, Nov 18, 2011 at 2:38 PM, Millies, Sebastian > <sebastian.mill...@softwareag.com> wrote: >> >> >>> -----Original Message----- >>> From: Simon Laws [mailto:simonsl...@googlemail.com] >>> Sent: Friday, November 18, 2011 2:15 PM >>> To: user@tuscany.apache.org >>> Subject: Re: Dynamic service references ? >>> >> [snip] >>> Hi Sebastien >>> >>> I'm not clear about whether you have a finite number of target service >>> that you know up front from which you want to select dynamically. Or >>> whether you don't know the service endpoints but you just know the >>> service interface. >>> >>> Regards >>> >>> Simon >>> >>> -- >>> Apache Tuscany committer: tuscany.apache.org >>> Co-author of a book about Tuscany and SCA: tuscanyinaction.com >> >> It is the latter: I'm facing an undetermined number of identical services. >> I know the service interface (the wsdl of an SAP web service), but I do not >> know in advance which endpoint to talk to. >> >> -- Sebastian >> >> IDS Scheer Consulting GmbH >> Geschäftsführer/Managing Directors: Kamyar Niroumand, Ivo Totev >> Sitz/Registered office: Altenkesseler Straße 17, 66115 Saarbrücken, Germany >> - Registergericht/Commercial register: Saarbrücken HRB 19681 >> http://www.softwareag.com >> >> > > I don't have a good immediate answer and I don't want to distract you > and Simon from investigating what can be done with service references > (hence the delay) however two thoughts come to mind. > > Mike Edwards reminded me that there is a wiredByImpl flag in SCA that > we don't exploit in Tuscany today. This is what the OASIS spec says > about it: > > 351 • wiredByImpl : boolean (0..1) - a boolean value, "false" by > default. If set to "false", the reference is > 352 wired to the target(s) configured on the reference. If set to > "true" it indicates that the target of the > 353 reference is set at runtime by the implementation code (e.g. by > the code obtaining an endpoint > 354 reference by some means and setting this as the target of the > reference through the use of > 355 programming interfaces defined by the relevant Client and > Implementation specification). > > This doesn't indicate how that might me achieved though as it would be > runtime specific. We'd probably have to do something similar to what > you're already looking at, i.e. allow the service reference to be > retrieved and allow it's model to be edited and restarted. > > Something that could be possible already in 2.x is to use the domain > registry to dynamically route based on SCA target name. This would > rely on having the target services contributed to the SCA domain and > then using the SCAClient interface to look them up. I.e. it doesn't > present a mechanism for manually configuring binding.ws with a URI. > > Both of these things are future things but if the current > investigations get stuck they present avenues for further > investigation. >
FWIW I think this would be a terrific function for us to add. Users have been asking for it over and over again for years now in Tuscany so theres clearly a desire for it. ...ant