用于在基于云的集成服务中将web用户接口应用与底层持久性框架和运行时引擎隔离的系统和方法与流程

文档序号:14649824发布日期:2018-06-08 21:33阅读:163来源:国知局
用于在基于云的集成服务中将web用户接口应用与底层持久性框架和运行时引擎隔离的系统和方法与流程

本专利文献的公开的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文献或专利公开进行传真复制,如同它在专利和商标局专利文件或记录中出现的那样,但是从其他方面保留所有版权权利。

技术领域

本发明的实施例一般涉及云服务,并且具体地涉及用于在基于云的集成服务中将web接口应用与底层技术隔离的系统和方法。



背景技术:

从本地应用到软件即服务(SaaS)和本地应用的混合体的快速转变已经为尝试集成企业应用的公司带来了挑战。集成平台即服务(iPaaS)可以提供一组基于云的工具以应对这些挑战。iPaaS平台可以为开发者提供设计时间以设计、部署和监视集成项目。然而,这些集成项目可以绑定到特定运行时引擎,并且在没有附加工作的情况下无法被部署到不同的运行时引擎。



技术实现要素:

根据实施例,本文描述了用于在基于云的集成服务中提供将web接口应用与底层技术隔离的抽象层的系统和方法。抽象层可以包括应用编程接口,应用编程接口向web接口应用显露多个服务,以用于集成项目的整个生命周期。web接口应用对持久保存集成项目的底层框架以及要执行集成项目的运行时引擎是不可知的。应用编程接口可以以运行时引擎中间格式持久保存集成项目,并且可以在部署时间将集成项目从运行时引擎中间格式转变为运行时引擎特定格式。

附图说明

图1示出了根据实施例的集成云服务。

图2示出了根据实施例的用于将UI应用与ICS运行时中的运行时引擎隔离的系统。

图3进一步示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的系统。

图4进一步示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的系统。

图5示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的顺序图。

图6示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的方法。

具体实施方式

例如Oracle集成云服务(ICS)的集成平台即服务可以提供基于云的平台用于构建和部署连接驻留在云或本地中的应用的集成流。

图1示出了根据实施例的集成云服务。

如图1所示,ICS 107可以提供基于云的集成平台用于设计、执行和管理ICS集成流。ICS可以包括在企业云环境(例如,Oracle公共云)101中的应用服务器117上执行的web应用109和ICS运行时115。web应用可以提供显露多个用户接口用于开发者设计、激活、管理和监视ICS集成流的设计时间。可以在ICS运行时上部署和执行激活的ICS集成流。

根据实施例,可以提供多个应用适配器113以通过处理连接到多个应用的底层复杂性来简化配置到这些应用的连接的任务。应用可以包括ICS供应商(例如,Oracle RightNow)105的企业云应用、第三方云应用(例如,Salesforce)103以及本地应用119。ICS可以向这些应用显露简单对象访问协议(SOAP)和表述性状态转移(REST)端点用于与这些应用进行通信。

根据实施例,ICS集成流(或ICS集成)可以包括源连接、目标连接以及两个连接之间的字段映射。每个连接可以基于应用适配器,并且可以包括应用适配器与应用的特定实例进行通信所需的附加信息。

根据实施例,可以在ICS项目中定义ICS集成流,该ICS项目可以包括例如元数据、Java连接器架构(JCA)文件和web服务定义语言(WSDL)文件的结构化构件集合。可以在ICS运行时中部署和执行ICS项目,并且ICS项目可以用于集成云应用和本地应用。因此,ICS项目是集成项目。在整个文献中,术语“ICS项目”和“ICS集成项目”可互换使用。两个术语都可以用于指代集成项目。

抽象层

如上所述,ICS可以包括用于ICS开发者设计ICS项目的web UI应用和用于执行项目的运行时。

在ICS项目的生命周期期间,开发者通常需要使用多个接口。例如,在开发阶段期间,开发者可以在项目上执行CRUD(创建、读取、更新和删除)操作。在开发阶段期间,开发者可以编译和部署项目。可以在不同的接口中执行这些操作。此外,ICS项目可以以特定于具体运行时引擎的格式来开发,并且在没有附加工作的情况下无法重用于不同的运行时引擎。

根据实施例,系统可以提供将web接口应用与底层技术隔离的抽象层。该抽象层包括向web接口应用显露多个服务的应用编程接口用于集成项目的整个生命周期。web接口应用对持久保存集成项目的底层框架以及要执行集成项目的运行时引擎是不可知的。应用编程接口可以以运行时引擎中间格式持久保存集成项目,并且可以在部署时间将集成项目从运行时引擎中间格式转变为运行时引擎特定格式。

