主系统如何与周边子系统进行数据交互

Jieven 发布于 2013/05/10 22:38
阅读 486
收藏 2

OSC的各位前辈大家好,想跟大家请教一个问题:

场景如下:
主系统:资源服务平台(某通信OSS资源管理系统,下简称RES)
子系统:例如:对外WebService部分。

问题举例:
现RES需要对外开放接口,比如给CRM调用查询FTTH资源。
所以会做一些WebService接口,因为RES本身比较庞大,所以WebService是单独实现的。
但是有时候,WebService需要调用Res现有某些Service方法。
方法1:copy代码,这种明显不可取。
方法2:引用整个资源服务平台(将两个项目部署在一起,这样就可以用Res的Service方法了)
目前采用的是方法2,为了用一个方法,将整个平台搬过来实在太笨重了。
方法3:使用Http交换数据,Res是C/S架构,不支持Web。

所以希望大家能够推荐一些好的解决方案!

@红薯 @JFinal @绝望的八皮 @龙影 @毛朱

加载中
0
JFinal
JFinal

     将主系统与子系统中共用的部分抽取出来单独开发,让两个系统同时依赖于这个共用部分。

    对于你的应用场景,使用http或webservice交换数太麻烦,没有必要。如果将来系统向多服务演化,可以将系统抽分成多个服务独立开发,然后再开发一个数据通信工程,让各个服务进行依赖,从而非常方便地实现服务间快速通信。国内一些大型的 web 系统采用的是这种形式,新浪微博甚至开发了一个通信总线的服务

Jieven
Jieven
引用的部分是一个Service查询方法,不是一个纯逻辑方法,并且Service方法依赖该项目使用的开发框架。 目前看来,最实际的办法应该是,子系统也使用该开发框架,然后linkSource该Service,然后在子系统注册该Service,然后在子系统使用。
0
绝望的八皮
绝望的八皮

c/s?不能暴露成http服务出去?你意思就是用一部分res的代码,然后把整个项目代码拷贝到另一个项目里面了?

没明白为什么不能走http

Jieven
Jieven
应该可以走HTTP,但是部署方式要大改,如果部门老大不推进很难做这个事情。 如果WebSercie系统走HTTP向主系统拿数据,这样就要单独部署一个主系统专门供周边子系统使用,这样这个系统肯定需要负载的,这样部署方式就要变更,我估计他们不会同意这么干的。到时候可以作为一种解决方案提出来。 目前最好的办法有两种, 1.走HTTP拿数据,这个实现简单,方便 2.直接通过RMI调用BS
0
Credo-Zhao
Credo-Zhao
rest不行?
Jieven
Jieven
跟REST貌似没有多大关系
0
就是个精虫上脑的地方
Jieven
Jieven
是RMI的架构,但是部署并没有分开,UI和BS在一起
0
excepiton
excepiton
Spring + hessian
Jieven
Jieven
不能用第三方开源框架,开发平台架构是自己实现的
0
王瑞平
王瑞平
在RES上做一个代理访问层,webservice只访问这个就够了
Jieven
Jieven
太抽象了,代理访问层咋设计
返回顶部
顶部