用于集成适配器连接器的集成过程的制作方法

文档序号:20956953发布日期:2020-06-02 20:27阅读:158来源:国知局
用于集成适配器连接器的集成过程的制作方法

本文中所描述的主题涉及一种连接器,其耦合集成适配器以用于扩展形成集成场景的部分的计算机实施的过程流程的功能。



背景技术:

集成场景实现计算机实施的协作过程(在本文中有时被称为业务过程)的消息交换和过程流程的定义。此类过程通常在不同实体当中且大体上通过各种计算节点和/或应用程序当中的消息交换而耦合。具体地说,集成场景可向需要语义和技术集成(例如接口和映射)的所有对象提供中心访问点。



技术实现要素:

在一个方面中,发起计算环境的部署。计算环境包含至少一个集成场景以及提供到后端计算系统的接口的至少一个适配器。然后,运行时组件防止至少一个集成场景的激活,直到至少一个适配器被完全部署的时间为止。至少一个集成场景内的集成流程随后被启用以利用至少一个适配器。

防止可包含通过形成运行时组件的部分的部署监听器来监听形成部署的部分的集成服务的事件以确定至少一个适配器的部署状态。所确定的部署状态可用于确定至少一个适配器何时被完全部署。

至少一个集成场景可为基于osgi的运行时集成场景。就这种布置而言,至少一个适配器可使用一个或多个适配器包来部署。

至少一个集成场景可为基于业务过程建模标注(bpmn)的运行时集成场景。

至少一个集成场景可具有相关联清单文件,所述相关联清单文件包含表征形成集成场景的部分的其它文件的元数据。运行时期间此类清单文件可富含键值或其它事件相关信息。

还描述存储指令的非暂态计算机程序产品(即,物理体现的计算机程序产品),所述指令在由一个或多个计算系统的一个或多个数据处理器执行时使至少一个数据处理器来执行本文中的操作。类似地,还描述计算机系统,其可包含一个或多个数据处理器以及耦合到一个或多个数据处理器的存储器。存储器可临时地或永久地存储指令,所述指令使至少一个处理器执行本文中所描述的操作中的一个或多个。另外,方法可由单个计算系统内或分布在两个或多于两个计算系统当中的一个或多个数据处理器实施。此类计算系统可被连接且可经由一个或多个连接(包含但不限于网络(例如,因特网、无线广域网、局域网、广域网、有线网络等)上的连接)、经由多个计算系统中的一个或多个之间的直接连接等而交换数据和/或命令或其它指令等。

本文中所描述的主题提供许多技术优点。例如,当前主题允许在消耗集成流程(形成集成场景的部分)与集成适配器之间建立关系,假使在集成场景在相关适配器被部署到运行时之前被部署到运行时的情况下所述集成适配器消除了对介入的需要。

本文中所描述的主题的一个或多个变体的细节在附图和以下描述中进行了阐述。通过描述和图式以及权利要求书,本文中所描述的主题的其它特征和优点将变得明显。

附图说明

图1是说明集成场景以及适配器的设计时间和运行时的图;

图2是说明对适配器连接器组件的集成场景关于具有定制适配器开发框架的集成服务的图;

图3是说明形成集成场景的部分的实例集成过程的图300;

图4是用于在集成流程(形成集成场景的部分)与集成适配器之间生成连接器的过程流程图;以及

图5是说明用于实施本文中所描述和说明的主题的计算装置的部分的图。

具体实施方式

当前主题涉及复杂集成场景的部署,其跨多个计算节点(在本文中也被称为系统)精心安排复杂的计算机实施的过程且利用使用不同数据访问和/或传送协议或格式的大量数据源。集成场景可采取各种形式,例如自含文件或仅仅为代码(例如,xml等)。集成场景在各种应用程序和数据源当中提供需求和接口/api以实施各种过程,从而实现所希望使用情况。

集成场景可提供用于数据源(例如,数据库、本地数据存储区、基于云的数据等)的集成以用于由集成场景所指定的过程使用。在此方面,集成可是指用以将数据从一个系统传输到另一系统的运行时组件,包含数据变换和/或如何格式化文件,和/或数据在节点之间如何传输(例如,ftp文件传输等)。

集成场景包含用以连接到数据源的适配器(有时被称为集成适配器)。具体地说,适配器定义数据如何在两个系统之间传达或交换。

