软件系统实施技术规范

更新时间:2024-01-15 03:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件系统实施技术规范

一、 实施技术规范的目的与适用范围

通过实施应用软件技术规范使各类新建和已建的应用软件能够有效地实现资源共享和数据交换,为应用软件可持续、可扩展的开发建设奠定基础,为今后的应用整合做好准备。

本规范适用范围:2012年后新建的应用软件必须实现本规范定义的技术要求,2011年底以前建成的应用软件在今后的升级改造中要实现本规范定义的技术要求,目前在建的软件系统要有条件的实现本规范定义的技术要求。

二、 实施技术规范的目标

本规范实施之后开发的应用软件必须能够实现本方案定义的系统接口、编制本方案规定的数据规范和应用本方案提出的组织结构管理要求。

通过实现统一的接口技术规范,使所有应用软件可以实施统一的管理,使应用软件之间可以进行数据交互;

通过使用特定的XML格式设计的数据规范,使应用软件能够开放数据资源,做到数据内容、服务方式和实现技术的无关性,增强了应用软件开发和组合的灵活性;

通过应用统一的组织结构管理要求执行身份验证和角色分配操作,降低了应用软件建设的复杂性,简化了用户身份的管理工作。

通过实现数据流转功能实现不同应用软件之间的数据共享,实现办事信息通知的发送。

三、 接口技术规范

所有应用软件在底层都可以细分为对数据的增加、删除、修改和查询四项操作,为此对应用软件制定了统一的接口技术规范,明确了写入、读取和查询三项操作。

1. 接口的功能说明

通过调用写入操作让应用软件执行元数据的增加、删除和修改操作。元数据是指应用软件中的最基本数据,如果一个数据被拆开后在整个应用软件中不再具备其他意义,那么这个数据就叫做元数据。元数据以外的其他数据是不会调用写入操作的。

通过调用读取操作获取应用软件中的具体数据。读取操作可以获取元数据或具有固定数据标识和类型的单项数据。

通过调用查询操作检索应用软件中的相关数据。查询操作可以包含大量的查询条件,应

1

用软件将系统中符合条件的数据检索出来后返回给调用方。

2. 接口的参数和返回值说明

写入操作主要参数有:用户标识、应用标识、数据标识、数据类型、符合数据规范格式的XML数据。参数含义如下:

用户标识用UserID表示,使用应用软件接口时首先提供身份验证信息,通过认证后将获取用户标识,在以后的访问中使用UserID表示访问接口的用户身份,结束接口使用必须执行用户标识注销操作。用户标识获取和注销操作参见第五节“身份认证和管理规范”。

应用标识用TaskGuid表示,随着系统整合的实施今后一个应用软件可以包含多项专业应用,通过TaskGuid参数值可以让接口在被调用时能够区分出不同的应用。TaskGuid采用标准的GUID格式,TaskGuid的值由系统建设主管单位统一定义,在数据规范文档中描述,一项应用只能定义一个应用标识。

数据标识用DataGuid表示。每个唯一的数据必须具备一个唯一的标识,使用该标识区分不同的数据。由于数据的增加、删除和修改操作都是以DataGuid作为关键字的,不同的系统都要按照GUID标准统一生成DataGuid,以保证数据在不同的系统和平台中不被其他数据覆盖。

数据类型用DataType表示。每一项数据规范都要定义一个唯一的数据类型,应用软件是按照DataType对应的数据规范解析写入的数据,不同应用的数据类型可以重复。

符合数据规范格式的XML数据用XmlData表示。表示写入的具体数据,如果与数据类型对应的数据标识的元数据不存在,就执行数据增加操作;如果与数据类型对应的数据标识的元数据已存在,就执行数据更新操作;如果XmlData是空值或是没有子节点的XML数据,就将数据标识对应的元数据删除;

写入操作的返回结果表示数据在软件中的写入情况。返回0表示数据写入操作成功,返回-1表示数据格式不符合要求,返回-2表示写入数据的逻辑不对,表示返回-3表示没有数据写入权限,返回其它值可以查询“数据写入操作错误信息”来获取具体含义,查询时使用读取操作,其中TaskGuid参数为应用标识,DataGuid参数固定为\,DataType参数为“ErrorList\。返回数据格式统一为:

DataType=\

2

??

错误代码要求大于100或小于负100,正负100之间的错误码作为保留值不能使用。 读取操作主要参数有:用户标识、应用标识、数据标识和数据类型。参数含义如下: 用户标识用UserID表示,具体含义与写入操作参数相同。 应用标识用TaskGuid表示,具体含义与写入操作参数相同。

数据标识用DataGuid表示,每个唯一的数据必须具备一个唯一的标识,使用该标识区分不同的数据。读取操作中数据标识表示需要读取的唯一数据。

