Mashup Patterns

Designs and Strategies for using Mashups in Enterprise Environments

Here are the Patterns outlined in my book. This post will evolve over time as discussions in the Patterns Community group refine this collection. This brief overview should give you a quick overview of what mashups can achieve.

Harvest : Mine one or more resources for unique data
  • Alerter
    Mashups do not necessarily present data directly to a user. Intelligent Agents can be configured to automatically monitor various conditions and trigger alerts
  • API Enabler
    Create a custom API for static resources (e.g., web pages) so that they can be utilized as a dynamic data source
  • Competitive Analysis
    Extract pricing and product information or advertising trends from competing firms to compare against your own offerings
  • Infinite Monkeys
    Automate a repetitive task to a scale unachievable by normal human agents
  • Leading Indicator
    Use a mashup to regularly monitor information that may indirectly serve as a leading indicator
  • Reality Mining
    Incorporate environmental and behavioral data to better understand human interaction.
  • Reputation Management
    Use mashups along with Sentiment Analysis techniques to be scan for words that connote emotion and then rank how a document “feels”
  • Time Series
    Use a mashup to extract and store information at regular intervals in hopes of observing trends in the data

Enhance : Extended the capabilities of existing resources
  • Accessibility
    Construct an alternative application interface with no impact on the original code base
  • Feed Factory: Create an RSS/Atom Feed for a site that doesn’t expose a feed, and create new feeds by remixing existing ones
  • Field Medic
    Provide a temporary patch to a system when you are unable to correct the problem directly
  • Folksonomy Enabler
    Add community-driven tagging or rating features to existing applications
  • Fragility Reducer
    Add redundancy to mashups by leveraging multiple sources
  • Smart Suggestions
    Enhance productivity by using mashups to suggest material relevant to users’ tasks
  • Super Search
    Apply business specific knowledge to enhance user search activity so that results are obtained from multiple sites relevant to the problem domain.
  • Translation
    Pass content through a service to add clarifications or convert it to a different language
  • Usability Enhancer
    Construct a mashup “wrapper” (or façade) which exposes only the functionality necessary to use the system.
  • Workflow
    Add workflow capabilities to a system or chain of systems

Assemble : Remix existing data and interfaces to serve new purposes
  • Communication and Collaboration
    Combine internal communication products to solve problems related to Interruption Overload
  • Content Aggregation
    Multiple resources are combined to remove inefficiencies caused by frequent task-switching between applications
  • Content Integration
    Extend a system that accepts an incoming feed by mashing together multiple sources into a new feed that conforms to the original standard
  • Distributed Drill-Down
    Provide Master/Detail functionality across multiple systems
  • Emergency Response
    Create an ad hoc solution in situations where response time is crucial
  • Filter
    Remove unnecessary or unneeded data from a system or data feed
  • Location Mapping
    Geocode data for location mapping or address verification
  • Splinter
    Separate a unified data source into smaller, specialized streams of focused information

Manage : Leverage the investment in existing assets more effectively
  • Content Migration
    Migrate information from one or more applications to a new environment
  • Dashboard: Acquire and display summary status information from multiple systems on a single-page
  • Portal Enabler
    Move existing content onto enterprise Portals without requiring custom coding.
  • Quick Proof of Concept
    Use mashups to validate a business or product idea that will entail a significant investment
  • Single Sign-On
    Allow a user to supply credentials one time for authentication across multiple internal and external systems
  • Widget Enabler
    Repackage existing systems for viral distribution via popular Widget platforms

Test : Verify the performance and reliability of applications
  • Audit
    Use mashups to create an aspect-oriented view of application usage
  • Load Testing
    Multiple mashups run simultaneously can simulate the activity of hundreds of users and assist in load and stress-testing
  • Regression Testing
    By employing a predefined collection of data, ensure that input/output results across versions are as expected

Naturally, the mashups that you can build depend heavily on the tools that you are using. Mashup functionality can be reduced to a few atomic capabilities which I have associated with each pattern in the text. I discuss the Core Capabilities that facilitate these patterns along with examples about how they impact pattern construction and tool selection in this post.

Comment

You need to be a member of Mashup Patterns to add comments!

Join Mashup Patterns

Michael Ogrinz Comment by Michael Ogrinz on December 29, 2008 at 4:22pm
Zo,

You might also ask why, given their similarity, API Enabler is in the Harvest category and Feed Factory in Enhance. Both patterns are similar in that they typically act on unstructured content. But the goals of each are very different. API Enabler is intended to impose a programmatically-accessible interface on closed content (perhaps for direct access or for additional mashing). Any API is typically just the first point in a "conversation" between a developer and a resource. An RSS or Atom feed is typically user-facing. Yes, it can serve as a point of extraction for a site's resources, but the most common usage is for consumption by some type of feed-reader and subsequent presentation directly to a person (no intermediate coding takes place).

This is what leads to the separate categories . API Enabler is generally a small step in a larger process (many of the patterns rely on API Enabler instances) whereas Feed Factory implementations are often simple one-ways pushes of data directly to users.
Zo Obradovic Comment by Zo Obradovic on December 29, 2008 at 3:29pm
Heard a comment that Feed Factory seems to be very similar to API Enabler, only narrowed to RSS. Any thoughts on the matter?

© 2010   Created by Michael Ogrinz

Badges  |  Report an Issue  |  Privacy  |  Terms of Service