集成场景可以不同方式部署。例如,集成场景可为j2ee场景中的.war文件或osgi环境中的jar/bundle(包)文件。集成场景可采取其它配置,包含apachegroovy、xml和/或配置清单。在任何事件中,集成场景指定有待在部署期间调用的类以及其被调用的具体次序(这对于恰当部署是重要的)。

一旦部署,修改集成场景通常需要此类集成场景的完全重新部署。如上所指出,集成适配器可形成集成场景的部分且可用于提供到系统/后端(例如,远程数据源、云等)的接口(例如,连接)。通常,此类集成适配器在集成场景的部署之前被定义(与逆向相反)。如果集成框架提供开发外部适配器(例如,sapadk)的能力,那么在消耗集成流程与适配器之间建立链接变得重要,使得集成流程将不会遭遇无法解决的错误(由此使相关联过程发生故障或另外失灵)。集成场景/集成流程/集成服务是建模以服务特定集成使用情况的伪影(artifact)且在集成代理运行时上运行。

例如,参考图100,考虑使用适配器xyz120的集成场景abc110。就集成服务而言,典型地存在设计时间阶段,在此期间集成场景将使用基于图形用户界面(gui)的工具/开发环境(例如如图2中的集成场景构建器ui250)来构建。集成场景110稍后将借助于集成场景包130被部署到运行时(即,其将变得可用/有效等)。在此方面,运行时可为迎合特定软件类型组件的云中的服务器或租户节点。例如,tomcat服务器可叫做运行时。

类似地,就osgi而言,外部适配器110也可借助于适配器包140(或具有额外信息的javajar文件等)被部署到运行时。继续参考图1,过程在适配器120在集成场景abc110之前被部署时恰当地起作用。然而,用于部署集成场景abc110和适配器120的自动化作业不会总是保证此类部署的次序。在具有消耗集成流程的集成场景被首先部署的情况下,此类集成流程将需要等待,直到适配器被部署为止。此状况可导致不可恢复的状态,特别是在动态容器中,像由osgi(先前已知为开放服务网关协议)提供的那些。另一问题可能在场景包130进入错误状态时发生,该错误状态在部署适配器120之后可能需要手动干预以带入有效状态。例如软件更新等自动化作业的此类手动干预可为计算昂贵的且另外需要系统停产。

当前主题涉及在消耗集成流程(集成场景的形成部分)与集成适配器之间建立关系。这种布置特别有利于框架,例如适配器开发、基于osgi的运行时和基于bpmn(业务过程建模标注)的集成场景。本文中所提供的主题可重新使用适配器框架且可在用于集成场景的运行时伪影的生成期间注入关系。在此方面,注入关系可是指相依性注入,继而可是指一个对象(或静态方法)借以供应另一对象的相依性的技术。换句话说,相依性是可使用的对象(服务)。注入是将相依性传递到将使用的从属对象(客户端)。

例如,考虑osgi运行时环境以及集成场景的基于apachecamel的运行时伪影生成。在此设置中,集成场景和适配器两者可为osgi包。在生成(即,设计时间)阶段期间,可重新使用的组件(例如,集成组件,如将给定xml文件变换成csv表示的“xml”到“csv”变换器等)可向用于集成场景的清单文件添加需要-能力标记。此组件理解生成过程和运行时环境。换句话说,此实例集成场景由各种步骤组成,其中一个步骤是数据转换需求(例如xml到csv)。此转换可供作为运行时中的可重新使用的组件。当集成过程在数据转换必须发生的时间点以运行时执行时,必须调用可重新使用的运行时组件。这里重要的是此运行时组件在过程执行之前可用和有效。当前主题涉及此类相依性可如何在复杂集成运行时环境中管理,所述复杂集成运行时环境取决于若干独立运行时组件而由可能地若干集成场景组成。

例如,在运行时是osgi类型的情况下,组件将向所生成的集成场景的清单文件添加“需要-能力”标记。“需要-能力”的值是适配器的规定能力标记。考虑到适配器“xyz”给出能力标记作为“xyz-cap”,那么连接器组件将根据需要在清单文件中生成新的键:“xyz-cap”。在此方面,清单文件可以是这样的文件,其包含用于作为固定或连贯单元的部分的一组所附文件的元数据。例如,计算机程序的文件可具有描述名称件、版本号、执照以及程序的构成文件的清单。清单文件可被生成为生成阶段的部分,所述生成阶段将在集成流程的部署被触发之后发起。参与集成流程的每个组件可具有或触发更新清单文件的事件。

参考图2的图200,连接器组件210可具有运行时组件管理器215,所述运行时组件管理器215可监听所有部署事件(由部署监听器220提供)且解析相关联清单文件(通过清单增强器225)。部署事件可采取各种形式且可由部署监听器220以不同方式分析。例如,部署监听器220可分析设计时间与运行时伪影之间的关系(且此类分析可包括事件)。

部署事件还可涉及各种系统,包含状态信息不易得的系统(例如,客户系统等)如何被更新。部署事件还可指示适配器是否恰当地起作用(通过监视经过此类适配器的数据)。部署事件还可指示是否已恰当地开始运行时包。

运行时组件管理器215可被配置成使得其不会试图激活相关联集成场景且将等到所有部署过程完成(在软件更新期间)。运行时组件管理器215等待/开始/重新开始运行时组件的能力可通过得到下层运行时api而获取。例如,在osgi环境中,这可使用包上下文访问。

作为实例,定制适配器将具有元数据,在构建期间将向此元数据添加“规定(provides)”属性,所谓的规定=“xyz”。连接器组件210可提供接口以在适配器开发框架240之间建立契约。适配器开发框架240实施此接口且可由适配器元数据生成器235在元数据形成期间调用以增强元数据。

适配器包运行时生成器245可使用元数据且利用键值增强清单文件或运行时组件。例如,适配器包260可富含需求(requires)=“xyz”和/或集成场景包265可富含规定=“xyz”。运行时包生成器框架240可实施连接器接口以调用连接器使清单增强器220以增强清单文件。

如果文件涉及集成场景,那么在生成阶段期间,“需求”键将由清单增强器220添加到清单文件,例如像需求=“xyz”。

框架包部署器255可引发部署事件,所述部署事件可由连接器210监听且确保次序被遵循,即,如果集成场景被首先部署,那么其将变得等待到对应所需条件满足为止。等待包开始可通过使用运行时容器api来实现,例如就osgi而言,可使用包上下文和包api。

图3是说明形成集成场景的部分的过程310的系统图300,其中数据流在发送器320、社交网络330和接收器340当中定义(它们中的所有单独包括至少一个计算装置)。过程310定义发送器320与社交网络330之间的https数据传输协议作为请求答复过程的部分。当发送器(320)接收消息时,做出对社交网络(330)的调用且响应被传播到下一步(314)。换句话说,当满足某些条件时,自社交网络330接收的答复可在314处修改且此类经修改答复可被发送到接收器340。接收器340借助于形成集成过程的部分的专用适配器而结合到发送器310。

图4是说明布置的过程流程图,其中在410处,发起包括多个组件的计算环境的部署,所述多个组件包含至少一个集成场景和至少一个适配器。在420处,运行时组件防止至少一个集成场景的激活,直到至少一个适配器被完全部署的时间为止。随后,在430处,至少一个集成场景内的集成流程被启用以利用至少一个适配器。

图5是说明用于实施本文中所描述的各种方面的样本计算装置架构的图500。总线504可充当使硬件的其它所说明组件互连的信息高速公路。标为cpu(中央处理单元)的处理系统508(例如,给定计算机或多个计算机处的一个或多个计算机处理器/数据处理器)可执行运行程序所需的计算和逻辑运算。非暂态处理器可读存储介质,例如只读存储器(rom)512和随机存取存储器(ram)516,可与处理系统508通信且可包含用于这里所指定的操作的一个或多个编程指令。任选地,程序指令可存储在非暂态计算机可读存储介质上,例如磁盘、光盘、可记录存储器装置、闪存存储器或其它物理存储介质。

在一个实例中,磁盘控制器548可利用系统总线504与一个或多个任选磁盘驱动器对接。这些磁盘驱动器可为外部或内部软盘驱动器、例如560,外部或内部cd-rom、cd-r、cd-rw或dvd,或固态驱动器,例如552,或外部或内部硬盘驱动器556。如先前所指出,这些各种磁盘驱动器552、556、560和磁盘控制器是任选装置。系统总线504还可包含至少一个通信端口520以允许与外部装置的通信,所述外部装置物理连接到计算系统或通过有线或无线网络外部可用。在一些情况下,通信端口520包含或另外包括网络接口。

