采用SOA后,各个系统如何实现共用部分组件,如头部、底部

问题描述

公司的内部办公系统进行了服务化改造,基于阿里的dubbo,最终整套系统运行时包含好多子系统,tomcat之间实现了session共享,通过nginx实现反向代理,使用户看起来还是一个系统。 现在有几个问题一直困惑我:1、多个子系统中其实有部分内容是相同的    1.1 典型的就是头部和底部,现在是通过ajax请求来实现,但是这样的用户体验非常不好。    1.2 原先在一个系统中可以通过include等方式实现页面的复用,很容易实现如所有页面都要包含一段html的需求。2、现在按照一个个业务模块进行的划分,包括基础服务,业务服务,项目非常多,服务关系的管理及部署维护的问题也出来了。个人觉得作为一个公司内部的办公系统,其实只要把诸如邮件,消息,文件,索引,权限等进行服务化,为更高层的业务服务即可,还没到需要把所有的进行拆分。3、公司现在有多个子公司,都需要部署OA,所以又要进行改造,以支持多企业,按照目前的情况来说,如果不解决以上问题,继续进行下去失败的风险很高。 注:开发人员不多就6个。 对于以上问题,希望各位给点意见建议,谢谢!

解决方案

SOA并不是意味着要把所有的内容作服务化,需要根据实际的情况(访问量、发布的频繁程度、系统的复杂程度、开发人员的数量、可靠性的需求约束等)决定如何进行拆分:对于问题1:之前采用过一个做法就是将页面的框架部分单独做成一个Jar包,其他War包引入进来,框架部分做成可以配置的(比如头部和尾部风格变更了,直接修改数据库就可以搞定),不是非常理想,但是解决一般性的不是很复杂的问题足够了;对于问题2:采用远程访问(dubbo)的方式还是本地API(依赖的内容做成一个Jar包引用起来)各有优缺点: 。远程:服务之间发布独立、降低Jar包冲突的可能性、管理起来相对复杂; 。本地API:部署简单、管理容易、Jar包冲突可能性较高、服务之间独立性稍差; 一般来说是二者结合的:比如Util之类的包一般是API方式的,而底层系统以独立部署的居多最后:按照6个开发人员的规模,以及应用的场景,建议独立部署的服务控制在12个以内。

时间: 2025-01-26 12:06:12

采用SOA后,各个系统如何实现共用部分组件,如头部、底部的相关文章

基于SOA的MES系统及其应用

随着MES的深入应用,制造型企业对系统集成的要求也越来越高.据统计,全球40%的IT预算是应用于系统集成的,而系统集成问题在MES方面显得更为突出,这是因为,MES是一个将企业的ERP系统和底层的自动化系统集成在一起的中间层管理软件,主要用于对车间的生产.质量.设备等方面进行详细计划.信息反馈和数据分析,是一个承上启下的软件,需要与ERP系统和自动化系统实现双向的信息集成,接收ERP下达的车间生产计划,并进行详细计划和任务分配,向ERP系统反馈生产.质量等信息,对自动化系统进行控制,读取相应的数

传停止服务后XP系统电脑10分钟内就会被感染

[导读]专家表示,"10分钟被感染"尽管不是一个准确的说法,但是比较形象地指出了使用停止服务的操作系统电脑所面临的安全风险.距离4月8日微软完全停止为Windows XP系统提供支持服务,还有40余天.近日有消息称,有国外专业人士提醒用户,微软停止服务后"XP系统的电脑10分钟内 就会被感染".这一说法引起广泛关注.对于部分仍在使用XP的用户而言,风险真有这么高吗?北京青年报记者就此采访了相关专家."10分钟被感染"说法形象但不准确针对这一&qu

360修复漏洞后WinXP系统蓝屏该怎么办?

360修复漏洞后WinXP系统蓝屏该怎么办?   修复漏洞后蓝屏的解决办法: 方法一:如果可以开机按F8选择进入安全模式的话,我们可以进安全模式后,直接把这两个补丁文件删除卸载即可. 方法二(如果不能进安全模式):我们可以进入PE维护系统,具体操作如下: 使用PE工具盘进入PE环境下→在"我的电脑"中进入XP系统所在的分区→进入Windows文件夹.此时看到诸 如$NtUninstallKB2838727$这类的文件夹(NTFS分区则文件夹显示为蓝色). 比如这里假设我们在蓝屏之前安装

