« DarwinPorts is Hot | Main | Felonious Acts on the Internet »
SOA Governance and WS Lifecycles
SOA Governance Links the Producer and Consumer Lifecycles (click to enlarge) |
I’m trying to put together some graphics for the SOA Governance article I’m working on. Once concept I like is the idea that governance links the producer and consumer lifecycles. I’ve tried to capture that idea (roughly) in the graphic at the right. I’d sorely appreciate comments on what’s wrong with it and what I’m missing or might communicate more clearly another way.
One thing that confused me for a second was that I wanted to put “discover” as a “design time” activity, but that’s really only “design time” from the producers standpoint. Consumers always discover in the producers “run time.”
Posted by windley on January 6, 2006 1:54 PM



Comment from orcmid at January 6, 2006 4:14 PM
I think the producer-adopter relationship is a powerful situation to explore. I have looked at simplified versions grounded on the Shewhart-Deming cycle of learning and improvement. You may find something useful at http://TROSTing.org/info/2005/06/i050601b.htm in terms of how engagements arise in the context of SOA.
Comment from Stefan Tilkov at January 7, 2006 2:35 AM
Nice. Two remarks: I prefer "provider and consumer" to "producer and consumer", but that's probably a matter of taste. Also, what is a change time policy? A policy governing what can and cannot be changed? If so, wouldn't that apply to a first deployment, too, and should rather be called "deploy time policy"?
Comment from Phil Windley at January 7, 2006 7:43 AM
Yes, I actually had already changed that to deploy time, rather than change time. Provider is also probably a better word. Thanks.
Comment from Rasmus Knippel at January 10, 2006 1:53 AM
When I look at the model, what I see is exactly the relation between the Service Lifecycle and the Consumer Lifecycle. This is of course a big part of SOA, but I wouldn’t call it SOA Governance. SOA Governance is in my view a broader concept also covering maintenance and control of policies – such as the policies you have included in your illustration, and many more.
Of cause an illustration can be interpreted in many ways, and taken out of context I…
Comment from Wes McGregor at January 10, 2006 6:07 AM
Phil,
You make an assumption that the service has to actually exist and be discoverable on the provider side in order for the consumer to incorporate it. A flexible service description (not just WSDL) allows for design time consumption of the service via an attribute that indicates operational state. With this method, both sides having agreed to a mutally beneficial interface, can proceed in parallel and aim for a forecasted date. Once the date is reached and all is well, the attribute's value is changed to "in-service" and then a service call can proceed. All said, this implies service descriptions are dynamic and are not hard-wired to the service(s) they represent.
Just a thought.
Comment from Todd Biske at January 10, 2006 7:44 PM
I'm not sure if there's a good way to do it in this graphic, but there is a role for SOA Governance at the design time of a consumer. The graphic implies that once a service goes into production, the interface doesn't change. I think this is a misconception that many people have. Governance has a role in deciding when an interface should change as a result of new requirements brought by a new consumer, or when a new consumer should augment their code to utilize the interface as is. This really only comes into play with services developed for internal use, but it is a common scenario. Trying to capture this in your graphic might be difficult, as it may result in it trying to convey too much information, and thus conveying nothing. Perhaps you could have a second diagram for this second scenario.