| By Steve Bjorg | Article Rating: |
|
| December 13, 2008 07:00 AM EST | Reads: |
11,739 |
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.
Published December 13, 2008 Reads 11,739
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















