Chapter 13. SOA Primer

Service-oriented architecture (SOA) is a concept that seems to be almost universally misunderstood. Especially in the era of Web 2.0 and web services, the definition of true SOA services has been muddled. I have encountered people who think they have a service-oriented architecture but don’t. I’ve encountered people who have stumbled upon a service-oriented architecture in solving an architectural scaling problem but didn’t know the architecture they had invented had that name. “That’s what all those people talking about SOA are talking about? That’s easy!” Because SOA is a buzzword, no one wants to admit that they don’t know what it means.

Many application developers are unfamiliar with true SOA because the need for it enters late in an application’s lifecycle. It is often only when a company has matured to enterprise level that the old, tried and true, “monolithic” approach to building websites can no longer cut it. The single web application and single database of the monolithic architecture at some point cannot stand up to the demands of the company’s success, and a wholly new architecture is needed to meet the challenge. Usually that architecture is SOA.

But what is SOA? When is it useful and what are the advantages? The goal of this and the following chapters is to lift the veil of confusion surrounding “services” as they relate to service-oriented architecture. We’ll start with the what. What does a service-oriented architecture ...

Get Enterprise Rails 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.