本书演示可以使用mashup来解决在传统解决方案的界限之内难以处理的问题。本书包括以下主题:对Web 2.0和Enterprise 2.0的综述,mashup如何与这个框架相适应,能让mashup工作的技术,对mashup与其他IT工具和计划共存的方法的看法,一组模式和实际示例,在企业环境中mashup带来的好处。
Mashup模式
(美)Michael Ogrinz 著
陈宗斌 等译
“考虑mashup、SOA和将来企业级开发的管理者和开发人员,都不能错过本书。”
—— John Musser,Programmable Web.com的创始人
“本书作者广泛观察了mashup,关注它们在信息驱动的现代企业中进行数据收割与重新目的化时所扮演的成长性(而且有革命的潜能性)角色。不要在这里找代码或编程技巧,因为你找不到。你将欣喜地发现,会找到隐藏在业务和周围使用数据Web中的示例、聪明的主意和新的方法。”
—— Rob Miller,麻省理工学院计算机科学副教授
在本书中,作者将软件开发模式的概念应用在了mashup上,系统地揭示了构建企业mashup的正确方法,并且提供了有用的见解来帮助企业避免那些会导致mashup故障的错误。本书提供了mashup模式及其在开发生命周期中每个阶段的实现指南,并且给出了开发人员、架构师和管理人员将要面对的关键问题。本书最后提供了12个完整的案例,演示如何在实际企业环境中使用mashup模式。
本书内容包括
理解mashup、门户、SOA、EAI/EII和SaaS之间的关系。
探究核心mashup活动,如数据管理、监视、剪裁、转换、丰富、出版和宣传。
优化安全性、隐私、可访问性、有用性和性能。
管理mashup开发,包括从计划和管理方法到集成、测试和部署的全过程。
通过使用搜索、语言翻译、工作流支持和其他改进来增强基础的mashup。
执行有效的负载和回归测试。
避免造成企业mashup故障的“反模式”。
作者简介
Michael Ogrinz 是世界上最大的金融机构的主任架构师。Michael通过他在用户界面和可用性、wiki和博客以及最近在mashup方面所做的工作,增强了其公司的计算环境。Michael以前和别人合伙创办了localendar.com,它已经为超过400 000所学校、教堂和俱乐部提供简单的在线日程表服务。
一旦你理解设计模式并且对它们有了“原来如此!”的体验,
你将不再会去考虑……用相同的方式设计Gamma,Erich,Richard Helm,Ralph Johnson,and John MVlissidesDesign PatternsAddisonWesley Professional,1944 。
编写本书的灵感来自我自己的“原来如此!”时刻。我最初以为mashup是一种黑客技术,适合于关注消费者的站点,也就能做诸如把craigslist和Google MapsHousingmapcom,由Paul Rademacher创建。它组合了craigslistcom和Google Maps Web站点,被认为是Web的第一个mashup。 组合在一起或者合并本地事件日历那样的事情。我不认为Internet上的公共信息居然能够帮助我的雇主。我嘲笑那些试图使用涉及检查天气预报或搜索二手车的示例来表明该技术大有前途的厂商。
当某个下午我和几位沮丧的业务伙伴会面时我突然有了顿悟。他们那时正在执行一系列乏味的动作,这些动作看起来似乎可以自动完成,但有一个问题:在这个过程的每个步骤中他们不得不重复访问一个外部厂商的Web站点。这个Web站点对外不提供应用编程接口(API),所以他们错误地认为,某种程度的人类交互不可避免。毕竟,Web页面只是为人而存在的,对吧?突然我犹如醍醐灌顶,意识到我所抛弃的mashup工具可以解决这个问题。我可以自动地从此站点提取我想要的数据并且编写一个小应用程序来执行余下的过程。本质上,我可以创建一套以前本不存在的API。一旦不再需要“对人类的需求”,整个过程就可以很容易地抛给计算机来完成了。
传统的应用程序重用方法要求将系统或其组成部分设计成能够为新解决方案所包含。虽然目标令人钦佩,但必须“由开发人员来实现,为开发人员而实现”是这种架构的限制之一。mashup破除了这种眼光短浅的重用思想。mashup当然可以利用开放的系统,但它们也可以深入抵达那些当前没有API存在的应用程序来抓取数据或实现过程自动化。另外,许多mashup工具利用用户界面设计的最新进展来让普通用户可以访问整个解决方案的构建过程。
本书的目标在于演示可以使用mashup来解决在传统解决方案的界限之内难以处理的问题的情况。一旦读者和我一样有那种突破的时刻来临,就再也不会用相同的方法来看待应用程序开发了。在学习mashup如何带来效率并激励创新时,读者会发现一条会将业务带往可盈利的新领域的道路。
在软件工程的世界中,“模式”这个词有许多意义。在《Design Pattern》这本经典书籍里,作者宣称:
观点影响一个人对模式是什么或者不是什么的解释。一个人的模式可能会是另一个人的基本构建单位。
本书中我使用不那么严格的对术语“模式”的解释。我希望这不会妨碍读者在纯粹意识形态的基础上探索本书内容。我的目标不是提供一本主题学术上的协议,而是提供一本思想的菜谱,帮助读者打开周围资源中隐藏的潜能。企业mashup为机构提供了一个激动人心的新机会,从wiki、博客和其他以文档为中心的Web内容中挖掘出一流的数据。公司可以在企业内以几乎没有穷尽的排列方式将这些资源与其他资源组合在一起,如数据库和Web Service。
并非所有在这里呈现的模式都可完美地适合于读者的公司,但理想地,它们会触发新的思维方式,引导读者构建激动人心的新解决方案。
本书的读者
对mashup技术的理解可以在解决老的、被放弃的问题时迸出的思想的火花。本书适用于下一代企业中范围广泛的具备不同技能与能力的人群。
软件开发人员
每个模式都与提供技术概述(图表、问题陈述和解决方案)的标准模板一起呈现。概述将与大多数开发人员形成共鸣,他们通常习惯于把抽象当成正常工作过程的一部分。mashup可以成为机构的信息技术(Information Technology,IT)部门工作人员的关键工具,用于解决那些堆积的未解决的最终用户需求。
内容创建者
内容创建者也应该让自己熟悉每个模式中提供的示例,因为这些内容将反映其信息的消费方法。在mashup的时代,任何放置在Web上的东西都是可猎取对象,这不仅对人们来说,对软件代理、自动化机器人(bot)、Web搜刮器和爬虫也是如此。
业务用户和执行经理
mashup有时候被认为是平等主义新世界的一部分,在这个新世界中自由共享信息。虽然也许如此,但它们也可用于最快速地赚钱。每个模式中给出的示例为外行人提供了使用mashup帮助企业更具生产力和竞争力的方法。
第10章所讨论的安全问题对所有人都适用。任何对技术疯狂采用而不对其使用适当管理控制的行为肯定要失败。每一天我们都在新闻中看到关于雇员无意地错误处理或滥用数据的报道。这种行为可能导致信任的失去或在公司及其顾客之间引发法律诉讼问题。除非我们想让mashup变成最新的高调失败的技术,否则我们就必须对它们进行正确监管。
本书的组织旨在鼓励读者浏览与自我探索。我鼓励读者随跳随看,探索mashup所能完成的大量成就。它们的用法没有“正确方法”。在应用mashup解决了一个棘手问题时,你就成功了!
模式的呈现方式
每个模式以标准的模板呈现:
名称。名称是对模式实际能做什么的最简洁的概述。当讨论模式的常见用法时,通常在对话中只以它的名称来提及。
图标。为了便于在架构图中使用模式,每个模式都指定了一个特定的图标。
图表。图表提供模式构造的视觉呈现。在说明多个模式的交互(如API使能器和竞争分析)时图表尤其有用。
核心活动。每个mashup都和一组高度概括的功能(数据提取、转换等)相关联。并非所有mashup产品都必须实现所有这些功能。为了避免重复列出每个模式的每个需求,我们将它们抽象成一组核心活动。在尝试使用一个模式时,读者应该确认所选的工具集支持所需核心活动的功能。
问题。这个部分解释该模式要解决的难点或机会;它提供一段简单的概述解释模式的价值主张。
解决方案。这个部分解决先前定义的问题,展示使用mashup创建解决方案的方法。解决方案的成功实现要依赖所用的工具集、参与mashup的站点以及模式的脆弱程度。
相关模式。模式所应用的上下文对其描述会有主要的影响。这个部分参考其他模式中相似mashup功能的使用。如果所描述的模式是由其他模式组合而成的新功能,那么所利用的模式也会在这里列出。
脆弱程度。根据mashup所用的资源不同,它会包含一些不稳定因素。脆弱的程度随着各个实现的不同而不同。本质上,mashup允许因为敏捷性所带来的好处而存在一定的脆弱程度。本部分为特定的模式指定一个整体的风险评分并对此得分提供简要的解释。
示例。这些短小的简述展示了特定模式在企业环境中的使用。
关于模式示例
模式的细节内容中最有说服力的组成部分就是示例。为了让不同背景的读者都能获益,本书通常为每个模式提供多个示例,这些示例跨越不同的行业。我希望在读者细读这些示例的时候会对其中的一些有所共鸣,并将其作为自己企业中的潜在机会。另外,这些内容可作为扩展读者知识面(关于企业mashup的灵活性和功能)的材料。
与其他模式书籍不同,本书不提供示例代码作为对正式定义的补充。mashup在目前还处于演化过程中的早期,没有开发出标准库或工具集,而上市产品的功能相差很大。作为代码的替代,本书提供了基于Web站点、应用程序和其他资源的示例。对于需要与外界数据来源和第三方应用程序进行交互的示例(如API使能器、现场代理、竞争分析、可用性增强器),我们从头构造了示例产品。如与实际软件或Web站点雷同,纯属巧合。
本书附录中的案例研究给出了在业内领先的机构使用特定产品来实现本书所描述的模式的方法。读者不可认为这些材料是对某种产品的认可,也不可用它们来替代自己应该做的严格评估分析。这些案例研究旨在强调技术的实践本质并且鼓励读者进一步探索mashup。
当然,mashup不仅仅只跟Web站点有关。由于Internet本身的构造方式,它大概是具备最丰富原始材料的地方,所以我无法避免地将它作为许多示例的主要原料。请原谅我为了强调清楚一个要点而一时给出一些有偏向的示例。请不要忘记,许多mashup产品支持的来源广泛,从Web Service、XML源和数据库到电子邮件和二进制格式(如Excel和PDF)全都具备。
阅读本书能获得什么
本书所包含的信息将帮助读者在公司内将企业mashup的潜力释放出来。本书包括以下主题:
对Web 20和Enterprise 20的综述,并且讲解了mashup如何与这些框架相适应。
熟悉能让mashup工作的技术。
对mashup与其他IT工具和计划共存的方法的看法。
一组模式和实际案例,既讲解又演示了在企业环境中mashup带来的好处。
其他资源
本书有一个配套站点:http://mashuppatternscom,读者可以在这里学习新的mashup模式并贡献自己的思想和评论。读者可通过mike@mashuppatternscom联系作者。这个站点也包含本书的勘误表。请过来驻足并分享你的企业mashup经验!
致谢
编写本书的道路走得曲折而有趣。我必须承认,当我在与企业内实现mashup的想法不期而遇时,我相当怀疑。我第一次了解这个主题是与厂商销售代表交流的结果。幸运的是,我在一个鼓励开放、交换新思想和解决方案的工作环境中。我渐渐看到了这种新典范的新展望,并且相当欣赏它既能给我的工作伙伴又能给不同行业中与我同等层次的人提供帮助的能力。当我在一些研讨会上发言并与与会者交流之后,我觉得mashup的价值显然需要让更多的人知道。我要感谢Pearson公司的主编Mark Taub给了我这么一个机会。
在我的写作过程中,我得到了许多人的支持,我必须公开对他们表示感谢。
首先,我要感谢我在Global Markets Architecture团队中的伙伴。这个团队的领导者BJFesq,他和我当朋友的时间要比当同事的时间长得多。除了为我创建的首批企业mashup之一提供建议之外,BJ在我需要不断调整其他事情的优先级以便能完成这本书的时候给了我许多鼓励和极为灵活的建议。Rob Guild,另外一位同龄人和朋友,优雅地阅读了我放在他面前的每一行字并提出了许多建议。如果没有Rob的反馈(以及偶尔的YouTube逗乐放松),我可以肯定这里的许多模式达不到我期待的那种效果。他的一些“战争故事”灵感直接来自许多示例。我也必须感谢我的其他团队伙伴,感谢他们的直接支持以及在我把mashup当成当务之急时而忽略了其他事情时帮我收拾烂摊子,尤其要感谢的是Zo Obradovic和Sean Cody。
由于是第一次写作,所以我对写作过程有许多(哦,真是多)疑问。我必须把功劳归给我在Pearson公司的编辑Trina MacDonald,为她的耐心忍受我有时候似乎是没完没了的疑问。我还记得我们第一次交谈,那时候我对mashup社区所需要的东西颇为不满,而Trina只是简单地回答道:“那么,你准备把这写下来吗?”
iOne Creative设计公司的Cire Gearhart是一位出色的人物,能与他共事这么多年真是一种满足。我们都有一个不寻常的想法,认为强大的应用程序应该容易使用(并且很有趣)。这种态度反映在我对mashup的追求中,但对于Cire来说这是为他公司的顾客重新构想整个用户体验的一部分。Cire把他个人的大部分时间捐赠了出来,提供模式示例中的屏幕渲染效果。鉴于这些图片中有许多都缩小了比例,要快速做出东西来不是难事。而他坚持提供全尺寸的模型,这是他热心于细节的结果。Cire也提供了本书最初的封面设计,我认为他的设计很酷。
纽约CTO俱乐部的成员们对我来说特别重要。首先,经常能够与这么多顶尖高手交谈本身就是种优势。Mark Mathias是我的成员资格保证人,他有一种超自然的能力,能够看到一个人需要什么并慷慨地帮助他们获得所需的。Mark邀请我加入俱乐部只是因为“mashup”很巧合地成为了几乎所有讨论中经常涉及的话题。我也想特别提一下另一位成员:John Musser。许多人都认得John是programmablewebcom的创始人。John邀请我在programmableweb开博客编写与企业mashup有关的主题,我也极为高兴能够以这个论坛为平台来扩展本书所开始的讨论。
Stewart Mader,Wikipatterns一书的作者,在我编写本书时为了提供了wikipatternscom上的空间。使用wiki是与技术评论家和提供案例研究的厂商交流的自然方法。谢谢你,Stewart,减轻了我的忧虑,使我无须自己设置并管理基础设施。
我要感谢我的技术评论家Anurg Prasad、Sona Srinivasan和Kevin P Davis在写作过程中给我的深思熟虑的建议和反馈。
厂商案例研究几乎和模式本身一样重要。它们所展示出来的切实的成功可进一步激励读者更严肃地看待mashup。就如本书得益于许多人的成果一样,案例研究也利用了无数个人的努力结果。我想在这里感谢几位和我一起愉快合作的人士:
IBM的Emerging Technologies Software Group的John Gerken以及同事Ed Elze、Same Thompson、John Feller和Vladimir Stemkovski。他们挤出在IBM Mashup Center(是倍受尊敬的QEDWiki和Mashup Hub的后续)宝贵的工作时间为我提供这个新平台如何扩展其前代的好处让其深入企业的详细信息。
我感谢JackBe的Chris Warner和John Crupi在Presto案例研究中做出的工作。John在模式社区中是个知名人物,能够与他协作完成这项工作真是我的荣幸。Chris提供了一个新奇的结构用于比较两个不同的案例研究,展示mashup的力量如何比分开不同问题领域的差别更为强大。
来自Kapow Technologies的Stefan Andreasen、Michael Osowski和Pete Melroy——你们在这个过程中给了我很多帮助和鼓励,我无论怎么感激都不为过。除了案例研究之外,我也感谢你们对我的许多想法给出了回应并提供了建议和支持。
我第一次与Connotate公司的Matt Jacobson见面是在一次介绍会之后。我在会议中提及mashup“几乎”是在非开发人员的能力范围内。Matt找了我,因为他认为我低估了当前的工具以及用户的技能水平。我感谢他更正了这两方面的问题。
Rene Bonvanie和他在Serena的伙伴(包括Kevin Parker、Tim Zonca和Kath Wells)一直在领导着一场非常公开的“战役”,为的是改变我们所有人对mashup的看法。在那些有趣(有时候非常滑稽)的广告背后是一些伟大的故事,而我很高兴他们将其中的一些故事在本书中与大家分享。
OpenSpan的Joe McGonnell、Jesse Green和Francis Carden提供了一些与如何使用 mashup将“瘦客户”桌面应用程序和传统的基于Web的资源组合在一起的方法有关的很棒的材料。这是模式大展宏图的新领域,我确信许多公司将来会想探索这个主题。
当然,“产品”只是成功的案例研究的一部分。使用这些工具并与我们分享经验的顾客才是真正的明星。我想谢谢那些允许我们把他们的故事写在这里的公司,尤其是Afni、美联社、奥迪、美国国防部情报局(DIA)、MICROS Systems、Simply Hired和汤姆森路透社。
如果我不感谢那些为本书的付梓给予各种帮助的人致谢,那会是我的失职。他们是:Mark Bolles、Time W Brown、John Cimral、Richard Eliano、Kurt Foeller、Ed Julson、Joe Keller、Amanda Leslie、Robert Lin、Brian Theodore和Phillip Yang。要特别感谢的是Pearson公司的Olivia Basegio、Songlin Qiu和Anna Popick,以及文字编辑Jill Hobbs。
最后,也是最重要的,我想感谢我的家庭。从一个作者的角度我可以说,这本书的创作是一个又长又艰巨的过程,而我能顾及的只能是我周围的情况。深深感谢你们在我不得不在假期、周末或深夜(或者需要你们将孩子们拉到外面几个小时)与世隔绝的时候对我的耐心和理解。我要感谢我的父母Dorothy和Emil,他们在25年前买了一台Sinclair ZX81计算机(更难得的是以零件形式)给我并且支持了我一生对科学和技术的兴趣;还有我的叔叔Fred,他培养了我对书籍的尊敬感以及对阅读的贪婪。还要感谢我的妻子Monica——你的支持不仅让本书成为可能,而且再次让我觉得能做你的丈夫是多么幸运。你的帮助和鼓励让我即使在感觉江郎才尽之时仍旧信心十足。
关于作者
Michael Ogrinz供职于世界上最大的金融机构之一,是这个机构的首席架构师。他的业务重点是识别出现中的技术并将其集成到企业中,以便创建出革新并有竞争力的解决方案。作为一位对Enterprise 20行业多个方面经常发言的人,Michael通过他在用户界面和可用性、wiki和博客以及最近在mashup方面所做的工作,增强了其公司的计算环境。
Michael是localendarcom的合伙创办人。这个经典的“车库启动”演示了“长尾”如何和其他任何东西一样适用于在线日历。自8年前创办以来,这个小网站已经为超过400 000所学校、教堂和俱乐部提供简单的在线日程表服务。
Michael与他的妻子、两个女儿,以及收藏的许多弹子球向量街机和一台没完全完工的B9机器人一起住在美丽的康涅狄格州伊斯顿市郊区。
关于封面图片
模式书籍的共同主题在于,它们以特定原则利用许多先前已有的工作。mashup是相对较新的技术,所以它们缺乏这种悠久的血统。选择封面上的图片有两个理由。
首先,这一堆幸运小甜点代表这个新的典范对我们的生活和工作产生影响的众多可能的实现。每个尚未打开的小甜点代表我们未得到满足的对知晓未来的渴望,只有知晓未来,才能对未来有所准备。
第二,打开的小甜点带有一条“改变正在到来”的信息,这是能够回答我们所有问题并让我们因其广阔的却不带焦点的预言而被震撼的唯一运气。自然地,我们知道改变是不可避免的——尤其在技术王国里的改变,但有时候我们因为恐惧或因为舒适而坚持使用旧的工具和技术。mashup就是改变——这是一个解决方案的构建方法以及构建者的改变。一旦读者接受这种景象,我们就可以开始探索使我们可能利用这些改变来构建有创意的新解决方案的模式。
“Michael Ogrinz广泛观察了mashup,关注它们在信息驱动的现代企业中进行数据收割与重新目的化时所扮演的成长中(而且有革命性的潜能)的角色。不要在这里找代码或编程技巧,因为你找不到。你将找到的是使用已经隐藏在你的业务和周围的Web中的数据的鼓舞人心的示例、聪明的主意和新的方法。”
——Rob Miller,麻省理工学院计算机科学副教授
在本书中,作者将软件开发模式的概念应用在了mashup上,系统地揭示了构建企业mashup的正确方法,并且提供了有用的见解来帮助机构避免那些会导致mashup故障的错误。本书提供了mashup模式及其在开发生命周期中每个阶段的实现指南,并且给出了开发人员、架构师和管理人员将要面对的关键问题。本书最后提供了12个从头到尾的案例研究演示在实际企业环境中工作的mashup模式。
本书内容包括:
理解mashup、门户、SOA、EAI/EII和SaaS之间的关系。
探究核心mashup活动,如数据管理、监视、剪裁、转换、丰富、出版和宣传。
优化安全性、隐私、可访问性、有用性和性能。
管理mashup开发,包括从计划和管理方法到集成、测试和部署的全过程。
通过使用搜索、语言翻译、工作流支持和其他改进来增强基础的mashup。
执行有效的负载和回归测试。
避免造成企业mashup故障的“反模式”。
(美)Michael Ogrinz 著:Michael Ogrinz是世界上最大的金融机构的主任架构师。Michael通过他在用户界面和可用性、wiki和博客以及最近在mashup方面所做的工作,增强了其公司的计算环境。Michael以前和别人合伙创办了localendar.com,它已经为超过400 000所学校、教堂和俱乐部提供简单的在线日程表服务。
陈宗斌 等译:暂无简介
“mashup(混搭)”是一个源自音乐界的名词。把这个词用在计算机界,真是令人叫绝。
mashup是一种新的应用程序类型,这种类型的应用程序将两种或更多资源(资源可以是数据,也可以是其他应用程序或者站点)组合到一个集成的站点中。通过数据提取、数据输入、数据可视化、调度与监视等活动,mashup可以实现前人所想而无法实现的功能。
本书中详细描述的各种mashup模式源于实际的需求,读者可以很容易将这些模式用在自己的企业环境中,或者通过这些模式的启发找到适合自己的mashup方式。
书中有大量示例,附录中还包含了真实的成功案例。通过这些,不仅让读者了解了mashup及其模式,更激发了我们对mashup的未来及其所能带来的利益的无限遐想。阅读此书,有种茅塞顿开之感,它为困扰企业IT部门多年的问题指出了一条明路。
本书不仅适合开发人员阅读,更适合企业IT主管以及所有希望通过了解如何使用mashup为企业创造财富的其他更高阶层的人士阅读。对于想了解利用mashup从数据的海洋中攫取对企业有益信息的方法的人,本书中的示例具有很高的参考价值。
参加本书翻译的人员有:陈宗斌、戴锋、许瑛琪、张景友、易小丽、陈婷、管学岗、王新彦、金惠敏、张海峰、徐晔、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、申川、孙玲、李振国、高德杰、宫飞、侯经国、刘淑妮、张春林。
由于时间紧迫,加之译者水平有限,疏漏在所难免,恳请广大读者批评指正。
译者
译者序
前言
第1章理解mashup(混搭)模式
11介绍
12Web 20
13Enterprise 20
14mashup的诞生
15mashup的类型
16从Web获取数据
17长尾
18满足用户要求
19mashup和企业门户网站
110mashup与面向服务的架构
111mashup与EAI/EII
112mashup与软件服务化
113mashup与用户
114模式入门
115脆弱的因素
116mashup的未来
第2章mashup模式术语
21介绍
22语义
23结构
24UML在哪里
25小结
第3章核心活动
31介绍
32对开放标准的支持
33数据提取
331你是否确切知道你想找的是什么
332你是否要挖掘动态更新的页面
333内容中是否有二进制格式的文件
334能否访问另一种数据视图
34数据输入
35数据可视化
36调度与监视
37剪裁
38转换与充实
39动作
310发布与推广
311组装画布
312小结
第4章收割模式
41介绍
42警告器
421问题
422解决方案
43API使能器
431问题
432解决方案
44竞争分析
441问题
442解决方案
45无数猴子
451问题
452解决方案
46领先指标
461问题
462解决方案
47现实挖掘
471问题
472解决方案
48声誉管理
481问题
482解决方案
49时间序列
491问题
492解决方案
第5章增强模式
51介绍
52可访问性
521问题
522解决方案
53源工厂
531问题
532解决方案
54战地医生
541问题
542解决方案
55大众分类使能器
551问题
552解决方案
56脆弱程度减轻器
561问题
562解决方案
57智能建议
571问题
572解决方案
58超级搜索
581问题
582解决方案
59翻译
591问题
592解决方案
510有用性增强器
5101问题
5102解决方案
511工作流
5111问题
5112解决方案
第6章组装模式
61介绍
62交流与协作
621问题
622解决方案
63内容聚合
631问题
632解决方案
64内容集成
641问题
642解决方案
65分布式向下钻取
651问题
652解决方案
66紧急响应
661问题
662解决方案
67过滤器
671问题
672解决方案
68位置映射
681问题
682解决方案
69碎片
691问题
692解决方案
第7章管理模式
71介绍
72内容移植
721问题
722解决方案
73仪表板
731问题
732解决方案
74门户使能器
741问题
742解决方案
75快速概念验证
751问题
752解决方案
76单点登录
761问题
762解决方案
77构件使能器
771问题
772解决方案
第8章测试模式
81介绍
82审计
821问题
822解决方案
83负载测试
831问题
832解决方案
84回归测试
841问题
842解决方案
第9章反模式
91介绍
92瘦窗口
921问题
922草率的解决方案
923诱人之处
924纠正
93喝海水
931问题
932草率的解决方案
933诱人之处
934纠正
94惯偷
941问题
942草率的解决方案
943诱人之处
944纠正
95影子集成
951问题
952草率的解决方案
953诱人之处
954纠正
96肮脏的洗衣店
961问题
962草率的解决方案
963诱人之处
964纠正
97打开和服
971问题
972草率的解决方案
973诱人之处
974纠正
98昙花一现
981问题
982草率的解决方案
983诱人之处
984纠正
99恶意的搭便车者
991问题
992草率的解决方案
993诱人之处
994纠正
第10章最后总结
101介绍
102混搭二进制类型
103安全性
1031阻止mashup
1032使mashup安全
104结论
附录企业案例研究