扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Carlos Ferreira 来源:论坛整理 2007年11月17日
关键字: Rational Asset Manager
假设您拥有一家古董摩托车修理店。您不断地寻找丢弃的摩托车,以便您可以拆下它们的配件。为了帮助您的技术人员有效地工作,您将会把每种部件放在它们专门的柜子里,这样就会很容易找到。如果您经常修理 Harley、Norton 和 Triumph 品牌,您就会为每个品牌建立专门的储存单元。为了最大程度地提高效率,您将会按照部件的样式和年份为每个不同的柜子建立标签。您也会按照样式和年份保存每个品牌的操作手册。这样就越来越有组织,会使您更容易、更快地找到那些古董配件,而不是在城郊的所有垃圾堆里寻找您需要的配件。
很多工程学科长期以来一直渴望实现这样的软件部件和文档的储存模式,并认识到这些部件和文档是珍贵的、可重用的资产。实施这样的方案对于很多公司来说是很难着手的。不过最近在资产管理解决方案方面的兴趣开始抬头,因为在软件开发舞台出现了一些重要趋势。本文讨论这些趋势,以及象 IBM® Rational® Asset Manager 这样的产品如何帮助组织理解他们拥有什么资产,以便消除重复、降低成本和改善软件开发质量以及市场时机。
导致采用资产管理的市场趋势
在讨论 Rational Asset Manager 之前,让我们看一看正在改变软件开发前景的主要的新趋势:
地理分布式的团队。许多组织都把他们的工作分派到地理分散的团队,有些情况是由于以下力量的推动:日益增长的在家办公的要求、在其它国家使用卫星办公室、或者使用组织外部的第三方人员。位置的不同和人员不断地变化使得组织迫切地需要有一个中心,可以用来获取和管理开发的软件资产。管理团队也很担心在人们离开组织或者组织内部调动工作时智力资产将会损失。
IT 支持成本降低的需要。公司处于降低他们的IT支持成本的压力之下,当存在更多功能和低廉的商业解决方案时,他们很难证明应该继续在增强和维持他们自己开发的资产管理解决方案上面花钱。为了降低维护这些方案的持续的成本支出,公司会购买商业的解决方案。市场上有很多软件资产管理厂商可以提供高度定制的解决方案。
开放源码资产的使用和扩散。我遇到的很多经理人员指出,在有些情况下,使用了过多的开放源码,对于了解组织中谁在使用这些资产,或者哪些开放源码的资产正在使用,也没有足够的跟踪。在有一定的控制的情况下,公司努力给团队提供指导,告诉他们哪些版本的资产已经淘汰,不应该再使用。有时他们无法通知团队某些开源资产已经退休,不应该再由中间件工作团队部署或维护。
企业架构的提升。越来越多的公司开始定义和实施自己的企业架构,以及使用一些商业的架构如J2EE和.NET等。这些架构使得开发人员可以定义适合更广泛的系统的部件,这就使得描述一个资产的目的和上下文更加容易,因此其他人为了解决特定的需求可以更快地评估资产的适合性。
SOA 的采用。采用资产管理解决方案的市场趋势的最大动力是面向服务架构(Services Oriented Architectures ,SOA)的迅速使用。公司正在转向灵活的 SOA 架构,这样他们可以通过互联网迅速建立和发布全功能的服务,而这些服务由软件开发和发布组织持续更新和维护。作为使用服务和服务注册的用户,他们很快认识到他们需要的不仅仅是一个服务号码本,他们需要能够控制服务的开发。他们需要确保服务作为资产开发,并持续地遵循他们的架构。能够清晰地理解服务是什么,并在每次服务创建时强制执行这个定义,是确保服务作为资产发布、部署和重用的关键。一个资产管理解决方案能够帮助回答这类问题:“正在开发的服务是否遵循我们组织的可用资产的定义?”
现实是很多公司并没有一个很好的“服务”的定义。在这种情况下,他们的定义往往只是简单地存在于一个网页的标准指导中,而没有更好地地描述或者使用。服务不仅仅只是一个 WDSL 或者 XML 接口。要想真正地重用,对每个服务必须有一个相关的建立服务的资产集合。 很多 SOA 开拓者们停止了他们的脚步,因为 IT 组织没有管理服务开发,导致了没有发布或不可维护的服务的增殖。在有些情况下,并不打算重用的流氓服务被注册和使用。拥有能够找到您的服务资产和所有其它相关资产的中心仓库或地点,对于使 SOA 成功是一个关键因素。公司如果只忙于服务注册而没有资产管理解决方案的话,将只能应对一部分实施 SOA 的挑战。
SOA:更有效的资产管理的要求
SOA 给公司更有效地管理他们的资产创造了很大的压力。他们需要有能力存储和管理全面的资产--即所有与服务相关的工作产品,包括服务的设计、实现、发行和测试等。我们定义资产为一个产出物的集合,这些产出物为在给定的上下文情况下重现问题提供解决方案。
在一个软件开发和交付组织中,典型的资产包括需求、使用用例、设计模型、部件的规格、部件、源代码、测试用例、测试驱动、测试数据等等。对资产管理有需求的不仅仅是新的服务,那些运行在后端系统的有价值的古老的应用也有这方面的需求,因为这些应用也可以组合为部件的一部分进行集成和配置,并在 SOA 中作为服务运行。
依赖服务注册保持对服务的跟踪是不够的。这种注册只简单地命名服务而没有他们技术细节的
开发和交付组织也需要更好的资产管理,以为他们服务创建的过程维持有效地管理实践。通常,复杂的 Web 活动包括内部和世界各地的外部团队的部件软件开发,这些部件互相集成,或者和第三方集成,以及对后端遗留系统的部件的利用。这就需要一种方法来建立规则,比如:每个为这家公司创建的服务必须有一个 WSDL 文件,一个 XSD 文件,一个方针,测试数据和一个服务设计模型。 每个服务资产都应该有一个相关的服务实现资产,它包括将要部署的 EAR 或者 WAR 文件。这就确保了服务能够追踪到它们的实现,以及与存在的部署环境的兼容性。另外,您需要保证在每个服务发布和部署前,都经过很好的测试、评审和批准。
Rational Asset Manager 对 SOA 的支持和管理
Rational Asset Manager 是一个新的协作软件开发解决方案,它提供一个存储仓库,以及全部的组织需要的功能,以便可以在与SOA实现协作时更有效地管理和控制他们的资产。Rational Asset Manager 使用由 Object Management Group (OMG) 维护的 Reusable Asset Specification (RAS) 来描述资产、资产分类、内容以及相关的资产。这就使得有可能使用这种元数据对多种资产包--包括部件、服务、实现模式、模板等--进行分类,储存和追溯。
精确查询和追溯资产
研究显示,您定义资产类型有多精确,您就有多大可能重用资产。甚至更有可能的是,这种元数据和 Rational Asset Manager 的复杂的查询能力结合,能够给组织提供端对端的 SOA 资产生命周期管理能力。 尽管服务注册能够使应用程序寻找到服务并在运行时动态调整它们,但是它既不能告诉它们用来实现或者调用的服务的源代码版本,以便能够修正服务缺陷,也不能描述哪些其它资产可能使用了有缺陷的服务,以便能够很快地进行影响分析。有了储存在 Rational Asset Manager 仓库中的与资产伴随的元数据,开发人员可以看到使用哪个版本的
RAS 使用五个主要的元素来保证在查询和追溯资产的精确性:
我将在下面描述 Rational Asset Manager 配置的时候更详细地讨论这些元素。
管理对开源资产的控制
作为采用 SOA 模型的组织,他们也转向开源社区的部件和其它技术方案。这方面的挑战在于保持对公司中谁使用这些方案的跟踪,以及保证他们对这些方案的使用遵循公司内部的IT标准。
Rational Asset Manager 使得寻找和重用这些方案变得容易,并给出跟踪这些信息到返回团队的时间消耗。它提供了一个工作流,用来对开源资产进行评审和批准,并提供了可存储、搜索和追溯的仓库,使组织可以控制整个组织团队成员对他们的存取。加上管理员可以给这些资产分配 RAS 标识符,批准过程可以确保团队成员只使用与他们的企业架构和经过批准的 Web 应用框架兼容的那些开源资产。他们也能很快看到哪些服务引入了哪些资产,并避免重复的工作。
有助于控制服务创建过程
Rational Asset Manager 具有内建的管理能力,可以在控制创建过程和安全的服务资产方面起到关键作用。首先,使用Web浏览器,管理员可以在仓库中为每个服务创建项目创建一个社区,定义与授权用户关联的角色,然后基于这些角色(或者用户组或者个人)分配权限。然后,团队成员创建资产以后,授权的用户可以把他们提交到项目社区中,既可以通过 Web 浏览器也可以通过 Eclipse Rich Client Platform 提交。为了帮助其它同事准确地定位他们需要的资产,用户可以为每个资产分配一个自定义的类型,如果需要的话,可以为查询需要指定特定的产出物、分类、关系以及属性约束限制的范围。例如,开发人员可能会指定资产类型 "checklist" 必须是一个 .doc 文件,并且有 "checklist" 的标签。
Rational Asset Manager 可以根据预定义的类型规则验证资产类型的约束。每种资产类型可以有几个单独的、自定义的评审过程,既可以使用 Rational Asset Manager 内置的工作流,也可以使用 Rational ClearQuest。Rational Asset Manager 集成的工作流提供了附加的工作流和问题跟踪的能力。
配置 Rational Asset Manager
为了更好地理解 Rational Asset Manager 如何支持高级的管理服务创建的能力,让我们用下面的几个步骤来描述具体的内容。如果您是一个管理员,需要为项目相关人员建立开发工作区的话,这些步骤您可能会遇到。
创建包含角色和访问控制的社区
在仓库相关人员工作时,管理员必须在仓库中配置一个或者更多的社区。社区是为特定的具有各自访问权限的用户创建的。图1 显示了在保险业的索赔过程服务项目中,他们是如何准备的。
图1:一个新的服务创建项目的社区、角色和访问控制
按照资产的种类创建分类
下面,您可以使用 Rational Asset Manager UI 或者 XML 文件为您前面定义的项目角色创建的项目资产创建分类,记住一个资产可以属于多个分类。 您可以使用这些分类进行访问权限控制,您同时也可以使用它们浏览或者查询。图2 给出了一个 J2EE 开发团队可能创建的资产的部分分类。
图2:J2ee 开发资产分类
创建资产类型(type)
然后,您可以为项目创建合适的资产类型,指定名字、描述、需要的资产、关系、以及约束资产的属性。正如前面说过的,Rational Asset Manager将会自动的按照预定义的资产类型的规则验证这些约束。图3给出了输入约束的对话框。
图3:输入资产类型约束的对话框
定义资产评审过程
前面提到,您可以为您定义的每个资产类型和分类设置一个或者多个评审过程,可以单独使用 Rational Asset Manager 设置,也可以与 Rational ClearQuest 集成使用。您的工作流可以支持评审委员会,也可以支持单个的评审人员。当需要评审时系统会自动通知。Rational Asset Manager 提供了可以全面配置的评审过程。
定义资产管理过程
谁应该决定什么时候在哪里发布资产,以及谁可以访问资产?在很多情况下,多个相关人员应该在这些决定方面有发言权。 Rational Asset Manager 允许社区管理员设置一个过程,指定相关人员在资产生命周期中进行决策。图4给出了一个典型的资产生命周期的评审计划,其中包括三个团队的相关人员。 对资产生产团队,管理员定义了一个内部评审过程,使用成员的领域专门知识和高级技能。对于资产用户团队,过程主要处理团队实际使用资产的需求。资产控制委员会涉及评审和测试。最后,一个高级管理人员或者技术专家做出批准资产的最后决定。
图4:典型的资产管理过程
连接资产管理过程与资产
最后一步是在 IBM Rational Method Composer 中为 Rational Asset Manager 设置存储资产管理过程的开发团队。这个特性把资产管理过程和资产本身联系起来。然后,开发人员可以用与开发环境一致的方法来快速定位这些资产,并确定它们的状态--不管它们是在评审、批准、发布还是退出(参见图5)。
图5:连接资产管理过程和资产
获得 Rational Asset Manager 丰富功能的全部利益
一旦您为项目配置了仓库,您的团队就可以开始使用 Rational Asset Manager 进行下面的资产生命周期管理操作:
Rational Asset Manager 是一个优秀的解决方案,它可以让公司度过软件开发变化趋势的暴风雨,它正是团队要求的资产管理方案。类似于 Rational Asset Manager 的企业资产仓库在组织中是软件开发过程的关键部分。随着这些仓库变得流行起来,它们已经变成所有 SOA 资产和其它相关资产的信息中心。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者