1、ESB部署WebService接口统一用户和待办1统一待办(WebService方式)1.1概述门户系统做为用户访问各集成应用系统的统一入口,用户访问企业部信息资源时只需要登录到门户系统,就可使用门户系统集成的各个应用,而待办做为各系统中用户需要处理的工作,门户系统需要提供收集建投部应用系统中产生的待办信息,并且进行统一展现的功能,即统一待办功能。统一待办应用业务涉及到的系统其中包括本期门户系统建设过程中所需集成的OA、WCM、EAM系统。为保证门户系统接入各应用系统待办信息的规性,现就各应用系统接入实现做统一要求,以确保门户系统统一待办功能实现的规性、重用性及安全性。不满足本技术方案提供的接
2、入规则的相关应用系统,应参考本文档完成对应用系统改造后方可进行门户系统统一待办接入工作。统一待办实现共分为以下部分:系统待办信息获取系统待办信息展示系统待办信息处理1.2待办信息获取设计思路:应用系统通过门户系统提供的webservice接口向门户系统统一待办系统库写入代表信息,如下图数据获取设计示意图步骤如下:1.应用系统需获得最新的待办信息。2.应用系统通过门户接口,将获得的最新待办信息发送到门户系统。3.统一待办系统将应用系统提供的待办信息展示给用户。4.应用系统通过调用集成接口后获得信息,可以判断发送信息操作是否正常。1.3待办信息展示设计思路:应用系统将最新的待办信息发送到统一待办系
3、统中,并最终展示到门户首页上的待办栏目上,如下图待办集中展示设计示意图场景如下:在所有的待办类标题前加上”请办理”,待阅类标题前加上”请审阅”。此外,如果信息是未办或者未阅,用红色表示1.4待办信息处理设计思路:用户点击门户系统上“待办栏目”里的一条待办时,弹出一个新页面,首先同应用系统实现SSO,然后跳转到应用系统的待办页面,完成待办处理后,由应用系统调用门户接口通知门户系统,并关闭弹出的待办处理页面,门户系统负责即时刷新门户待办页。如下图:待办信息集中处理设计示意图 1.5系统待办规1.5.1WebService服务端服务地址:域名:8080/jicpending/services/IPa
4、ndingInterfaceWebservice?wsdl服务文件: 服务方法:方法1. putPandingInfo:新待办方法2. changePangdingStatus:当OPTTYPE值为2时,则表示修改待办,当为3时,则表示删除待办方法3.仅供OA系统使用. putOaPandingInfo:新待办, 方法4. 仅供OA系统使用 changeOaPangdingStatus:当OPTTYPE值为2时,则表示修改待办,当为3时,则表示删除待办,仅供OA系统使用服务参数:具体定义如下表 表描述11.5.2新待办第一步:应用系统有新待办信息时,调用门户系统接口,将数据传送给门户系统提供的
5、接口,流程如下:WebService接口图在此过程中,各个应用系统以传递对象的形式传递参数,提供的参数自身包括的值为以下表说明,另外,OA系统传递参数的时候不用传递对象,只要依次传入以下表说明即可。属性名说明类型长度备注OPTTYPE待办操作类型String10只出现数值型字符,分别代表1:add 2:modify3:delete,此外,修改操作时只修改pstatus一个字段PSCODE待办对应的应用系统编号String10由门户系统事先编制,参考应用系统统一编码表 (1.3)PCODE待办编码 String50待办编码,各应用系统待办的唯一标识PTITLE待办标题String200待办标题P
6、DATE待办时间String20待办时间,日期格式如下:yyyy-MM-dd HH:mm:ssPPRINCIPAL待办人标示String100待办负责人标示,即用户登录名PURLURL地址String400待办信息URL,应用系统提供相对的URLPSTATUS待办状态String2待办状态 0:待办 (阅),1已阅,2:已办PORANIGER待办发起人标示String100待办发起人标示,不要PTYPE待办类别:是待办类还是待阅类String2待办类别:1.待办类(包括0、1、2三个状态):2待阅类(包括0、1两个状态)PSCODEZH应用系统编号对应的中文名称String30Eg:oaoa系
7、统 Eam企业资产管理系统NGRERSON拟稿人String20拟稿人NGDEPT拟稿部门String40拟稿部门WENHAO文号String60文号eg:中建投发文XX号NGDATE拟稿日期String20日期格式如下:yyyy-MM-dd 表描述11.5.2.1.1WebService应用系统样例OA应用系统: public static void main(String args) String url =null; try url = .Inet4Address.getLocalHost().getHostAddress().toString(); catch (UnknownHost
8、Exception e1) / TODO Auto-generated catch block e1.printStackTrace(); StringBuffer serviceURL = new StringBuffer(); serviceURL.append().append(url).append(:8080/jicpending/services/IPandingInterfaceWebservice); try IPandingInterfaceWebservice service = XfireClientFactory.getClient(serviceURL.toStrin
9、g(), IPandingInterfaceWebservice.class); /新待办,应用系统调用该接口进行待办数据插入操作,/*方法名:putPandingInfo()参数名:optType, psCode, pCode, pTitle, pDate, pOraniger, pPrincipal, pURL, pStatus, Ptype等各个参数具体定义如上图说明*/ String addValue = service.putPandingInfo(optType, psCode, pCode, pTitle, pDate, pOraniger, pPrincipal, pURL,
10、pStatus, Ptype); System.out.println(新增待办成功吗?: +addValue); catch (Exception e) e.printStackTrace(); 非OA应用系统: public static void main(String args) String url =null; try url = .Inet4Address.getLocalHost().getHostAddress().toString(); catch (UnknownHostException e1) / TODO Auto-generated catch block e1.
11、printStackTrace(); StringBuffer serviceURL = new StringBuffer(); serviceURL.append().append(url).append(:8080/jicpending/services/IPandingInterfaceWebservice); try IPandingInterfaceWebservice service = XfireClientFactory.getClient(serviceURL.toString(), IPandingInterfaceWebservice.class); /新增待办 RPen
12、dingVo vo = new RPendingVo(); vo.setOptType(); vo.setPCode(); vo.setPscode(); vo.setPTitle(); vo.setPstatus(); vo.setPOraniger(); vo.setPPrincipal(); vo.setPDate(); vo.setPURL(); vo.setPtype(); String addValue = service.putPandingInfo(vo); System.out.println(新增待办成功吗?: +addValue); catch (Exception e)
13、 e.printStackTrace(); 1.5.3修改、删除待办第一步:应用系统需要修改待办信息时,调用门户系统接口,将数据传递给门户系统提供的接口,流程如下:传输数据方式在此过程中,需要从应用系统获得的值包括以下几个:属性名说明类型长度备注optType操作类型String10只出现数值型字符,分别代表1:add 2:modify3:delete,此外,修改操作时只修改pstatus一个字段psCode待办对应的应用系统编号String10待办对应的应用系统编号,由门户系统事先编制,并在集成时提供给各应用系统pCode待办编码String50各应用系统待办的唯一标识Ptype待办类别St
14、ring2待办类别:1.待办类(包括0、1、2三个状态):2待阅类(包括0、1两个状态)PPRINCIPAL待办人标示String100待办负责人标示,即用户登录名表描述21.5.3.1.1WebService应用系统样例应用系统: public static void main(String args) String url =null; try url = .Inet4Address.getLocalHost().getHostAddress().toString(); catch (UnknownHostException e1) / TODO Auto-generated catch
15、block e1.printStackTrace(); StringBuffer serviceURL = new StringBuffer(); serviceURL.append().append(url).append(:8080/jicpending/services/IPandingInterfaceWebservice); try IPandingInterfaceWebservice service = XfireClientFactory.getClient(serviceURL.toString(), IPandingInterfaceWebservice.class); /
16、修改、删除待办,应用系统调用该接口进行待办数据修改、插入操作,/*方法名:changePangdingStatus ()参数名:optType, psCode, pCode, pTitle, pDate, pOraniger, pPrincipal, pURL, pStatus, Ptype等各个参数具体定义如上图说明*/ /修改待办,当optType=2 String modifyValue = service.changePangdingStatus(optType, psCode, pCode, Ptype); System.out.println(修改待办成功吗?: +modifyVa
17、lue); / 删除待办, 当optType=3 String deleteValue = service.changePangdingStatus(optType, psCode, pCode, Ptype); System.out.println(删除待办成功吗?: +deleteValue); catch (Exception e) e.printStackTrace(); 统一代办 新增:putOaPandingInfo、putPandingInfo属性名说明类型长度备注OPTTYPE待办操作类型,不能为NullString10只出现数值型字符,分别代表1:add 2:modify3:
18、delete PSCODE待办对应的应用系统编号,不能为NullString10由门户系统事先编制,参考应用系统统一编码表PCODE待办编码 ,不能为Null String50待办编码,各应用系统待办的唯一标识PTITLE待办标题,不能为NullString200待办标题PDATE待办时间,不能为NullString20待办时间,日期格式如下:yyyy-MM-dd HH:mm:ssPPRINCIPAL待办人标示,不能为NullString100待办负责人标示,即用户登录名PURLURL地址,不能为NullString400待办信息URL,应用系统提供相对的URLPSTATUS待办状态,不能为N
19、ullString2待办状态 0:待办 (阅),1已阅,2:已办PTYPE待办类别:是待办类还是待阅类,不能为NullString2待办类别:1.待办类(包括0、1、2三个状态):2待阅类(包括0、1两个状态)PSCODEZH应用系统编号对应的中文名称,不能为NullString30Eg: oaoa系统 EAM企业资产管理系统NGRERSON拟稿人,不能为NullString20拟稿人NGDEPT拟稿部门,不能为NullString40拟稿部门WENHAO文号String60文号eg:中建投发文XX号NGDATE拟稿日期,不能为NullString20日期格式如下:yyyy-MM-ddPNOT
20、E备用,当做待办所属模块String255Eg:发文管理 修改、删除: changeOaPangdingStatus、changePangdingStatus属性名说明类型长度备注optType操作类型String10只出现数值型字符,分别代表1:add 2:modify3:delete psCode待办对应的应用系统编号String10待办对应的应用系统编号,由门户系统事先编制,并在集成时提供给各应用系统pCode待办编码String50待办编码,各应用系统待办的唯一标识Ptype待办类别String2待办类别:1.待办类(包括0、1、2三个状态):2待阅类(包括0、1两个状态)PPRINC
21、IPAL待办人标示String100待办负责人标示,即用户登录名2统一用户管理2.1统一用户管理的必要性在门户系统建设之前,各应用系统分别具有各自独立的用户账户和权限管理体系,企业部不同的用户群体在访问不同的应用系统时,需要分别进行身份的认证和授权,用户与应用系统之间相互交叉形成了一个网状的身份管理架构,如下图所示。用户在访问不同的系统时需要输入不同的账号和口令,不仅不方便,而且有安全隐患。门户系统的建成和投入使用,使用户能够通过Portal这个统一的入口、利用单点登录(Single Sign-On)技术实现对后台多个应用系统的统一访问,解决了上述的网状身份架构带来的问题。这是门户系统的一项重
22、要功能和收益。但是对于IT系统管理和维护人员来说,目前并没有带来方便。甚至经常为门户与后台各应用系统身份信息不能自动保持一致等一系列问题而感到头疼。其原因在于虽然通过门户实现了用户的统一登录,但是对身份信息的维护和管理仍然是分散的,如下图所示。用一句话来概括就是:用户可以通过门户实现统一登录,但是用户信息的维护和管理仍然是分散的,即“统一登录,分散管理”。分散的用户管理必将带来以下各种弊端:1.系统之间无法共享用户基本数据,造成信息冗余2.用户的身份信息不能在系统间自动保持一致和同步3.用户管理分散,维护工作量巨大4.存在安全隐患5.缺乏用户管理流程保障6.难以量化管理用户身份信息,不能满足身
23、份安全审计的要求2.2用户信息同步设计按照各应用系统及应用使用数据库类型进行区分,数据同步设计分为如下几种同步方式:2.2.1系统用户数据同步和J2EE类应用系统用户数据同步一致,调用门户中间数据库接口。2.2.2Domino OA用户数据同步通过系统同步用户到domino OA的names.nsf库,但是如果OA系统需要同步部门的话,则调用门户提供的部门同步服务接口。2.2.3J2EE类应用系统用户数据同步对于J2EE类通过JAVA开发实现的应用系统,统一安全层的用户数据采用 “主动”方式与应用系统进行用户数据交互,如下图所示:一、主动方式说明应用系统通过中间数据库提供的JAVA应用API接
24、口,按照一定时间规则通过轮寻方式读取中间用户数据库中的用户数据,并同步到应用系统对应用户数据库表中。设计步骤如下图所示具体步骤:1.TDI脚本通过LDAPChangelog读取变化的用户或者组织机构数据2.TDI脚本将数据写到TIM中完成标准动作,同时也将数据写到中间数据库中。3.各应用系统按照一定时间规则通过轮寻方式调用门户的webservice接口请求从中间数据库中读取有变化的用户或组织机构数据。4.门户webservice接口将获得的数据返回给各应用系统,各应用系统将数据同步到对应的用户或机构数据库表中2.2.4门户用户数据源门户系统用户分为两类,第一是:实名用户,第二是:虚拟用户1.实
25、名用户:此类用户可以同时存在多个部门,产生自OA流程,在OA流程审批后,调用门户系统提供的WebService接口,把数据放入门户系统中间数据库。WebService服务端服务地址:域名:8080/jicdsource/services/IDsInterfaceWebservice?wsdl服务参数:具体定义如下表NameTypeNullable属性描述C_CODEVARCHAR2(10)Y员工编号C_NAMEVARCHAR2(200)Y员工C_UNITCODEVARCHAR2(200)Y员工所属部门唯一标识,可以有多值,以#分开C_UNITNAMEVARCHAR2(200)Y员工所属部门名称
26、,可以有多值,因为一个员工可以同时在多个部门,以#分开C_GENDERVARCHAR2(2)Y性别:1男2女CUIDENTITYNUMBERVARCHAR2(20)Y,只针对实名用户MAILVARCHAR2(50) Y个人网电子CUEXECPOSITIONLEVELVARCHAR2(10)Y行政职务级别MOBILEVARCHAR2(20)Y手机TELEPHONENUMBERVARCHAR2(20)Y办公PHYSICALDELIVERYOFFICENAMEVARCHAR2(200)Y办公地点CUORDERVARCHAR2(20)Y部门人员排序,无排序写50000CUPOSTVARCHAR2(50
27、)Y现从事岗位CUEXECPOSITIONVARCHAR2(50)Y行政职务CUFORMALVARCHAR2(10)Y当前用户是实名还是虚拟,1:实名2:虚拟CHANGETYPEVARCHAR2(20)Y修改类型,1:add,2:modify,3:deleteCHANGETIMEVARCHAR2(20)Y修改时间,格式如:118PRINCIPAIDVARCHAR2(10)Y虚拟用户:负责人唯一标识TUSERIDVARCHAR2(10)Y虚拟用户:使用人唯一标识PRINCIPANAMEVARCHAR2(10)Y虚拟用户:负责人TUSERNAMEVARCHAR2(10)Y虚拟用户:使用人SYSTE
28、MCODEVARCHAR2(50)Y业务系统编号SYSTEMNAMEVARCHAR2(100)Y业务系统名称2.虚拟用户:即临时用户。包括负责人和使用人两个属性,负责人必须从实名用户中选择,使用人可以是多人,来自于文本填写,或者也可以提供选择非实名的用户。具体信息如实名用户表说明2.2.5门户部门数据源门户部门数据来自于OA流程。WebService服务端服务地址:域名:8080/jicpending/services/DSInterfaceWebservice?wsdl服务参数:具体定义如下表NameTypeNullable属性描述C_CODEVARCHAR2(20)N部门唯一标识C_UNITNAMEVARCHAR2(200)Y部门全称C_PARENTUNITIDVARCHAR2(200)Y上级部门编码,真实的直属上级CUORDERVARCHAR2(200)Y排序号,若无排序号写1000CUFORMALVARCHAR2(10)Y是否是临时部门:1.正式 2.临时CHANGETYPEVARCHAR2(10)N部门操作类型:1 表示添加 2 表示修改 3 表示删除CHANGETIMEVARCHAR2(20
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1