为了提供与用户的交互,可在计算装置上实施本文中所描述的主题,所述计算装置具有用于向用户显示经由显示接口514从总线504获得的信息的显示装置540(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可借以向计算机提供输入的输入装置532,例如键盘和/或指向装置(例如,鼠标或跟踪球)和/或触摸屏。也可使用其它种类的输入装置532来提供与用户的交互;例如,提供给用户的反馈可为任何形式的感官反馈(例如,视觉反馈、借助于麦克风536的听觉反馈或触觉反馈);且来自用户的输入可以任何形式接收,包含声音、语言或触觉输入。输入装置532和麦克风536可耦合到输入装置接口528且经由总线504借助于输入装置接口528传达信息。其它计算装置,例如专用服务器,可省略显示器540和显示接口514、输入装置532、麦克风536和输入装置接口528中的一个或多个。

本文中所描述的主题的一个或多个方面或特征可在数字电子电路、集成电路、专门设计的应用专用集成电路(asic)、现场可编程门阵列(fpga)计算机硬件、固件、软件和/或其组合中实现。这些各种方面或特征可包含一个或多个计算机程序中的实施方案,所述计算机程序可在包含至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程系统可为专用或通用的,其被耦合以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令且向其传输数据和指令。可编程系统或计算系统可包含客户端和服务器。客户端和服务器通常彼此远离,且通常通过通信网络进行交互。客户端和服务器的关系是通过在各自计算机上运行的计算机程序而产生的,且彼此之间具有客户端-服务器关系。

这些计算机程序(也可称为程序、软件、软件应用程序、应用程序、组件或代码)包含用于可编程处理器的机器指令,且可以高级程序语言、面向对象的编程语言、函数编程语言、逻辑编程语言,和/或以汇编语言/机器语言来实施。如本文中所使用,术语“机器可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或装置(例如像磁盘、光盘、存储器和可编程逻辑装置(pld)),包含接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。机器可读介质可非暂态地存储此类机器指令,例如像如将非暂态固态存储器或磁性硬盘驱动器或任何等效存储介质。机器可读介质可替代地或另外以暂态方式存储此类机器指令,例如像如将处理器高速缓存或与一个或多个物理处理器核心相关联的其它随机存取存储器。

为了提供与用户的交互,可在计算机上实施本文中所描述的主题,所述计算机具有用于向用户显示信息的显示装置(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可借以向计算机提供输入的键盘和指向装置(例如,鼠标或跟踪球)和/或触摸屏。也可使用其它种类的装置来提供与用户的交互;例如,提供给用户的反馈可为任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);且来自用户的输入可以任何形式接收,包含声音、语言或触觉输入。

在以上描述和权利要求书中,例如“...中的至少一个”或“...中的一个或多个”等短语后可出现元件或特征列表的联合列表。术语“和/或”也可出现在两个或多于两个元件或特征的列表中。除非另外含蓄地或明确地与其中使用的上下文矛盾,否则这种术语意图意味着单独所列元件或特征中的任一个或者所陈述元件或特征中的任一个结合其它所陈述元件或特征中的任一个。例如,短语“a和b中的至少一个”、“a和b中的一个或多个”和“a和/或b”各自意图意味着“单独a、单独b、或a和b一起”。类似解释也意图针对包含三个或多于三个项目的列表。例如,短语“a、b和c中的至少一个”、“a、b和c中的一个或多个”和“a、b和/或c”各自意图意味着“单独a、单独b、单独c、a和b一起、a和c一起、b和c一起、或a和b和c一起”。另外,以上和权利要求书中的术语“基于”的使用意图意味着“至少部分地基于”,使得未陈述特征或元件也是可容许的。

取决于所希望配置,本文中所描述的主题可以在系统、设备、方法和/或物品中体现。前述描述中所陈述的实施方案并不表示与本文中所描述的主题符合的所有实施方案。实际上,其仅是和与所描述的主题相关的方面符合的一些实例。尽管在上文已经详细描述了少数变体,但其它修改或添加也是可能的。具体地说,除本文中所陈述的那些外可提供其它特征和/或变体。例如,上述实施方案可涉及所公开特征的各种组合和子组合和/或以上所公开的若干其它特征的组合和子组合。另外,附图中所描绘和/或本文中所描述的逻辑流程未必需要所示的特定次序或顺序次序,以实现合乎希望的结果。其它实施方案可处在以下权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1