数据类型用DataType表示。每一项数据规范都要定义一个唯一的数据类型,应用软件是按照DataType对应的数据规范生成读取的数据,不同应用的数据类型可以重复。

读取操作的返回结果是符合数据规范格式的XML数据。如果对应的数据不存在也必须返回符合数据规范格式并包含所有节点的空数据。返回空值表示无对应数据的读取权限或者是应用软件不支持该类型的数据。

查询操作主要参数有:用户标识、应用标识、符合数据规范格式的XML查询命令。参数含义如下:

用户标识用UserID表示,具体含义与写入操作参数相同。 应用标识用TaskGuid表示,具体含义与写入操作参数相同。

符合数据规范格式的XML查询命令用XmlTransform表示。在查询操作中包含需要查询的条件。

查询操作的返回结果是符合查询条件的具体数据。大批量数据的返回要实现数据分页的查询操作。即使查询结果没有符合条件的数据也必须返回符合格式的数据,返回空值表示无对应数据的查询权限或者是应用软件不支持对应的查询操作。

3. 接口的实现方式

考虑到不同层面的对接要求系统接口的实现定义了网页、Web服务和Socket三种方式,应用软件至少需要实现其中一种接口方式,具体实现哪几种接口方式,将由建设单位明确。

? 网页方式。该方式是专供JaveScript调用的一种方式,使用浏览器的XMLHttpRequest对象向对应的网页发出请求或发送数据可以调用应用软件的写入、读取和查询操作。

写入操作使用 “POST”方式将符合数据规范格式的XML字符串发送到提供写入操作的

3

网页上。用户标识、应用标识、数据标识、数据类型等参数通过在网页后面跟上字符串:?UserID=?&TaskGuid=?&DataGuid=?&DataType=?的方式传递,返回值为数值型的字符串。

读取操作使用“GET”方法调用提供读取操作的网页。用户标识、应用标识、数据标识和数据类型,等参数通过在网页后面跟上字符串:? UserID=?&TaskGuid=?&DataGuid=?&DataType=?的方式传递,返回值为符合数据规范格式的XML字符串。

查询操作使用“POST”方式将符合数据规范格式的XML查询命令发送到提供查询操作的网页上。用户标识、应用标识等参数通过在网页后面跟上字符串:?UserID=?&TaskGuid=?的方式传递,返回值为符合数据规范格式的查询结果字符串。

提供写入、读取和查询操作的网页可以通过一个网页文件来完成对应的功能。 ? Web服务方式。该方式是提供给函数方式调用的一种接口,凡是能够支持Web服务调用的软件都可以使用这种接口调用应用软件的写入、读取和查询操作。Web服务必须遵循附件一的WSDL定义,实现下面三个函数:

? 写入操作调用Web服务的SetData函数,参数按照函数的方式传递,返回值为数值型。函数原型如下:

SetData ( UserID As string , TaskGuid As string , DataGuid As string , DataType As string , XmlData As string ) As int

? 读取操作调用Web服务的GetData函数,参数按照函数的方式传递,返回值为符合数据规范格式的XML字符串。函数原型如下:

GetData ( UserID As string , TaskGuid As string , DataGuid As string , DataType As string ) As string

? 查询操作调用Web服务的TransformData函数,参数按照函数的方式传递,返回值为符合数据规范格式的查询结果字符串。函数原型如下:

TransformData ( UserID As string , TaskGuid As string , XmlTransform As string ) As string

? Socket方式。该方式是采用通讯端口方式进行操作的接口。通过向通讯端口发送指定格式的数据实现对应用软件的写入、读取和查询操作。

? 写入操作发送如下格式的数据到通讯端口:

用户标识 应用标识

4

数据标识 数据类型

……//符合数据规范格式的XML数据

返回值是数值型的字符串。

? 读取操作发送如下格式的数据到通讯端口:

用户标识 应用标识 数据标识 数据类型

返回值是符合数据规范格式的字符串。 ? 查询操作发送如下格式的数据到通讯端口:

用户标识 应用标识

……//符合数据规范格式的XML查询命令

返回值是符合数据规范格式的查询结果字符串。

4. 批量数据处理

由于系统接口采用XML作为传输数据的格式,在实际应用中发现传输数据的时间要比处理数据的时间大很多,在大数据交互应用中如果每个写入、读取和查询操作只写入或反馈一个数据将会大大影响系统效率,为此定义了批量数据处理方式来满足大数据量应用的要求。

批量数据以Documents作为根节点,内含一组符合数据规范的Document子节点。数据格式如下:

??

??

写入操作中使用批量数据表示对数据中的每个Document都执行一次独立的写入操作,写入每个Document时使用其包含的应用标识、数据标识和数据类型代替TaskGuid、DataGuid

5

和DataType参数,批量写入操作中提供的这三个参数忽略。

读取和查询操作中使用批量数据可以根据实际逻辑定义批量数据反馈格式。

四、 数据格式规范

要想让同一种数据在不同的软件接口中使用,必须让数据遵循共同的描述方式,为了让数据通俗易懂便于计算机处理和人理解特采用XML格式作为所有数据的标准格式,按照特定的XML格式定义的数据描述称做数据规范。采用数据规范后应用软件的功能实现就具备一定的灵活性

数据规范在应用软件接口中涉及写入和读取操作中的“XML数据”,查询操作中的“XML查询命令”和“XML查询结果”。大型应用软件的数据规范聘请专业单位进行独立设计,小型应用软件的数据规范由软件开发单位负责设计。

1. 数据规范的基本结构

基本的数据规范必须符合下面的基本格式:

属性=\内容\

<属性节点 Type=\类型\其他属性=\内容\属性值 ……

根节点命名为Document表示这是一个按本文数据规范定义的数据。

应用标识表示数据规范与哪一个应用有关。在某项应用的数据规范设计中必须首先明确应用标识采用的值。例如:\就表示是组织结构管理功能的数据。一个应用软件可以包含多个应用,不同应用具备独立的应用标识,可以独立开发。

数据标识表示数据的唯一值,对于元数据应用软件就是依靠该值执行增加、删除和修改操作。在数据规范设计中该值不要明确具体的内容,在实际数据生成时必需按照GUID的标准生成具体值,这样可以保证不同的系统生成的数据不会重复。

数据类型表示数据对应哪一个类型,一个应用可以包含多个数据类型,相同类型的数据必须遵守相同的格式。调用系统接口的软件和系统接口实现的软件都依靠数据类型来确定数据的分析和生成方法。

文档根节点还可以叠加与整个文档有关的其他属性,具体可以根据不同的设计方案扩展。

属性节点表示数据属性,一个数据有多少个属性就列多少个属性节点。属性节点名称可

6

以重复,名称相同的属性值可以存在次序关系,不同属性名称的节点不存在先后次序关系。

类型表示属性节点的具体类型。类型及其表示方式将在第2节中详细介绍。 属性值表示属性节点的具体内容。

属性节点还可以叠加与属性相关的其他内容,具体可以根据不同的设计方案扩展。

2. 数据类型描述

? 标准数据类型及其格式。标准数据类型共定义八种,主要有:LOGICAL、LONG、DOUBLE、CURRENCY、DATE、BINARY、TEXT、GUID。它们的含义、取值范围、格式和默认值如下:

LOGICAL

LONG DOUBLE CURRENCY DATE BINARY TEXT GUID

逻辑型,值为:true或false,不能为空且必须为小写,默认值false。 整数型,数据位数在设计时不限长度,不能为空,默认值0。 小数型,数据位数和小数位数在设计时不限长度,不能为空,默认值0.0。

货币型,仅含两位小数的数据,不能为空,默认值0.00。 日期型,格式为“YYYY-MM-DD HH:MM:SS”,默认值为空。 二进制型,二进制数据的BASE64编码,默认值为空。 文本型,长度不限,默认值为空。

数据标识型,格式“7adab85a-e2cd-4a17-a23b-4044b0d72560”小写格式,每一位必须是’0-9’,’a-f’十六个字符之一,按照标准GUID算法生成的内容。

? 扩展数据类型及其格式。扩展数据类型在本文中先定义四种,今后将根据情况进行补充,主要有:文件数据、附件数据、枚举数据和组织结构数据。

? 文件数据。文件数据以二进制的方式读入内存后转换成BASE64的字符串写入文档中。文件数据包含文件名,扩展名,MIME信息等属性。数据格式例子:

<属性节点 FileName=\文件名\扩展名\数据格式描述\二进制的BASE64编码

? 附件数据。用于描述一组文件数据,由于涉及多个文件数据,附件数据由两级节点组成。数据格式例子:

<属性节点 Type=\

制的BASE64编码

制的BASE64编码

……

? 枚举数据。用于描述一组字符串,实际数据只能是这组字符串数据中的一个。数据格式例子:

<属性节点Type=\枚举名称\枚举值一|枚举值二|枚举值三|……]

7

? 组织单元数据。用于描述单个组织单元信息。组织单元数据包括:标识、名称、类型、所属单位标识等信息。数据格式例子:

其中类型定义了Company(单位)、Branch(部门)、Member(人员)、Group(群组)、Application(应用软件)等五种。

? 组织单元列表数据。用于描述一组组织单元信息。数据格式例子:

3. 常用数据规范设计原则

在这里列举了一些常用数据规范的设计方式,一般情况下需要遵循这些方式设计数据规范。

? 元数据的规范设计。元数据是指信息系统中的最基本数据,如果一个数据被拆开后在整个信息系统中不再具备其他意义,那么这个数据就叫做元数据。在系统完成功能设计后就可以初步分析出系统建设需要的各类元数据,系统开发和系统试运行过程中元数据可能会存在一些变化,系统投入正式运行前元数据基本可以固定下来。

元数据以Document为根节点的,元数据包含的子节点就是具体的数据属性,如果属性过多(20个以上)并且可以进一步分类那么可以多设计一层子节点,但是一般不要超过三层节点。

下面是组织结构管理模块中的人员数据定义:

应用标识统一为:\,人员标识由生成人员数

8

据的模块按标准GUID算法生成,数据类型为:Member,数据属性中的Guid和DataGuid取同一个值,适度的属性冗余可以用来验证数据完整性。其他数据属性是描述人员信息需要提供的附加内容。

从这个例子可以看出,任何一个属性独立出来后在组织结构管理功能中都不在具备其它意义,因此人员数据可以认为是元数据。

元数据中的属性可以引用其它元数据,但是不能包含其它元数据,如果包含其它元数据那么它本身就不是元数据。

元数据可以包含状态属性,状态属性在设计文档中可以定义多种状态,但是在元数据的实例中状态属性只有一个值。

元数据中相同名称的属性如果存在多个那么对应的属性值是有先后次序的,不同名称的属性是不存在先后次序的,下面两个数据规范可以认为是同一个规范。

规范一

规范二

9

元数据的实例可以包含元数据定义的节点以外的其他数据节点,只要数据规范定义的节点数据都存在依旧可以认为是一个符合元数据规范的实例数据。

元数据主要用于写入和读取操作,执行写入操作时应用标识、数据标识和数据类型在参数和数据中要同时出现并且值要相同,应用软件负责符合性检查,如果值不相同应用软件可以不执行写入操作。读取操作时返回的元数据包含应用标识、数据标识和数据类型与读取参数要相同。数据标识和类型相同的元数据表示同一个元数据,写入操作执行时老的数据会被覆盖。

? 数据集合的规范设计

数据集合是一组数据的集合,其中的数据可以是元数据也可以是中间数据。集合数据以Document为根节点,根节点中增加集合中数据的数量属性,DataGuid属性根据需要可以定义具体值,也可以空缺。集合中的数据一般以Data做为子节点,子节点中包含数据所属类型的描述,数据的属性和属性值在Data下面进一步定义数据节点和节点值,属性不多的情况下也可以使用Data节点的属性和属性值来定义。特殊情况下可以用集合中数据的节点名称做为子节点名称,但不要使用Document做为子节点的名称。集合中包含的数据是按次序出现的,在实际应用中可以根据需要认为是有序的还是无序的。

数据集合举例一。网站回音壁问题列表:

<Type Type=\问题类型</Type> </p><p> <DestDepart Type=\处理问题的部门</DestDepart> <QuestionDate Type=\提问日期</QuestionDate> <View Type=\允许查看问题</View> <ReadCount Type=\阅读次数</ReadCount> </Data> …… </Document> </p><p>数据集合举例二。网站回音壁数据统计: </p><p> <Document TaskGuid=\应用标识\数据</p><p>量\</p><p> <Data Type=\大于五天\</p><p> <DestDepart>部门</DestDepart> <Count>数量</Count> </Data> </p><p> <Data Type=\小于等于五天\</p><p>10 </p><p> </p><p></p><p> <DestDepart>部门</DestDepart> <Count>数量</Count> </Data> </p><p> <Data Type=\其他问题\</p><p> <DestDepart>部门</DestDepart> <Count>数量</Count> </Data> </Document> </p><p>数据集合举例三。用属性代表集合中数据的属性值: </p><p> <Document TaskGuid=\应用标识\数据量\ <Data Type=\数据标识\数据值\创建日期\ …… </Document> </p><p>数据集合举例四。利用组织单元数据描述单位里的部门情况,返回的是组织单元列表数据: </p><p><Document TaskGuid=\DataGuid=\单位标识\</p><p>DataType=\ <ListOUDataInfo> </p><p> <OUDataInfo GUID=\部门标识\部门名称\单位标识\ …… </p><p> </ListOUDataInfo> </Document> </p><p>集合数据主要用于读取操作,根据数据平台的接口规范定义集合数据主要在GetData和TransformData函数的返回值中出现,也可以成为元数据中的组成部分。 </p><p>? 单项数据查询的规范设计 </p><p>数据查询是应用系统中的一项重要功能,单项数据查询是指查询结果反馈的数据量不大的查询操作。 </p><p>元数据可以使用DataGuid和DataType调用GetData函数查询,返回值是与元数据规范格式相同的数据。 </p><p>通过元数据加工形成的单项数据也可以通过GetData函数调用,单项数据的规范设计可以遵循元数据的规范设计,可以制定专用的DataGuid和DataType代表这些单项查询数据。 </p><p>? 统计查询的命令和结果的规范设计 </p><p>统计查询是一项常见应用,用于汇总数据情况。统计查询分命令和结果两项规范设计。下面列举智能公交的统计查询命令和反馈结果: </p><p>统计查询命令 </p><p> <Document TaskGuid=\应用标识\</p><p>11 </p><p> </p><p> <StartDay Type=\起始时间</StartDay> <EndDay Type=\终止时间</EndDay> </Document> </p><p>统计查询结果 </p><p> <Document TaskGuid=\应用标识\</p><p>统计结果生成时间\</p><p> <StartDay Type=\起始时间</StartDay> <EndDay Type=\终止时间</EndDay> <EvenInfoCount>有效订单数量</EvenInfoCount> <Data> </p><p> <Count>数量</Count> <UserCode>用户名</UserCode> </Data> </Document> </p><p>从示例中可以看出命令主要提供统计范围和条件,反馈结果主要提供统计结果,建议在反馈结果中包含统计的范围、条件以及统计结果的生成时间,这样只要单独保留统计结果就可以知道这一结果是针对怎样的范围和条件在哪个时间里统计出来的。 </p><p>? 大数据量查询命令和查询结果的规范设计(页数和返回值) </p><p>检索具体数据时涉及大数据量查询操作,它会反馈大量查询结果,通常需要进行分页设置。大数据量查询命令需要包含分页参数和排序条件,查询结果内部也要包含分页结果、排序结果和查询时间。大数据量查询命令和查询结果的示例: </p><p>数据检索命令 </p><p> <Document TaskGuid=\应用标识\ <TemplateGuid Type=\模板标识</TemplateGuid> </p><p> <Keyword Type=\检索信息的关键字(可以为空)</Keyword> <EventType Type=\受理类型</EventType> </p><p> <Status Type=\办件状态[待发|待收|已查阅|处理中|无法处理|拒绝|已处理|办</p><p>结]</Status> </p><p> <Source Type=\问题来源</Source> </p><p> <Department Type=\处办单位</Department> <FlowCode Type=\工单号</FlowCode> <login_name Type=\录入人</login_name> <PhoneCode Type=\电话号码</PhoneCode> </p><p> <QuestionBeginTime Type=\起始时间</QuestionBeginTime> <QuestionEndTime Type=\终止时间</QuestionEndTime> <SortMethod Type=\排序属性[QuestionTime]</SortMethod> <OrderMethod Type=\排序方式[asc|desc]</OrderMethod> <PageSize Type=\每页记录数</PageSize> <CurrentPage Type=\检索的页号</CurrentPage> </p><p>12 </p><p> </p><p> </Document> </p><p>数据检索结果 </p><p> <Document TaskGuid=\应用标识\每页记录数\</p><p>CurrentPage=\检索的页号\数据量\查询结果生成时间\</p><p> <SortMethod Type=\排序属性[QuestionTime]</SortMethod> <OrderMethod Type=\排序方式[asc|desc]</OrderMethod> <Data Type=\</p><p> <Guid Type=\办件标识</Guid> <FlowCode Type=\工单号</FlowCode> <Title Type=\标题

...... ……

从例子中可以看到查询命令中的PageSize和CurrentPage是分页参数,SortMethod和OrderMethod是排序参数。返回结果中的属性PageSize、CurrentPage和Total是分页结果,QueryTime是查询时间,SortMethod和OrderMethod是排序结果,

大数据量查询要求做到能够查询应用软件中存储的所有数据。

数据查询中可能存在互相矛盾的查询条件或可选的查询条件,在数据规范的设计和描述中要标注清楚,避免产生一些无效查询。

4. 数据规范文档编写格式

在软件项目的功能设计技术上要求编写应用软件的数据规范文档,根据以往项目经验数据规范文档需要包含下面五个章节:

? 系统拓扑结构和功能描述

本章用于描述应用软件的系统布局、网络结构、功能清单和角色定义。角色定义中需要包括角色说明,人员组成和可以使用的功能。

? 基本数据类型和格式的定义

基本数据类型是指在数据规范中各个节点属性使用的数据类型和遵循的数据格式,本章必须遵循“第四节第二点 数据类型描述”中定义的标准数据类型及其格式和扩展数据类型及其格式,如果有其他扩展的数据类型和格式可以在这里扩展,在本章末尾需要定义数据规范统一遵循的应用标识的具体值。

? 元数据规范清单。

13

本章用于描述所有元数据的相关信息,每个元数据都要包含下面八项内容: 数据名称,定义元数据的文字名称、数据含义和数据类型代码; 数据定义,数据包含的内容清单; 数据格式,描述元数据遵循的XML格式;

数据描述,描述数据包含的内容的具体含义,包括:节点名称、类型(文本型的含长度)和含义;

