CN101650650A - 一种应用系统实现方法 - Google Patents
一种应用系统实现方法 Download PDFInfo
- Publication number
- CN101650650A CN101650650A CN 200910109427 CN200910109427A CN101650650A CN 101650650 A CN101650650 A CN 101650650A CN 200910109427 CN200910109427 CN 200910109427 CN 200910109427 A CN200910109427 A CN 200910109427A CN 101650650 A CN101650650 A CN 101650650A
- Authority
- CN
- China
- Prior art keywords
- unit processor
- business unit
- business
- concrete
- chain
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明适用于计算机领域,提供了一种应用系统实现方法,所述方法包括下述步骤:将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器;根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链。在本发明实施例中,通过将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器,并根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链,实现了一种应用系统实现方法,适用于在逻辑复杂、规模大的系统中实现逻辑重用,且耦合度低。并且,各具体业务单元处理器在整个业务链中有一定的执行顺序,这个顺序在运行期可以根据业务链配置信息动态进行配置和改变。
Description
技术领域
本发明属于计算机领域,尤其涉及一种应用系统实现方法。
背景技术
在企业资源规划(Enterprise Resourse Planning,ERP)系统中,有很多相当复杂的业务逻辑。在一个大的业务逻辑中,常常包括多个小的可独立存在和执行的业务逻辑单元。不同的业务逻辑中可能会存在相同或相类似的业务逻辑单元,现有方案一般采用继承的方式来实现不同业务逻辑中相同或相类似的业务逻辑单元的重用。
继承方式的应用方案在较简单或规模小的系统实现重用是可行的,但在逻辑复杂,并且多个子系统之间进行重用时,就会产生继承带来的问题。如果各子类之间的差异比较大,就会导致业务逻辑的重用越来越难于驾驭,子类也往往不得不放弃继承而重新实现一遍。并且,在业务超类或其子类的业务方法中,会调用很多的业务单元接口,就产生了对这些接口的依赖。在这些接口发生变化,或出现新的接口调用时,就不得不修改超类或子类的代码。
综上所述,现有采用继承方式实现逻辑重用的应用系统实现方法仅适用于简单、规模小的系统,不适用于逻辑复杂、规模大的系统,且耦合度高。
发明内容
本发明实施例的目的旨在解决现有技术存在的问题,提供一种应用系统实现方法,适用于在逻辑复杂、规模大的系统中实现逻辑重用,且耦合度低。
本发明实施例是这样实现的,一种应用系统实现方法,所述方法包括下述步骤:
将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器;
根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链。
在本发明实施例中,通过将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器,并根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链,实现了一种应用系统实现方法,适用于在逻辑复杂、规模大的系统中实现逻辑重用,且耦合度低。并且,各具体业务单元处理器在整个业务链中有一定的执行顺序,这个顺序在运行期可以根据业务链配置信息动态进行配置和改变,还可以根据需求在运行期增加或减少具体业务单元处理器。
附图说明
图1是本发明实施例提供的应用系统实现方法的实现流程图;
图2(a)是本发明实施例提供的采购单据审核业务的业务逻辑单元拆分示意图;
图2(b)是本发明实施例提供的销售单据审核业务的业务逻辑单元拆分示意图;
图2(c)是本发明实施例提供的库存单据审核业务的业务逻辑单元拆分示意图;
图2(d)是本发明实施例提供的应收单据审核业务的业务逻辑单元拆分示意图;
图3是本发明实施例提供的业务链解决方案的示意图;
图4是本发明实施例提供的业务链解决方案的实现类图;
图5是本发明实施例提供的主流程单元处理器包括的业务链配置结构的示意图;
图6是本发明实施例提供的实现销售单据审核业务的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器,并根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链。
图1示出了本发明实施例提供的应用系统实现方法的实现流程,详述如下:
在步骤S101中,将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器;业务即各行业中需要处理的事务,包括销售计划制定、项目管理、人事管理等,业务逻辑单元是可独立存在和执行业务逻辑单位,具体业务单元处理器实现各业务逻辑单元,在具体编程实现中可以实现为类。
在步骤S102中,根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链;该业务链配置信息可以存储在应用系统中,也可以由应用系统从其他存储单元、服务器等获得,业务链配置信息中包括组成各业务所需的具体业务单元处理器信息及各具体业务单元处理器之间的顺序关系,具体业务单元处理器信息可以为具体业务单元处理器的名称、标识号等唯一标识各业务单元处理器的信息。
下面,以ERP系统的实现为例进行说明,涉及到的业务有采购单据审核业务、销售单据审核业务、库存单据审核业务、应收单据审核业务等,分别将各业务进行逻辑细分,得到组成各业务的业务逻辑单元,分别如图2(a)、2(b)、2(c)和2(d)所示。由此可知,采购单据审核业务由主流程和反写两个业务逻辑单元组成;销售单据审核业务由主流程、反写、信用控制、内部交易价格计算四个业务逻辑单元组成;库存单据审核业务由主流程、库存更新、反写、成本核算、核销、序列号生产和虚单生产七个业务逻辑单元组成;应收单据审核业务由主流程、反写、成本核算、核销和信用控制五个业务逻辑单元组成。组成某一业务的业务逻辑单元,在其他业务中是可重用的,将所有这些可重用的业务逻辑单元分别构建为具体业务单元处理器。
根据业务链配置信息中包括的组成各业务所需的具体业务单元处理器信息及各具体业务单元处理器之间的顺序关系,可以将实现各业务所需的具体业务单元处理器装配为业务链。在业务上,可以认为每个具体业务单元处理器在整个流程执行过程中是一个业务逻辑链的执行过程。当一个业务逻辑执行完后,就把执行结果传递给下一个具体业务单元处理器执行相应的业务逻辑,直到业务链中最后一个具体业务单元处理器执行完后,统一返回给客户端显示。
为了保证每个具体业务单元处理器的可扩展性,各具体业务单元处理器采用统一的接口,为各具体业务单元处理器定义一个统一的接口,只要符合这个接口的具体业务单元处理器,都可以插入到业务链中。每个具体业务单元处理器在接收到其上游的具体业务单元处理器的处理结果后,进行其自身的具体业务逻辑处理,处理完后就将其处理结果传递到其下游具体业务单元处理器中继续进行处理。
为了保证每个具体业务单元处理器的独立性,采用一个业务单元处理器构造者来统一按照业务链配置信息装配所需的具体业务单元处理器,使所需的各具体业务单元处理器只知道其下游的具体业务单元处理器。
图3示出了本发明实施例提供的业务链解决方案的示意图。业务单元处理器构造者负责根据业务链配置信息装配所需的具体业务单元处理器,而具体业务单元处理器调用其下游的具体业务单元处理器的过程是在抽象业务单元处理器中实现的,所以每个具体业务单元处理器不必关心各具体业务单元处理器之间的关系,只要关注于实现本身的业务逻辑、或调用其它具体业务单元处理器的业务接口。
从图3中可以看出,调用者是业务的使用者和发起者,其只依赖业务单元处理器构造者,而不依赖各个具体业务单元处理器。因而当具体业务单元处理器的逻辑改变、或者接口规格改变时,都不会对调用者产生影响。
上述步骤S102具体包括:
调用者调用业务单元处理器构造者装配业务链;
业务单元处理器构造者读取业务链配置信息,根据读取到的信息创建实现业务所需的具体业务单元处理器实例,并将创建的具体业务单元处理器实例装配成一个业务链;
调用者将要处理的数据传递给装配成的业务链中的第一个具体业务单元处理器实例;
从装配成的业务链中的第一个具体业务单元处理器实例开始,装配成的业务链中的各具体业务单元处理器实例顺序处理接收到的数据。
这里,业务单元处理器构造者装配完业务链后,向调用者返回装配成的业务链中的第一个具体业务单元处理器实例,以便调用者将要处理的数据传递给业务链中的该第一个具体业务单元处理器实例。业务链中的第一个具体业务单元处理器实例处理接收到的数据后,对接收到的数据进行相应处理,完成后调用其下游的具体业务单元处理器实例继续进行数据处理,该下游的具体业务单元处理器实例进行处理后如果有它自己的下游业务单元处理器实例,也同样调用其下游的具体业务单元处理器实例,依此类推,直到业务链中最后一个具体业务单元处理器实例完成数据处理。
为了保证业务的完整性,每个具体业务单元处理还可以包括业务校验流程,将包括业务校验流程的具体业务单元处理器间装配成嵌套关系。例如,在采购单据审核业务中,主流程业务单元处理器、反写业务单元处理器都包括校验流程,即采购单据的审核校验和反写校验,主流程业务单元处理器校验后,调用嵌套的反写业务单元处理器执行校验和业务逻辑处理,处理完后返回主流程业务单元处理器进行业务处理操作。并且,上一个具体业务单元处理器校验失败的单据,下一个具体业务单元处理器不会对其执行处理。
下面以实现上述图2(b)所示销售单据审核业务为例对业务链解决方案进行详细说明,业务链解决方案的实现类图如图4所示,其中:
调用者:是业务逻辑的使用者和发起者。它向具体业务单元处理器构造者申请构造一个业务链,并接收返回的业务链中的主流程业务处理器实例;随后向主流程业务处理器实例传递销售单据的集合,在业务链的所有具体业务单元处理器实例处理完后接收返回的处理结果;
抽象业务单元处理器构造者:负责读取业务链配置信息来创建主流程业务单元处理器实例、反写业务单元处理器实例、信用控制业务单元处理器实例和内部交易价格计算单元处理器实例,并根据业务链配置信息将这些创建的具体业务单元处理器实例装配成一个业务链;
具体业务单元处理器构造者:根据不同的业务模块,来自定义业务链的装配过程,默认采用通用的业务链装配过程;
业务单元处理器接口:定义一个具体业务单元处理器必须遵守的规约,只要遵守该规约的具体业务单元处理器,都可以插入到装配成的业务链中。
抽象业务单元处理器:定义了一个业务检查方法和业务流程处理方法,并在执行逻辑接口方法中,先调用具体业务单元处理器的检查方法,再调用具体业务单元处理器的业务逻辑处理方法,最后调用其下游的具体业务单元处理器的执行逻辑接口;
主流程业务单元处理器:继承抽象业务单元处理器,在一个业务链中,都有一个主流程业务单元处理器,即业务链中的第一个具体业务单元处理器,调用者会直接调用主流程业务处理器的执行逻辑接口;
反写业务单元处理器、信用控制业务单元处理器和内部交易价格计算单元处理器:继承抽象业务单元处理器,分别完成各自的业务逻辑处理;
业务链配置信息:是一个定义实现各业务所需的具体业务单元处理器及各具体业务单元处理器执行顺序的文本结构文件,包括一个主流程业务单元处理器,并在该主流程业务单元处理器上指定其它有关系的具体业务单元处理器。这里,主流程单元处理器包括的业务链配置结构如图5所示。
图6示出了本发明实施例提供的实现销售单据审核业务的流程,详述如下:
1.调用者通知具体业务单元处理器构造者装配一个业务链;
2.具体业务单元处理器构造者读取配置信息,创建需要的主流程业务单元处理器实例、反写业务单元处理器实例、信用控制业务单元处理器实例和内部交易价格计算单元处理器实例,根据顺序把这些具体业务单元处理器实例装配成一个业务链,使每个具体业务单元处理器实例都知道它下游的具体业务单元处理器实例是谁,随后具体业务单元处理器构造者返回其中的主流程业务单元处理器实例给调用者。
3.调用者把要处理的单据处理集合传递给主流程业务单元处理器实例,并调用其执行逻辑接口。
4.主流程业务单元处理器实例先执行自己的业务检查逻辑;
5.接着如果主流程业务单元处理器实例发现自己有一个嵌套的反写业务单元处理器实例,则会接着调用嵌套的反写业务单元处理器实例的执行逻辑接口,该反写业务单元处理器实例执行反写校验逻辑和反写流程处理;
6.然后主流程业务单元处理器实例执行本身的业务处理;
7.主流程业务单元处理器实例完成本身的业务处理后,如果主流程业务单元处理器实例发现自己有下游的具体业务单元处理器实例,即信用控制业务单元处理器实例,则调用信用控制业务单元处理器实例的执行逻辑接口,该信用控制业务单元处理器实例进行信用控制处理;
8.信用控制业务单元处理器实例进行信用控制处理,完成后,如果信用控制业务单元处理器实例发现自己有下游的具体业务单元处理器实例,即内部交易价格计算单元处理器实例,则调用内部交易价格计算单元处理器实例的执行逻辑接口,该内部交易价格计算单元处理器实例执行内部价格计算;
9.内部交易价格计算单元处理器实例处理完成后,主流程业务单元处理器实例返回最终执行结果。
为了提高处理业务处理效率,避免不必要的业务处理,作为本发明的一个优选实施例,业务链中的具体业务单元处理器实例只处理其上游具体业务单元处理器实例处理结果为成功的数据,即在每个具体业务单元处理器实例的业务逻辑执行过程中,都会把业务检查失败的单据排除掉,传递给下一个业务单元处理器实例的单据集合只会包括已经执行成功的单据集合。并且,每个具体业务单元处理器实例在调用下一个具体业务单元处理器实例后,会把下一个具体业务单元处理器实例返回的结果合并到自己的单据结果集合中,其中包括了成功的和失败的,失败的单据还可以进一步包括失败原因,这样调用者知道哪些单据执行失败、失败原因是什么,这些信息最终要返回客户端显示给用户。
这里,采用单据结果集合来记录要处理的单据的处理信息,记录每个具体业务单元处理器处理后的执行结果,是失败还是成功,失败的原因是什么,该单据结果集合如表1所示:
单据ID标识 | 处理结果 | 失败原因 |
001 | 成功 | |
002 | 失败 | 信用不足 |
表1
当然,本发明实施例提供的应用系统实现方法还可以用于构建其他应用系统。对于进行复杂或简单逻辑处理的应用系统,只要能够将各逻辑处理划分成多个可重用的细粒度的逻辑单元,都适用本发明实施例提供的应用系统实现方法,如制造系统中生产订单的下达等。
进一步地,为了提高处理效率,作为本发明的另一个优选实施例,将业务链中除第一个具体业务单元处理器外,无须保证业务逻辑事务完整性的具体业务单元处理器设置为异步处理器。
这样,在调用异步执行的处理器后,可以不等这些处理时间长且后续处理又不依赖其处理结果的处理器处理完就立即返回,能提升整个执行的性能感受。这种异步执行的前提条件是无须保证这些业务逻辑的事务完整性。。
在本发明实施例中,通过将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器,并根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链,实现了一种应用系统实现方法,适用于在逻辑复杂、规模大的系统中实现逻辑重用,且耦合度低。并且,各具体业务单元处理器在整个业务链中有一定的执行顺序,这个顺序在运行期可以根据业务链配置信息动态进行配置和改变,还可以根据需求在运行期增加或减少具体业务单元处理器。
每个具体业务单元处理器只管自己的业务逻辑,而不用管其在系统运行时是如何运行的,即不用管其是后续处理的、嵌套处理的或是异步后台处理的。各具体业务单元处理器之间是较松散耦合的,只与业务链的顺序相关;另外,调用者要实现的业务与各具体业务单元处理器的逻辑也是松散耦合的,具体业务单元处理器的接口和结构变化,不直接影响调用者。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种应用系统实现方法,其特征在于,所述方法包括下述步骤:
将不同业务中可重用的各业务逻辑单元构建为具体业务单元处理器;
根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链。
2、如权利要求1所述的方法,其特征在于,所述业务链配置信息中包括组成各业务所需的具体业务单元处理器信息及各具体业务单元处理器之间的顺序关系。
3、如权利要求1所述的方法,其特征在于,各所述具体业务单元处理器采用统一的接口。
4、如权利要求2所述的方法,其特征在于,采用业务单元处理器构造者来统一按照所述业务链配置信息装配所需的具体业务单元处理器,使所需的各具体业务单元处理器只知道其下游的具体业务单元处理器。
5、如权利要求4所述的方法,其特征在于,所述根据业务链配置信息将实现各业务所需的具体业务单元处理器装配为业务链的步骤具体包括:
调用者调用业务单元处理器构造者装配业务链;
业务单元处理器构造者读取所述业务链配置信息,根据读取到的信息创建实现业务所需的具体业务单元处理器实例,并将创建的具体业务单元处理器实例装配成一个业务链;
所述调用者将要处理的数据传递给所述装配成的业务链中的第一个具体业务单元处理器实例;
从所述装配成的业务链中的第一个具体业务单元处理器实例开始,所述装配成的业务链中的各具体业务单元处理器实例顺序处理接收到的数据。
6、如权利要求5所述的方法,其特征在于,所述调用者只依赖所述业务单元处理器构造者。
7、如权利要求5所述的方法,其特征在于,所述具体业务单元处理器还包括业务校验流程,将包括业务校验流程的所述具体业务单元处理器间装配成嵌套关系。
8、如权利要求5所述的方法,其特征在于,所述业务链中的具体业务单元处理器只处理其上游具体业务单元处理器处理结果为成功的数据。
9、如权利要求1所述的方法,其特征在于,将所述业务链中除第一个具体业务单元处理器外,无须保证业务逻辑事务完整性的具体业务单元处理器设置为异步处理器。
10、如权利要求1所述的方法,其特征在于,所述应用系统为企业资源规划系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910109427.4A CN101650650B (zh) | 2009-08-17 | 2009-08-17 | 一种应用系统实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910109427.4A CN101650650B (zh) | 2009-08-17 | 2009-08-17 | 一种应用系统实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101650650A true CN101650650A (zh) | 2010-02-17 |
CN101650650B CN101650650B (zh) | 2014-03-26 |
Family
ID=41672893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910109427.4A Active CN101650650B (zh) | 2009-08-17 | 2009-08-17 | 一种应用系统实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101650650B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704167A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种业务链处理方法、设备及系统 |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
CN110503385A (zh) * | 2019-07-15 | 2019-11-26 | 招联消费金融有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN111580896A (zh) * | 2020-05-04 | 2020-08-25 | 武汉众邦银行股份有限公司 | 一种基于原子化服务的链路调用方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134552A (en) * | 1997-10-07 | 2000-10-17 | Sap Aktiengesellschaft | Knowledge provider with logical hyperlinks |
US7509584B2 (en) * | 2004-05-28 | 2009-03-24 | Sap Ag | Dynamic ECMAScript class loading |
US7899903B2 (en) * | 2005-09-30 | 2011-03-01 | Microsoft Corporation | Template based management system |
CN101075192A (zh) * | 2007-06-14 | 2007-11-21 | 高建强 | 一种数据系统的业务流程定义方法及装置 |
US7954014B2 (en) * | 2007-09-18 | 2011-05-31 | Sap Ag | Health check framework for enterprise systems |
-
2009
- 2009-08-17 CN CN200910109427.4A patent/CN101650650B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704167A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种业务链处理方法、设备及系统 |
CN105704167B (zh) * | 2014-11-24 | 2019-06-11 | 华为技术有限公司 | 一种业务链处理方法、设备及系统 |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
CN110503385A (zh) * | 2019-07-15 | 2019-11-26 | 招联消费金融有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN110503385B (zh) * | 2019-07-15 | 2022-08-12 | 招联消费金融有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN111580896A (zh) * | 2020-05-04 | 2020-08-25 | 武汉众邦银行股份有限公司 | 一种基于原子化服务的链路调用方法 |
CN111580896B (zh) * | 2020-05-04 | 2023-07-07 | 武汉众邦银行股份有限公司 | 一种基于原子化服务的链路调用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101650650B (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070156487A1 (en) | Object model on workflow | |
US20110282709A1 (en) | Dynamic human workflow task assignment using business rules | |
EP1966719A1 (en) | Multiple concurrent workflow persistence schemes | |
WO2004086197A2 (en) | Custom common object | |
JP2007287151A (ja) | ソフトウェアモデルのビジネスプロセス変形型 | |
CN103514565A (zh) | 金融交易处理系统的交易异常处理单元及方法 | |
WO2004086198A2 (en) | Common common object | |
CN104077362A (zh) | 一种联机批量处理数据的系统和方法 | |
CN104750522A (zh) | 任务或流程的动态执行方法和系统 | |
CN101650650B (zh) | 一种应用系统实现方法 | |
CN101188012A (zh) | 一种交易数据的清算系统及清算方法 | |
US20220036306A1 (en) | Methods and apparatus for using configurable templates and policy information to control use of storage locations | |
Abu-Matar et al. | Feature based variability for service oriented architectures | |
CN101369919A (zh) | 基于企业的有相互关系的事件的消息次序管理 | |
AU2011204930B2 (en) | Capturing and processing data generated in an ERP interim phase | |
CN102147750A (zh) | 作业处理方法和系统 | |
Cho et al. | Service identification and modeling for service oriented architecture applications | |
US20200126013A1 (en) | Microcomponents for data integration and methods thereof | |
Chen et al. | Modeling cross-organizational services composition with Pi-calculus | |
KR20210039536A (ko) | 형상관리를 이용한 설계자-개발자간 협업 시스템 및 방법 | |
CN104461712A (zh) | 工作任务处理方法和工作任务处理装置 | |
CN112348298A (zh) | 设计师管理方法、装置、电子终端、及存储介质 | |
Braunwarth et al. | Valuating business process flexibility achieved through an alternative execution path | |
Massoud et al. | Efficient reference architecture for integrated legacy applications based-SOA | |
Lisman | Indonesian Sharia Banking Transformation Model in the Digital Era: An Overview |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |