DB3502∕T 056.4—2020 政务信息共享协同平台 第4部分:二次开发(厦门市).pdf
《DB3502∕T 056.4—2020 政务信息共享协同平台 第4部分:二次开发(厦门市).pdf》由会员分享,可在线阅读,更多相关《DB3502∕T 056.4—2020 政务信息共享协同平台 第4部分:二次开发(厦门市).pdf(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 ICS 35.240 CCS L77 3502/T 福建省厦门市地方标准 DB3502/T 056.42020 政务信息共享协同平台 第 4 部分:二次开发 The sharing and collaborative platform of government information Part 4:Secondary development 2020-12-31 发布 2021-01-01 实施 厦门市市场监督管理局 发 布 DB3502/T 056.42020 I 目次 前言.II 引言.III 1 范围.1 2 规范性引用文件.1 3 术语和定义.1 4 缩略语.2 5 业务流程开发.
2、2 流程脚本.2 数据空间.11 6 功能插件开发.13 支持语言.13 Java 插件开发.13 Python 插件开发.14 附录 A(资料性)业务流程脚本与数据空间示例.15 A.1 流程脚本代码示例.15 A.2 数据空间代码示例.28 附录 B(资料性)Java 插件代码示例.40 B.1 说明.40 B.2 Java 插件源代码.40 B.3 平台流程调用.40 附录 C(资料性)Python 插件代码示例.41 C.1 说明.41 C.2 Python 插件源代码.41 C.3 平台流程调用.42 参考文献.43 DB3502/T 056.42020 II 前言 本文件按照GB/
3、T 1.12020标准化工作导则 第1部分:标准化文件的结构和起草规则的规定起草。本文件为DB3502/T 056政务信息共享协同平台的第4部分。DB3502/T 056已发布了以下部分:第 1 部分:总体设计;第 2 部分:资源管理;第 3 部分:接入要求;第 4 部分:二次开发。本文件是在DB3502/Z 033.42016政务信息共享协同平台技术规范 第4部分:平台二次开发的基础上,根据技术和需求变化,重新立项并制定的。与DB3502/Z 033.42016相比,除结构性调整和编辑性改动外,主要技术变化如下:a)更新所支持开发语言版本(见 6.2.1.3、6.3.1.3,DB3502/Z
4、 033.42016 的 6.1.1.3、6.2.1.3);b)更新二次开发示例代码(见附录 B、附录 C,DB3502/Z 033.42016 附录 A、附录 B、附录 C)。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由厦门市工业和信息化局提出。本文件由厦门市工业和信息化局归口。本文件起草单位:厦门市信息中心、厦门畅享信息技术有限公司、厦门市标准化研究院。本文件主要起草人:吕志仁、赖炜炜、巫晓强、杨远军、朱永上、彭明剑、郭劲军、郭望、傅楚隆、揭英杰、吴宸勖、陈尚峰、卢淼先、闫焕友、张金梅、刘姗姗、李童、蔡跃华。DB3502/T 056.42020 III
5、 引言 DB3502/T 056政务信息共享协同平台旨在确立政务信息共享协同平台总体设计、资源管理、接入要求、二次开发的技术标准,拟由四个部分构成。第 1 部分:总体设计。目的在于确立平台关键技术路线和软件系统的组织形式,确保平台总体架构满足国家对政务信息交换与共享的要求,明确平台内主要功能模块和模块间的逻辑关系,避免“过度建设”并确保“必要建设”。第 2 部分:资源管理。目的在于规范平台所支持的多种资源类型、协议标准、提供方式,为平台对外服务的兼容性提供保障;明确平台不同类型资源的属性,统一属性分类,为平台对外服务的通用性提供保障;针对资源生产、资源注册、资源测试、资源申请、资源调用、资源目
6、录、资源检索、资源版本、资源安全等操作提出全生命周期管理要求,为平台对外服务的可用性提供保障。第 3 部分:接入要求。目的在于将平台对外接口标准化,明确接口在安全性、完备性、一致性、易用性、稳定性方面要求,进一步提升平台对外提供服务的能力和质量,并从网络接入、平台资源生产方、平台资源消费方、区级平台接入等方面,明确接入的实现方式,为保障平台建设质量及拓展平台应用范围提供技术支撑。第 4 部分:二次开发。目的在于规范平台提供二次开发的工作方式、对扩展模块管理方式,为后续平台业务流程及插件的完善提供统一标准,既避免了平台直接耦合上层各类业务,又允许不同部门结合特定业务需要,在授权范围内扩展平台功能
7、。DB3502/T 056.42020 1 政务信息共享协同平台 第 4 部分:二次开发 1 范围 本文件规定了政务信息共享协同平台的业务流程开发和功能插件开发。本文件适用于政务信息共享协同平台功能扩展,软件开发人员基于本平台进行新功能的扩展开发时参照使用。2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。DB3502/T 056.12020 政务信息共享协同平台 第1部分:总体设计 DB3502/T 056.22020 政务信息共享协同平台
8、 第2部分:资源管理 DB3502/T 056.32020 政务信息共享协同平台 第3部分:接入要求 3 术语和定义 DB3502/T 056.12020、DB3502/T 056.22020、DB3502/T 056.32020界定的以及下列术语和定义适用于本文件。变量 variable 由一个标识符、一组数据属性、一个或多个地址和各数据值(地址与数据值间的联系可变)组成,通过声明或隐式声明建立的四元组。注:在某些编程语言中,地址可变,因而所结合的数据值可变,在其他编程语言中,地址固定不变,但所结合的数据值在执行期间可以改变。来源:GB/T 5271.152008,定义15.03.03 局部
9、 local 修饰或说明某一语言构造:所具有的作用域仅在对其声明的声明区域内。来源:GB/T 5271.152008,定义15.02.11 全局 global 修饰或说明某一语言构造:处于所在程序中所有模块的作用域内。来源:GB/T 5271.152008,定义15.02.12 数组 array DB3502/T 056.42020 2 一种作为某一数组型的一个数据实例,其中各元素或适当的元素组都可以随机而独立的加以引用的聚合。来源:GB/T 5271.152008,定义15.03.08 数据结构 data structure 数据单元间的物理联系或逻辑联系和数据本身。来源:GB/T 5271
10、.152008,定义15.03.01 同步 synchronous 用来修饰两个或两个以上的过程,他们取决于特定事件(如公用定时信号)的发生。来源:GB/T 5271.12000,定义01.01.28 异步 asynchronous 用来修饰两个或两个以上的过程,他们不取决于特定事件(如公用定时信号)的发生。来源:GB/T 5271.12000,定义01.01.29 并发 concurrency 并发是指两个或多个线程(程序)在同一时间间隔内发生。并发性是指在一段时间内宏观上有多个程序在同时运行。4 缩略语 下列缩略语适用于本文件。BPEL:业务流程执行语言(Business Process
11、Execution Language)ID:唯一编码(Identity Document)WSDL:Web服务器描述语言(Web Service Description Language)XML:扩展性标识语言(eXtensible Markup Language)XSD:文档结构描述(XML Schema Definition)5 业务流程开发 流程脚本 5.1.1 总则 5.1.1.1 流程结构 流程应支持以下流程结构:空语句、条件分支流程、循环流程、并发流程、流程中断。5.1.1.2 应用调用方式 流程应支持以下应用调用方式:同步调用应用、异步调用应用。5.1.1.3 流程脚本示例代码
12、流程脚本示例代码见附录A。DB3502/T 056.42020 3 5.1.1.4 流程脚本 XSD 描述 流程脚本的XSD描述见图1。图1 流程总结构 5.1.1.5 流程固有属性 流程固有属性应包含“INFORMATION”、“GLOBAL_DATA”和“REQUESTER”:a)INFORMATION 节点:描述流程名称、流程备注、流程版本、流程作者等信息;DB3502/T 056.42020 4 b)GLOBAL_DATA 节点:定义流程的入参和返回结果,同时包含帐户设计器自动列出的本流程使用的全局变量;c)REQUESTER 节点:用于在流程每次运行时,自动采集本次请求方的信息。5.
13、1.2 流程信息/INFORMATION 节点 流程信息/INFORMATION节点结构见图2,包括:a)flow_id:流程在管理平台上注册所获得的全局唯一 ID;b)flow_name:流程可读名称;c)version:流程当前版本号,通常为一数值;d)author:流程作者,可选;e)DESCRIPTION:流程说明,可选;f)FLOWTIME:流程超时。流程将在运行时长超出该数值后,自动退出。格式为一整数,单位为秒;或者使用 d 表示天数、h 表示小时数,m 表示分钟数,如:2d3h,表示超时时长为两天又三小时。图2 流程信息/INFOMATION 节点结构 5.1.3 流程全局数据/
14、GLOBALDATA 节点 流程全局数据/GLOBAL_DATA节点结构见图3,包含流程入参列表、出参列表、和全局变量列表:a)流程入参列表应包含 0 到多个入参,值均为字符串,对应数据空间中的具体变量名;b)流程出参列表应包含 0 到多个出参,值均为字符串,对应数据空间中具体的变量名;c)全局变量列表由设计器自动生成,开发人员通常无须关注。图3 流程全局数据/GLOBAL_DATA 节点结构 DB3502/T 056.42020 5 5.1.4 流程请求方/REQUESTER 节点 流程请求方/REQUESTER节点结构见图4。流程在运行期自动采集到的请求方信息,包括“requester_i
15、d/请求方ID”和“requester_name/请求方名称”。前者用以在识别同时一刻发起请求的不同请求方。图4 流程请求方/REQUESTER 节点结构 5.1.5 活动节点/ACTIVITY 节点 活动节点/ACTIVITY节点结构见图5。ACTIVITY是流程的语句,每一个ACTIVITY节点代表发起一次对功能活动的调用。可调用的功能活动包括外部平台服务资源、流程引擎自带的内核函数、或插件服务,统称为“活动”。ACTIVITY内部包含三个子语句:a)INIT:语句集,代表在调用当前活动之前执行的语句;b)INVOKE:含 PARAMETER 和 RESULT 两个子语句:1)PARAME
16、TER 为本次活动所需入参,包括直接入参和表达式入参,其中,直接入参指特定变量,表达式指需进行计算后以求出入参值,比如 1+2;2)RESULT 为本次活动出参;c)FINI:语句集,代表在调用当前活动之后执行的语句。图5 活动/ACTIVITY 节点结构 DB3502/T 056.42020 6 5.1.6 异步活动/ASYNACTIVITY 节点 异步活动/ASYNACTIVITY节点结构见图6。该结构与ACTIVITY相同,但在调用上为异步调用,即无需等待活动返回结果,流程应继续向前执行,直到流程后续通过BRANCHEWAIT节点主动等待之前发起的异步操作结果。图6 异步活动/ASYNA
17、CTIVITY 节点结构 图7 ASYNACTIVITY 属性中的 asyn_seed 等信息 DB3502/T 056.42020 7 流程可在等待之前多次发起异步操作,为方便在等待时识别具体哪一次的异步调用,应在调用ASYNACTIVITY之前,通过ASYNSEED语句获得全局唯一的“异步种”数据,填写在ASYNACTIVITY节点的attributes(属性)中,见图7。其中:a)asyn_seed_id 为异步种子数据,每一个 ASYNACTIVITY 语句都拥有不同的该值;b)asyn_invoke_id 为系统自动产生的异步调用种子数据,即使同一异步调用语句,多次调用也会产生不同的
18、该值。5.1.7 异步活动种子/ASNSEED 节点 异步活动种子/ASYNSEED节点结构见图8。该节点用于产生异步调用所需的异步种,包括获得“asyn_seed_id/异步种ID”及本次异步的超时、后台检查时间时隔等配置。图8 异步活动种子/ASYNSEED 节点结构 5.1.8 并发等待/BRANCHWAIT 节点 并发等待/BRANCHWAIT节点结构见图9。BRANCHWAIT语句既用于等待并发,也用于等多个(次)异步执行的结果。应在属性中填写所需要等待的异步种。图9 并发等待/BRANCHWAIT 节点结构 BRANCHWAIT包含三个子语句,三者均为语句集:DB3502/T 05
19、6.42020 8 a)CONVERGE:在有新的异步或并行运行结果到来时,触发调用,以执行其内部语句,通常流程在此实现多次异步运行结果或多个并发分支的数据合并。系统应保障每一时刻,仅会有一次并发或异步运行流程进入该合并节点;b)INTERRUP:由后台线程周期性执行;c)TIMEOUE:在指定异步种所对应的并发或异步操作超时后触发。5.1.9 并发/CONCURRENCE 节点 并发/CONCURRENCE节点结构见图10。CONCURRENCE应满足以下条件:a)包含零或多个分支子语句 BRANCH,和一个 BRANCHWAIT 语句,后者用以等待前面所有分支持的运行结束;b)包含 INI
20、T 和 FINI 语句,分别在所有并发开始之前,和 BRANCHWAIT 结束之后执行。图10 并发/CONCURRENCE 节点结构 5.1.10 结束并发等待/ENDWAIT 节点 结束并发等待/ENDWAIT节点结构见图11。该节点用于在BRANCHWAIT中,中途放弃等待,直接运行BRANCHWAIT之后的语句。图11 结束并发等待/ENDWAIT 节点结构 5.1.11 条件分支/IF 节点 DB3502/T 056.42020 9 条件分支/IF节点结构见图12。IF节点包含一个CONDITION节点和一个ELSE节点,以及其它语句子集。CONDITION本身也是语句子集,并带有“
21、conclusion”属性。CONDITIONS内部语句执行过程用以确定该属性的值为TRUE或FALSE。如果为TRUE,则运行其后除ELSE之后的所有子语句,否则直接运行ELSE语句。图12 条件分支/IF 节点结构 5.1.12 条件未命中/ELSE 节点 条件未命中/ELSE节点结构见图13。该节点不作为流程的一级节点出现,仅作为IF语句的子节点,在IF语句中条件为假时执行其内部的子语句。图13。图13 条件未命中/ELSE 节点结构 5.1.13 空语句/PASS 节点 空语句,仅作为占位符,不执行任何操作,见图14。图14 空语句/PASS 节点结构 DB3502/T 056.420
22、20 10 5.1.14 多分支/SWITCH 节点 多分支/SWITCH节点结构见图15。SWITCH语句提供多分支支持。每个分支为一个CASE语句。CASE语句应符合5.2.15的要求。如果没有任何CASE语句中的条件成立,则执行DEFAULT语句。图15 多分支/SWITCH 节点结构 5.1.15 多分支入口/CASE 节点 多分支入口/CASE节点结构见图16。CASE语句不是流程的一级语句,只准许出现在SWITCH语句中,提供case_index属性,用于决定SWITCH语句判断各CASE语句的次序。判断CASE语句的条件为其内的CONDITIONS语句。CONDITIONS语句的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB3502T 056.42020 政务信息共享协同平台 第4部分:二次开发厦门市 DB3502 056.4 2020 政务信息 共享 协同 平台 部分 二次开发 厦门市
链接地址:https://www.taowenge.com/p-68508456.html
限制150内