Mashup Patterns: Designs and Examples for the Modern Enterprise

Overview

Indispensable Patterns and Insights for Putting Mashups to Work in Enterprise Environments

Using new mashup tools and technologies, enterprise developers can impose their own APIs on everything from Web sites and RSS feeds to Excel and PDF files–transforming a world of content into their own customized informationsource. In Mashup Patterns, Michael Ogrinz applies the concept of software development patterns to mashups, systematically revealing the right ways to build enterprise ...

See more details below
Other sellers (Paperback)
  • All (12) from $1.99   
  • New (4) from $31.47   
  • Used (8) from $1.99   
Mashup Patterns: Designs and Examples for the Modern Enterprise

Available on NOOK devices and apps  
  • NOOK Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study

Want a NOOK? Explore Now

NOOK Book (eBook)
$17.99
BN.com price
(Save 43%)$31.99 List Price

Overview

Indispensable Patterns and Insights for Putting Mashups to Work in Enterprise Environments

Using new mashup tools and technologies, enterprise developers can impose their own APIs on everything from Web sites and RSS feeds to Excel and PDF files–transforming a world of content into their own customized informationsource. In Mashup Patterns, Michael Ogrinz applies the concept of software development patterns to mashups, systematically revealing the right ways to build enterprise mashups and providing useful insights to help organizations avoid the mistakes that cause mashups to fail.

Drawing on extensive experience building business-critical mashups, Ogrinz offers patterns and realistic guidance for every stage of the mashup development lifecycle and addresses the key issues developers, architects, and managers will face. Each pattern is documented with a practical description, specific use cases, and crucial insights into the stability of mashups built with it. Ogrinz concludes by presenting twelve start-to-finish case studies demonstrating mashup patterns at work in actual enterprise settings.

Coverage includes:

  • Understanding the relationships among mashups, portals, SOA, EAI/EII, and SaaS
  • Exploring core mashup activities such as data management, surveillance, clipping, transformation, enrichment, publication, and promotion
  • Optimizing security, privacy, accessibility, usability, and performance
  • Managing mashup development, from planning and governance through integration, testing, and deployment
  • Enhancing basic mashups with search, language translation, workflow support, and other improvements
  • Performing effective load and regression testing
  • Avoiding “anti-patterns” that cause enterprise mashups to fail

Also of interest: The companion book, Mashups: Strategies for the Modern Enterprise by J. Jeffrey Hanson (Addison-Wesley), is an indispensable guide to designing, implementing, and debugging an enterprise mashup, offering sample code to illustrate key concepts.

Read More Show Less

Editorial Reviews

From the Publisher

“Enterprise architects think in high-level architectural patterns. This book cuts through the mashup marketing fluff and gets right down to presenting patterns as a way to analyze and solve enterprise problems using mashups.”

—John Crupi, Chief Technology Officer of JackBe and Coauthor of Core J2EE Patterns

“Mashups offer an opportunity to rapidly deliver value to the business, either on top of an existing internal corporate SOA or on common freely available Internet services. In this work, Ogrinz guides the reader through frequently encountered scenarios in the mashup space. The examples alone will help you think laterally about the problems facing your business and new ways of solving them.”

—Kevin P. Davis, Ph.D., Software Architect

Mashup Patterns is an excellent, comprehensive treatment of a subject increasingly central to corporate IT management. With the benefit of his extensive software architecture experience, Michael is able to provide a wide array of mashup solutions to real world data wrangling problems. He clearly explains how to successfully apply mashup patterns and avoid going down anti-pattern rabbit holes. This book is a must-have for developers venturing into the vast and rapidly expanding enterprise mashup space.”

—Daniel Leuck, CEO, Ooi

“Michael Ogrinz takes a broad view of mashups, focusing on their growing (and potentially revolutionary) role for harvesting and repurposing data within the modern information-driven enterprise. Don’t look for code or programming tips here, because you won’t find them. What you’ll find instead are inspiring examples, clever ideas, and new ways to use the data already hiding in your business and in the Web around you.”