数据完整性说明,描述元数据和其他元数据之间的关系,包括:引用关系、符合性关系、校验型关系等;数据删除会带来哪些影响。

流转方式,描述数据如何在应用软件各角色之间的流转方式; 访问权限,描述数据被各角色的访问和操作权限。

数据生成的频度:何时增加数据,何时删除数据,何时调整数据。 ? 具有固定数据标识或类型的单项数据读取规范。

本章用于描述固定数据标识或类型的查询数据。如:数据写入操作错误信息查询、系统配置情况以及数据清单等信息,涉及这些数据的XML格式在这里进行描述,每个查询规范都要包含下面六项内容:

数据名称,定义数据的文字名称、数据标识和数据类型; 数据定义,数据包含的内容清单;

返回值数据格式,描述数据遵循的XML格式;

数据描述,描述数据包含的内容的具体含义,包括:名称、类型和含义;

数据完整性说明,描述数据的来源以及与其他数据之间的关系,包括:引用关系、符合性关系、校验型关系等;

访问权限,描述数据被访问权限。 ? 查询命令和查询结果数据规范清单。

本章用于描述数据查询命令和返回结果的格式,命令和结果按照一一对应的方式出现。应用软件包含的所有数据使用本章定义的规范都可以获取。每组查询规范包含下面七项内容:

命令名称,定义命令的文字名称和数据类型; 命令含义,描述查询命令的用途;

查询命令格式,定义输入参数遵循的XML格式;

查询命令含义,描述命令包含的内容的具体含义,包括:名称、类型和含义;

14

返回结果格式,定义返回结果遵循的XML格式;

返回结果含义,描述结果包含的内容和具体含义,包括:名称、类型和含义; 访问权限,描述查询命令可以被那些角色使用。 附件二包含了一个数据规范编制的样本供参考。

五、 组织结构管理规范

为避免工作人员在不同的应用软件中拥有不同的身份信息,统一部署了组织结构管理系统,应用软件只要按照组织结构管理规范进行身份验证和角色分配操作,不再需要开发独立的组织结构管理功能,从而实现单一的身份认证和管理方式。组织结构管理系统也遵循本文定义的接口技术规范和数据格式规范。

1. 组织结构管理系统的功能

提供密码帐户信息和证书账户信息的合法性验证;提供组织单元具体属性的检索;提供组织单元关系的检索;提供应用软件接口方式和地址的检索;让拥有组织结构管理功能的应用软件上传组织结构信息;提供用户界面管理系统中组织结构信息,提供用户界面配置系统中的角色成员。

2. 应用软件需要使用的功能

应用软件执行身份验证操作时向组织结构管理系统提供验证信息,系统负责返回验证结果。

应用软件使用组织结构管理系统中的关联信息执行角色分配和操作权限判断。

3. 身份验证操作的数据规范

应用软件通过本规范调用组织结构管理系统进行身份验证和注销操作,应用软件必需按照接口技术规范在数据查询操作中实现身份验证和身份注销功能。身份验证主要包括密码身份验证和证书身份验证,数据规范如下:

? 密码身份验证。

命令名称:密码身份验证。根据提供的密码验证组织单元身份的合法性,数据类型:LoginTicket

命令含义:通过提供登录名和口令验证访问者身份的合法性。 输入参数格式:

15

参数含义:UserNameTicket包含账户名和口令信息,多个单位并存时账户名增加@字符后跟单位域名。

返回结果格式:

组织单元标识

返回结果含义:返回结果包含组织单元标识,如果为空表示验证失败。 访问权限:可以直接访问。 ? 证书身份验证。

命令名称:证书身份验证。根据提供的证书信息验证组织单元身份的合法性,数据类型:CertTicket

命令含义:通过提供登录名和用私钥加密的时间信息验证组织单元身份的合法性。 输入参数格式:

参数含义:CertificateTicket包含账户名和用私钥加密的时间信息,多个单位并存时账户名增加@字符后跟单位域名。

返回结果格式:

组织单元标识

返回结果含义:返回结果包含组织单元标识,如果为空表示验证失败。 访问权限:可以直接访问。 ? 用户注销。

命令名称:用户注销,注销当前访问的用户。数据类型:LoginTicket 命令含义:注销用户在应用软件中的身份验证信息

16

输入参数格式:

参数含义:用户注销也适用LoginTicket作为数据类型,与验证身份相比数据内容缺少UserNameTicket节点。

返回结果格式:

返回结果含义:返回结果为空表示注销成功。 访问权限:当前通过验证的用户可以访问。

4. 应用软件如何实现身份验证

应用软件使用组织结构管理系统实现身份验证功能,不需要另行开发。应用软件建立自身的用户界面接收用户输入的验证信息,应用软件也可以通过接口的查询操作接收身份验证信息。应用软件在收到的验证数据的根节点上叠加用户方的IP地址后调用组织结构管理系统接口的查询操作,密码身份验证信息和证书身份验证信息叠加IP地址后的格式如下:

调用前应用软件首先要在组织结构管理系统中通过本身的身份验证,应用软件根据组织结构系统的反馈结果设置用户的配置信息,并将反馈结果按照上一章节的格式反馈给用户端。

用户注销不需要调用组织结构管理系统,应用软件只需清除软件环境中的用户配置信息。

17

5. 组织结构关联信息查询数据规范

应用软件通过调用组织结构管理系统的读取操作获取组织单元的关联信息,并根据这些信息执行角色分配和权限判断操作。角色分配需要开发单独的管理界面。各类组织结构关联信息的读取操作规范如下:

? 单位信息列表

数据名称:单位信息列表,按照单位的分类读取系统中所有单位信息,数据标识\,数据类型代码:CompanyList

数据定义:按照单位的主类别、子类别的次序返回单位信息列表,同一主类别和子类别的单位信息按照组织结构成员列表的方式返回,单位出现次序按照序号从小到大排列。

返回值数据格式:

DataGuid=\

\

??

??

数据描述:返回值中可能包含多个ListOUDataInfo节点,每个节点都符合组织结构成员列表格式,主类别相同的节点将依次排列,主类别和子类别按字母大小的次序最小的排在最前面。

? 部门信息列表

数据名称:部门信息列表,按照单位标识读取系统中该单位所属的部门信息列表,数据标识为单位标识,数据类型代码:BranchList

数据定义:按照单位标识返回所属的部门信息列表,返回信息使用组织结构成员列表的方式,部门信息按照序号从小到大排列。

返回值数据格式:

DataType=\

18

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式。 ? 群组信息列表

数据名称:群组信息列表,读取系统中所有的群组信息,数据标识\,数据类型代码:GroupList

数据定义:包含系统中所有的群组信息,返回信息使用组织结构成员列表的方式,群组信息按照群组名称从小到大排列。

返回值数据格式:

DataGuid=\

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式。 ? 部门所属人员信息列表

数据名称:部门所属人员信息列表,按照部门标识读取系统中该部门所属的人员信息列表,数据标识为部门标识,数据类型代码:BranchMemberList

数据定义:按照部门标识返回所属的人员信息列表,返回信息使用组织结构成员列表的方式,人员信息按照序号从小到大排列。

返回值数据格式:

DataType=\

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式。 ? 群组所属人员信息列表

数据名称:群组所属人员信息列表,按照群组标识读取系统中该群组所属的人员信息列表,数据标识为群组标识,数据类型代码:GroupMemberList

数据定义:按照群组标识返回所属的人员信息列表,返回信息使用组织结构成员列表的方式,人员信息按照序号从小到大排列。

19

返回值数据格式:

DataType=\

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式。 ? 人员所属群组信息列表

数据名称:人员所属群组信息列表,按照人员标识读取系统中该人员所属的群组信息列表,数据标识为人员标识,数据类型代码:MemberGroupList

数据定义:按照人员标识返回所属的群组信息列表,返回信息使用组织结构成员列表的方式,群组信息按照群组名称从小到大排列。

返回值数据格式:

DataType=\

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式。 ? 应用软件分类信息列表

数据名称:应用软件分类信息列表,按照应用软件的分类读取系统中所有应用软件信息,数据标识\,数据类型代码:ApplicationList

数据定义:按照应用软件的主类别、子类别的次序返回应用软件信息列表,同一主类别和子类别的单位信息按照组织结构成员列表的方式返回,应用软件出现次序按照软件名称从小到大排列。

返回值数据格式:

DataGuid=\

标识\

……

20

……

数据描述:返回值中可能包含多个ListOUDataInfo节点,每个节点都符合组织结构成员列表格式,主类别相同的节点将依次排列,主类别和子类别按字母大小的次序最小的排在最前面。

? 关联组织结构信息列表

数据名称:关联组织结构信息列表,检索与组织单元关联的组织结构信息,数据标识为组织单元的标识,数据类型代码:RelateOUList

数据定义:根据组织单元标识检索组织单元的类型(可能为人员、应用软件或单位信息),根据类型检索与组织单元关联的组织结构信息。其中人员信息返回列表包含:本身、所属部门、所属单位、所属的群组;应用软件信息返回列表包含:本身、所属单位、所属的群组;单位信息返回列表包含:本身、所属的群组。本规范供应用软件在权限判断时通过检索关联组织结构信息查询组织单元与其它组织结构之间的关系。

返回值数据格式:

\

……

数据描述:返回值中只有一个ListOUDataInfo节点,符合组织结构成员列表格式,表示与组织单元关联的所有组织结构信息。

? 组织单元信息查询

数据名称:组织单元信息查询,检索组织单元类别,数据标识为组织单元的标识,数据类型代码:SearchOUInfo

