各位大侠,小弟我在开发中遇到这么一个问题,请大侠们过目,给点建议。
场景描述:
当前有两个web 工程,两者是独立的,没有任何关系,
现在的任务是需要把这两个工程整合下,达到两个系统协同,如在一个系统中增加了一个帐号,另一个系统也要增加同一个帐号。
前提是尽量不要修改现有代码。
请各位大侠帮小弟出出主意,不胜感激!
可不可以这么做
如果单纯的是向另外一个系统添加用户 并且仅仅靠用触发器无法实现
可不可以考虑以下方式:
数据库中添加一个表UserNeedSync
主要字段如下
UserID、From、To、ChangeType、Done(如果需要还可以添加password等其他信息)
ChangeType表示修改类型(增删改)
Done表示是否同步完成
然后为两个系统各自的用户表各添加一个触发器
有更改(新增、修改、删除)的话 则向这个表里写一条记录
新增一个Service 对UserNeedSync进行轮询
如果有记录的话则根据记录信息进行同步
完成后给Done字段标识
这样的话 仅仅是新增了代码
并没有修改原有的程序结构
能否满足lz的要求呢?
那就写个数据库触发器,
一个系统中增加了一个帐号时,另一系统增加同一个帐号。
两个应用程序操作同一个数据库,不改代码只整合数据库。
请问这两个系统是否都提供了跟外部交互的接口了呢?
不修改现有代码基本不可能吧 扩展一下
[quote]现在的任务是需要把这两个工程整合下,达到两个系统协同[/quote]
首先你们要确定这个协同的范围是什么!
按照你的描述似乎只要在一个系统建立的账号和密码在另外一个系统能访问了,情况是这样吗? 还有没有别的要影响的地方,比如说,你在一个系统账号的权限,是否在另一个系统也有相应的权限,是否需要权限映射? 等等。 在动手做之前,你们要把这些问题先确认清楚。
[quote]领导给的原则是,代码要尽量改的少,请问各位大侠,有有没有好的经验,指点下啊![/quote]
根据经验,代码改动少不了。 这种应用使用EJB比较好。