—Rob Miller, Associate Professor of Computer Science, Massachusetts Institute of Technology

“To a user, a mashup has all the personal qualities of an advanced form of spreadsheet, except it’s not limited only to figures; this is only a fraction of the value that enterprises can gain from deploying mashups as well-managed sophisticated tools. Michael has done us all a service by producing this book as a great step forward in helping IT and business managers to access this value.”

—Andy Mulholland, Global Chief Technology Officer, Capgemini

“Mike Ogrinz has done an excellent job with thorough analysis of the various mashup patterns. What makes this book very exciting is the timing, when everyone wants to know more about mashups as well as the wide range of audience this book caters to. From director to engineer, everyone can find examples relevant to them. Congrats, Mike, on a job well done!”

—Sona Srinivasan, IT Engineer/ITG Architect, Cisco Systems

“Michael Ogrinz does for mashups what the illustrious Gang of Four (Gamma, Helm, Johnson, and Vlissides) did for object-oriented software design. He starts with a buzzword-free explanation of what mashups are and how they matter to the enterprise. He then presents a taxonomy of ready-to-implement design patterns, chock-full of concrete examples. Finally, he includes an appendix of realworld case studies, ranging from a Web 2.0 startup to the Defense Intelligence Agency. This clear, readable, no-nonsense book is a must-have for enterprise IT workers who are ready to embrace the brave new world of Enterprise 2.0.”

—Daniel Tunkelang, Ph.D., Chief Scientist, Endeca

“Mashups tear down traditional barriers around data, allowing it to be extracted and recombined freely. This book provides a new and clear way to think about online applications and about data itself, showing how to build powerful solutions from simple and direct components.”

—Paul Rademacher, Software Engineer, Google, and creator of HousingMaps.com

“No organization or developer thinking about mashups, SOA, and the future of enterprise development should miss this book.”

—John Musser, Founder, ProgrammableWeb.com

Read More Show Less

Product Details

  • ISBN-13: 9780321579478
  • Publisher: Addison-Wesley
  • Publication date: 4/1/2009
  • Pages: 432
  • Product dimensions: 7.00 (w) x 9.10 (h) x 0.90 (d)

Meet the Author

Michael Ogrinz is a principal architect at one of the world’s largest financial institutions. His business focus is to identify and integrate emerging technologies into the enterprise and to create innovative and competitive solutions. A frequent industry speaker on various facets of Enterprise 2.0, Michael has been instrumental in enhancing the computing environment at his firm through his work on user interfaces and usability, wikis and blogs, and, most recently, mashups.

Michael cofounded localendar.com, a classic “garage start-up” that demonstrates how the “Long Tail” applies to online calendars as much as anything else. The niche site has provided more than 400,000 schools, churches, and clubs with simple online scheduling services since its inception more than eight years ago.

Michael lives with his wife, two daughters, a collection of classic pinball and vector arcade machines, and a partially completed B9 Robot in wonderfully rural Easton, Connecticut.

Read More Show Less

Read an Excerpt

PrefacePreface

Once you understand the design patterns and have had an “Aha!” experience with them,
you won’t ever think about . . . design in the same way.1

The inspiration for writing this book came from my own “Aha!” moment. Initially I dismissed mashups as a hack best suited to consumer-focused sites that did things like combine craigslist and Google Maps2 or merge local event calendars. I couldn’t see how any public information on the Internet could benefit my employer. I laughed behind the backs of vendors who tried to demonstrate the promise of the technology based on examples that involved checking the weather or searching for a used car.

I had my epiphany when I was meeting with some frustrated business associates one afternoon. They were performing a series of tedious actions that seemed ripe for automation except for one problem: They had to repeatedly consult an outside vendor’s Web site at each step of the process. The Web site didn’t expose an application programming interface (API), so they mistakenly thought that some degree of human interaction was inevitable. After all, Web pages are just for people, right? It suddenly dawned on me that the mashup tools I had dismissed could get around this problem. I could automatically extract the data I needed from the site and write a small application to perform the rest of the process. In essence, I could create an API where none existed before. Once the “people requirement” was removed, the entire procedure was easily offloaded to a computer.

Traditional approaches to application reuse require that a system or its constituent parts be designed for inclusion in new solutions. While an admirable goal, one limitation of this architecture is that it’s implemented “by developers, for developers.” Mashups explode this narrow view of reuse. Mashups can certainly leverage open systems, but they can also reach deep into applications where no API currently exists to grab data or automate processing. In addition, many mashup tools leverage the latest advances in user interface design to make the entire solution-building process accessible to the average user.

The goal of this book is to demonstrate situations where mashups can be used to solve what appear to be intractable problems outside the realm of traditional solutions. Once you have a breakthrough moment similar to mine, you’ll never look at application development the same way again. In learning about how mashups foster efficiencies and inspire creativity, you may discover a path that will lead your business toward profitable new areas.

There are many meanings of “pattern” in the world of software engineering. In the classic text Design Patterns, the authors include the following disclaimer:

Point of view affects one’s interpretation of what is and isn’t a pattern. One person’s pattern can be another person’s primitive building block.

In this book I am using a less rigorous interpretation of the term “pattern.” I hope this will not prevent readers from exploring the text on mere ideological grounds. My goal is not to provide an academic treatise on the subject, but rather to provide a cookbook of ideas that will help you unlock the hidden potential in the resources that surround you. Enterprise mashups present exciting new opportunities for organizations to mine wikis, blogs, and other document-centric Web content as first-class data. Firms can combine these resources with others inside the corporation, such as databases and Web Services, in a near-endless series of permutations.

Not all of the patterns presented here will fit perfectly within your company—but ideally they will trigger fresh ways of thinking that will lead you to build exciting new solutions.

Who Should Read This Book

An understanding of mashup technology can spark new ideas for addressing old or dismissed problems. This book caters to the broad community of skills and abilities found within the next generation enterprise.

Software Developers

Each pattern is presented within a standard template that provides a technical summary (diagram, problem statement, and solution) of that pattern. This summary will resonate most with developers, who are often accustomed to dealing with abstractions as part of their normal course of work. Mashups can be a key tool for personnel in an organization’s Information Technology (IT) department to address the backlog of unmet or unfulfilled end-user requirements.

Content Creators

Content creators should also familiarize themselves with the examples provided for each pattern, as these sections will provide insight into how their information is being consumed. In the era of mashups, anything placed on the Web is fair game not only for people, but also for software agents, automated bots, Web scrapers, and crawlers.

Business Users and Executive Management

Mashups are sometimes viewed as part of an egalitarian new world where information is freely shared. While that may be the case, they can also be used to flat-out make money. The examples given for each pattern provide the layperson with details about how mashups help a business be more productive and competitive.

The discussion of security in Chapter 10 is applicable to everyone. The rampant adoption of any technology without appropriate controls for managing its use is a recipe for failure. Almost every day a new headline cries out about how an employee accidentally mishandled or abused data. This behavior can lead to loss of trust or outright litigation between a company and its customers. Unless we want mashups to become the latest high-profile failure, we must work to supervise them correctly.

The organization of this book is designed to encourage browsing and self-discovery. I encourage you to skip around and explore the numerous feats of which mashups are capable. There is no “right way” to use them. When you apply a mashup to solve a particularly thorny problem, you’ve succeeded!

How Patterns Are Presented

