CN107408009A - 用于在基于云的集成服务中将源元素智能地映射到目标元素的***和方法 - Google Patents

用于在基于云的集成服务中将源元素智能地映射到目标元素的***和方法 Download PDF

Info

Publication number
CN107408009A
CN107408009A CN201680012686.3A CN201680012686A CN107408009A CN 107408009 A CN107408009 A CN 107408009A CN 201680012686 A CN201680012686 A CN 201680012686A CN 107408009 A CN107408009 A CN 107408009A
Authority
CN
China
Prior art keywords
mapping
source
application
rule
expression formula
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.)
Granted
Application number
CN201680012686.3A
Other languages
English (en)
Other versions
CN107408009B (zh
Inventor
J·赫雷利亚
T·霍拉
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
Publication of CN107408009A publication Critical patent/CN107408009A/zh
Application granted granted Critical
Publication of CN107408009B publication Critical patent/CN107408009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

根据实施例,本文描述的是用于在基于云的集成服务的设计时中创建源应用和目标应用之间的高级映射的***和方法。设计时中的web界面应用可以显示包括一个或多个源元素的源数据对象、包括一个或多个目标元素的目标数据对象以及多个映射部件。用于特定目标元素的映射区域可以包括源元素和该特定目标元素之间的映射表达式。当映射部件被拖曳并置放到映射区域上时,可以触发根据多个规则定义一个或多个动作的应用编程接口,以生成一个或多个映射语句来修改映射表达式,从而创建源元素和目标元素之间的高级映射。

Description

用于在基于云的集成服务中将源元素智能地映射到目标元素 的***和方法
版权声明
本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
技术领域
本发明的实施例一般而言涉及云服务,并且具体而言涉及在基于云的集成服务的设计时中将源元素智能地映射到目标元素的***和方法。
背景技术
从本地(on-premises)应用到软件即服务(SaaS)和本地应用的混合组合的快速转变为试图简化企业应用集成的企业带来了挑战。集成平台即服务(iPaaS)可以提供一套基于云的工具来解决这些挑战。iPaaS平台可以为开发人员提供设计时(design time)以设计集成流以及在源应用和目标应用之间映射不同格式的数据对象。
发明内容
根据实施例,本文描述的是用于在基于云的集成服务的设计时中创建源应用和目标应用之间的高级映射的***和方法。设计时中的web界面应用可以显示包括一个或多个源元素的源数据对象、包括一个或多个目标元素的目标数据对象以及多个映射部件。用于特定目标元素的映射区域可以包括源元素和该特定目标元素之间的映射表达式。当映射部件被拖曳并置放到映射区域上时,可以触发根据多个规则定义一个或多个动作的应用编程接口(API),以生成一个或多个映射语句来修改映射表达式,从而创建源元素和目标元素之间的高级映射。
附图说明
图1示出根据实施例的集成云服务。
图2示出根据实施例的ICS设计时。
图3示出根据实施例的用于在ICS设计时中将源元素智能地映射到目标元素的***。
图4示出根据实施例的智能置放API。
图5A-图5B示出根据实施例的在ICS设计时中自动注入被置放的项和捕获项之间的映射表达式。
图6A-图6C示出根据实施例的当函数被拖曳并置放到映射表达式上时由映射构建器采取的动作。
根据实施例,图7A-图7B示出当源项被不适当地拖曳并置放时映射构建器可以生成错误。
图8示出根据实施例的用于在ICS设计时中将源元素智能地映射到目标元素的方法。
具体实施方式
集成平台即服务(例如,Oracle集成云服务(ICS))可以提供基于云的平台,用于构建和部署连接驻留在云中或本地的应用的集成流。
当创建集成流时,在源数据对象和目标数据对象之间映射数据会是耗时的,尤其是当在源元素和目标元素之间需要高级映射时。
根据实施例,如本文所使用的,映射可以是可扩展样式表(XSL)表达式,该可扩展样式表表达式指示来自源数据对象的元素/字段如何映射到来自目标数据对象的一个或多个元素。例如,可以由
“city:<xsl:value-of select=’/ns0:shippingOrder/ns0:deliverTo/cmm:city’/>”.表示从来自源数据对象的“城市(city)”到目标数据对象中的“城镇(town)”的映射。高级映射可以表示已经被一个或多个函数、操作符或语句修改以包括约束、值计算或其它操作的映射。
例如,源数据对象中的源元素“价格(price)”可以映射到目标数据对象中的两个价格之和。可以使用函数或操作符来修改映射表达式,以通过组合目标数据对象中的两个价格并将经组合的价格映射到源价格来创建高级映射。
根据实施例,本文描述的是用于在集成云服务设计时中在源应用和目标应用之间创建高级映射的***和方法。由集成云服务提供的web接口应用可以显示包括一个或多个源元素的源数据对象、包括一个或多个目标元素的目标数据对象以及多个映射部件。用于特定目标元素的映射区域可以包括源元素和该特定目标元素之间的映射表达式。当映射部件被拖曳并置放到映射区域上时,可以触发根据多个规则定义一个或多个动作的应用编程接口,从而生成一个或多个映射语句来修改映射表达式,以创建源元素和目标元素之间的高级映射。
图1示出根据实施例的集成云服务。
如图1所示,ICS 107可以提供用于设计、执行和管理ICS集成流的基于云的集成服务。ICS可以包括在企业云环境(例如,Oracle公共云)101中的应用服务器117上执行的web应用109和ICS运行时115。Web应用可以提供设计时,该设计时暴露多个用户接口以供开发人员设计、激活、管理和监视ICS集成流。经激活的ICS集成流可以在ICS运行时上部署和执行。
根据实施例,可以提供多个应用适配器113,以通过处置连接到多个应用的底层复杂性来简化配置到这些应用的连接的任务。应用可以包括ICS供应商(例如,OracleRightNow)的企业云应用105、第三方云应用(例如,Salesforce)103和本地应用119。ICS可以向这些应用暴露简单对象访问协议(SOAP)和表示状态转移(REST)端点,以用于在与这些应用的通信中使用。
根据实施例,ICS集成流(或ICS集成)可以包括源连接、目标连接以及这两个连接之间的字段映射。每个连接可以基于应用适配器,并且可以包括应用适配器与应用的特定实例通信所需的附加信息。
根据实施例,可以将ICS集成流和多个其它所需工件(artifact)(例如,JCA和WSDL文件)编译成可在ICS运行时中部署和执行的ICS项目。
图2示出根据实施例的ICS设计时。
根据实施例,web UI应用中的开发界面(例如,开发画布)210可以被开发人员用来使用多个现有连接201(例如,连接A 203、连接B 205和连接N 207)创建ICS集成流。
如图2所示,特定连接(例如,连接A)可以被拖曳并置放211到开发界面作为源连接213,并且连接N可以被拖曳并置放209到开发界面作为目标连接215。源连接可以包括连接到源应用所需的信息,并且可以被ICS用来从源应用(例如,Oracle RightNow云应用)接收请求。目标连接可以包括连接到目标应用(例如,Salesforce云应用)所需的信息,并以可以被ICS用来向目标应用发送请求。
根据实施例,源连接和目标连接还可以被配置为包括附加信息。例如,附加信息可以包括要对与请求相关联的数据执行的操作的类型以及针对这些操作的对象和字段。
根据实施例,一旦配置了源连接和目标连接,就可以启用这两个连接之间的映射器,并且可以显示映射器图标(例如,映射器图标A217和映射器图标B 218)以用于打开映射器,使得开发人员可以针对请求和响应消息二者定义如何在源数据对象和目标数据对象之间传送信息。
根据实施例,映射器可以为开发人员提供图形用户界面,以通过将源项拖曳到目标项上来在源应用和目标应用之间映射项(例如,字段、属性和元素)。当打开ICS集成流中用于请求或响应消息的映射器时,可以使用源连接和目标连接自动加载源数据对象和目标数据对象。
根据实施例,可以提供查找(lookup)以便于创建映射。如本文所使用的,查找是针对应用中描述相同项所使用的不同代码和术语的可重用映射。查找可以将一个应用针对特定字段使用的值与其它应用针对同一字段使用的值相关联。这提供了跨词汇或***映射值的能力。
智能拖曳并置放
如上所述,由推荐引擎提供的推荐映射可以被转换成实际映射。实际映射可以由源元素和目标元素之间的映射表达式(例如,XML路径语言(XPath)表达式)来表示。
根据实施例,实际映射还可以被配置为创建高级映射,该高级映射可以包括条件语句、XPath函数和引用查找。
例如,XPath函数“concat()”可以被用来通过将目标数据对象中的两个元素联接(concatenate)在一起以匹配源数据对象中的一个元素来修改映射表达式。
根据实施例,***可以使用智能置放API来自动生成映射表达式和语句,以创建源元素和目标元素之间的高级映射。智能置放API可以基于被拖曳并置放的源项和捕获(catching)目标项以及源项被置放在什么地方(例如捕获目标项的上方或下方)来采取适当的动作。当源项被拖曳并置放到目标项上时,或者当用户选择源项和目标项然后点击映射按钮时,可以调用智能置放API。
映射表达式和映射语句的自动注入可以提高效率并减少ICS集成流中数据映射中的错误。
根据实施例,源项和目标项可以是可以被用来创建源元素和目标元素之间的映射的任何部件。源项可以是源数据对象中的元素、字段或属性;或多个分层地分类的映射部件中的一个,包括可扩展样式表语言(XSL)构造、XPath函数、操作和变量。目标项可以是目标元素,或者是通过置放源项而自动***或生成的部件。
根据实施例,智能置放API可以定义一组映射规则,这些映射规则指定当用户将源项置放到目标项上时要采取的一个或多个动作。每个映射规则可以定义用于被置放的源项和捕获目标项的组合的动作。
根据实施例,一个或多个动作可以包括当源元素和目标元素之间不存在映射时自动地注入映射表达式以创建这两个元素之间的映射。如果映射表达式已经存在,那么可以将一个或多个附加的源项拖曳并置放到映射表达式上,以放置约束和条件,并触发对映射表达式或其相关项的操作。这些附加的源项还可以按照源应用和目标应用的类型来提示用户浏览查找,并自动地向所选择的查找函数提供缺省参数。
根据实施例,当映射规则在源项和目标项的级别上不可用时,可以使用用于更高分类的映射部件的规则来触发用于被置放的源项以及捕获目标项的动作。当源项被拖曳并置放到在其上不能执行期望操作的目标项上时,可以生成错误消息来提醒用户。
图3示出根据实施例的用于在ICS设计时中将源元素智能地映射到目标元素的***。
如图3所示,***可以包括用于在创建源元素和目标元素之间的高级映射中使用的映射构建器311。当ICS开发人员点击目标数据对象中的目标元素或点击实际映射(例如,点击实线或点击实际映射的目标元素)时,可以调用映射构建器。例如,通过点击目标数据对象中的“元素Y”来调用如图3所示的映射构建器。
根据实施例,被调用的映射构建器可以包括当打开映射器时加载的源数据对象313。源数据对象可以包括多个元素,例如元素A 1115、元素B 321、元素X 317和元素Y 319。映射构建器还可以包括多个映射部件323和映射区域333。
如图3进一步所示,映射区域可以包括用于目标元素的标签(例如,<ns2:town>)以及指示对于目标元素不存在映射的空行337。
根据实施例,当ICS开发人员将元素Y拖曳并置放到空行上时,映射构建器可以通过将被置放的项和捕获项作为参数传递来调用345智能API 343。智能置放API可以基于被置放的项和捕获项的组合来生成347映射表达式339以替换该空行。映射表达式可以是定义源元素和目标元素之间的映射的XPath表达式。
根据实施例,多个映射部件中的一个或多个可以被拖曳并置放到映射表达式或映射区域中的另一个项上,以触发智能置放API生成一个或多个映射语句341。映射语句可以放置约束和条件,触发对映射表达式或其相关项的操作,或者基于源应用和目标应用的类型来提示用户浏览查找。
动作/结果
列表1示出根据实施例的示例性映射表达式。
<xsl:value-of select=′/ns0:shippingOrder/ns0:deliverTo/cmm:city′/>
列表1
如列表1所示,映射表达式可以包括来自多个映射部件之一的映射部件“value-of”。该映射部件可以被用来提取所选择的XML节点的值,并将所提取的值添加到目标元素,由此创建源元素和目标元素之间的映射。
根据实施例,如上所述,可以在用户将源元素拖曳并置放到目标元素上时或者在用户选择源元素和目标元素并且点击映射按钮时创建映射表达式。
然而,根据实施例,如果源元素和目标元素都是重复元素,那么可以利用<xsl:for-each>语句作为目标元素的父代(parent)来创建映射表达式。<xsl:for-each>语句的“选择(select)”属性可以是到源元素的位置路径。
根据实施例,当表示条件(例如,<xsl:if>)的映射部件被拖曳并置放到映射表达式或与目标元素相关的另一个项上时,可以在映射表达式之上自动***空的父行(parentrow)和该条件,其中空的父行为用户提供了指定用于该条件的值(例如,真(true)或假(false))的接口。映射构建器可以使用指定的值和条件来生成定义用于映射表达式的完整条件的父行。
根据实施例,当在映射表达式上拖曳并置放表示函数的映射部件时,被置放的函数可以自动被环绕在映射表达式周围。如果该函数具有多个参数,那么可以提示用户选择可以将映射表达式作为其值的特定参数。
例如,如果被置放的映射部件是联接函数,那么在映射表达式上置放该函数可以被***用来提示用户选择要将映射表达式复制到其的特定参数。一旦该特定参数被选择,用户就可以将另一个项拖曳并置放到未选择的另一个参数上,使得该被置放的项可以与映射表达式联接以创建经联接的串。
根据实施例,当把查找函数拖曳并置放在映射表达式上时,可以按照与源元素和目标元素相关的应用的类型来提示用户来浏览查找。当查找被选择时,查找函数的参数可以缺省地为与源元素和目标元素相关的应用。
根据实施例,映射构建器可以支持其它用例。例如,当源日期元素被置放到目标日期元素上时,可以自动注入时区偏移函数,以创建映射表达式。
根据实施例,表1示出通过将被拖曳的函数或操作符置放到捕获目标项上而生成的示例性动作或结果。
表1
如表1所示,将被拖曳的函数或操作符置放在捕获目标项上所得到的动作或结果包括错误消息,以及用置放的函数或操作符部分或完全替换捕获元素。
根据实施例,表2和表3示出通过将被拖曳的流控制语句置放到捕获目标项上而生成的示例性动作或结果。
表2
表3
如表2和表3所示,当用户将XSL流控制语句(例如“xsl:if”、“xsl”choose”或“xsl:for-each”)置放到目标标签或XSL语句上时,映射构建器可以将XSL流控制语句***作为目标标签或XSL语句的父行。将XSL流控制语句置放到其它类型的目标项上可能产生错误。
智能置放API
图4示出根据实施例的智能置放API。
如图4所示,智能置放API可以包括多个类或接口。这些类或接口可以在运行时被实例化为对象,以生成映射表达式或映射语句,用于让映射构建器创建高级映射。对象可以包括规则对象315、动作接口419、动作枚举对象413、动作集合对象421,以及拖曳并置放关键字(DDKeywords)对象411、映射部件层次对象417以及映射动作生成器对象423。
根据实施例,规则对象可以定义一组规则,每个规则指定当源项被置放到目标项上时要采取的一个或多个动作。动作接口对象可以包括用于执行不同动作和规则的run()方法,每个动作包括用于完成特定智能置放功能的步骤或一系列步骤。用于在构造每个动作中使用的可用步骤可以由动作枚举对象定义。
作为说明性示例,可用步骤之一是将空的父行或子行***到映射表达式的步骤。
根据实施例,动作集合对象可以定义要顺序执行以完成目标的一系列动作,其中第一动作的结果可以被传递作为下一个动作的捕获项。映射部件层次对象可以定义上述映射部件的层次类别/分类。DDKwords对象可以提供用于映射部件的类别/分类的关键字(例如,STATEMENT(语句)、FLOW_CONTROL(流控制)、EXPRESSION(表达式)和FUNCTION(函数))。
例如,DDKwords对象可以对作为函数的“concat()”使用“FUNCTION”关键字,它作为“EXPRESSION”类别的一部分。
在运行时,映射动作生成器对象可以加载在规则对象中定义的规则、在动作枚举对象中定义的动作,以及在映射部件层次结构对象中定义的映射部件的层次类别。基于作为参数传递的被置放的项和捕获项,映射动作生成器对象可以检查规则对象,以确定用于在调用一个或多个动作中使用的适用规则。
根据实施例,在确定适用规则中,映射动作生成器对象可以对照每个规则将被置放的项与捕获项进行比较。如果正在被评估的特定规则不适用于特定的被置放的项和捕获项的对,那么可以使用适用于在更高分类处的被置放的项和捕获项的对的规则。
例如,如果捕获项(捕获者)是“<xsl:value-of>”,置放的项(可拖曳的项)是“concat()”,那么可以使用用于“STATEMENT”(捕获者)和“FUNCTION”(可拖曳的项)的规则,因为捕获项“<xsl:value-of>”是语句并且被置放的项“concat()”是函数。
图5A-图5B示出根据实施例的在ICS设计时中自动注入被置放的项和捕获项之间的映射表达式。
如图13A所示,当用户点击目标元素(例如,城镇(town)时,映射构建器被调用。由于不存在针对目标元素的映射,所以映射构建器自动为目标元素***空的子行,该空的子行如由“在这里拖曳并置放或输入”指示的那样。
在图5B中,当用户或ICS开发人员将源项(例如,城市(city))拖曳并置放到目标项(即,空的孩子行)上时,可以自动生成映射表达式以替换空的孩子行。
图6A-图6C示出根据实施例的当把函数拖曳并置放到映射表达式上时由映射构建器采取的动作。
图6A示出“if”函数被拖曳并置放在映射表达式上。图6B示出将“if”函数置放在映射表达式上生成条件语句以及允许用户为该条件语句指定值的空行。图6C示出,在为条件语句指定值后,可以创建为映射表达式放置条件的映射语句。
根据实施例,图7A-图7B示出当源项被不适当地拖曳并置放时映射构建器可以生成错误。
图7A示出“concat()”函数正被拖曳并置放到目标元素标签(例如,<ns2:town)的空的父行上。由于映射构建器不知道在哪里指派由“concat()”函数产生的值,所以可以生成错误来提醒用户该拖曳并置放操作是无效的,如图15B所示。
图8示出根据实施例的用于在ICS设计时中将源元素智能地映射到目标元素的方法。
如图所示,在步骤811处,提供在包括微处理器的计算机上执行的集成云服务,其中集成云服务包括用于在源应用和目标应用之间创建集成流的web界面应用以及用于执行该集成流的运行时。
在步骤813处,web界面应用被配置为显示与源应用相关联并包括一个或多个源元素的源数据对象、与目标应用相关联并包括一个或多个目标元素的目标数据对象,以及多个映射部件。
在步骤815处,在web界面应用中显示用于目标元素的映射区域,该映射区域包括定义源元素和目标元素之间的映射的映射表达式。
在步骤817处,映射区域接收被拖曳并置放的映射部件。
在步骤819处,使用根据多个规则定义一个或多个动作的应用编程接口(API)生成一个或多个映射语句以修改源元素和目标元素之间的映射。
本发明的实施例可以使用一个或多个常规的通用或专用数字计算机、计算设备、机器或微处理器来方便地实现,这些数字计算机、计算设备、机器或微处理器包括根据本公开的教导被编程的一个或多个处理器、存储器和/或计算机可读存储介质。如本领域技术人员将清楚的,基于本公开的教导,适当的软件编码可以由熟练的程序员容易地准备。
在一些实施例中,本发明包括计算机程序产品,计算机程序产品是在其上/其中存储有指令的(一个或多个)非暂态存储介质或计算机可读介质,这些指令可以被用来对计算机进行编程以执行本发明的过程中的任何过程。存储介质的示例可以包括但不限于任何类型的盘(包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备,磁卡或光卡、纳米***(包括分子存储器IC)或适于存储指令和/或数据的任何类型的介质或设备。
已经为了说明和描述的目的提供了对本发明的实施例的前述描述。它不旨在是详尽的或者要将本发明限制到所公开的精确形式。许多修改和变化对于本领域技术人员将是明显的。这些修改和变化包括所公开的特征的任意相关组合。实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,由此使本领域的其他技术人员能够理解用于各种实施例的本发明以及具有适于预期的特定用途的各种修改的本发明。

Claims (21)

1.一种用于在基于云的集成服务中创建高级映射的***,包括:
计算机,所述计算机包括一个或多个微处理器;
云服务,所述云服务在所述计算机上执行,其中所述云服务包括用于创建源应用和目标应用之间的集成流的web界面应用以及用于执行所述集成流的运行时;
映射区域,所述映射区域用于所述目标应用的目标元素,所述映射区域显示在所述web界面应用中,其中所述映射区域包括多个目标项,所述映射区域包括定义所述源应用的源元素与所述目标应用的所述目标元素之间的映射的映射表达式;
多个映射部件,所述多个映射部件显示在所述web界面应用中,其中每个映射部件被配置为被拖曳并置放到所述多个目标项中的一个或多个目标项上;
应用编程接口,所述应用编程接口定义多个规则,其中每个规则指定用于被拖曳并置放的映射部件与目标项的组合的一个或多个动作;
其中所述多个映射部件中的一个或多个映射部件被拖曳并置放到所述映射区域上,以触发所述多个规则中的一个或多个规则,从而生成一个或多个映射语句,所述一个或多个映射语句修改所述映射表达式以创建所述源元素和所述目标元素之间的高级映射。
2.如权利要求1所述的***,其中对所述映射表达式的修改包括添加条件语句、函数和引用查找。
3.如权利要求1或2所述的***,其中所述多个映射部件包括可扩展样式表语言(XSL)构造、XPath函数、操作和变量。
4.如权利要求1至3中任一项所述的***,其中所述应用编程接口将所述映射区域中的捕获项和映射部件作为参数,并且基于该映射部件和该捕获项的组合实施所述多个规则中的一个规则,以生成被用来修改所述映射表达式的所述一个或多个映射语句。
5.如权利要求1至4中任一项所述的***,其中,当所述目标元素被点击时,显示所述映射区域。
6.如权利要求1至5中任一项所述的***,其中所述多个映射部件被加载到所述应用编程接口中的对象中,并且在其中被分层地分类。
7.如权利要求1至6中任一项所述的***,其中所述web用户界面应用是Java应用。
8.一种用于在基于云的集成服务中创建高级映射的方法,包括:
提供云服务,所述云服务在包括微处理器的计算机上执行,其中所述云服务包括用于创建源应用和目标应用之间的集成流的web界面应用以及用于执行所述集成流的运行时;
在所述web界面应用中显示用于所述目标应用的目标元素的映射区域,其中所述映射区域包括多个目标项,所述映射区域包括定义所述源应用的源元素与所述目标应用的所述目标元素之间的映射的映射表达式;
在所述web界面应用中显示多个映射部件,其中每个映射部件被配置为被拖曳并置放到所述多个目标项中的一个或多个目标项上;
提供定义多个规则的应用编程接口,其中每个规则指定用于被拖曳并置放的映射部件与目标项的组合的一个或多个动作;
在所述映射区域中接收所述多个映射部件中的一个或多个被拖曳并置放的映射部件;以及
触发所述多个规则中的一个或多个规则以生成一个或多个映射语句,所述一个或多个映射语句修改所述映射表达式以创建所述源元素和所述目标元素之间的高级映射。
9.如权利要求8所述的方法,其中对所述映射表达式的修改包括添加条件语句、函数和引用查找。
10.如权利要求8或9所述的方法,其中所述多个映射部件包括可扩展样式表语言(XSL)构造、XPath函数、操作和变量。
11.如权利要求8至10中任一项所述的方法,其中所述应用编程接口将所述映射区域中的捕获项和映射部件作为参数,并且基于该映射部件和该捕获项的组合实施所述多个规则中的一个规则,以生成被用来修改所述映射表达式的所述一个或多个映射语句。
12.如权利要求8至11中任一项所述的方法,其中,当所述目标元素被点击时,显示所述映射区域。
13.如权利要求8至12中任一项所述的方法,其中所述多个映射部件被加载到所述应用编程接口中的对象中,并且在其中被分层地分类。
14.如权利要求8至13中任一项所述的方法,其中所述web用户界面应用是Java应用。
15.一种存储指令的集合的非暂态计算机可读存储介质,所述指令的集合用于在集成云服务中创建高级映射,所述指令在被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求8至14中任一项所述的方法。
16.一种存储指令的集合的非暂态计算机可读存储介质,所述指令的集合用于在基于云的集成服务设计时中创建高级映射,所述指令在被一个或多个处理器执行时,使得所述一个或多个处理器执行步骤,所述步骤包括:
提供云服务,所述云服务在包括微处理器的计算机上执行,其中所述云服务包括用于创建源应用和目标应用之间的集成流的web界面应用以及用于执行所述集成流的运行时;
在所述web界面应用中显示用于所述目标应用的目标元素的映射区域,其中所述映射区域包括多个目标项,所述映射区域包括定义所述源应用的源元素与所述目标应用的所述目标元素之间的映射的映射表达式;
在所述web界面应用中显示多个映射部件,其中每个映射部件被配置为被拖曳并置放到所述多个目标项中的一个或多个目标项上;
提供定义多个规则的应用编程接口,其中每个规则指定用于被拖曳并置放的映射部件和目标项的组合的一个或多个动作;
在所述映射区域中接收所述多个映射部件中的一个或多个被拖曳并置放的映射部件;以及
触发所述多个规则中的一个或多个规则以生成一个或多个映射语句,所述一个或多个映射语句修改所述映射表达式,以创建所述源元素和所述目标元素之间的高级映射。
17.如权利要求16所述的非暂态计算机可读存储介质,其中对所述映射的修改包括添加条件语句、函数和引用查找。
18.如权利要求16或17所述的非暂态计算机可读存储介质,其中所述多个映射部件包括可扩展样式表语言(XSL)构造、XPath函数、操作和变量。
19.如权利要求16至18中任一项所述的非暂态计算机可读存储介质,其中所述应用编程接口将所述映射区域中的捕获项和映射部件作为参数,并且基于该映射部件和该捕获项的组合实施所述多个规则中的一个规则,以生成被用来修改所述映射表达式的所述一个或多个映射语句。
20.如权利要求16至19中任一项所述的非暂态计算机可读存储介质,其中,当所述目标元素被点击时,使得所述映射区域被显示。
21.如权利要求16至20中任一项所述的非暂态计算机可读存储介质,其中所述多个映射部件被加载到应用编程接口中的对象中,并且在其中被分层地分类。
CN201680012686.3A 2015-06-05 2016-06-03 用于在基于云的集成服务中将源元素智能地映射到目标元素的***和方法 Active CN107408009B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562171769P 2015-06-05 2015-06-05
US62/171,769 2015-06-05
US15/171,894 US10374905B2 (en) 2015-06-05 2016-06-02 System and method for intelligently mapping a source element to a target element in an integration cloud service design time
US15/171,894 2016-06-02
PCT/US2016/035743 WO2016196951A1 (en) 2015-06-05 2016-06-03 System and method for intelligently mapping a source element to a target element in a cloud-based integration service

Publications (2)

Publication Number Publication Date
CN107408009A true CN107408009A (zh) 2017-11-28
CN107408009B CN107408009B (zh) 2020-10-09

Family

ID=56194570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680012686.3A Active CN107408009B (zh) 2015-06-05 2016-06-03 用于在基于云的集成服务中将源元素智能地映射到目标元素的***和方法

Country Status (5)

Country Link
US (1) US10374905B2 (zh)
EP (1) EP3304353B1 (zh)
JP (1) JP6832288B2 (zh)
CN (1) CN107408009B (zh)
WO (1) WO2016196951A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563505A (zh) * 2018-04-04 2018-09-21 上海有云信息技术有限公司 一种服务链编排方法、装置、服务器以及存储介质
CN111614705A (zh) * 2019-02-25 2020-09-01 华为技术有限公司 多终端设备之间服务决策分发的方法及***
CN111712809A (zh) * 2018-04-16 2020-09-25 甲骨文国际公司 通过示例来学习etl规则

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142188B2 (en) * 2015-06-04 2018-11-27 Oracle International Corporation System and method for providing guiding messages in creating an integration flow in a cloud-based integration platform
US10324585B2 (en) * 2015-06-04 2019-06-18 Oracle International Corporation System and method for providing completeness indicators for an integration flow in a cloud-based integration platform
US10375189B2 (en) 2015-06-04 2019-08-06 Oracle International Corporation System and method for decoupling a source application from a target application in an integration cloud service
US10324697B2 (en) 2015-06-04 2019-06-18 Oracle International Corporation System and method for importing and extorting an integration flow in a cloud-based integration platform
US10374905B2 (en) * 2015-06-05 2019-08-06 Oracle International Corporation System and method for intelligently mapping a source element to a target element in an integration cloud service design time
US10304222B2 (en) 2015-06-05 2019-05-28 Oracle International Corporation System and method for graphically displaying recommended mappings in an integration cloud service design time
US10372773B2 (en) 2015-06-05 2019-08-06 Oracle International Corporation System and method for providing recommended mappings for use by a mapper in an integration cloud service design time
US10216491B2 (en) * 2016-09-16 2019-02-26 Oracle International Corporation Controlled availability of objects in a visual design tool for integration development
US10628237B2 (en) 2016-09-16 2020-04-21 Oracle International Corporation Cloud service integration flow
US10972351B2 (en) * 2016-11-03 2021-04-06 Allied Telesis Holdings Kabushiki Kaisha Dynamic management of network environments
US11055367B2 (en) * 2018-11-14 2021-07-06 Sap Se Web application architecture for information management
US11316731B2 (en) 2019-06-24 2022-04-26 International Business Machines Corporation Determine valid drop targets for nodes from mapping
US11824837B2 (en) * 2020-07-15 2023-11-21 Sap Se End user creation of trusted integration pathways between different enterprise systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005114393A3 (en) * 2004-05-13 2007-01-18 Altova Gmbh Visual data mapping and code generation for data integration
US7367595B2 (en) * 1997-04-15 2008-05-06 Swagelok Company Ferrule having convex interior wall portion
CN102193643A (zh) * 2010-03-15 2011-09-21 北京搜狗科技发展有限公司 一种文字输入方法和具有翻译功能的输入法***
CN102355457A (zh) * 2011-09-06 2012-02-15 深圳市络道科技有限公司 一种字符终端应用***及其应用的调用方法
US20140129265A1 (en) * 2012-11-02 2014-05-08 Sabre, Inc. Method and apparatus for providing services to partners and third party web developers
US8788931B1 (en) * 2000-11-28 2014-07-22 International Business Machines Corporation Creating mapping rules from meta data for data transformation utilizing visual editing

Family Cites Families (24)

* 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
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
US20020116531A1 (en) * 2001-02-21 2002-08-22 International Business Machines Corporation Applying anonymous personalization to web-based customer interactions
US7257818B2 (en) 2002-08-29 2007-08-14 Sap Aktiengesellschaft Rapid application integration using functional atoms
US7694314B2 (en) * 2003-08-28 2010-04-06 Siebel Systems, Inc. Universal application network architecture
JP2008511934A (ja) * 2004-08-31 2008-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション エンタープライズ・データ統合システムのためのアーキテクチャ
US9747652B2 (en) 2005-01-10 2017-08-29 International Business Machines Corporation Providing controlled levels of collaborative exchange of data for registered participating subscribers and publishers
US7752223B2 (en) 2006-08-07 2010-07-06 International Business Machines Corporation Methods and apparatus for views of input specialized references
US7925988B2 (en) * 2007-11-13 2011-04-12 International Business Machines Corporation System and method for providing sticky applications
US20100042670A1 (en) * 2008-08-13 2010-02-18 Electronic Data Systems Corporation Integrated development engine for a cloud computing environment
CN102025755A (zh) * 2009-09-22 2011-04-20 日电(中国)有限公司 用于网络资源聚合的方法和设备
US9367595B1 (en) * 2010-06-04 2016-06-14 Software AG USA Inc. Method and system for visual wiring tool to interconnect apps
US8577960B2 (en) * 2010-07-29 2013-11-05 Sap Ag Providing status information for components in a distributed landscape
US8943076B2 (en) 2012-02-06 2015-01-27 Dell Products, Lp System to automate mapping of variables between business process applications and method therefor
US20140100922A1 (en) * 2012-03-11 2014-04-10 Aaron B. Aycock Employee engagement system, method and computer readable media
US9092244B2 (en) * 2012-06-07 2015-07-28 Dell Products, Lp System for developing custom data transformations for system integration application programs
US20140334304A1 (en) 2013-05-13 2014-11-13 Hui Zang Content classification of internet traffic
US9704137B2 (en) * 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
GB201321821D0 (en) 2013-12-10 2014-01-22 Ibm Opague message parsing
US10404769B2 (en) * 2013-12-31 2019-09-03 Google Llc Remote desktop video streaming alpha-channel
US20180173845A1 (en) * 2014-06-05 2018-06-21 Natera, Inc. Systems and Methods for Detection of Aneuploidy
US20160182309A1 (en) * 2014-12-22 2016-06-23 Rockwell Automation Technologies, Inc. Cloud-based emulation and modeling for automation systems
US20160196532A1 (en) * 2015-01-05 2016-07-07 Oracle International Corporation System and method for project status staleness, correlation, and rollup
US10374905B2 (en) * 2015-06-05 2019-08-06 Oracle International Corporation System and method for intelligently mapping a source element to a target element in an integration cloud service design time

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7367595B2 (en) * 1997-04-15 2008-05-06 Swagelok Company Ferrule having convex interior wall portion
US8788931B1 (en) * 2000-11-28 2014-07-22 International Business Machines Corporation Creating mapping rules from meta data for data transformation utilizing visual editing
WO2005114393A3 (en) * 2004-05-13 2007-01-18 Altova Gmbh Visual data mapping and code generation for data integration
CN102193643A (zh) * 2010-03-15 2011-09-21 北京搜狗科技发展有限公司 一种文字输入方法和具有翻译功能的输入法***
CN102355457A (zh) * 2011-09-06 2012-02-15 深圳市络道科技有限公司 一种字符终端应用***及其应用的调用方法
US20140129265A1 (en) * 2012-11-02 2014-05-08 Sabre, Inc. Method and apparatus for providing services to partners and third party web developers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563505A (zh) * 2018-04-04 2018-09-21 上海有云信息技术有限公司 一种服务链编排方法、装置、服务器以及存储介质
CN111712809A (zh) * 2018-04-16 2020-09-25 甲骨文国际公司 通过示例来学习etl规则
CN111614705A (zh) * 2019-02-25 2020-09-01 华为技术有限公司 多终端设备之间服务决策分发的方法及***

Also Published As

Publication number Publication date
EP3304353B1 (en) 2022-01-26
CN107408009B (zh) 2020-10-09
EP3304353A1 (en) 2018-04-11
US20160359689A1 (en) 2016-12-08
JP2018517953A (ja) 2018-07-05
US10374905B2 (en) 2019-08-06
WO2016196951A1 (en) 2016-12-08
JP6832288B2 (ja) 2021-02-24

Similar Documents

Publication Publication Date Title
CN107408009A (zh) 用于在基于云的集成服务中将源元素智能地映射到目标元素的***和方法
Ceri et al. Model-driven development of context-aware web applications
Ngu et al. Semantic-based mashup of composite applications
Mäder et al. Towards automated traceability maintenance
US20090112666A1 (en) Apparatus and method for generating a monitoring view of an executable business process
US8924914B2 (en) Application creation tool toolkit
US20110022943A1 (en) Document object model (dom) application framework
Fill SeMFIS: a flexible engineering platform for semantic annotations of conceptual models
US20120060141A1 (en) Integrated environment for software design and implementation
Powers et al. Microsoft visual studio 2008 Unleashed
Dubberly A systems literacy manifesto
CN104660697B (zh) 基于Kepler科学工作流传感网服务组合方法
Beaudoux et al. Specifying and running rich graphical components with loa
Gonen et al. Ontological support for the evolution of future services oriented architectures
Pepin et al. Virtual Extension of Meta-models with Facet Tools.
Collins Beginning WF: Windows Workflow in. NET 4.0
Nelson Developing Sinopia’s linked-data editor with React and Redux
Quintero et al. A conceptual modeling approach for the design of web applications based on services
Loskyll et al. UbisEditor 3.0: Collaborative ontology development on the Web
Giani et al. A set of languages for context-aware adaptation
Paternò et al. Support for authoring service front-ends
Kästner et al. Sketching a Model-Based Technique for Integrated Design and Run Time Description: Short Paper-Tool Demonstration
Andre et al. Virtual Extension of Meta-models with Facet Tools
Omsha A Comparative Study of. NET MAUI and Avalonia in Cross-Platform Mobile Application Development
Yildirim et al. Automated extraction of feature models from android based portable devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant