• 异构系统的设计


    企业应用 A系统是用JAVA写的WEB application,部署在Tomcat下。而且这个系统分布在全国近30个地区,他们各自在不相干扰基本就类似一个C/S结构的系统。(而且这套系统已经在使用) 现在需要设计一套这样的系统:
    要求B系统也是用JAVA来写的WEB-APPLICATION,它部署在WEBLOGIC中这套系统用来专门收集分散在全国多个地区A系统的数据(统计)和自身的其他一些功能,而且这些数据需要在B系统中尽可能的做到实时响应显示。经过分析B系统只关心A系统中一些关键的业务表。如果是你,你会如何设计这样一套B系统?

    方案一:

    1.由于A系统是不允许破坏他们的代码结构,尽管当时他们的系统还在试运行。经过我们分析,在B系统中我们真正需要的就是5到6张表的数据。和A系统开发人员商量后,最终决定由我们来构建一个类似日志表,这个就意味着需要把这5,6张表的变化数据触发到这个日志表。而我们另外再帮A系统开发一个类似外挂WEB小页面,通过这个页面采用quartz来定时发送。

    2.在B系统中,我们直接采用spring JDBCTemplate的方式到后台提取数据,然后页面统计等功能,其他功能就不复述。

    这里值得怀疑的有几点:
    1.所谓实时其实并没有阐述中说的那样及时,当然这个本身客户也并非要求达到毫秒级别的实时。但是我觉得这个是失败的。
    2.在A系统中是采用数据库的触发器,这个其实还好对方客户好说话。其实一般客户是不会暴露底层数据库给你的,而且这里采用触发器也是个值得商榷的事情。

    如果再配上COBOL,基本上就是美国软件的那种风格了

    案例二:

      A 系统要将 一些数据传给 B系统
    2个系统 数据库 是隔离的

    现在的方法 是 A 系统 在一定的状态下 调用 系统B 的webservice,传给 B系统插入 B数据库中,

    但是 每次传输的数据有点多,速度 很慢,需要10多分钟才能传完一个批次的数据,你可能 想到 能不能一次 少传输点 数据 ,这个办法 先不考虑,因为必须一次 传1个批次,1个批次的数据不能减少了

    方案一:ftp或http,传完后,webservice通知处理入库。

    参考:http://www.iteye.com/topic/767601

            http://www.iteye.com/topic/230012

          

  • 相关阅读:
    arthas常用命令记录
    idea 的 http-client
    springboot 接口层参数校验 自定义参数校验
    Spring AOP 实现——使用annotation、pointcut、aspect
    Redis 热点名词
    SpringCloud注册发现配置
    【设计模式】-行为型-11-解释器模式
    【设计模式】-行为型-10-备忘录模式
    【设计模式】-创建型-9-访问者模式
    Kubernetes运行原理
  • 原文地址:https://www.cnblogs.com/wjlstation/p/2466526.html
Copyright © 2020-2023  润新知