CN103109284A - 用于移动业务对象的参数值联结 - Google Patents
用于移动业务对象的参数值联结 Download PDFInfo
- Publication number
- CN103109284A CN103109284A CN2011800352306A CN201180035230A CN103109284A CN 103109284 A CN103109284 A CN 103109284A CN 2011800352306 A CN2011800352306 A CN 2011800352306A CN 201180035230 A CN201180035230 A CN 201180035230A CN 103109284 A CN103109284 A CN 103109284A
- Authority
- CN
- China
- Prior art keywords
- parameters
- connection
- parameter
- definition
- information system
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000003860 storage Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 abstract description 12
- 238000013459 approach Methods 0.000 abstract 1
- 230000003993 interaction Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 20
- 230000000007 visual effect Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 244000078534 Vaccinium myrtillus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 235000003095 Vaccinium corymbosum Nutrition 0.000 description 1
- 235000017537 Vaccinium myrtillus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000021014 blueberries Nutrition 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 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
- 238000013500 data storage Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- HJUFTIJOISQSKQ-UHFFFAOYSA-N fenoxycarb Chemical compound C1=CC(OCCNC(=O)OCC)=CC=C1OC1=CC=CC=C1 HJUFTIJOISQSKQ-UHFFFAOYSA-N 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2117—User registration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种系统、方法和计算机程序制品,其用于促进前端移动业务对象和后端企业信息系统数据之间的交互作用。所描述的方法减少了对由企业信息系统所需的客户可视参数的需要,但是该方法可以在经由同步服务器与企业信息系统交互作用的移动设备上使用,而不要客户应用程序开发人员直接提供。
Description
技术领域
本发明主要涉及数据库同步,以及更加具体地,涉及在数据库同步中使用的编程抽象。
背景技术
同步服务器用于允许移动设备在本地设备数据库和企业信息系统(“EIS”)之间不定期地同步数据。同步服务器充当促进该事务的媒介物。
同步服务器用从EIS中所选择的数据的副本保持缓存数据库,对应于移动设备上应用程序所使用的移动业务对象(“MBO”)类。然而,对于集成EIS而无需移动设备应用程序开发人员针对特定EIS要求,存在挑战。
因此,期望获得改进方法以用于MBO和支持EIS之间通信的抽象。
发明内容
本发明的实施例包括一种方法,该方法包括:获得用于企业信息系统操作的规范(specification),该企业信息系统操作包括一个或多个参数;识别涉及企业信息系统操作的移动业务对象;以及定义用于一个或多个参数的联结。
本发明的实施例还包括一种制品,该制品包括在其上存储计算机可执行指令的计算机可读存储介质,通过一个或多个计算装置执行所述指令促使计算装置执行操作,该操作包括:获得用于企业信息系统操作的规范,该企业信息系统操作包括一个或多个参数;识别涉及企业信息系统操作的移动业务对象;以及定义用于一个或多个参数的联结。
本发明的实施例进一步包括一种系统,该系统包括配置成存储模块的存储器和配置成处理模块的一个或多个处理器,其中所述模块包括获得模块、识别模块、以及定义模块;获得模块被配置成获得用于企业信息系统操作的规范,该企业信息系统操作包括一个或多个参数;识别模块被配置成识别涉及企业信息系统操作的移动业务对象;以及定义模块被配置成定义用于一个或多个参数的联结。
参考附图,下面将详细描述本发明的其他特征和优点,以及本发明各种实施例的结构和操作。值得注意的是,本发明不限于在此所描述的具体实施例。在此呈现的这种实施例仅用于说明目的。基于包含在此的教导,另外的实施例对于相关领域的技术人员来说是显而易见的。
附图说明
合并在此并形成说明书一部分的附图阐释了本发明的实施例,以及与说明一起进一步用于阐释本发明的原理,并能够使相关领域技术人员实施和使用本发明。
图1为根据本发明实施例的示例性企业网络。
图2为阐释根据本发明实施例的方法的流程图,通过该方法,客户应用程序通过使用移动业务对象能够进入企业信息系统。
图3是根据本发明实施例的企业信息系统联结路径的可视化视图。
图4是阐释根据本发明实施例的用于联结至企业信息系统操作参数的方法的流程图。
图5是根据本发明实施例的阐释值联结概念的联结路径网格(bind path grid)。
图6是根据本发明实施例的阐释使用常数值的值联结概念的联结路径网格。
图7是根据本发明实施例的阐释使用复杂个性化参数的值联结概念的联结路径网格。
图8是根据本发明实施例的阐释相关实体联结概念的联结路径网格。
图9是根据本发明实施例的阐释使用XML文件形式的企业信息系统中每指令线(order line)单项的相关实体联结的联结路径网格。
图10是根据本发明实施例的阐释使用同步参数的联结路径网格。
图11描述了示例计算机系统,在该系统中可以实施本发明的实施例。
现在参考附图将描述本发明。在附图中,通常,相同参考数字表示等同或功能类似的元件。另外,通常,参考数字的最左侧数值表示该参考数字首次出现的附图。
具体实施方式
I介绍
下面参考附图详细描本发明述,所述附图阐释与本发明一致的典型实施例。其他实施例也是可能的,且在本发明的精神和范围内可以对实施例进行修改。因此,详细的说明不意味着限制本发明。当然,本发明的范围是由随附的权利要求限定的。
显然,如下所描述的,对于本领域技术人员来说,本发明能够以附图中所阐释的软件、硬件、固件、和/或实体的多个不同实施例而实施。具有专业化硬件控制以实施本发明的任何实际软件代码不是本发明的限制。因此,在本发明的范围和精神内,将描述本发明的操作性的行为,应该理解可以对实施例进行修改和变形。
参考本说明书中的模块以及权利要求表示用于执行显示的函数的硬件或软件的任何组合。模块不必是严格定义的实体,使得多个模块在功能性方面可以重叠硬件和软件构件。例如,软件模块可以涉及程序内的单行代码,程序本身是分离的软件模块。相关领域的技术人员会理解,根据例如多种格式的或性能优化的技术来定义模块的功能性。
图1是根据本发明实施例的示例性企业网络100。根据本发明的另一实施例,企业网络100包括移动设备102。仅示例性地而非限制性地,移动设备102可包括例如加拿大、安大略省、滑铁卢的行动研究公司(RESEARCH IN MOTION)的黑莓或者加利福尼亚、库比蒂诺的苹果公司(APPLE COMPUTER,INC.)的苹果手机的移动设备。相关领域的技术人员会认知到,在此描述的应用于移动设备102的技术通常也可应用至非移动设备,例如个人电脑。
根据本发明的实施例,移动设备102具有安装在其上的客户应用程序104。根据本发明的实施例,客户应用程序104能够连接设备输入和输出(“I/O”)106,例如监视器、键盘或者触摸屏显示器。客户端应用程序104也能够连接本地数据库108,该本地数据库108存储由客户端应用程序104使用的数据组。
根据本发明的实施例,移动设备102与同步服务器110通信。根据本发明的另一实施例,例如移动设备102的另外移动设备类似地与同步服务器110通信。如相关领域技术人员所理解的一样,经由任何一个或多个通信通道,各种移动设备被连接至同步服务器110。例如,在示例性实施例中,移动设备102和同步服务器110之间的连接性可涉及蜂窝通信网络和因特网上的通信跳跃(hops)。各种通信跳跃自身可是公共或专用网络,并且可包括位于因特网以及各种专用企业内部网上的组件。
根据本发明的实施例,同步服务器110位于一个或多个移动设备102和企业信息系统(“EIS”)114之间。同步服务器110有助于捕捉由EIS114产生的相关数据变更,并将该变更提供给移动设备102。同步服务器110还有助于捕捉由移动设备102产生的变更,并提供该变更至EIS114。以这种方式,本地数据库108中对移动设备102有用的数据与来自EIS114的、企业数据系统116的对应数据存储的数据同步。根据本发明的实施例,同步服务器110保持反映来自企业数据系统116的数据的缓存数据库112。
根据本发明的实施例,EIS114被连接至同步服务器110,从而允许同步服务器110提供前述的数据同步服务。EIS114和同步服务器110之间的通信同样地可以通过任何通信通道,如同相关领域技术人员理解的一样。相关领域的技术人员会进一步理解,EIS114和同步服务器110可以共享同一个物理服务器或分布式服务器作为其中的单独软件构件,或者甚至被编译为单个结合应用程序。因此,应理解,同步服务器110和EIS114可以布置在企业网络100内的多个不同位置,并且显示为图1中的单独计算装置,仅是示例的并非限制的。
如之前所述,根据本发明的实施例,EIS114进一步包括或者另外通信联接至企业系统116。根据本发明的另一实施例,本地数据库108内的数据包括来自企业数据系统116的数据子集。根据本发明的实施例,这种数据是用于移动业务对象(“MBO”)的形式的。MBO是能够在企业信息系统114和移动设备102之间被同步的业务对象。通过存储在本地数据库108中,可以使MBO持续,从而在没有连接至EIS114期间允许移动设备102进行访问。另外,缓存数据库112包括对应于MBO的数据库表格。在2009年7月15日申请的、代理机构编号为1933.0720001的、名称为“Metadata Driven MobileBusiness Objects”的、美国专利申请号为12/503,573的申请中提供了非限制性的MBO示例,其通过引用完全并入本文。
尤其是通过2010年7月20日申请的、名称为“MembershipTracking and Data Eviction in Mobile Middleware Scenarios”(代理机构编号1933.1510000)的、待审美国专利申请号为__的申请、2010年6月10日申请的、名称为“Message Based Synchronization for MobileBusiness Objects”(代理机构编号:1933.0940001)的、待审美国专利申请号为12/813,104的申请、2009年12月30日申请的、名称为“Message Based Mobile Object with Native PIM Intergration”(代理机构编号:1933.0950000)的、待审美国专利申请号为12/649,527的申请、2010年6月10日申请的、名称为“Pending State Management forMobile Business Objects”(代理机构编号:1933.1090001)的、待审美国专利申请号为12/797,975的申请,描述了同步服务器110、EIS114的另外功能性以及与MBO的交互作用,上述所有通过引用完全并入本文。
II.企业信息系统操作
根据本发明的实施例,EIS114提供来自企业数据系统116的数据。根据本发明的另一实施例,通过操作的定义组可从EIS114中获得数据。经由非限制性的示例性实施例,EIS操作以网络服务出现,该网络服务期待具有嵌套结构的XML元件,该嵌套结构说明EIS操作和零或多个命名参数。
根据本发明的实施例,在具有命名参数的EIS操作中,每个命名参数具有指定的EIS数据类型,该指定的EIS数据类型包括原始类型(例如,日期(date)、字符串(string)、整数(integer))、原始列表类型(例如,date*(其中后缀“*”指示列表))、包含具有EIS数据类型的命名域组的结构类型(例如,MyStructure)、以及结构列表类型(例如,MyStructure*)。
经由非限制性示例,用于创建新用户的EIS操作用过如下的XML元素指定:
相关领域的技术人员会认知到,可以使用用于指定EIS操作的其他技术,在此讨论的那些技术仅是通过示例提供,并没有限制。此外,根据本发明的实施例,上述的XML示例包括用于待被通信的其他数据的开销(overhead),包括但不限于SOAP开销。
在上述非限制性示例中,包含在“authInfo”标签(例如,用户名(username)和密码(password))内的信息用于验证发送XML数据至EIS114的请求者。如果该验证数据匹配EIS114中的期望值,那么EIS114允许使用在“custInfo”标签内指定的数据创建用户。相关领域的技术人员会认知到可以指定其他操作,包括用于指定创建客户操作的其他形式。
使用上面的非限制示例的XML EIS操作格式,注意,authInfo必须包含每个创建新用户的请求的记录。在此将进一步详细地描述这种方式,以这种方式获得用于增加XML文件的该数据,包括非限制性示例的验证数据,该XML文件用于调用EIS操作。
III.移动业务对应操作
如上所述,根据本发明的实施例,MBO在客户应用程序104和缓存数据库112处使用,从而表示来自企业数据系统116的数据。根据本发明的另一实施例,以程序包定义MBO,每个程序包包括用于一个或多个MBO的定义。根据本发明的实施例,MBO的定义包括属性组(近似结构体成员(structure field))和可以由客户应用程序104调用的操作组。
根据本发明的实施例,通过使用可视建模工具,可以对MBO定义提供其对应的属性组和运算组。经由非限制性典型实施例,可视建模工具可以是来自安大略省、渥太华的THE ECLIPSE FOUNDATION的Eclipse,加拿大运行的UML建模工具。
在先前的示例中,描述了在EIS114在企业数据系统116的后端中创建新用户的EIS操作。使用MBO在前端(例如客户应用程序104或者缓存数据库112)描述用户。根据本发明的实施例,包括MBO的数据包(package)以XML表示。在非限制性示例中,表示包括用户MBO的数据包的XML如下:
在上述示例中,省略号(“…”)表示已经有意忽略的XML文件部分。例如,没有显示“创建(create)”、“更新(update)”,以及“删除(delete)”操作的细节,尽管相关领域的技术人员会理解可以采用多种定义这些操作的方式。此外,示例性地且非限制性地提供了采用的特殊XML语法。
根据本发明的实施例,使用上面的XML定义,通过MBO代码生成器可以生成MBO类。客户应用程序104开发人员然后引用这些MBO类。例如,MBO代码生成器可以使用上面的XML定义,来生成被如下利用的客户类:
优选地,客户应用程序104开发人员然后能上传新创建的用户至EIS114,例如存储在上面的用户“c”对象中的用户。根据本发明的实施例,客户应用程序104开发人员会使用如下语法来同步新创建的客户和EIS114:
c.submitPending();
MyDatabase.synchronize();
然而,在获得来自MBO类的数据方面,以及将该数据以EIS114所期望格式并具有EIS114所期望的任何命名参数地传至EIS114的方面存在挑战。图2是根据本发明实施例的流程图200,其阐释了通过使用MBO客户应用程序104能够进入EIS114的方法。根据本发明的实施例,该方法在步骤202开始,并进行至步骤204,在该步骤204,客户应用程序104调用MBO,例如,如上所示地通过上的非限制性的示例性的“c.submitPending()”和“MyDatabase.synchronize();”调用。
该方法然后进行至步骤206,在该处同步服务器110接收调用,包括任何用于与EIS114同步的参数(例如,用户名称、电话、地址等)。在步骤208,通过使用从MBO接收的数据,同步服务器110调用对应的EIS114操作。根据非限制性的示例性实施例,使用前面在第II部分中所示的示例,同步服务器110能够利用来自用户MBO类(Customer MBO class)的数据从而创建和增添“creatClass”EIS114XML元素。该方法然后在步骤210结束。
IV.复杂类型的移动业务对象解决方案
如上所述,在图2的步骤206中,同步服务器110用于接收任何MBO参数,并且在步骤208,同步服务器110用于调用对应的EIS操作。这包含根据EIS操作的定义请求,将所需数据传至EIS114。
特别地,在第III部分的上面非限制性示例中,用于创建新用户(使用例如基于MBO的XML表示的代码生成功能性)的“c.create()”操作没有参数,然而在第II部分中描述的EIS114“createCustomer”操作具有复杂参数。在一个解决方案中,通过建模对应的MBO从而具有复杂类型参数,“createCustomer”操作或者其它EIS操作的复杂参数,可以直接暴露给客户应用程序104的开发人员。该简洁的实施要求客户应用程序104开发人员付出较多额外的努力从而运转该实施。
例如,用于用户的重建MBO如下(为了简洁使用省略号省去了某些部分):
在该重建MBO中,经由非限制性示例,在MBO属性和参数,以及用于“createCustomer”操作的EIS114参数之间存在一对一对应。然而,在多种情况下,EIS114参数的可视度对于客户应用程序104开发人员来说既不是必须的也不是所期望的。例如,对于客户应用程序104开发人员来说,用于存储用户信息的不同数据结构是更有用的,或者期望隐藏验证细节。
具有MBO操作参数和EIS114操作参数之间的一对一对应的、利用该MBO所必须的结果代码如下:
对于客户应用程序104的开发人员来说,与期望相比,该方法明显要求知晓EIS114的更多知识。与相对轻松的利用第III部分的用户创建示例比较,使用该一对一MBO-至-EIS114操作参数对应的客户应用程序104开发人员必须以可能更复杂的方式提供更多信息。
不管目的如何,在同步服务器110处提供逻辑从而满足EIS114操作参数要求是有用的,不需要求对应的MBO用户,例如客户应用程序104的开发人员,直接指定所有EIS114操作参数。结果是,MBO的实施对客户应用程序104的开发人员要求过高。
V.使移动业务对象参数和属性与企业信息系统参数匹配
根据本发明的实施例,代替要求客户应用程序104以EIS114要求的同一格式直接提供EIS114操作请求的所有信息,可以如下定义MBO,即在不要求MBO用户指定所有所需数据的情况下可以满足EIS114操作的要求。根据本发明的实施例,这通过在联结路径中首先描述EIS114中所需的信息来完成。
图3是根据本发明实施例的EIS114联结路径300的可视化视图。联结路径可以树结构描述,如图3所示,或者以随后显示的网格描述,尽管相关领域的技术人员会认识到也可使用其他描述,或者完全不可视。联结路径300的可视化用于延伸可视建模工具,该工具用于生成MBO从而允许指定EIS操作参数。
根据非限制性典型实施例,联结路径300显示用于EIS114的createCustomer操作的所需的authInfo和custInfo参数302和308。在这些authInfo和custInfo参数302和308下方的其他参数描述了它们所包含的参数,例如authInfo参数中的用户名(username)和密码(password)参数304和306,以及custInfo参数中的姓名(name)、电话(phone)以及地址(address)参数310、312和314。类似地,custInfo.address(地址)参数具有对应的街道(street)、城市(city)、以及状态(state)参数316、318和320。
根据本发明的实施例,在联结路径300中显示的参数是需要被指定以满足EIS114操作的那些,在该情况中,是createCustomer操作。相关领域的技术人员会意识到以这种方式可以建模任何数量的EIS操作,并不限于接收XML文件作为输入的示例性EIS114操作。
图4是根据本发明实施例的阐释用于联结至EIS114操作参数的方法的流程图400。根据本发明的实施例,所述方法在步骤402开始,并进行至步骤404,该步骤404处获得EIS114操作的规范和其参数,若存在的话。在步骤406处,识别对应的MBO操作和其属性。
根据本发明的实施例,然后,在步骤408,指定EIS114操作和其参数以及MBO操作和其属性之间的映射。根据本发明的另一实施例,除了至MBO属性的映射外,通过在此将进一步描述的其他方法来指定EIS114操作参数。所述方法然后在步骤410结束。
VI值联结
根据本发明的实施例,同步服务器110为EIS114操作指定数据的一种方式是通过使用值联结。根据本发明的实施例,图5是阐释值联结概念的联结路径网格500。联结路径网格500对应于被描述为可视参照(例如,在可视建模工具中)的树结构的联结路径300。
根据本发明的实施例,MBO开发人员为联结路径网格500中的特殊联结路径指定用于值联结特殊联结路径的值路径。在如联结路径网格500中显示的非限制性示意实施例中,行510的联结路径“parameter<custInfo>.name”是联结至值路径“attribute<name>”的值。在这个非限制性示例中,MBO类的“name”属性被用作为传到EIS114的值的来源,作为参数custInfo.name。在联结路径网格500的行512,516,518和520处通过非限制性的示例再次显示了相似操作。
根据本发明的实施例,值路径被用于使EIS操作参数(例如“parameter<custInfo>.name”)与客户可视联结路径(例如,客户应用程序104可视的联结路径)相关联。
如图5所示,根据本发明的实施例,值联结也可是个性化参数,如在行504和506中一样。在非限制性示意实施例中,MBO可以指定包括用户名(username)和密码(password)的个性化参数,经由值联结可以重新使用用户名(username)和密码(password),而对于客户应用程序104开发人员来说没有必要知道或指定这些参数。例如,可以指定MBO从而包含个性化参数,例如:
<personalization-parameter name=″username″type=″string″/>
<personalization-parameter name=″password″type=″string″/>
根据本发明的实施例,在这种情况中,能够一次设置这些个性化参数,并且通过任何用户MBO类对象能够重新使用这些个性化参数。根据本发明的另一实施例,从本地数据库108或从EIS114中可以检索个性化参数。在非限制性示例中,使用下面的代码可以在客户应用程序104处设置用户名(username)和密码(password):
根据本发明的实施例,EIS114操作参数也可以是联结至常数值的值。图6是根据本发明的实施例阐释了使用常数值的值联结概念的联结路径网格600。
如行604和606中所示,在示意性的非限制实施例中,EIS114操作参数“parameter<authInfo>.username”和“parameter<auInfo>.password”可以是分别联结至常数值“albert”和“secret”的值。相关领域的技术人员会认识到常数值(正如任何其他值联结结果)可以是简单或复杂类型。在非限制性示例中,利用复杂类型,能够直接为“parameter<authInfo>”指定常数值,而不是单独指定行704和706的用户名(username)和密码(password)。
根据本发明的实施例,例如,图7是阐释了使用复杂个性化参数的值联结概念的联结路径网格700。根据本发明的另一实施例,然而,可以在原始类型的节点上执行简单类型的联结(例如,行704和706的用户名(username)和密码(password)字符串),复杂类型的联结可以被联结至结构类型的节点上。在非限制性示例中,具有复杂类型的个性化参数可以被定义为:
在这种情况中,“auth”个性化参数具有复杂类型“AuthInfo”,该复杂类型“AuthInfo”包含用户名(username)和密码(password)简单类型参数(例如字符串)。该“auth”个性化参数因此可以直接联结至行702的结构类型节点“parameter<authInfo>”。
根据本发明的实施例,另外的值联结可以包括到表达式的联结。经由非限制性示例,可能通过使用包括两个结果的复杂类型(例如,日期时间(dateTime)数据类型),这种表达式联结可以是返回当前日期(date)和时间(time)的函数“now()”。根据本发明的另一实施例,表达式可以是复杂表达式,例如条件表达式。
根据本发明的实施例,值联结的另一种形式可以是外来属性,特别是与另一个MBO相关的属性。经由非限制性示例,“getCustomers”EIS114读取操作可以具有“state”参数,该参数具有应该从“State”MBO的“code”属性的所有独立值中选择的值。根据本发明的实施例,外来属性在读取操作中使用,其随后在同步事件的环境中讨论。VII默认值和值联结的客户可视度
根据本发明的实施例,当常数值被联结至客户可视值联结时,其成为默认值。如图7的行702所示,在个性化参数“auth”旁边指定复杂类型常数值。特别地,常数值:{“username”:“albert”,“password”:“secret”}被用于提供默认用户名(username)/密码(password)组合。根据本发明的实施例,如果从明确的MBO操作参数获得了空值,那么使用该默认组合。在该非限制性示例中,如果从“auth”个性化参数获得了空值,那么反而使用常数值。
通常,期望简单地利用常数值,如果可用,并从客户可视度方面隐藏参数。然而,如相关领域的技术人员所理解的一样,存在这种情况,即需要使用客户可视参数或使用客户可视参数是有利的。根据本发明的实施例,如果存在对应的MBO操作参数,该操作参数可于由客户应用程序104代码传递,那么EIS操作参数及其值联结被认为是客户可视的。
VIII相关实体联结
在另外的非限制性示例中,通过MBO建模器定义两个MBO:SalesOrder MBO和相关的OrderLine MBO。然而,再次经由示例而非限制性,EIS114可能期待复合操作,该复合操作在单个XML文件中包含销售订单(sales order)和指令行(order line)。EIS114期望的这种XML文件可以具有形式:
因此,根据本发明的实施例,为了支持对SalesOrder MBO的createOrder操作,构造涉及相关OrderLine MBO属性的值路径。图8是根据本发明的实施例的阐释了相关实体联结概念的联结路径网格800。
如行816所示,使用语法“attribute<orderLines>[].quantity”通过参考相关的OrderLine MBO(经由orderLines属性)来获得指令线(order line)数量EIS操作参数。对于制品ID,在行818显示了类似结果。
图9是根据本发明实施例的阐释了在EIS114期望的XML文件中使用每指令行(order line)单个项目的相关实体的联结路径网格900。在这种情况中,在EIS114需要的制品ID和存储在OrderLineMBO中的那些之间存在一对一的对应。结果,根据本发明的实施例,能够将“attribute<orderLines>[].productId”直接映射至EIS114“parameter<productIds>.[]”,因为MBO属性和EIS参数都是原始列表类型。
IX同步参数和读取操作
根据本发明的实施例,移动业务对象可以指定零或更多同步参数。根据本发明的进一步实施例,每个同步参数具有名称和原始数据类型。在示意非限制实施例中,MBO可以定义如下订阅:
然后,利用MBO,可以通过客户应用程序104开发人员指定同步参数,从而例如将下载数据限制于缓存数据库112中存在的子集。使用上述的MBO说明,客户应用程序104的开发人员可以经由非限制性示例指定:
根据本发明的实施例,该代码会导致仅有用户具有从缓存数据库112下载至移动设备102本地数据库108的“CA”状态。图10是根据本发明的实施例的阐释了同步参数使用的联结路径网格1000。在非限制性示例中,EIS114提供通过期望接收XML元素的网络服务来读取客户的操作,其中XML元素具有下面的结构:
根据本发明的实施例,如在行1010中所示,使用联结路径网格,可以将状态同步参数映射到EIS操作参数“parameter<searchBy>.state”。每个客户应用程序104,或者或许甚至每个移动设备102,或者其使用者能够为同步参数指定值。在这种情况中,仅有那些指定的状态具有从缓存数据库112下载至移动设备102的本地数据库108的相关实体。
X客户可视参数的其他使用
如之前所述,期望消除客户可视参数的情况。然而,在客户可视参数具有特殊用途的情况下已经识别了多个情景。这些情景在此描述为非限制性示例,且相关领域的技术人员会理解存在其他例外。
如果允许fill-from子属性,那么期望客户可视参数的一种情况是使用fill-from属性。另外,存在使用个性化键入的可能,但是还没有实施,并且相反地客户应用程序104开发人员继续依赖客户可视参数。
在另一种情况中,数据可以被传递至EIS114,但是不用作MBO属性,即使该数据可用作属性。例如,INSTALL_DATE参数可由客户应用程序104直接传递,即使以用于审计的方式该参数可被处理为非客户可视参数。
此外,根据本发明的实施例,在属性、个性化参数或其它值已被映射的情况,希望依靠默认常数值的客户应用程序104的开发人员可以刻意将空值传递至该属性或个性化参数。相关领域的技术人员会意识到,在本发明的附加实施例中,可利用其它技术来指定对默认常数值的依赖,例如破坏参数和论据之间的链接并删除参数。
根据本发明的另一实施例,客户应用程序104可能需要基于是否已改变属性而传递标记至EIS114操作。相关领域的技术人员会理解,在同步服务器110处对于自动处理会实施这种功能,但是也可通过客户可视参数来处理。
在另一个示例中,客户应用程序104可以传递客户应用程序104具有的容易被EIS114操作利用的参数,从而改进EIS114的性能,或者避免交叉实例(cross instance)后端调用。
对相关领域技术人员显而易见的是,前述示例是非限制性的,并且仅提供了在此描述的方法背景中客户可视参数是有用的一些情形。XI代码生成器
根据本发明的实施例,采用代码生成器来获得MBO定义,包括值联结,并且生成用于每个EIS114操作的源代码和运行时间元数据。根据本发明的进一步实施例,所生成的代码和运行时间元数据一起作用,从而适当构建用于读取操作的输入记录,或者是针对读取操作的输入记录列表。
这允许执行MBO建模的开发人员,以及客户应用程序104开发人员,避免编写任何代码以获得来自各种可能源(例如,常数值、表达式、个性化参数、同步参数、外来属性、MBO属性、MBO操作参数等)的来自EIS114操作参数的值。
XII示例计算机系统实施
通过软件、固件、硬件或其组合可以实施本发明的各种方面。图11阐释了示例计算机系统1100,在该系统中本发明或本发明的部分可以被实施为计算机可读代码。例如,由图2的流程图200和图4的流程图400所示的方法可以在系统1100中实施。按照该示例计算机系统1100描述了本发明的各种实施例。在阅读了该说明后,对相关领域的技术人员来说,如何使用其它计算机系统和/或计算机系统结构来实施本发明是显而易见的。
计算机系统1100包括一个或多个处理器,例如处理器1104。处理器1104可以是专用处理器或通用处理器。处理器1104被连接至通信基础设施1106(例如,总线或网络)。
计算机系统1100还包括主存储器1108,优选地随机存取存储器(RAM),并且还可包括辅助存储器1110。辅助存储器1110可以包括例如,硬盘驱动器1112,可移动存储驱动器1114和/或记忆棒。可移动存储驱动器1114可以包括软盘驱动器、磁带驱动器、光盘驱动器、闪存等。可移动存储驱动器1114以已知的方式从可移动存储单元1118读取和/或写入。可移动存储单元1118可以包括由可移动存储驱动器1114读取或写入的软盘、磁带、光盘等。如相关领域技术人员所理解,可移动存储单元1118包括具有存储在其上的计算机软件和/或数据的计算机可用存储介质。
在可选择的实施中,辅助存储器1110可以包括用于允许计算机程序或者其他指令被下载至计算机系统1100的其他类似装置。这种装置例如可以包括可移动存储单元1122和接口1120。这种装置的示例可以包括程序盒式存储器和盒式接口(例如在视频游戏装置中发现的那些)、可移动存储芯片(例如EPROM或者PROM)和相关插座,以及允许软件和数据从可移动存储单元1122被转移至计算机系统1100的其他可移动存储单元1122和接口1120。
计算机系统1100还可以包括通信接口1124。通信接口1124允许软件和数据在计算机系统1100和外部设备之间传递。通信接口1124可以包括调制解调器、网络接口(例如以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口1124传递的软件和数据是电子、电磁、光信号形式或者是能够被通信接口1124接收的其他信号。这些信号经由通信路径1126被提供至通信接口1124。通信路径1126携载信号并使用电线或电缆、光纤、电话线、移动电话链接、RF链接或其它通信通道实施。
在本文件中,术语“计算机程序介质”和“计算机可用介质”一般被用于表示例如可移动存储单元1118,可移动存储单元1122和安装在硬盘驱动器1112中的硬盘的介质。通过路径1126携载的信号还体现为在此描述的逻辑。计算机程序介质和计算机可用介质还涉及例如主存储器1108和辅助存储器1110的存储器,其可以是半导体存储器(例如,DRAM等)。这些计算机程序制品是为计算机系统1100提供软件的装置。
计算机程序(也称为计算机控制逻辑)被存储在主存储器1108和/或辅助存储器1110中。计算机程序还可以通过通信接口1124被接收。这种计算机程序,当执行时,能够使计算机系统1100实施在此描述的本发明。特别地,计算机程序,当执行时,能够使处理器1104实施本发明的程序,例如上面讨论的图2的流程图200和图4的流程图400所阐释的方法中的步骤。因此,这种计算机程序表示计算机系统1100的控制器。在使用软件实施本发明的情况中,软件被存储在计算机程序制品中,并通过使用可移动存储驱器动1114,接口1120,硬盘驱动器1112或者通信接口1124被载入到计算机系统1100中。
本发明还旨在包括存储在任何计算机可用介质上的软件的计算机程序制品。这种软件,当在一个或多个数据处理装置中执行时,促使数据处理装置如在此所描述地操作。本发明的实施例采用现在已知或将来已知的任何计算机可用或可读介质。计算机可用介质示例包括但不限于,主存储装置(例如任何类型的随机存取存储器),辅助存储装置(例如,硬盘驱动器,软盘,CD ROMS,ZIP磁盘,磁带,磁存储装置,光存储装置,MEMS,纳米技术存储装置等),以及通信介质(例如,有线和无线通信网络,局域网,广域网,内部网等)。X结论
虽然上面已经描述了本发明的各种实施例,应该理解其仅是通过示例表示的,并非限制性的。相关领域的技术人员会理解在不脱离随附权利要求书中限定的本发明的精神和范围的情况下可以进行各种形式上和细节上的改变。应该理解本发明不限于这些示例。本发明可以应用至如在此描述操作的任何元件。因此,本发明的宽度和范围不应由任何上述示意实施例限制,而是仅根据随附权利要求和它们的等同物限定。
Claims (17)
1.一种方法,包括:
获得用于包括一个或多个参数的企业信息系统操作的规范;
识别与所述企业信息系统操作相关的移动业务对象;以及
定义用于所述一个或多个参数的联结。
2.如权利要求1所述的方法,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至常数值的联结。
3.如权利要求2所述的方法,进一步包括:
如果至所述一个或多个参数中的一个参数的附加联结包括空数据,那么利用所述常数值作为用于所述一个或多个参数中的一个参数的默认值。
4.如权利要求1所述的方法,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至表达式的联结。
5.如权利要求1所述的方法,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至个性化参数的联结。
6.如权利要求1所述的方法,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至附加移动业务对象的外来属性的联结。
7.如权利要求1所述的方法,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至值路径的联结,所述值路径包括所述移动业务对象的属性。
8.如权利要求1所述的方法,进一步包括:
接收对所述移动业务对象操作的调用,所述移动业务对象操作对应于所述企业信息系统操作;
准备用于所述企业信息系统操作的所述一个或多个参数,基于所述联结确定所述一个或多个参数;以及
向所述企业信息系统发送所述一个或多个参数。
9.一种包括计算机可读存储介质的制品,所述可读存储介质具有存储在其上的计算机可执行指令,通过一个或多个计算装置执行计算机可执行指令促使所述计算装置执行操作,所述操作包括:
获得用于包括一个或多个参数的企业信息系统操作的规范;
识别与所述企业信息系统操作相关的移动业务对象;以及
定义用于所述一个或多个参数的联结。
10.如权利要求9所述的制品,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至常数值的联结。
11.如权利要求10所述的制品,所述操作进一步包括:
如果至所述一个或多个参数中的一个参数的附加联结包括空数据,那么利用所述常数值作为用于所述一个或多个参数中的一个参数的默认值。
12.如权利要求9所述的制品,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数的至表达式的联结。
13.如权利要求9所述的制品,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至个性化参数的联结。
14.如权利要求9所述的制品,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至另外移动业务对象的外来属性的联结。
15.如权利要求9所述的制品,其中,定义所述联结包括:
定义用于所述一个或多个参数中的一个参数至值路径的联结,所述值路径包括所述移动业务对象的属性。
16.如权利要求9所述的制品,所述操作进一步包括:
接收对所述移动业务对象操作的调用,所述移动业务对象操作对应于所述企业信息系统操作;
准备用于所述企业信息系统操作的所述一个或多个参数,基于所述联结确定所述一个或多个参数;以及
向所述企业信息系统发送所述一个或多个参数。
17.一种系统,包括配置成存储模块的存储器以及配置成处理所述模块的一个或多个处理器,所述模块包括:
获得模块,其被配置成获得用于包括一个或多个参数的企业信息系统操作的规范;
识别模块,其被配置成识别与所述企业信息系统操作相关的移动业务对象;以及
定义模块,其被配置成定义用于所述一个或多个参数的联结。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/840,239 | 2010-07-20 | ||
US12/840,239 US8843438B2 (en) | 2010-07-20 | 2010-07-20 | Parameter value binding for mobile business objects |
PCT/US2011/043833 WO2012012236A2 (en) | 2010-07-20 | 2011-07-13 | Parameter value binding for mobile business objects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103109284A true CN103109284A (zh) | 2013-05-15 |
CN103109284B CN103109284B (zh) | 2015-09-16 |
Family
ID=45494400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180035230.6A Active CN103109284B (zh) | 2010-07-20 | 2011-07-13 | 用于移动业务对象的参数值联结 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8843438B2 (zh) |
EP (1) | EP2596433A4 (zh) |
CN (1) | CN103109284B (zh) |
WO (1) | WO2012012236A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2443454A1 (en) * | 2003-09-11 | 2005-03-11 | Teamplate Inc. | Data binding method in workflow system |
CA2451164C (en) | 2003-09-11 | 2016-08-30 | Teamplate Inc. | Customizable components |
WO2007134265A2 (en) | 2006-05-12 | 2007-11-22 | Captaris, Inc. | Workflow data binding |
US9116766B2 (en) | 2013-07-31 | 2015-08-25 | Sap Se | Extensible applications using a mobile application framework |
US10116697B2 (en) * | 2013-09-20 | 2018-10-30 | Open Text Sa Ulc | System and method for geofencing |
US9875249B1 (en) * | 2015-03-31 | 2018-01-23 | Maginatics Llc | Reducing database fragmentation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005259A1 (en) * | 2003-03-14 | 2005-01-06 | Infowave Software, Inc. | System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems |
CN1680937A (zh) * | 2004-04-05 | 2005-10-12 | 华为技术有限公司 | 人机语言生成系统及其方法 |
CN1967560A (zh) * | 2006-11-09 | 2007-05-23 | 华为技术有限公司 | 业务操作权限控制方法、关系数据库的生成方法 |
CN201435074Y (zh) * | 2009-06-04 | 2010-03-31 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016814A1 (en) * | 2000-08-07 | 2002-02-07 | International Business Machines Corporation | Method, system, and program for invoking stored procedures and accessing stored procedure data |
US6970902B1 (en) * | 2001-05-24 | 2005-11-29 | Cisco Technology, Inc. | Method and apparatus for providing a distributed service in a network |
US7249131B2 (en) | 2001-09-06 | 2007-07-24 | Initiate Systems, Inc. | System and method for dynamically caching dynamic multi-sourced persisted EJBs |
US7177865B2 (en) * | 2003-06-30 | 2007-02-13 | Sap Ag | Data synchronization method and system |
US9098476B2 (en) * | 2004-06-29 | 2015-08-04 | Microsoft Technology Licensing, Llc | Method and system for mapping between structured subjects and observers |
US7467389B2 (en) * | 2004-11-23 | 2008-12-16 | Sybase, Inc. | System and methodology providing service invocation for occasionally connected computing devices |
US7747983B2 (en) * | 2005-04-18 | 2010-06-29 | Research In Motion Limited | System and method for generating a web service definition and database schema from wireless application definition |
CA2513016A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A secure method of synchronizing cache contents of a mobile browser with a proxy server |
US7756829B2 (en) | 2006-04-18 | 2010-07-13 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US8085891B2 (en) * | 2006-05-29 | 2011-12-27 | Research In Motion Limited | System and method for management of mobile device communication |
US7752639B2 (en) | 2006-08-21 | 2010-07-06 | International Business Machines Corporation | Apparatus, system, and method for a programming model for accessing EIS systems as services |
US20090210631A1 (en) * | 2006-09-22 | 2009-08-20 | Bea Systems, Inc. | Mobile application cache system |
US8452789B2 (en) * | 2007-10-15 | 2013-05-28 | International Business Machines Corporation | Searching a database |
US8023934B2 (en) * | 2008-03-28 | 2011-09-20 | Ianywhere Solutions, Inc. | Synchronizing communications and data between mobile devices and servers |
US8019863B2 (en) * | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US9477727B2 (en) | 2008-08-01 | 2016-10-25 | Sybase, Inc. | Abstracting data for use by a mobile device having occasional connectivity |
-
2010
- 2010-07-20 US US12/840,239 patent/US8843438B2/en active Active
-
2011
- 2011-07-13 WO PCT/US2011/043833 patent/WO2012012236A2/en active Application Filing
- 2011-07-13 EP EP11810171.6A patent/EP2596433A4/en not_active Ceased
- 2011-07-13 CN CN201180035230.6A patent/CN103109284B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005259A1 (en) * | 2003-03-14 | 2005-01-06 | Infowave Software, Inc. | System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems |
CN1680937A (zh) * | 2004-04-05 | 2005-10-12 | 华为技术有限公司 | 人机语言生成系统及其方法 |
CN1967560A (zh) * | 2006-11-09 | 2007-05-23 | 华为技术有限公司 | 业务操作权限控制方法、关系数据库的生成方法 |
CN201435074Y (zh) * | 2009-06-04 | 2010-03-31 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012012236A3 (en) | 2012-04-19 |
CN103109284B (zh) | 2015-09-16 |
WO2012012236A2 (en) | 2012-01-26 |
US20120023064A1 (en) | 2012-01-26 |
EP2596433A2 (en) | 2013-05-29 |
US8843438B2 (en) | 2014-09-23 |
EP2596433A4 (en) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112534398B (zh) | 用于连接器开发和集成通道部署的系统和方法 | |
CN102754411B (zh) | 使用客户端-服务器网桥管理对象 | |
US9251165B2 (en) | End to end automation of application deployment | |
US8549514B2 (en) | Distributing customized software products | |
CN103109284B (zh) | 用于移动业务对象的参数值联结 | |
CN109542445A (zh) | 一种Android插件化开发的方法和装置 | |
US20070288508A1 (en) | Computer software development methods and systems | |
US20100241978A1 (en) | Dynamic generation of user interfaces and automated mapping of input data for service-oriented architecture-based system management applications | |
CN103617066A (zh) | 一种工作流引擎及其实现方法 | |
Fill | SeMFIS: a flexible engineering platform for semantic annotations of conceptual models | |
CN102165416A (zh) | 元数据驱动的移动商业对象 | |
EP2201479A2 (en) | Data-driven synchronization | |
CN108846753A (zh) | 用于处理数据的方法和装置 | |
Song et al. | Generating synchronization engines between running systems and their model-based views | |
US20130227572A1 (en) | Test device, a system, a program and a method | |
CN109739526A (zh) | 代码更新方法和装置 | |
Jongmans et al. | Partially-distributed coordination with Reo | |
CN102664952B (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
US8127271B2 (en) | Method and system for accessing a resource implemented in a computer network | |
CN102591710A (zh) | 共享对象表示 | |
CN103473034A (zh) | 一种动态发布Web 服务的方法和装置 | |
CN116414370A (zh) | 基于低代码的平台构建方法、装置、介质及电子设备 | |
Strowd et al. | T-check in system-of-systems technologies: Cloud computing | |
Rademacher et al. | Specific model-driven microservice development with interlinked modeling languages | |
CN110008431A (zh) | 页面组件构建方法、装置、页面生成设备及可读存储介质 |
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 |