But you can add that attribute in a variety of ways and get that same goodness; add it to the contract itself in WSDL (WS-Policy), add it to the interface (forcing implementations to recognize and support it, either through AOP or through hand-woven support), or on the class (where it is picked up by a container and given support, a la EJB or Spring). I'm not sure how that changes the interface/implementation discussion.
I realize I'm in the minority here, but I'm just curious, aside from the RMI- and CORBA-esque interface-is-contract approach, what benefit does an interface-based implementation really give us in the XML services world? Besides the "we've always done it that way" answer? Ted Neward Java, .NET, XML Services Consulting, Teaching, Speaking, Writing http://www.tedneward.com > -----Original Message----- > From: Dan Diephouse [mailto:[EMAIL PROTECTED] > Sent: Tuesday, July 10, 2007 8:08 PM > To: [email protected] > Subject: Re: Endpoints: JAX-WS vs. WCF > > I think the interface/implementation value probably comes more in terms of > aop/testing/mockability/etc. For instance, I can add a @Transactional > attribute to my web service in Spring and get a tranasaction for each > operation. Hooray for magic-spring-annotation-proxy-goodness. > > On 7/10/07, Ted Neward <[EMAIL PROTECTED]> wrote: > > > > That's not *exactly* correct, Dan; a WCF endpoint is created with a > > Contract, which can be specified using a variety of things, including a > C# > > (or VB or C++/CLI or ...) interface with the appropriate custom > attributes > > describing the contract, or it can also be done directly on a class > using > > same said attributes. Most of the time when we demo WCF ("we" being > > "myself > > and the folks I teach with at Pluralsight"), we show the attributes on > > interfaces because that is the model that was most widely discussed and > > promoted for .NET Remoting and ASMX, not because it's the model that > makes > > the most sense. > > > > I'm not suggesting that Microsoft *didn't* get it right here... I'm just > > wondering if it's really all that important to be able to slide a > > different > > implementation behind an interface, when the actual point of coupling is > > not > > the language interface, but the XML messages being sent back and forth. > > > > Anyway, just my $.02 worth. I, for one, am not all that upset at the > idea > > of > > a single concrete class being tied to an endpoint, because I'm not > > convinced > > that the value of the interface-implementation idiom is that critical in > a > > distributed system where the contract isn't given by the interface > itself. > > > > Ted Neward > > Java, .NET, XML Services > > Consulting, Teaching, Speaking, Writing > > http://www.tedneward.com > > > > > > > -----Original Message----- > > > From: Dan Connelly [mailto:[EMAIL PROTECTED] > > > Sent: Monday, July 09, 2007 11:40 AM > > > To: [email protected] > > > Subject: Endpoints: JAX-WS vs. WCF > > > > > > A JAX-WS Endpoint must be created using a service implementation. > > > > > > A (Microsoft) WCF Endpoint, on the other hand, is created with an SEI > > > (C# interface), not an implementation. This allows multiple impls > of > > > the same service interface to be reached through the WCF Endpoint. > The > > > Dispatcher, which is configured separately, has rules for invoking the > > > desired implementation. > > > > > > It seems to me that Microsoft got it right. Does anyone want to > > > comment on that? > > > > > > Why is there no DispatchingInvoker class in CXF as a convenience when > > > the user needs a Dispatcher? Is there a sample showing the coding > for > > > a dispatching Invoker? > > > > > > -- Dan Connelly > > > > > > No virus found in this incoming message. > > > Checked by AVG Free Edition. > > > Version: 7.5.476 / Virus Database: 269.10.2/891 - Release Date: > 7/8/2007 > > > 6:32 PM > > > > > > > No virus found in this outgoing message. > > Checked by AVG Free Edition. > > Version: 7.5.476 / Virus Database: 269.10.2/893 - Release Date: 7/9/2007 > > 5:22 PM > > > > > > > > > -- > Dan Diephouse > Envoi Solutions > http://envoisolutions.com | http://netzooid.com/blog > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.476 / Virus Database: 269.10.2/893 - Release Date: 7/9/2007 > 5:22 PM > No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.10.4/896 - Release Date: 7/11/2007 4:09 PM