Each pattern is presented by means of a standard template:

  • Name. The name is the most succinct summary of what the pattern actually does. Once a pattern enters common usage, it’s typically referenced in conversation only by its name.
  • Icon. To facilitate use of the patterns in architectural diagrams, each one has been assigned a specific icon.
  • Diagram. The diagram provides a visual representation of how the pattern is constructed. The diagrams are especially useful to demonstrate how multiple patterns interact (e.g., API Enabler and Competitive Analysis).
  • Core Activities. Every mashup is associated with a set of highly generic capabilities (data extraction, transformation, and so on). Not all mashup products necessarily implement all of these features. Rather than redundantly list each requirement with each pattern, they have been abstracted into a set of core activities. When you attempt to use a pattern, you should verify that your selected toolset supports the functionality of the requisite core activities.
  • Problem. This section explains the difficulty or opportunity that the pattern seeks to address; it offers a short summary that explains the value proposition of the pattern.
  • Solution. This part addresses the problem identified earlier to show how mashups can be used to create a solution. Success in implementing a solution may depend on the toolset you are using, the sites participating in the mashup, and the pattern’s fragility rating.
  • Related Patterns. The context in which a pattern is applied can have a major impact on its description. This section references the use of similar mashup features in other patterns. If the pattern described is a composite of other patterns with new functionality, the leveraged patterns are listed here as well.
  • Fragility. Mashups may contain elements of instability based on the resources they leverage. The degree of this fragility varies with each implementation. In essence, mashups allow some fragility for the benefit of agility. This section assigns a general risk rating to a particular pattern and provides a brief explanation of how it was derived.
  • Examples. These short vignettes illustrate uses of the particular pattern in an enterprise context.
About the Pattern Examples

The most persuasive component of a pattern’s detail is an example. To drive home the benefits regardless of the reader’s background, this book typically presents more than one example of each pattern’s use that spans different industries. It’s my hope that as you peruse these examples some will resonate as potential opportunities within your organization. In addition, these sections should serve to expand your knowledge regarding the flexibility and capabilities of enterprise mashups.

In a divergence from some patterns books, Mashup Patterns does not supplement the formal definitions with sample code. At this early stage of evolution, no standard libraries or toolkits have been developed for mashups, and the capabilities of off-the-shelf products vary greatly. In place of code, examples are provided based on Web sites, applications, and other resources. Where an example relies on interactions with external data sources and third-party applications (e.g., API Enabler, Field Agent, Competitive Analysis, Usability Enhancer), sample products were constructed from scratch. Any resemblance to actual software or Web sites is purely coincidental.

The case studies presented in the book’s appendix illustrate how leading organizations have used specific products to implement the patterns described in the text. This material should neither be interpreted as an endorsement of any particular product nor used as a substitute for conducting your own due-diligence analysis. Rather, the case studies are intended to underscore the practical nature of the technology and to encourage you to explore mashups further.

Mashups aren’t just about Web sites, of course. Because the Internet is probably the richest source of raw material for their construction, however, I inevitably used it as a primary ingredient in many of the examples. Please excuse these momentary demonstrations of bias while I try and drive a larger point home. Don’t forget that many mashup products support sources ranging from Web Services,

What You Will Gain from Reading This Book

The information contained in this book will help you unleash the potential of enterprise mashups within your firm. The following topics are covered:

  • An overview of Web 2.0 and Enterprise 2.0 and an exploration of how mashups fit into this framework
  • Familiarity with the technology that makes mashups work
  • Perspectives on how mashups coexist with other IT tools and initiatives
  • A collection of patterns and practical examples that both explain and demonstrate the benefits of mashups in an enterprise context
Other Resources

This book has a companion Web site, http://mashuppatterns.com, where you can learn about new mashup patterns and contribute your own ideas and comments. You may contact the author at mike@mashuppatterns.com. The site also contains corrections to any errata discovered in this text. Please stop by and share your experiences with enterprise mashups!

1Gamma, Erich, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns. Addison-Wesley Professional, 1994.

2http://Housingmap.com, created by Paul Rademacher, combined the craigslist.com and Google Maps Web sites in what is considered the Web’s first mashup.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

Preface xiii

Acknowledgments xix

About the Author xxiii

About the Cover Picture xxv

Chapter 1: Understanding Mashup Patterns 1

Introduction 1

Web 2.0 2

Enterprise 2.0 4

The Birth of Mashups 7

Types of Mashups 9

Acquiring Data from the Web 12

The Long Tail 18

Meeting User Demand 19

Mashups and the Corporate Portal 20

Mashups and Service-Oriented Architecture 22

Mashups and EAI/EII 24

Mashups and Software as a Service 25

Mashups and the User 27

A Patterns Primer 28

The Fragility Factor 29

The Future of Mashups 31

