CN108712444A - 账号管理系统 - Google Patents
账号管理系统 Download PDFInfo
- Publication number
- CN108712444A CN108712444A CN201810584136.XA CN201810584136A CN108712444A CN 108712444 A CN108712444 A CN 108712444A CN 201810584136 A CN201810584136 A CN 201810584136A CN 108712444 A CN108712444 A CN 108712444A
- Authority
- CN
- China
- Prior art keywords
- account management
- account
- adapter
- management instruction
- instruction
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及身份管理领域,提供一种账号管理系统,包括身份管理系统、账号管理指令队列、适配器容器和至少一个应用系统,其中身份管理系统至少用于向账号管理指令队列发送账号管理指令;账号管理指令队列至少用于接收及缓存账号管理指令;以及适配器容器中部署与至少一个应用系统对应的至少一个适配器,适配器至少用于:从账号管理指令队列中获取账号管理指令,根据账号管理指令内容调用对应的应用系统中的账号管理接口来执行账号管理操作。通过建立账号管理指令队列,身份管理系统只负责向消息队列发送账号操作指令,应用从队列中获取指令并执行管理操作,达到身份管理系统与应用双方不相互依赖的目的,提升身份管理系统的稳定性与灵活性。
Description
技术领域
本发明涉及身份管理技术领域,具体涉及一种账号管理系统。
背景技术
对应用系统的账号进行管理是身份管理系统的一个重要功能,身份管理系统通过系统集成,调用应用系统账号接口进行账号的增、删、改、查等操作,实现对多个应用系统账号的统一管理。
现有账号管理集成技术是通过定制化开发,由身份管理系统直接调用应用系统账号接口实现对应用账号的管理操作。这样的实现方式使身份管理系统与应用系统间形成了紧耦合关系,已接入应用系统发生变化或新的应用系统接入都需要对身份管理系统中的适配代码进行改动,导致了高额的实施与维护成本、系统灵活性及稳定性下降。
例如,图1是现有技术的架构图(其中,webservice接口即网络服务接口;REST接口是表述性状态转移(REpresentational State Transfer,REST)接口的简称;Socket接口中文名为套接字接口,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socke),甲方实施身份管理系统,由乙方实施人员接入了X个(A-X)比如五个(A-E)应用系统的账号管理。运行一段时间后,A系统业务改变,需要在账号创建时获得能额外获得用户电话号码;B、C系统重新部署更换了IP地址;D、E系统的账号管理运行不稳定,需要排查问题。现有技术中,由于调用各业务系统的代码是身份管理系统的一部分,甲方无法对其进行调试及修改。发生任何需求变更或出现故障后都只能要求乙方人员进行修改、重新部署身份管理系统,使得运维成本过高,账号管理实施的实际效果往往大打折扣。
因此,需要一种新的账号管理系统。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种账号管理系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的示例实施方式,公开一种账号管理系统,其特征在于,包括身份管理系统、账号管理指令队列、适配器容器和至少一个应用系统,其中
身份管理系统至少用于向账号管理指令队列发送账号管理指令;
账号管理指令队列至少用于接收及缓存账号管理指令;以及
适配器容器中部署与至少一个应用系统对应的至少一个适配器,适配器至少用于:从账号管理指令队列中获取账号管理指令,根据账号管理指令的内容调用对应的应用系统中的账号管理接口来执行账号管理操作。
根据本发明的一示例实施方式,其中应用系统为多个,相应的对应的适配器也为多个,且多个适配器各自独立运行。
根据本发明的一示例实施方式,其中身份管理系统还用于根据管理员提交的账号管理请求内容构造账号管理指令。
根据本发明的一示例实施方式,其中账号管理指令包括对账号的操作类型数据和账号属性数据。
根据本发明的一示例实施方式,其中账号管理指令队列采用企业级消息队列中间件。
根据本发明的一示例实施方式,其中企业级消息队列中间件为Rabbit MQ或Active MQ。
根据本发明的一示例实施方式,其中账号管理指令队列还用于:
对账号管理指令进行端到端加密;和/或
对账号管理指令进行路由,以保证只有账号管理指令指定的应用系统才能获取对应的指令。
根据本发明的一示例实施方式,其中适配器容器为支持热部署的应用容器。
根据本发明的一示例实施方式,其中支持热部署的应用容器采用OSGI技术。
根据本发明的一示例实施方式,其中适配器还用于:
对账号管理指令进行解析并进行适配对应的应用系统的数据转换。
根据本发明的一些示例实施方式,通过建立账号管理指令队列,身份管理系统只负责向消息队列发送账号操作指令,应用从账号管理指令队列中获取指令并执行管理操作,达到身份管理系统与应用双方不相互依赖的目的,提升身份管理系统的稳定性与灵活性。
根据本发明的一些示例实施方式,通过引入账号适配器容器,使各应用的适配程序可动态部署、动态更新、独立运行,增加系统灵活性,降低运维成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1示出现有技术中的账号管理系统的架构图。
图2示出根据本发明一示例实施方式的一账号管理系统的方框图。
图3示出通过本发明账号管理系统进行账号管理的实现步骤。
图4示出适配器及适配器容器的实现步骤。
具体示例实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本发明的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本发明的目的在于提供一种账号管理系统,包括身份管理系统、账号管理指令队列、适配器容器和至少一个应用系统,其中身份管理系统至少用于向账号管理指令队列发送账号管理指令;账号管理指令队列至少用于接收及缓存账号管理指令;以及适配器容器中部署与至少一个应用系统对应的至少一个适配器,适配器至少用于:从账号管理指令队列中获取账号管理指令,根据账号管理指令的内容调用对应的应用系统中的账号管理接口来执行账号管理操作。通过建立账号管理指令队列,身份管理系统只负责向消息队列发送账号操作指令,应用从账号管理指令队列中获取指令并执行管理操作,达到身份管理系统与应用双方不相互依赖的目的,提升身份管理系统的稳定性与灵活性。同时,通过引入账号适配器容器,使各应用的适配程序可动态部署、动态更新、独立运行,增加系统灵活性,降低运维成本。
下面结合图2-4对本发明的账号管理系统进行详细说明,其中,图2示出根据本发明一示例实施方式的一账号管理系统的方框图;图3示出通过本发明账号管理系统进行账号管理的实现步骤;图4示出适配器及适配器容器的实现步骤。
图2示出根据本发明一示例实施方式的一账号管理系统的方框图。如图2所示,账号管理系统包括身份管理系统1、账号管理指令队列2、适配器容器3和至少一个应用系统4(A、B等),其中身份管理系统1至少用于向账号管理指令队列2发送账号管理指令;账号管理指令队列2至少用于接收及缓存账号管理指令;以及适配器容器3中部署与至少一个应用系统4(A、B等)对应的至少一个适配器(A、B等),适配器至少用于:从账号管理指令队列中获取账号管理指令,根据账号管理指令的内容调用对应的应用系统中的账号管理接口(如Webservice接口、REST接口或Socket接口等)来执行账号管理操作。通过增加账号适配器容器,剥离原有身份管理系统中的适配模块,使适配器单独运行在适配器容器中。接入新应用时,可动态部署新的适配器,修改现有接口时,可动态更新适配器。每个适配器之间相互隔离,独立运行,可控制适配器的运行状态,避免出现由于适配器逻辑错误对整体系统产生影响,增强系统灵活性与稳定性,降低运维成本。
下面结合附图2具体说明如下:
1.身份管理系统在接收到账号管理操作后,只负责向账号管理指令队列发送账号管理指令,管理指令包含了对账号的操作类型(增、删、查、改、禁用/启用等)及账号属性数据(账号名及其他账号属性,如邮箱、电话等)。
2.应用账号集成可采用以下方式:不改造应用系统,通过账号适配器进行集成。账号适配器从账号管理指令队列中获取账号管理指令,根据指令内容调用目标应用系统账号管理接口,完成管理操作。
3.账号管理指令队列可采用企业级消息队列中间件,如Rabbit MQ(MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法,Rabbit MQ是一个可复用的企业消息系统)或Active MQ(ActiveMQ是Apache出品,流行的,能力强劲的开源消息总线)
等,主要功能包括:
a)接收及缓存:从身份管理系统接收指令,未执行的指令在队列中缓存。
b)传输加密:未接收、获取指令进行端到端加密,保障数据安全。
c)路由:保证只有指令指定/对应的应用系统能够获取发送给应用系统的账号管理指令。
4.账号适配器、账号管理指令集成代码,主要功能包括:
a)获取指令:从账号管理指令队列中获取账号管理指令。
b)指令解析与数据转换:解析账号管理执行,并进行适配目标应用的数据转换。
c)指令执行:调用目标应用的账号管理接口/管理代码,完成账号管理操作。
5.适配器容器可采用支持热部署的应用容器,如OSGI技术(Open ServiceGateway Initiative,OSGI技术是Java动态化模块化系统的一系列规范),主要功能包括:
a)适配器动态部署:账号适配器可动态部署在适配器容器中。
b)适配器生命周期管理:提供适配器部署、启用、停用、删除等管理。
根据本发明的一示例实施方式,其中应用系统为多个(4A、4B等,可以更多,图2中未示出),相应的对应的适配器也为多个,且多个适配器各自独立运行。
下面结合附图3对通过本发明账号管理系统进行账号管理的实现步骤进行具体说明如下:
步骤1:管理员通过浏览器访问身份管理系统,请求增加、删除、修改某应用系统中的账号数据。但本发明并不限于此,账号管理请求也可以有其他的来源和渠道。
步骤2.1:身份管理系统接管理员提交的账号管理请求,根据请求内容构造账号管理指令,指令数据格式可以是JSON(JavaScript Object Notation,JS对象简谱,一种轻量级的数据交互格式)/XML(eXtensible Markup Language,可扩展标记语言)格式,指令至少包括账号操作类型及账号属性。账号管理指令构造完成后,身份管理系统将其发送到账号管理指令队列。
步骤2.2:账号管理指令队列接收到账号管理指令后,将其缓存,等待适配器/应用获取,账号管理指令队列可使用企业级的消息队列中间件,例如Rabbit MQ、Active MQ等。
步骤3.1:适配器根据指令队列的消息获取协议,例如AMQP(Advanced MessageQueuing Protocol,高级消息队列协议,一个提供统一消息服务的应用层标准高级消息队列协议),从账号管理指令队列中获取账号管理指令。
步骤3.2:适配器对指令数据进行解析,并根据指令内容构造调用目标应用系统账号管理接口所需的数据格式。例如,假如系统提供的是Webservice接口,则需构造SOAP(Simple Object Access Protocol,简单对象访问协议)格式的请求;假如应用系统提供的是REST接口,则需构造JSON(JavaScript Object Notation,JS对象简谱,一种轻量级的数据交互格式)格式的请求。
步骤3.3:适配器将构造后的请求报文发送给应用系统的对应接口。
步骤4:应用系统接收到账号管理请求,完成账号管理的对应操作。
最后结合附图4对本发明的的账号管理系统中的适配器及适配器容器的实现步骤进行具体说明如下:
步骤1:根据应用系统接口及身份管理系统的账号指令数据结构规范开发账号适配器。
步骤2:账号适配器开发完成后可以动态部署到适配器容器中,新适配器的部署不影响原有适配器的运行状态,适配器之间独立运行。适配器容器可采用支持热部署、热插拔的容器技术,例如OSGI、微服务技术(微服务架构是一项在云中部署应用和服务的新技术)。
步骤3:每个适配器可单独进行生命周期管理,如开启、关闭、重新部署等。
步骤4:发生需求变更后,可修改适配器代码并重新进行部署。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的账号管理系统具有以下优点中的一个或多个。
根据本发明的一些示例实施方式,通过建立账号管理指令队列,身份管理系统只负责向消息队列发送账号操作指令,应用从账号管理指令队列中获取指令并执行管理操作,达到身份管理系统与应用双方不相互依赖的目的,提升身份管理系统的稳定性与灵活性。
根据本发明的一些示例实施方式,通过引入账号适配器容器,使各应用的适配程序可动态部署、动态更新、独立运行,增加系统灵活性,降低运维成本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种账号管理系统,其特征在于,包括身份管理系统、账号管理指令队列、适配器容器和至少一个应用系统,其中
身份管理系统至少用于向账号管理指令队列发送账号管理指令;
账号管理指令队列至少用于接收及缓存账号管理指令;以及
适配器容器中部署与至少一个应用系统对应的至少一个适配器,适配器至少用于:从账号管理指令队列中获取账号管理指令,根据账号管理指令的内容调用对应的应用系统中的账号管理接口来执行账号管理操作。
2.根据权利要求1所述的系统,其特征在于,其中应用系统为多个,相应的对应的适配器也为多个,且多个适配器各自独立运行。
3.根据权利要求1所述的系统,其特征在于,其中身份管理系统还用于根据管理员提交的账号管理请求内容构造账号管理指令。
4.根据权利要求1所述的系统,其特征在于,其中账号管理指令包括对账号的操作类型数据和账号属性数据。
5.根据权利要求1所述的系统,其特征在于,其中账号管理指令队列采用企业级消息队列中间件。
6.根据权利要求5所述的系统,其特征在于,其中企业级消息队列中间件为Rabbit MQ或Active MQ。
7.根据权利要求1所述的系统,其特征在于,其中账号管理指令队列还用于:
对账号管理指令进行端到端加密;和/或
对账号管理指令进行路由,以保证只有账号管理指令指定的应用系统才能获取对应的指令。
8.根据权利要求1所述的系统,其特征在于,其中适配器容器为支持热部署的应用容器。
9.根据权利要求8所述的系统,其特征在于,其中支持热部署的应用容器采用OSGI技术。
10.根据权利要求1所述的系统,其特征在于,其中适配器还用于:
对账号管理指令进行解析并进行适配对应的应用系统的数据转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810584136.XA CN108712444A (zh) | 2018-06-08 | 2018-06-08 | 账号管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810584136.XA CN108712444A (zh) | 2018-06-08 | 2018-06-08 | 账号管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108712444A true CN108712444A (zh) | 2018-10-26 |
Family
ID=63872359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810584136.XA Pending CN108712444A (zh) | 2018-06-08 | 2018-06-08 | 账号管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712444A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11240168B2 (en) | 2020-01-06 | 2022-02-01 | International Business Machines Corporation | System and method to exchange identity governance data across multiple identity repositories |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111291A (zh) * | 2010-06-11 | 2011-06-29 | 田文洪 | 满足国际标准(EPCGlobal)的无线射频(RFID)网络管理系统 |
CN102571550A (zh) * | 2010-12-30 | 2012-07-11 | 北京亿阳信通软件研究院有限公司 | 一种通用的信息交互平台和方法 |
CN103023933A (zh) * | 2011-09-22 | 2013-04-03 | 北京尚良楷诚网络技术有限公司 | 一种登录信息集成处理系统及方法 |
US20140244618A1 (en) * | 2013-02-26 | 2014-08-28 | Dropbox, Inc. | Search interface for an online content management system |
CN107392766A (zh) * | 2017-07-25 | 2017-11-24 | 上海壹账通金融科技有限公司 | 业务处理方法、适配器及计算机可读存储介质 |
-
2018
- 2018-06-08 CN CN201810584136.XA patent/CN108712444A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111291A (zh) * | 2010-06-11 | 2011-06-29 | 田文洪 | 满足国际标准(EPCGlobal)的无线射频(RFID)网络管理系统 |
CN102571550A (zh) * | 2010-12-30 | 2012-07-11 | 北京亿阳信通软件研究院有限公司 | 一种通用的信息交互平台和方法 |
CN103023933A (zh) * | 2011-09-22 | 2013-04-03 | 北京尚良楷诚网络技术有限公司 | 一种登录信息集成处理系统及方法 |
US20140244618A1 (en) * | 2013-02-26 | 2014-08-28 | Dropbox, Inc. | Search interface for an online content management system |
CN107392766A (zh) * | 2017-07-25 | 2017-11-24 | 上海壹账通金融科技有限公司 | 业务处理方法、适配器及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11240168B2 (en) | 2020-01-06 | 2022-02-01 | International Business Machines Corporation | System and method to exchange identity governance data across multiple identity repositories |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262560B (zh) | 一种远程服务的调用方法、装置及系统 | |
CN103209223B (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN111290865A (zh) | 一种服务调用方法、装置、电子设备和存储介质 | |
US20110004676A1 (en) | Virtual appliance deploying system | |
US20080282223A1 (en) | Xml push and remote execution of a wireless applications | |
CN105763619B (zh) | 客户端与服务端进行通讯的方法及装置 | |
US20200274897A1 (en) | Method and apparatus for processing data | |
CN107172176B (zh) | 基于配置管理的app网络连接方法、设备及配置服务器 | |
US8230448B2 (en) | Methods, systems and computer program products for web service interaction with a resource management system | |
JP2012146226A (ja) | アプリケーションサーバ管理システム、アプリケーションサーバ管理方法、管理装置、アプリケーションサーバ、および、コンピュータ・プログラム | |
CN111917838B (zh) | 基于微服务的处理方法及装置、存储介质、电子装置 | |
CN101923485A (zh) | Corba系统中的java远程调用方法 | |
CN113556359B (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
CN111770122B (zh) | 服务通信代理scp注册方法、服务调用方法及网络设备 | |
JP2024055885A (ja) | ウェブサービスとインターフェース記述言語(idl)ベースのリモートプロシージャコール(rpc)サービスとの間をインターフェースするための技術及びそれを実施する光通信システム | |
CN109597693A (zh) | 分布式软件系统中grpc通信协议的应用方法 | |
CN112262613B (zh) | 用于在基于服务的电信系统中操作网络网关服务的方法和设备 | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
US11411812B2 (en) | Dynamic service creation for microservice-based integration service | |
CN113821352A (zh) | 一种远程服务的调用方法和装置 | |
CA2604113C (en) | System and method of waste management | |
JP2005196772A (ja) | ネットワーク上でのサービス共有のための装置及び方法 | |
CN108712444A (zh) | 账号管理系统 | |
CN108804910A (zh) | 账号管理系统 | |
CN109005250A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181026 |
|
RJ01 | Rejection of invention patent application after publication |