修复漏洞后XP系统蓝屏怎么办

修复漏洞后XP系统蓝屏怎么办   360修复漏洞后WinXP系统蓝屏的具体解决方法: 方法一:开机后按F8选择进入安全模式,如果能够进入进安全模式,就直接把这两个补丁文件删除卸载就ok了. 方法二(如果不能进入安全模式):还可以进入PE维护系统,具体操作如下: 使用PE工具盘进入PE环境→在"我的电脑"中进入XP系统所在的分区→进入Windows文件夹.这时看到诸如$NtUninstallKB2838727$这类的文件夹(NTFS分区则文件夹显示为蓝色).比如假设我们在蓝屏前安装了编号

CF游戏更新后win8系统不能全屏怎么办?

CF游戏更新后win8系统不能全屏怎么办?   win8不能全屏是跟官方最近更新的v3.5.9版本相关,在更新中,我们看见了优化win10全屏,那么就有可能是官方优化好win10后win8又出问题了! 那么又该如何解决? 下面百事网小编就提供一个简单调分辨率和调整游戏分辨率就能让游戏全屏的方法! 右键桌面选择屏幕分辨率: 调到1024x768 保存更改! 然后进入游戏,然后游戏的分辨率调到1024x768

Win8系统安装显卡驱动后造成系统黑屏的解决方法

  Win8系统虽然提升了不少性能,也获得了很多用户的喜爱.但是,依然避免不了一些不可测问题的发生.最近,就有一些Win8用户反映自己在安装完显卡驱动之后,系统却突然出现黑屏,有的时候黑屏是灯还是亮的,只是屏幕什么都没有,有的时候还会一闪一闪的.这是怎么回事呢?小编想可能是驱动不兼容的问题吧.那Win8黑屏为什么跟显卡驱动存在关系呢?接下来小编就向大家分享Win8系统装完显卡驱动后出现黑屏问题的处理方法.. Win8系统安装显卡驱动后造成系统黑屏的解决方法 具体方法 1.按桌面左下角的win键,

win7/win8.1升级win10后重装系统需要密钥吗

  win7/win8.1升级win10后重装系统需要密钥吗?win7/win8.1用户可以在win10发布后的第一年免费升级.那么win7/win8.1升级win10后重装系统需要密钥吗?下文小乐哥为大家介绍一下! 因为系统在运行一段时间后,由于各种原因,往往都需要重装.此时是否还需要像升级时那样先安装win7/win8.1再升级到win10呢?而这一问题如果出现在win10发布一年后,重装系统是否需要交钱呢? 微软Win10预览体验计划负责人Gabriel Aul今天在Twitter上回答了

.NET Core采用的全新配置系统[2]: 配置模型设计详解

在<.NET Core采用的全新配置系统[1]: 读取配置数据>中,我们通过实例的方式演示了几种典型的配置读取方式,其主要目的在于使读者朋友们从编程的角度对.NET Core的这个全新的配置系统具有一个大体上的认识,接下来我们从设计的维度来重写认识它.通过上面演示的实例我们知道,配置的编程模型涉及到三个核心对象,它们分别是Configuration.ConfigurationSource和ConfigurationBuilder.如果从设计层面来审视这个配置系统,还缺少另一个名为Configu

java web-淘宝搜索功能,用户在输入框输入关键字后,系统自动根据关键字进入搜索页面后会再次生成筛选条件

问题描述 淘宝搜索功能,用户在输入框输入关键字后,系统自动根据关键字进入搜索页面后会再次生成筛选条件 页面如何根据搜索条件 再次显示相关物品的筛选条件 供用户进行选择 是如何实现的 求原理 最近自己在做一个网上商城项目 需要效果和淘宝,京东等差不多. 解决方案 在不同的类别中搜索,那这些类别中的筛选条件汇总 解决方案二: 页面如何根据搜索条件 再次显示相关物品的筛选条件 供用户进行选择 是如何实现的 求原理 最近自己在做一个网上商城项目 需要效果和淘宝,京东等差不多. 说白了,就是组合条件查询,