Hi Jeff, On Sat, 2006-09-09 at 16:14, jeffrschneider wrote: > Are polymorphic services a good idea?
I would say that you ultimately have more flexibility if you use polymorphic services, but it's more work for the implementor. You will normally not have much tool support for this type of an approach. However, we're quite successfully using it for all our services in Reach. >From a certain point of view though, it depends if you're talking about sending multiple message types through a single channel or SOAP method or simply talking about invoking multiple SOAP methods at a given URL. I would say the former matches your definition but the latter doesn't. > > If they are implemented in a message oriented manner, should you: > - Use the header or the body to indicate the polymorphic context > > - If it is in the body, should it be implicit (based on type) or > explicit based on content? Either way, what you're talking about here is an instance of the Format Indicator from EIP (http://www.enterpriseintegrationpatterns.com/FormatIndicator.html). You can certainly do it based on the namespace of the root body node, but that implies that you don't support an open content model (and, by extension opaque message content such as Base64 encoded encrypted payloads). We use a separate element (see Section 6.1, rig0100_v1_0: http://sdec.reach.ie/rigs/rig0100/html/) for this very reason, but it depends on really how flexible you want to be. Hope this helps, ast -- Andrew S. Townley <[EMAIL PROTECTED]> http://atownley.org Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/service-orientated-architecture/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/service-orientated-architecture/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
