CN102725745B - 用于移动业务对象的动态数据绑定 - Google Patents

用于移动业务对象的动态数据绑定 Download PDF

Info

Publication number
CN102725745B
CN102725745B CN201080060199.7A CN201080060199A CN102725745B CN 102725745 B CN102725745 B CN 102725745B CN 201080060199 A CN201080060199 A CN 201080060199A CN 102725745 B CN102725745 B CN 102725745B
Authority
CN
China
Prior art keywords
mbo
data
mobile applications
attribute
assembly
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
CN201080060199.7A
Other languages
English (en)
Other versions
CN102725745A (zh
Inventor
大卫·布朗道
约翰内斯·阿尔贝蒂
赫麦格瑞·姆卡玛拉
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.)
Sybase Inc
Original Assignee
Sybase Inc
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 Sybase Inc filed Critical Sybase Inc
Publication of CN102725745A publication Critical patent/CN102725745A/zh
Application granted granted Critical
Publication of CN102725745B publication Critical patent/CN102725745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

此处描述了用于在基于容器的移动应用程序中动态绑定来自远程数据源的数据的系统、方法和计算机程序产品。该方法包括以下步骤:1)定义元数据源,其同时引用移动业务对象(MBO)和移动应用程序,所述MBO连接到远程数据存储;2)使用元数据源将来自MBO的属性绑定到移动应用程序;以及,3)当执行移动应用程序时,动态更改所述属性的绑定。

Description

