SOA架构设计案例分析

SOA,它是一个面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

SOA的核心主体是服务,所谓服务,从业务角度而言,即是一个可重复的经过标准,服务就像是一堆“元器件”,这些元器件通过封装形成标准服务,服务就像一堆“元器件”,这些元器件通过封装形成标准服务,他们有相同的接口和语义表达规则。但服务要组装成一个流程和应用,还需要有效的“管理”,包括如何注册服务、如何发现服务、如何包装服务的安全性和可靠性,这些就是SOA治理。SOA治理乃是将SOA这一堆元器件,进行有效组装,形成一个“产品”的关键,否则它永远是一堆器件,而无法形成一个有机整体。

基于服务的应用系统的本质特征是松耦合,以基本业务功能(服务封装)为系统的基本实现单元,然后通过服务编排(流程管理)来“组装”业务应用系统。相对于以往的应用系统,是面向技术组件,由系统程序实现业务流程,在复用、耦合方面都存在灵活性问题。

以金蝶为例,金蝶BOS是一个开放的集成与应用平台,能够为企业灵活而迅速的设计、构建、实施和执行一套随需应变的企业管理软件系统,并能够与现有的IT基础设施无缝地协同运作。金蝶BOS基于TOGAF的SOA参考架构,是实现金蝶SOA解决方案的基础技术平台。

