Blogger: Anne Thomas Manes
Jeff Schneider has just proposed a new taxonomy for thinking about SOA, which he calls "Balanced Views of SOA". The views pertain to the various perspectives that people with a particular role in the organization have when working on the SOA initiative. To some degree his post is in response to the discussion we've been having on the Yahoo! service-orientated-architecture mailing list, where Todd Biske and I have been asserting that SOA is an enterprise architectural style. Jeff's point is that from an enterprise architect's perspective, SOA is an enterprise architectural style. But people with other roles have a different perspective, and therefore a different view. Good point--but I don't think it fundamentally changes the fact that SOA is an enterprise architectural style. These views refer to different aspects of the service lifecycle, not to different levels of architecture. But leaving the EA style question aside, I think this taxonomy of views is very valuable.
Jeff defines the following view categories:
- Service Portfolio Views: The enterprise architects' perspective. Services are assets in a portfolio. "These views help in the prioritization and planning process and to keep things organized."
- Individual Service Views: The implementors' perspective. After the planners determine that a service should be implemented, implementors must focus on designing, implementing, testing, deploying, configuring, and monitoring a specific service.
- Consumer-Service Views: The contract management perspective. A service isn't of value unless someone is consuming it. This perspective focuses on the needs to manage contracts between service consumers and providers.
I would add at least one additional set of views:
- Service Management Views: The operations, management, and policy enforcement perspective.
Perhaps Jeff groups the management views in with the consumer-service views, but many aspects of management apply to all services regardless of their specific contracts, and therefore deserve distinct views. These views address core infrastructure and management issues such as security, reliability, availability, monitoring, incident tracking, etc.
I'm sure I will come up with additional views. For example, there are application views (a specific application's perspective), business intelligence views (what information about the business can be gleaned from the service portfolio), etc.