Monday, April 02, 2007

Web 2.0 Architectural Patterns and Model Presentation

The slides from O'Reilly eTech are now available here. Feel free to poach and use at your leisure.


There is no definition of Web 2.0 nor will there ever be a formal architecture. From Tim O'Reilly's example however, we can distill out patterns. If we take the list and compare Ofoto to Flickr, Akamai to BitTorrent, etc., the abstract patterns tell us what is going on for each example. These patterns can then be studied to build an abstract model for the Web 2.0. The abstract model in the presentations extends the basic client server model of the first internet generation to be able to facilitate the patterns of interaction people are building now. The new model extends the client to include "users" to enable patterns such as Participation-Collaboration and Collaborative Tagging. The lower part of the server sees SOA replacing the concept of a server given it encompasses an entire paradigm for software architecture and extends the concept into the enterprise (Capabilities) to fulfill other patterns like delivering a Rich User Experience or Software as a Service. The middle also encompasses some concepts that are important for developers and architects alike to consider such as consistent event and object models (necessary to build Mashups and the synchronized web patterns.

The first set of draft architectural and design patterns distilled from Tim's examples are listed below. Some of these are explained in the slide deck. The rest will be refined in a book I am working on with other authors.

Service Oriented Architecture
Software as a Service pattern (SaaS)
Participation-Collaboration Pattern
Asynchronous particle update (AJAX)
The Mashup Pattern
Rich User Experience
The Synchronized Web
Collaborative Tagging Systems (Folksonomy)
Declarative Living and Tag Gardening
Semantic Web Grounding Pattern
Persistent Rights Management
Adaptive Software
Fine grained content accessibility

Slides, Code Samples from 3 hour intro to Flex and Apollo

I had promised to upload the slides from Massive 2007 as well as the code examples used during the presentation. The presentation is 3 hours long and goes from Hello World to building an Apollo Browser in 5 lines of code. The slides are here and the Flex and Apollo Code Samples are on this PDF.

Please feel free to use the slide deck to help spread the good word. Please make sure to attribute where possible if you change the template.