XML 2007 Conference
Marriott Copley Place
Boston, Massachusetts, USA
3-5 December 2007

Web 20-20: Architectural Patterns and Models for the New Internet

Charlton Barreto (Adobe Systems Ltd)
XML and the Web Berkeley/Clarendon
Chair: Norman Walsh (Sun Microsystems, Inc.)

There is no definition of Web 2.0, nor will a formal architecture be defined. From Tim O’Reilly’s example, we can distill a number of patterns – repeatable solutions to frequently occurring problems. The value of patterns is that they capture the solution knowledge independent of the implementation which then allows the pattern to be re-applied to other instances of problems in different contexts. Comparing Ofoto to Flickr, Akamai to BitTorrent, Encyclopaedia Britannica to Wikipedia, and so on, abstract patterns among these express what is going on for each case. These patterns can used to build an abstract model for the Web 2.0. From the model, a reference architecture was created for developers and architects, where the reference architecture is abstract of all technologies and implementation detail, yet presents an excellent technology component view that can be used to help guide architects and developers as they build their applications. The value of this methodology is that anyone can take the reference architecture and build their own specialized architecture from it. The model is simple and reflects abstract concepts that are present in most of the patterns. The model is strikingly different than the old internet in a number of ways. In order to reflect the capabilities necessary to fulfill these patterns, developers need to extend the basic client server model. Instead of a simple “server”, the Services Tier of the model reflect the core tenets of Service Oriented Architecture (SOA), itself a a core pattern of Web 2.0. SOA is a pattern that can be used to match needs and capabilities under disparate domains of ownership. In this context, SOA is independent of any specific implementation or technology family such as web services and aligned with the abstract definition in the OASIS Reference Model for SOA. SOA allows “capabilities” to be offered for consumption to potential consumers on a common fabric. The common fabric is defined in terms of “Reachability and Connectivity”, often implemented by using common standards and protocols. The concept of Web 2.0 as an open platform relies on these open standards and technologies to function. Work such as the Service Component Architecture will rely on this type of infrastructure to exist in order to work. The services tier offering these services is necessary to fulfill many patterns. To deliver a Rich User Experience (RUE), the capabilities must be leveraged to add more depth to interactions between users. To enable people to build mashups or offer Software as a Service (SaaS), the services tier must deliver the capabilities whilst abstracting the client from how the capabilities are being fulfilled. In the middle tier of Capabilities and Reachability, we have seen huge changes since the beginnings of the internet. The development of Web services standards, and new data serialization forms such as XML to supplement the simplistic HTTP and HTML model, are necessary to fulfill the promise of the web. Additional patterns beyond simple “Request-Response” are necessary to fulfill core ones such as the “Synchronized Web”. The latter being used for online gaming, collaborative applications and other synchronous architectures of participation. We have seen the rise of AJAX as an asynchronous model and various other developments to make these patterns reality. Models for interaction include Probe and Match, Request-Response, Subscribe-Push, Synchronized, Asynchronous and more. In the model, the old notion of “client” has been widened to become a “Client Applications/Runtimes”. The purpose of this is to perform client duties and prepare the ultimate user to connect to the web. It has been noted that there is a new entity above the client – the User. The user is now a core part of the model for the internet and vice verse. The Collaborative Tagging pattern (“Folksonomy), Collaboration-Participation Pattern, Rich User Experience Pattern, Semantic Web Patterns, Synchronized Web Patterns, Declarative Living and many others all employ the notion of the User. However, ‘Users’ are not limited merely to humans but may include applications or other agents. This model can be used as a pattern between any two entities on the web – extending beyond providing a platform of all interconnected devices. The model can also be used in Peer to Peer patterns (one peer has a capability that gets consumed by another peer using protocols like BitTorrent via services for the ultimate benefit of a human actor) or other patterns like the Web Services architecture. Yet, the model is not monolithic – it is not a single artefact that forever defines Web 2.0. It simply provides one model which can be used as a point of reference.

Photo of Charlton Barreto

Charlton Barreto

Adobe Systems Ltd

Charlton Barreto, Ph.D., has developed enterprise product architectures for Lawrence Livermore National Labs, UnifAce, Illustra/Informix, Visigenic/Borland, webMethods and Adobe, and has done related work in OASIS, W3C, the Java Community Process, OMG, and the IEEE. Charlton gained a Ph.D. from Columbia University. As a Senior Computer Scientist and Architect at Adobe, he concentrates on LiveCycle, Adobe’s Service Oriented Architecture (SOA) platform. LiveCycle He is a co-author of the WS-BPEL, WS-Choreography, WSDL 2 and Java Enterprise Edition, and has been a contributor to the SOA Reference Model, WS-Transaction, WS-ReliableMessaging, and WS-Policy specifications. He writes and presents regularly on Web and SOA technologies.

Your account


(?)

Premiere sponsor

Microsoft Interoperability

Platinum sponsors

JustSystems
DataDirect
IBM

Gold sponsors

Intel
Antenna House

Produced by

IDEAlliance

Event sponsor

RSuite CMS

Co-hosts

OASIS
Philly XML
XML Guild
Event software by Expectnation