用于移动业务对象的动态数据绑定
技术领域
本发明涉及移动应用程序,更具体地,涉及用于移动应用程序的移动业务对象的动态数据绑定。
背景技术
随着强大的移动设备的发展和普及,人们越来越感兴趣于开发将远程数据存储中所存储的数据结构的动态表示和修改考虑在内的移动应用程序。由于数据访问、编码和配置的挑战,很难快速开发出将来自远程数据存储的数据动态绑定在移动设备上的应用程序。
因此,需要一种克服传统移动应用程序开发的局限性的系统、方法和计算机程序产品,用于来自远程数据存储中所存储的数据结构的数据的动态绑定。
发明内容
此处所描述的实施例包括一种将来自远程数据存储的数据动态绑定到在移动设备上执行的移动应用程序上的方法。所述方法首先定义一个元数据源,其同时引用移动业务对象(MBO)和移动应用程序,所述MBO连接到所述远程数据存储。然后使用元数据源,将来自所述MBO的属性绑定到所述移动应用程序。所述方法通过在执行应用程序的同时动态修改被绑定的属性的绑定而完成。
另一个实施例包括一个系统,其容许移动应用程序订阅移动业务对象。所述系统包括存储在第一计算机服务器上的数据源。用于访问远程数据源中数据的抽象层被可操作地连接到移动应用程序的第一组件上,所述第一组件被配置为在第二计算机服务器上执行,且还被配置为接收来自抽象层的信息。在移动设备上运行的第二组件可操作地连接到移动应用程序的第一组件。元数据源被配置为包含订阅标准,所述订阅标准决定从第一组件转移到第二组件的数据。
下面参考所附附图,详细描述本发明的其它实施例、特点和优势,以及本发明的各种实施例的结构和操作。
附图说明
参考所附附图对本发明的实施例进行描述。在图中,相同的引用标号通常表示相同、功能相似和/或结构相似的元件。一般来说,其中相应参考标号中最左边的数字表示该元件首次出现的附图。
图1描述了根据本发明一个实施例的网络架构。
图2描述了根据本发明一个实施例的移动应用程序开发框架。
图3描述了根据本发明一个实施例的基于容器的远程应用程序。
图4是例示了根据本发明一个实施例的动态数据绑定功能的操作的流程图。
图5描述了根据本发明一个实施例的元数据源。
图6A-D是示出了根据本发明一个实施例的组件之间的数据流动的图表。
图7例示了根据本发明一个实施例的动态绑定的实例。
图8例示了实例的计算机系统,其用于实施本发明一个实施例的组件。
当将下面所陈述的详细说明与附图结合来看时,本发明的特点和优势将变得显而易见。
具体实施方式
虽然在此处参照用于具体应用程序的实施例描述了本发明,应该理解本发明不限于此。能够得到此处所提供的教导的本领域技术人员将能意识到其范围内的另外的修改、应用和实施方式,以及本发明会具有重要用途的另外的领域。
显然,对于本领域技术人员而言,本发明如下所述,可以在图中所例示的软件、硬件、固件和/或实体的多个不同的实施例中实现。任何具有实施本发明的专用硬件控制的实际的软件代码都不用于对本发明进行限制。因此,应理解,对实施例的修改和变型是可行的和有目的的,并且属于本发明的保护范围和精神之内,在这样的前提下对本发明的操作性能进行描述。
概述
本发明的实施例提供一种设计机制,其容许应用程序开发人员快速、有效地设计和开发移动应用程序,其在运行时动态绑定来自数据源的数据而不会损害其功能性,同时减少了所需的工作量。此处所描述的实施例所使用的动态绑定方法容许开发人员修改数据源至应用程序的绑定,无需中断或停止应用程序在移动设备上的执行。
网络体系结构
图1是一个实例的网络架构100,本发明的实施例或其部分在该网络架构中得以实施。依据本发明的一个实施例,网络架构100包括移动设备102,其通过网络104连接到服务器106。在实施例中,服务器106被连接到远程数据存储108。虚线190代表移动设备102和远程数据存储108之间的数据流动,这样的数据流动一般是经由服务器106和网络104的。
在一个实施例中,移动设备102包括通常被指定为移动客户端的多种设备中的一个,比如但不限于:个人数字助理(“PDA”)、根据微软袖珍PC说明书操作的具有微软CE操作系统(OS)的设备、运行Symbian OS的设备、运行Palm的设备、移动电话、黑莓设备、智能电话、手持电脑、掌上电脑、笔记本电脑、超级移动PC和其它能够运行移动应用程序的无线移动设备。在一个实施例中,移动设备102可以是“在线”的或是连接到服务器106的。在另一个实施例中,移动设备102可以是“离线”的或没有连接到服务器106的。在又一个实施例中,移动设备102可以间歇地连接到服务器106。
在一个实施例中,移动设备102包括但不限于具有一个或多个用于执行并存储指令的处理器和存储器的设备。移动设备102可包括软件、固件和硬件或其一些组合。软件可包括一个或多个应用程序和操作系统。硬件可包括但不限于一个或多个处理器、存储器和用户接口显示。在一个实施例中,移动设备102包括客户应用程序,其接收并显示从远程数据存储108中由服务器106检索的数据。
为清晰起见,图1例示了单个移动设备102,但是应理解,架构100是可扩展的,并且可以通过网络104将多个移动设备102连接到服务器106。在一个实施例中,网络104包括一个或多个网络,其包括但不限于局域网、中域网络和/或广域网络,比如互联网。例如,网络104可以是有线或无线网络或其组合,其容许移动设备102、服务器106和远程数据源108相互通信。在实施例中,网络104可进一步支持万维网协议和服务。
下面继续参考图1详细描述移动应用程序开发框架和移动业务对象(MBO)的实施例。
移动应用程序开发框架
图2是依据本发明一个实施例的示例性移动应用程序开发框架200。依据本发明的一个实施例,框架200限定移动应用程序202、中间设备204、MBO206和访问远程数据存储108的服务器208。相关领域技术人员会理解,图2的框架200中所示的配置是示例性的而非限制性的。依据本发明另一个实施例,服务器208等同于图1的服务器106。
应用程序是可以在服务器106或移动设备102上执行或运行的任何软件程序或网络服务。应用程序可包括至少一个渲染组件、执行逻辑和输入/输出(I/O)参数。应用程序的执行逻辑可采取二进制可执行代码或者脚本编程/标记语言的形式,比如超文本标记语言(HTML)、可扩展HTML(XHTML)、Java、JavaScript或AJAX(异步JavaScript和XML)。相关领域的技术人员会理解,其他编程语言和技术也可用于应用程序的执行逻辑。依据本发明的一个实施例,移动应用程序202是被配置为在图1的移动设备102上运行的应用程序。
依据本发明的一个实施例,移动应用程序202通过呼叫中间设备204的API或其它接口来访问服务器208中的数据。在本发明的一个实施例中,中间设备204是由加州都柏林的Sybase公司提供的IANYWHEREMOBILINK中间设备,但本发明不限于此。相关领域的技术人员会理解,服务器208可以访问任意多类型的远程数据存储108,包括,例如,关系型数据库或远程程序。通过使用其API,中间设备204促进由一个应用程序到诸如服务器208的一个或多个数据源的通信。
在实施例中,移动业务对象(MBO)206是被配置为用于远程数据存储108并连接到远程数据存储108的抽象层。如此处所使用的,MBO的“属性”包括广泛范围的MBO特性/操作,包括属性、数据、参数、功能和本领域中已知的其它类似的项目。依据本发明的一个实施例,移动业务对象(MBO)206表示包含在远程数据存储108中的数据子集。根据本发明的另一个实施例,MBO206同时代表多个数据源,例如,在一个实施例中,MBO206包括多个数据源的子集。使用元数据来表示MBO206,通过移动应用程序202的软件对其进行解释,从而便于通过中间设备204访问来自服务器208的数据。尽管在于2009年7月15日提交的序号为12/503,573、律师案号为1933.0720001、题目为“元数据驱动的移动业务对象”的美国专利申请中描述了MBO的实例,但本发明不限于此实例,该专利申请以引用方式整体并入于此。
在一个实施例中,在框架200中运行的一种移动应用程序202是基于容器的远程应用程序。在框架200的一个实施例中,“容器”可以被称为框架容器、运行时间容器、移动运行时间容器和其他类似的术语。
基于容器的远程应用程序
图3是图2的一个更详细的图表,其描绘了一实施例,在此实施例中,通过使用基于容器的远程应用程序(CBRA),框架200提供与移动设备102的无缝MBO数据集成。在一个实施例中,一种基于容器的远程应用程序被称为工作流,其可以从加州都柏林的Sybase公司得到。根据一个实施例,窗口小工具(widget)在电脑显示器上的对象或支程序,用户可以与其互动。如此处所使用的,术语CBRA、CBRA应用程序、工作流、窗口小工具、窗口小工具对象和基于容器的应用程序将可以互换使用。
根据一个实施例,CBRA框架300是一个容器框架,可在其中配置并执行移动设备CBRA。在实施例中,CBRA框架300有一个服务器端CBRA组件325,其被配置在例如移动办公平台(MOP)320中的服务器106上。MOP 320的一个实例是SYBASE IANYWHERE MOBILEOFFICE(iMO)平台,其可以从加州都柏林的Sybase公司得到,但本发明不限于此。
CBRA框架300的实施例也具有配置在移动设备102上的客户端CBRA用户接口335组件。在一个实施例中,图3描述了CBRA用户接口335在框架内被激活并在运行时间容器337内被执行。
在图3所示的实施例中,远程数据存储108通过托管在移动企业应用平台(MEAP)310中的移动业务对象315而集成。如本领域技术人员所公知的,MEAP 310提供用于激活移动应用程序的客户/服务器中间设备。MEAP 310的一个实例是可从加州都柏林的Sybase公司得到的SYBASE UNWIRED PLATFORM(SUP),但本发明不限于此。
在实施例中,服务器端CBRA组件325通过MEAP 310与MBO 315链接。根据实施例,所配置的每个服务器端CBRA组件325都具有关联的元数据源327。如在下面的“在运行时动态绑定和订阅”一节中所讨论的,在实施例中,该元数据源327提供了信息,该信息限定在远程数据存储108、MBO 315、服务器端CBRA组件325和CBRA用户接口335组件之间的数据传输。
应该认识到,尽管将MEAP 310和MOP 320描述为被配置在单个服务器106上,在不同的实施例中,这些模块实际上可以被配置在多个服务器上。
业务流程CBRA
一种能被配置在如图3所示的框架的实施例中的CBRA是业务流程CBRA。很显然,对于相关领域技术人员而言,业务流程是任何相关任务的集合,这些相关任务解决组织或企业的具体难题或问题。一个业务流程可能是旨在生成一个结果的一系列步骤。业务流程可能会生成被组织外部的用户接收到的输出或服务。其他流程生成对组织外部不可见的输出。业务流程能够管理系统的操作,比如在组织中执行采购、制造、营销和销售任务的可操作业务流程。支持业务流程,比如会计、福利、信息技术(IT)以及人力资源/招聘,用于支持组织的核心流程。业务流程可以分解成几个子流程,其中各个子流程有自己的属性,且其中这些子流程有助于执行业务流程的总体任务。通过业务流程管理和活动监控工具,复杂的业务流程可链接多个组织或企业。
依据此处所描述的实施例,业务流程窗口小工具是业务流程或子流程的抽象体。在一个实施例中,对业务流程窗口小工具进行定制以使其与可配置到移动设备102上的典型应用程序相适应。在一些实施例中,使用可扩展标记语言(XML)来配置业务流程窗口小工具,以描述业务流程的事件和UI布局。在另一个例子中,业务流程窗口小工具可包括可扩展应用程序标记语言(XAML)脚本或代码。业务流程窗口小工具可以是自包含的或可以与本地应用程序交互作用,所述本地应用程序驻留在移动设备上(比如移动设备102)或服务器(比如服务器106)上。例如,CBRA可能是移动设备显示屏幕上的数据对象,移动设备102的用户与其互动。支持着业务流程的XML CBRA的一个例子是IANYWHERE MOBILE OFFICE XML WORKFLOW,其可以从加州都柏林的Sybase公司得到。
业务流程和应用程序窗口小工具的实例包括购买订单审批、人力资源审批流程、费用报告审批流程、销售和营销流程、CRM活动通知和简易信息聚合(RSS)格式的互联网馈送通知。在2008年4月17日提交的、序号为12/104,905、题目为“移动设备和服务器之间的同步通信和数据”的美国专利申请中描述了示例的业务流程窗口小工具,其通过引用方式整体并入于此。对相关领域技术人员而言显而易见的是,在此处给出的描述下,其他类型的窗口小工具可由此处所描述的实施例来支持。特别地,本发明不限于业务流程。
元数据源327映射
图5描述了服务器端CBRA组件325和元数据源327之间的连接。如图5所示,在实施例中,元数据源327包含MBO映射530和订阅标准535。所包括的项目列表并旨在限制本发明的范围。在实施例中,元数据源327可以是可由服务器端CBRA组件325读取的任何数据源,例如文件、注册表、数据库。元数据源327的一个例子是“templateClient.xml”文件,其由上文中参照图3讨论的IANYWHERE MOBILE OFFICE所使用。在MOP 320上描绘了元数据源327,但其不必随MOP 320安装,或甚至不必安装在同一服务器106上。
转向图6A-D,本发明的实施例通过MBO 315激活CBRA用户接口335中的用户接口控件610至远程数据存储108的数据的动态绑定。图6A-D描绘了示例的实施方式,但并不旨在限制本发明的范围,其示出了根据元数据源327而绑定在一起或被映射的不同的数据组件。
在图6A-D的每一列示出了CBRA框架300的实施例中的组件以及显示组件间的数据流的连接(在图6A上为例如635、645、655、615)。这些列被分组为CBRA应用程序数据源671或CBRA应用程序672。行601表示示例的平台或应用程序组件,行602示出了数据容器的布置及其链接,行603表示示例平台类型或操作环境,且行604表示执行所示功能的样本硬件。
查看图6A,CBRA用户接口335具有UI控件610,以显示和捕捉移动应用程序202中的数据。在一个实施例中,如由键绑定615所表示的,在设计CBRA用户接口335时,UI控件610被定义和绑定到键620。键620是CBRA UI 335的一部分,其提供了用于链接与CBRA UI 335相关的输入和输出数据的逻辑处理。服务器端的键621是用于服务器端CBRA组件325中的数据的存储容器。在实施例中,MBO属性630和键620可直接连接而不需要服务器端的键621。在其它实施例中,服务器端的键621可以作为另一个容器,其具有其自己的映射名称,不同于客户端的键620。
图6A-D中描绘的样本应用程序所使用的基本数据源是在数据库服务器690上运行的数据库695。数据库域640是一个容器,其包含一段数据,且这个容器链接到MBO属性630。MBO属性630的实施例可存储数据库域640数据的副本,MBO 315逻辑可以通过连接635来定期检索更新值。
通过将服务器端CBRA组件325链接到MBO 315,连接645在CBRA应用程序672和CBRA应用程序数据源671之间建立链接。在此处所描述的实施例中,该连接645最初是在设计时在元数据源327中被定义的。如下面将讨论的,对于连接645,在运行时,可能需要根据不同的情况添加、删除或修改连接,且元数据源327中的MBO映射530的修改激活了这些运行时的操作。
连接655示出了服务器端CBRA组件325和CBRA用户接口335之间的链接。在实施例中,使用网络104执行该连接655。在实施例中,元数据源327中的MBO映射530还定义了连接655的链接,其指定特定的键620。
图6A中所描述的实施例代表一个初始配置:通过键620、服务器端的键621和MBO属性630,将UI控件610映射到数据库域640。例如,下面的逻辑名称可以由不同组件用于相同的值:
M1.数据库域640是“First Name”,
M2.MBO属性630是“FName”,和
M3.键620是“First”。
在上面的实例中,MBO映射530中的数据互相映射实例M1-M3,这确定了数值怎样在行602中的组件之间传递。在给定的说明下,MBO映射530的额外用途对本领域技术人员而言是明显的。
图6B的实施例代表一种示例的情况,其中一个新的数据库域641被添加到数据库695中。在这个例子中,在运行时,希望这个新的域取代UI控件610中数据库域640的显示。为了将这个数据库域641引入CBRA应用程序672中,首先,将一个新的MBO属性631通过连接636添加和连接到新的域641。为了完成数据库域641对数据库域640的替换,在运行时间中将元数据源327中的MBO映射530从连接645变化到连接646。数据源327的这一变化实现了在这个基于容器的CBRA应用程序672中的动态数据绑定。
另一个示例情况(未示出)中,动态MBO映射530可以被动态更改,以使CBRA应用程序672适应远程数据存储108中的变化,这涉及MBO属性的重命名。不同的情况可能需要例如将MBO属性“FName”改为“First_Name”。在本发明的实施例中,通过修改元数据源327中的MBO映射530,可以对绑定名称做出动态更改。显然,对于本领域技术人员而言,对于多个不同的应用程序开发目的,可以创建新的或修改过的MBO属性630,并且此处所描述的实施例可以在运行时被动态更改。不同的实施例可以使用该重新映射功能用于应用程序的正常运行,而不只是用于现有应用程序的重新设计。
图6C示出了另外的实例,其中在设计时,一个具有关联键622的额外的UI控件612被添加到CBRA应用程序672中的CBRA用户接口335上。为了支持这个新的UI控件612,在该实例中加入一个新的MBO 680。MBO 680中的MBO属性631通过连接636被映射到数据库域641。为了将CBRA应用程序数据源671与CBRA应用程序672链接,元数据源327中的MBO映射530指定通过连接646将服务器端的键623映射到MBO属性631。这个例子说明了使用元数据源327通过MBO来映射数据源。
元数据327的订阅标准
除了上面描述的映射功能之外,本发明的实施例还根据元数据源327中存储的订阅标准535来激活CBRA应用程序672和CBRA应用程序数据源671之间的数据的选择和路径确定。图6示出了这种选择和路径确定功能的例子。
图6D示出了一个实例,其中CBRA应用程序672具有CBRA用户接口335,该用户接口带有两个UI控件610和612,但本发明不限于此。通过使用数据库695,CBRA应用程序672由CBRA应用程序数据源671支持。数据库695具有五个数据库域640-644。MBO 315是用于CBRA应用程序672的抽象层,其具有四个MBO属性630–633,用于链接到任何兼容的可用远程数据源108。通过连接635–637,其中三个MBO属性630–632分别被链接到数据库域640-642。
在该例子中,CBRA应用程序672和CBRA应用程序数据源671之间的链接分别受到连接645和646的影响,所述连接分别将MBO属性630和631链接到服务器端的键621和623。
在一个实施例中,服务器端CBRA组件325可以使用订阅标准535来指定:对于MBO 315,应该通过MBO315来检索从数据库695映射的哪个数据。更具体地,当CBRA应用程序672被配置到MOP320上时,存储在元数据源327中的订阅标准535可通过实施例而被用于指定:对所连接的MBO 315,应检索所连接的域640-642中哪个域的数据,以及以什么时间间隔进行检索。例如,在该实施例中,尽管MBO属性632与数据库域642链接并可由CBRA用户接口335获得,但其并没有包括在订阅标准535中,因而不从数据库域642更新。
由订阅标准535实施例所使用的另一个例子涉及MBO315上的MBO属性630、631和服务器端CBRA组件325上的服务器端的键621、623之间的各个连接645和646。如上所讨论的,MBO 315和服务器端CBRA组件325可以不在相同的物理服务器106上运行。在实施例中,尽管MBO 315可能已更新MBO属性630,631的值,出于不同的考虑,例如,分离的服务器之间的带宽和CBRA应用程序672的要求,服务器端的键623可以不需要如服务器端的键621那样被频繁更新。订阅标准535可以指定这一更新区别,指示是否更新以及什么时候更新各服务器端的键621、623。
由订阅标准535实施例所使用的另一个例子分别涉及服务器端的键621、623和键620、622之间的连接655和656。如上文中就连接645、646所讨论的,键620、622可不需要在同一时间间隔内被更新。在实施例中,考虑到连接655、656的管理,数据传输是巨大的,因为连接655、656是通过潜在的较低带宽的网络104进行的。在实施例中,订阅标准535可以指定是否更新以及什么时候更新各键620、622。
运行时的动态绑定和订阅
此处所述的实施例可激活上面所讨论的绑定和订阅标准,并且如在元数据源327中所实施的,在运行时动态地更改该绑定和订阅标准。根据实施例,不会重新启动系统或进行新的编码即可修改和实施由元数据源327所指定的映射或订阅标准中的变化。
如图7所示的流程图700,其例示了UI控件610的动态绑定的不同实例的步骤。在步骤701中,一个移动应用程序,例如来自图6D的CBRA应用程序672,在设计时间710中被设计为具有如MBO 315的其数据源。
在步骤702中,在设计时间710,CBRA应用程序672的组件被同时配置到MOP320和运行时间容器337上。所配置的应用程序包括例如服务器端的键621、623、键620、622、UI控件610、612和元数据源327。在另一个实施例中,键620、622和UI控件610、612仅在当移动设备102上的一个用户请求执行CBRA应用程序672的时候才被配置。在元数据源327中,MBO映射530通过连接645将服务器端的键621映射到MBO属性630,且通过连接635将MBO属性630映射到数据库域640。
在一个实施例中,可以通过允许用户访问CBRA用户接口335来激活CBRA应用程序672的执行,由此过渡到运行时间720。
在例子703中,一个新的MBO属性632被添加到MBO 315,并且指定需要将这个新MBO属性632而不是MBO属性630链接到UI控件610。在步骤706中,这一链接受到在元数据源327中修改MBO映射530的影响。在步骤707中,在运行时以新的映射以及CBRA应用程序672可用的新的属性继续执行CBRA应用程序672。
在实例704中,MBO属性630的逻辑名称从“F_Name”更改为“FirstName”。通常,MBO由多个应用程序共享,并且可能需要更改逻辑名称。在MBO 315的实例中,通过更改这种逻辑名称来禁用MBO属性630和服务器端的键621之间的连接645。在步骤706中,可以更改MBO映射530,以将服务器端的键621链接到MBO属性630的新的逻辑名称,且该链接不被中断。在步骤707中,在运行时以新映射的逻辑名称继续执行CBRA应用程序672。
在实例705中,从数据库695中移除数据库域640。通常,数据库由多个应用程序共享且可能需要对数据结构进行修改。如图6D所示的和上面所描述的,通过MBO属性630将数据库域640链接到服务器端的键621。删除这个域640将影响UI控件610。为了将这个更改指定给远程数据源108,在步骤706中,可以更改元数据源327中的MBO映射530,以将服务器端的键621重新映射至新数据源,例如,MBO属性632。在一个实施例中,服务器端的键621也可以被映射到其它可用的数据源,例如,不同的MBO,以提供丢失的数据库域640的数据。在步骤707中,在运行时以新的MBO属性映射继续执行CBRA应用程序672。
方法400
通过阐述由计算机实施的、对来自移动设备上执行的移动应用程序的远程数据存储的数据进行动态绑定的方法,本节总结了此处所概述的技术。图4是用于动态绑定来自移动设备上执行的移动应用程序的远程数据存储的数据的一个典型方法400的流程图。当针对本发明的实施例描述方法400时,该方法400并不意味着是限制性的并可在其它应用程序中使用。
如图4中所示,方法400的实施例从步骤402开始,其中一个元数据源被定义为同时引用移动业务对象(MBO)和移动应用程序。MBO被连接到远程数据存储。在一个实施例中,一个元数据源,比如元数据源327可以在该步骤被定义,引用一个MBO,比如MBO 315,该MBO与数据存储相关,该数据存储为比如图1中的远程数据存储108。一旦完成步骤402,方法400继续进行步骤404。
在步骤404中,使用元数据源将来自MBO的属性绑定到移动应用程序。在一个实施例中,诸如元数据源327的元数据源用于将一个诸如MBO属性630的MBO属性绑定到移动应用程序,比如图2中的移动应用程序202。一旦完成步骤404,方法400继续进行至步骤406。
在步骤406中,当执行移动应用程序时,属性的绑定是动态更改的。在一个实施例中,绑定是动态更改的,比如图6A的连接645。被更改的绑定具有MBO属性,比如图6A中的MBO属性630。一旦完成步骤406,方法400结束。
步骤402、404和406可以实施为软件、硬件、固件或者其任何组合。
实例性的计算机实施方式
在本发明的实施例中,使用众所周知的计算机,比如图8中所示的计算机802来实施此处所述的实施例的系统和组件。例如,可以使用计算机802来实现上面所描述的图4和7中的移动设备102、服务器208和操作流程。计算机802包括关于图1所描述的移动设备或其它移动处理系统组件。
计算机802可以是能够实施此处所描述的功能的任何商业上可得到的并众所周知的计算机。比如可从IBM、Apple、Sun、HP、Dell、Compaq、Digital、Cray等公司得到的计算机。
计算机802包括一个或多个处理器(也称为中央处理单元,或CPU),比如处理器806。处理器806被连接到一个通信总线804。
计算机802还包括一个主要或初级存储器808,比如随机访问存储器(RAM)。在该初级存储器808中已存储了控制逻辑828A(计算机软件)和数据。
计算机802还包括一个或多个辅助存储设备810。辅助存储设备810包括例如硬盘驱动器812和/或可移动存储设备或驱动器814,以及其它类型的存储设备,比如记忆卡和记忆棒。可移动存储驱动器814代表软盘驱动器、磁带驱动器、光盘驱动器、光学存储设备、磁带备份等。
可移动存储驱动器814与可移动存储单元816交互作用。可移动存储单元816包括其内存储有电脑软件828B(控制逻辑)和/或数据的计算机可用或可读存储介质824。可移动存储单元816代表软盘、磁带、压缩盘、DVD、光学存储盘,或任何其他计算机数据存储设备。可移动存储驱动器814以众所周知的方式对可移动存储单元816进行读取或写入。
计算机802还包括输入/输出/显示设备822,比如显示器、键盘,定点设备等。
计算机802进一步包括通信或网络接口818。网络接口818可使计算机802与远程设备通信。例如,网络接口818允许计算机802在通信网络或介质824B(代表一种计算机可用或可读介质的形式)上通信,比如局域网LAN、广域网WAN、互联网等。网络接口818可通过有线或无线连接与远程站点或网络接口。
控制逻辑828C可以通过通信介质824B被传输到计算机802或从计算机802输出。更具体地,通过通信介质824B,计算机802可接收和发送使用控制逻辑830调制的载波(电磁信号)。
在此,包括具有存储于其中的控制逻辑(软件)的计算机可用或可读介质的任何仪器或产品被称为计算机程序产品或程序存储设备。这包括但不限于计算机802、主存储器808、辅助存储器810、可移动存储单元816和使用控制逻辑830调制的载波。这样的计算机程序产品具有存储在其中的控制逻辑,当由一个或多个数据处理设备执行时,该控制逻辑引起该数据处理设备以此处所描述的方式运行,其代表本发明的实施例。
本发明可以与未在此处描述的软件、硬件和/或操作系统的实施方式一起实施。可以使用适合于执行此处所描述的功能的任何软件、硬件和操作系统实施方式。
结论
本总结和摘要章节可以阐述一个或多个典型实施例,而不是可由发明人考虑到的本发明的所有实施例。因此,其并不旨在以任何方式对本发明和所附权利要求进行限制。
已在上文中借助例示了其特定功能和关系的实施的功能构建模块描述了本发明。在此处为了方便描述而随意限定了这些功能构建模块的范围。也可以定义替换的范围,只要其特定的功能和关系得以适当地实施。
上述对具体实施例的描述将充分揭示本发明的基本性质,使得其他人可以通过应用本技术领域中的知识,在不背离本发明的一般概念下,容易地修改和/或为了各种应用调整这些特定实施例,而不需要过度的实验。因此,根据此处提供的启示和指导,旨在将这样的调整和修改归入所公开的实施例的意义和等同范围之内。可以理解,此处的措辞或术语是用于描述,而不是限制,使得可由技术人员根据启示和指导来解释本说明书的术语或用语。
本发明的广度和范围不应受到上述任何典型实施例的限制,而是应按照下列权利要求和其等同物来定义。
本申请中的权利要求不同于原申请或其它相关申请中的权利要求。申请人因此解除在原申请或与本申请相关的任何先前申请中做出的对任何权利要求的放弃。因此建议审查员,可能需要重新审视所有这种先前放弃的权项和避免引用的参考文献。并且,还提醒审查员,在本申请中放弃的任何权项都不应该被读入或针对原申请。

