ESB部署WebService接口(统一用户和待办)_第1页
ESB部署WebService接口(统一用户和待办)_第2页
ESB部署WebService接口(统一用户和待办)_第3页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1统一待办WebService方式1.1概述门户系统做为用户访问各集成应用系统的统一入口, 用户访问企业部信息资源时只需要 登录到门户系统,就可使用门户系统集成的各个应用, 而待办做为各系统中用户需要处理的 工作,门户系统需要提供收集建投部应用系统中产生的待办信息, 并且进展统一展现的功能, 即统一待办功能。统一待办应用业务涉与到的系统其中包括本期门户系统建立过程中所需集成的OAWCM EAM系统。为保证门户系统接入各应用系统待办信息的规性,现就各应用系统接入实现做统一要求,以确保门户系统统一待办功能实现的规性、重用性与平安性。不满足本技术方案提供的接入规那么的相关应用系统, 应参考本文档完成

2、对应用系统改造前方可进展门户系统统一待 办接入工作。统一待办实现共分为以下局部:? 系统待办信息获取? 系统待办信息展示? 系统待办信息处理1.2待办信息获取设计思路:应用系统通过门户系统提供的webservice接口向门户系统统一待办系统库写入代表信息,如以下图I调用统一待I办接口I应用系统L待办信息获取*待办信息接口统一待办系统数据获取设计示意图步骤如下:1. 应用系统需获得最新的待办信息。2. 应用系统通过门户接口,将获得的最新待办信息发送到门户系统。3. 统一待办系统将应用系统提供的待办信息展示给用户。4. 应用系统通过调用集成接口后获得信息,可以判断发送信息操作是否正常。1.3待办信

3、息展示并最终展示到门户首页上的设计思路:应用系统将最新的待办信息发送到统一待办系统中,待办栏目上,如以下图统一待办库统一待办接口最新待办信息厂应用系统读取用户展示待办栏目页面统一待办展示程序待办集中展示设计示意图场景如下:在所有的待办类标题前加上请办理,待阅类标题前加上请审阅。此外,如果信息是未办或者未阅,用红色表示1.4待办信息处理设计思路:用户点击门户系统上 “待办栏目'里的一条待办时,弹出一个新页面,首先同应用系统实现sso然后跳转到应用系统的待办页面,完成待办处理后,由应用系统调用 门户接口通知门户系统,并关闭弹出的待办处理页面,门户系统负责即时刷新门户待办页。如以下图:待办信

4、息集中处理设计示意图应 用 系 统1.5系统待办规1.5.1 VebService 效劳端 效劳地址 :域名:8080/jicpending/services/IPandinglntefaceWebservice?wsdl效劳文件:效劳方法:方法1.putPa ndinglnfo :新待办方法2.changePangdingStatus:当OPTTYPE值为2时,那么表示修改待办,当为3时,那么表示删除待办方法3.仅供OA系统使用.putOaPa ndinglnfo:新待办,方法4.仅供OA系统使用changeOaPangdingStatus :当OPTTYPE!为2时,那么表示修改待办,当为

5、3时,那么表示删除待办,仅供OA系统使用效劳参数:具体定义如下表表描述1新待办第一步:应用系统有新待办信息时,调用门户系统接口,将数据传送给门户系统提供的接口,流程如下:I.Webservice接收信息门户统一待办接口应用系统程序>应用系统WebService 接口图在此过程中,各个应用系统以传递对象的形式传递参数,提供的参数自身包括的值为以下表说明,另外,0A系统传递参数的时候不用传递对象,只要依次传入以下表说明即可。属性名说明类型长度备注OPTTYPE待办操作类型Stri ng10只出现数值型字符,分别代表1:add 2:modify3:delete,此外,修改操作时只修改pstat

6、us 一个字段PSCODE待办对应的应用 系统编号Stri ng10由门户系统事先编制,参考应用系统统编码表1.3PCODE待办编码Stri ng50待办编码,各应用系统待办的唯一 标识PTITLE待办标题Stri ng200待办标题PDATE待办时间Stri ng20待办时间,日期格式如下:yyyy-MM-ddHH:mm:ssPPRINCIPAL待办人标示Stri ng100待办负责人标示,即用户登录名PURLURL地址Stri ng400待办信息URL,应用系统提供相对的URLPSTATUS待办状态Stri ng2待办状态0:待办阅,1已阅,2:已办PORANIGER待办发起人标示Stri

