CN103069382A - 在面向服务的架构储存库之间的迁移工件 - Google Patents
在面向服务的架构储存库之间的迁移工件 Download PDFInfo
- Publication number
- CN103069382A CN103069382A CN2010800688577A CN201080068857A CN103069382A CN 103069382 A CN103069382 A CN 103069382A CN 2010800688577 A CN2010800688577 A CN 2010800688577A CN 201080068857 A CN201080068857 A CN 201080068857A CN 103069382 A CN103069382 A CN 103069382A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- storage vault
- data
- metadata
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000003860 storage Methods 0.000 claims description 144
- 238000007726 management method Methods 0.000 claims description 25
- 230000008676 import Effects 0.000 claims description 12
- 238000009795 derivation Methods 0.000 claims description 10
- 238000005538 encapsulation Methods 0.000 claims description 8
- 238000006116 polymerization reaction Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims 4
- 230000010076 replication Effects 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 27
- 230000005012 migration Effects 0.000 description 18
- 238000013508 migration Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
在本文中提供了一种在面向服务的架构储存库之间迁移工件的方法(300)。所述方法(300)包括接收(302)从第一储存库导出工件的请求;所述工件包括与面向服务的架构相关联的元数据。附加地,所述方法包括从所述工件的一个或多个聚合关系中检索(306)数据。所述方法还包括将所检索到的数据封装到(314)包括所选择的数据的数据存储中。
Description
背景技术
面向服务的架构是一种信息技术,其中可以使业务功能(例如,软件应用部件)如网络(诸如因特网)上的共享的、可重新使用的服务那样可用。该架构松散地耦合能够以标准化的、透明的方式进行交互的部件,而不管平台、厂商或运行该部件的技术如何。
使用面向服务的架构,组织可以更反应迅速且更有效率,因为可以快速地开发、组合以及部署灵活的、基于标准的部件。在企业组织中,该架构使得新技术的快速部署能够利用动态市场中的机会。
用其中记录了可用部件的管理工具集来维护架构本身。使该文档对于架构的潜在用户而言可用于通知他们什么部件是可用的,以及如何使用这些部件。所述文档被典型地存储在数据库或储存库(repository)中。
在某些情况下,组织可以使用多个储存库。例如,组织内的每个部门可以具有它自己的储存库。
当组织构建部门之间的软件接口时,可以在不同的储存库之间迁移或者复制服务。当服务被迁移时,所关联的储存库数据也被迁移。
当前的迁移储存库数据的工具限于联网的架构。对于指望利用由架构所提供的效率的组织来说,关于定制什么被迁移的进一步的限制使得这些工具效率低下。
附图说明
在以下详细的描述中并且参考附图对特定实施例进行描述,在图中:
图1A是具有根据本发明的实施例的面向服务的架构的多个储存库的系统的方框图;
图1B是根据本发明的实施例的面向服务的架构储存库的方框图;
图2是根据本发明的实施例的面向服务的架构的储存库的方框图;
图3是用于使根据本发明的实施例的面向服务的架构储存库同步的方法的处理流程图;
图4是图示了根据本发明的实施例的服务的迁移的方框图;
图5是图示了根据本发明的实施例的两个面向服务的架构储存库的方框图;
图6是用于使根据本发明的实施例的面向服务的架构储存库同步的方法的处理流程图;
图7是示出了存储用于使面向服务的架构储存库同步的代码的非暂时性机器可读介质的方框图;以及
图8是图示了用于使根据本发明的实施例的面向服务的架构储存库同步的系统的方框图。
具体实施方式
图1A是具有根据本发明的实施例的面向服务的架构的多个储存库的系统100的方框图。如所示出的,系统100包括:开发储存库110A、110B、110C;测试储存库120A、120B、120C;登台(staging)储存库130A、130B、130C;以及生产储存库140。对于组织中的特定部门来说,所述储存库中的每一个可以表示软件生命周期中的一个阶段。
软件生命周期表示在典型的软件开发工作中涉及到的不同阶段。生命周期包括开发阶段、测试阶段、登台阶段以及生产阶段。
开发阶段是开发新软件和/或对现有软件进行修改的阶段。典型地,开发阶段包括单元测试,借此可以验证各个软件部件的功能。
开发储存库110A、110B、110C可以包括正在为组织中的3个单独的部门A、B以及C开发的软件的元数据。一旦单元测试完成,就可以将软件部件迁移到测试阶段,并且可以将关联的元数据迁移到测试储存库。
测试阶段是可以验证经单元测试过的软件部件之间的交互的阶段。测试储存库120A、120B以及120C可以包括正在被测试的软件的元数据。一旦测试阶段完成,就可以将软件部件迁移到登台阶段,并且可以将关联的元数据迁移到登台储存库。
登台阶段是可以在类似生产的环境中对测试过的软件进一步进行测试的阶段。可以在登台阶段中验证部门间接口。登台储存库130A、130B、130C可以包括处于登台阶段中的软件的元数据。一旦登台阶段完成,就可以将软件部件迁移到生产阶段,并且可以将关联的元数据迁移到生产储存库140。
生产阶段可以表示组织的面向服务的架构的实际有效实现。生产储存库140可以包括可用于由面向服务的架构的消费者执行的软件的元数据。如所示出的,可以用单个生产储存库140来表示组织的所有部门的软件实现。
在本发明的实施例中,各储存库可以在物理上分离。物理分离可以包括空气间隙,借此,储存库之间不存在网络连接。同样地,迁移可以包括两个单独的步骤:导出步骤和导入步骤。
导出步骤可以包括从源储存库导出元数据。例如,当将软件部件迁移到测试阶段时,可以将关联的元数据从开发储存库110A导出到物理存储设备中。物理存储设备可以是致密盘、或其他计算机可读介质。然后可以将致密盘转移到目的储存库(诸如测试储存库120A)的物理位置,在那里可以执行导入步骤。
如由本领域的技术人员所理解的那样,各储存库的不同布置是可能的。系统100仅仅是组织的面向服务的架构储存库的一个可能的示例。
图1B是根据本发明的实施例的面向服务的架构(service-oriented architecture)储存库150的方框图。储存库150包括工件(artifact)152和其他元数据,诸如关系182、历史184、安全186、分类188、管理元数据190以及管理过程192。
工件
工件152可以包括关于服务的元数据、或关于在面向服务的架构中提供的服务的实现细节。工件152还可以包括与扩展名(extension)和插件(plug-in)相关的元数据。
工件152的示例包括但不限于服务162、实现方式164、联系人166、评论154、评级156、契约(contract)158、文档160、端点168、web服务描述语言(WSDL)170、服务水平目标(SLO)174、以及XML模式(schema)定义(XSD)176。
评论154可以使服务162的消费者能够讨论储存库150中的工件152。在某些情况下,消费者可以提供对工件152的评论154。在这样的情况下,可以使其他消费者或提供者能够对评论154作出响应。通过知识和经验的分享,这可以促进储存库150的多个用户之间的合作。
评级156允许用户将评级分数应用于工件152。服务162的消费者可以检查其他消费者如何对特定的工件152(例如,服务162)进行评级,并且选择具有良好评级的服务162(或其他工件152)。
契约158用于对(例如在服务162之间的)提供者-消费者的关系进行建模。契约158还记录消费者、所消费的服务162、以及用于提供服务162的条款。
文档160对储存库150中的“文件”(任意文件 – MC Word、PDF、XLS、图表等)进行建模。文档160可以被链接到相关的工件152。这些链接可以表示工件152由文档160来描述或者与文档160有关。
服务162表示特定的一组功能,其可以被其他服务、应用、客户使用(消费)。服务162是已经对其应用了达有意义程度的服务定向的解决方法逻辑的单元。
实现方式164可以表示服务162的功能元素。根据与诸如操作和端点168之类的其他工件152的关系来看,实现方式164可以提供服务162的技术描述。
联系人166表示储存库150中的人和组织单元。联系人166还允许可以促进到工件152、人、组织以及工件152、人与组织之间的关系的链接。例如,关系可以包括责任方、支持人员、风险承担者等。
端点168指定了关于如何访问服务162(实现方式)的技术细节。该细节可以包括详情,诸如在哪里以及如何访问服务162。
web服务描述语言170是用于对web服务进行描述的标准格式。web服务描述语言170定义描述了如何访问web服务,以及执行什么操作。首字母缩写词WSDL通常发‘whizz-dul’的音(以与‘whistle’押韵)。如本领域中的技术人员所理解的那样,web服务描述语言170 WSDL是web服务162以及其他(诸如SOAP和UDDI)的一个基础标准。
服务水平目标174是服务提供者与消费者(即服务162的消费者)之间的服务水平协议(SLA)的元素。服务水平目标174被同意作为对服务提供者的表现进行测量的手段。有利地,通过同意服务水平目标174,提供者和消费者可以避免由误解引起的争议。
XML模式定义176描述并且验证数据XML环境。模式是用于对信息的结构进行描述的模型。XML模式定义176的内含物是万维网联盟(W3C)的建议。
其他元数据
关系182可以描述不同工件152之间的关系。关系182中的每一个可以具有目标和源。
在本发明的实施例中,关系182可以被分类为聚合、依赖或关联。聚合关系可以指示关系的目标是源的一部分。换句话说,在目标工件152中存储的元数据可以包括在源工件152中存储的元数据。
依赖关系可以指示源工件152可以依赖于目标工件152。在依赖关系中,在源工件152中存储的元数据可以被包括在目标工件152中。关联关系可以指示源与目标之间的一般连接。
历史184可以包括对工件152的历史修正。当迁移工件152时,用户可以选择是否包括工件152的所有历史184。
安全186可以用访问控制列表(ACL)来表示。访问控制列表可以是与工件152相关联的权限的列表。访问控制列表可以指定被允许对工件152访问的用户或系统过程,以及对工件152允许什么操作。
分类188可以指定用于对工件152进行分类的分类系统。可以限制对分类188的更新,因为储存库150的内容可能对分类188中的错误敏感。
应注意的是,将分类188迁移到目的储存库用来更新目的储存库中的分类188。同样地,在本发明的实施例中,可以分别地迁移分类188和工件152以避免目的储存库中的潜在错误。
管理元数据190可以标识对工件152的最后批准的修正。在本发明的实施例中,用户可以选择是否迁移工件152的最后修正、或最后批准的修正。
管理元数据190可以提供关于工件152的状态的附加信息。被迁移的管理元数据190可能受限于与正被迁移的工件152有关的管理元数据190。
在没有被迁移工件152的有关的管理元数据190的情况下,如由本领域中的技术人员所理解的那样,来自工件152的某些东西被丢失了并且在目的储存库中将缺失。在没有管理元数据190的情况下,工件152仍然可以符合工件模型。然而,管理元数据190符合不同于工件152的规则。可以通过例如管理框架来确定不同的规则。
管理过程192可以包含阶段以及阶段之间的转变。阶段可以包括开发、测试、生产、取消等等。转变可以包括开发到测试、开发到取消、测试到生产、测试到取消等等。管理过程192可以促进工件152的生命周期的控制。
每一个阶段可以包括规格(specification),诸如批准者、任务、策略以及自动化动作。批准者可以是批准将工件152置于特定阶段中的用户(用角色或组定义)。例如,当工件152的开发结束时,工件152的维护者将请求批准。批准者可以被通知,并且检查(一个或多个)工件152。批准者然后可以接受/拒绝批准请求。对于转变来说,可以实施阻止向工件152分配转变的规则,除非对应阶段被批准。
任务可以定义在阶段期间的角色和责任。例如,具有开发者的角色的人可以在开发阶段期间执行所述实现方式。
策略可以包括要针对阶段被批准的工件152的资格。以这种方式,批准可以自动地发生。如果资格不满足,则可以阻止用户请求批准。
自动动作可以由预定事件触发。例如,当工件152被批准用于生产阶段时,服务162可以被标记为可消费的。附加地,可以将通知发送给特定用户。
与分类188类似,可以从工件152单独地迁移管理过程192。在这样的实施例中,可以确定迁移管理过程192的完整闭包(full-closure)。如何确定完整闭包对于特定的储存库而言可以是特定的。然而,管理过程192典型地包括转变规则、策略以及分类,其可以被包括在管理过程的闭包中。
在某些场景中,可以不相容地改变管理过程192。例如,给出过程版本A和后期开发的A’,其中过程A对工件152进行管理。当过程A被改变为过程A’时,可以根据过程A’的定义来对工件152进行管理。
如果过程A’可以被传播到受管理的工件152,则改变可以是后向兼容的。例如,如果添加了批准者,则新的批准者可以被传播给受管理的工件152。同样地,当请求批准时,将通知更多的批准者。更新可能对其批准已经正在运行的工件152没有影响。
然而,如果例如一阶段被移除了,则某些更新可能是不兼容的。如果管理过程192不是兼容的,则它可以作为新过程被导入。同样地,在源储存库中,可以存在过程A以及后期版本过程A’。如果进行了不兼容的改变,则在目标储存库中,可以存在两个不同的过程A和A’。这些可以被表示为具有不同身份的两个不同的实体。因此,可以反对过程A,这可以阻止过程A被用来开始新工件152的管理。代替地,过程A可以管理已经由该过程先前管理了的工件152,而过程A’可以被用来管理新的工件152。
图2是根据本发明的实施例的面向服务的架构的储存库200的方框图。面向服务的架构储存库200可以包括针对服务(诸如服务X和服务Z)的元数据。元数据可以被组织为工件152,诸如X:服务202、Z:服务206,以及Y:实现方式204。
连接储存库200中的工件152的线可以表示关系182。例如,在X:服务202与Z:服务206之间的关系(标记的契约210)可以指示服务X依赖于服务Z。
虽然契约158是工件152,但可以存在来自服务X的关系,其可以是该契约的消费者以及从契约提供者到服务Z的关系的消费者。两个提及的关系被标记为依赖 – 因而服务X依赖于该契约,而该契约依赖于服务Z。
附加地,关系依赖212可以指示服务X的实现方式可以依赖于实现方式Y的使用部分。
在储存库200被表示为数据库的本发明的实施例中,各个工件152可以被表示为数据库表中的行。在这样的实施例中,工件152之间的关系可以被表示为数据库关系。
在本发明的实施例中,可以将工件类型中的任何一个迁移到另一个储存库。然而,可以将典型的面向服务的架构抽象映射到多个工件152。同样地,典型的迁移可以包括一个以上的工件152。
在这样的实施例中,当针对迁移选择了一个工件152时,可以确定工件闭包。该工件闭包可以包括在特定抽象内的所有工件152。例如,储存库200可以包括针对工件X:服务202的工件闭包202A、针对工件Y:实现方式204的工件闭包204A、以及针对工件Z:服务206的工件闭包206A。工件闭包202A、204A、206A可以包括所有工件152,其分别与工件202、204、206具有聚合关系。
图3是用于使根据本发明的实施例的面向服务的架构储存库同步的方法300的处理流程图。应理解的是,该处理流程图不旨在指示执行的特定次序。
当接收到用于导出工件152的请求时,方法300可以在方框302处开始。所述请求可以指定要被导出的工件152。
在方框304处,可以标识工件闭包。如先前所陈述的那样,工件闭包可以包括与所请求的工件152具有聚合关系的所有工件152。
在本发明的实施例中,储存库150的模型可以被用来标识聚合关系。所述模型可以指定储存库中的每个关系182的类型,即聚合、依赖或关联。
在方框306处,可以从储存库150中检索工件闭包。如先前所陈述的那样,工件闭包可以包括所请求的工件152中的元数据,和与所请求的工件152具有聚合关系的所有工件152。
附加地,工件闭包可以包括与该工件闭包的依赖关系。可以不检索通过依赖关系而被连接到该工件闭包的工件152。
在方框308处,可以从储存库150中检索安全数据。所检索到的安全数据可以包括针对工件闭包中的工件152中的每一个的安全186。
在方框310处,可以从储存库150中检索管理元数据190。所检索到的管理元数据可以包括针对工件闭包中的工件152中的每一个的管理元数据190。
在方框312处,可以从储存库中检索用户指定的元数据。除了工件闭包、安全186以及管理元数据190之外,用户可以指定要被包括在导出中的元数据。用户指定的元数据可以包括历史184、分类188以及由用户指定的任何工件152。由用户指定的工件152可以包括与工件闭包具有依赖关系的工件152。
在方框314处,可以将所检索到的数据封装到档案文件(archive)中。在本发明的实施例中,可以用ZIP档案文件的形式将档案文件串行化和封装。
档案文件可以包含对档案文件的内容进行描述的清单。例如,所述清单可以指定格式版本、起源统一资源定位符(URL)、请求导出的用户、导出的日期和时间、源储存库名称、更新、扩展名、基本统一资源定位符、模型版本、循环冗余校验(CRC)以及数字签名。数字签名可以被用来建立储存库之间的信任。当档案文件被受信任的储存库签署时,对于到目的储存库的导入来说,该档案文件可以被认为是安全的。
在方框316处,档案文件可以被导入到目的储存库。在本发明的实施例中,可以对用户示出经封装的数据的预览,根据所述预览用户可以作出选择。例如,用户可以选择要被导入的经封装的数据的子集。所选择的数据然后可以被导入到目的储存库。
在本发明的一个实施例中,可以生成被导入的数据的报告。所述报告可以被用来提供导入和导出过程的审查跟踪。
在本发明的另一实施例中,可以确定是否在档案文件中针对工件152缺少了分类188。如果是这样,则可以停止导入。附加地,可以建议用户从源储存库导出缺少的分类,并且重新导入。
导入可以考虑一个或多个用户指定的选项。例如,用户可以指定是档案文件中的数据还是目的储存库中的数据在冲突情况下享有优先权。用户还可以指定所导入的数据的所有权。附加地,用户可以指定档案文件中的关系182是与目的储存库中的关系182合并还是替换目的储存库中的关系182。
其他导入选项可以允许用户指定是否导入安全186。如果导入安全186,则用户可以指定所导入的安全是与目的储存库中的安全186合并还是替换目的储存库中的安全186。此外,用户可以指定是否将管理元数据190、分类188、插件以及扩展名相关的元数据和配置导入到目的储存库。
配置可以是另一类型的元数据,诸如服务器配置、是否允许空数据工件152的创建、在表中显示多少行等。可以按照储存库150的用户指定配置。
在本发明的另一实施例中,导入和导出过程可以是自动化的。在这样的实施例中,目的储存库的管理员可以定义要被导入的源储存库中的一组工件152。管理员还可以指定何时发生导入。可以按一次事件或周期性事件来调度该过程。
在本发明的又一个实施例中,方法300可以被用作储存库150的集成接口。同样地,可以用允许通过第三方工具进行档案文件生成的元数据来记录和注解档案文件的格式。在这样的实施例中,消费者可以创建从电子数据表中提取服务的定义的脚本,并且创建用于将服务导入到另一个储存库的封装。
图4是图示了根据本发明的实施例的服务的迁移的方框图。储存库402可以包括针对新:服务404和X:服务406的工件152。新:服务404可以与X:服务406具有依赖关系。
在新:服务404被导出的场景中,可以针对新:服务404确定工件闭包404A。如所示出的,工件闭包404A可以包括与X:服务而不是X:服务404的依赖关系。
当导入经封装的工件闭包404A时,两个场景是可能的。在目的储存库410A中图示的第一个场景是目的储存库410A不包括X:服务406。如所示出的,依赖关系被导入到目的储存库410A,而不是X:服务406。
在目的储存库410B中图示的第二个场景中,在工件闭包404A被导入之前,X:服务406存在于目的储存库410B中。在新:服务404被迁移之前,当X:服务406被迁移到目的储存库410B时,本场景会出现。
如所示出的,通过将关系182包括在工件闭包404A中,一旦两个工件152均被导入,则能实现目的储存库中的相关工件152的正确链接。
图5是图示了根据本发明的实施例的两个面向服务的架构储存库510、520的方框图。储存库510、520可以通过空气间隙而被分离,并且被参考图6加以描述,图6图示了用于使根据本发明的实施例的面向服务的架构储存库510、520同步的方法的处理流程图。
在本发明的实施例中,可以在两个储存库510、520之间执行双向迁移。在这样的实施例中,在方框602处,可以执行从第一储存库的导出。例如,可以从登台储存库510导出项目512。
项目512可以包括如上所述的当迁移工件152时被导出的来自储存库510的所有数据。项目512可以不包括诸如契约516和文档514之类的工件152。项目512可以被导出并且封装在zip档案文件530中。
在方框604处,可以执行到第二储存库的导入。例如,可以将zip档案文件530导入到生产储存库520。从zip档案文件530导入的数据可以被包括在项目522中。
在方框606处,可以执行从第二储存库的导出。例如,可以将新的数据(诸如契约524和文档526)从生产储存库520导出到zip档案文件540中。
在方框608处,可以执行到第一储存库的导入。例如,可以将zip档案文件540导入到登台储存库510的文档514和契约516。
图7是示出了存储用于使面向服务的架构储存库同步的代码的非暂时性机器可读介质的方框图。通常通过附图标记700来指所述非暂时性机器可读介质。
非暂时性机器可读介质700可以对应于存储计算机实现的指令(诸如编程代码等等)的任何典型的存储设备。例如,非暂时性机器可读介质700可以包括非易失性存储器、易失性存储器和/或一个或多个存储设备中的一个或多个。非易失性存储器的示例包括但不限于电可擦可编程只读存储器(EEPROM)和只读存储器(ROM)。易失性存储器的示例包括但不限于静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。存储设备的示例包括但不限于硬盘驱动器、致密盘驱动器、数字通用盘驱动器以及闪速存储器设备。
处理器702通常检索并且执行在非暂时性机器可读介质700中存储的计算机实现的指令,以在面向服务的架构储存库之间迁移工件152。可以针对第一储存库中的工件152接收导出请求。可以标识工件闭包。可以从第一储存库检索工件闭包、安全数据、管理数据以及用户指定的元数据。所检索到的数据可以被封装到档案文件中,该档案文件被导入到第二储存库。
图8是图示了用于使根据本发明的实施例的面向服务的架构储存库同步的系统的方框图。通常通过附图标记800来指该系统。
本领域中的普通技术人员将领会的是,图8中所示出的功能块和设备可以包括硬件元件、软件元件、或软件和硬件的某组合。硬件元件可以包括电路。软件元件可以包括在非暂时性机器可读介质上存储的计算机代码。
附加地,系统800的功能块和设备只是可以在本发明的实施例中实现的功能块和设备的一个示例。本领域中的普通技术人员将容易地能够基于针对特定电子设备的设计考虑来定义特定的功能块。
系统800可以包括通过网络830进行通信的服务器802、804。可以对服务器804进行与服务器802类似的配置。
如所示出的,服务器802可以包括一个或多个处理器812,所述处理器812可以通过总线813连接到显示器814、键盘816、一个或多个输入设备818以及输出设备,诸如打印机820。输入设备818可以包括诸如鼠标或触摸屏之类的设备。
服务器802还可以通过总线813连接到网络接口卡826。网络接口卡826可以将数据库服务器802连接到网络830。
网络830可以是局域网、广域网(诸如因特网)或另一个网络配置。网络830可以包括路由器、交换机、调制解调器或任何其他种类的用于互连的接口设备。
服务器802可以具有通过总线813操作性地耦合到处理器812的其他单元。这些单元可以包括非暂时性机器可读存储介质,诸如储存器822。
储存器822可以包括用于操作软件和数据的长期存储的介质,诸如硬盘驱动器。储存器822还可以包括其他类型的非暂时性机器可读介质,诸如只读存储器和随机存取存储器。
储存器822可以包括在本技术的实施例中使用的软件。在本发明的实施例中,储存器822可以包括面向服务的架构储存库A 824A、模型828以及储存库管理器829。如上所述,储存库管理器828可以将工件152从储存库A 824A迁移到服务器804上的储存库B 824B。
模型829可以表示储存库A 824A的数据结构。在本发明的实施例中,模型829可以指定储存库A 824A的工件152之间的关系。模型829还可以指定关系中的每一个的类型,即,聚合、依赖或关联。同样地,储存库管理器828可以使用该模型来确定要被从储存库A 824A迁移到储存库B 824B的工件152的工件闭包。
Claims (15)
1.一种在面向服务的架构储存库(510, 520, 824A, 824B)之间迁移工件(152)的方法(300):
接收(302)从第一储存库(510, 824A)导出工件(152)的请求,其中,所述工件(152)包括与面向服务的架构相关联的元数据;
从所述工件(152)的一个或多个聚合关系中检索(306)数据;以及
将所检索到的数据封装(314)到包括所检索到的数据的数据存储(530, 540)中。
2.如权利要求1中所述的方法(300),其中,所述元数据包括面向服务的架构的服务(162)。
3.如权利要求1中所述的方法(300),其中,所述第一储存库(510, 824A)被存储在数据库中,并且其中,所检索到的数据包括所述数据库中的多个表的多个行,以及其中,所述多个表的第一子集以聚合数据库关系与所述多个表的第二子集相关。
4.如权利要求3中所述的方法(300),其中,所述多个表的所述第一子集的柱状数据包括所述多个表的所述第二子集的柱状数据。
5.如权利要求1中所述的方法(300),包括将所检索到的来自所述工件(152)的一个或多个聚合关系的数据复制到第二储存库(520, 824B)。
6.如权利要求5中所述的方法(300),其中,所述第一储存库(510, 824A)和所述第二储存库(520, 824B)中的任何一个是以下各项中的一个:
软件开发储存库(110A, 110B, 110C);
软件测试储存库(120A, 120B, 120C);
软件登台储存库(130A, 130B, 130C);以及
软件生产储存库(140)。
7.如权利要求1中所述的方法(300),包括:
从所述工件(152)的一个或多个依赖关系中检索数据,其中,所述多个表的所述第二子集的柱状数据包括所述多个表的所述第一子集的柱状数据;以及
将来自所述工件(152)的所述一个或多个依赖关系的所述数据复制到第二储存库(520, 824B)。
8.如权利要求6中所述的方法(300),包括:
从所述第二储存库(520, 824B)中的所述工件(152)的一个或多个依赖关系中检索(312)数据;以及
将来自所述第二储存库(520, 824B)中的所述工件(152)的所述一个或多个依赖关系的所述数据复制到所述第一储存库(510, 824A)。
9.如权利要求8中所述的方法(300),其中,来自所述第二储存库(520, 824B)中的所述工件(152)的所述一个或多个依赖关系的数据包括契约元数据(158, 524)、评级元数据(156)以及评论元数据(154),并且其中,所述第二储存库(520, 824B)是软件生产储存库(140)。
10.如权利要求6中所述的方法(300),其中,所述第一储存库(510, 824A)是针对组织的第一部门,而所述第二储存库是针对组织的第二部门。
11.如权利要求6中所述的方法(300),其中,所述第一储存库(510, 824A)和所述第二储存库(520, 824B)被空气间隙分离,并且其中,所述数据存储(530, 540)包括zip档案文件(530, 540)。
12.如权利要求1中所述的方法(300),包括:
显示数据存储(530, 540)中的数据的列表;
接收所述数据的子集的用户选择;以及
将所述数据的子集复制到第二储存库(520, 824B)。
13.一种用于在面向服务的架构储存库之间迁移工件(152)的计算机系统(800),包括:
包括第一处理器(812)的源系统(802),其被配置成:
接收(302)从第一储存库(510, 824A)导出工件(152)的请求,其中,所述工件(152)包括与面向服务的架构相关联的元数据;
基于所述第一储存库(510, 824A)的模型(828)从所述工件(152)的一个或多个聚合关系中检索(306)数据;以及
将所检索到的数据封装(314)到包括所检索到的数据的数据存储(530, 540)中;和
目的系统(804),其包括第二处理器,被配置成:
接收所述数据存储(530, 540);以及
将所述数据存储复制到第二储存库(520, 824B)。
14.如权利要求13中所述的计算机系统(800),其中,所述模型(828)标识:
多个工件(152),其中,所述多个工件(152)包括所述工件(152);
所述多个工件(152)之间的多个关系(182);以及
与所述多个关系(182)相对应的多个关系类型,其中,所述多个关系类型中的每一个包括以下各项中的一个:
聚合;
依赖;或
关联。
15.一种非暂时性机器可读介质(700),其包括可由处理器(702)执行以在面向服务的架构储存库之间迁移工件(152)的机器可读指令,其中,所述机器可读指令当被所述处理器(702)执行时使所述处理器(702):
接收(302)针对第一储存库(510, 824A)中的工件(152)的导出请求;
标识(304)工件闭包(202A、204A、404A);
检索(306)所述工件闭包(202A、204A、404A);
检索(308)安全数据(186);
检索(310)管理元数据(190);
检索(312)用户指定的元数据;
将检索到的数据封装(314)到档案文件(530, 540)中;以及
将所述档案文件(530, 540)导入(316)到第二储存库(520, 824B)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/040748 WO2012002968A1 (en) | 2010-07-01 | 2010-07-01 | Migrating artifacts between service-oriented architecture repositories |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103069382A true CN103069382A (zh) | 2013-04-24 |
Family
ID=45402411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800688577A Pending CN103069382A (zh) | 2010-07-01 | 2010-07-01 | 在面向服务的架构储存库之间的迁移工件 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9104668B2 (zh) |
EP (1) | EP2589010A4 (zh) |
CN (1) | CN103069382A (zh) |
WO (1) | WO2012002968A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222036A (zh) * | 2013-07-09 | 2019-09-10 | 甲骨文国际公司 | 自动数据库迁移架构 |
CN110915161A (zh) * | 2017-07-12 | 2020-03-24 | 惠普发展公司,有限责任合伙企业 | 存储器设备的迁移 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855131B (zh) * | 2011-06-30 | 2016-01-13 | 国际商业机器公司 | 用于软件配置管理的装置和方法 |
US20160019288A1 (en) * | 2014-07-16 | 2016-01-21 | Martin Knechtel | Restricted access database aggregates |
US9459839B2 (en) * | 2014-12-15 | 2016-10-04 | Tasktop Technologies, Incorporated | Systems and methods to synchronize artifact relationships across a plurality of repositories |
US11099834B2 (en) | 2017-11-16 | 2021-08-24 | Hewlett-Packard Development Company, L.P. | Software builds using a cloud system |
US10853049B2 (en) * | 2017-12-01 | 2020-12-01 | Adp, Llc | Methods for enabling a computer to migrate microservices and to perform microservice templating |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030144892A1 (en) * | 2002-01-29 | 2003-07-31 | International Business Machines Corporation | Method, system, and storage medium for providing knowledge management services |
CN101441563A (zh) * | 2007-11-19 | 2009-05-27 | 国际商业机器公司 | 自动化用于信息服务的架构设计模型的创建的系统和方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152210A1 (en) * | 2001-04-03 | 2002-10-17 | Venetica Corporation | System for providing access to multiple disparate content repositories with a single consistent interface |
US7016919B2 (en) * | 2002-03-29 | 2006-03-21 | Agilent Technologies, Inc. | Enterprise framework and applications supporting meta-data and data traceability requirements |
EP1499981A4 (en) | 2002-04-19 | 2006-04-19 | Computer Ass Think Inc | SYSTEM AND METHOD FOR MANAGING ENDOGENOUS APPLICATION DATA |
WO2004077215A2 (en) | 2003-01-30 | 2004-09-10 | Vaman Technologies (R & D) Limited | System and method for data migration and conversion |
US7010646B2 (en) | 2003-03-24 | 2006-03-07 | Lsi Logic Corporation | Methods and structure for improved volume migration between storage array subsystems |
US20060085412A1 (en) * | 2003-04-15 | 2006-04-20 | Johnson Sean A | System for managing multiple disparate content repositories and workflow systems |
US8275742B2 (en) * | 2003-05-19 | 2012-09-25 | Sap Aktiengesellschaft | Data importation and exportation for computing devices |
US20070061277A1 (en) * | 2003-09-05 | 2007-03-15 | International Business Machines Corporation | Method, system, and storage medium for providing dynamic deployment of grid services over a computer network |
US7277904B2 (en) * | 2003-12-18 | 2007-10-02 | International Business Machines Corporation | Method and system for managing intellectual property aspects of software code |
US7496912B2 (en) * | 2004-02-27 | 2009-02-24 | International Business Machines Corporation | Methods and arrangements for ordering changes in computing systems |
US8667465B2 (en) * | 2008-03-31 | 2014-03-04 | Accurev, Inc. | System for estimating a software product release time from version information |
US20060101443A1 (en) * | 2004-10-25 | 2006-05-11 | Jim Nasr | Source code management system and method |
US7523147B2 (en) * | 2005-02-24 | 2009-04-21 | International Business Machines Corporation | Method and system for managing inventory for a migration using history data |
US8010946B2 (en) * | 2005-03-18 | 2011-08-30 | Oracle International Corporation | Apparatus for analysing and organizing artifacts in a software application |
US20090248469A1 (en) * | 2005-08-09 | 2009-10-01 | Runge Ltd. | Method and system of integrated mine planning |
US8001477B2 (en) * | 2005-11-11 | 2011-08-16 | International Business Machines Corporation | Method for exchanging portlet configuration data |
US8429610B2 (en) * | 2005-12-20 | 2013-04-23 | International Business Machines Corporation | Computer method and apparatus for providing version-aware impact analysis |
US7630965B1 (en) | 2005-12-20 | 2009-12-08 | At&T Intellectual Property Ii, L.P. | Wizard for use generating a services repository using a target services roadmap |
US8812556B2 (en) * | 2006-04-06 | 2014-08-19 | International Business Machines Corporation | Storing modification data for recreating modifications |
US7908601B2 (en) * | 2006-11-01 | 2011-03-15 | International Business Machines Corporation | Computer method and apparatus for merging software configurations when a change set spans multiple artifacts |
GB0622738D0 (en) * | 2006-11-15 | 2006-12-27 | Ibm | Methods and apparatus for assisted migration in a data processing environment |
US7849443B2 (en) * | 2006-12-13 | 2010-12-07 | International Business Machines Corporation | Method and apparatus for managing selective and subtractive merges in a software configuration |
WO2008085203A2 (en) * | 2006-12-29 | 2008-07-17 | Prodea Systems, Inc. | Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises |
US7707162B2 (en) * | 2007-01-08 | 2010-04-27 | International Business Machines Corporation | Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification |
US7685140B2 (en) * | 2007-01-30 | 2010-03-23 | International Business Machines Corporation | Dynamic information systems |
EP2147371A1 (en) * | 2007-03-16 | 2010-01-27 | International Business Machines Corporation | Method, system and computer program for distributing customized software products |
KR20080084332A (ko) | 2007-03-16 | 2008-09-19 | (주)온디멘드 | 데이터베이스 마이그레이션 장치 및 방법 |
US8904342B2 (en) * | 2007-05-25 | 2014-12-02 | Zoot Enterprises, Inc. | System and method for rapid development of software applications |
US20090006147A1 (en) * | 2007-06-27 | 2009-01-01 | Harirajan Padmanabhan | Method and system for defining and managing information technology projects based on conceptual models |
US7725482B2 (en) | 2007-08-23 | 2010-05-25 | International Business Machines Corporation | Accessing objects in a service registry and repository using subclass inference |
US8464228B2 (en) * | 2007-08-23 | 2013-06-11 | Accenture Global Services Limited | Binary library |
US7725469B2 (en) | 2007-08-23 | 2010-05-25 | International Business Machines Corporation | System and program products for pruning objects in a service registry and repository |
US8060855B2 (en) * | 2007-10-09 | 2011-11-15 | Microsoft Corporation | Artifact sharing from a development environment |
US8230387B2 (en) * | 2007-10-31 | 2012-07-24 | International Business Machines Corporation | System and method to organize assets in a repository |
US8887123B2 (en) * | 2007-11-30 | 2014-11-11 | Sap Se | Framework for managing complex operations |
US9111108B2 (en) * | 2008-02-25 | 2015-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | System, method and program for controlling access rights |
US8332359B2 (en) * | 2008-07-28 | 2012-12-11 | International Business Machines Corporation | Extended system for accessing electronic documents with revision history in non-compatible repositories |
US8645944B2 (en) * | 2008-08-18 | 2014-02-04 | Microsoft Corporation | Deployment of a solution artifact to a client application |
US8799319B2 (en) * | 2008-09-19 | 2014-08-05 | Oracle International Corporation | System and method for meta-data driven, semi-automated generation of web services based on existing applications |
US8745052B2 (en) * | 2008-09-18 | 2014-06-03 | Accenture Global Services Limited | System and method for adding context to the creation and revision of artifacts |
US8321834B2 (en) * | 2008-09-25 | 2012-11-27 | International Business Machines Corporation | Framework for automatically merging customizations to structured code that has been refactored |
US20100088283A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | System and method for managing database applications |
US8805887B2 (en) * | 2008-10-03 | 2014-08-12 | Microsoft Corporation | Packaging system to facilitate declarative model-driven development |
US9171096B2 (en) * | 2008-10-24 | 2015-10-27 | Oracle International Corporation | System and method for harvesting metadata into a service metadata repository |
US9015665B2 (en) * | 2008-11-11 | 2015-04-21 | International Business Machines Corporation | Generating functional artifacts from low level design diagrams |
US20100138251A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Governing The Design Of Services In A Service Oriented Architecture |
US8626800B2 (en) * | 2008-12-09 | 2014-01-07 | International Business Machines Corporation | Synchronization of artifacts across different domains |
WO2010075456A1 (en) * | 2008-12-22 | 2010-07-01 | Intelligent Spatial Technologies, Inc. | System and method for initiating actions and providing feedback by pointing at object of interest |
US9344401B2 (en) * | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US8607152B2 (en) * | 2009-06-11 | 2013-12-10 | International Business Machines Corporation | Management of test artifacts using cascading snapshot mechanism |
US8190578B2 (en) * | 2009-12-17 | 2012-05-29 | International Business Machines Corporation | Migration of versioned data between configuration management systems |
US9395965B2 (en) * | 2009-12-29 | 2016-07-19 | Oracle International Corporation | Techniques for automated generation of service artifacts |
US20110191748A1 (en) * | 2010-01-29 | 2011-08-04 | International Business Machines Corporation | Systems and methods for design time service verification and validation |
US9934018B2 (en) * | 2010-03-21 | 2018-04-03 | International Buisness Machines Corporation | Artifact deployment |
US20110239231A1 (en) * | 2010-03-23 | 2011-09-29 | International Business Machines Corporation | Migrating electronic document version contents and version metadata as a collection with a single operation |
US8438541B2 (en) * | 2010-06-15 | 2013-05-07 | International Business Machines Corporation | Software change management extension for uniformly handling artifacts with relaxed contraints |
US8561010B2 (en) * | 2010-06-17 | 2013-10-15 | International Business Machines Corporation | Software approval process using service governance |
US8832148B2 (en) * | 2010-06-29 | 2014-09-09 | International Business Machines Corporation | Enterprise evidence repository |
US8566903B2 (en) * | 2010-06-29 | 2013-10-22 | International Business Machines Corporation | Enterprise evidence repository providing access control to collected artifacts |
US8434060B2 (en) * | 2010-08-17 | 2013-04-30 | Sap Ag | Component load procedure for setting up systems |
US8726227B2 (en) * | 2010-09-15 | 2014-05-13 | International Business Machines Corporation | Modeling a governance process of establishing a subscription to a deployed service in a governed SOA |
-
2010
- 2010-07-01 US US13/703,289 patent/US9104668B2/en active Active
- 2010-07-01 EP EP10854230.9A patent/EP2589010A4/en not_active Withdrawn
- 2010-07-01 CN CN2010800688577A patent/CN103069382A/zh active Pending
- 2010-07-01 WO PCT/US2010/040748 patent/WO2012002968A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030144892A1 (en) * | 2002-01-29 | 2003-07-31 | International Business Machines Corporation | Method, system, and storage medium for providing knowledge management services |
CN101441563A (zh) * | 2007-11-19 | 2009-05-27 | 国际商业机器公司 | 自动化用于信息服务的架构设计模型的创建的系统和方法 |
Non-Patent Citations (1)
Title |
---|
GRANT LARSEN等: "适用于面向服务架构的资产生命周期管理", 《HTTP://WWW.IBM.COM/DEVELOPERWORKS/CN/RATIONAL/RATIONALEDGE/CONTENT/DEC05/WILBER/》, 12 January 2006 (2006-01-12) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222036A (zh) * | 2013-07-09 | 2019-09-10 | 甲骨文国际公司 | 自动数据库迁移架构 |
CN110222036B (zh) * | 2013-07-09 | 2023-06-16 | 甲骨文国际公司 | 用于自动数据库迁移的方法和系统 |
CN110915161A (zh) * | 2017-07-12 | 2020-03-24 | 惠普发展公司,有限责任合伙企业 | 存储器设备的迁移 |
Also Published As
Publication number | Publication date |
---|---|
US20130091099A1 (en) | 2013-04-11 |
US9104668B2 (en) | 2015-08-11 |
EP2589010A1 (en) | 2013-05-08 |
EP2589010A4 (en) | 2014-04-30 |
WO2012002968A1 (en) | 2012-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Warren | The renaissance of legacy systems: method support for software-system evolution | |
US8555248B2 (en) | Business object change management using release status codes | |
US7971187B2 (en) | Configurable software stack | |
US7873940B2 (en) | Providing packages for configuring software stacks | |
US11971865B2 (en) | Intelligent model hierarchy for infrastructure modeling | |
US20080154970A1 (en) | File plan import and sync over multiple systems | |
CN103069382A (zh) | 在面向服务的架构储存库之间的迁移工件 | |
CN102341781A (zh) | 软件测试台生成 | |
US11048592B2 (en) | Data repository configured for facilitating point-in-time retrieval of content | |
US10853741B2 (en) | Information governance platform | |
US20070250812A1 (en) | Process Encoding | |
US10430413B2 (en) | Data information framework | |
Zadeh et al. | Service oriented integration of distributed heterogeneous IT systems in production engineering using information standards and linked data | |
Rabinovici-Cohen et al. | Towards SIRF: self-contained information retention format | |
Smith | Automated validation of trusted digital repository assessment criteria | |
Meyler et al. | System center 2012 configuration manager unleashed | |
Li et al. | Optimal Design of an Information Management System for Government: A Bridge between Government and Citizens | |
US10838714B2 (en) | Applying packages to configure software stacks | |
Records | ISS | |
Moore et al. | Assessment of RLG trusted digital repository requirements | |
US20230222421A1 (en) | System and method for dynamic objects and uses for same, including dynamic case model instances in a case management system | |
Heng | Design and implementation of 3D print model library management system | |
Düpmeier et al. | Managing LCI Data from Different Workgroups within the same Instance of an LCA Database. | |
Osgood | Silver: Software in support of the system dynamics modeling process | |
Kanagasabai | Towards online, collaborative, multi-view modelling using collabCORE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130424 |