Chapter 2: Mashup Patterns Terminology 33

Introduction 33

Semantics 33

Structure 36

Where’s the UML? 38

Summary 39

Chapter 3: Core Activities 41

Introduction 41

Support for Open Standards 42

Data Extraction 44

Data Entry 48

Data Visualization 51

Scheduling and Surveillance 53

Clipping 54

Transformation and Enrichment 56

Action 59

Publication and Promotion 62

Assembly Canvas 63

Summary 65

Chapter 4: Harvest Patterns 67

Introduction 67

Alerter 70

API Enabler 76

Competitive Analysis 83

Infinite Monkeys 90

Leading Indicator 96

Reality Mining 102

Reputation Management 109

Time Series 115

Chapter 5: Enhance Patterns 121

Introduction 121

Accessibility 123

Feed Factory 129

Field Medic 135

Folksonomy Enabler 141

Fragility Reducer 146

Smart Suggestions 151

Super Search 158

Translation 165

Usability Enhancer 171

Workflow 180

Chapter 6: Assemble Patterns 189

Introduction 189

Communication and Collaboration 191

Content Aggregation 199

Content Integration 207

Distributed Drill-Down 213

Emergency Response 218

Filter 226

Location Mapping 233

Splinter 239

Chapter 7: Manage Patterns 245

Introduction 245

Content Migration 248

Dashboard 255

Portal Enabler 262

Quick Proof-of-Concept 269

Single Sign-on 274

Widget Enabler 281

Chapter 8: Testing Patterns 289

Introduction 289

Audit 292

Load Testing 299

Regression Testing 305

Chapter 9: Anti-patterns 311

Introduction 311

Skinny Window 313

Drinking Seawater 315

Sticky Fingers 317

Shadow Integration 321

Dirty Laundry 324

Open Kimono 327

One-Hit Wonder 329

Malicious Hitchhiker 332

Chapter 10: Final Thoughts 337

Introduction 337

Mashing Up Binary Types 338

Security 340

Conclusion 344

Appendix: Corporate Case Studies 347

Introduction 347

Afni 349

Associated Press 353

Audi 356

Defense Intelligence Agency 358

MICROS Systems 361

Philadelphia Stock Exchange 364

Simply Hired 367

Thomson Financial 370

Thomson Reuters 374

A European Credit Union 377

A Financial Publisher 379

A Government Aerospace Contractor 382

An Investment Bank 385

A Telecommunications Provider 389

Index 393

Read More Show Less

Preface

PrefacePreface

Once you understand the design patterns and have had an “Aha!” experience with them,
you won’t ever think about . . . design in the same way.1

The inspiration for writing this book came from my own “Aha!” moment. Initially I dismissed mashups as a hack best suited to consumer-focused sites that did things like combine craigslist and Google Maps2 or merge local event calendars. I couldn’t see how any public information on the Internet could benefit my employer. I laughed behind the backs of vendors who tried to demonstrate the promise of the technology based on examples that involved checking the weather or searching for a used car.

I had my epiphany when I was meeting with some frustrated business associates one afternoon. They were performing a series of tedious actions that seemed ripe for automation except for one problem: They had to repeatedly consult an outside vendor’s Web site at each step of the process. The Web site didn’t expose an application programming interface (API), so they mistakenly thought that some degree of human interaction was inevitable. After all, Web pages are just for people, right? It suddenly dawned on me that the mashup tools I had dismissed could get around this problem. I could automatically extract the data I needed from the site and write a small application to perform the rest of the process. In essence, I could create an API where none existed before. Once the “people requirement” was removed, the entire procedure was easily offloaded to a computer.

Traditional approaches to application reuse require that a systemor its constituent parts be designed for inclusion in new solutions. While an admirable goal, one limitation of this architecture is that it’s implemented “by developers, for developers.” Mashups explode this narrow view of reuse. Mashups can certainly leverage open systems, but they can also reach deep into applications where no API currently exists to grab data or automate processing. In addition, many mashup tools leverage the latest advances in user interface design to make the entire solution-building process accessible to the average user.