7、 ng100待办发起人标示,不要PTYPE待办类别:是待办 类还是待阅类Stri ng2待办类别:1.待办类包括0、1、2 三个状态:2待阅类包括0、1两 个状态PSCODEZH应用系统编号对 应的中文名称Stri ng30Eg:oa oa 系统Earn企业资产管理系统NGRERSON拟稿人Stri ng20拟稿人NGDEPT拟稿部门Stri ng40拟稿部门WENHAO文号Stri ng60文号eg:中建投发文#号NGDATE拟稿日期Stri ng20日期格式如下:yyyy-MM-dd表描述.1 WebService 应用系统样例0A应用系统:publicstaticvoid

8、main( Stri ng args) String url =null ;try url = .Inet4Address. getLocalHost ().getHostAddress().toString(); catch (UnknownHostException e1) / TODOAuto-ge nerated catch blocke1.pri ntStackTrace();Stri ngBuffer serviceURL =new Stri ngBuffer();serviceURL.append( "" ).append(url).append("

9、:8080/jicpending/services/IPandinglnterfaceWebservice" );try IPa ndingln terfaceWebservice service =XfireClientFactory. getClient (serviceURL.toString(),IPandingInterfaceWebservice.class );/新待办,应用系统调用该接口进展待办数据插入操作,/*方法名:putPa ndin gI nfo()参数名: optType, psCode, pCode, pTitle, pDate, pOraniger, p

10、Principal, pURL,pStatus, Ptype等各个参数具体定义如上图说明*/pDate, pOraniger, pPrincipal, pURL, pStatus, Ptype);System.out.pri ntl n("Stri ng addValue = service.putPa ndingln fo(optType, psCode, pCode, pTitle,新增待办成功吗 ?:" +addValue); catch (Exception e) e.pri ntStackTrace();非OA应用系统:publicstaticvoid main(

11、 Stri ng args) String url = null ;try url = .Inet4Address.getLocalHost ().getHostAddress().toString(); catch (UnknownHostException e1) / TOD8uto-ge nerated catch blocke1.pri ntStackTrace();Stri ngBuffer serviceURL =new Stri ngBuffer();serviceURL.append( "" ).append(url).append(":8080/

12、jicpending/services/IPandinglnterfaceWebservice");try IPa ndingln terfaceWebservice service =XfireClientFactory. getClient (serviceURL.toString(),IPandinglnterfaceWebservice.class );/新增待办RPendin gVo vo = new RPendin gVo();vo.setOptType("");vo.setPCode("");vo.setPscode("

13、");vo.setPTitle("");vo.setPstatus("");vo.setPOra niger("");vo.setPPri ncipal("");vo.setPDate("");vo.setPURL("");vo.setPtype("");Stri ng addValue = service.putPa ndi ngln fo(vo);System.out .println("新增待办成功吗 ? :" +add

14、Value); catch(Excepti on e) e.pri ntStackTrace();修改、删除待办第一步:应用系统需要修改待办信息时,调用门户系统接口,将数据传递给门户系统提供的接口,流程如下:I.Webservice严、11i11接收信息1111f、应用系统程序1丿111l 丿1111111L2仮馈一11111111111门户统一待办接口1111应用系统111传输数据方式 在此过程中,需要从应用系统获得的值包括以下几个:属性名说明类型长度备注optType操作类型Stri ng10只出现数值型字符,分别代表1:add 2:modify3:delete,此外,修改操作时只修改ps

15、tatus 一个字段psCode待办对应的应用 系统编号Stri ng10待办对应的应用系统编号,由门户系统事先编制,并在集成时提供给 各应用系统pCode待办编码Stri ng50各应用系统待办的唯一标识Ptype待办类别Stri ng2待办类别:1.待办类包括0、1、2 三个状态:2待阅类包括0、1两 个状态PPRINCIPAL待办人标示Stri ng100待办负责人标示,即用户登录名表描述.1 WebService 应用系统样例 应用系统:publicstaticvoidmain( Stri ng args) String url =null ;try url = .In