Claims (15)

1.一种将在数据存储的数据动态绑定到在移动设备上执行的移动应用程序的计算机实施方法,其包括:
定义元数据源,所述元数据源同时引用移动业务对象(MBO)的第一MBO属性和所述移动应用程序的属性,其中所述MBO连接到所述数据存储,所述第一MBO属性链接到存储在所述数据存储的第一属性;
使用所述元数据源,将所述第一MBO属性绑定到所述移动应用程序的所述属性;以及
当执行所述移动应用程序时,将所述移动应用程序的属性从绑定到所述第一MBO属性动态地更改为绑定到所述MBO的第二MBO属性,其中所述第二MBO属性链接到存储在所述数据存储的第二属性。
2.如权利要求1所述的计算机实施方法,其中所述移动应用程序是基于容器的移动应用程序。
3.如权利要求1所述的计算机实施方法,其中所述元数据源以可扩展标记语言(XML)存储绑定信息。
4.如权利要求1所述的计算机实施方法,其中所述移动应用程序是在XML业务对象容器中执行的XML业务对象。
5.如权利要求1所述的计算机实施方法,还包括:
基于存储在所述元数据源中的订阅标准,限制通过所述移动应用程序从所述MBO接收的数据。
6.如权利要求1所述的计算机实施方法,其中,绑定属性包括:
在所述元数据源中,将由所述MBO引用的数据链接到所述移动应用程序的用户接口控制。
7.如权利要求1所述的计算机实施方法,其中,所述移动应用程序同时包括客户端和服务器端组件,且其中所述元数据源由所述服务器端组件引用,以设定至所述MBO的绑定。
8.一种把来自数据存储的数据绑定到移动应用程序的系统,其包括:
所述移动应用程序的第一组件,所述第一组件被配置为在计算机服务器上执行,其中所述第一组件被配置为可操作地连接到所述移动应用程序的第二组件,所述第二组件在移动设备上运行,其中所述第一组件和所述第二组件引用移动应用程序的属性;
抽象层,其被配置为访问所述数据存储中的数据,所述抽象层和所述第一组件可操作地连接;以及
元数据源,其被配置为将所述抽象层中引用的数据映射到所述移动应用程序,其中所述抽象层被进一步配置为:
基于所述元数据源,把所述移动应用程序的属性映像到存储在所述数据存储的第一属性;以及
基于所述元数据源的变化,把所述移动应用程序的属性的映像由所述第一属性更改为存储在所述数据存储的第二属性,
其中所述映射的更改在执行所述移动应用程序时发生。
9.如权利要求8所述的系统,其中,所述抽象层为移动业务对象。
10.一种容许移动应用程序订阅移动业务对象(MBO)的系统,其包括:
数据源,其被存储在第一计算机服务器上;
抽象层,其可操作地连接到所述数据源;
所述移动应用程序的第一组件,所述第一组件被配置为在第二计算机服务器上执行,其中所述第一组件可操作地连接到所述抽象层和所述移动应用程序的第二组件,所述第二组件在移动设备上运行;以及
元数据源,其被配置为包含订阅标准,其中所述订阅标准决定从所述第一组件转移到所述第二组件的数据,
所述元数据源同时引用MBO的第一MBO属性和所述移动应用程序的属性,其中所述MBO连接到所述数据存储,所述第一MBO属性链接到存储在所述数据存储的第一属性.
11.如权利要求10所述的系统,其中所述第一组件进一步被配置为基于所述订阅标准从所述抽象层请求信息。
12.如权利要求10所述的系统,其中所述第一组件进一步被配置为将所述订阅标准传输到所述抽象层。
13.如权利要求10所述的系统,其中所述抽象层是移动业务对象(MBO)。
14.如权利要求10所述的系统,还包括:
基于所述订阅标准,向所述第一组件请求来自抽象层的数据的第一部分;以及
使数据的第二部分与所述移动应用程序的第二组件通信,其中基于所述订阅标准,将所述第二部分从所述第一部分导出,并且将第二组件的特征安装到移动设备上。
15.一种在移动应用程序中订阅移动业务对象(MBO)的方法,其包括:
创建移动应用程序的第一组件;
创建元数据源,所述元数据源被配置为包含订阅标准,所述订阅标准定义被检索的数据,从而支持所述移动应用程序;
基于所述元数据源,向所述第一组件请求来自所述MBO的数据的第一部分;以及
使数据的第二部分与所述移动应用程序的第二组件通信,其中,基于所述元数据存储,将所述第二部分从所述第一部分导出,且将所述第二组件安装到移动设备上,
所述元数据源同时引用MBO的第一MBO属性和所述移动应用程序的属性,其中所述MBO连接到所述数据存储,所述第一MBO属性链接到存储在所述数据存储的第一属性。
CN201080060199.7A 2009-12-30 2010-12-21 用于移动业务对象的动态数据绑定 Active CN102725745B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/650,464 2009-12-30
US12/650,464 US8434097B2 (en) 2009-12-30 2009-12-30 Dynamic data binding for MBOs for container based application
PCT/US2010/061547 WO2011090661A2 (en) 2009-12-30 2010-12-21 Dynamic data binding for mobile business objects