The goal of this book is to demonstrate situations where mashups can be used to solve what appear to be intractable problems outside the realm of traditional solutions. Once you have a breakthrough moment similar to mine, you’ll never look at application development the same way again. In learning about how mashups foster efficiencies and inspire creativity, you may discover a path that will lead your business toward profitable new areas.

There are many meanings of “pattern” in the world of software engineering. In the classic text Design Patterns, the authors include the following disclaimer:

Point of view affects one’s interpretation of what is and isn’t a pattern. One person’s pattern can be another person’s primitive building block.

In this book I am using a less rigorous interpretation of the term “pattern.” I hope this will not prevent readers from exploring the text on mere ideological grounds. My goal is not to provide an academic treatise on the subject, but rather to provide a cookbook of ideas that will help you unlock the hidden potential in the resources that surround you. Enterprise mashups present exciting new opportunities for organizations to mine wikis, blogs, and other document-centric Web content as first-class data. Firms can combine these resources with others inside the corporation, such as databases and Web Services, in a near-endless series of permutations.

Not all of the patterns presented here will fit perfectly within your company—but ideally they will trigger fresh ways of thinking that will lead you to build exciting new solutions.

Who Should Read This Book

An understanding of mashup technology can spark new ideas for addressing old or dismissed problems. This book caters to the broad community of skills and abilities found within the next generation enterprise.

Software Developers

Each pattern is presented within a standard template that provides a technical summary (diagram, problem statement, and solution) of that pattern. This summary will resonate most with developers, who are often accustomed to dealing with abstractions as part of their normal course of work. Mashups can be a key tool for personnel in an organization’s Information Technology (IT) department to address the backlog of unmet or unfulfilled end-user requirements.

Content Creators

Content creators should also familiarize themselves with the examples provided for each pattern, as these sections will provide insight into how their information is being consumed. In the era of mashups, anything placed on the Web is fair game not only for people, but also for software agents, automated bots, Web scrapers, and crawlers.

Business Users and Executive Management

Mashups are sometimes viewed as part of an egalitarian new world where information is freely shared. While that may be the case, they can also be used to flat-out make money. The examples given for each pattern provide the layperson with details about how mashups help a business be more productive and competitive.

The discussion of security in Chapter 10 is applicable to everyone. The rampant adoption of any technology without appropriate controls for managing its use is a recipe for failure. Almost every day a new headline cries out about how an employee accidentally mishandled or abused data. This behavior can lead to loss of trust or outright litigation between a company and its customers. Unless we want mashups to become the latest high-profile failure, we must work to supervise them correctly.

The organization of this book is designed to encourage browsing and self-discovery. I encourage you to skip around and explore the numerous feats of which mashups are capable. There is no “right way” to use them. When you apply a mashup to solve a particularly thorny problem, you’ve succeeded!

How Patterns Are Presented

Each pattern is presented by means of a standard template:


  • Name. The name is the most succinct summary of what the pattern actually does. Once a pattern enters common usage, it’s typically referenced in conversation only by its name.

  • Icon. To facilitate use of the patterns in architectural diagrams, each one has been assigned a specific icon.

  • Diagram. The diagram provides a visual representation of how the pattern is constructed. The diagrams are especially useful to demonstrate how multiple patterns interact (e.g., API Enabler and Competitive Analysis).

  • Core Activities. Every mashup is associated with a set of highly generic capabilities (data extraction, transformation, and so on). Not all mashup products necessarily implement all of these features. Rather than redundantly list each requirement with each pattern, they have been abstracted into a set of core activities. When you attempt to use a pattern, you should verify that your selected toolset supports the functionality of the requisite core activities.

  • Problem. This section explains the difficulty or opportunity that the pattern seeks to address; it offers a short summary that explains the value proposition of the pattern.

  • Solution. This part addresses the problem identified earlier to show how mashups can be used to create a solution. Success in implementing a solution may depend on the toolset you are using, the sites participating in the mashup, and the pattern’s fragility rating.

  • Related Patterns. The context in which a pattern is applied can have a major impact on its description. This section references the use of similar mashup features in other patterns. If the pattern described is a composite of other patterns with new functionality, the leveraged patterns are listed here as well.

  • Fragility. Mashups may contain elements of instability based on the resources they leverage. The degree of this fragility varies with each implementation. In essence, mashups allow some fragility for the benefit of agility. This section assigns a general risk rating to a particular pattern and provides a brief explanation of how it was derived.

  • Examples. These short vignettes illustrate uses of the particular pattern in an enterprise context.
