Welcome!

.NET Authors: Jayaram Krishnaswamy, RealWire News Distribution

Related Topics: .NET, SOA & WOA

.NET: Article

WOA for the Enterprise

An alternative architectural style

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?
Before diving into the meat of this article, let's quickly review where WOA came from and why it has gained traction among many new technology companies.

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.

More Stories By Steve Bjorg

Steve Bjorg is the co-founder and CTO at MindTouch and the mind behind MindTouch Deki, the first WOA wiki platform. His work experience includes compilers, virtual machines, distributed systems, behavioral type systems, process calculi, and game development. Prior to MindTouch, Steve worked at Microsoft doing product incubation in the Advanced Strategies team.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.