16、et4Address. getLocalHost ().getHostAddress().toString(); catch (UnknownHostException e1) / TODOAuto-ge nerated catch blocke1.pri ntStackTrace();Stri ngBuffer serviceURL =new Stri ngBuffer();serviceURL.append( "" ).append(url).append(":8080/jicpending/services/IPandingln terfaceWebserv

17、ice" );try IPa ndingln terfaceWebservice service =XfireClientFactory.getClient (serviceURL.toString(),IPandingInterfaceWebservice.class );/修改、删除待办,应用系统调用该接口进展待办数据修改、插入操作,/*方法名:cha ngePa ngdi ngStatus ()参数名: optType, psCode, pCode, pTitle, pDate, pOraniger, pPrincipal, pURL,pStatus, Ptype等各个参数具体

18、定义如上图说明*/修改待办,当optType=2Stri ng modifyValue = service.cha ngePa ngdin gStatus(optType, psCode, pCode, Ptype);System.out.pri ntln (修改待办成功吗 ? :" +modifyValue);/删除待办,当optType=3String deleteValue = service.cha ngePa ngdi ngStatus(optType, psCode, pCode, Ptype);(删除待办成功吗 ? :" +deleteValue); catc

19、h (Exception e) e.pri ntStackTrace();统一代办新增:putOaPandinglnfo、putPandinglnfo属性名说明类型长度备注OPTTYPE待办操作类型,不能为NullStri ng10只出现数值型字符,分别代表1:add2:modify3:deletePSCODE待办对应的应用 系统编号,不能为NullStri ng10由门户系统事先编制,参考应用系 统统编码表PCODE待办编码,不能为NullStri ng50待办编码,各应用系统待办的唯一 标识PTITLE待办标题,不能为NullStri ng200待办标题PDATE待办时间,不能为NullS

20、tri ng20待办时间,日期格式如下:yyyy-MM-ddHH:mm:ssPPRINCIPAL待办人标示,不能为 NullStri ng100待办负责人标示,即用户登录名PURLURL地址,不能为NullStri ng400待办信息URL,应用系统提供相对的URLPSTATUS待办状态,不能为NullStri ng2待办状态0:待办阅,1已阅,2:已办PTYPE待办类别:是待办 类还是待阅类,不能为NullStri ng2待办类别:1.待办类包括0、1、2 三个状态:2待阅类包括0、1两 个状态PSCODEZH应用系统编号对 应的中文名称,不能为NullStri ng30Eg: oa oa

21、系统EAM-企业资产管理系统NGRERSON拟稿人,不能为NullStri ng20拟稿人NGDEPT拟稿部门,不能为Stri ng40拟稿部门NullWENHAO文号Stri ng60文号eg:中建投发文#号NGDATE拟稿日期,不能为NullStri ng20日期格式如下:yyyy-MM-ddPNOTE备用,当做待办所 属模块Stri ng255Eg:发文管理修改、删除:changeOaPangdingStatus 、changePangdingStatus属性名说明类型长度备注optType操作类型Stri ng10只出现数值型字符,分别代表1:add2:modify3:deleteps

22、Code待办对应的应用 系统编号Stri ng10待办对应的应用系统编号,由门户系统事先编制,并在集成时提供给 各应用系统pCode待办编码Stri ng50待办编码,各应用系统待办的唯一 标识Ptype待办类别Stri ng2待办类别:1.待办类包括0、1、2 三个状态:2待阅类包括0、1两 个状态PPRINCIPAL待办人标示Stri ng100待办负责人标示,即用户登录名2统一用户管理2.1统一用户管理的必要性在门户系统建立之前,各应用系统分别具有各自独立的用户账户和权限管理 体系,企业部不同的用户群体在访问不同的应用系统时,需要分别进展身份的认证和授权,用户与应用系统之间相互穿插形成了

23、一个网状的身份管理架构,如下列图所示。用户在访问不同的系统时需要输入不同的账号和口令,不仅不方便, 而且有平安隐患。门户系统的建成和投入使用,使用户能够通过Portal这个统一的入口、禾U用单点登录Single Sign-On技术实现对后台多个应用系统的统一访问,解决 了上述的网状身份架构带来的问题。这是门户系统的一项重要功能和收益。但是对于IT系统管理和维护人员来说,目前并没有带来方便。甚至经常为门户与后台各应用系统身份信息不能自动保持一致等一系列问题而感到头疼。其原因在于虽然通过门户实现了用户的统一登录, 但是对身份信息的维护和管理仍 然是分散的,如以下图所示。fflr用一句话来概括就是:

24、用户可以通过门户实现统一登录,但是用户信息的维 护和管理仍然是分散的,即“统一登录,分散管理。分散的用户管理必将带来 以下各种弊端:1. 系统之间无法共享用户根本数据,造成信息冗余2. 用户的身份信息不能在系统间自动保持一致和同步3. 用户管理分散,维护工作量巨大4. 存在平安隐患5. 缺乏用户管理流程保障6. 难以量化管理用户身份信息,不能满足身份平安审计的要求2.2用户信息同步设计按照各应用系统与应用使用数据库类型进展区分,数据同步设计分为如下几种同步方式:系统用户数据同步和J2EE类应用系统用户数据同步一致,调用门户中间数据库接口222 Domi no OA用户数据同步通过系统同步用户到

25、domino OA的names.nsf库,但是如果OA系统需要同步部 门的话,那么调用门户提供的部门同步效劳接口。2.2.3 J2EE类应用系统用户数据同步对于J2EE类通过JAVA开发实现的应用系统,统一平安层的用户数据采用 “主动方式与应用系统进展用户数据交互,如以下图所示:一、 主动方式说明应用系统通过中间数据库提供的 JAVA应用API接口,按照一定时间规 那么通过轮寻方式读取中间用户数据库中的用户数据,并同步到应用系统对 应用户数据库表中。设计步骤如以下图所示公公公公公公公公公公VJ I公公公公公公公公公公I 公公公公公公公公公公具体步骤:1. TDI脚本通过LDAPChangelo

26、g读取变化的用户或者组织机构数据2. TDI脚本将数据写到TIM中完成标准动作,同时也将数据写到中间数据 库中。3. 各应用系统按照一定时间规那么通过轮寻方式调用门户的webservice接口请求从中间数据库中读取有变化的用户或组织机构数据。4. 门户webservice接口将获得的数据返回给各应用系统,各应用系统将 数据同步到对应的用户或机构数据库表中224门户用户数据源门户系统用户分为两类,第一是:实名用户,第二是:虚拟用户1.实名用户:此类用户可以同时存在多个部门,产生自0A流程,在0A流程审批后,调用门户系统提供的 WebService接口,把数据放入门户系统中间数据库。WebServ

27、ice 效劳端效劳地址:域名:8080/jicdsource/services/IDsl ntefaceWebservice?wsdl效劳参数:具体定义如下表NameTypeNullable属性描述C_CODEVARCHAR2(10)Y员工编号C_NAMEVARCHAR2(200)Y员工C_UNITCODEVARCHAR2(200)Y员工所属部门唯一 标识,可以有多值, 以#分开C_UNITNAMEVARCHAR2(200)Y员工所属部门名 称,可以有多值, 因为一个员工可以 冋时在多个部门,以#分开C GENDERVARCHAR2(2)Y性别:1男2女CUIDENTITYNUMBERVARC

28、HAR2(20)Y,只针对实名用户MAILVARCHAR2(50)Y个人网电子CUEXECPOSITIONLEVELVARCHAR2(10)Y行政职务级别MOBILEVARCHAR2(20)Y TELEPHONENUMBERVARCHAR2(20)Y办公PHYSICALDELIVERYOFFICENAMEVARCHAR2(200)Y办公地点CUORDERVARCHAR2(20)Y部门人员排序,无排序写"50000"CUPOSTVARCHAR2(50)Y现从事岗位CUEXECPOSITIONVARCHAR2(50)Y行政职务CUFORMALVARCHAR2(10)Y当前用户是

29、实名还 是虚拟,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虚拟用户:使用人SYSTEMCODEVARCHAR2(50)Y业务系统编号SYSTEMNAMEVARCHAR2(100)Y业务系统名称2.虚拟

30、用户:即临时用户。包括负责人和使用人两个属性,负责人必须从实名 用户中选择,使用人可以是多人,来自于文本填写,或者也可以提供选择非实名 的用户。具体信息如实名用户表说明门户部门数据源门户部门数据来自于0A流程。WebService 效劳端效劳地址:域名:8080/jicpending/services/DSIntefaceWebservice?wsdl效劳参数:具体定义如下表NameTypeNullable属性描述C CODEVARCHAR2(20)N部门唯一标识C UNITNAMEVARCHAR2(200)Y部门全称C PARENTUNITIDVARCHAR2(200)Y上级部门编码,真 实

31、的直属上级CUORDERVARCHAR2(200)Y排序号,假设无排序号写1000CUFORMALVARCHAR2(10)Y是否是临时部门:1.正式2.临时CHANGETYPEVARCHAR2(10)N部门操作类型:1 表示添加2表示 修改3表示删除CHANGETIMEVARCHAR2(20)N修改时间,格式如:118DEPTLEVERVARCHAR2(100)Y部门级别DEPTLEADERVARCHAR2(100)Y部门领导:CUBAK3VARCHAR2(100)Y备用字段CUBAK4VARCHAR2(100)Y备用字段CUBAK5VARCHAR2(100)Y备用字段CUBAK6VARCHA

32、R2(100)Y备用字段CUBAK7VARCHAR2(100)Y备用字段226同步用户、部门到应用系统效劳地址 :域名:8080/jicpending/services/IPandinglntefaceWebservice?wsdl效劳文件:效劳方法:方法1.putDsDept Info :新增部门方法2.modifyDsDeptl nfo:修改部门方法3.deleteDsDept Info:删除部门方法4.putDsUserI nfo :新增用户方法5.modifyDsUserl nfo :修改用户方法6.deleteDsUserI nfo:删除用户同步方式如J2EE类应用系统用户数据同步所

33、述。/同步用户serviceURL.append( "" ).append(url).append(":8080/jicamp/services/DSInterfaceWebservice");try DSIn terfaceWebservice service =XfireClientFactory.getClient (serviceURL.toString(), DSInterfaceWebservice.class );/新增用户DsUserI nfoVo vo = new DsUserI nfoVo();vo.setCCode("&q

34、uot;);vo.setCName("");vo.setCUnitcode("");vo.setCUnitname("");vo.setCGender("");vo.setCuidentitynumber("");vo.setMail("");vo.setCuexecpositionlevel("");vo.setMobile("");vo.setTelephonenumber( "");vo.setPhysical

35、deliveryofficename("");vo.setCuorder("");vo.setCupost("");vo.setCuexecposition( " );vo.setChangetime( "");vo.setChangetype("");vo.setCuformal("");/vo.setPr in cipaid("");/vo.setTuserid("");/vo.setPr in cipa name(&qu

36、ot;");/vo.setTuser name("");vo.setSysld("");vo.setSystemcode("");vo.setSystemname("");/新增用户String addValue = service.putDsUserlnfo(vo);/同步部门Stri ngBuffer serviceURL =newStri ngBuffer();serviceURL.append( "" ).append(url).append(":8080/jicam

37、p/services/DSInterfaceWebservice");try DSIn terfaceWebservice service =XfireClientFactory. getClient (serviceURL.toString(), DSInterfaceWebservice.class );Jicdepti nfo jicdept info =new Jicdept info();jicdept in fo.setCOid(10);jicdeptinfo.setCCode("");jicdept in fo.setC Un it name(&qu

38、ot;");jicdeptinfo.setCParentunitid("");jicdeptinfo.setCuorder( "");jicdeptinfo.setCuformal("");jicdeptinfo.setChangetype("");jicdeptinfo.setChangetime("");/新增部门String addValue = service.putDsDeptl nfo(jicdept in fo);227需要的其它效劳这些效劳提供的是验证用户或修改密码的效

39、劳。如下: 应用系统用户认证效劳:应用系统在单独访问自己系统的时候,调用门户系统提供的访问ldap接口,根据用户登录ID,密码,所登录系统的标识,来判断该登录系统的用户是否在, 如果存在那么登录成功,否那么返回。loginid为用户名,pwd为密码(密文),sysidentify(系统标识).public String userValidate (Stri nglog inid.String pwd,Stri ngsyside ntify) 输出样例:返回值为true,那么认证通过用户,返回出错时,那么根据返回的结果进展友好提示。1 提示用户名不存在2 提示密码不对3 提示该用户

40、没有访问系统权限227.2.门户密码修改效劳:该效劳提供修改门户系统密码功能,可以使用IBM的itim_expi.war 来实现这个功能。该功能会提供一修改密码页面,只要输入门户系统用户名、旧密码、新 密码,那么修改成功。验证应用系统用户是否存在根据用户登录ID,查询该用户在ldap上是否存在,loginid 为用户名publicStri ng isExistUserI nfo(Stri ng logi nid)输出样例:返回值为true,那么存在此用户,false,那么不存在此用户。227.4获取应用系统用户信息根据用户登录ID、系统标识取出用户的信息,log in id为用户

41、名public String getSpecifyUserInfo(Stringloginid. String sysidentify)输出样例:<?xml versio n="1.0" en codi ng="GB2312"?>vWebResp on se><method>getSpecifyUserl nfo</method<code>1</code><message> 成功 </message><user><log ini d>zha ngxiao min gadm in</log inid><emp nu mber>1</emp nu mber><ide ntify>OOOO</ide ntify><

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论