级别: 初级 Scott Laningham, Podcast 编辑, IBM developerWorks
2009 年 3 月 02 日 Mashup Camp 4 于 7 月 16 日和 17 日在加利福尼亚州 Mountainview 的计算机历史博物馆举行,IBM 举办了一场业务 mashup 竞赛,邀请参与者利用一个托管的 mashup 组装环境创建出令人兴奋的独特的环境应用程序。比赛的评委包括风险投资商和分析师,最后发了奖。在这里,四位获胜者谈论他们的获胜作品,并讨论 mashup 领域的情况。
developerWorks:您正在收听的是 developerWorks 访谈,我们将访问来自各个领域的权威技术人员和思想领袖,就技术专业人员感兴趣的主题展开对话。我是主持人 Scott Laningham。我今天邀请的嘉宾是最近的 QED Wiki Mashup 竞赛的四位获胜者。QED Wiki 是一种 Mashup 构建器,或者用 IBM alphaWorks Web 站点上的话来说,它是一个对当前的 wiki 技术进行扩展的环境,支持快速开发、内容聚合、结构化数据和强大的可扩展性。对于还不了解 mashup 的人来说,mashup 是一个应用程序、Web 站点或 Web 站点的一部分,它将来自多个来源的内容聚集在一起,创建出某种新型的集成体验。我们的嘉宾是这次竞赛的获胜者。Mark Madsen 来自南俄勒冈。Mark,欢迎参加今天的访谈。
Madsen:早上好。
developerWorks: Yuval Tarsi 来自以色列。您好,Yuval。
Tarsi:您好,Scott。
developerWorks:Kenny Spade 来自北加利福尼亚的奇科。您好,Kenny。
Spade:很好,谢谢您邀请我。
developerWorks:Renat Khasanshyn 来自西马萨诸塞。谢谢,Renat。
Khasanshyn:大家好。
 |
