CN102346685B - 集成适配器管理系统和方法 - Google Patents

集成适配器管理系统和方法 Download PDF

Info

Publication number
CN102346685B
CN102346685B CN201010247624.5A CN201010247624A CN102346685B CN 102346685 B CN102346685 B CN 102346685B CN 201010247624 A CN201010247624 A CN 201010247624A CN 102346685 B CN102346685 B CN 102346685B
Authority
CN
China
Prior art keywords
adapter
integrated
storage vault
application
service
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.)
Active
Application number
CN201010247624.5A
Other languages
English (en)
Other versions
CN102346685A (zh
Inventor
李文华
S·卡玛特
刘剑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Priority to CN201010247624.5A priority Critical patent/CN102346685B/zh
Priority to US12/877,093 priority patent/US8443374B2/en
Publication of CN102346685A publication Critical patent/CN102346685A/zh
Application granted granted Critical
Publication of CN102346685B publication Critical patent/CN102346685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

一种集成适配器管理系统(IAMS)。在一个示例实施例中,该系统管理用于集成软件应用的适配器和连接器。示例系统包括连接器储存库,其中,每个连接器都包括一个或多个集成适配器。连接器生成器与连接器储存库进行通信,并适于响应于检测到在连接器储存库中找不到对应的连接器的事件,有选择地生成一个或多个连接器。在更具体的示例实施例中,连接器生成器适于将一个或多个所生成的连接器实现为Web服务。连接器生成器可以根据Oracle的应用集成体系结构(AIA)集成框架来构建。提供了用于监视连接器运行时信息并接收和记录涉及连接器的用户反馈的额外的工具。

Description

集成适配器管理系统和方法
技术领域
本申请涉及应用集成,更具体地,涉及用于促进诸如不同类型软件应用的技术之间的互操作性和/或互连性的系统和方法。
背景技术
用于促进软件应用之间的互操作性的系统和方法在那些大型企业常常使用包括必须高效地互相通信的较旧的旧式应用和第三方应用的各种不同的应用的企业环境(包括企业应用集成(EAI)实现)中特别重要。例如,大型企业可以使用必须互相通信以完成某些任务的不同的企业资源计划(ERP)、客户关系管理(CRM)、供应链管理(SCM)及其他软件。
企业可能希望使用第一软件应用来执行某一任务,但是,该任务可能要求访问第二软件应用的数据或功能。一般而言,第一软件应用可以通过也叫做集成接口的特殊转换接口与第二软件应用进行通信,该转换接口促进转换由不同类型的软件使用的不同类型的消息。当一个软件应用在计算环境中与一个或多个其他软件应用接口时,该软件应用被称为与其他软件应用集成。
为集成可在不同的技术平台上运行的诸如不同的ERP/CRM应用之类的不同的旧式应用和第三方应用,可以使用Oracle应用集成体系结构(AIA)基础包和伴随的适配器。所包括的适配器可以提供诸如Oracle E-Business Suite(甲骨文电子商务套件)中所包括的应用之类的各种应用之间的双向和多模同步和异步互连性。
在某些实现方式中,可能不清楚应该如何以及何时使用已经可用的适配器或新适配器来实现软件应用之间的无缝且最佳的性能集成。相应地,常常雇佣解决方案提供商来构建适当的集成解决方案。然而,这会很费时并且成本高。此外,被承包的集成解决方案可以是冗余的,并可能导致使用不同或不兼容方法的不同解决方案,即,被承包的解决方案可能缺乏实现方式的一致性。另外,对商务软件套件或计算体系结构的进一步的更改或更新可能要求额外地构建潜在高成本的集成解决方案。
发明内容
用于管理用于集成软件应用的适配器和连接器的示例集成适配器管理系统包括连接器储存库。每一个连接器都包括一个或多个集成适配器。连接器生成器与连接器储存库进行通信,并适于响应于检测到在连接器储存库中找不到对应的连接器的事件,有选择地生成一个或多个连接器。
在更具体的示例实施例中,连接器生成器适于将一个或多个所生成的连接器实现为Web服务。连接器生成器可以根据甲骨文公司的应用集成体系结构(AIA)集成框架来构建。
示例系统还包括用于监视与连接器相关联的运行时信息并作为响应提供运行时信息的连接器监视器。反馈系统维护涉及连接器储存库中的一个或多个连接器的操作的反馈信息。一个或多个用户接口模块促进允许用户向反馈系统提供反馈,并查看由连接器监视器所提供的运行时信息。搜索引擎适于促进使得用户能够使用一个或多个用户接口来对连接器的储存库执行搜索,以搜索所希望的连接器。内省系统促进检测连接器储存库中的定制或扩展的适配器,并作为响应,向一个或多个用户接口模块提供指示。
此处所公开的某些实施例可以促进连接器和适配器的自动生成,以促进集成企业或其他组织的软件应用。基于连接器元数据来自动生成连接器可以改善所生成的连接器的一致性,并可以促进避免创建冗余的连接器。此外,这样的功能还可以促进过渡到新技术,因为可以随着企业计算环境的变化而自动地重新生成或更新所生成的连接器。
诸如反馈用户接口、可搜索的连接器储存库,以及连接器运行时监视器之类的各种工具促进管理何时以及如何生成和使用连接器,并进一步促进确定在给定情况下要使用的最佳连接器。
通过参考说明书的其余部分和附图,可以对此处所公开的特定实施例的特征和优点取得进一步的理解。
附图说明
图1是示出用于促进软件集成功能的管理和控制的系统的第一示例实施例的图形。
图2是图1的示例系统的更详细的图。
图3是表征图1-2的系统的示例进程流的流程图。
图4描绘了表征图1-2的系统的连接器进程流和相关联的命令、参数、服务,以及反馈过程之间的示例关系的示例实体关系(ER)图。
图5是适用于与图1-2的系统一起使用的示例一般化方法的流程图。
具体实施方式
虽然是关于特定实施例来描述本发明的,但是,这些特定实施例只是说明性的,而不是限制性的。
例如,尽管此处是关于涉及使用Oracle E-Business Suite及Oracle公司的其他产品的实现方式来讨论某些实施例的,但是,实施例不仅限于此。例如,使用促进使不同应用接口的各种适配器的任何企业应用集成(EAI)框架都可受益于搜索适配器、生成包括适配器的连接器,监视适配器,以及记录根据此处所公开的某些实施例的适配器和连接器的反馈的能力。
为了当前的讨论,诸如软件应用的应用可以是适于执行一个或多个功能或任务或其组合的任何计算机可读指令的集合。如果第一应用和第二应用之间的通信能够通过接口得以实现,则第一应用被称为与第二软件应用接口或集成,反之亦然。示例接口包括一个适配器或适配器的集合(例如,连接器),它可将来自第一应用的第一类型的特定消息转换为一般性消息,然后,将该一般性消息转换为可由第二软件应用读取的第二类型的特定消息。连接器还可以通过向一般性类型的消息的中间转换,将第二特定类型的消息转换为第一特定类型的消息。应注意,如果第一应用或第二应用适于读取该一般性消息,则可以省略一个或多个消息变换步骤。一般性消息类型可以是用于在各种不同类型的消息之间进行转换的消息类型。可以将一般性消息用作接口过程期间的中间消息。此外,还应注意,可以读取该一般性消息类型的某些软件应用可以不要求在一般性消息和软件应用所使用的不同的特定消息之间进行额外的转换。
一般而言,企业应用集成(EAI)涉及促进不同的应用、进程、系统,以及技术之间的交互。EAI可以被可视化为用于跨企业集成计算资源的集成框架。这样的计算资源的实例包括:供应链管理(SCM)应用(例如,用于管理库存和装运)、客户关系管理(CRM)应用(例如,用于管理当前和潜在客户)、商务智能(BI)应用(例如,用于从现有操作数据中查找模式),及其他类型的应用。这些应用可能缺乏用于相互进行通信的内建机制。相应地,不存在集成,应用可能不能共享数据和功能。在应用之间缺乏集成以及伴随的缺乏相互通信能力会导致效率低下。例如,相同的数据可以存储在多个地点,或者,涉及多个功能/进程的某些进程流可能无法自动化。
为集成软件应用,可以使用EAI软件来链接一个机构内的应用,以简化和自动化业务进程,而常常消除了显著改变现有应用或数据结构的需要。EAI系统经常面临的一个挑战是,要求集成的各种系统和应用常常驻留在不同的操作系统上,使用不同的数据库解决方案和不同的计算机语言,或包括旧式系统。
如果在不遵循结构化的EAI方法的情况下应用集成,则点到点连接可能跨机构生长,导致不希望的连接和依赖关系的复杂的网。EAI经常涉及系统的分析系统,这可涉及以多个级别嵌入网络中的多个异种且分布式的系统所存在的大规模的跨学科问题。
一般而言,EAI系统可以被分类为调停系统、联合系统,或其组合。调停EAI系统可以充当多个应用之间的接口代理,以促进多个应用之间的数据和进程的共享。当在集成的应用中发生某一事件时,例如,添加新信息、完成新事务,等等,EAI系统中的集成模块检测到该事件,或被通知该事件。然后,集成模块向相关的应用传播必要的信息或指令。
联合EAI系统可以充当多个应用之间的总接口面。在这样的系统中,从一个应用到另一个应用的事件调用被EAI系统置于前端,以便EAI系统将底层应用的仅相关信息和接口暴露给其他应用。这样的EAI系统可以代表叫做“消费者”的请求者应用来与交互操作接口。一般而言,对于提供服务,即,Web服务的应用之间的交互中的每一步骤,如在面向服务体系结构(SOA)环境中,两个服务中的一个(消费者服务)启动请求,而另一个服务(生产者)执行该请求。启动请求的服务叫做消费者服务,而执行请求的服务叫做生产者服务或提供者服务。服务的角色可以在交互的过程中转换。
调停和联合可以被视为伴随的集成体系结构的EAI模式。在单一EAI系统中可以并行地使用这些模式。例如,这样的EAI系统可以使多个应用保持同步(调停),而服务于来自外部用户针对这些应用的请求(联合)。
为清楚起见,图形中省略了诸如硬盘驱动器、处理器、操作系统、电源、路由器等等之类的某些已知的组件。然而,了解当前原理的本领域的技术人员将知道实现哪些组件以及如何实现它们以满足某个应用的需要。
图1是示出系统10的第一示例实施例的图示,该系统用于促进诸如以连接器和适配器代表的功能之类的软件集成功能的管理和控制,如下面更加全面地讨论的。系统10可以以在企业应用服务器上运行的软件来实现。或者,系统10的各种组件可以以分布式方式跨诸如网络和服务器之类的各种不同的计算资源实现,而不只是在可被客户端系统访问的单一应用服务器上实现。
系统10包括与诸如Oracle E-business Suite之类的商务应用套件14进行通信的集成适配器管理系统12。商务应用套件14包括集成连接器储存库30和各种商务相关的应用32,各种商务相关的应用32彼此集成,并与诸如数据库16和中间件18的其他应用以及诸如第三方应用20的与之通信的应用集成。为了当前的讨论,第三方应用可以是与商务应用套件14中所包括的商务应用32分开的任何软件应用。
本示例集成适配器管理系统12包括与连接器生成系统26和用户接口软件34进行通信的储存库控制模块22;与用户接口软件34和连接器生成系统26进行通信的反馈模块24,以及与用户接口软件34、数据库16,以及中间件18进行通信的连接器监视器模块28。注意,尽管用户接口软件34被示为一个模块,但用户接口软件34可以包括多个模块,如储存库控制接口、反馈接口,以及连接器监视器用户接口模块,如下面更加全面地讨论的。用户接口软件34适于使得用户能够通过用户接口硬件36与集成适配器管理系统12进行交互,用户接口硬件36可以包括显示器和诸如鼠标、键盘等等之类的输入设备。为了当前的讨论,模块可以是功能的任何集合,可以包括一个或多个机器可执行的功能或过程。
数据库模块16可以在数据库服务器上运行,并充当商务应用套件14的各种商务应用32的数据仓储设施。中间件18可以在面向服务体系结构(SOA)服务器上运行,并可以促进第三方应用20与商务应用套件14的商务应用32的进一步接口。
在操作中,商务应用套件14包括用于实现Oracle应用集成体系结构(AIA)企业业务对象和服务层的计算机代码,包括由Oracle AIA基础包所提供的功能。连接器生成系统26以与商务应用套件14中所提供的AIA功能一致的方式实现连接器和相关联的Web服务。
为了当前的讨论,服务可以是任何Web服务,其中,Web服务可以是诸如由程序、函数、进程代表的任何功能,或可访问或通过利用网络发送的消息激活的其他功能。示例消息包括通过超文本传输协议(HTTP)通过网络发送的统一资源定位符(URL)。另一个示例消息包括根据简单对象访问协议(SOAP)发送的可扩展标记语言(XML)消息。Web服务可以以诸如Web服务描述语言(WSDL)、Java等各种语言编写。
商务应用套件14的一个或多个商务应用32可以发出事件,以便从另一个应用检索数据,以使用另一个应用的功能来执行进程等等。在商务应用套件14的下层的AIA层促进从集成储存库30中选择连接器,以响应于检测到事件而连接适当的应用。示例连接器包括OracleE-biz产品连接器、发票连接器、帐目连接器等,用于在不同的应用中分别更新产品信息、发票信息、帐目信息。可以包括诸如到达队列(AQ)事件适配器、表/视图适配器、对SQL的过程语言扩展(PLSQL)适配器、企业商务组织(EBO)适配器等的各种AIA模块,以促进应用数据和进程的集成。
如果一个新软件应用正在与商务应用套件14的商务应用32集成,则必须从储存库30中选择适当的连接器,或以别的方式提供适当的连接器以促进要集成的相关命令、进程、参数和流的集成。对集成软件应用感兴趣的用户可以使用用户接口软件34来访问储存库控制模块22的功能。储存库控制模块22包括搜索引擎和相关联的功能以用于促进在集成储存库30中搜索一个或多个适当的连接器以促进软件应用的集成。注意,搜索集成连接器储存库30可以在检测到由要被集成的应用所提供的事件时自动执行,而不会偏离本公开的范围。
储存库控制模块22包括连接器元数据储存库,如下面更加全面地讨论的,该连接器元数据储存库使得用户能够使用用户接口软件34输入描述集成特定软件应用所需的一个或多个连接器的一个或多个特征的数据。连接器元数据可由连接器生成系统26访问。连接器生成系统26适于使用元数据自动生成一个或多个适当的连接器。然后,连接器作为连接器服务对应用可用。对应于新生成的连接器的软件代码可以存储在集成连接器储存库30中。
在本实施例中,连接器生成系统26诸如通过将连接器生成系统26耦合到商务应用套件14的可扩展标记语言(XML)网关,使所生成的连接器作为Web服务对其他应用可用。连接器生成系统26包括用于检测事件的事件适配器,事件包括来自商务应用套件14的XML调用、API调用,以及DB调用。响应于检测到事件,可以由连接器生成系统26提供适当的连接器以用于接口应用,如下面更加全面地讨论的。注意,可以由商务应用套件14中所包括的AIA功能自动确定或估计(而不是手动输入)从储存库控制模块22提供到连接器生成系统26的连接器元数据,而不会偏离本公开的范围。
一个给定用户可以通过使用用户接口软件34来描述他们的涉及使用给定连接器来执行特定集成功能的体验或观察,以更新由反馈模块24维护的反馈日志。用户还可以根据预定的评定标度或方法来对连接器进行评定。这使得使用储存库控制模块22的用户能够选择用于应用集成的连接器,以查看涉及集成连接器储存库30中所包括的特定连接器的其他用户的注释、连接器评定等等。
当一个给定连接器运行时,取决于正在被集成的连接器和应用,可以由数据库模块16和/或中间件18来确定对应的连接器运行时信息。通常,数据库16将维护对象的运行时信息,而中间件18将跟踪服务的运行时信息。可通过连接器监视器模块28访问此运行时信息,并使得此运行时信息通过用户接口软件34对系统10的用户可用。连接器运行时信息可以用来诊断连接器问题,并促进将提供到反馈模块24的反馈通知给用户。
为了当前的讨论,中间件可以是适于一个或多个不同应用之间的接口通信的任何软件应用或应用的集合。
连接器生成系统26还可以使用通过反馈模块24提供的诸如连接器评定之类的信息,以促进选择要包括在特定的生成的连接器中的适配器。所生成的连接器可包括多个适配器以实现进程流或与连接器相关联的集成功能。
在本特定实施例中,连接器生成系统26专门适于与商务应用套件14一起使用,这可以通过Oracle E-Business Suite来实现。连接器生成系统26是根据可通过Oracle公司获得的Oracle公司的AIA集成标准和E-Business Suite最佳实践构建的。通过连接器生成系统26生成诸如E-Business Suite连接器之类的各种连接器,并作为Web服务来展示,连接器生成系统26可以构建于由Oracle公司所提供的现有的电子商务适配器和AIA辅件生成器的顶部。
尽管在本实施例中,连接器储存库控制模块22是与集成连接器储存库30分开示出的,但是应注意,集成连接器储存库30和储存库控制模块22可以被视为单一模块或储存库系统的一部分,而不会偏离本公开的范围。一般而言,此处所讨论的各种模块可以组合起来或以分布式方式实现,而不会偏离本公开的范围。
集成连接器储存库30包括商务应用套件14中所包括的预建的连接器,并且还可以包括由连接器生成系统26所生成的连接器。可以作为用户接口软件34的用户接口模块而包括的动态内省系统可以检测所有定制编写或扩展的电子商务套件适配器。为了当前的讨论,内省系统可以是适用、于确定连接器和/或适配器的一个或多个特征的任何系统或模块。
用户可以基于什么(例如,什么对象)、何时(例如,何时发生事件),以及如何(例如,应该如何使用数据),使用用户接口软件34和硬件36来浏览和搜索储存库30。应注意,诸如Oracle E-BusinessSuite连接器之类的连接器可以包括一起工作以实现特定集成功能的一组Oracle E-Business Suite适配器。
一般而言,为了当前的讨论,集成适配器可以是对于特定任务,如检索特定数据或执行某一进程,用于促进第一应用和第二应用之间的通信的软件程序或其他计算机可读指令集。因此,适配器可以促进应用之间的双向通信。适配器可以是专用于特定应用或应用类别的。诸如消息队列、Web服务或专有协议之类的各种技术都可以用于存进实现适配器。连接器可以是一起工作以实现特定集成功能的适配器的任何集合,所述特定集成功能可包括由不同的适配器处理的也叫做“流”的一系列任务。只使用一个适配器的连接器也被视为适配器。
连接器监视器28适于维护连接器的运行时信息。可以从中间件18和伴随的SOA服务器并从数据库16和伴随的数据库服务器收集运行时信息。与用户接口软件34相结合的连接器监视器28适于使得用户能够不仅监视给定连接器的运行时性能,而且还监视连接器所使用的格个适配器服务的性能和运行时信息。
反馈模块24(在本实施例中,也可以叫做电子商务套件连接器反馈系统),使得用户能够(通过用户接口软件34)对于连接器的有用性进行评定,并共享有关每一连接器的反馈和建议。可以通过连接器生成系统26或通过更直接的链路将反馈提供回集成储存库30。可以由不同的解决方案提供商通过用户接口软件34查看反馈。应注意,尽管在本实施例中,维护用户反馈的反馈日志包含在反馈模块24中,但是,此反馈日志可以位于别处,如在集成连接器储存库30中,而不会偏离本公开的范围。
应注意,各种适配器和连接器,比如集成储存库30中所包括的,可以包括用于将由不同的软件应用所提供的特定类型的消息转换为一般性消息的机器可读指令。然后,适配器可以根据需要将一般性消息,例如,应用集成体系结构(AIA)格式消息,转换为供特定应用使用所需的适当的特定消息(例如,电子商务应用特定消息)。
图2是图1的示例系统10的比较详细的图形。用户接口软件34被示为包括与连接器储存库用户接口模块40、连接器反馈用户接口模块48,以及连接器监视器用户接口模块50进行通信的浏览器接口96,为了说明,这些模块也为示为分别包括在储存库控制模块22、反馈模块24,以及连接器监视器模块28中。浏览器接口96包括用于使得用户能够有选择地访问由其他接口模块40、48、50所提供的接口功能的机器可读指令。
储存库控制模块22还包括与搜索引擎80进行通信的连接器储存库搜索模块42。搜索引擎80与集成储存库30进行通信,并促进响应于通过连接器储存库用户接口模块40触发的搜索而实现连接器和适配器搜索。
储存库搜索模块42也与储存库控制模块22中的连接器元数据储存库46进行通信,也可通过连接器储存库用户接口模块40和连接器储存库搜索模块42搜索连接器元数据储存库46。连接器元数据储存库46进一步与连接器储存库用户接口模块40进行通信。用户可以使用连接器储存库用户接口模块40来查看、浏览、和/或搜索元数据储存库46的内容,并添加涉及给定连接器和/或适配器的元数据。为了当前的讨论,连接器元数据可以是表征或描述连接器或适配器的任何信息,包括但不仅限于与其相关联的命令、参数、流,以及定时或同步信息。
反馈模块24还包括反馈日志92,用于维护涉及诸如商务应用套件14的应用之类的应用所使用的连接器和/或适配器服务的用户反馈。反馈可以包括根据预定的评定标度所进行的连接器评定。另外,由服务反馈日志92维护的反馈信息可以指出给定连接器是否丢失功能,是否它正在适当地被实现,需要向连接器中添加什么功能等等。服务反馈日志92与连接器反馈模块48和连接器生成系统26的连接器代码生成器56进行通信。
在示例操作情形下,假设正在搜索连接器的一个人(用户)是特定公司,例如沃尔玛的解决方案提供者,而该用户正在搜索发票连接器,即用于促进在商务应用32之间共享发票信息的连接器。用户可以查看由日志92维护的连接器反馈信息,以帮助确定用于要被集成的特定应用的优选发票连接器。
连接器代码生成器56进一步与连接器元数据储存库46进行通信。连接器代码生成器56可以从元数据储存库46接收连接器元数据,以促进根据元数据构建一个或多个所希望的连接器和/或适配器。
连接器生成系统26还包括与连接器代码生成器56进行通信的连接器服务模块58。连接器服务模块58的细节是应用特定的,并可以随着特定实现方式而变化。本领域的技术人员将了解本公开。
连接器服务模块58适于将由连接器代码生成器56所生成的连接器公布(例如,通过适配器60-66)为Web服务,以供商务应用套件14和伴随的商务应用32使用。在本特定实施例中,连接器服务模块58利用各种现有的技术和工具将所生成的连接器74作为Web服务公布给不同的应用。这些技术包括事件适配器60、可扩展标记语言(XML)适配器62、应用编程接口(API)适配器64,以及数据库(DB)适配器66。适配器60-66与Oracle生产者商业流程执行语言(BPEL)过程管理(PM)模块68进行通信,该模块68向Oracle消费者企业服务总线(ESB)模块70提供输出(例如,基于活动的管理(ABM)输出)。消费者ESB模块70与变换BPEL PM模块72通信。
生产者BPEL PM模块68促进为给定连接器构建生产者web服务适配器。在本示例实施例中,使用生产者适配器来将由生产者应用所生成的消息转换为一般性应用集成体系结构(AIA)消息,反之亦然。类似地,消费者适配器可以将消息从消费者应用转换为AIA消息,并且反之亦然。一般而言,可以使用BPEL来将各种完全不同的功能或进程联合或集成为集成的进程或流。BPEL可以促进因特网和/或其他网络的无缝使用,以促进进行诸如货币兑换、资产重新分配等的业务事务。
变换BPEL模块72促进生成变换服务,将与生产者适配器相关联的生产者服务链接到与消费者适配器相关联的消费者服务。然后,通过存储在元数据储存库46中的元数据表征所产生的编排的连接器服务。然后,根据需要,由商务应用套件14的生产者和消费者应用使用连接器服务和伴随的元数据。可以响应于诸如来自商务应用套件14的应用的统一资源定位符(URL)调用之类的事件,激活由连接器服务模块58所提供的连接器服务。
为了说明的目的,连接器服务模块58的各种适配器60-66被示为与商务应用套件14中所包括的对应的集成技术进行通信。示例技术包括与连接器服务模块58的事件适配器60进行通信的Oracle商务事件系统(BES)76和伴随的到达队列(AQ)78。XML网关82将XML适配器62与BES 76和接口视图/表模块84进行接口。BES 76被示为与商务应用套件14的应用32进行通信。应注意,应用32可以包括诸如客户关系管理(CRM)、供应链管理(SCM)等的各种企业资源计划(ERP)应用,如可以包括在例如Oracle的应用电子商务套件中的。BES 76包括促进检测由一个或多个应用32所发出的事件的机器可读指令。事件可以对应于需要连接器服务以促进消息转换的那些发出的消息,如下面更加全面地讨论的。
BES 76可以通过诸如Oracle BES的应用服务来实现,该应用服务与Oracle Workflow一起提供,并使用Oracle高级队列技术来在系统和应用之间传递业务事件。BES 76适于支持并促进基于消息的点到点系统集成、系统集成消息传送中心,以及分布式应用消息传送。
API适配器64与对结构化查询语言的过程语言扩展(PLSQL)应用编程接口(API)模块90和并行程序模块86进行通信。并行程序模块86与bass表88和接口视图/表模块84进行通信。DB适配器66与接口视图/表模块84和BES模块76的AQ模块78进行通信。
当诸如消费者应用之类的应用调用(诸如通过URL)由连接器服务模块58所提供的连接器服务时,相关联的连接器运行。连接器服务的运行促进消费者应用通过转换消息与生产者应用接口。由数据库16和中间件18收集涉及连接器的运行时信息。连接器监视器模块28中所包括的集成DB对象运行时模块54组织和维护从数据库16中获取的连接器运行时信息。然后,可通过连接器监视器用户接口模块50来访问所维护的DB连接器运行时信息。类似地,由中间件18所获得的连接器运行时信息可通过连接器监视器模块28中所包括的集成服务对象运行时模块52访问。集成服务对象运行时模块52与连接器监视器用户接口模块50进行通信,以促进用户访问和查看由连接器监视器用户接口模块50组织和维护的连接器运行时信息。
元数据储存库46可以包括连接器信息,例如,什么流、命令、参数,及其他相关信息用于生成特定连接器。一个示例,连接器可以是“创建订单”、“更新订单信息”、“取消订单”、“创建客户记录”、“更新客户记录”等。每个连接器在一般性类型消息与应用特定的消息之间进行转换,以促进在应用之间实现连接器和共享功能和/或数据。在连接器是用于在应用之间共享订单信息的“创建订单”连接器的示例情形下,应注意,一个数据库可以具有与另一个数据库不同的订单信息的组织。该连接器促进不同的订单数据结构之间的映射。
在用户编码一个特定集成任务的新连接器之前,用户可以轻松地使用储存库控制模块22来在集成储存库30和连接器元数据储存库46中搜索合适的连接器。这有助于避免连接器的冗余创建。
概括地说,系统10可以被视为包括下列各项的集成适配器管理系统:连接器储存库30;连接器生成系统26;与连接器生成系统26和集成储存库30通信的储存库控制模块22;与连接器生成系统26进行通信的反馈模块24;与要集成的一个或多个应用通信的连接器监视器28,其中,一个或多个应用适于使用连接器储存库30中的一个或多个连接器以促进一个或多个应用32与一个或多个其他应用的互连性;以及与储存库控制模块22、反馈模块24,以及连接器监视器模块28通信的一个或多个用户接口模块40、48、50、96。
注意,连接器服务模块58可以包括适于使用一个或多个适配器创建连接器的机器可读指令,其中,与连接器相关联的功能是通过Web服务实现的。中间件18可以通过面向服务体系结构(SOA)服务器来实现,其中,SOA服务器托管中间件18。
下面将参考图3的示例进程流更加全面地讨论系统10的示例操作。
图3是表征图1-2的系统10的示例进程流110的流程图。进程流110被分成对应于用户动作182、连接器储存库动作184、连接器生成动作186、连接器反馈动作188,以及连接器监视器动作190的五个部分182-190。
参考图2和3,一般而言,用户动作182对应于用户有选择地激活连接器储存库用户接口模块40的功能、连接器反馈用户接口模块48的功能,以及连接器监视器用户接口模块50的功能。
示例进程流110开始,此时在初始集成对象步骤112输入集成对象。在本实施例中,集成对象是由用户输入的。然而,在某些实现方式中,可以响应于检测到事件,如由图1的商务应用套件14的BES 76自动地输入集成对象。
为了当前的讨论,集成对象可以是诸如类、JavaBean之类的任何编程语言结构,或封装影响第一软件应用与第二软件应用的交互的数据和/或功能的其他结构。一般而言,集成对象可以用来封装其他集成对象,并可以包括与其相关联的各种命令或功能(也叫做″方法″)和参数。集成对象可以对应于特定连接器。
在输入集成对象或其描述之后,如通过图2的连接器储存库用户接口模块40进行输入,储存库控制模块22使用已输入的集成对象信息来获取与对象相关联的集成流。流可以在图3的集成流获取步骤114从图2的集成储存库30或连接器储存库元数据模块46获取。
如果在随后的流检查步骤116中没有找到对应于集成对象的流,那么,获取所有相关联的触发事件。否则,如果流存在并被发现,那么,用户在流浏览步骤118浏览集成流(例如,通过图2的连接器储存库用户接口模块40)。如果用户对集成流表示满意,如在满意度检查步骤120中所确定的,则在集成服务获取步骤136中检索相关联的集成服务以及其序列。如果用户对集成流不满意或没有发现集成流,则在触发事件获取步骤122获取所有触发事件。
在通过图2的连接器储存库控制模块22获取触发事件之后,用户在触发选择步骤124中选择事件触发。随后的命令获取步骤126包括基于事件和相关联的集成对象获取该事件触发的命令。
随后的命令检查步骤128涉及检查在命令获取步骤126中是否成功地获取了命令。如果没有找到命令或命令不存在,那么,在元数据存储步骤132中存储涉及集成对象的元数据。另外,在可选的手动编码步骤134中,用户输入与已输入的集成对象相关联的连接器的任何所希望的SQL代码和伴随的参数。在用户在手动编码步骤134中输入了任何所希望的SQL代码和参数之后,描述SQL代码的任何额外的元数据都通过元数据存储步骤132被存储。
在完成元数据存储步骤132之后,进程流返回到满意度检查步骤120。如果用户不满意,则重复步骤122-134。否则,执行集成服务获取步骤136,接下来是服务存在检查步骤138。如果如在服务存在检查步骤138中所验证的,图2的储存库控制模块22能够成功地获取集成服务和与已输入的集成对象相关联的命令序列,则执行集成服务浏览步骤140。否则,激活图2的连接器生成系统26,用于执行对应的一组连接器生成动作186。
如果用于实现所希望的连接器的服务不存在,则在生成器启动步骤158启动图2的代码生成器56。随后,在元数据获取步骤160获取任何现有的连接器元数据。如果已获取的连接器元数据包括命令,如在命令检查步骤162中所验证的,那么,在适配器生成器启动步骤164启动适配器生成器。适配器生成器启动步骤164涉及启动连接器代码生成器56的用于生成适配器的部分和连接器服务模块58的用于将适配器和连接器转换为服务的部分。
随后,执行生产者生成步骤166,从而,生成生产者适配器以供作为服务公开。例如,生产者适配器可以包括用于将从生产者应用输入的和向其输出的消息从一般性消息转换为生产者应用所使用的特定消息并执行相反的操作的适配器。
在比如通过图2的生产者BPEL模块68,以及通过诸如图2的中间件18之类的中间件,作为服务生成和实现适当的生产者适配器之后,则适当的适配器与特定生产者应用链接在一起,从而形成连接器。在生产者适配器链接步骤168中执行的链接可包括将为生产者生成的适配器与由图2的生产者BPEL 68所生成的其他链接的适配器进行链接,并且然后将由中间件所提供的链接适配器与由图2的生产者BPEL68所生成的其他链接的适配器进行链接。
随后,执行消费者生成步骤170。在生产者适配器和任何中间件生成的适配器在生产者适配器链接步骤168中被链接之后,或在命令检查步骤162确定要生成的连接器缺乏命令之后,实现消费者生成步骤170。消费者生成步骤170比如通过图2的消费者ESB模块70,包括生成连接器适配器并作为服务公布该适配器。
随后,在变换映射获取步骤172,检索任何数据变换映射。变换映射包括用于将数据从一个应用传输到可使用不同类型消息的另一个应用的指令。然后,在变换服务生成步骤174,将已获取的变换映射转换为服务。变换服务生成步骤174可以使用图2的变换BPEL模块72来促进将变换映射转换为变换服务。随后,执行服务链接步骤176,从而,所有生成的服务被适当地链接在连接器服务中。随后,元数据存储步骤178包括存储与链接的服务相关联的元数据以及伴随的连接器。比如在图1的集成适配器管理系统12的元数据储存库46中存储的连接器元数据信息,可以周期性地或自动地与集成储存库30中存储的相应元数据或存储在别处的元数据同步。
在用户动作182的集成服务浏览步骤140中,用户可以决定浏览连接器运行时信息,从而有选择地激活连接器监视动作190。在此情况下,从诸如图2的数据库16的数据库中检索涉及与所希望的连接器相关联的集成对象的运行时信息。另外,还从诸如图2的中间件18的中间件检索与和该连接器相关联的任何服务相关联的任何运行时信息。在随后的信息分组步骤156中,根据与连接器相关联的对象的名称以及规定何时运行连接器服务和相关联的对象的任何时间戳,将检索到的运行时信息分组供使用。然后,由用户在运行时查看步骤192中查看分组后的运行时信息。
在用户动作182的集成服务浏览步骤140中,用户可以决定浏览连接器反馈信息和/或提供连接器反馈信息。在此情况下,执行反馈获取步骤142。反馈获取步骤142涉及从图2的反馈日志92检索或访问反馈信息,以供连接器反馈用户接口模块48使用。
应注意,在本实施例中,由用户执行或启动利用用户动作182分组的各个步骤。然而,这样的步骤中的一个或多个步骤可以由诸如在商务应用套件14上运行的软件和/或图2的集成适配器管理系统12之类的软件自动地执行,而不会偏离本公开的范围。
随后,可以执行可选的反馈查看步骤144。反馈查看步骤144包括查看在前面的反馈获取步骤142中检索到的反馈的内容。
接下来,可以执行可选的反馈输入步骤146。反馈输入步骤146包括输入特定连接器、适配器和/或伴随的服务的评定。接下来,反馈存储步骤148包括在图2的服务反馈日志92中存储输入的反馈信息。图2的反馈日志92可选地与伴随的企业中的一个或多个实体,比如运行图2的商务应用套件14的中心企业应用服务器或其他服务器,同步。
图4描绘了表征图1-2的系统10的集成流210和相关联的集成流命令212、集成流命令参数214、集成流服务216,以及集成流服务反馈218之间的示例关系200的示例实体关系(ER)图。
参考图2和图4,给定流210,如在图2的集成储存库30和元数据储存库46中维护的,可以包括可以与多个命令212相关联的多个连接器和适配器。每一命令212都可以具有多个命令参数214。图2的连接器生成系统26可以为每一个流210和伴随的命令212创建一个或多个服务。图2的反馈模块24促进接收诸如连接器服务评定之类的用户反馈,其中每个连接器服务,也叫做流服务,可以与用户反馈218的多个实例相关联。
在下表中指定了几个示例流:
表1
(流)
上面的表1标识了两个流,包括示例的supplier流(流ID=1)和示例currency exchange rate(流ID=2)。第一流使用supplier对象,在叫做AP_Suppliers_All的表中维护了该对象的内容。第二流使用currency exchange rate对象,在叫做GL_Currency_Daily_Rate的表中维护了该对象的内容。两个流被配置成共享更新和变化,即,提供出站信息,该出站信息不仅可被调用与流相关联的服务的应用访问,还可被其他集成的应用访问。两个流都是通过异步服务实现的异步类型流。为了当前的讨论,异步服务可以是与发出调用的服务独立地运行的任何Web服务,使得当这样的服务被应用调用时,该服务可以持续运行,而不管发出调用的应用的状态。
在下面的表2中说明了三个示例命令:
表2
(命令)
上面的表2示出了,例如,可以响应于检测到与supplier事件相关联的更新事件和/或创建触发,触发表1的第一流(supplier)(流ID=1),或可以不一定响应于检测到的事件而手动触发该流。也可以手动触发该第一流,从而,执行用户提供的SQL语句,而不是用于实现相关联的命令的API。类似地,可以响应于更新和/或创建触发,触发currency exchange rate流(流ID=2)。
三个命令(命令Id1-3)叫做查询命令,因为查询供应商信息和/或货币兑换率信息以实现相关联的命令。例如,第一命令使用叫做AP_Supplier_info_Pkg.Supplier_Details的API来检索供应商细节。类似地,第三命令使用叫做Get_Cur_Conv_Rates的API来从生产者应用检索货币兑换率。
在下面的示例表3中说明了九个示例参数:
表3
(参数)
表3示出了,例如,每个命令都可以与多个不同的参数相关联。第一命令(命令ID=1)使用参数1-4;第二命令使用参数5和6;而第三命令使用参数7-9。其值作为输入而被接收的参数被指定为类型“入”,而从相关联的服务输出的参数被规定为类型“出”。
在下面的表4中示出了由图2的连接器生成系统26所生成的、将链接到给定连接器的示例服务:
表4
(服务)
注意,序列号表示顺序,即,当实现包括表4中列出的各种服务的链接的连接器服务时要激活各个服务的时刻。应注意,在本实施例中,某些生产者服务是通过商业流程执行语言(BPEL)功能实现的,而消费者服务是通过Oracle企业服务总线(ESB)功能实现的。
图5是适于与图1-2的系统10一起使用的示例的一般化方法250的流程图。方法250包括第一步骤252,该步骤涉及第一应用所使用的第一特定消息类型和诸如AIA类型消息之类的一般性消息类型之间的转换。这样的转换可以,例如,由图2的连接器服务模块58所生成的连接器服务来执行。第一应用可以是,例如,在商务应用套件14上运行并包括在图1的应用32中的订单生成应用。
第二步骤254包括一般性消息类型和第二软件应用所使用的第二特定消息类型之间的转换。第二软件应用可以是,例如,维护正在启动订单的业务的帐目信息的数据库。这样的从诸如AIA消息类型之类的一般性消息类型到特定类型的消息的转换可以通过由图2的连接器服务模块58实现的连接器服务来执行。
第三步骤256包括确定何时用于执行转换的特定类型的连接器是所述第一步骤254或所述第二步骤256所必需的,但是该特定类型的连接器不可用,并且响应于此提供第一信号。该第一信号可以对应于,例如,通过对图2的储存库控制模块22实现的图2的集成储存库30的搜索的结果。
第四步骤258包括响应于该第一信号,有选择地生成用于第一步骤252和/或第二步骤254中的连接器。第四步骤258可以部分地通过图2的连接器生成系统26来实现。
应注意,方法250的各个步骤252-258可以更改,而不会偏离本公开的范围。例如,可以重新排列步骤;可以添加步骤;还可以省略某些步骤。其他示例步骤包括收集和存储涉及给定连接器的性能的反馈;搜索连接器储存库以找到用于实现第一步骤252和/或第二步骤254的给定连接器;引用涉及连接器储存库的一个连接器的反馈数据,以促进确定用于第一步骤252和/或第二步骤254的连接器;以及,跟踪与第一步骤252和/或第二步骤254中所使用的连接器的运行相关联的运行时信息。
可以使用任何合适的编程语言,包括C、C++、Java、汇编语言等来实现特定实施例的例程。可以使用不同的编程技术,比如过程或面向对象的编程技术。例程可以在单个处理设备或多个处理器上执行。虽然步骤、操作或计算可以以特定的顺序呈现,但是,此顺序在不同的特定实施例中可以变化。在某些特定实施例中,在本说明书中被显示为连续的多个步骤可以同时执行。
特定实施例可以在供指令执行系统、设备使用或与它们一起使用的计算机可读存储介质、系统或设备中实现。特定实施例可以以软件或硬件或两者的组合中的控制逻辑的形式来实现。控制逻辑,当由一个或多个处理器执行时,可操作以执行在特定实施例中所描述的步骤。
可以通过使用编程的通用数字计算机、通过使用专用集成电路、可编程逻辑器件、现场可编程门阵列、光学、化学、生物、量子或纳米工程系统、组件和机制,来实现特定实施例。一般而言,特定实施例的功能可以以现有技术中已知的任何手段来实现。可以使用分布式、网络系统、组件和/或电路。数据的通信或传输可以是有线的、无线的或通过任何其他装置来实现。
还应该理解,附图中所描述的一个或多个元件也可以以分离的或集成方式来实现,或者甚至在某些情况下被去除或不工作,可以根据特定的应用场合来使用。实现可以存储在机器可读介质中以允许计算机执行上文所描述的任何一种方法的程序或代码也在本发明的精神和范围内。
如在此处的描述和随后的权利要求中所使用的,“一个”等单数形式也包括多个涉及的对象,除非上下文明确地特别指出。此外,如此处的描述和随后的整个权利要求中所使用的,“在”包括“在...里面”和“在...上面”,除非上下文明确地特别指出。
如此,尽管此处描述了特定实施例,但是,修改、各种更改,以及替换也在前面的说明的范围内,可以理解,在某些情况下,在不偏离所阐述的范围和精神的情况下,可以使用特定实施例的某些特征,而无需对应地使用其他特征。因此,可以进行许多修改,以使特定情况或材料适应基本的范围和原理。
根据本发明的一个实施例,提供了一种用于管理用于集成软件应用的集成适配器的设备,所述设备包括:耦合到显示器和处理器可读的存储设备的数字处理器,其中,所述处理器可读的存储设备包括能够由所述数字处理器执行以执行下列动作的一个或多个指令:检测连接器在连接器的储存库中不可用的事件;以及响应于检测到所述事件,生成一个或多个连接器。
根据本发明的另一个实施例,提供了一种包括可由用于管理用于集成软件应用的集成适配器的数字处理器执行的指令的处理器可读存储设备,所述处理器可读存储设备包括用于执行下列操作的一个或多个指令:检测连接器在连接器的储存库中不可用的事件;以及响应于检测到所述事件,生成一个或多个连接器。
根据本发明的另一个实施例,提供了一种用于管理用于集成软件应用的集成适配器的设备,所述设备包括:用于检测连接器在连接器的储存库中不可用的事件的装置;以及用于响应于检测到所述事件,生成一个或多个连接器的装置。
优选地,该设备进一步包括用于监视与连接器相关联的运行时信息,并存储所述运行时信息作为响应的装置。
优选地,该设备进一步包括用于维护涉及连接器的储存库中的一个或多个连接器的操作的反馈信息的装置。
优选地,该设备进一步包括用于提供一个或多个接口以促进使用户能够提供涉及连接器的反馈和查看运行时信息的装置。
优选地,该设备进一步包括用于提供搜索引擎以促进使用户能够使用一个或多个用户接口以在连接器的储存库中搜索所希望的连接器的装置。
优选地,该设备进一步包括用于检测连接器的储存库中的定制或扩展的适配器,并作为响应向一个或多个用户接口模块提供指示的装置。
优选地,该设备进一步包括用于将一个或多个所生成的连接器实现为Web服务的装置。
优选地,用于将一个或多个所生成的连接器实现为Web服务的装置还包括用于根据甲骨文公司的应用集成体系结构集成框架来实现所述一个或多个所生成的连接器的装置。
优选地,该设备进一步包括用于检测由一个或多个所述软件应用所触发的事件,并提供信号作为响应的装置。
优选地,该设备进一步包括用于提供适于促进实现与检测到的事件相关联的进程的连接器的装置。
优选地,所述用于提供连接器的装置使用连接器服务模块,所述连接器服务模块与连接器代码生成器进行通信以促进提供所述连接器。
优选地,所述连接器服务模块包括事件适配器。
优选地,该设备进一步包括:用于在第一应用所使用的第一特定消息类型和一般性消息类型之间进行转换的装置;用于在所述一般性消息类型和第二软件应用所使用的第二特定消息类型之间进行变换的装置;用于确定何时用于执行转换的特定类型的连接器是所述转换步骤或变换步骤所要求的,但是所述特定类型的连接器不可用,并提供第一信号作为响应的装置;以及用于响应于所述第一信号,选择性地生成供所述转换步骤或变换步骤使用的连接器的装置。
优选地,该设备进一步包括用于收集和存储涉及所述用于进行转换的装置或用于进行变换的装置所使用的给定连接器的性能的反馈的装置。
优选地,该设备进一步包括用于搜索连接器储存库以寻找所述用于进行转换的装置或用于进行变换的装置所要求的连接器的装置。
优选地,该设备进一步包括用于引用涉及所述连接器储存库中的一个连接器的反馈数据,以促进确定供所述用于进行转换的装置或用于进行变换的装置使用的连接器的装置。
优选地,该设备进一步包括用于促进监视与所述用于进行转换的装置或用于进行变换的装置所使用的连接器的运行相关联的运行时信息的装置。
优选地,该设备进一步包括连接器的储存库、连接器生成系统、与所述连接器生成系统和所述连接器的储存库进行通信的储存库控制模块、与所述连接器生成系统进行通信的反馈模块、与要集成的一个或多个应用进行通信的连接器监视器,以及与所述储存库控制模块、反馈模块,以及所述连接器监视器模块进行通信的一个或多个用户接口模块。

Claims (34)

1.一种用于管理用于集成软件应用的集成适配器的方法,所述方法包括:
如果与集成对象相关联的选择的集成流存储于集成连接器储存库中,则从所述集成连接器储存库中取回选择的集成流,其中,所述集成连接器储存库存储多个集成流,其中,集成流是由不同的集成适配器处理的一系列任务;或者
如果选择的集成流未存储于所述集成连接器储存库中,则通过取回所有事件触发以及所述事件触发的命令而创建选择的集成流;
如果包括处理所述集成流的一系列任务的集成适配器和连接器在内的选择的集成服务存在于所述集成连接器储存库中,则从所述集成连接器储存库中取回选择的集成服务,其中,连接器是一起工作以实现特定集成功能并且将来自第一应用的第一类型的特定消息转换成一般性消息并且然后将所述一般性消息转换成第二应用可读取的第二类型的特性消息的集成适配器的任何集合;或者
如果选择的集成服务未存在于所述集成连接器储存库中,则通过取回连接器元数据、生成集成适配器和连接器、将适配器和连接器变换为服务并且存储与所生成的适配器和连接器有关的元数据,而创建选择的集成服务;以及
使用连接器生成系统,与所述连接器生成系统和所述集成连接器储存库进行通信的储存库控制模块,与所述连接器生成系统进行通信的反馈模块,与要集成的一个或多个应用进行通信的连接器监视器,以及与所述储存库控制模块、反馈模块和所述连接器监视器模块进行通信的一个或多个用户接口模块,以促进实现创建步骤和取回步骤。
2.如权利要求1所述的方法,进一步包括监视与连接器相关联的运行时信息,并存储所述运行时信息。
3.如权利要求2所述的方法,进一步包括维护涉及集成连接器储存库的一个或多个连接器的操作的反馈信息。
4.如权利要求3所述的方法,进一步包括提供一个或多个接口,以促进使用户能够提供涉及连接器的反馈并能够查看运行时信息。
5.如权利要求4所述的方法,进一步包括提供搜索引擎,以促进使用户能够使用一个或多个用户接口以在集成连接器储存库中搜索所希望的连接器。
6.如权利要求4所述的方法,进一步包括检测集成连接器储存库中的定制或扩展的适配器,并作为响应向一个或多个用户接口模块提供指示。
7.如权利要求3所述的方法,进一步包括将一个或多个所生成的连接器实现为Web服务。
8.如权利要求7所述的方法,其中,所述实现还包括根据应用集成体系结构(AIA)集成框架来实现所述一个或多个所生成的连接器。
9.如权利要求1所述的方法,进一步包括检测由一个或多个所述软件应用所触发的事件,并提供信号作为响应。
10.如权利要求9所述的方法,进一步包括提供适于促进实现与检测到的事件相关联的进程的连接器。
11.如权利要求10所述的方法,其中,提供连接器还包括使用连接器服务模块,所述连接器服务模块与连接器代码生成器进行通信以促进提供所述连接器。
12.如权利要求11所述的方法,其中,所述连接器服务模块包括事件适配器。
13.如权利要求1所述的方法,其中,创建选择的集成服务进一步包括:
在第一应用所使用的第一特定消息类型和一般性消息类型之间进行转换;
在所述一般性消息类型和第二软件应用所使用的第二特定消息类型之间进行变换;
确定何时用于执行转换的特定类型的连接器是所述转换步骤或变换步骤所要求的,但是所述特定类型的连接器不可用,并提供第一信号作为响应;以及
响应于所述第一信号,选择性地生成供所述转换步骤或变换步骤使用的连接器。
14.如权利要求13所述的方法,进一步包括促进收集和存储涉及所述转换步骤或变换步骤所使用的给定连接器的性能的反馈。
15.如权利要求13所述的方法,进一步包括搜索集成连接器储存库以寻找所述转换步骤或变换步骤所要求的连接器。
16.如权利要求15所述的方法,进一步包括引用涉及所述集成连接器储存库中的一个连接器的反馈数据,以促进确定供所述转换步骤或变换步骤使用的连接器。
17.如权利要求13所述的方法,进一步包括促进监视与所述转换步骤或变换步骤所使用的连接器的运行相关联的运行时信息。
18.一种用于管理用于集成软件应用的集成适配器的设备,所述设备包括:
用于如果与集成对象相关联的选择的集成流存储于集成连接器储存库中,则从所述集成连接器储存库中取回选择的集成流的装置,其中,所述集成连接器储存库存储多个集成流,其中,集成流是由不同的集成适配器处理的一系列任务;或者
用于如果选择的集成流未存储于所述集成连接器储存库中,则通过取回所有事件触发以及所述事件触发的命令而创建选择的集成流的装置;
用于如果包括处理所述集成流的一系列任务的集成适配器和连接器在内的选择的集成服务存在于所述集成连接器储存库中,则从所述集成连接器储存库中取回选择的集成服务的装置,其中,连接器是一起工作以实现特定集成功能并且将来自第一应用的第一类型的特定消息转换成一般性消息并且然后将所述一般性消息转换成第二应用可读取的第二类型的特性消息的集成适配器的任何集合;或者
用于如果选择的集成服务未存在于所述集成连接器储存库中,则通过取回连接器元数据、生成集成适配器和连接器、将适配器和连接器变换为服务并且存储与所生成的适配器和连接器有关的元数据,而创建选择的集成服务的装置;以及
用于使用连接器生成系统,与所述连接器生成系统和所述集成连接器储存库进行通信的储存库控制模块,与所述连接器生成系统进行通信的反馈模块,与要集成的一个或多个应用进行通信的连接器监视器,以及与所述储存库控制模块、反馈模块和所述连接器监视器模块进行通信的一个或多个用户接口模块,以促进实现创建装置和取回装置的装置。
19.如权利要求18所述的设备,进一步包括用于监视与连接器相关联的运行时信息,并存储所述运行时信息的装置。
20.如权利要求19所述的设备,进一步包括用于维护涉及集成连接器储存库中的一个或多个连接器的操作的反馈信息的装置。
21.如权利要求20所述的设备,进一步包括用于提供一个或多个接口以促进使用户能够提供涉及连接器的反馈并能够查看运行时信息的装置。
22.如权利要求21所述的设备,进一步包括用于提供搜索引擎以促进使用户能够使用一个或多个用户接口以在集成连接器储存库中搜索所希望的连接器的装置。
23.如权利要求21所述的设备,进一步包括用于检测集成连接器储存库中的定制或扩展的适配器,并作为响应向一个或多个用户接口模块提供指示的装置。
24.如权利要求20所述的设备,进一步包括用于将一个或多个所生成的连接器实现为Web服务的装置。
25.如权利要求24所述的设备,其中,所述用于将一个或多个所生成的连接器实现为Web服务的装置还包括用于根据应用集成体系结构集成框架(AIA)来实现所述一个或多个所生成的连接器的装置。
26.如权利要求18所述的设备,进一步包括用于检测由一个或多个所述软件应用所触发的事件,并提供信号作为响应的装置。
27.如权利要求26所述的设备,进一步包括用于提供适于促进实现与检测到的事件相关联的进程的连接器的装置。
28.如权利要求27所述的设备,其中,所述用于提供连接器的装置使用连接器服务模块,所述连接器服务模块与连接器代码生成器进行通信以促进提供所述连接器。
29.如权利要求28所述的设备,其中,所述连接器服务模块包括事件适配器。
30.如权利要求18所述的设备,其中,用于创建选择的集成服务的装置进一步包括:
用于在第一应用所使用的第一特定消息类型和一般性消息类型之间进行转换的装置;
用于在所述一般性消息类型和第二软件应用所使用的第二特定消息类型之间进行变换的装置;
用于确定何时用于执行转换的特定类型的连接器是所述用于进行转换的装置或用于进行变换的装置所要求的,但是所述特定类型的连接器不可用,并提供第一信号作为响应的装置;以及
用于响应于所述第一信号,选择性地生成供所述用于进行转换的装置或用于进行变换的装置使用的连接器的装置。
31.如权利要求30所述的设备,进一步包括用于收集和存储涉及所述用于进行转换的装置或用于进行变换的装置所使用的给定连接器的性能的反馈的装置。
32.如权利要求30所述的设备,进一步包括用于搜索连接器储存库以寻找所述用于进行转换的装置或用于进行变换的装置所要求的连接器的装置。
33.如权利要求32所述的设备,进一步包括用于引用涉及所述集成连接器储存库中的一个连接器的反馈数据,以促进确定供所述用于进行转换的装置或用于进行变换的装置使用的连接器的装置。
34.如权利要求30所述的设备,进一步包括用于促进监视与所述用于进行转换的装置或用于进行变换的装置所使用的连接器的运行相关联的运行时信息的装置。
CN201010247624.5A 2010-07-29 2010-07-29 集成适配器管理系统和方法 Active CN102346685B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010247624.5A CN102346685B (zh) 2010-07-29 2010-07-29 集成适配器管理系统和方法
US12/877,093 US8443374B2 (en) 2010-07-29 2010-09-07 Business application integration adapters management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010247624.5A CN102346685B (zh) 2010-07-29 2010-07-29 集成适配器管理系统和方法

Publications (2)

Publication Number Publication Date
CN102346685A CN102346685A (zh) 2012-02-08
CN102346685B true CN102346685B (zh) 2016-09-28

Family

ID=45528036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010247624.5A Active CN102346685B (zh) 2010-07-29 2010-07-29 集成适配器管理系统和方法

Country Status (2)

Country Link
US (1) US8443374B2 (zh)
CN (1) CN102346685B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079125A1 (en) * 2010-09-23 2012-03-29 Mark Nixon Service oriented framework for communicating with devices in a process control system
US9600788B2 (en) * 2012-12-27 2017-03-21 Xerox Corporation Crowdsourcing directory system
CN103177156A (zh) * 2013-02-27 2013-06-26 北京视博数字电视科技有限公司 一种企业应用集成适配器的设计器系统及其设计方法
US9411845B2 (en) 2013-06-13 2016-08-09 Sap Se Integration flow database runtime
US9244949B2 (en) 2013-06-27 2016-01-26 International Business Machines Corporation Determining mappings for application integration based on user contributions
US8839266B1 (en) * 2013-07-31 2014-09-16 Vmware, Inc. Inter-application communication on mobile platforms
US20150120350A1 (en) * 2013-10-24 2015-04-30 Xerox Corporation Method and system for recommending one or more crowdsourcing platforms/workforces for business workflow
US9229795B2 (en) 2013-12-09 2016-01-05 Hewlett Packard Enterprise Development Lp Execution of end-to-end processes across applications
US9619537B2 (en) 2014-04-15 2017-04-11 Sap Se Converting data objects from single- to multi-source database environment
US9971794B2 (en) 2014-07-08 2018-05-15 Sap Se Converting data objects from multi- to single-source database environment
US11360828B2 (en) * 2014-07-08 2022-06-14 Able World International Limited Method for combining unified matters in personal workspace and system using the same
US9483329B2 (en) * 2015-02-09 2016-11-01 Sap Se Categorizing and modeling integration adapters
US9612889B2 (en) 2015-02-27 2017-04-04 Wal-Mart Stores, Inc. Integrating applications
US9684501B2 (en) * 2015-06-05 2017-06-20 Apple Inc. Associating a URL or link between two applications
US10644937B2 (en) * 2016-09-13 2020-05-05 Oracle International Corporation Techniques for managing SCIM-compliant systems
US10324772B2 (en) 2016-11-02 2019-06-18 Oracle International Corporation Method and system for data instance-based automatic message map construction
US11546413B2 (en) * 2019-12-31 2023-01-03 Oracle International Corporation System and method for identifying capabilities and limitations of an orchestration based application integration
US11886899B2 (en) * 2020-04-30 2024-01-30 Red Hat, Inc. Privacy preserving introspection for trusted execution environments
CN111783371B (zh) * 2020-05-28 2023-08-22 安费诺电子装配(厦门)有限公司 基于网络的连接器设计方法及电子设备
CN112597216A (zh) * 2020-12-30 2021-04-02 远光软件股份有限公司 一种适配多种时序数据库的微服务的方法和装置
US20220214931A1 (en) * 2021-01-07 2022-07-07 Oracle International Corporation System and method for exposing features of integration platform adapters as first-class actions in an orchestration template
US11531674B2 (en) * 2021-01-22 2022-12-20 Oracle International Corporation System and method for supporting rollback of changes made to target systems via an integration platform
CN113626007B (zh) * 2021-10-13 2021-12-31 树根互联股份有限公司 连接器模型的应用方法、装置及服务器
US11734265B1 (en) * 2022-03-08 2023-08-22 Salesforce, Inc. Automatic GraphQL data source field change handler
CN115118587A (zh) * 2022-06-23 2022-09-27 北京字跳网络技术有限公司 一种创建连接器的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271892A (zh) * 1999-04-23 2000-11-01 太阳微系统有限公司 自动的承接软件/适配器生成器
CN1294710A (zh) * 1998-11-18 2001-05-09 Saga软件有限公司 可扩充的分布企业应用集成系统
CN101076793A (zh) * 2004-08-31 2007-11-21 国际商业机器公司 企业数据集成系统的体系结构

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256676B1 (en) 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
TW532040B (en) * 2000-10-20 2003-05-11 Koninkl Philips Electronics Nv Method and system for transferring a communication session
US20020116454A1 (en) 2000-12-21 2002-08-22 William Dyla System and method for providing communication among legacy systems using web objects for legacy functions
EP1246059B1 (en) 2001-03-26 2006-08-30 Sun Microsystems, Inc. Dynamic interface aggregation on demand
WO2003007184A1 (en) * 2001-07-12 2003-01-23 Research In Motion Limited System and method for pushing data from an information source to a mobile communication device including transcoding of the data
US7152094B1 (en) * 2001-07-31 2006-12-19 Sprint Communications Company L.P. Middleware brokering system adapter
US20030033346A1 (en) * 2001-08-10 2003-02-13 Sun Microsystems, Inc. Method, system, and program for managing multiple resources in a system
US7650325B2 (en) 2001-11-13 2010-01-19 International Business Machines Corporation Dynamic interface adapter for integration of source and target applications
US7130891B2 (en) * 2002-02-04 2006-10-31 Datasynapse, Inc. Score-based scheduling of service requests in a grid services computing platform
US7895589B2 (en) 2003-02-26 2011-02-22 International Business Machines Corporation Dynamic data-driven application integration adapters
US7362089B2 (en) * 2004-05-21 2008-04-22 Advantest Corporation Carrier module for adapting non-standard instrument cards to test systems
GB2415335B (en) * 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US7499899B2 (en) 2004-07-02 2009-03-03 Northrop Grumman Corporation Dynamic software integration architecture
US7596083B2 (en) * 2005-11-30 2009-09-29 At&T Intellectual Property I, L.P. Network element recovery process
US8316386B2 (en) 2006-02-17 2012-11-20 Microsoft Corporation Multiple application integration
GB0613195D0 (en) * 2006-07-01 2006-08-09 Ibm Methods, apparatus and computer programs for managing persistence in a messaging network
US20090172163A1 (en) * 2007-12-31 2009-07-02 Verdiem Corporation Systems and methods of on-demand waking of computers
US20100169457A1 (en) * 2008-12-26 2010-07-01 International Business Machines Corporation Social user script service by service proxy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1294710A (zh) * 1998-11-18 2001-05-09 Saga软件有限公司 可扩充的分布企业应用集成系统
CN1271892A (zh) * 1999-04-23 2000-11-01 太阳微系统有限公司 自动的承接软件/适配器生成器
CN101076793A (zh) * 2004-08-31 2007-11-21 国际商业机器公司 企业数据集成系统的体系结构

Also Published As

Publication number Publication date
CN102346685A (zh) 2012-02-08
US20120030689A1 (en) 2012-02-02
US8443374B2 (en) 2013-05-14

Similar Documents

Publication Publication Date Title
CN102346685B (zh) 集成适配器管理系统和方法
Guinard et al. Interacting with the soa-based internet of things: Discovery, query, selection, and on-demand provisioning of web services
Sheng et al. Web services composition: A decade’s overview
US8271941B2 (en) Method and apparatus for representing and configuring flexible and extensible presentation patterns
US7676786B2 (en) System and method and apparatus for using UML tools for defining web service bound component applications
Vernadat Interoperable enterprise systems: Principles, concepts, and methods
Arch-int et al. Development of industrial information systems on the Web using business components
Tan et al. Business and Scientific Workflows: A Web Service-Oriented Approach
Dong et al. Web service-oriented manufacturing resource applications for networked product development
JP2007506170A (ja) オンデマンド・ビジネス・コラボレーション用の情報ハイパーチェーン管理のための方法および装置
Cardoso et al. Evolution and overview of linked USDL
Chao E-services in e-business engineering
Talevski et al. Reconfigurable web service integration in the extended logistics enterprise
Mrohs et al. OWL-SF–a distributed semantic service framework
Choi et al. Towards a standardized engineering framework for distributed, collaborative product realization
Ramis Ferrer et al. Towards the encapsulation and decentralisation of OKD-MES services within embedded devices
Srinivasan et al. On architecting and implementing a product information sharing service
Cheung et al. Advanced product development integration architecture: an out-of-box solution to support distributed production networks
Liang et al. The design with object (DwO) approach to Web services composition
Song et al. An Ontology-based Approach for Context Modeling in Collaborative Services
Su et al. A framework for collaborative working environments
Taušan et al. Comparative influence evaluation of middleware features on choreography DSL
Campanella Future mobile learning
Mingwei et al. Semantic Integration for Cross-organizational Manufacturing Business Process
Guan A system architecture to provide enhanced grid access for mobile devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant