Web Services Architecture Domain Model
I'm not in a position to provide any details just yet, but a couple of us on the patterns & practices team have teamed up with heavy hitters like Jason Hogg, Beat Schwegler, Christian Weyer, Wojtek Kozaczynski, Maarten Mullender, Daniel Cazzulino, Victor Aprea, Hernan de Lahitte, and Pablo Galiano to provide some kick ass guidance around designing and developing Web services. During one of our meetings this week, we thought there might be some value in throwing together a domain model so we could make sure we were all singing from the same sheet of music when we used certain terms. This is a Visio version of what the whiteboard looked like after the meeting.
This is by no means complete, but it illustrates some interesting concepts and commonly used terms. The first thing it illustrates is the almost 1 to 1 mapping of angle-bracket thingies and .NET thingies.
Also, in the context of the common "Contract First" phrase, you can not only see what comprises the contract on each side of the model, but get a visual sense of what contract first might mean. Contract first doesn't necessarily mean "fire up your favorite text editor and start handcoding WSDL". Of course, if you like doing that, you certainly can. But you can also start with C# if that is your preference. You can get yourself in trouble with either approach, but each approach is viable also ... start with whatever you're comfortable with ... just make sure you're thinking about the messages and the contract as a whole.
The other interesting thing this illustrates is the clear separation of the service, the adapter, and the business logic. This separation of concerns is an important architectural detail. Beat and I will be speaking specifically about this during our PDC pre-con session.
Comments
Anonymous
September 06, 2005
If you’re wondering why I was so quite just have a look here…I’m currently working with the corresponding...Anonymous
September 06, 2005
When it's done please post it in a vector format (ex: PDF) so those who wish to print it and stick it on their wall get the highest quality possible.Anonymous
September 06, 2005
If you’re wondering why I was so quiet just have a look here…I’m currently working with the corresponding...Anonymous
September 06, 2005
Too bad the link doesn't work :-(.
I'm really curious...Anonymous
September 06, 2005
I say DSLAnonymous
September 12, 2005
Just attended your Precon in PDC for the WS Arch and Tooling you and Beat present
Still not clear how that interface/adapter arch work with (or generate code for in BAT) the new PURE asmx interface-based service contract. (i.e. using [WebServiceBinding] attribute... in .NET 2.0, i.e. wsdl.exe /serverinterface option...)Anonymous
April 05, 2006
I think the title says it all (really? :)) - stay tuned for more to come in the next few days, as...Anonymous
July 24, 2006
As my new role in the VB team, I've been tasked to look at WCF Data bindings and determine our story...Anonymous
April 05, 2007
I think this diagram is a big mess and clouds concepts!Anonymous
April 05, 2007
Please, continue ... I'd love the feedback.Anonymous
April 22, 2009
Note : this entry has moved . Now working on the next “Baseline Architecture” wave of projects that will