业务流程编排(Business Process Choreographer
业务流程编排是把多个业务系统的服务通过业务流程建模的方式编排为业务流程的方式。通过流程编排的方式业务流程的活动可以分布在不同的异构业务应用系统和异构的操作系统和硬件平台上,而且通过流程统一编排和事件处理机制,使各业务系统的服务之间耦合很低:

业务流程调用服务组件库
为了统一的管理业务服务,金蝶BOS提供了统一服务管理系统,将WebService或SCA组件注册到统一服务管理系统的服务组件库后,在流程建模中就可以直接引用。在执行时流程引擎也能通过统一服务管理系统的服务调用框架来调用定义的服务。

业务流程调用WebService
在流程建模中也可以直接引入WebService定义:
如图是一个跨系统的流程编排事例,集团总部使用了金蝶EAS系统,分公司使用金蝶K/3系统,K/3系统的采购订单生成后要在集团总部EAS系统生成销售订单,EAS销售订单转为采购入库单后也要同时在K/3系统生成采购入库单。

信息服务
提供金蝶ERP EAS、K/3 以及异构系统之间的数据集成解决方案的软件,提供企业数据建模、消息转换、消息璐由、企业数据总线、调度编排等功能。信息服务支持BOS元数据体系,支持连接业界三大主流数据库产品DB2, Oracle, SQL Server,通过对异构系统数据访问、对异构系统间的数据格式的转换,实现异构系统的数据集成。                                                                             
(五)数据访问功能
支持连接三种主流数据库:Oracle, DB2, SQLServer,通过数据模型的OR Mapping方法实现数据读取和写入功能,读取时支持设置取数栏位、取数条件、增量条件、增量语义(新增、修改、删除)的配置,支持事件监控取数功能。写入时可以选择写入栏位、配置消息转换规则。

调度配置功能
提供基于Quartz表达式的调度配置功能,调度表达式的格式是 秒 分钟 小时 日期 月份 星期 年(可选) ,提供四种配置方式: 每天定时、每周定时、一次性执行。                             
(七)ESB与集成监控功能
提供消息队列存储、消息异步传输、消息格式转换、消息路由功能。支持故障重传,复机任务自动执行未完成功能。
提供运行期监控集成任务功能,实现集成任务总数据量、当前处理量、成功数量的统计监控功能。

管理服务
实现了部署与系统监控、集成方案定义、数据转换定义、流程配置与监控的SOA运营管理体系。是为所有其他业务系统提供服务的系统,对外提供的服务包括:工作流的配置、业务预警配置、附件统一管理、编码规则管理、引入引出管理、所有的参数管理、后台事务管理、套打管理等。

SOA的目标在于让IT系统变得更有弹性,以便更灵活、更快地响应不断改变的企业业务需求,解决软件领域一直以来存在的“如何重用软件功能”问题。

其5大基本特征为软件功能重用提供了解决的办法。①服务之间通过简单、精确定义的接口进行通信,不涉及底层编程接口和通信模型;②粗粒度性:粗粒度服务提供一项特定的业务功能,采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复,一次往复就足够了;③松耦合性:松耦合性要求SOA架构中的不同服务之间应该保持一种松耦合 的关系,也就是应该保持一种相对独立无依赖的关系。这样的好处有两点,首先是具有灵活性,其次当组成整个应用程序的服务内部结构和实现逐步地发生变化时,系统可以继续地独立存在。而紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时 这种结构就显得非常脆弱;④位置透明性:位置透明性要求SOA系统中的所有服务对于其调用者来说都是位置透明的,也就是说,每个服务的调用者只需要知道想要调用的是哪一个服务,但并不需要知道所调用服务的物理位置在哪;⑤协议无关性:协议无关性要求每一个服务都可以通过不同的协议来调用。采用SOA来构建信息平台,无疑是未来的发展方向。

原文地址:https://www.cnblogs.com/mqlblog/p/10902157.html

时间: 2024-08-27 11:39:13

SOA架构设计案例分析的相关文章

架构设计案例分析-高速公路收费运营管理平台

本文旨在通过对某省高速公路联网收费运营管理平台的架构设计过程进行案例分析,描述架构设计的决策过程. 1.业务背景 某省的高速公路分为近百个路段,不同的路段归属不同的公司建设与运营,造成了车辆在跨越不同路段时,需要停经收费站缴费换卡,降低了高速公路的车辆通行效率. 随着信息化技术的发展,将全省的高速公路联网收费的条件成熟,改造后车辆在高速公路上行驶,在出发地上高速时领卡,到目的地出高速时全程只需缴费一次.随着信息化推进,未来车辆在全国范围内高速公路通行,均只需缴费一次. 为了适应全省联网收费系统改

SOA架构设计的案例分析

SOA为面向服务架构,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来.一个服务通常以独立的形式存在与操作系统进程中.各个服务之间通过网络调用.微服务是在 SOA 上做的升华,强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发.设计.运行的小应用.这些小应用之间通过服务完成交互和集成.微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想. SOA架构的特点为:系统

SOA架构设计经验分享—架构、职责、数据一致性

阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性 5.1.分布式事务(基于DTC的分布式事务) 5.2.事务补偿(提供正向或反向的操作来让数据在业务上是一致的) 5.3.异步EDA(基于异步事件流来实现柔性的分布式事务) 6.总结 1.背景介绍 最近一段时

[转]SOA架构设计经验分享—架构、职责、数据一致性

阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性 5.1.分布式事务(基于DTC的分布式事务) 5.2.事务补偿(提供正向或反向的操作来让数据在业务上是一致的) 5.3.异步EDA(基于异步事件流来实现柔性的分布式事务) 6.总结 1.背景介绍 最近一段时

数据库设计案例分析

一.树型关系的数据表 不少程序员在进行数据库设计的时候都遇到过树型关系的数据,例如常见的类别表,即一个大类,下面有若干个子类,某些子类又有子类这样的情况.当类别不确定,用户希望可以在任意类别下添加新的子类,或者删除某个类别和其下的所有子类,而且预计以后其数量会逐步增长,此时我们就会考虑用一个数据表来保存这些数据.按照教科书上的教导,第二类程序员大概会设计出类似这样的数据表结构: 类别表_1(Type_table_1) 名称 类型 约束条件 说明 type_id      int        无

面向SOA服务架构的案例分析的研究

转:https://www.cnblogs.com/ljysy/p/10916950.html 随着互联网应用的不断发展,网络业务的种类.数量不断增加,计算机网络管理的研究重点正在由过去的个别资源监控.应用可用性阶段,向着如何通过网络获得所需业务.业务流程的优化.保障业务服务水平方向发展.但这并不意味着可以完全抛弃传统的已有的网络管理,重新开发面向业务的网管;相反,传统网管是实现有效的业务管理和保证业务过程.业务质量的基础[1].但是传统的网络管理以集中式 半分布式的M A模型为主,网络只被动传

作业7: 用户体验设计案例分析

一.基于我们列出的 7 条UX评价准则,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得满意的地方(不少于2点):(20分),请陈述理由. 答:1给用户及时快速反馈.无论什么时候,只要有需求,系统都能立刻给予回复,不用花时间去等.       2用户控制权.用户可以就自己的需求,选择相关信息.                               二.  同样,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得最不满意的地方(不少于2点):(20分),请陈

用户体验设计案例分析

基于我们列出的 7 条UX评价准则,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得满意的地方(不少于2点):(20分),请陈述理由. 1.我随便发送过去几个,然后这个公众号发送来了上面的图片,很简单的让我知道怎么去做,主动反馈来完成基本的操作,不要事先去学习怎么用. 2.有帮助和注销两个操作提示,可以一个平台注销后可以其他用户使用,用户有控制权. 分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得最不满意的地方(不少于2点):(20分),请陈述理由. 1. 要

作业七:用户体验设计案例分析

基于我们列出的 7 条UX评价准则,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得满意的地方(不少于2点):(20分),请陈述理由. 同样,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得最不满意的地方(不少于2点):(20分),请陈述理由. 回答上述问题时,附上截图 要求: 基于我们列出的 7 条UX评价准则,分析“南通大学教务管理系统微信公众号” 在用户体验设计方面让你觉得满意的地方(不少于2点):(20分),请陈述理由. 同样,分析“南通大学教务管理系