Publications (2)

Publication Number Publication Date
CN102725745A CN102725745A (zh) 2012-10-10
CN102725745B true CN102725745B (zh) 2015-08-12

Family

ID=44189106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080060199.7A Active CN102725745B (zh) 2009-12-30 2010-12-21 用于移动业务对象的动态数据绑定

Country Status (4)

Country Link
US (1) US8434097B2 (zh)
EP (1) EP2519891A4 (zh)
CN (1) CN102725745B (zh)
WO (1) WO2011090661A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080448A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 애플리케이션 구축 시스템 및 그 방법
US9430253B2 (en) 2011-09-25 2016-08-30 Sap Se Reusable and late addition enabled XML data binding
US9071557B2 (en) * 2011-12-02 2015-06-30 Sybase 356, Inc. System and method for intelligent caching
US8813028B2 (en) 2012-07-19 2014-08-19 Arshad Farooqi Mobile application creation system
US9753700B2 (en) 2013-05-29 2017-09-05 Sap Se Application building blocks for on demand and on premise usage
US20140379634A1 (en) * 2013-06-21 2014-12-25 Avaya Inc. Application-to-repository data mapping in data repositories, and related methods, systems, and computer-readable media
US9116766B2 (en) * 2013-07-31 2015-08-25 Sap Se Extensible applications using a mobile application framework
US10254931B2 (en) 2013-09-20 2019-04-09 Sap Se Metadata-driven list user interface component builder
US10359914B2 (en) 2014-11-25 2019-07-23 Sap Se Dynamic data source binding
CN112256260B (zh) * 2020-10-30 2022-07-05 中电万维信息技术有限责任公司 一种基于可热插拔动态组件的可视化系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428418B2 (en) * 2002-12-10 2008-09-23 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
CN101310271A (zh) * 2005-09-16 2008-11-19 微软公司 用于生产性套件应用程序和主宿的用户界面的接口

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381241B1 (en) * 1997-09-30 2002-04-30 Wireless Access Duplicate message detection and mending of garbled messages
US6553037B1 (en) * 1999-04-08 2003-04-22 Palm, Inc. System and method for synchronizing data among a plurality of users via an intermittently accessed network
US6457062B1 (en) * 1999-04-08 2002-09-24 Palm, Inc. System and method for synchronizing multiple calendars over wide area network
MXPA03006467A (es) * 2001-01-17 2004-01-29 Guilford Pharm Inc Inibidores de naaladasa a base de tiol.
US7613834B1 (en) * 2001-04-04 2009-11-03 Palmsource Inc. One-to-many device synchronization using downloaded/shared client software
US7359920B1 (en) * 2001-04-18 2008-04-15 Intellisync Corporation Communication protocol for synchronization of personal information management databases
US7054955B2 (en) * 2001-06-27 2006-05-30 Microsoft Corporation System and method for recovering from a failed synchronization session
WO2003026235A1 (en) * 2001-09-21 2003-03-27 Research In Motion Limited System and method for managing data items
US20030069780A1 (en) * 2001-10-05 2003-04-10 Hailwood John W. Customer relationship management
WO2003061285A2 (en) * 2001-12-24 2003-07-24 Scientific Generics Limited Captioning system
KR20030072693A (ko) 2002-03-06 2003-09-19 윤일권 서로 다른 이동 통신 서비스에 가입된 단말기끼리도 공용가능한 네트워크 컨텐츠 제공방법 및 그에 따른 장치
US7672853B2 (en) * 2002-03-29 2010-03-02 Siebel Systems, Inc. User interface for processing requests for approval
US6983293B2 (en) * 2002-07-24 2006-01-03 International Business Machines Corporation Mid-tier-based conflict resolution method and system usable for message synchronization and replication
US20040205770A1 (en) * 2003-02-11 2004-10-14 International Business Machines Corporation Duplicate message elimination system for a message broker
US7536673B2 (en) * 2003-07-22 2009-05-19 Sap Ag Application business object processing
US7613835B2 (en) * 2003-09-08 2009-11-03 Sony Corporation Generic API for synchronization
US20050055698A1 (en) * 2003-09-10 2005-03-10 Sap Aktiengesellschaft Server-driven data synchronization method and system
US7577911B2 (en) * 2004-02-12 2009-08-18 Mobileframe, Llc Integrated deployment of software projects
KR100547896B1 (ko) * 2004-03-05 2006-01-31 삼성전자주식회사 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법
US7251722B2 (en) * 2004-05-11 2007-07-31 Mistletoe Technologies, Inc. Semantic processor storage server architecture
WO2006031921A2 (en) * 2004-09-15 2006-03-23 Adesso Systems, Inc. System and method for managing data in a distributed computer system
US7620001B2 (en) * 2004-10-13 2009-11-17 Good Technology, Inc. Communication system and method with mobile devices
US7467389B2 (en) * 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices
US7921216B2 (en) * 2005-02-01 2011-04-05 Microsoft Corporation System and method for building and using communication binding objects
BRPI0609334A2 (pt) * 2005-03-21 2010-03-16 Dexterra Inc gerenciamento de dados para sistema de dados móvel
US8200782B2 (en) * 2005-04-29 2012-06-12 Hewlett-Packard Development Company, L.P. Communication with a mobile device
US8443083B2 (en) * 2005-05-04 2013-05-14 Qualcomm Incorporated Arbitration of resources at a wireless device among contending applications
US20080027931A1 (en) * 2006-02-27 2008-01-31 Vobile, Inc. Systems and methods for publishing, searching, retrieving and binding metadata for a digital object
KR20060060629A (ko) 2006-03-17 2006-06-05 이승재 이동통신단말기의 데이터 저장 및 검색 방법
US8352516B2 (en) * 2006-03-27 2013-01-08 Sap Aktiengeselleschaft Multi-application object mapping tool
US7756829B2 (en) * 2006-04-18 2010-07-13 Sandeep Bhanote Method and apparatus for mobile data collection and management
CN101155022A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 数据同步方法、系统和装置
US9721246B2 (en) * 2006-12-21 2017-08-01 Sybase, Inc. Synchronization patterns for mobile applications
US7983249B2 (en) * 2007-01-23 2011-07-19 Oracle America, Inc. Enterprise web service data to mobile device synchronization
US7752165B2 (en) * 2007-08-01 2010-07-06 Sybase, Inc. Persistent query system for automatic on-demand data subscriptions from mobile devices
US8204870B2 (en) * 2007-08-03 2012-06-19 Sybase, Inc. Unwired enterprise platform
US8825815B2 (en) * 2008-01-08 2014-09-02 Amdocs Software Systems Limited System and method for client synchronization for a communication device
US20090198722A1 (en) * 2008-01-31 2009-08-06 Stephen Michael Hanson System and method for deriving the minimum number of bytes required to represent numeric data with different physical representations
KR101430517B1 (ko) 2008-01-31 2014-08-19 삼성전자주식회사 복수의 데이터 통신장치들 간의 데이터 동기 방법
US20090199112A1 (en) * 2008-02-04 2009-08-06 Deserranno Allen Simplified opc to wpf xaml binding method
US8185521B2 (en) * 2008-02-29 2012-05-22 Research In Motion Limited System and method for presentation of local and remote message search results
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
US8875032B2 (en) * 2008-05-08 2014-10-28 Dialogic Corporation System and method for dynamic configuration of components of web interfaces
US9477727B2 (en) * 2008-08-01 2016-10-25 Sybase, Inc. Abstracting data for use by a mobile device having occasional connectivity
JP5463882B2 (ja) * 2009-12-01 2014-04-09 ソニー株式会社 発光素子及びその製造方法
KR101647735B1 (ko) 2009-12-24 2016-08-11 엘지전자 주식회사 이동 단말기 및 이동 단말기의 데이터 관리 방법
US8321392B2 (en) 2009-12-30 2012-11-27 Sybase, Inc. Pending state management for mobile business objects
US8909662B2 (en) * 2009-12-30 2014-12-09 Sybase, Inc. Message based mobile object with native PIM integration
US9336291B2 (en) * 2009-12-30 2016-05-10 Sybase, Inc. Message based synchronization for mobile business objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428418B2 (en) * 2002-12-10 2008-09-23 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
CN101310271A (zh) * 2005-09-16 2008-11-19 微软公司 用于生产性套件应用程序和主宿的用户界面的接口

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design and evaluation of a support service for mobile, wireless publish/subscribe applications;Caporuscio M. et al.;《IEEE Transactions on Software Engineering》;20031231;第29卷(第12期);第1059-1071页 *
面向电子政务的发布订阅中间件设计与实现;逯鹏等;《计算机工程》;20080531;第34卷(第9期);第86-88,92页 *