根据实施例,抽象层可以驻留在web接口应用与ICS运行时中的一个或多个运行时引擎之间,从而将ICS web接口层与底层集成技术隔离。

根据实施例,可以提供多个处理机,每个处理机用于具体的运行时引擎。特定于运行时引擎的处理机可以用于将ICS项目从运行时引擎中间格式转变为特定于运行时引擎的格式。

此外,抽象层可以用于生成和验证ICS包、导出和导入ICS项目、引导有预定义的ICS项目和数据的持久性存储库以及在ICS项目实例之间移动ICS数据。

图2示出了根据实施例的用于将UI应用与ICS运行时中的运行时引擎隔离的系统。

如图2所示,抽象层209可以包括向web UI应用显露多个功能的API用于管理ICS项目的生命周期。例如CRUD(创建、读取、更新和删除)211、激活213和监视215的功能中的每一个在web UI应用中的单个接口上是可见的。

根据实施例,抽象API可以使用多个类/对象(例如,持久性管理器217和操作管理器219)来提供多个服务以将这些功能与底层技术(例如,持久性框架和运行时引擎)隔离,当底层技术变化时以上操作可以提供灵活性和代码重用。

根据实施例,在ICS项目的开发阶段期间,开发者可以创建多个ICS对象(例如,连接对象和集成流对象)。需要读取、更新或删除这些对象。可以将多个持久性框架223插入抽象层中,并且在没有web UI应用的知识的情况下可以由操作管理器使用多个持久性框架223以执行CRUD操作。操作管理器提供可以将显露的功能与被配置为执行功能的持久性框架隔离的一组接口。

如进一步所示,基于用户选择的用以托管ICS项目的具体运行时,抽象层还可以包括多个项目模板(例如,OSB模板)以及可以自动选择运行时引擎特定处理机(例如,OSB处理机)的项目处理机227。所选择的运行时引擎特定处理机可以使用一个或多个项目模板225将由操作管理器从持久性存储库检索的运行时引擎中间项目转换为运行时引擎特定项目。操作管理器可以对具体运行时引擎部署233运行时引擎特定项目。通过以运行时引擎中间格式开发ICS项目并且在部署时将它转换为运行时引擎特定格式,抽象层将web UI应用与运行时引擎有效地隔离。

根据实施例,抽象API还包括运行时度量演示器221以格式化和显示由ICS运行时显露的API收集的运行时度量231。例如,运行时度量可以包括针对给定ICS集成流每秒的事务数和失败的事务数、针对每个成功调用的日志信息、显示例如在最后20个记录期间的活动流。由ICS运行时显露的API也可以用于下载事务日志文件以及检索针对具体类型的运行时度量的用户特定请求。

图3示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的系统。

如图3所示,web UI应用可以提供用于ICS开发者创建ICS项目305的接口,可以使用可插入持久性框架以运行时引擎中间格式将ICS项目305持久保存在持久性存储库中。

根据实施例,运行时引擎中间ICS项目可以表示不特定于具体运行时/集成引擎的项目结构,并且可以由web UI应用来定义。运行时引擎中间项目可以包括以XML格式定义的表示诸如源应用、目标应用、集成模式和图式的配置的元数据。

根据实施例,ICS项目类可以表示运行时引擎中间格式项目,并且可以封装所需的元数据。ICS项目类(ICS项目构件314)的实例可以存储到持久性存储库中。

根据实施例,持久性管理器可以在正在开发ICS项目的同时执行会话管理311和资源锁定/解锁313。持久性管理器可以保持追踪每个资源(例如,文件和元数据)的状态,并且防止开发者解锁另一个开发者锁定的资源。

根据实施例,例如OSB配置框架和Oracle企业库(OER)的不同的持久性框架可以插入持久性管理器,从而将web UI应用与持久性框架隔离。

图4进一步示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的系统。

根据实施例,操作管理器可以用于激活ICS项目。

在没有抽象层的情况下,需要通过明确地执行“构建”动作来激活ICS项目以从ICS项目生成企业档案(EAR)文件、从web接口选择EAR文件以部署ICS项目以及使用第三接口以监视部署的项目。抽象层可以将EAR文件生成与ICS项目的部署和监视组合为具体接口中的单个步骤。

