Friday, February 20, 2009

Pragmatic SOA Governance

I recently wrote an article that appeared in eBizQ on the topic of SOA governance. In this article, I argue that the primary reason that many pundits have declared “SOA is dead” is that the traditional “top-down” approach to SOA and governance have failed. Vendors have for too long evangelized a “big bang” re-architecture of development processes, using their tools to enforce new behaviors from developers, in order to realize the benefits of SOA. These approaches have failed because they make the average developer’s life more difficult, rather than simpler. Development teams, already stretched for time and resources, are generally reluctant to do extra work in the pursuit of some abstract notion of “service reuse.” Instead, modern governance approaches that are getting traction today actually help developers by integrating with existing tools and streamlining, rather than obstructing, familiar processes.

Read the entire article here.

What I didn’t talk about in the article was some of the real-world activity I have seen from MuleSource customers. The way our customers use Mule Galaxy - our SOA governance platform and registry - validates this new pragmatic approach to governance. For example, one user has incorporated Galaxy into their software development lifecycle, integrating their IDE environment using Galaxy’s REST API, making it easy for developers to find services. This user also stores services in the Galaxy repository, allowing them to enforce policies around their services, including WS-I BasicProfile and a number of security policies. Another user has service metadata defined within Java classes via custom annotations – using Galaxy and a couple of lines of Groovy code, they are able to automatically extract this metadata, publishing it in Galaxy for others to find and reuse. Finally, a third user pushes builds from their continuous integration system into Galaxy using the Apache Ant build tool, then using Galaxy to track the lifecycle information of particular application builds and services. Once a new service was pushed into staging or production, Galaxy’s application deployment feature (Mule NetBoot) could detect the change and automatically download and start that service.

In today’s world, it’s clear that the traditional top-down philosophy for SOA is outmoded and outdated – a new approach is needed for today’s organizations to see real value. The implications on SOA governance are clear – the focus should be on making things easier for everyone*, not about virtuous architecture; on improving existing organizational structures and processes rather than wholesale re-engineering; on implementing pragmatic tools at the work-group level (e.g., using open source tools) rather than embarking on massive enterprise-wide software implementations. Whether you are calling it SOA, composite applications, mash-ups, or any other buzzword of the day, only when the everyday IT professional sees the benefits of a new approach to development will the enterprise see value overall.

To see a live demonstration of Mule Galaxy, view this 7 minute screencast.

* Historically the role of the developer as a user of an SOA registry has always been overlooked. Martin Fowler wrote an interesting post on Humane Registries that touches on ways in which the right information can be tracked from a developers perspective to make the tracking of services more useful to developers (yes, Mule Galaxy supports tracking developer metadata outlined by Martin).

0 comments: