存在未被集成到更大的系统解决方案中或至少未以标准方法集成到更大 的系统解决方案中的、由客户使用的许多应用。因此,需要一种标准化的方 法来将任何新的或遗留的应用并入到可作为模板的解决方案中。
本发明提供了一种标准化的方法来通过使用可重用资产规范(RAS)简档 特征来将任何新的或遗留的应用并入到可作为模板的解决方案中。
本发明的第一方面涉及一种用于将应用集成到可作为模板的解决方案中 的方法,包括:向对应于所述应用的可作为模板的RAS资产提供默认的可重 用资产规范(RAS)简档;以及向所述默认的RAS简档添加至少一个扩展,所 述至少一个扩展包括用于实施可作为模板的
接口的可作为模板的实施扩展。
本发明的第二方面涉及一种用于将应用集成到可作为模板的解决方案的 系统,包括:用于向对应于所述应用的可作为模板的RAS资产提供默认的可 重用资产规范(RAS)简档的系统;以及用于向所述默认的RAS简档添加至少 一个扩展的系统,所述至少一个扩展包括用于实施可作为模板的接口的可作 为模板的实施扩展。
本发明的第三方面涉及一种在计算机可读介质上存储的程序产品,用于 将应用集成到可作为模板的解决方案中,所述计算机可读介质包括程序代码, 用于执行下列步骤:向对应于所述应用的可作为模板的RAS资产提供默认的 可重用资产规范(RAS)简档;以及向所述默认的RAS简档添加至少一个扩展, 所述至少一个扩展包括用于实施可作为模板的接口的可作为模板的实施扩 展。
本发明的第四方面涉及一种用于部署用于将应用集成到可作为模板的解 决方案中的应用的方法,包括:提供一种计算机
基础结构,可用于:向对应 于所述应用的可作为模板的RAS资产提供默认的可重用资产规范(RAS)简 档;以及向所述默认的RAS简档添加至少一个扩展,所述至少一个扩展包括 用于实施可作为模板的接口的可作为模板的实施扩展。
本发明的第五方面涉及一种在传播
信号中实现的计算机软件,用于将应 用集成到可作为模板的解决方案中,所述计算机
软件包括指令,用于使得计 算机系统执行下述功能:向对应于所述应用的可作为模板的RAS资产提供默 认的可重用资产规范(RAS)简档;以及向所述默认的RAS简档添加至少一个 扩展,所述至少一个扩展包括用于实施可作为模板的接口的可作为模板的实 施扩展。
本发明的说明性方面被设计来解决在此所述的问题和技术人员可以发现 的、其他未讨论的问题。
附图说明
通过下面结合附图详细说明本发明的各个方面,本发明的这些和其他特 征将会更容易明白,其中:
图1描述了按照本发明的一个
实施例的可作为模板的RAS资产的说明性 UML模型。
图2描述了按照本发明的另一个实施例的可作为模板的RAS资产的说明 性UML模型。
图3描述了用于实施本发明的实施例的说明性
计算机系统。
所述附图仅仅是示意的表示,不意欲描绘本发明的具体参数。所述附图 意欲仅仅描述本发明的典型实施例,因此,不应当被当作限定本发明的范围。 在所述附图中,类似的编号表示类似的元件。
具体实施方法
可重用资产规范(RAS)定义用于封装可重用软件资产的标准方法。可重 用的软件资产广义而言是解决在软件开发生命周期中遇到的一个具体问题或 一组问题的人工制品(artifact)的任何内聚(cohesive)集合。以重用为目的 创建可重用的软件资产。可重用资产与在软件开发生命周期中使用的其他人 工制品或人工制品集合的区别在其封装。可重用资产的封装仅仅是实施所述 解决方案的一组文件和整体定义和描述可重用资产的结构化的一组元信息。
在本发明的下面的说明中,假定读者理解RAS。因此,不在此包括RAS 的详细说明。可以例如在www.omg.org/cgi-bin/doc?ptc/2004-06-06或 www.omg.org/docs/ad/03-10-12.pdf中找到关于RAS的附加信息。
本发明提供了一种用于将任何新的或遗留的软件应用并入可作为模板的 解决方案的标准化方法。在图1中描述了按照本发明的一个实施例的(对应于 应用的)用于可作为模板的RAS资产12的说明性统一
建模语言(UML)模型 10。本发明的可作为模板的RAS资产12包括下面的方面:
1.可作为模板的接口的实施;
2.[可选]它提供到其他模板参与者(participant)的任何服务的规范和 公布;
3.[可选]它使用的服务的规范;以及
4.[可选]其可变性点(point of variability)的外部绑定(binding)。
为了使得可作为模板的RAS资产12提供上述的方面,本发明向可作为 模板的RAS资产12的默认RAS简档16提供扩展14。如本领域公知,默认 RAS简档16包括多个类,其中包括简档18、分类20、解决方案22、使用24 和相关资产26。简档18识别所描述的可作为模板的RAS资产12的具体类型。 分类20包含用于分类可作为模板的RAS资产12的关键特性和行为的描述符。 解决方案22包含对于在可作为模板的RAS资产12中包括的人工制品26的 引用。使用24提供关于如何应用/使用可作为模板的资产RAS12的信息。相 关资产26描述在可作为模板的资产RAS 12和其他RAS资产之间的关系(如 果有的话)。
为了使得可作为模板的RAS资产12实施可作为模板的接口,本发明向 默认RAS简档16加上了可作为模板的实施扩展28。如图1中所示,可作为 模板的实施扩展28是对于在默认RAS简档16中的解决方案22的扩展。在 可作为模板的实施扩展28中提供的可作为模板的接口的基本实施包括下列:
1)基本生命周期方法,诸如创建、删除和更新;以及
2)用于使得参与的部件描述其本身(也称为将其本身串行化到模板中)的 至少一种方法。
为了使得可作为模板的RAS资产12作为服务提供商,本发明向默认RAS 简档16添加服务提供商扩展30。服务提供商扩展30也是对于在默认RAS 简档16中的解决方案22的扩展。可作为模板的RAS资产12可以提供的服 务的一个示例是社区服务,诸如在IBM
工作空间产品中建立的那些。在
电子 邮件应用中,能够提供的服务的例子包括日历服务、发送电子邮件服务等。 默认RAS简档16中的分类20也能够用于
指定所提供的服务。
为了使得可作为模板的RAS资产12能够指定它所使用的服务,本发明 向默认RAS简档16添加服务客户扩展32。服务客户扩展32也是对于默认 RAS简档16中的解决方案22的扩展。可作为模板的RAS资产12能够使用 的服务客户的一个示例是社区服务,诸如在IBM工作空间产品中建立的那些。 例如,提供文件服务的可作为模板的RAS资产12可以使用社区来定义其
角 色,诸如读者和作者。作为另一个示例,可作为模板的RAS资产12可以例 如使用基本存储服务来存储由应用产生的数据(例如电子邮件数据)。
默认RAS简档16已经包括用于向可作为模板的RAS资产12的可变性 点提供外部绑定的方法。具体上,解决方案22包含对于在可作为模板的RAS 资产12中包括的人工制品的引用。如在本领域中公知,人工制品是可以通过 资产生产者/消费者和通过工具而创建、存储和操纵的工作产品。人工制品可 以包括例如要求、模型、代码、测试、文件等。人工制品包括可变性点类, 可变性点类定义可以由可作为模板的RAS资产12的客户改变的定制 (customization)点。每个可变性点描述可以在人工制品中哪里
修改和修改什 么。
按照本发明,可以提供一种新型的RAS资产来创建遗留应用的可作为模 板的RAS资产,以允许其完全参与到可作为模板的解决方案中。如在图2中 所示,这种新的RAS资产40看起来与如上所述的可作为模板的RAS资产12 很类似。一个差别是新RAS资产40的解决方案22还引用遗留的应用42。另 外,RAS资产40的解决方案22的可作为模板的实施扩展28引用“适配器” RAS资产44以实施的代表遗留的应用42可作为模板的接口。如在本领域中 所知,这样的适配器RAS资产44用于将应用的一个接口“适配”到客户期 望的接口(例如通过将其本身的接口缠绕在已经现有的应用的接口上),由此使 得应用可以一起工作,这通常因为不兼容的接口而不能作到。
在图3中描述了按照本发明的一个实施例的用于使用RAS简档将应用集 成到可作为模板的解决方案中的计算机系统100。在计算机基础结构102中 提供了所述计算机系统100。计算机系统100意欲表示能够执行本发明的教 导的任何类型的计算机系统。例如,计算机系统100可以是膝上型计算机、 台式计算机、工作站、手持器件、
服务器、计算机集群等。另外,如下进一 步所述,计算机系统100可以被服务提供商部署和/或操作。即,服务提供商 可以用于提供按照本发明的使用RAS简档将应用集成到可作为模板的解决方 案中的服务。应当明白,用户104可以直接地
访问计算机系统100,或可以 操作经由网络106(例如因特网、广域网(WAN)、局域网(LAN)、虚拟专用网 络(VPN)等)而与计算机系统100通信的计算机系统。在后者的情况下,在计 算机系统100和用户操作的计算机系统之间的通信可以经由各种类型的通信 链路的组合而发生。例如,通信链路可以包括可寻址的连接,所述连接可以 利用有线和/或无线的传输方法的任何组合。当经由因特网而发生通信时,可 以通过常规的基于TCP/IP套接字的协议来提供连接,并且因特网服务提供商 可以用于建立到因特网的连接。
计算机系统100被示出包括处理单元108、
存储器110、总线112和输入 /输出(I/O)接口114。而且,计算机系统100被示出与外部器件/资源116和一 个或多个存储系统118通信。总体上,处理单元108执行在存储器110和/或 存储系统118中存储的、诸如模板系统130之类的
计算机程序代码。当执行 计算机程序代码时,处理单元108可以向/自存储器110、存储系统118和/或 I/O接口114读取和/或写入数据。总线112提供了在计算机系统100中的每 个部件之间的通信链路。外部器件/资源116可以包括使得用户能够与计算机 系统100交互的任何器件(例如
键盘、指示器件、显示器(例如显示器120、打 印机等)和/或使得计算机系统100能够与一个或多个其他的计算器件通信的 任何器件(例如网络卡、
调制解调器等)。
计算机基础结构102仅仅是说明可以用于实施本发明的各种类型的计算 机基础结构。例如,在一个实施例中,计算机基础结构102可以包括两个或 更多的计算器件(例如服务器集群),它们通过网络(例如网络106)通信以执行 本发明的各种处理步骤。而且,计算机系统100仅仅表示可以用于本发明的 实践中的许多类型的计算机系统,其中每个可以包括
硬件/软件的多种组合。 例如,处理单元108可以包括单个处理单元,或者可以被分布在一个或多个
位置中的一个或多个处理单元上,例如在客户机和服务器上。类似地,存储 器110和/或存储系统118可以包括驻留在一个或多个物理位置上的各种类型 的数据存储器和/或传输媒体的任何组合。而且,I/O接口114可以包括用于 与一个或多个外部器件/资源116交换信息的任何系统。而且,应当明白,在 图3中未示出的一个或多个附加部件(例如
系统软件、通信系统、高速缓冲存 储器等)可以被包括在计算机系统100中。但是,如果计算机系统100包括手 持器件等,则应当明白,一个或多个外部器件/资源116(例如显示器)和/或一 个或多个存储系统118可以被包含在计算机系统100内,而不是如图所示的 外部。
存储系统118可以是能够在本发明下提供信息的存储的任何类型的系统 (例如
数据库)。在此程度上,存储系统118可以包括一个或多个存储器件,诸 如磁盘
驱动器或光盘驱动器。在另一个实施例中,存储系统118可以包括例 如分布在局域网(LAN)、广域网(WAN)或存储区域网(SAN)(未示出)上的数据。 而且,虽然未示出,但是由用户104操作的计算机系统可以包含类似于如上 对于计算机系统100所述的那些的计算机化的部件。
在存储器110(例如作为计算机程序产品)中示出了如上所述的、按照本 发明的一个实施例的模板系统130,用于使用RAS简档将应用132集成到可 作为模板的解决方案。具体上,模板系统130通过向应用132的默认RAS简 档16加上扩展14而提供了可作为模板的RAS资产12。如参见图1详细所述, 扩展14包括可作为模板的实施扩展28、服务提供商扩展30和服务客户扩展 32。为了提供遗留应用42的可作为模板的RAS资产40,可作为模板的RAS 资产40的解决方案22(图2)也引用遗留应用42。另外,可作为模板的RAS 资产40的解决方案22的可作为模板的实施扩展28引用适配器RAS资产44 以实施的代表遗留应用42可作为模板的接口。
本发明可以被提供作为在订购或收费的基础上的商业方法。例如,可以 通过向客户提供在此所述的功能的服务提供商来创建、维护、支持和/或部署 本发明的一个或多个部件。即,服务提供商可以用于提供按照本发明的用于 使用RAS简档将应用集成到可作为模板的解决方案中的服务。
也应当明白,可以以硬件、软件、传播信号或其任何组合来实施本发明。 任何种类的计算机/服务器系统——或被适配来执行在此所述的方法的其他 装置——是适合的。硬件和软件的典型组合可以包括通用计算机系统,通用 计算机系统具有计算机程序,所述计算机程序当被安装和执行时执行在此所 述的相应方法。或者,可以使用包含用于执行本发明的一个或多个功能任务 的专用硬件的专用计算机。本发明也可以被嵌入到计算机程序产品或传播信 号中,其包括用于使能在此所述的方法的实施的所有相应特征,并且当被安 装到计算机系统中时能够执行这些方法。
本发明能够采取整个硬件实施例、整个软件实施例或包含硬件和软件元 素二者的实施例的形式。在一个优选实施例中,本发明以软件被实施,所述 软件包括但是不限于
固件、驻留软件、微代码等。
本发明可以采取从计算机可用或计算机可读介质可存取的计算机程序产 品的形式,所述介质提供由计算机或任何指令执行系统使用或与其结合的程 序代码。对于本
说明书,计算机可用或计算机可读介质可以是能够包含、存 储、通信、传播或传送由指令系统系统、装置或器件使用或与其相结合的程 序的任何装置。
所述介质可以是电子的、磁的、光的、电磁的、红外线的或
半导体的系 统(或装置或器件)或传播介质。计算机可读介质的示例包括半导体或固态存储 器、磁带、可装卸计算机盘、
随机存取存储器(RAM)、
只读存储器(ROM)、 硬磁盘和光盘。光盘的当前示例包括致密盘-只读盘(CD-ROM)、致密盘-读/ 写盘(CD-R/W)和数字多功能盘(DVD)。
在本上下文中的计算机程序、传播信号、软件程序、程序或软件表示一 组指令的以任何语言、代码或符号的任何表达式,所述一组指令意欲使得具 有信息处理能
力的系统直接或在下述之一或两者后执行特定功能:(a)转换到 另一种语言、代码或符号;和/或(b)以不同的材料形式再现。
本发明的
权利要求的上述说明已经被提供以用于说明和描述。不意欲是 穷尽性的或将本发明限定到所公开的精确形式,并且显然,许多修改和改变 是可能的。对于本领域内的技术人员显然的这样的修改和改变包括在由所附 的权利要求限定的本发明的范围中。