CN107463365A - 一种soa解决方案系统及方法 - Google Patents
一种soa解决方案系统及方法 Download PDFInfo
- Publication number
- CN107463365A CN107463365A CN201610712809.6A CN201610712809A CN107463365A CN 107463365 A CN107463365 A CN 107463365A CN 201610712809 A CN201610712809 A CN 201610712809A CN 107463365 A CN107463365 A CN 107463365A
- Authority
- CN
- China
- Prior art keywords
- service
- layer
- business
- data
- business logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种SOA解决方案系统及方法,软件开发和软件架构设计领域,包括系统内依逻辑顺序连接的四个主系统,所述主系统依次为展示层、业务逻辑层、基础服务层和数据层,四个所述主系统分别包括若干个对应配置项,所述展示层用于用户与公司交互使用,提供可交互界面给用户使用,完成公司提供的各种业务服务;所述业务逻辑层,用于根据公司业务变化,组装小型的基础业务服务成为满足实际业务的大型业务服务,所述基础服务层,提供业务逻辑变化很少或者基本不变的业务服务接口,所述数据层,用于存储各种业务服务的数据,本申请提供一种系统性能稳定、效率高、易于部署和维护的SOA解决方案系统及实现方法。
Description
技术领域
本发明涉及软件开发和软件架构设计领域,具体涉及一种SOA(面向服务的体系结构)解决方案系统及方法。
背景技术
SOA 是一种在计算系统开发和集成阶段期间使用的设计原则的灵活集合,SOA 将功能分为开发人员可以通过网络访问的不同功能单元或服务,目的是为了允许用户在应用程序产品中组成并重新使用它们,基于SOA 的系统可以将功能封装为能够在来自若干商业领域的多个独立系统内使用的可互操作服务组件,目前为实现支撑大规模、高并发的分布式系统,大多数SOA解决方案偏重量级,性能一般,部署复杂,维护成本较高,另外部分轻量级SOA解决方案只着重解决部分问题,未形成整体解决方案,往往还存在系统不稳定情况。
发明内容
本申请提供了一种系统性能稳定、效率高、易于部署和维护的SOA解决方案系统,还提供了一种实现系统性能稳定、效率高、易于部署和维护的SOA解决方案系统的方法,其技术方案如下:
一种SOA解决方案系统,包括系统内依逻辑顺序连接的四个主系统,所述主系统依次为展示层、业务逻辑层、基础服务层和数据层,四个所述主系统分别包括若干个对应配置项;
所述展示层,用于用户与公司交互使用,提供可交互界面给用户使用,完成公司提供的各种业务服务;
所述业务逻辑层,用于根据公司业务变化,组装信息粒度为小型的基础业务服务成为满足实际业务的大型业务服务;
所述基础服务层,提供业务逻辑变化很少或者基本不变的业务服务接口;
所述数据层,用于存储各种业务服务的数据。
作为优选,所述展示层的配置项包括CMS(内容管理系统)管理平台、便利店管理平台、供应链管理平台、仓库管理平台、Mall(购物中心)。
作为优选,所述业务逻辑层的配置项包括CMS(内容管理系统)、便利店、公用模块、支付网关、Mall(购物中心)。
作为优选,所述基础服务层的配置项包括商品服务、订单交易服务、用户服务、仓库平台、采购平台。
作为优选,所述数据层的配置项包括商品数据、用户数据、订单交易数据、仓库数据、公用库数据。
作为优选,还包括辅助系统,所述辅助系统包括缓存模块、配置中心、消息队列和日志监控系统;
所述缓存模块分别通讯连接所述业务逻辑层和基础服务层,用于存储所述业务逻辑层和基础服务层的常用数据;
所述配置中心通讯连接所述四个主系统,用于管理所述系统的配置项;
所述消息队列通讯连接所述业务逻辑层和基础服务层,用于提高系统的鲁棒性;
所述日志监控系统通讯连接所述业务逻辑层,用于监控系统的运行状态。
一种实现SOA解决方案系统的方法,包括以下步骤:
(1)用户通过负载均衡器发出请求;
(2)展示层接受请求通过负载均衡器发给业务逻辑层,同时备份给配置中心;
(3)业务逻辑层接受来自展示层的大型业务服务请求,通过负载均衡器传给基础服务层,同时备份给配置中心;
(4)基础服务层接受请求并解析为若干个小型基础业务服务传给数据库;
(5)数据层接受基础服务层的信息并传给公司。
依据上述技术方案,本系统包括四个主系统,依次为展示层、业务逻辑层、基础服务层和数据层,还包括辅助系统,所述辅助系统包括缓存模块、配置中心、消息队列和日志监控系统,具有以下有益效果:
1,定义了每个系统的职能以及在整个分布式系统中的位置,定义清晰,易于部署和维护;
2,减少了开发人员不必要的思考,更多的关注业务逻辑,大大提高了开发效率;
3,架构的清晰,bug(故障)比以前少了很多;
4,系统可以水平无线扩展部署,大大挺高了系统性能。
附图说明
下面通过具体实施方式结合附图对本发明作进一步详细说明。
图1为本发明四个主系统的流程示意图;
图2为本发明的整体示意图;
图3为本发明中应用程序框架示意图。
其中,1、展示层;2、业务逻辑层;3、基础服务层;4、数据层;5、缓存模块;6、消息队列;7、配置中心;8、日志监控系统;9、负载均衡器。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
如图1所示,一种SOA解决方案系统,包括系统内依逻辑顺序连接的四个主系统,所述主系统依次为展示层1、业务逻辑层2、基础服务层3和数据层4,四个所述主系统分别包括若干个对应配置项;
所述展示层1,用于用户与公司交互使用,提供可交互界面给用户使用,完成公司提供的各种业务服务;
所述业务逻辑层2,用于根据公司业务变化,组装信息粒度为小型的基础业务服务成为满足实际业务的大型业务服务;
所述基础服务层3,提供业务逻辑变化很少或者基本不变的业务服务接口;基础服务层特点是服务接口信息粒度很小,供上传服务使用;
所述数据层4,用于存储各种业务服务的数据。
其中信息粒度(granularity)指的是信息单元的相对大小或粗糙程度,信息粒度是信息架构的第一步,从信息粒度着手,准确分析其上下级的关系,信息单元可进行有效地组合并传递给用户,建立起信息和信息之间的相关度。
作为优选,所述展示层1的配置项包括CMS管理平台11、便利店管理平台12、供应链管理平台13、仓库管理平台14、Mall15。
作为优选,所述业务逻辑层2的配置项包括CMS21、便利店24、公用模块25、支付网关22、Mall23。
作为优选,所述基础服务层3的配置项包括商品服务31、订单交易服务35、用户服务33、仓库平台34、采购平台32。
作为优选,所述数据层4的配置项包括商品数据41、用户数据43、订单交易数据44、仓库数据45、公用库数据42。
作为优选,还包括辅助系统,所述辅助系统包括缓存模块5、配置中心7、消息队列6和日志监控系统8;
所述缓存模块5分别通讯连接所述业务逻辑层2和基础服务层3,用于存储所述业务逻辑层2和基础服务层3常用的数据;通过把常用的数据放到缓存中,提高系统的响应速度。
所述配置中心通讯连接所述四个主系统,用于管理所述系统的配置项;一个庞大的具有很多分布式系统都有非常多的配置项,配置项越多,系统的维护成本越高,为了较低系统维护成本,开发了一套统一的配置中心,减轻各个系统的维护成本。
所述消息队列6通讯连接所述业务逻辑层2和基础服务层3,用于提高系统的鲁棒性;鲁棒性(robustness)就是系统的健壮性,它是在异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性,所谓鲁棒性,是指控制系统在一定结构,大小的参数摄动下,维持某些性能的特性,消息队列6一般为分布式系统的组件之一,主要目的是提高系统的鲁棒性,让系统更加稳健地运行。
所述日志监控系统8,用于监控系统的运行状态。在系统出现问题时,日志监控系统8能第一时间告知相关人员去解决,也能在系统快接近非正常状态时,及时的通知相关人员,避免问题的发生。
一种实现SOA解决方案系统的方法,包括以下步骤:
(1)用户通过负载均衡器9发出请求;
(2)展示层1接受请求后通过负载均衡器9发给业务逻辑层2,同时备份给配置中心7;
(3)业务逻辑层2接受来自展示层1的大型业务服务请求,通过负载均衡器9传给基础服务层3,同时备份给配置中心7;
(4)基础服务层3接受请求并解析为若干个小型基础业务服务传给数据层4;
(5)数据层4接受基础服务层3的信息并传给公司。
本发明的一种具体实施方式如下:
如图2所示,整个SOA解决方案系统的调用顺序一般如图所示:
1)用户发起一个请求,经负载均衡器9根据配置的路由算法(有Robin,LRU,IP hash等,优选Robin),把请求路由到展示层1的一套web服务器进行处理,Web服务器主要对用户的输入和权限进行初步的检查,然后提交给业务逻辑层2处理。
2)展示层1到业务逻辑层2也是要经过负载均衡器9,因为同一个业务逻辑服务接口也是采取集群方式部署在多台服务器上,以此来避免SPOF(single point of failure)即单点失败(这是分布式应用系统不允许的),业务逻辑层2的每一个服务都是由基础服务层3的原子服务组合而成,所以业务逻辑层2会把每一个业务中的每一步交由基础服务层3来完成。
3)业务逻辑层2调用基础服务层3也是要经过负载均衡器9,原理同上,业务逻辑层2和基础服务层3的交互方式分同步和异步,异步方式主要通过消息队列6来完成。
4)所有的数据持久化均由基础服务层3调用数据层4来完成,其他层不与数据层4有任何交互。
其中上述提到的负载均衡器9,是一种把网络请求分散到一个服务器集群中的可用服务器上去,通过管理进入的Web数据流量和增加有效的网络带宽的硬件设备。负载均衡器9有多种多样的形式,除了作为独立意义上的负载均衡器9外,有些负载均衡器9集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。
另外如图3所示,为本系统匹配设计的应用程序框架图,应用程序框架是为整个分布式系统中每个独立运行的应用程序设计的标准开发框架,所有的系统都是基于该框架进行开发。
其中,(a)服务协议层设计:
1、服务协议层定义了服务调用API规范和消息规范,不提供任何业务逻辑实现;
2、统一返回消息规范,所以api返回的消息格式都有Message经封装,Message包含了消息头和消息体,消息头包含调用api的结果定义,消息体则为返回的消息数据;
3、代码如下:
Message
public class Message<T> {
private String msg;
private int returnCode;
private T body;
//getter setter 忽略
}
UserService
public interface UserService {
public Message<UserInfo> createUser(UserInfo userInfo);
//忽略了其他方法
}
(b)业务实现层设计:
1、业务实现层包含了数据访问和业务实现,业务实现类调用多个dao实现业务;
2、业务实现类通过调用MapperFactory获取Dao的具体实现;
3、业务实现类catch住了所有的异常,统一放在Message头里面,告知调用者调用结果,其中0代码成功,其他值代表失败,代码如下:
Catch {Exception e} {
//编程时事务回滚
Mapper factory.roll back transaction ();
Message .set return code(-1);
Message.set msg(e.get message());
Logger.error(“create user”,“create user failed”,e.tostring(),Josn.tojosnstring(useriofo));
}
统一开发应用框架有如下好处:
1.更加的易于维护:由于系统框架清晰统一,每个开发人员都能快速理解每行代码的意义;
2.加快了开发效率:开发人员无需思考如何组织代码,而是把更多的精力放在业务逻辑处理上;
3.更快的定位问题。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (7)
1.一种SOA解决方案系统,其特征在于,包括系统内依逻辑顺序连接的四个主系统,所述主系统依次为展示层、业务逻辑层、基础服务层和数据层,四个所述主系统分别包括若干个对应配置项;
所述展示层,用于用户与公司交互使用,提供可交互界面给用户使用,完成公司提供的各种业务服务;
所述业务逻辑层,用于根据公司业务变化,组装信息粒度为小型的基础业务服务成为满足实际业务的大型业务服务;
所述基础服务层,提供业务逻辑变化很少或者基本不变的业务服务接口;
所述数据层,用于存储各种业务服务的数据。
2.如权利要求1所述的一种SOA解决方案系统,其特征在于,所述展示层的配置项包括CMS(内容管理系统)管理平台、便利店管理平台、供应链管理平台、仓库管理平台、Mall(购物中心)。
3.如权利要求1所述的一种SOA解决方案系统,其特征在于,所述业务逻辑层的配置项包括CMS(内容管理系统)、便利店、公用模块、支付网关、Mall(购物中心)。
4.如权利要求1所述的一种SOA解决方案系统,其特征在于,所述基础服务层的配置项包括商品服务、订单交易服务、用户服务、仓库平台、采购平台。
5.如权利要求1所述的一种SOA解决方案系统,其特征在于,所述数据层的配置项包括商品数据、用户数据、订单交易数据、仓库数据、公用库数据。
6.如权利要求1至5中任一项所述的一种SOA解决方案系统,其特征在于,还包括辅助系统,所述辅助系统包括缓存模块、配置中心、消息队列和日志监控系统;
所述缓存模块分别通讯连接所述业务逻辑层和基础服务层,用于存储所述业务逻辑层和基础服务层的常用数据;
所述配置中心通讯连接所述四个主系统,用于管理所述系统的配置项;
所述消息队列通讯连接所述业务逻辑层和基础服务层,用于提高系统的鲁棒性;
所述日志监控系统通讯连接所述业务逻辑层,用于监控系统的运行状态。
7.一种实现如权利要求1至6中任一项所述的一种SOA解决方案系统的方法,其特征在于,包括以下步骤:
(1)用户通过负载均衡器发出请求;
(2)展示层接受请求通过负载均衡器发给业务逻辑层,同时备份给配置中心;
(3)业务逻辑层接受来自展示层的大型业务服务请求,通过负载均衡器传给基础服务层,同时备份给配置中心;
(4)基础服务层接受请求并解析为若干个小型基础业务服务传给数据层;
(5)数据层接受基础服务层的信息并传给公司。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610712809.6A CN107463365A (zh) | 2016-08-24 | 2016-08-24 | 一种soa解决方案系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610712809.6A CN107463365A (zh) | 2016-08-24 | 2016-08-24 | 一种soa解决方案系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107463365A true CN107463365A (zh) | 2017-12-12 |
Family
ID=60545016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610712809.6A Pending CN107463365A (zh) | 2016-08-24 | 2016-08-24 | 一种soa解决方案系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463365A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880991A (zh) * | 2018-06-27 | 2018-11-23 | 国网福建省电力有限公司 | 一种企业即时通讯系统 |
CN109754315A (zh) * | 2018-12-29 | 2019-05-14 | 江苏哪凉快网络科技有限公司 | 一种用于实现空调资源整合的软件开发平台管理系统 |
CN111311280A (zh) * | 2020-02-14 | 2020-06-19 | 北京工业大学 | 一种基于dfa算法和贝叶斯分类器的用户投诉平台 |
CN112114777A (zh) * | 2020-09-09 | 2020-12-22 | 深圳市紫金支点技术股份有限公司 | 一种atmc应用软件开发方法、智能终端、存储介质 |
CN112711396A (zh) * | 2020-12-17 | 2021-04-27 | 华人运通(上海)云计算科技有限公司 | 一种支持灵活扩展的微服务分层结构 |
CN113190452A (zh) * | 2021-05-08 | 2021-07-30 | 广州趣丸网络科技有限公司 | 一种拨测服务系统、方法、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207550A (zh) * | 2007-03-16 | 2008-06-25 | 中国科学技术大学 | 负载均衡系统及多种业务实现负载均衡的方法 |
CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN202475491U (zh) * | 2012-03-02 | 2012-10-03 | 云南电网公司 | 一种企业人才测评系统 |
CN103595816A (zh) * | 2013-11-25 | 2014-02-19 | 国家电网公司 | 电力营销一体化催费平台系统 |
CN104156850A (zh) * | 2014-07-16 | 2014-11-19 | 通联支付网络服务股份有限公司 | 一种实时交易监控系统 |
-
2016
- 2016-08-24 CN CN201610712809.6A patent/CN107463365A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207550A (zh) * | 2007-03-16 | 2008-06-25 | 中国科学技术大学 | 负载均衡系统及多种业务实现负载均衡的方法 |
CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN202475491U (zh) * | 2012-03-02 | 2012-10-03 | 云南电网公司 | 一种企业人才测评系统 |
CN103595816A (zh) * | 2013-11-25 | 2014-02-19 | 国家电网公司 | 电力营销一体化催费平台系统 |
CN104156850A (zh) * | 2014-07-16 | 2014-11-19 | 通联支付网络服务股份有限公司 | 一种实时交易监控系统 |
Non-Patent Citations (1)
Title |
---|
张祯: "基于SOA的钢铁企业销售物流管控系统设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880991A (zh) * | 2018-06-27 | 2018-11-23 | 国网福建省电力有限公司 | 一种企业即时通讯系统 |
CN109754315A (zh) * | 2018-12-29 | 2019-05-14 | 江苏哪凉快网络科技有限公司 | 一种用于实现空调资源整合的软件开发平台管理系统 |
CN111311280A (zh) * | 2020-02-14 | 2020-06-19 | 北京工业大学 | 一种基于dfa算法和贝叶斯分类器的用户投诉平台 |
CN112114777A (zh) * | 2020-09-09 | 2020-12-22 | 深圳市紫金支点技术股份有限公司 | 一种atmc应用软件开发方法、智能终端、存储介质 |
CN112711396A (zh) * | 2020-12-17 | 2021-04-27 | 华人运通(上海)云计算科技有限公司 | 一种支持灵活扩展的微服务分层结构 |
CN113190452A (zh) * | 2021-05-08 | 2021-07-30 | 广州趣丸网络科技有限公司 | 一种拨测服务系统、方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463365A (zh) | 一种soa解决方案系统及方法 | |
US11461330B2 (en) | Managed query service | |
CN101207550B (zh) | 负载均衡系统及多种业务实现负载均衡的方法 | |
US20220417087A1 (en) | System and method for generic configuration management system application programming interface | |
US10970303B1 (en) | Selecting resources hosted in different networks to perform queries according to available capacity | |
CN104272259B (zh) | 用于在事务中间件机器环境中支持基于版本的路由的系统和方法 | |
Grover et al. | Data Ingestion in AsterixDB. | |
US20120239620A1 (en) | Method and system for synchronization mechanism on multi-server reservation system | |
US9195681B2 (en) | System, method and computer program product for transmitting a group of data elements | |
CN110413676A (zh) | 数据库的访问方法及其装置、电子设备和介质 | |
Zheng et al. | Design and research on private cloud computing architecture to support smart grid | |
WO2023020242A1 (zh) | 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN105320522B (zh) | 基于面向服务的体系结构的xbrl应用平台 | |
CN112149079A (zh) | 基于微服务架构的规划评审管理平台及用户访问授权方法 | |
CN101727496A (zh) | 一种实现microsoft sql server数据库负载均衡集群的方法 | |
CN112131305A (zh) | 账户处理系统 | |
Wu et al. | Design and implementation of B2B E-commerce platform based on microservices architecture | |
CN107465694A (zh) | 基于消息队列的openstack租户操作行为审计方法及系统 | |
CN102880832B (zh) | 一种集群下的数据海量管理的系统的实现方法 | |
US20240036910A1 (en) | Meta-level management system that aggregates information and functionalities of computational-resource management systems and that provides new management functionalities | |
CN113253980A (zh) | 烟草物流平台设计方法、系统、装置及存储介质 | |
CN104320404B (zh) | 一种多线程高性能http代理实现方法及系统 | |
Hu et al. | Application of mobile cloud computing in operational command training simulation system | |
Huang et al. | Smart park integrated management cloud platform architecture based on microservice governance framework | |
CN102420708A (zh) | 一种业务数据的负载均衡处理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171212 |