系统集成

系统集成需要注意的点:

1、减少因包装引起的调用工作量。

具体来说,就是包装时应该减少不必要的调用工作量,对原产品的调用方式和返回的结果不因包装了一层而改变,即包装器完全是一个中间人。

来看看下面这样的例子:

@Override
    public CloseableHttpResponse getHttpResponse(List<String> paramsInUrl, Object paramsInBody, XxRequestEnum xxRequestEnum, String servletPath,String xauth) throws IOException {
        // 通过传入url和各种参数,直接返回响应结果的方式
    }

中间人不参与拆开请求,也不参与拆开结果直接返回。

2、在调用外部系统的时候,如果有无限期等待或者CAS,需要设置超时时间

简单来说就是,如果出现死循环,且死循环的跳出条件来自于外部,那么这个死循环就需要设置超时时间。

来看看下面这个例子:

while(true){
    try{
        Thead.sleep(1000);
    }catch(Exception ex){
    }
    String x = getX(); // getX()是一个集成的外部产品的状态
    if(x.equires("completed") || x.equires("aborted")){
        break;
    }else{
        continue;
    }
}

上面调用 g e t X ( ) getX() getX()这个方法就是利用CAS的方式去轮询X的状态,然后根据X的状态作为死循环退出的条件。如果外部服务挂掉了,那么这个CAS就一直停不下来。

3、如果集成的模块之间有状态变化,利用UML时序图来控制流程

不同模块的开发人员应该设计出相关的交互流程,推荐利用UML时序图来做指导。在系统流程比较复杂的前提下,如果没有一个确定的流程做指导,那么写出来的代码就很可能出现偏差。

来看看下面的例子

@startuml
start

end
@enduml

目前idea支持比较好的有puml,通过安装plantuml plugin的方式,可以让你写的uml,直接有图可看。

4、如果有直接利用的数据来自于外部(同样适用于来自于数据库,文件等存储方式),需要判断是否合法,从而避免出现不必要的异常。

这个点其实延展于开发者对编程中需要判断数据合法性的意识。在我们的编程中,通常需要对数据进行判NULL和判空处理。看似无迹可寻的判断,其实可以理解为,当使用的数据来自外部,包括另一个class/存储/外部模块,即非本身class的时候,都需要处理。

处理的方式有很多种

1、利用assert()对结果进行判断,如果非法就会抛出异常。此时必要的是,当前你的代码必须有对异常处理的函数
2、字符串可以使用common3的StringUtils.isBlank()方法进行判断,当然,这个方法等价于对NULL和空值的判断。
3、直接对null进行判断就行了

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海燕技术栈

你的鼓励我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值