5.6. SOA: Services, Not Programs

SOA is a way of producing software so that programs can be easily built, virtually on the fly, from discrete parts that reside on the Internet.

You can think of SOA as an extension of the Internet, a way to arrange your IT infrastructure to take full advantage of the Internet. So it is just as important as the Internet itself. If you are using the Internet in your company without using SOA, it is as if you were using a hammer to pound screws into wood instead of using a screwdriver.

SOA is simply a way of decomposing large applications into smaller chunks that can talk to each other over the Internet. Some of these chunks will reside on computers owned and managed by your IT group, but some of the chunks reside elsewhere on the Internet—they may belong to your supplier, customer, investor, government regulator, or whatever.

So instead of having lots of large, autonomous, self-contained applications, in SOA there are lots of services that communicate with each other in a loosely coupled way. The notion of a "program" as a discrete set of capabilities begins to fade away.

This is not a matter of trying to keep up with the Joneses; it is a matter of trying to keep up with every business in the world that has access to the Internet—because any one of them could be your competitor tomorrow.

As I am typing these words, competitive organizations everywhere are scrambling to refocus and reengineer their IT strategies around the Internet. But accomplishing ...

Get The Next Leap in Productivity: What Top Managers Really Need to Know about Information Technology now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.