« More than bloggy | Main | WIP: Links »

Web Integration Patterns

In my previous post, I promised to write a blog series on Web Integration Patterns. This post explains the concept and a bit about how I plan to write about it.

What I’m calling Web Integration Patterns are techniques for integrating software systems, web applications and web sites using the common technologies of the web. These patterns build on HTTP, HTML, JavaScript and sometimes JSON, RDF and XML to provide ways to integrate software systems and include both programmatic approaches and user interface integrations.

Not the same as Enterprise Integration Patterns

These patterns are different from Enterprise Integration Patterns (from the book of the same title). Those enterprise patterns make the most sense inside an organization where shared-databases and specifically messaging middle-wares are part of the common infrastructure. Web Integration Patterns assume only the web as common infrastructure, or at least the best of them do, and that means they can work equally as well in a controlled enterprise Intranet as they do on the big wild Internet. They can work well for a suite of web applications or a family of loosely related web sites.

Four categories of patterns covered

I plan to write about a dozen blog entries each covering one pattern, and I’ll do at least one per week. I’ll start with the basic patterns then introduce more advanced patterns. I’ve organized the patterns into four groupings, listed below in the order that I will cover them:

(I'll add links in below as I publish each pattern)
  • Basic Patterns: fundamental patterns which are relatively easy to implement, and, mostly, possible on a website made up of static HTML pages.
    • #1 Links: Use links as a way to integrate web sites & applications via navigation and relationships between resources.
    • #2 Common Navigation: Make separate web sites and applications appear to be one by using common user interface elements for navigation.
    • #3 Embedded Properties in HTML: Enable easier integration and better search across integrated web applications and sites by using standard mechanisms (e.g. Microformats, RDFa) to embed property values in HTML pages.
    • #4 Resource Preview: Enhance links shown in HTML pages so that users can hover, mouse-over, or use some other gesture, to view a preview of the resource at the other end of the link.
    • #5 Widgets and Gadgets: Allow other web sites and applications to integrate your site into their web pages by providing an embeddable user interface, commonly known as a Gadget or Widget
    • #6 Feed-based Integration integrating web sites and applications by using standard feed formats, e.g. RSS and Atom, to convey timely information, updates, status messages, events and other information
  • Advanced Patterns: more advanced patterns, which may require some server-side logic and infrastructure beyond a plain old web server.
  • Authentication Patterns: these are advanced patterns that concern authentication and authorization of users and web sites, including Single Sign On, OpenID and more.
  • Social Patterns: patterns from the world of social networking, including things like OpenSocial, Facebook apps and ActivityStreams.

Perhaps using the word “patterns” is a bit pretentious. I’m no gang of four or even one, and I don’t plan to give these patterns the comprehensive treatment examples that you’d find in a patterns book. I won’t be providing source code examples either. Still, I think Web Integration Patterns is the right name and format, so I’m sticking with it.

The first pattern that I’ll cover is Links. More Later...


Great, I'm looking forward to this series of blog.

Posted by OliBlogger on March 16, 2011 at 07:10 PM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed

« More than bloggy | Main | WIP: Links »


This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Web Development, some may be related to this entry.