1.单点登录和单点穿透
单点登录:单点登录就是我们这边提供一个链接或则按钮给OA,OA触发这个事务,成功登录到我们BIP系统。单点登录的好处上一个学习笔记我们已经介绍了。内部人员可参考(BIP630单点开发方案)。
单点穿透:OA方传递id(单据id),和单据类型(type),点击触发事务后可以直接访问到具体的单据(采购订单,付款单,资金付款单,还款单等等)。
2.具体思维逻辑
(1)单点登录:
a.首先我们httpservletrequest请求来获取到OA给我们的ticket;
b.我们获取到ticket的同时,向OA发送用户信息请求;
很多人跟我一样最开始有一个疑惑,就是为什么我们拿到ticket后,为什么又要把ticket给到OA方。大家可以搜索一下(验票功能)。也可以理解为我们拿到有效票据ticket,,然后把有效ticket作为参数,他们验票通过就会给我们用户信息。
c.我们获取到用户信息后,比如用户编码(usercode)。我们在通过方法调用数据库来获取到对应的用户id。
d.我们得到用户Id后就可以获取有效的临时token;
e.最后我们需要跳转的地址,所需要的元素就可以拼接为一个目标完整地址。
(2)单据穿透:
其实单据穿透和单点登录的原理大同小异;我们为了最终的url;去合理的获取其中的元素来进行拼接。区别在于,OA给我们的数据不一样。
3.心得体会和总结
1.写代码的时候一定要注意代码规范(命名规范,注释规范等等)
2.写代码的时候一定要思路清晰,我们进行多系统开发,利于后期升级和维护很有必要,这样可以大大降低时间和人力成本。比如a.共同的方法我们可以写在一个通用的类中,后面进行封装调用即可;b.共同的url我们可以写在活跃配置文件中;c.我们单据穿透的地址,可以存在数据库中,我们根据OA方传递的单据类型来查到对应的url等等。我这一次感觉自己进步很大,不仅是学习到的东西和方法,还有编码的思维和思路
3.最最最体会深的是,我们要对必要的字段进行判空处理,然后报出错误,可以精确查询到错误的位置,也一定程度上提高效率。