XMLpitstop.com   |  VBnetexpert.com   |  Community Credit  
 
 
Pitstop Search:  
in
 
Sign in | Join | Help
 
 
  Blog
    Home  
 
  Entries By Date
 
<August 2005>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
 
  Blog Categories
   
 
  Archives
    July 2009 (1)  
    April 2009 (1)  
    July 2008 (3)  
    June 2008 (1)  
    March 2008 (1)  
    December 2007 (1)  
    November 2007 (2)  
    October 2007 (4)  
    September 2007 (1)  
    July 2007 (2)  
    June 2007 (2)  
    January 2007 (2)  
    December 2006 (1)  
    November 2006 (1)  
    April 2006 (1)  
    March 2006 (1)  
    February 2006 (2)  
    January 2006 (1)  
    November 2005 (3)  
    October 2005 (2)  
    September 2005 (2)  
    August 2005 (4)  
    July 2005 (1)  
 
  Syndication
    RSS  
    Atom  
    Comments RSS  

August 2005 - Posts

  A Service Oriented Geek  
 

The Good, the Bad, and the Ugly of Service-Oriented Architecture published at ASPAlliance.com!

After a couple of weeks going back and forth with the editors at ASPAlliance I have had my first article published. The process was very educational and I want to thank the fine folks at ASPAlliance for preserving the substance of my article by carefully filtering out some of my weaker grammatical skills. I really enjoyed the education they gave me and I look forward to writing more articles for them in the very near future. I am in fact working on the follow up article to this one titled "Windows Communication Foundation: Steroids for your Enterprise SOA". This article will take the issues raised in the article linked below and show how WCF (formerly Indigo) will make these issues easier to manage.

The Good, the Bad, and the Ugly of Service-Oriented Architecture

 
 
 
 

Some great threads recently that I wanted to share!

I've been having some great conversations with my SOA blog buddies and I wanted to share.

1. 10 Things I Hate About Indigo by John-Cavnar Johnson
2. 5 Things I Love About Indigo John-Cavnar Johnson
3. Indigo Has A Simple Messaging Model by John-Cavnar Johnson
4. Two new whitepapers by Richard Turner

As you'll see in these blogs above I've been posing some questions to these guys and getting great feedback. I can't thank them enough for being as responsive as they are and as open as they are to share their knowledge.

Posted Aug 19 2005, 12:00 AM by tom.fuller with no comments
Filed under:
 
 
 
 

The Indigo Road Show has come and gone. What have I learned?

The Indigo road show has come and gone and I have to give it up to Microsoft for sending such incredible representitives to talk about the next generation of distributed systems. Rich Turner and Ami Vora were both incredibly knowledgeable and approachable about all the topics I have to deal with in my job today. I felt they were open-minded and genuinely interested in community feedback of all kinds.

So that's enough with the love fest, now let's see how Rich Turner stood up to my geurilla interview tactics. Him and I spent a lot of time talking about the existing features in WCF and how service-oriented design strategies will map to those new features. I think there are still a lot of questions about how the latest runtime environment for web services will be used (or in my opinion abused).

Please note that all of these answers are not meant to be Rich Turner's response verbatim, they are my interpretation of our conversations and this is by no means intended to be an official word from Microsoft or Rich. I had questions, he had opinions and I figured those of you who are interested in SOA would find my new opinions interesting.

Question #1: I have looked at all of the features being delivered with Indigo at least with Beta 1 and my key question to Microsoft is how is this really moving us any closer to "service orientation"?

After our conversation: I get the feeling that their is a consistent message (at least there is now) coming from the distributed systems group and that message is service-orientation is not a technology. In fact I believe one of the comments I heard was that service-orientaiton is snake oil. What WCF will do is make service oriented systems easier to build because of the careful attention paid to the four tenets of service orientation when delivering all of the features in WCF. This has actually inspired me to write an article that will go into much more detail on service-oriented design and development and how careful attention to business process identification and service boundary definition are the only way to get an enterprise to a true SOA.

Question #2: Having read the whitepaper "Developing Distributed Services Today" I can't help but think we're heading down a dangerous path of merging Indigo services as a technology with service orientation as a concept. Doesn't the idea of a service transcend technology and how does WCF help me design, develop, deploy and support these things once they get into the wild (beyond a simple new version of the SOAP tracer found in the old SOAP toolkit).

