论坛首页 Java企业应用论坛

关于这样一个异构系统的设计,你有何高招

浏览 26130 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-19  
A系统是用JAVA写的WEB application,部署在Tomcat下。而且这个系统分布在全国近30个地区,他们各自在不相干扰基本就类似一个C/S结构的系统。(而且这套系统已经在使用)

现在需要设计一套这样的系统:
要求B系统也是用JAVA来写的WEB-APPLICATION,它部署在WEBLOGIC中这套系统用来专门收集分散在全国多个地区A系统的数据(统计)和自身的其他一些功能,而且这些数据需要在B系统中尽可能的做到实时响应显示。经过分析B系统只关心A系统中一些关键的业务表。如果是你,你会如何设计这样一套B系统?
   发表时间:2008-08-19  
这套B系统其实我们在05年已经做完,而且目前一直在运转。这里只是想了解下还有什么更好的方式没有
0 请登录后投票
   发表时间:2008-08-19  
先说说你们是怎么作的,我再给你提更好的方式
0 请登录后投票
   发表时间:2008-08-19  
其实这就应该属于bi的一部分,你可以阅读bi的相关资料,了解一下Pentaho 邓开源技术。肯定对你有所帮助。
0 请登录后投票
   发表时间:2008-08-19  
楼主何不把你的经验分享给大家,大家看看能否有什么改进?
0 请登录后投票
   发表时间:2008-08-19  
实时响应,这开销有点大,估计服务器那边的网络带宽不小,否则非炸了不可。
0 请登录后投票
   发表时间:2008-08-19  
这里有朋友强调要求说出当时我们的方式,那就献丑了。希望得到大家的指正。
首先要说明的是,这个方式当时实在没有想到好的处理方式(在客户现场封闭式开发,人都要崩溃),其实在做的过程我一直怀疑我们的方式。

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

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

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

大概思路就是这样,具体细节就不说。希望得到大家板砖
0 请登录后投票
   发表时间:2008-08-19  
yeshucheng 写道
这里有朋友强调要求说出当时我们的方式,那就献丑了。希望得到大家的指正。
首先要说明的是,这个方式当时实在没有想到好的处理方式(在客户现场封闭式开发,人都要崩溃),其实在做的过程我一直怀疑我们的方式。

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

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

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

大概思路就是这样,具体细节就不说。希望得到大家板砖


大部分类似的系统都是这么做的,包括金融公司、大型零售商他们的系统也都是这么样给设计的。

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

我感觉这种风格不灵活,但特别精确,一份数据好几个存档,毫无做手脚的余地。
0 请登录后投票
   发表时间:2008-08-19  
所以说这个系统我就想提出来,看看大家有什么别的好想法没有。

确实像LS说的一样,设计比较死板。不过数据的修改,删除,新增精确到每一条。
0 请登录后投票
   发表时间:2008-08-19  
yeshucheng 写道
所以说这个系统我就想提出来,看看大家有什么别的好想法没有。

确实像LS说的一样,设计比较死板。不过数据的修改,删除,新增精确到每一条。

如果是我的话可能会考虑给这几张表增加一个“是否已经抽取到B系统中”的标志字段,然后也是定时地读数据到B系统中,再更新该次读过的记录的标志。不过这跟你的做法没啥本质的区别
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics