CN108647019B - 一种服务组合的控制层编码方法 - Google Patents
一种服务组合的控制层编码方法 Download PDFInfo
- Publication number
- CN108647019B CN108647019B CN201810455638.2A CN201810455638A CN108647019B CN 108647019 B CN108647019 B CN 108647019B CN 201810455638 A CN201810455638 A CN 201810455638A CN 108647019 B CN108647019 B CN 108647019B
- Authority
- CN
- China
- Prior art keywords
- node
- command
- branch
- type
- conversion
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 160
- 238000006243 chemical reaction Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 12
- 238000012795 verification Methods 0.000 description 6
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种服务组合的控制层编码方法,涉及用户图形界面领域,本发明主要包括以下内容:1)命令描述;2)生成命令;3)执行命令;用户对界面层的操作触发命令,发起一个命令,命令接收初始数据并启动数据流,数据经过若干节点完成控制层逻辑。命令的每个节点都符合规定的接口规范,当需要在数据流转过程中增加扩展逻辑时,只要插入同样符合接口规范的节点即可进行扩展.通过应用此方法,能够提升应用程序控制层开发灵活性,提升应用程序开发扩展能力,提高开发效率提高开发效率。
Description
技术领域
本发明涉及用户图形界面领域,尤其涉及一种服务组合的控制层编码方法。
背景技术
MVC是一种使用模型、视图、控制器设计创建Web应用程序的模式。控制器是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。控制器接受用户的输入后,会对用户输入数据进行验证、处理并决定如何向模型发送;接受模型反馈的数据后,会对数据进行加工处理具体,确定数据如何显示以及显示在视图什么位置。控制器在MVC框架中起到粘合剂的作用,沟通视图和模型。在ERP系统开发中,控制器负责控制数据在界面层和模型层间的流向,ERP系统控制层逻辑复杂,场景多样,个性化功能通过二次开发扩展来实现。为提高产品二次开发扩展能力,提升开发效率,需要一种基于服务组合的控制层编码模式。
发明内容
为了解决以上技术问题,本发明提出了一种服务组合的控制层编码方法,能够提升应用程序控制层二层开发扩展能力,提高开发效率。
响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。
本发明采用响应式编程的模式进行控制层编码,控制层逻辑由命令组成。命令是一个数据流,并包含对数据的加工处理。用户对界面层的操作触发命令,发起一个命令,命令接收初始数据并启动数据流,数据经过若干节点完成控制层逻辑。命令的每个节点都符合规定的接口规范,当需要在数据流转过程中增加扩展逻辑时,只要插入同样符合接口规范的节点即可进行扩展。
本发明的技术任务是按照以下方式实现的:一种服务组合的控制层编码方法,包括以下步骤和内容:
(一)命令描述。
(二)生成命令。
(三)执行命令。
基于步骤(一),命令描述包括节点描述、节点编排规则描述。本发明使用XML格式描述节点和节点编排关系。
节点描述,本发明定义了四种类型节点,方法节点、分支节点、条件节点、命令节点。
方法节点,描述数据流转过程中对数据执行的方法,自身包含两个属性,此节点下最多可包含一个分支节点。
方法节点的属性描述如下:
属性 | 描述 |
service | 执行方法所在的服务对象 |
method | 对数据执行的方法 |
方法节点的XML Schema类型定义如下:
分支节点,描述数据流转分支,是方法节点的子节点。分支节点根据所属方法节点的执行结果,判断下一步数据流向哪个方法节点。分支节点可包含至少一个条件节点。
分支节点的Xml Schema类型定义如下:
条件节点,描述数据流转条件,是分支节点的子节点。其包含一个属性和至少一个方法节点,当上级方法节点的返回值与条件匹配时,条件成立,数据流转入此条件节点下的方法节点。
数据进入方法节点时,数据将按照方法节点声明顺序逐个进入方法节点。
属性 | 描述 |
switch | 条件节点成立的值 |
条件节点的Xml Schema类型定义如下:
命令节点,描述数据流转的完整过程,命令节点下至少包含一个方法节点。命令启动时接收初始数据,启动后数据按照方法节点声明顺序,逐个进入方法节点。
命令节点Xml Schema类型定义如下:
节点编排规则,描述方法节点、分支节点、条件节点组成命令节点的规则。
具体规则如下:
命令节点至少包含一个方法节点,执行命令时,数据按照方法节点声明顺序逐个进入方法节点。
方法节点可包含分支节点,方法节点包含分支节点时,仅可包含一个分支节点。
分支节点下至少包含一个条件节点。
条件节点下至少包含一个方法节点。
基于步骤(二),生成命令是将Xml格式的命令描述转换为可执行代码。生成命令包括生成方法节点、生成分支节点、生成条件节点。
命令节点通过命令转换机制转换为可执行代码。命令转换机制包含转换接口,以及四种节点的转换策略。四种节点转换策略分别为,命令转换策略、方法转换策略、分支转换策略、条件转换策略,以上四种策略均实现转换接口。
转换接口定义如下:
命令转换策略的转换接口接收Xml格式的命令节点,其转换接口的实现逻辑为:
1、生成访问初始数据的代码。
2、生成创建命令代码。
3、读取命令节点下的方法节点,创建方法转换策略并调用方法策略的转换接口,输出方法执行代码。
4、将方法执行代码附加到命令代码内。
5、重复步骤3、4至遍历完所有方法节点为止。
6、输出完整命令代码。
方法转换策略的转换接口接收Xml格式的方法节点,其转换接口的实现逻辑为:
1、读取方法节点的service属性获取待调用服务名,根据服务名生成访问指定服务的代码。
2、读取方法节点的method属性获取待执行方法名,根据方法名生成调用指定服务方法的代码。
3、检查方法节点下是否包含分支节点,如果包含则创建分支转换策略并调用转换接口。
4、如果方法节点下包含分支描述节点,则将分支转换策略生成的代码附加到方法代码之后。
5、如果方法节点不包含分支节点,则直接返回生成的方法代码。
分支转换策略的转换接口接收Xml格式的分支节点,其转换接口的实现逻辑为:
1、生成分支选择代码。
2、读取分支节点下的条件节点,创建条件转换策略并调用转换接口,输出条件执行代码。
3、重复步骤2至遍历完所有条件节点为止。
4、输出分支选择代码。
条件转换策略的转换接口接收Xml格式的条件节点,其转换接口的实现逻辑为:
1、读取条件节点switch属性获取使条件成立的值。
2、读取条件节点下的方法节点,创建方法转换策略并调用转换接口,输出方法代码。
3、重复步骤2至遍历完所有方法节点为止。
4、输出满足此条件时执行的方法代码。
基于步骤(三),执行命令包括构造输入参数、执行方法节点、处理输出参数、分支控制。
构造输入参数,执行命令时首先构造命令执行上下文,命令执行上下文包含数据、执行结果两个属性。
执行方法节点时,执行上下文作为输入参数传递给每一个方法节点。创建执行上下文时,其中的数据为初始数据,数据进入每个方法节点时,方法节点对数据进行加工处理再反馈原始数据中。
处理输出参数,数据进入方法节点后,方法返回值被更新入执行上下文的执行结果。
分支控制,数据流转人分支节点时,分支节点读取执行上下文存储的执行结果,执行结果的值为上一个方法节点的返回值,将执行结果与条件节点的值进行比较,进入条件成立的下一个方法节点,最终完成命令执行。
本发明的有益效果:
通过应用此方法,可以提升应用程序控制层编码灵活性,提升应用程序控制层二层开发扩展能力,提高开发效率。
附图说明
图1是节点转换接口定义示意图;
图2是命令结构定义示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
以点击单据保存按钮的控制层逻辑为例创建保存命令。保存按钮的控制层逻辑为,当用户点击保存按钮后,系统验证界面数据是否符合提交规则,验证通过则向模型层提交界面数据,验证不通过在界面层向用户提示验证失败。系统提交数据后,模型层保存数据成功则在界面显示成功信息,否则显示失败信息。
根据以上场景,定义保存命令为:
命令转换机制将以上Xml格式命令转换为可以执行代码,以JavaScript代码为例,转换后的代码为:
以上可执行代码创建了名为saveCommand的命令,并调用saveCommand命令的perform方法执行命令。
创建命令时,传入arguments和results两个参数用于构造命令执行上下文的数据和执行结果。
Command对象支持链式调用,每个方法的返回值都是Command对象自身。生产的Command定义代码通过append方法添加方法节点执行代码。
首先,Command对象添通过append方法添加保存前验证逻辑。
然后,调用fork方法添加分支处理。分支处理逻辑包含两个条件,验证结果为true时,Command对象通过append方法添加数据提交逻辑;验证结果为false是,Command对象添加显示验证失败逻辑。
数据提交逻辑后,通过fork方法为Command增加分支处理逻辑,当提交逻辑返回值为true时,显示提交成功;当提交逻辑返回值为false时,显示异常信息。
最后,完成命令创建,当调用perform方法时启动命令,执行相关逻辑。
Claims (2)
1.一种服务组合的控制层编码方法,其特征在于,
主要包括以下内容:
1)命令描述;
2)生成命令;
3)执行命令;
其中,
命令描述,包括节点描述、节点编排规则描述;使用XML格式描述节点和节点编排关系;节点描述,包括四种类型节点,方法节点、分支节点、条件节点、命令节点;
生成命令,是将Xml格式的命令描述转换为可执行代码;生成命令包括生成方法节点、生成分支节点、生成条件节点;
执行命令,包括构造输入参数、执行方法节点、处理输出参数、分支控制;
方法节点,描述数据流转过程中对数据执行的方法,自身包含两个属性,此节点下最多包含一个分支节点;
方法节点的属性描述如下:
方法节点类型为“可执行方法类型”,其类型定义如下。
“可执行方法类型”类型下必须包含名称为service,类型为字符串类型的属性;必须包含名称为“method”,类型为字符串类型的属性;最多包含一个名称为Fork,类型为“分支节点类型”的子元素。
分支节点,描述数据流转分支,是方法节点的子节点;分支节点根据所属方法节点的执行结果,判断下一步数据流向哪个方法节点;分支节点包含至少一个条件节点;
分支节点的类型为“分支节点类型”,其类型定义如下:
“分支节点类型”必须包含至少一个,名称为“Condition”,类型为“条件节点类型”的子元素。
条件节点,描述数据流转条件,是分支节点的子节点;其包含一个属性和至少一个方法节点,当上级方法节点的返回值与条件匹配时,条件成立,数据流转入此条件节点下的方法节点数据进入方法节点时,数据将按照方法节点声明顺序逐个进入方法节点;
条件节点的类型为“条件节点类型”,其类型定义如下:
“条件节点类型”必须包含名称为“switch”,类型为字符串的书写;至少包含一个名称为“Executable”,类型为“可执行方法类型”的子元素。
命令节点,描述数据流转的完整过程,命令节点下至少包含一个方法节点;命令启动时接收初始数据,启动后数据按照方法节点声明顺序,逐个进入方法节点。
命令节点的类型为“命令类型”,其他类型定义如下:
“命令类型”必须至少包含一个名称为“Executable”,类型为“可执行方法类型”的子元素。
节点编排规则,描述方法节点、分支节点、条件节点组成命令节点的规则;
具体规则如下:
命令节点至少包含一个方法节点,执行命令时,数据按照方法节点声明顺序逐个进入方法节点;
方法节点可包含分支节点,方法节点包含分支节点时,仅包含一个分支节点;
分支节点下至少包含一个条件节点;
条件节点下至少包含一个方法节点;
命令节点通过命令转换机制转换为可执行代码;命令转换机制包含转换接口,以及四种节点的转换策略;四种节点转换策略分别为,命令转换策略、方法转换策略、分支转换策略、条件转换策略,以上四种策略均实现转换接口;
转换接口定义如下:
命令转换策略的转换接口接收Xml格式的命令节点,其转换接口的实现逻辑为:
1)、生成访问初始数据的代码;
2)、生成创建命令代码;
3)、读取命令节点下的方法节点,创建方法转换策略并调用方法策略的转换接口,输出方法执行代码;
4)、将方法执行代码附加到命令代码内;
5)、重复步骤3)、4)至遍历完所有方法节点为止;
6)、输出完整命令代码;
方法转换策略的转换接口接收Xml格式的方法节点,其转换接口的实现逻辑为:
1)、读取方法节点的service属性获取待调用服务名,根据服务名生成访问指定服务的代码;
2)、读取方法节点的method属性获取待执行方法名,根据方法名生成调用指定服务方法的代码;
3)、检查方法节点下是否包含分支节点,如果包含则创建分支转换策略并调用转换接口;
4)、如果方法节点下包含分支描述节点,则将分支转换策略生成的代码附加到方法代码之后;
5)、如果方法节点不包含分支节点,则直接返回生成的方法代码;
分支转换策略的转换接口接收Xml格式的分支节点,其转换接口的实现逻辑为:
1)、生成分支选择代码;
2)、读取分支节点下的条件节点,创建条件转换策略并调用转换接口,输出条件执行代码;
3)、重复步骤2)至遍历完所有条件节点为止;
4)、输出分支选择代码;
条件转换策略的转换接口接收Xml格式的条件节点,其转换接口的实现逻辑为:
1)、读取条件节点switch属性获取使条件成立的值;
2)、读取条件节点下的方法节点,创建方法转换策略并调用转换接口,输出方法代码;
3)、重复步骤2至遍历完所有方法节点为止;
4)、输出满足此条件时执行的方法代码。
2.根据权利要求1所述的方法,其特征在于,
步骤3)中,
构造输入参数,执行命令时首先构造命令执行上下文,命令执行上下文包含数据、执行结果两个属性;
执行方法节点时,执行上下文作为输入参数传递给每一个方法节点;创建执行上下文时,其中的数据为初始数据,数据进入每个方法节点时,方法节点对数据进行加工处理再反馈原始数据中;
处理输出参数,数据进入方法节点后,方法返回值被更新入执行上下文的执行结果;
分支控制,数据流转人分支节点时,分支节点读取执行上下文存储的执行结果,执行结果的值为上一个方法节点的返回值,将执行结果与条件节点的值进行比较,进入条件成立的下一个方法节点,最终完成命令执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810455638.2A CN108647019B (zh) | 2018-05-14 | 2018-05-14 | 一种服务组合的控制层编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810455638.2A CN108647019B (zh) | 2018-05-14 | 2018-05-14 | 一种服务组合的控制层编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647019A CN108647019A (zh) | 2018-10-12 |
CN108647019B true CN108647019B (zh) | 2021-08-31 |
Family
ID=63755221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810455638.2A Active CN108647019B (zh) | 2018-05-14 | 2018-05-14 | 一种服务组合的控制层编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647019B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078196A (zh) * | 2018-10-22 | 2020-04-28 | 顺丰科技有限公司 | 基于mvc架构的消息传递方法、装置、设备及存储介质 |
CN109840088A (zh) * | 2018-12-29 | 2019-06-04 | 深圳市梦域科技有限公司 | 一种开发框架设计的方法及装置 |
CN111965993A (zh) * | 2020-05-11 | 2020-11-20 | 中核武汉核电运行技术股份有限公司 | 一种rinsim平台与数字化仪控系统的交互方法 |
CN112162738B (zh) * | 2020-10-26 | 2022-11-29 | 广东粤港澳大湾区硬科技创新研究院 | 数据转化方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN104618433A (zh) * | 2014-12-26 | 2015-05-13 | 国家电网公司 | 一种基于eca规则的服务组合方法 |
CN106055316A (zh) * | 2016-05-19 | 2016-10-26 | 四川物联亿达科技有限公司 | 一种供应链金融引擎系统、系统建立方法以及服务器 |
CN107273117A (zh) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成系统 |
CN107291450A (zh) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546260B (zh) * | 2008-03-28 | 2012-07-11 | 国际商业机器公司 | 用于重构面向服务的应用的方法及其设备 |
KR101658670B1 (ko) * | 2010-02-04 | 2016-09-21 | 삼성전자주식회사 | 휴대용 단말기에서 사용자 적응형 어플리케이션 생성 방법 및 장치 |
-
2018
- 2018-05-14 CN CN201810455638.2A patent/CN108647019B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN104618433A (zh) * | 2014-12-26 | 2015-05-13 | 国家电网公司 | 一种基于eca规则的服务组合方法 |
CN106055316A (zh) * | 2016-05-19 | 2016-10-26 | 四川物联亿达科技有限公司 | 一种供应链金融引擎系统、系统建立方法以及服务器 |
CN107273117A (zh) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成系统 |
CN107291450A (zh) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成方法 |
Non-Patent Citations (2)
Title |
---|
Model-Driven Automatic Generation of Verified BPEL Code for Web Service Composition;Bixin Li,Yu Zhou,Jun Pang;《2009 16th Asia-Pacific Software Engineering Conference》;20091203;全文 * |
一种基于ECA规则的Web Service工作流模型的研究;贺春林,滕云,彭仁明;《计算机科学》;20090831;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108647019A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647019B (zh) | 一种服务组合的控制层编码方法 | |
US8738735B2 (en) | System for designing and performing web application | |
CN105824787B (zh) | 一种html模板动态配置的控制方法及系统 | |
JP6725535B2 (ja) | 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法 | |
US20160110190A1 (en) | Web Client Command Infrastructure Integration into a Rich Client Application | |
US20120011447A1 (en) | Facilitating propagation of user interface patterns or themes | |
CN110502212B (zh) | 一种面向多语言的高并发在线开发支撑方法 | |
KR20090013243A (ko) | 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법 | |
US9645719B2 (en) | Data-driven schema for describing and executing management tasks in a graphical user interface | |
CN109657103A (zh) | 数据结构的转换方法、装置、计算机设备和存储介质 | |
CN103383645A (zh) | 代码生成方法及系统 | |
CN101322096A (zh) | 元数据驱动的用户界面 | |
CN104375818A (zh) | 一种通过配置文件实现通用数据格式录入的系统及方法 | |
EP3640817A1 (en) | System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework | |
Ranjan et al. | JavaScript for modern web development: building a web application using HTML, CSS, and JavaScript | |
CN115562629A (zh) | 一种rpa流程表示方法、系统、装置及存储介质 | |
CN108228762A (zh) | 用于配置主数据库通用模板的方法和系统 | |
JP2001325098A (ja) | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 | |
Jennings | Professional ADO. NET 3.5 with LINQ and the Entity Framework | |
US9594737B2 (en) | Natural language-aided hypertext document authoring | |
JP2001125855A (ja) | 動的Webページ生成プログラム | |
CN116450246A (zh) | 一种基于状态机的事件流转可配置方法 | |
RU2702508C1 (ru) | Система компонентно-ориентированного программного обеспечения и способ разработки | |
US20050177788A1 (en) | Text to XML transformer and method | |
CN111522546B (zh) | 一种页面的生成方法、相关装置及前端页面 |
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 |