It is debatable, but Java application servers may be said to have formed the first general off-the-shelf integration infrastructure. The earliest architecture of application servers was very much driven by Web application needs – more so as the Web itself became the most essential infrastructure for modern organizations. The bane of the earliest Web applications was statelessness, an essential feature of pre-Web computing.
"REST is the architecture for the Web. [And the Web] is the most successful scalable application in history."
Anne Thomas Manes, Analyst, Gartner
Over the last ten years application servers have found a comfortable niche, but Web application servers are now most often stripped down to a few fundamental elements. Light-weight Web application frameworks are very much the infrastructure choice of the day, and these largely employ REST (Representational State Transfer), a decidedly stateless architectural approach. As well, REST is a primary design pattern for cloud computing architecture.
According to Anne Thomas Manes, Analyst, Gartner, "REST is the architecture for the Web." And the Web, she continued, "is the most successful scalable application in history."
Manes, who spoke on REST at last autumn's Gartner Application Architecture, Development & Integration Summit, noted that SOA and REST have at times been at odds, but, she said, that need not be the case. Both REST and SOA are architectures. SOAP, which was closely associated with SOA in its first days, however, is a technology that is seen in opposition to REST.
Some people have suggested REST has been too often seen as "the only game in town." The hype-wary Manes reminds that SOAP was sometimes pitched in just that way.
"SOAP was introduced in 1999. The problem with both SOAP and 'WS-star' is that, over the course, of the last 10 years, the vendors have been hyping it beyond belief," she said. "We know it doesn't solve the problem of incompatible data types and semantics. It does provide us with a messaging system."
"People think of REST as 'not SOAP' - that usually means plain old XML over HTTP," she said in the AADI session entitled "Web Services, REST and Web-Oriented Architecture: Using Standards and Technologies to Build Web-Friendly Services."
More to the point, REST is a set of constraints, said Manes. These constraints – mainly that the system is stateless and cacheable and that resources must have standard identifiers – limit what you can do, but they are enablers at the same time. Statelessness and cacheability are among traits that Web application architects have lit upon in their quest for performance.
Web-oriented architecture (WOA), sometimes used as a place marker for REST, has never quite gained the same currency as service-oriented architecture, but that may change, as the Web continues to influence architectural and infrastructure decisions.
Augmenting SOA with REST boosts performance, promotes cacheability, and supports mashups, according to Manes, who suggests these traits maybe necessary, or at least useful models for cloud computing.
This was first published in January 2011