WOA for the Enterprise
An alternative architectural style
By: Steve Bjorg
Dec. 13, 2008 07:00 AM
WOA, or "web-oriented architecture," has proven itself as a viable approach to building large-scale, worldwide web services. This article introduces the principles behind WOA, how it is applied, and why it should be used even inside the enterprise.
What Is WOA and Why Should I Care?
WOA has been defined by Gartner as SOA + WWW + REST. In other words, it's a soup of mostly unpronounceable acronyms.
SOA should be familiar to most readers. It was introduced in 2003 and has been widely associated with SOAP and the WS-* stack, although it's not directly related. SOA, or service-oriented architecture, is an approach to software design that aims to decompose a problem into modular, distributable, sharable, and loosely coupled components.
WWW, or worldwide web, refers to the set of technologies commonly employed on the Web, including HTTP(S), (X)HTML, Real Simple Syndication (RSS), Atom Publishing Protocol (AtomPub), Resource Description Framework (RDF), Micro Formats, and so forth. Chances are you've come across these already.
Last, REST, or "Representational State Transfer," is a constraint on how clients and the server interact to promote a simple, scalable, and cost-effective distributed processing environment. REST has gained much attention in recent years. It shifts the processing model significantly enough to require rethinking of established patterns. However, it comes with significant benefits when properly applied (see sidebar "REST in a Nutshell").
WOA is a combination of established technologies with the goal of keeping things as simple as possible while remaining flexible. A WOA interface can be used from any web-enabled programming language, including the command line or browser. The interface can be learned by example and observation. And it can be easily extended without requiring central oversight. In short, WOA is the set of principles that have made the worldwide web a success, but with emphasis on machine-to-machine interactions.
Contrast this to an interface defined by a Web-Services Description Language (WSDL) specification. First, the specification is hard to read, it is often domain specific, and it is difficult to extend or adapt without breaking existing code. Second, the resulting SOAP messages are complex and cannot be readily understood without a priori knowledge of the involved services. These properties make it harder than it should be to build robust, distributed applications.
WOA is emerging as an alternative architectural style that is better suited to an environment where innovation must occur without central decision-making, messages must remain interoperable over long periods of time, and the cost of scaling must remain low. Sounds like WOA is a great fit for the enterprise indeed.
Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week