After our conversation: So this one was a bit harder to answer but as you can see the answer to the first question sort of flows right into this one. The feature set available within WCF (and any other system runtime environment for that matter) will rarely prevent you from doing bad things. What it will do once you move to WCF is make it an explicit decision by the implementer to violate a service tenet if that's what you want to do. If you understand the limitations of the profiles and bindings delivered within WCF then you will have to intentionally configure a service to exclude it from interoperable clients (for example don't use the NetProfileTcpBinding if you want to consume the service with a Java client). However, distributed systems still have their challenges, I think there are some subtle enhancements that will make runtime support easier (the flag that lets you return service errors for example) but distributed systems are still very challenging to build and are still only as good as the underlying design principals that are followed during envisioning and detailed design.

Question #3: I also recently came across a very interesting blog from Kirk Allen Evans that was apparently linked into your whitepaper (Kirk Allen Evans Blog On Developing Distributed Services Today). This discusses the utlization of ASMX as an appropriate way to distribute objects in from what I can tell a non-SOA way. True they defend it as being a comparable technology when it comes to performance but the more interesting point here is that the objects and code have been distributed for no logical reason. Once again we have a technology capable of letting us do bad things in an easy way. This probably is more of a design patterns and practices thing but I'll be interested in what Rich thinks.

After our conversation: We probably spent most of our night talking about this very issue. How do you help designers and developers introduce sound design strategies and utilize the technology in a way that showcases it. I mentioned above this has inspired me to write an article of my own on this very topic so I'll table going too deep into my opinion on it as it would only steal my own thunder for that article. This is however undoubtedly a soft spot in the minds of the technology evangelists.

Question #4: If we are expected to believe that ASMX is the best mechanism today for preparing for WCF/Indigo down the road in our enterprise how can we be expected to ignore things like flowing transactions, binary message structures, WS-Security, and Reliable sessions? If I have read David Pallmann's book correctly the Basic Profile binding will not allow you to do any of these things and existing ASMX converted applications will have to use this binding. Why wouldn't we look more carefully at building Enterprise service components that are later exposed via web services. Take the DCOM hit today to reap the WCF benefits tomorrow!

After our conversation: The answer here was consistent with Rich's whitepaper, if you need transactions today continue to build enterprise service components but if you are simply distributing your programming business logic ASMX is a programming model that more closely ties into Indigo/WCF. In my opinion the feature set available with WCF so incredibly trumps the existing first generation web services that if you're writing web services today with the hope that the upgrade to Indigo will be seamless then you're nuts. The capabilities available within WCF for versioning and multiple end point definition give you the facility to reuse code and preserve autonomy in ways that are all but impossible with ASMX. In my opinion if you're building web services today for anything other than Interop you'll be re-engineering them once you get a look at the feature set within WCF.

Question #5: Finally my favorite topic is that of the four quickly forgotten/ignored service orientation tenets. These are design concepts that when followed assure you some level of longevity in your enterprise SOA. My favorite is without a doubt the fact that "Services are Autonomous". In an application requiring high durability this couldn't be more critical. This also seems to be the most clearly defined and most often abused tenet. I say that because I believe it to be as self describing as any of the tenets. Autonomous means self governing. What makes services self governing? How about that they don't rely on other services or that they are designed with offline capabilities in mind. I would say that the WCF/Indigo bits are keeping this tenet close to their hearts as they've extended the MSMQ reliable messaging pieces to the services programming model but when I read through some of the literature I keep hearing about services as both end points and clients. But there are no warnings about how the design of these pieces should be such that a failure does not impact the consumer ... strange dichotomy isn't it?

After our conversation: Rich corrected me on some of my assertions above, I was in-correctly grouping durable design into autonomy. The idea of being self-governing doesn't really imply independence from other services or systems. If durability is a key design consideration then design with that in mind but what autonomy really means is that services can be versioned on their own and they are not built with an individual specification from another system in mind. They really need to be designed and delivered in isolation in order to ensure that level of autonomy. I have to admit to grossly mis-interpreting this issue but as a side effect I think I know what my key concern is about service orientation and that is that it has nothing to do with technology or feature set. The success of a service-oriented architecture depends almost exclusively on the strategic design of reusable durable application building blocks. How to get there is going to be more of a result of how service boundaries are identified, designed, and delivered and will have very little to do with the technology responsible for their implementation. Again I'll say I'm going to write something much more detailed on this issue in the very near future.