About the Pattern Examples

The most persuasive component of a pattern’s detail is an example. To drive home the benefits regardless of the reader’s background, this book typically presents more than one example of each pattern’s use that spans different industries. It’s my hope that as you peruse these examples some will resonate as potential opportunities within your organization. In addition, these sections should serve to expand your knowledge regarding the flexibility and capabilities of enterprise mashups.

In a divergence from some patterns books, Mashup Patterns does not supplement the formal definitions with sample code. At this early stage of evolution, no standard libraries or toolkits have been developed for mashups, and the capabilities of off-the-shelf products vary greatly. In place of code, examples are provided based on Web sites, applications, and other resources. Where an example relies on interactions with external data sources and third-party applications (e.g., API Enabler, Field Agent, Competitive Analysis, Usability Enhancer), sample products were constructed from scratch. Any resemblance to actual software or Web sites is purely coincidental.

The case studies presented in the book’s appendix illustrate how leading organizations have used specific products to implement the patterns described in the text. This material should neither be interpreted as an endorsement of any particular product nor used as a substitute for conducting your own due-diligence analysis. Rather, the case studies are intended to underscore the practical nature of the technology and to encourage you to explore mashups further.

Mashups aren’t just about Web sites, of course. Because the Internet is probably the richest source of raw material for their construction, however, I inevitably used it as a primary ingredient in many of the examples. Please excuse these momentary demonstrations of bias while I try and drive a larger point home. Don’t forget that many mashup products support sources ranging from Web Services, XML feeds, and databases to email and binary formats (e.g., Excel and PDF).

What You Will Gain from Reading This Book

The information contained in this book will help you unleash the potential of enterprise mashups within your firm. The following topics are covered:


  • An overview of Web 2.0 and Enterprise 2.0 and an exploration of how mashups fit into this framework

  • Familiarity with the technology that makes mashups work

  • Perspectives on how mashups coexist with other IT tools and initiatives

  • A collection of patterns and practical examples that both explain and demonstrate the benefits of mashups in an enterprise context
Other Resources

This book has a companion Web site, http://mashuppatterns.com, where you can learn about new mashup patterns and contribute your own ideas and comments. You may contact the author at mike@mashuppatterns.com. The site also contains corrections to any errata discovered in this text. Please stop by and share your experiences with enterprise mashups!

1Gamma, Erich, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns. Addison-Wesley Professional, 1994.

2http://Housingmap.com, created by Paul Rademacher, combined the craigslist.com and Google Maps Web sites in what is considered the Web’s first mashup.


© Copyright Pearson Education. All rights reserved.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted April 21, 2009

    more from this reviewer

    Bubba Tested & Bubba Approved

    A must read for any technologist who keeps an eye on the horizon, we can easily see Mashups playing a significant role in the definition of Web 3.0, and particularly for the Enterprise looking to innovate on a budget - I highly recommend this book.

    Not only will the patterns discussed encourage you to think more clearly about Mashup implementations in particular, they will assist in the considerations of aggregate data in general, answering questions with regards to the gathering and manipulation of said data. The power of a pattern can be found in its transcendence of a specific technology, insights into how one might consider information manipulation are one of the significant benefits of reading this book.

    This work equally transcends roles. Historically, pattern documentation has lent itself to developers and testers; however, anyone in or associated with IT will profit from the knowledge found on these pages, providing a common language for all. Once one clearly sees that they can obtain and manipulate data at will, the resulting brainstorm is a phenomena you will want to be well prepared for.

    Place this book on your must read list, if you manage individuals that are expected to innovate, place it on their must read list too.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)