|Home • Patterns • Ramblings • Articles • Talks • Download • Links • Books • Contact|
Web 2.0 Patterns
Aug 24, 2006
|DDD - Diagram Driven Design|
|What Does It Mean to Use Messaging?|
|A Chapter a Day...|
|Clouds and Integration Patterns at JavaOne|
|My First Google Wave Robot|
|Into the Clouds on New Acid|
|Design Patterns: More than meets the eye|
|Reflecting on Enterprise Integration Patterns|
|Google Gears Live From Japan|
|Double-Dipping: OOPSLA and Colorado Software Summit|
|Enterprise Mashup Summit|
|Facebook Developer Garage|
|Mashups Tools Market|
|Mashups == EAI 2.0?|
I confess. I am a groupie. When Tim O'Reilly invited me to be part of on a workshop on Web 2.0 patterns I was quite excited. First, because I was going to meet the exalted one in person. Second, because I would have a chance to learn a lot about Web 2.0 as I am pretty much starting from zero (working for Google does not automatically mean working on super-secret next generation massive computing projects). Lucky for me, the other participants are quite entrenched in the Web 2.0 phenomeon. Amongst others we had Bill Scott from Yahoo!, Jennifer Tidwell, Cal Henderson from Flickr, John Musser who runs ProgrammableWeb, Martin Fowler, and Sandy from Meebo.
The goal of the workshop was to build on Tim's paper What is Web 2.0. The paper cites a few examples that demonstrate the shift in thinking from Web 1.0 to Web 2.0:
These examples alone show a clear shift from publishing towards sharing and participation, a richer user interaction, and a stronger focus on sharing data. Our day-long workshop aimed to distill values, principles, and patterns of Web 2.0 (Martin recommended that we "borrow" this structure from Kent Beck's XP book).
We started by brainstorming what Web 2.0 means to us. As expected we ended up with a wide spectrum of ideas, which we then sorted into categories. One of the most interesting parts for me were the many examples that I had not yet heard about, such as:
We tried to compile a set of values, along the lines of the Agile Manifesto. The key with the agile values is that is used a "X over Y" format where Y by itself is a fairly reasonable goal. For example, the value is not "Working Software over Broken Software" (duh!) but "Working Software over Comprehensive Documentation". Here are some of our candidates:
John from ProgrammableWeb shared a beer over visualizing complex integration systems. His team actually won an award once for a system that could visualize a complex integration solution consisting of messaging, file transfer, and many other technologies. His side links to a fun game GuessTheGoogle.
Martin taught me a new acronym: POX = Plain Old XML (as opposed to SOAP + WS-*)
hadoop.com is an open source map/reduce implementation.
Someone pointed me to BlueOrganizer - a Firefox plugin that allows the creation of semantically rich bookmarks that can be shared. For example, if you mark one of the supported sites (e.g. Amazon) the tool will bookmark the specific product (as opposed to simply the URL) and file it under the proper category (e.g., books, electronics).
MORE RAMBLINGS SUBSCRIBE TO GREGOR'S RAMBLINGS
Gregor is a software architect with Google. He is a frequent speaker on asynchronous messaging and service-oriented architectures and co-authored Enterprise Integration Patterns (Addison-Wesley). His mission is to make integration and distributed system development easier by harvesting common patterns and best practices from many different technologies.
|© 2010 • All rights reserved.|