Also Published As

Publication number Publication date
EP2519891A2 (en) 2012-11-07
CN102725745A (zh) 2012-10-10
EP2519891A4 (en) 2014-10-01
US20110161983A1 (en) 2011-06-30
WO2011090661A2 (en) 2011-07-28
WO2011090661A3 (en) 2011-10-27
US8434097B2 (en) 2013-04-30

Similar Documents

Publication Publication Date Title
CN102725745B (zh) 用于移动业务对象的动态数据绑定
US10019239B2 (en) Systems and methods for enhancing software products through integrated development environment running on host computer
US9069561B2 (en) Methods and tools for data-driven application engineering
EP1603034B1 (en) Method and apparatus for generating user interfaces based upon automation with full flexibility
US20050193361A1 (en) System and method for presentation of wireless application data using repetitive UI layouts
Qureshi et al. A reusable software component-based development process model
EP1810169A1 (en) User interfaces for data integration systems
US20050114479A1 (en) System and method for hierarchically representing configuration items
CN1936943A (zh) 用于动态地配置基于角色的协作空间的方法和系统
US10637913B2 (en) Mechanism for webpage composition
CN103718155A (zh) 运行时系统
US8201147B2 (en) Generic XAD processing model
CN102591710A (zh) 共享对象表示
Fourer Linear programming: seventh in a series of LP surveys spotlights trend toward broadening scope of optimization software
Dhungana et al. Modeling multiplicity and hierarchy in product line architectures: Extending a decision-oriented approach
US8407663B2 (en) Upgrading simple applications to full scale solutions
EP1687925A2 (en) System and method for hierarchically representing configuration items
Luyten et al. Runtime transformations for modal independent user interface migration
CA2498541A1 (en) System and method for presentation of wireless application data using repetitive ui layouts
Auer et al. An infrastructure for platform-independent experimentation of software changes
CN104598216A (zh) 用于实现业务智能报告的虚拟数据写回的方法和系统
Amanquah et al. Rapid application development for mobile terminals
US11126967B2 (en) Dynamic markup language-driven product administration system
D'Haenens et al. Experiences with rule-based dynamic modelling
WO2023279752A1 (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