2007 年 9 月 21 日
Web 2.0存储库可以帮助您创建灵活的软件体系结构,并且这种软件可以很容易地插入到 Web 2.0社区和外部网。要创建满足可修改性、性能、安全性、可伸缩性和可重用性等方面需求的可变系统,这项工作可能充满挑战。在本文中,您将了解相关的技术以帮助确保您的 Enterprise Web 2.0 体系结构能够满足您的质量需求。
许多公司需要在提供更多服务的同时,控制其成本。因此,他们必须为企业的操作实现自动化。IT 管理预算非常紧张,并且现在甚至对这个关键的业务领域进行了外包。服务密度越来越大,并且各种服务之间的互连程度也越来越高。
由于在地理位置上日益分散,许多组织都比以前更加需要使用 Enterprise Web 2.0。这种服务,或者这组服务,可以更容易地聚合关键的内容、为地理上分布的组提供协作、实现关键的业务目标,如多团队设计和开发工作、合同招标以及企业重组。
在本文中,将向您介绍有关 Enterprise Web 2.0部署的体系结构方面的内容,并研究一种以管理为中心的方法。您还将了解通过简化主要的组件,使得 Web 2.0体系结构比以前的版本更加可靠。了解一些附加的技术,如添加可管理性和反向控制,以便提供复杂的和动态的组件关系,从而为用户和系统管理员提供帮助。Web 2.0 用户看到的是业务服务,而 Web 2.0 IT 管理员看到的是可管理的技术元素,这样一来,可以为每个组提供企业的清晰视图。
成功的企业体系结构必须具备各种各样的质量属性。它可以帮助预先定义这些属性。这个属性集构成了一个蓝图,以指导分析、设计、编码、部署、维护、更新等阶段的工作。这种体系结构是对成型后的系统的预想。典型的质量属性包括(但并不局限于此)下列方面:
体系结构不是抽象的实体—,也就是说,您可以通过不同的方式来查看它们,包括系统的物理环境、模块分解视图、流程视图、客户端-服务器视图、代码视图和分层视图。每种视图都显示了一种或者多种所需的质量属性。
另一个附加的质量属性是可管理性:体系结构简化自动化管理的程度Enterprise Web 2.0 的各种元素为实现可管理性提供了很好的平台。
Enterprise Web 2.0 提供了 Web 1.0 中所没有的许多功能。本文讨论了一些关键的 Web 2.0 功能,包括:
已经有一些产品实现了其中部分或者所有功能,包括 IBM® WebSphere® Portal 软件和 Sun Java™ System Portal Server。
在图 1 中,您可以看到这些 Web 2.0 功能。
图 1. 正在使用的 Enterprise Web 2.0 功能
图 1 的左边描述了一个用户社区。这是一组松散的用户,他们为完成短期或长期的工作而聚集在一起。通过使用其富客户端工具,这些社区成员可以进行协作。这些工具使得用户能够合并多个数据流,并在内部网范围内的数据源中执行联机内容编辑(可能还包括外部网)。这种客户端编辑功能需要新一代浏览器技术。
图 1 的中间部分详细地描述了这种实现 Web 2.0 的软件。聚合工具可以组合来自 Web 站点、数据库和其他数据源的内容。然后,将数据提交给富客户端,而后者将所提供的内容组合成复合数据:该数据可能包括所有格式,如音频、视频数据等等。
另一个重要的数据源(图 1 中没有显示)是语义搜索数据。在图 1 的聚合功能中包含了这种功能;其目的是提供语义上相关的数据。富客户端请求这些数据,并将其作为复合文档的一部分进行呈现。
富客户端文档可以保存到持久的介质,如新的文档或者作为原始数据的一部分。在图 1 的右边说明了数据初始加工。您需要了解的是,EnterpriseWeb 2.0 数据源并不一定必须是静态数据库—,数据可以来自数据库、静态或动态 Web 页面,以及业务流程,如业务流程执行语言 (BPEL)服务器。
可以使用 Portlet 构成 Web 2.0 客户端功能的基础。对于异步更新—,这种方式特别有价值,这是图 1 的中间部分的另一个特性。异步更新允许将数据更改传播到 Web 2.0 环境中的各个客户端。
Enterprise Web 2.0 体系结构包括至少三个物理或逻辑层。可管理性适合于这个系统的哪些方面呢?
一种体系结构要成为可管理的,它必须能够提供:
Enterprise Web 2.0 客户端要实现协作、聚合内容,以及操作复杂的文档,就必须使用一种可靠的平台。支持可管理性将帮助您提供一个这样的平台。可以考虑一下,提供可管理性在图 1 中意味着什么。
图1 中右边的元素以最佳的方式进行管理:需要对 Web/BPEL服务器和数据库引擎进行正确配置、负载平衡,以及性能监视。如果您对性能进行度量,那么就可以更容易地知道,什么时候需要更新或添加新的硬件。如果存在服务水平协议(例如,每年不超过 20 分钟的停机时间),那么就必须在运行期间不断地收集数据。如果将任何私有的数据存储在图 1右边的这些系统中,那么您可以更容易地确保它的安全,这样做更加合适。
提供可管理性可能需要多个附加的复杂系统。为什么需要可管理性比如何实现可管理性更加重要。所以必须使得管理功能尽可能是可用的。
在下一个部分中,我们将介绍 Web 2.0 元素,以及为实现可管理性而提供的一些增强功能。
在Web 2.0 中,存储库包括两种形式:内容(数据)和软件功能。在图 1中,数据存储库位于右边。软件存储库提供了一种存储工具和中间件的方式,而这些内容构成了 Web 2.0的计算基础结构。软件存储库是一些可选的元素,图 1 中并没有显示它们;它们提供了一种部署 Web 2.0 工具的方式。
社区的概念可能是 Web 2.0 中最新颖的内容。这种社区反映了一个组织帮助地理上分散的组和用户共同完成某个项目、相互协作、生成可交付的产品、最后解散的能力。可管理性如何对社区的概念产生影响呢?
社区管理操作包括创建、添加,以及删除用户;在一些更新的版本中,还包括删除社区。对于一些重要的社区,一旦形成,可能永远不会撤销(例如类似 HR-updates-to-staff 这样的社区)。可管理的体系结构能够简化这些管理操作。
社区中的抗故障能力指的是处理下游故障(数据源中的故障)的能力。一种可能的故障情况是,社区太大,以至于无法实现其原来的目标。
外部网通常部署于合作伙伴组织之间,这些组织相距甚远,但需要共享资源。例如,一个软件供应商可能根据合同,需要为另一个组织提供代码。其中一个合作伙伴可以建立一个外部网,以便他们共享资源,如计算机、软件、各自的专业技能,等等。
在 Web 2.0 的环境中,可以将外部网构造作为受限的社区。这种社区需要严格的安全协议,例如,可能不希望或者不允许与外部合作伙伴共享内部网中的某些数据。这些注意事项使得能够安全地实现 Web 2.0 可管理性。
前面在可管理性部分中将提供可管理性定义为质量属性的独立集合。不幸的是,这种情况很少出现在系统设计中。在企业体系结构中,通常在完成了设计和开发工作之后,再添加相应的管理功能。后添加的关键元素通常会使得解决方案难以管理。其实并不一定要这样做!
提前定义可管理性需求以及其他体系结构的质量属性,这样可以使管理功能与其他 Web 2.0 构件解耦。实际上,可以对 Web 2.0 软件组件进行有意识地简化,因为它们不一定包含编译时的管理软件。
一种已经使用这种技术的开放源代码工具是 Apache Java 2 Platform, Enterprise Edition (J2EE)参考应用服务器 Geronimo。这种工具通过依赖关系注入来配置相应的组件,以便为所需的管理操作提供支持。所构建的 Geronimo的组件用于提供动态管理请求。这样就可以提供一种更加灵活的管理模型。
它还展示了体系结构方法的强大功能:对于那些构建系统的人员来说,所需的质量属性始终作为一项提醒。它还允许在最终完成的系统中实现更好的关注分离。
各种组织都不断地努力降低 IT 成本。您可以将部分工作进行外包,但是这可能使得地理上分散的组更难实现协同工作并完成短期的项目。Web2.0(有时候称为 Enterprise Web 2.0)或者 Web 3.0 可以为高度分散的组织的需求提供一种完美的解决方案。
|
软件体系结构质量属性为体系结构试图实现的目标提供了功能强大的描述。通常,架构师可以使用各种视图来确保实现所需的质量属性。可管理性是一种常常被忽视的体系结构质量属性。为 Enterprise Web 2.0体系结构增加可管理性属性,这样做可以添加可配置性、抗故障能力、性能度量能力、安全强制,以及其他更多功能。
您可以为构成 Enterprise Web 2.0 的主要构件应用这些可管理性属性,如存储库和社区。提供可管理性作为一种关键的体系结构质量属性,可以更容易地实现 Web 2.0 的部署和操作。
EnterpriseWeb 2.0 可管理性的最出乎意料的优点是,它为简化软件元素提供的范围。Apache Geronimo项目通过依赖关系注入和反向控制的支持,为这种技术提供了一种模型。这种方法为您提供了比以前更加灵活的管理模型。因此您将发现,EnterpriseWeb 2.0 非常适合于体系结构级别的可管理性。