【IT168 技术文章】
服务、传道和管理工具支持组件在线市场
基于组件开发(CBD)是电子商务时代的一种先进软件开发方法。了解三家名列前茅的组件代理商- ComponentSource、ComponentPlanet 和 Flashline.com -是如何突破障碍以实现 CBD,并且提前给市场带来高质量的、可重用组件。
有一种导向认为组件代理商仅仅是起到买卖软件组件便利的、在线交换作用。然而,三家在因特网上名列前茅的商业组件供应商- Flashline.com、ComponentSource 和 ComponentPlanet -还向买方和卖方提供从测试和支持到组件管理工具等各种其它服务和资源。
为了帮助激发对组件和重用的兴趣,处于领先地位的在线组件代理行业的老板们正努力将他们的公司描绘成是由市场构建的资源,而不仅仅是客户买卖软件的大卖场。同样,通过强调由商业发现的令人吸引的方面- 譬如,可靠性、稳定性和客户支持等 -组件供应商希望吸引更多那些一直重要的团体性质的买方。
这些努力似乎正在起作用。
“现在我们的客户当中,团体客户超过了 90%”,ComponentSource 公司的 CEO Sam Patterson 说,“这不再是一个小市场”。虽然组件市场的起飞一直比某些人所期望的要略微慢一点,但现在迈向 CBD 的速度跟得上开发人员社团。
“在开发人员中采用 CBD 是一条很明显的‘J 曲线’,但正处于成长时期的组件的商业市场还不在‘J 曲线’中”,Flashline.com 的 CEO Charles Stack 观察后说。然而,Stack 和其他人都不希望这种情形持续下去。
“现在,相当多的人在做 CBD,因为如果您在使用 Visual Basic、C++、C# 或 Java,则您本质上在做 CBD”,Patterson 说。他还指出,大家第一次采用并接受了如 SOAP 和 XML 这样的工业标准。根据 Patterson,这种应用和接受将有助于刺激集中于 Web 服务应用的组件开发。
有前途的市场
Compoze Software(位于费城附近的一家组件开发公司)的 COO Scott Andress 回忆公司刚起步时,“关于组件是什么以及如何在开发中节省时间和财力的摸索经历了很长的一段学习过程。现在看到对于这方面的兴趣提高到这种层次,是很令人惊讶的”。
Andress 相信 CBD 最终会处于软件开发的主流,这部分得益于应用程序服务器软件平台(ASSP)的日益流行。如 IBM 的 WebSphere、Sun Microsystem 的 iPlanet、BEA System 的 WebLogic 以及 Oracle 的 WebDB 这样的 ASSP 正将 CBD 推向市场。“我们现在看到的主流之一是公司购买应用程序服务器,并寻找非常好的方式来构建应用”,Andress 说。“这里的选择是从头构建,构建在组件之上,还是买现成的解决方案”,他说。
Jeff Denney 是软件开发人员兼 Bilix(位于洛杉矶附近的一家开发公司)的共同拥有者,当谈到组件和重用时,他非常热情。“作为一名程序员,我尽可能地尝试重用我自己的代码。如果我需要一个复杂组件,并且有人已经完成这方面的所有工作,则我会调试并测试它,我为什么要浪费时间?如果有现成的组件,就用它”,他说。“关于现在的市场我喜欢的是,有许多小组件,它们执行非常具体的任务。如果需要,我可能可以很快地找到它,并且它可能非常便宜”,他说。
观察市场中的转变,组件供应商正使它们的产品适应于客户所喜欢的。“在我们开发市场时,几乎全部是基于象 VBX 和 ActiveX 技术的微软组件,但现在很明显这股潮流在涌向 Java 这一边”,Stack 观察后说。“我们正在关注着 ASSP 方面发生的大量新开发,这指的是 J2EE 和 Java。在过去四个月,大多数新鲜事物正是来自那里”,他说。然而,Stack 又补充道,“随着微软的 .NET 变得更普及,也许这个‘钟摆’会摆回微软这边”。
支持和供应
在将来,Patterson 希望看到更多基于涌现出的根据模式开发的概念的组件,在那里开发人员定义了用于应用程序的模板,该应用程序描述所需功能。在定义完模板后,组件管理工具插入从各种来源而来的应用程序的组件。组件可以是公司内部开发的,也可以是从各种供应商获取的开放市场组件。“然而,您必须有不错的组件供应来做这些事情,我们已经花费了巨大精力来构建这个供应”,Patterson 说。
大多数组件供应商也是软件开发人员,他们预测 CBD 将超越当前把单个组件绑在一起的做法,而迈向软件应用程序制造,在那开发人员可以用预先存在的软件将应用程序的大部分的绑在一起。
而且,组件的颗粒度正在变大。例如,Andress 的 Harmony Component Suite 提供了用于日程安排、联系管理、论坛和 Web 邮件的组件。为了帮助扩大商业组件的总量,ComponentSource 正在与一些公司一起鉴别、封装以及将包含扩展商业功能的大颗粒度组件市场化。
随着强调组件占领团体这个市场,Andress 预言,在组件市场客户服务将是主要的驱动力,这一点也不奇怪。“当您有大公司,要从组件构建关键任务的应用程序时,那您有大量的文档和支持”,他说。
面临的障碍
在线代理商在建立他们的市场时,面临的主要障碍之一是持有这样的观念:与自己内部开发人员开发的组件相比,商业组件在质量上有欠缺。“当然存在一定的质量问题,但我们看到来自小到中等规模的组件公司的产品质量要高于我们所看到的公司内部所开发的”,Stack 说。Flashline.com 提供测试和确认程序来帮助确保他们所卖组件的质量与广告上所说的一致。“我们可以为买方做这件事,也可以为卖方这么做”,Stack 说。“我们也可以将这些测试张贴出来,使大家能够看见这些结果”,他补充道。
另一个障碍是一些开发人员具有这样的倾向:要亲自做每一件事情而不是借助于组件来使工作更有趣。Stack 指出,在这方面,组件事实上给开发人员带来便利。“开发人员喜欢做一些新的、有趣的和具有挑战性的工作”,Stack 说。“但谁还想创建另一个字处理程序?这都是已经做过的事情了。组件可以将开发人员解放出来,使他们做更有趣的工作”。
Andress 补充道,如果买的组件占他们应用程序的 60%,则他们会发现有趣的工作存在于最后的 40% 当中,在这部分中,他们可以将公司唯一的属性合并到应用程序中。“您应该将您的精力集中在那里”,他说。
ComponentSource
Patterson 于 1995 年建立 ComponentSource 以帮助创建一个社团,在这个社团里,开发人员可以学习 CBD 和重用,并发现他们需要构建应用的产品。“当我们开始时,那时没有多少组件,市场上大约只有 200 个”,他回忆道。ComponentSource 今天提供 6,500 多个组件,根据 Patterson,他希望在一年内有 12,000 多个组件。“我们每年能够将供应量提高两倍或三倍”,他说。这些组件中大约有 1,000 个是基于 Java 的,5,500 个是基于 COM 的。他估计公司每周能增添大约 40 个新组件,而这些提交上来的 60% 会舍弃。“我们与供应商一起工作,直到达到商业级别”,他说。
由 ComponentSource 卖出的每个组件都经过测试以确保组件正确安装和卸载,而且这些组件没有病毒,并且支持容器、开发环境和 IDE(为此而设计)。“当某个公司拿到一个组件,他们知道该组件的质量达到了标准水平”,Patterson 说。ComponentSource 还使用它的 Reusable Component Specification (RCS) 来帮助分类它提供的许多组件。“后端、元数据模型用技术、商业和非商业术语描述一个组件”,Patterson 说。
在建立完他的组件市场之后,Patterson 下一步是使这些产品国际化。“这是必须突破的另一个障碍”,他回忆道。由于 [商业] 因际网还处在幼年期并且带宽有限,所以 ComponentSource 将它的产品刻录在 CD 上分发。“在 1997 年我们发送了三百多万张 CD”,他说。既然因特网充当了全球传递机制,那么客户实质上可以从任何地方下载组件。客户也可以选择接受 CD 上的组件。而且,ComponentSource 用五种语言提供客户服务,并接收六种国际货币的付款。
ComponentPlanet
ComponentPlanet 的总裁 Steven Harrison 相信,在走向技术上,组件市场或资源库是个未知数。“我们设计了一份具有 105 栏的说明书,我们使用它来列出产品”,他说。“它将放任何技术。如果完全添满它,那么就有了买方想知道关于组件的所有东西”。ComponentPlanet 说明书是来自一些大的供应商,如微软、Sun、BEA 和 Motorola 组成的一个评审小组开发的。
Harrison 于 1999 年开办 ComponentPlanet。“我们的观点是资源库是一种服务,对每项成功的销售都按统一的价格收费”,他说。“我们运作 ComponentPlanet 是因为会需要一个全球的资源库”,他说。ComponentPlanet 也卖称之为 Intellect Machine 的产品,Harrison 将这种产品描述为针对团体用户的组件资源库应用。他相信公司使用组件是想把自己个人的资源库中资源共享给它们的组织,但公司也允许插入第三方的全球资源库以及下载组件到自己的资源库。如果公司正在卖它的组件,可以用 Intellect Machine,只需要单击一下鼠标,就可以向全球发布该组件。“正是这种所需要的功能和可用性”,他说。
除此之外,ComponentPlanet 给每个组件分配了有三部分组成的简短号码。这个简短号码允许用户通过组件号、二进制修订版号和文本修订版号来跟踪组件项。“您可以跟踪具体组件,并且如果您必须替换已损坏的副本时,可以追溯到您购买的具体版本”,Harrison 说。而且,这个简短号码与对象绑在一起,放在组件关系模型中,这样用户可以识别不同的特征,譬如,组件是否依赖于另一个组件,或者它是否和其它组件连接在一起才能工作等。“逐渐的,随着这个过程的成熟以及更完善,您可以能够知道某个组件是否需要另外 50 个组件来完成自己,以及系统是否能够从外界将所有需要的组件取回。这就是我们工作的目标”,Harrison 说。
Flashline.com
“两年前,我们坐下来研究 CBD 会走向何方,得出的结论是:在下一代软件,它将是主要的软件开发方法学”,Chris Stack (公司的 CEO)说。Flashline.com 为买卖组件提供在线市场,但 Stack 强调他公司的网站还有其它更多业务。例如,Flashline.com 提供称之为 Components by Design 的外部采办服务,开发人员可以将他们所需组件的详细说明张贴在 Flashline.com 上。“我们大约有 1,500 个开发组可以检查这个请求,张贴关于它的具体问题,并且投标,来根据那些说明创建组件”,Stack 说。
Flashline.com 还提供经外部采办而来的测试。“我们的鉴定测试是组件级别的,这是所需要的关键服务之一。我们最初不做这项业务,但没有人在组件级别上做测试”,他说。
此外,Fashline.com 还销售 ComponentManager,这是一种基于 Web 的应用,公司可以用它来增强它们的 CBD 行为。ComponentManager 允许开发人员在他们公司的资源库搜索组件、复查文档、评估其他开发人员做的报告,以及提取出项目中所用的组件。“如果您查看团体开发,会发现许多组件是来自内部的组件。他们也会买一些组件,为自己构建一些,还有一些是从现有代码中获取的。甚至他们可以使用开放源码组件。所有这些都放入 ComponentManager,开发人员为了他们的开发可以使用它们,而不用考虑这些组件是位于哪里”,他说。“开发人员的成本是非常昂贵的”,Stack 观察后说。“您可以做任何使他们更具有效率的事情,这些事情是很有价值的。”
参考资料
请参阅 developerWorks Code and components page 以查找 dW 如何帮助开发人员做基于组件的开发。
James Snell 的 developerWorks 专栏 Web 服务内幕提供了 Web 服务和 Web 服务体系结构的完整介绍。
请参阅来自 CNET News.com 的 Open-source firm dips into services SOUP 这篇文章,以查找开放源码 CBD 工作室是如何正在实现 Web 服务的。
关于基于组件开发的概述,以及了解 IBM 如何用 WebSphere Solution Components (WSSC) 项目来进行 CBD,请参阅 用 WebSphere Solution Components 的基于组件的开发。
更多与 WebSphere Business Components,包括白皮书、新闻组、新闻信、下载以及其它,请参阅 Component Developer's Library。
关于 IBM 向 CBD 提交的宏伟蓝图,请参阅 WSDD Business Components Zone。
本文中提到的公司
Flashline.com
ComponentPlanet
ComponentSource
Compoze Software