根据实施例,激活按钮可以放在ICS项目名称旁边。当点击该按钮时,可以提示ICS开发者选择具体运行时以部署ICS项目。响应于该选择,操作管理器可以使用持久性管理器从持久性存储库中检索411运行时引擎中间项目、将ICS项目转变为运行时引擎特定格式、生成EAR文件以及调用由特定运行时引擎(例如,Oracle服务总线运行时引擎(OSB))显露的API以部署其上的EAR文件。

根据实施例,操作管理器可以调用可以基于由ICS开发者选择的运行时来选择运行时引擎特定处理机以转变项目的项目处理机。

如图4所示,根据实施例,持久性管理器可以将运行时引擎中间项目415传递给可以将运行时引擎特定项目返回给操作管理器的项目处理机。项目管理器可以将转变的项目部署419到特定运行时引擎以执行项目。

根据实施例,可以由抽象层提供多个运行时引擎特定处理机,例如,Oracle服务总线(OSB)处理机427和业务执行流程语言(BPEL)处理机447。当选择OSB处理机时,OSB处理机可以从例如数据库中检索OSB模板,并且使用模板和相关联的元数据以添加对于ICS项目在OSB运行时引擎上运行所需的细节。多个方法可以用于使用检索的模板和元数据对ICS项目进行转变。

根据实施例,在部署项目之后,可以通过上述激活按钮所位于的相同的用户接口来执行部署的项目的监视。

根据实施例,ICS运行时可以显露一组API用于显示运行时度量,诸如针对给定ICS集成流每秒的事务数和失败的事务数、针对每个成功调用的日志信息、显示例如最后20个记录的活动流。显露的API也可以用于下载所有事务的日志文件以及接收针对具体类型的运行时度量的用户特定请求。

图5示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的顺序图。

如图5所示,当ICS web UI应用501可以用于保存ICS项目时(步骤511),可以调用持久性管理器504以使用持久性框架API 505创建资源(步骤512)。资源创建可以包括将ICS项目文件持久保存到持久性框架API的底层数据库。

如图5进一步所示,开发者从ICS web UI应用可以激活(步骤515)ICS项目。项目激活可以使得操作管理器506使用从持久性存储库检索的持久保存的资源来创建包(步骤514)。

根据实施例,操作管理器可以接收(步骤516)创建的包,并且调用项目处理机508以创建转变的项目(步骤518)。操作管理器可以进一步调用运行时部署bean 509以部署转变的项目(步骤521)。

如上所述,在激活ICS项目的按钮上点击可以执行检索运行时引擎中间项目、创建项目包(编译项目)、将项目转变为运行时引擎特定项目以及部署转变的项目的步骤。

根据实施例,在ICS web UI应用接收已经成功部署ICS项目的指示(步骤525)之后,可以自动地显示监视屏幕,其中可以向托管部署的项目的ICS运行时发送对于运行时度量的请求(步骤526)。可以由监视接口接收运行时度量(步骤527),并且以各种格式(例如,柱状图)显示。

图6示出了根据实施例的用于将web UI应用与ICS运行时中的运行时引擎隔离的方法。

如图6所示,在步骤611,在包括微处理器的计算机上提供web UI应用,其中web UI应用提供针对ICS的设计时间。

在步骤613,提供了抽象应用编程接口(API),该抽象API向web UI应用显露多个服务,用于设计、部署和监视ICS项目。

在步骤615,以运行时引擎中间格式持久保存ICS项目。

在步骤616,在部署时间ICS项目被转换为特定于ICS运行时中的运行时引擎中的一个的格式。

使用包括根据本公开的教导编程的一个或多个处理器、存储器和/或计算机可读存储介质的一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器可以方便地实现本发明。熟练的程序员可以基于本公开的教导容易地准备适当的软件编码,这对软件领域技术人员是显而易见的。

在一些实施例中,本发明包括计算机程序产品,该计算机程序产品是具有存储在其上/其中的可以用于对计算机编程以执行本发明的任何过程的指令的非暂态存储介质或计算机可读介质。存储介质的示例可以包括但不限于包括软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘的任何类型的盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统(包括分子存储器IC)或者适用于存储指令和/或数据的任何类型的介质或设备。

为了说明和描述的目的,已经提供了本发明的实施例的前文描述。它不旨在是穷举的或将本发明限制于所公开的确切形式。对于本领域技术人员而言,许多修改和变化将是显而易见的。修改和变化包括公开特征的任何相关组合。选择和描述实施例以便最好地解释本发明的原理及其实际应用,从而使本领域其他技术人员能够理解本发明的各种实施例以及适于预期的具体使用的各种修改。

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