The World's Biggest SOA
posted by Anna Mar, February 04, 2011SOA and mashups — two architectural patterns that are driving faster/cheaper service development. Both are used to build reusable services — but how different are they?
SOA is a set of 9 design principles used to build highly reusable services. If we evaluate mashups according to these 9 SOA principles how do they measure up?
✔ Interoperable
Mashups are interoperable to the extent that they are often based on standards such as XML, HTTP, REST, Web Services, RSS and Atom.Interoperability with legacy systems is also possible. SOA solutions often use an Enterprise Service Bus(ESB) to facilitate interoperability — there is no reason a mashup could not be consumed using an ESB in the same fashion.
x Standardized Service Contract
Most mashups lack the well defined service contract expected of a SOA service.x Service Loose Coupling
Mashup subscribers are tightly coupled with mashup publishers. The exception would be when the mashup is exposed by web service WSDLs or similar contracts. However, this is relatively rare.✔ Service Abstraction
Most mashups meet this criteria by hiding their logic from the outside world.✔ Service Reusability
Most mashups deployed today are designed for mass consumption and are highly reusable.✔ Service Autonomy
Mashups generally have control over the logic they encapsulate.x Service Statelessness
Many mashups store request specific data in a database. Often the mashup service itself accesses data sources directly.x Service Discoverability
Since mashups often lack a well defined service contract they are normally not discoverable.✔ Service Composability
Internet mashups are often designed to be consumable for many purposes. They usually offer finely-grained functionality and in many cases are composable.Mashup = SOA?
Many Internet mashups would score 5 out of 9 if evaluated according to SOA design principles. Very few publicly accessible mashups deployed today could be considered SOA services.Mashup and SOA Convergence?
Mashups evolved from informal APIs provided by Internet content companies. SOA is a more rigorous set of design principles used to build enterprise solutions.There are some signs of the convergence of the two. There is increasing interest in mashups for the enterprise. This is driving increasing standardization of mashups. There is also increasing interest in standardized, discoverable service contracts for mashups.
If there is a move to apply SOA design principles to mashups — the Internet may become a massive SOA.
Recently on Simplicable
9 ITIL Implementation Challengesposted by Anna MarITIL implementation is no cakewalk. ITIL impacts your entire organization — your business, your IT department and your inflight projects. |
The 9 Principles Of Soa Designposted by Anna MarService-oriented Architecture (SOA) is as simple as can be — it can all be boiled down to these 9 principles. |
What Big Data Really Meansposted by John SpaceyThe 3 things you need to know to cut through the big data hype. |
The 5 Levels of Enterprise Integrationposted by Anna MarEnterprise Integration has traditionally focused on moving data from one database to another. Recent technology trends have challenged this approach. |