数据定义:根据组织单元标识检索组织单元类型。 返回值数据格式:

所属的单位标识\

数据描述:返回值中只有一个OUDataInfo节点,符合组织结构数据格式。

21

6. 应用软件如何执行角色分配和功能授权

应用软件在开发时定义角色、角色具备的功能和角色具备的权限。用户在使用应用软件时只需将组织结构关联信息分配到角色中,分配信息保存在应用软件中,分配后相关组织结构就拥有对应的功能和操作权限。默认情况下,组织结构管理系统中属于Admin组的用户具备角色分配功能。

? 角色定义和分配

根据功能设计报告中明确的,在应用软件中将具有一组功能操作权限的职能称为角色。按照角色可以使用的功能进行命名,属于某一角色的人员或单位就可以使用相应的功能并具备数据操作的权限。

? 用户功能分配

应用软件验证用户身份后判断用户在哪些角色中存在,根据用户与各个角色之间的关系向用户开放可以使用的功能和数据操作权限。

六、 数据流转功能建设

为保证不同的应用软件之间能实现数据共享操作,为保证业务信息能够及时通知有关人员处理,根据业务逻辑的定义需要向其他应用软件发送数据信息,向有关人员发送办事信息。

1. 发送数据信息

发送数据信息将根据应用软件之间的数据规范由发送方负责数据转换操作,发送前调用组织结构管理系统的数据读取操作获取接收应用软件的接口信息,读取方式如下:

应用标识:\。 数据标识:应用软件标识 数据类型:Application 返回结果:

22

数据描述:

节点名称 Guid Name IPAddress Protocol 类型 TEXT(36) TEXT(30) TEXT(25) TEXT(120) 含义 软件标识,是标准的Guid数据,应用软件的唯一值 软件名称 软件所在的主机访问本系统时的IP地址 软件对外服务的通讯协议,有Socket和Web服务两种:Socket采用“主机名:端口号”的方式提供,Web服务直接提供asmx的服务地址。 CompanyGuid CompanyName Admin Telephone EMail MasterType SubType TEXT(60) TEXT(60) TEXT(10) TEXT(20) TEXT(50) TEXT(50) TEXT(50) 应用软件所属单位的标识 应用软件所属单位的名称 系统管理员姓名 系统管理员联系电话 系统管理员的邮箱 应用软件所属的业务主类别 应用软件所属的业务子类别 利用查询结果根据接收方应用软件的通讯协议执行身份验证后向该应用软件发送数据。

2. 发送办事信息

发送办事信息时如果组织单元类型是单位或部门,那么应该通过读取组织结构管理系统中的相关属性后将办事信息发送到具体人员。

? 单位信息读取方式如下:

应用标识:\。 数据标识:单位标识 数据类型:Company 返回结果:

23

数据描述:

节点名称 Guid Name Domain MasterGuid EventerGuid Telephone EMail MasterType SubType Order 类型 TEXT(36) TEXT(60) TEXT(50) 含义 单位标识,是标准的Guid数据,单位信息的唯一值 单位名称 单位的域名,不同单位出现相同用户名使用域名可以有效地划分 TEXT(36) TEXT(36) TEXT(20) TEXT(50) TEXT(50) TEXT(50) LONG 单位法人的标识 单位事务处理人的标识 单位的联系电话 单位的邮箱 单位所属的主类别 单位所属的子类别 序号,单位之间的排列序号 如果办事信息是发送给单位的,利用查询结果获取事务处理人标识后向事务处理人发送办事信息。

? 部门信息读取方式如下:

应用标识:\。 数据标识:部门标识 数据类型:Branch 返回结果:

数据描述:

节点名称 Guid Name CompanyGuid MasterGuid LeaderGuid 类型 TEXT(36) TEXT(40) TEXT(36) TEXT(36) TEXT(36) 含义 部门标识,是标准的Guid数据,部门信息的唯一值,不同单位的各个部门的标识也应该不一样的。 部门名称 部门所属单位的标识 部门负责人标识 部门的分管领导标识 24

Telephone EMail Order TEXT(20) TEXT(50) LONG 单位的联系电话 单位的邮箱 序号,单位之间的排列序号 利用查询结果根据接收方应用软件的通讯协议执行身份验证后向该应用软件发送数据。 如果办事信息是发送给部门的,利用查询结果获取部门负责人标识后向部门负责人发送办事信息。

25

附件一:Web服务的WSDL定义。

xmlns:s=\

xmlns:tns=\

xmlns:soap12=\xmlns:mime=\xmlns:soap=\xmlns:tm=\xmlns:http=\xmlns:soapenc=\

targetNamespace=\

26

27

minOccurs=\

maxOccurs=\

name=\

28

soapAction=\

29

本文来源:https://www.bwwdw.com/article/gxjo.html

Top