嘉宾:Mark Madsen
Mark Madsen 是 Third Nature 的总裁,这是一家咨询和技术研究公司,主要从事业务智能、数据集成和 web 技术。Mark 是位获奖的架构师和 CTO,众多行业出版物对其工作进行了介绍。他是 Clickstream Data Warehousing 的主要作者,并在 TDWI 讲授数据仓库和开放源码课程。关于他的更多信息或与他取得联系,请访问 ThirdNature.net。
嘉宾:Kenny Spade
Kenny Spade 从 2002 年开始从事专业开发,他最近回到学校(Chico 的 CSU)攻读计算机科学学士学位。最近,他关注的重点从开发转移到演讲和培训,这使他关心的领域扩展到 IT 行业的所有方面。他当前是 UPE(Chico 的 CSU 的计算机科学社区)的 Events Coordinator,还是学校的 Microsoft Student Partner。
嘉宾:Yuval Tarsi
Yuval Tarsi 是 WorkLight 公司的合作创始人和 CTO,他有丰富的创业经验,最近作为 Right 的研发副总裁和以色列站点管理员。他以前是 Trivnet 的研发副总裁和技术副总裁,这是一家电子商务和移动商务解决方案提供商。在此之前,Yuval 参与了 Israeli Intelligence Corps 著名的 “Haman Talpiyot” 项目。他拥有 Tel Aviv 大学的数学和计算机科学理学士学位。
嘉宾:Renat Khasanshyn
Renat Khasanshyn 是数据集成和开放源码业务模型方面的主题专家,他在 Apatar Open Source 负责开发数据集成解决方案。他经常在各种活动中发表演讲。在创建 Apatar 之前,Renat Khasanshyn 是 Altoros Systems 的 CEO(这是一家分布式产品生命周期管理公司),在此之前他是 PriMed 的工程副总裁(这是佛罗里达 Tampa 的一家折扣保险公司)。Renat 于 2001 年从白俄罗斯移居到美国,他在白俄罗斯的 Belarussian State Technical University 学习过工程学和市场营销。Renat 最近被 Mass Technology Leadership Council 提名为 2007 Emerging Executive of The Year Award 的获奖者。请访问他的 blog Naked Open Source。
|
|
developerWorks:现在,我们从您开始吧,Mark。您在比赛中的 Mashup 制作想法是如何产生的?是什么影响了您的想法?
Madsen:哦,我们只是在一次聚会上一起喝啤酒时产生了这个想法,实际上这是 Renat 的主意。所以我不确定 Renat 是如何想到这个主意的,但是我们以他的想法作为基础,然后进行扩展。
developerWorks:请具体谈谈这个想法吧。
Madsen:这个想法是从 salesforce.com 获得销售预测列表,并在这个上下文中提供信息,帮助准备与潜在客户进行第一次会谈。所以它要将各种信息组合起来,包括关于竞争对手的信息、关于竞争对手的新闻和关于本公司的新闻。然后,为了帮助您与客户进行会谈,提供一些环境信息,比如天气以及这个地区的餐馆和高尔夫球场;这样您就能够与客户面对面地会谈,而不只是打电话。所以,您可以获得讨论所需的信息,为会谈做好准备。
developerWorks:我打断一下,既然是 Renat 最初提出了这个想法,那么请 Renat 告诉我们这个想法是如何产生的呢?
Khasanshyn:这个想法来自 IBM 对 mashup 的定义:mashup 必须是面向业务的,必须增加价值。另外,我本人从事销售已经很长时间了,非常了解这个过程中最麻烦的部分。作为小企业的所有者,我认识到 salesforce 可以为我们提供很好的机会,让我们可以使用 QEDWiki 和其他 mashup 工具,包括我公司的产品 Apatar,完成某些有意义的工作。
所以,我首先考虑信息来源。我们有 salesforce.com 或 SugarCRM,可能还有某种商业数据源。我们就以此作为基础。在 Mashup Camp 的第二天,一个星期二的聚会上,我们决定开发一个 mashup 来提高销售人员的效率。在随后的两天中,我们扩展了这个想法,让它包含所有信息源和目标以及不同的数据类型,最终它成了一个 xprompt。Google News 和 Mark 可能讲得更详细。
developerWorks:好的,那么 Mark,开发这个 mashup 花了多长时间?你们有什么体会吗?
Madsen:我估计,我和 Renat 一共用了大约九个小时来组合数据源和构建 mashup UI。
developerWorks:对于已有的其他 mashup 体验,这次开发 mashup 有什么不同呢?或者说,有哪些真正有帮助的体验?
Madsen:与将其作为 Web 应用程序开发比较,这次开发 mashup 确实快多了。
developerWorks:现在,谈谈你们在这次比赛中的 mashup 想法。
Tarsi:在我工作的公司 Worklight,我们主要为金融机构和银行工作,我们构建的 mashup 围绕一个银行用例,实际上是围绕一个抵押重贷款用例,在这个场景中,贷款审查官要审查客户是否符合重贷款的条件。这个 mashup 将一些内部信息组合起来,包括客户抵押的当前状态、他当前的利率以及来自一个互联网利率站点的一些数据,这些数据提供竞争对手可以为同类重贷款提供的条款。然后,它构建一个视图,可以在这个视图中看到关于客户抵押的所有详细信息,还可以看到竞争对手的按照月支付额排序的所有交易。这样就能够很快看出您的重贷款条款对于这位客户是否有吸引力,以及您是否应该与他们联系。这就是我们构建的 mashup 背后的思想。
developerWorks:这很棒,开发它花了多长时间,有什么不同的体验吗?
Tarsi:它比较复杂,因为它更像一个真正的 Web 应用程序。所以,我们花了大约两天时间将所有内容组合在一起。
developerWorks:您以前做过其他 mashup 项目吗?您对 mashup 有什么看法?
Tarsi:是的,我们从事过许多 mashup 项目。我认为,如果使用一般工具构建这些 mashup,比如一般的 Web 应用程序开发工具,那么要花几天时间。如果使用 QEDWiki 这样的开发环境,在建立所有数据源之后,花费的时间就会显著减少。
developerWorks:Kenny,您呢?谈谈您的 mashup 吧。
Spade:我实际上构建了两个 mashup。我提交的是第一个 mashup,它是关于活动的。我为我的大学规划一系列活动,让更多学生能够参与课程作业之外的一些开发活动。所以,我的目标是参与尽可能多的活动并收集信息,当人们问我问题时,我可以尽可能提供可靠的回答。
所以,我需要了解最近的活动,并回答人们关于最近的活动的问题。我所在的 Chico 在 San Francisco 北部大约四个小时的路程,所以我要花许多时间到硅谷参加活动,并与来自南部的人们会面。他们告诉我,San Diego 将举行一次重要的活动。我可没时间到 San Diego 去,这超出了我的活动范围。所以我关心的是离我比较近的一些活动。
最近我找到了 Upcoming,它提供一个活动列表,而且支持搜索等功能,比如寻找加利福尼亚的 AJAX 活动。这个搜索会给出加利福尼亚的所有活动,很多活动发生在 Reno,这些活动对我来说比较近了。所以我希望找到我能够直接前往的所有活动,而忽略在我的范围之外的所有活动。这个 mashup 的用途就是允许用户输入一个主题,根据这个主题搜索 Upcoming 并返回与这个主题相关的所有活动,然后使用 Google Maps 把所有活动放在一个地图上。这样,我一眼就可以看出我所在地区中有哪些活动,附近有哪些活动,是否有我希望参加的活动。
另一个 mashup 与寻宝游戏(geo caching)相关。我爸爸非常喜欢寻宝游戏,我也常常和他一起玩。我们要做的是计划一天的寻宝过程。寻宝游戏基本上是一种搜索财宝位置的游戏。您获得一个 GPS 经纬度坐标,通常在宝盒里面有一本记录寻宝过程的日志,第一个找到它的人有时会得到奖品。
developerWorks:我在一些电视节目中见过这种游戏,但是我没玩过。
Spade:它很有意思。所以我们要做的是寻宝游戏的计划。例如,我们打算星期一出去玩寻宝游戏。我希望知道什么地方的天气比较好。所以我添加了一个天气部件,然后查询我所在地区星期一的天气,如果发现气温将达到华氏 105 度,那么就取消计划,我可不喜欢在 105 度的气温中到处跑。所以再查询一下 Mount Shasta 的天气,那里并不太远。Mount Shasta 只有 80 度。我们就去 Mount Shasta 吧。那里不太远,而且天气更好。这就是我构建的两个 mashup。
developerWorks:非常酷。Renat,您和 Mark 还开发过其他 mashup 吗?
Khasanshyn:我用 IBM QEDWiki 构建过另一个 mashup,它从 salesforce 收集信息,包括潜在顾客的名称、客户的名称、他的历史和电话号码,我还使用了 StrikeIron 和 SMS Widget。这个 mashup 的用途是,让用户使用 salesforce.com 通过短信服务向老客户发送信息,提醒他们下周再来商店购物。它的总体思想是,这个 SMS 营销活动非常个性化,与一周前举办的直接邮件营销活动相配合。
所以,这个 mashup 的作用是,让 salesforce.com 用户能够从 IBM QED Wiki 用户界面使用 StrikeIron 和 SMS Widget 发送 SMS 邮件。还使用 Apatar 数据集成将来自 salesforce 的数据聚合在一起。
developerWorks:我希望了解你们每个人的看法,Renat 请继续谈论这个话题,然后请 Kenny、Yuval 和 Mark 发表你们的观点。您如何看待 QEDWiki 这样的 mashup 构建器?您认为它们会在企业环境中流行起来吗?我想请您谈谈它们对加快项目的开发速度有多大帮助。除了优点之外,它们有没有什么消极影响和限制?您认为它们的前景如何?
Khasanshyn:mashup 确实是一个突破。现在,无需编写任何代码,就可以从许多数据源构建出应用程序,针对这些数据并按照需要的方式向用户呈现它们。这是件好事情。但是,我们仍然期待这个领域中出现更成熟的产品。在过去一两年中,已经出现了一些 mashup 开发工具。但是,它们还不够成熟,还无法满足所有需求,不只是参加 Mashup Camp 的 mashup 开发人员的需求,还包括一些企业功能,比如安全性以及在出现错误时将实现回退的方法。
这些都会发展起来的。IBM 即将发布的 DAMIA 是 mashup 开发框架的另一个组件,我认为在它的帮助下,IBM 会具备该领域中最强大的工具之一。还可以将其他工具组合成更强大的产品。所以我们可以看到这个领域中正在出现多家提供商,提供了极具吸引力的开发方式。
developerWorks: Kenny,您有什么要补充的吗?
Spade:是的,关于该领域工具的成熟性我基本上同意他的看法。我以前没有使用过那些不知名的工具,如果可以的话就太好了。但是,他的一个观点肯定是对的:随着这些工具的发展,开发时间会大大缩短。
在 mashup 这个词汇出现之前,我开发过一些与 mashup 相似的东西,那时候要花费好几天时间,现在就简单多了。我曾经使用 正则表达式 进行这样的开发。现在有了 Dapper 这样的出色工具,我就是使用这个工具开发寻宝游戏 mashup 的,它可以处理基础结构并将构建 mashup 所需的所有东西组合起来,我们只需直接使用这些工具即可。
我构建第一个 mashup(活动搜索器)时只花了大约四小时,而且大多数时间花在从开发人员模式到组装人员模式的转换上。我过去考虑使用循环、如何处理数据以及如何构建数据。现在只需使用数据绑定将字段与其他字段联系起来,它们就会实现我需要的效果。所以许多时间花在工具的使用上,而不是进行实际的开发。
developerWorks:是啊,听起来真不错。那么 Yuval,您的看法呢?我希望了解您对此的看法,但是由于我已经听到了其他人的看法,我还想知道,您认为这种应用程序开发方式会让更多没有开发背景的人投身于开发工作吗?您认为这会成为问题,或者产生负面影响吗?
Tarsi:我认为很可能出现这种情况。这些方便的工具让许多人能够根据自己的需要构建和调整应用程序。他们不需要 IT 人员帮忙。这会节省大量时间和金钱,还会避免他们的抱怨,以前用户常常抱怨应用程序的功能并不是他们真正需要的。用户获得的应用程序非常复杂,难以使用企业应用程序并且界面陈旧。用户真正需要的是从几个不同系统和互联网获得他们感兴趣的少量数据,然后在一个小型应用程序中查看这些数据,所以 mashup 能够提供很大的优势。当然,目前还有一些事情是一般用户无法完成的,但是我认为这些事情会逐渐变得简单。
我认为在 mashup 领域我们还没有充分考虑一个问题:组件的粒度和组合的不同组件的功能。而且您可以看到各种不同的方式。例如,QEDWiki 组件往往非常复杂,它们可以提供非常高级的功能,比如映射或搜索查询、数据库查询,这些都是非常复杂的。
另一方面,Yahoo Pipes 等组件提供级别低得多的 mashup,可以用它们处理 RSS 提要和正则表达式。非常细的粒度可以提供非常大的灵活性,而提供更高级的工具可以方便用户使用;我不确定社区会以哪种方式为主,或者是在这两种方式之间找到一个平衡点,但是这方面的决策会影响功能的范围并限制可选的方案。另外,我认为更重要的另一个问题是安全性和遵从性。最近,我们去了一家大企业,那里的所有 IT 人员都非常担心安全性,害怕数据泄露出去,还担心没有完成法律法规要求的某些义务,在金融行业尤其如此。
对于传统的 IT 组织来说,让非专业开发人员构建应用程序初看上去是非常冒险的,他们可能不敢这么做,除非好处确实非常明显。说服 IT 部门是一个难题。要让他们相信这种方式确实有好处,而且好处巨大。还要让他们相信这种开发方式可以满足法律的要求,而且他们仍然保留控制权。
developerWorks:是的,我想您和 Renat 的意思是,刚刚接触这种开发方式和 mashup 的人最好关注寻宝游戏 mashup,而不是金融 mashup 这样的重要项目。这肯定很有意义。Mark,您有什么要补充的吗?
Madsen:是的,实际上我认为您刚才说的很正确,这正是我们目前仍然主要关注互联网客户的原因。让 IT 部门接受这种开发方式确实为时过早。这个领域还没有发展到相当的成熟程度,IT 部门还无法建立信心。但是我个人认为,目前的这些工具和技术已经很适合开发小型的 Web 应用程序,比如 blog 工具和在线发布。这里展示了新开发环境的外观,因为您知道,SOA 基础设施现在明确地将重点放在新工具 上,原因是我们以前使用的工具中存在大量的缺点。
Renat 提到我们不得不放弃使用 Atom,尽管它适合处理类似于 RSS 这类数据,因为许多工具难以处理 Atom,即时使用发布协议明确获得数据的方式也是如此。
如果研究一下 2002 年甚至 2003 年的 blog 工具,就会发现可移动类型和其他一些非常原始的工具。它们需要大量的调整和手工处理及支持。而现在只需借助于 Typepad 或 Blogger.com,几乎任何人都可以轻松地使用这些简单工具;还可以使用 WordPress 在几小时内开发出看起来很专业的站点。
所以我认为 IT 行业正在向消费市场发展,这给 IT 环境造成了压力,也给其内部工作机制带来了变化。Yuval 提到了安全性和合法性。我认为,围绕数据服务和应用程序服务的最大问题是,如何找到这些服务以及数据管理问题。我们可以使用 Dapper 和 kapow 为在线数据构建不同的数据提要,以及所有这些新的数据源应用程序。
但是我可以想像得到,如果各个部门的职员、用户和 IT 人员都随心所欲地构建数据服务,就会出现大量重复的服务,它们提供几乎相同但不完全相同的东西。在其中找到所需的服务是很困难的,这就像是在大量信息中寻找所需信息的难题一样。
developerWorks:Renat 提到 QEDWiki……对不起,是 Yuval 对比了 QEDWiki 和 Yahoo Pipes 的功能粒度。Mark,您在使用 QED Wiki 时有什么想法呢?例如,与类似的其他应用程序相比,它的价值和使用的难度如何?
Madsen:就我看到的许多情况来说,它还很原始,使用 AJAX 工具箱或实际 Web 开发工具也可以实现相同的效果。还有很大的改进余地。我常常将它与 blog 工具进行比较;比如在构建 Web 站点,尤其是动态的 Web 站点时,以前使用 Front Page、Dreamweaver 或类似工具。以前需要布置页面,然后手工上载页面来进行更新。现在只需修改模板,在文本框输入一些文本并链接到一个图像即可。所以,尽管这些工具目前还很原始,但是它们会发展成应用程序的组装环境,专门用来使用和显示数据。我认为我们会看到这样的发展,这会大大简化开发过程。
developerWorks:所以,您认为会有更多的这类工具出现,它们会日益成熟,对吗?
Madsen:是的,我认为会出现这种情况,我将这称为 IT 的消费化(consumerization)。这些新技术会逐步简化高级功能的开发,所以更多工作将转移到最终用户手中,同时 IT 人员的生产效率会更高。
Spade:我只想提到一点,随着 mashup 运动的发展,一些官方站点,比如在其上构建 mashup 的站点,也实现了相同的东西。对于我的寻宝游戏 mashup,我希望实现的一项功能是将所有地点放在一张地图上,这样就能够一眼看到地理情况,比如可以看到 5 英里远的地点,并且可能隔着一条河,需要绕路而行。所以看到提供地图服务的官方 Web 站点实现了这些功能是很让人兴奋的,因此 mashup 所做的就是推动了开发,这真是不错。
developerWorks:您现在收听的是 IBM Business Mashup Challenge 的四位获胜者的见解。他们是 Mark Madsen、Yuval Tarsi、Kenny Spade 和 Renat Keshanisan。关于这次比赛的更多信息,请访问 mashup.com。点击顶部的 Wiki 链接,然后点击左导航栏中的 IBM Business Mashup Challenge。另一个好站点是 ibm.com/developerworks/spaces/mashups。这是 John Feller 主持的 developerWorks mashup 主题区,John Feller 是 IBM 新技术工具集开发团队的经理。可以在那里找到 mashup 的相关新闻、最酷的 mashup 的链接、技术 blog、mashup 参考资料库、论坛等等。
可在 podcast 的活动记录中找到所有内容的链接,在 ibm.com/developerWorks/podcast 中可以找到这个 podcast。本次访谈到此结束。我是 Scott Laningham。谢谢收听。
关于 Mashup Camp 5 的说明:IBM 将于 2007 年 9 月 10 日到 13 日在都柏林举办这次 Mashup Camp。欢迎您和您的同事参加这次 Web 2.0 活动。Mashup Camp 由 Mass Events Labs 协办。
从 2006 年 2 月在 Silicon Valley 举办的第一届开始,Mashup Camp 现在已经要到第五届了 —— 这是世界上首个(而且仍然是惟一的)专门致力于软件 mashup 社区的发展和交流的活动。第五届 Mashup Camp 将在欧洲举办。Mashup Camp 的创始人 David Berlind 和 Doug Gold 邀请您到爱尔兰都柏林的 Trinity College 参加这次活动。活动日程包括两天的 mashup 开发讲座(也适合新手),然后是两天的 “非正式会议” 风格的讨论、交流、处理问题、比赛和娱乐。这次活动的 Mashup University 部分从 9 月 10 日开始,介绍 mashup 开发并由 API 和技术提供商做展示,然后从 9 月 12 日开始为期两天的 Camp(非正式会议部分)。关于 Mashup University 的更多信息和注册方法,请访问 mashup.com。在 David Berlind 的 blog 文章 中,可以找到 IBM 在 Mashup Camp 4 举办的 Business Mashup Challenge 的一些视频资料。
参考资料
关于作者  | 
|  | Scott Laningham 是 developerWorks Podcast 的主持人,以前曾担任 developerWorks 时事通迅的编辑。在加入 IBM 之前,他是一名曾多次获奖的记者和 Public Radio International 新闻节目的主播,以及 American Communications Foundation 和 CBS Radio 的自由撰稿人。此外,他还是一名作曲家和音乐家。 |
对本文的评价
|