Lotus&Domino 手机应用专题. 实现方式三


    实现方式三:接口方式(能提供源代码的推荐使用)
    主要是通过改造调整现有的系统代码;进行接口开发;这些接口能对原有系统的关键应用(如OA审批、获取OA待办)进行操作。


    1、使用条件
    在原来的系统能提供源代码的修改,我们可以采用这种方式。也是一种比较传统的模式。
    我们实施团队中有7年以上的LOTUS开发和实施经验的人员3名,10年以上的有1名;完全能胜任Lotus系统中的代码改造;绝对不影响目前系统的正常使用。
    另外,在长期实施中,我们有相当多的代码库积累;其中获取视图列表(如OA待办已办公文)、文档信息等功能都只需要在lotus nodes中进行配置就可以完成接口的提供,完全不需要代码改造;需要改造部分就只是流程审批部分。


    2、实现的原理
    由此我们将采用改造原有系统的OA办公的方式进行,思路大概如下:
    a4
    1) 开启Lotus的http服务。原系统为B/S模式的则不需要。
    2) 新建一个pda.nsf库,将原有C/S或B/S代码重新翻译,使之能通过HTTP POST调用;用于与原来的nsf库进行数据交换,同时提供MAStudio的数据接口。
    3) 开启Lotus里的Internet的用户口令;做为移动OA的登陆口令,用户名按照现在的用户名。原系统为B/S模式的则不需要。


    3、接口定义
    登陆-DOMINO验证
    1) Method: POST
    2) URL :HTTP://127.0.0.1/names.nsf?login
    3) POSTData:
    "%25%25ModDate=1160839400000000&RedirectTo=%2Foffice2004%2Findex.nsf&Username=" + 用户名+ "&Password=" + 密码+ "&submit.x=19&submit.y=8"
    4) 返回结果:
    返回结果包含Cookie则成功.
    获取列表(待办、待阅)
    该功能通过MASTUDIO提供的pda.nsf;里面有个getView的代理;它就能直接获取视图的数据;无需要做二次开发。

    a5


    获取文档资料
    该功能通过MASTUDIO提供的pda.nsf;里面有个getDocument的代理;能做到通过配置就可以获取各域的值;无需做Lotus代码开发。

    a6

    a7

    a8

    a2

    其中定义的类型支持多种,如:
    a3

    调用格式:
    a3


    获取文档的流转信息
    1) Method: GET
    2) URL :
    url =“HTTP://127.0.0.1/pda.nsf/PDA_showFlowHistoryBox?openagent”
    <id>ASD23423JSDJF2345345345</id> //文档UNID,36位
    3) 返回结果
    <root>
    <date>(.+?)</date> //日期
    <nodeName>(.+?)</nodeName>//环节名
    <person>(.+?)</person>//操作人
    <post>(.+?)</post>//动作
    </root>


    获取下一环节名称
    1) Method: GET
    2) URL :
    HTTP://127.0.0.1/pda.nsf/PDA_showFlowHistoryBox?openagent
    &<mainId></mainId>//文档UNID,36位
    <mode>0</mode> //发送模式,0发送下一步,1退回
    3) 返回结果
    <root>
    <flowId>(.*)</flowId> //流程ID,38位
    <nodeNames>环节1,环节2,环节3</nodeNames>//环节名
    <defMan>(.*)</defMan>//当前环节指定的第一个处理人
    </root>


    获取常用意见
    1) Method: GET
    2) URL :
    HTTP://127.0.0.1/pda.nsf/PDA_getPersonOpinion?openagent
    3) 返回结果:
    <root>
    <useOpinion><body>同意!</body></useOpinion>
    <useOpinion><body>不同意!</body></useOpinion>
    <useOpinion><body>已阅!</body></useOpinion>
    ……
    </root>


    保存意见
    1) Method: POST
    2) URL :
    HTTP://127.0.0.1/pda.nsf/ag_flowSaveOpinion?openagent
    &<mainId>文档ID</mainId>//文档ID
    <isPDA>1</isPDA> //标识是手机调用
    3) POSTDATA:
    <opinionBody>同意!</opinionBody> //意见内容. 注意需要用ESCAPE编码
    4) 返回结果:
    <root><root>ok</root></root> 表示成功。


    发送到下一环节
    1) Method: POST
    2) URL :
    HTTP://127.0.0.1/pda.nsf/ag_flowControl?openagent
    3) POSTDATA:
    // 注意需要用ESCAPE编码
    <mainDocId>SFSDF</mainDocId> //文档ID
    <nextNodeName>审批环节</nextNodeName>//下一环节名称
    <nextNodeMen>张三</nextNodeMen> //下一环节处理人
    <mode>0</mode> //发送模式,0表示发送下一步,1表示退回下一步.
    <isSms>0</isSms> //标识是否需要发短信通知.
    4) 返回结果:
    <root>成功提交到[审批环节],张三处.</root> //返回成功处理的信息.

     

大客户定制开发咨询
电话:025-87754180
OEM合作与增值合作咨询
电话:13951904263
在线咨询
开发支持
QQ群二:27714869 QQ:1471059225 服务时间
工作日:8:30~18:00
  • 隐私声明
  • 招贤纳士
  • 联系我们
  • ©2011 MAStudio Inc 苏ICP备9987900