For a long time I have been wondering what the business benefits of SOA are, and the truth is that I can find very few. SOA primarily benefits software publishers, in my opinion, by enabling a more rational development methodology and by tackling sticky integration issues once and for all. There are some ancillary benefits to end users, like incremental product upgrades in the form of services upgrades, but in the end the bulk of the benefits go to the people who make and implement software not use it.
The Web 2.0 revolution, and it really is a revolution, is where the enterprise software industry should be focusing our attention. It is here that customers see the benefits modern architectures enabled by SOA, but SOA alone doesn’t go far enough to be called anything more than an enabler of Web 2.0, the other critical components being REST and scripting, which end up feeding from one another.
The more technical of you would argue that REST and scripting benefit publishers as well, but what I would argue is that scripting is a direct enabler of end user services in the form of applets and with REST you have the ability to componentize application services without regard for state and this enables a new class of applications that are uniquely assembled at end points to provide users with applications that not only fit their requirements a lot better but are vastly less complex. A major ideological stumbling block for enterprise software companies is that everything we have done for 30 years has depended upon state as imposed by formal language theory, in other words, no message or event is every completely self contained, whereas in the REST world that the web lives in every message is self contained and complete. The computer scientists among you will debate the completeness or validity of what I just wrote, but I’d ask you not to just for the purposes of focusing on the theme not the details.
This debate is much longer than just one post, but it’s a debate we should be having because this SOA thing has been ongoing for the better part of 5 years and we still don’t have substantive end user benefits to show for it. In the interests of giving credit where credit is due, the move to SOA does enable an entirely new architecture (jeez, I am beginning to hate that word) while not being completely disruptive with regard to upgrade paths.