I'll quickly summarize by sending a huge thank you out to Rich, Ami, Joe Healy, and the other Microsoft professionals that made this meeting possible. I just recently finished the Indigo Beta 1 book and this couldn't have been more timely for me. I have material for a code camp session coming up in Jacksonville titled "Indigo: Steroids for your Enterprise SOA" and I will likely have two new articles written surrounding these topics. Microsoft has shown me an almost open door policy as it relates to how their technology is being used and what type of information might be useful moving forward as the service-oriented era continues to evolve.

Posted Aug 13 2005, 04:30 PM by tom.fuller with no comments
Filed under:
 
 
 
 

Richard Turner: Looking Forward To Meeting The Man Behind The Whitepaper!

So the Indigo Road show is here in Tampa on 8/11 and I have spent the last few days scowering the blogs to get some good conversation points for Rich Turner the Program Manager from Microsoft's Distributed Systems Group (recently appointed). It didn't take long before his name flew off the screen attached to his whitepaper Developing Distributed Services Today.

It was this article that was being referenced by many people online when it came to Indigo and what it had to offer. The contract first camp seems to think WCF (why does that acryonym have to be so close to the WSCF or Web Services Contract First from ThinkTecture.com) is still flawed in its utilzation of contracts because proxies and interfaces inherently bind you to the type structure of your service. I personally find this interesting but I am starting to feel more confident that I'm not as tightly bound syntacticly to the service I might be consuming with the new versioning enhancements in WCF.

So I've also read cover to cover the book from David Pallman on Indigo Beta 1 (now WCF). This book has some very thorough explanations of the programming model being delivered with this new "Foundation" of communication for our distributed applications. However, I still struggle with some things and I plan to find out what our good friend Rich Turner has to say about them:

1. I have looked at all of the features being delivered with Indigo at least with Beta 1 and my key question to Microsoft is how is this really moving us any closer to "service orientation"?

2. Having read the whitepaper "Developing Distributed Services Today" I can't help but think we're heading down a dangerous path of merging Indigo services as a technology with service orientation as a concept. Doesn't the idea of a service transcend technology and how does WCF help me design, develop, deploy and support these things once they get into the wild (beyond a simple new version of the SOAP tracer found in the old SOAP toolkit).

3. I also recently came across a very interesting blog from Kirk Allen Evans that was apparently linked into your whitepaper (Kirk Allen Evants Blog On Developing Distributed Services Today). This discusses the utlization of ASMX as an appropriate way to distribute objects in from what I can tell a non-SOA way. True they defend it as being a comparable technology when it comes to performance but the more interesting point here is that the objects and code have been distributed for no logical reason. Once again we have a technology capable of letting us do bad things in an easy way. This probably is more of a design patterns and practices thing but I'll be interested in what Rich thinks.

4. If we are expected to believe that ASMX is the best mechanism today for preparing for WCF/Indigo down the road in our enterprise how can we be expected to ignore things like flowing transactions, binary message structures, WS-Security, and Reliable sessions? If I have read David Pallmann's book correctly the Basic Profile binding will not allow you to do any of these things and existing ASMX converted applications will have to use this binding. Why wouldn't we look more carefully at building Enterprise service components that are later exposed via web services. Take the DCOM hit today to reap the WCF benefits tomorrow!

5. Finally my favorite topic is that of the four quickly forgotten/ignored service oreintation tenets. These are design concepts that when followed assure you some level of longevity in your enterprise SOA. My favorite is without a doubt the fact that "Services are Autonomous". In an application requiring high durability this couldn't be more critical. This also seems to be the most clearly defined and most often abused tenet. I say that because I believe it to be as self describing as any of the tenets. Autonomous means self governing. What makes services self governing? How about that they don't rely on other services or that they are designed with offline capabilities in mind. I would say that the WCF/Indigo bits are keeping this tenet close to their hearts as they've extended the MSMQ reliable messaging pieces to the services programming model but when I read through some of the literature I keep hearing about services as both end points and clients. But there are no warnings about how the design of these pieces should be such that a failure does not impact the consumer ... strange dichotomy isn't it?

So as you can see from my very targeted probing above I better bring some extra funds to buy the poor guy a drink. Hopefully somewhere between question 3 and 5 he doesn't ask me go drink what's under the sink :) All kidding aside I plan to track the man down and get some answers to these things that are weighing on me quite heavily. Look back soon for a post on what I've learned.
Posted Aug 10 2005, 10:29 PM by tom.fuller with no comments
Filed under:
 
 
 

 
Copyright © . All Rights Reserved.
Powered by Community Server (Commercial Edition), by Telligent Systems