什么是SOA架构图

什么是SOA架构图,第1张

结构图以模块的调用关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容,从宏观上反映软件层次结构的图形,结构图分建筑图和组织结构图。

系统图,简单来说, 当某一目的较难达成,一时又想不出较好的方法,或当某一结果令人失望,却又找不到根本原因,在这种情况下,建议应用品管新七大手法之一的系统图,通过系统图,你一定会豁然开朗,原来复杂的问题简单化了,找不到原因的问题找到了原因之所在。

系统图就是为了达成目标或解决问题,以目的——方法或结果—原因层层展开分析,以寻找最恰当的方法和最根本的原因。系统图目前在企业界被广泛应用。

拓扑结构图由网络节点设备和通信介质构成的网络结构图。 在选择拓扑结构时,主要考虑的因素有:安装的相对难易程度、重新配置的难易程度、维护的相对难易程度、通信介质发生故障时,受到影响的设备的情况。

扩展资料:

拓扑结构图是指由网络节点设备和通信介质构成的网络结构图。网络拓扑定义了各种计算机、打印机、网络设备和其他设备的连接方式。换句话说,网络拓扑描述了线缆和网络设备的布局以及数据传输时所采用的路径。网络拓扑会在很大程度上影响网络如何工作。

网络拓扑包括物理拓扑和逻辑拓扑。物理拓扑是指物理结构上各种设备和传输介质的布局。物理拓扑通常有总线型、星型、环型、树型、网状型等几种。

参考资料来源:百度百科—结构图

参考资料来源:百度百科—拓扑结构图

参考资料来源:百度百科—系统图

有价值的东西是才值得我们投入时间和精力的,企业架构为什么就值得我们投入时间和精力来学习呢?主要由以下两方面原因:

1、 对公司而言,企业架构可以辅助企业完成业务及IT战略规划。在 业务战略 方面,它定义企业的愿景/使命、目标/目的/驱动力、组织架构、职能和角色。在 IT战略 方面,定义业务架构、数据架构、应用架构和技术架构,是IT战略规划的最佳实践的指引。企业架构是承接企业业务战略与IT战略之间的桥梁与标准接口,是企业信息化规划的核心。

2、对个人而言,有助于职业的健康长远发展,比如成为CIO,首席信息官通过指导对信息技术的利用来支持公司的目标,具备 技术和业务 过程两方面的知识,常常是将组织的技术调配战略与业务战略紧密结合在一起的最佳人选。

企业架构包含了四部分,BA(Business Architecture,业务架构)、DA(Data Architecture,数据架构)、AA(Applications Architecture,应用架构)、TA(Technology Architecture,技术架构)。企业架构由全局战略规划驱动,我们来看下战略、BA、DA、AA、TA五者之间的关系。

如图所示,战略、BA、DA、AA、TA实际位于以下三个层次上:

这五者的核心关系,可以概况为以下几点:

l 环环相扣,上层驱动下层,下层支撑上层。

通过上面的内容,我们知道了战略,业务架构,方案架构的关系。下面我们看下实际工作中架构路线图和实施规划环节是如何 *** 作的。

执行的要点是钉到岗位(左侧),落到文档(右侧),细到机构调整、技术采购、项目研发等工作包。主要有以下环节:

这里需要补充说明的一点是,实施计划不仅仅是从“架构蓝图到研发”的计划,也是从“架构蓝图到IT与非IT的方方面面”。

对于业务架构,OMG业务架构组给了如下定义:

业务架构是企业治理结构、商业能力与价值流的正式蓝图。业务架构明确定义企业的治理结构、业务能力、业务流程、业务数据。其中,业务能力定义了企业做什么,业务流程定义企业怎么做。具体而言,就是:

我们分别从国外国内来了解一下,业务架构出现的背景,便于我们更好的理解业务架构的使用场景, 业务架构是跨部门跨组织的业务需求,单个小系统的生命周期,根本就没有业务架构环节。

跨系统规划--业务架构在全球出现的背景

国外软件系统经过长期发展,在经过多年实践后,1962年,发表于哈佛商业杂志的的《信息系统总规划》这篇文章,拉开了跨部门、跨组织需求规划的序幕。此后多年,IBM等企业进行了很多实践。

1982年,IBM公布了业务系统规划(Business System Planning,BSP)方法论。这是个重要事件,对业界产生了大而持久的影响。

此后多年,业务架构快速发展,如Togaf、FEAF等。

以上历史告诉我们,业务架构脱胎于跨系统、重视跨系统需求。站在开发者的角度,业务架构就是跨部门、跨组织的业务需求。

信息孤岛—业务架构在国内“火”起来的契机

国内有个现象,一提到业务架构,就会大谈信息孤岛。这是为什么呢?因为国内真正开始重视业务架构设计,就是从解决信息孤岛的痛点开始的。

21世纪初,国内的信息化进程从部门信息化推进到了企业信息化。企业部门间的(集团子公司间的)协同联动需求,带动了IT信息系统间的信息共享和协同联动需求—同时产生了信息孤岛问题(财务、人力资源、采购、销售、OA、CRM各自为战)。

因为信息孤岛所具备的三大弊端,促使业务架构在国内火了起来,以下是三大弊端:

那如何解决信息孤岛的问题呢?

在一系列系统分头建设之前,先设计业务架构,定义统一蓝图,这是根本。数据一张图、数据共享、流程打通、服务编排,都是围绕统一蓝图具体展开。

业务架构是跨系统的,那么它和子系统的关系是什么样的呢?

图中的大V、小V分别表示什么呢?

大V部分,是总体方案的生命周期。在大V的需求阶段,必须研究和定义清楚跨部门、跨组织的业务需求,这些需求往往是跨系统的。例如,客户报修业务功能明显需要呼叫中心系统、CRM系统、工单系统协同联动,才能支持客服接听电话、确认客户资料、记录报修内容、派遣维修工程师上门这一连串 *** 作。

小V部分,是某一个系统的生命周期。在小V的需求阶段,必须分析和定义清楚这一个系统的需求,这些需求往往是系统内的。例如,CRM系统负责客户资料管理。

综上所述,方案级、子系统级这两级生命周期是同时存在的。举个典型的例子,某公司要做一个ERP系统,他会怎么做呢?

由于方案涉及的范围广、部门多,所以有必要做业务架构设计。这时,由业务架构师担纲业务架构设计,并提交《业务架构书》。

假设主要涉及系统A的需求、开发、测试等。

这时需求分析员冲上去,负责《系统A需求说明书》,当然需求分析员要参考上游的《业务架构书》整体约定。

注:这里只所以说是假设,是因为实际 *** 作中可能是实现某个业务功能需要同时开发系统A、系统B、系统C的部分功能, 并不是说一期工程的所有功能必须隶属于同一个系统

假设主要涉及系统B的需求、开发、测试等。

这时这时需求分析员冲上去,负责《系统B需求说明书》,当然需求分析员要参考上游的《业务架构书》整体约定。

业务架构要想成功,首当其冲的是,架构师要做正确的事,即在业务架构的实际工作内容上有充足的经验,不能遗漏。

相反,业务架构师分析环节的缺失,意味着业务架构蓝图规划项的缺失,影响从投资角色到方案设计,到实施规划,在到IT工作包和非IT工作包识别等所有后续工作。

业务架构 = 业务功能 + 组织结构 + 业务流程 +业务数据

业务架构的实际工作内容有哪些呢?

业务架构的前身是1982年IBM发布BSP等跨系统规划方法。所以,业务架构本质上是跨系统规划。

但是,业务架构的内容远远超过了跨系统需求分析这个范围,覆盖跨系统业务架构蓝图规划这个更大的范围。究其原因,是业务架构必须发挥从战略向实施过渡的桥梁作用—上街公司战略, 下接IT实施和非IT实施

不错,业务架构也涵盖了非IT部分的蓝图!

我们来看下细化的业务架构实际工作模型。

就大的方面而言, 业务功能定义企业做什么,组织结构定义谁来做,业务流程定义怎么做,业务数据提供必要的支撑,因此,业务功能、组织结构、业务流程、业务数据四者,构成了业务架构蓝图的核心。

同时,商业模式揭示的是企业产品、企业核心资源、客户、伙伴、渠道、成本、利润之间的本质关系。商业模式这个现代工具,也是业务架构蓝图的必须规划项。

就小的方面而言, 第一,业务渠道在哪里?组织结构是围绕部门、角色、职能展开的,而组织结构、业务渠道、合作伙伴是紧密相关的。所以,业务架构师在梳理组织结构的同时,应结合渠道战略和合作伙伴战略,定义业务渠道规划,定义合作伙伴规划,这些都是业务架构蓝图的“一等公民”。

第二,价值链在哪里?价值链模型是对一个企业所有生成经营活动的总体描述,是规划业务架构蓝图时的必做项目。可以对业务功能进行三级划分、层层分解:

第三,业务流程 = “主干流程 + 分支流程 + 业务规则”:

例如:买火车票时,“选票-抢票-支付”这个流程是稳定的。、

例如,选座分支流程,靠窗、不靠窗、坐票、卧铺(上下中铺)。

例如,买儿童票、成人票、学生票要进入分支流程。

所以建议一边定义业务流程,一边定义相应的业务规则。

综上,业务架构蓝图的内容应该明确!全面!直观!详细!

上面我们学习了业务架构包含的内容,可能不够直观,我们通过案例来加深我们对每个模块的理解。

举例业务架构蓝图五要素

我们借助业务架构蓝图五要素,管窥一下中国铁路12306平台的业务架构。

目标业务功能—线上购票、线上支付、线上退票等;

目标组织结构—在原组织结构基础上,新建IT运维中心;

目标业务流程—先登录、后抢票、再支付、超时未支付则释放票源;

目标商业模式—线上购票,省事省力(这个仅是价值主张);

目标业务数据—用户账户、列车时刻表、坐席数据、订单、支付记录等。

举例业务渠道、合作伙伴、价值链

下图分析了证券公司的业务功能与相对应的业务渠道

价值链包括核心业务层和支撑层,这里的核心业务层属于价值链对业务功能和服务的顶级分解。

在做规划时我们常采用GAP分析法,先确定当前现状,然后给出我们的期望,分析目标和期望的差距。如果有人和一个新手这样说,可能是不够的,你至少需要回答以下几个疑问:

疑问一,业务架构师具体要分析什么?怎么才算是战略驱动?

--能否具体到政策文件?战略方针?市场调研?友商对标?

疑问二,从战略到蓝图,中间的逻辑是什么?

--能否具体到小目标分解?小策略制定?

疑问三,我们首先应该怎么做?

--就连一个小的进销存系统,也要先进行业务调研,不是吗?

落地设计步骤

我们看下作者分享的战略驱动的业务架构(BA)设计三步法。

图中的三大步很明确,也非常贴近实际。

优点1:明确的战略驱动起点。方法中明确了三种战略驱动因素(Drvier)的类型,因为实际中就是国家政策、企业战略、对标友商者三者之一触发了后续的调研、规划与实施。

优点2:明确的调研环节。在第一步中,包含了调研环节。

优点3:强调了从战略到蓝图的过渡逻辑。在第2大步中,扎扎实实地规划好业务架构目标/策略,才能确保蓝图充分支撑战略。这一步属于高层级业务架构设计。

优点4:目标蓝图与Gap分析并重。在第3大步。

设计BA目标蓝图这一步属于低层级业务架构设计,其中Gap环节是必须环节,我们必须识别出业务架构的增量有哪些,给出对应的实施措施。

Gap分析的价值在于,它是持续进行架构治理所必需的,除了BA规划环节应用,在AA、DA、TA设计环节也均有应用。

要点明确Driver,做好调研

业务架构设计必需做好的第一件事,就是100%明确战略驱动因素是什么。

业务架构设计必需做好的第二件事,就是调研。 通过调研,广度上理解企业的宏观环境、行业趋势,纵深上理解战略的前因后果、来龙去脉、横向上理解企业的竞争格局、友商动向。

粗看,调研范围很广,让人理不清头绪。细看却有规律,主要三条线,分别是管理层访谈、战略的来龙去脉、可借鉴案例。

要点从战略到蓝图的内在逻辑

从战略到蓝图的内在逻辑,由四个概念支撑起的骨架:

Driver—战略驱动因素

Goal—业务架构目标

Strategy—业务架构策略

Blueprint—业务架构蓝图

这是一个大型企业,推进数字化采购转型如何从战略到蓝图的构建逻辑,相信它有助于我们的理解以下几点。

综上所述,从战略到蓝图的内在逻辑主线是: 确定Driver—目标分解—策略设计—蓝图定义 。逻辑明确,创新有据。

只有业务架构师真正洞悉了战略意图、准确领会了战略动机,之后的业务架构设计工作都是有迹可循的,工作量再大,也不可怕。

工具GAP分析

推进确定Driver

项目假定为:某铁路数字化服务转型工程。

业务架构师(张三)知道业务架构的Driver是整个业务的起点,必须找准、吃透。

张三了解到,数字化转型工程的Driver是公司刚制定的《公司战略规划》。

《公司战略规划》中阐述了数字化服务转型的背景:近年来,互联网技术的发展,提高了各行各业的服务水平,极大方便了人们群众的衣、食、住、行、医、学、玩等方面。从企业的角度而言,借助互联网、大数据等技术,积极推动数字化转型,拥抱以客户为中心的服务模式,能搞提高客户满意度和企业竞争力。

《公司战略规划》中和数字化转型战略的核心表述是:树立以人为本、客户至上的服务理念,创新服务方式,完善服务标准,推动数字化服务转型,提高服务水平。

推进做好调研之管理层访谈

管理层访谈: 不是让业务架构师去了解行业,而是要领会管理层的关注点、主要看法。

通过访谈,业务架构师应了解:

推进做好调研之可借鉴案例研究

研究可借鉴的最佳实践、最佳案例,也是调研的必做内容。

究其原因,业界每个阶段的最佳实践、最佳案例,都反映了业界当时的实践水平。所以,如果业务架构师收集并分了业界当前最佳实践案例,就可以在自己负责的架构设计中更好的把握设计方向、制定设计标准。

业务架构目标和策略包含以下两方面:

推进差距分析

Baseline Business Architecture

Target Business Architecture

上述案列,我们通过GAP分析,识别了业务能力差距和IT能力短板,从而识别业务架构目标与策略,这是采用自底向上的方法。为我们后续环节做准备,比如我们识别出了核心业务需要增强的包括销售、客运、货运、清算、售后,新增的包括增值业务,在制定在业务功能、业务流程、业务数据、组织结构、商业模式模块给出对应的策略。

如:从上图价值链分析中看到,我们新增的业务需求是增值业务,通过电商业务、旅游代理可以实现,再进一步想一下,就会知道我们的目标是增收,接着可以自顶向下思考,增收除了电商业务、旅游代理,我们还可以做保险代理,通过服务门户这个渠道触达用户。

推进确定目标与策略

只有扎扎实实地规划好业务架构目标与策略,才能确保后续业务架构蓝图定义充分支撑战略。

确定业务目标与策略环节,是业务架构设计的高层部分。后续的业务架构蓝图定义,是业务架构设计的低层部分。前者引领者后者的发展方向。由此可见“确定业务架构目标与策略”这一环节的重要性。

这一步,有三种做法。

1)自顶向下:将Driver分解为子目标,将子目标映射到业务架构策略。

2)自底向上:通过Gap分析,找到能力短板,从能识别业务架构目标与策略。

3)上述两种做法相结合,循环展开,互为验证。

铁路系统数字化转型,提高服务水平是Driver,如何才能达到这个终极目标。

答案是:

组织结构视图包括三个模块,组织结构、业务渠道、合作伙伴。

组织结构及改进主要描述部门设置、岗位设置、岗位职责等;合作伙伴及改进主要描述加强与供应链上下游的合作伙伴之间的关系。业务渠道创新也是业务架构设计的常见策略,下面会举例说明。

组织结构 下图是运用GAP分析的方法,画出当前组织结构和目标组织结构,并表示出变动点。

新手业务架构师往往认为组织结构没啥好设计的。其实恰恰相反,一旦组织结构需要变革,必然影响重大。

从上图,我们可以看出来,之前企业自己做IT开发,目前公司计划在做开发的同时,自己也做IT运维。相应的,企业组织结构新增了IT运维中心。

业务架构师应尽早明确组织结构的可能变化。因为无论是新建部门,还是部门增强、人员能力增强,都属于TOGAF中的能力增量,是需要后续非IT工作包实现的。

不仅如此,组织结构的变化还影响整个企业的治理结构,从经营管理,到制约监督,再到绩效考核。

总之,业务架构师虽然经常被当做跨系统软件需求分析师降级使用,但真正承担业务架构蓝图规划任务的业务架构师,是必须能扛得起很多“非IT”规划的。

渠道:在百度百科上的解释是“比喻达到某种目的的途径“,业务渠道就是用户为了达成业务目的的途径。如下图,列车长通过补票终端这个渠道帮助用户完成补票,客运公司通过大屏幕告知乘客车次信息。

业务渠道 业务渠道创新示例

网站、手机APP、补票终端、大屏实现了购票、补票、查看车次信息线上线下联动,提升了用户体验和公司内部效率。

感悟 :由上图可知,业务渠道不是完全孤立的业务架构蓝图规划项。它和业务流程、业务功能、组织结构是相互呼应的。因此,我们规划业务渠道时,也应考虑这些。

关于渠道联动,有同行这样总结:

企业是由一系列为顾客制造价值的活动和功能组成的。我们的业务功能就源自于可以为顾客制造价值的活动和功能。

企业的价值链展示了企业的设计、生产、营销、运输等为顾客创造价值的一系列活动、功能以及业务流程之间的连接情况。价值链有两个主要的组成部分:

核心业务(创造主要的顾客价值)

支持活动(为核心业务提供支持服务)

继续来看运输公司数字化服务的案例,业务架构师,面对运输企业数字化服务转型的任务,经过潜心研究,给出了下图的价值链划分结构。

有的同学可能会有疑问,为什么会在核心业务模块同时存在客运和货运两个区别较大的业务类型?在实际工作中可能只负责客运、货运其中一个模块。前面我们业务架构出现的背景也有提到在国内业务架构是为了解决信息孤岛发展起来的。业务架构师就是要在全局做规划,而不是梳理单个系统。

以上我们已经整理了价值链,现在我们要分解功能域了。下图是一级功能域分解图。

接下来,做业务能力Gap分析,我们可以看到新增的一级功能域有4个,增强的一级功能域有13个。

通过价值链分析到一级功能域划分的转变,我们会有以下收获:

第一, 价值链分析模型为后续功能域划分奠定了基础。管理支持+核心业务这个业务功能呢域划分框架确实很好用。并且广受业界认同,在沟通的过程中自然也容易被其他人接受。

第二,类似“上车前、上车中、下车后”时间轴思维,是业务架构师必备的分析技能,同时,是甲方企业领域专家们经常使用的分析习惯。

业务架构设计不仅要定义出目标架构,还要使用GAP分析法,识别出需要增强的架构能力,为后续实施做准备。具体包括业务功能变化与增量、组织结构变化与增量、业务流程变化与增量、业务数据变化与增量。

商业模式揭示的是企业产品、企业核心资源、客户、伙伴、渠道、成本、利润之间的本质关系。简单说,就是为什么同样的事,有的企业行,有的企业不行。

制定商业模式时并不是说全局只有一个商业模式,我们可以根据我们的目标分别制定商业模式 ,比如上述案例中,该铁路运输公司的目标有三个:便民、增收、增效。我们就可以设计三个商业模式。

就铁路企业的数字化服务转型而言,要便民,应支持随时通过网络、电话、手机App获取企业服务。

就铁路企业的数字化服务转型而言,要增效,可以借助硬件设备和智能控制系统,促进取消、检票等环节的数字化转型,提升效率。

感悟商业画布,借助九个小格子,构建了简介高效的系统化思维环境,是个了不起的发明。

从上述例子可以看出,商业模式有如下优势:

个人认为,商业模式融合了BRD和MRD的内容:

BRD:商业需求文档,关注为谁(客户细分)、解决什么问题(价值主张)、需要做什么(关键活动)、花费什么资源(关键资源)、性价比(成本/收入)如何。

MRD:市场需求文档,关注消费者怎么触达(渠道通路)、怎么获得合作伙伴。

业务流程视图是应用架构的输入,也是业务架构中最落地、篇幅最大的章节。

作者在文章中对业务流程的协作方法进行了论述,结论是简单的业务流程可以采用流程图的方式绘制,业务流程分支较多且复杂的强烈建议使用文本化描述。

业务流程定义规范

要点是“1个主干+N个分支”方式的流程分解

要点是“阶段化+步骤化”,并附每步业务或数据模型规则

要点是“注明在主干流程的分叉位置”,并附每步的业务或数据模型规则

这部分为可选

这部分很重要,上面也有提到,业务流程视图是应用架构的输入,所以对这块再总结一下。

我们发现,分支流程和业务场景有完美的对应关系。识别分支流程,就是场景化思维。相反,如果不区分主干流程、分支流程,后续业务需求变更会波及一大片,而不是改一个分支流程这么简单了。这太不专业。

业务功能很多,业务场景更多,业务流程定义了什么呢?业务流程定义一个业务功能,其中包括多个业务场景。比如购票包括了多人购票、购买儿童票等。

业务规则多如牛毛,如何避免业务规则碎片化?围绕业务步骤定义业务规则,业务步骤可以是主干流程步骤,分支流程步骤。

关于是否使用业务流程图:越是核心的业务流程,越是分支多、业务规则多,此时建议采用文本化规范,这样呈现的信息更加全面。不复杂的业务流程,可以沿用流程图的方式。

这篇文章对企业架构进行了概述,详细讲述了业务架构出现的背景及实际攻略,并通过实际案例加深我们对业务架构的理解。

我们来一起回顾一下文章中涉及到的概念之间的关系。

战略驱动的业务脚骨设计实战步骤,精华在于,从战略到业务架构蓝图的跨度太大,逻辑链条接不上气,所以分两步走

如果读完之后感觉通过企业架构可以提升自我、有利于公司发展,就行动起来吧!

SOA的核心主体是服务。所谓“服务(Service)” ,从业务角度而言,服务是一个可重复的经过标准封装的任务,例如: 检查帐号余额;开新帐户 等等…。SOA的目标是通过服务的流程化来实现业务的灵活性,所谓流程(Process)是由一系列相互关联的任务所组成,实现一个具体的业务功能。一个流程可以由一系列服务来实现。

标准架构图如下:

一个正确的框架,是指导我们开发和实施SOA架构的基础。由IBM提案,国际开放群组(The Open Group)提出了一个SOA架构的参考模型,这个架构框架目前是产业界最权威和严谨的SOA架构标准。The Open Group是一个非营利标准化组织,是一个厂商中立和技术中立的机构,致力于提出各种技术框架和理论结构,致力于促进全球市场的业务效率。The Open Group已有超过20年的标准制定与推广历史。在1996年,由X/Open与Open Software Foundation合并组成。The Open Group最有名是作为UNIX商标的认证机构。在过去,协会最出名的是其出版的Single UNIX Specification,它扩充了POSIX标准而且是UNIX的官方定义,其成员包括IT用户、供应商以及政府机构。The Open Group在中国的创始会员为金蝶集团,金蝶集团负责成立了中国分会。TOG在1993年提出的The Open Group Architecture Framework (TOGAF) 架构框架,是一套行之有效的企业架构。历经15年9个版本发展,支持开放、标准的SOA参考架构,已被80%的福布斯( Forbes)全球排名前50的公司使用。

根据这个模型,完整的SOA架构由五大部分组成,分别是:基础设施服务、企业服务总线、关键服务组件、开发工具、管理工具等。

SOA基础实施是为整个SOA组件和框架提供一个可靠的运行环境,以及服务组件容器,它的核心组件是应用服务器等基础软件支撑设施,提供运行期完整、可靠的软件支撑。

企业服务总线是指由中间件基础设施产品技术实现的、通过事件驱动和基于XML消息引擎,为SOA提供的软件架构的构造物。

企业服务总线ESB提供可靠消息传输、服务接入、协议转换、数据格式转换、基于内容的路由等功能,屏蔽了服务的物理位置,协议和数据格式。在SOA基础实现的方案上,应用的业务功能能够被发布、封装和提升(Promote)成为业务服务(Business Service);业务服务的序列可以编排成为BPM的流程,而流程也可以被发布和提升为复合服务(Composited Service),业务服务还可以被外部的SOA系统再次编排和组合。ESB是实现SOA治理的重要支撑平台,是SOA解决方案的核心,从某种意义上说,如果没有ESB,就不能算作严格意义上的SOA。

关键服务实现,是SOA在各种业务服务组件的分类。一般来说,一个企业级的SOA架构通常包括:交互服务、流程服务、信息服务、伙伴服务、企业应用服务和接入服务。这些服务可能是一些服务组件,也可能是企业应用系统(如ERP)所暴露的服务接口等等。这些服务都可以接入ESB,进行集中统一管理。

开发工具和管理工具:提供完善的、可视化的服务开发和流程编排工具,涵盖服务的设计、开发、配置、部署、监控、重构等完整的SOA项目开发生命周期。

按照这个模型,许多SOA解决方案是只提供部分实现。这个行业中,许多国内的企业为了搭上SOA的便车,经常以偏概全,混绕概念。应该说真正按照SOA的思想和模型来构建整个企业的IT架构的案例是非常之少的。许多国外厂商的宣传案例,基本上是停留在部署应用服务器,开发了部分WebService组件,可以实现部分数据集成,这个层次而已,而这些WebService是部署在ESB平台之上的,就已经很不错了。实现了服务流程重组,实现SOA治理的案例就更是很少见到了。

OASIS(一个SOA标准组织)给予出的SOA定义“SOA是一个范式,用于组织和利用可能处于不同所有权范围控制下的分布式系统。”

维基百科给出的SOA定义“面向服务的体系结构(Service-oriented architecture)是构造分布式系统的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务。它采用开放标准、与软件资源进行交互并采用表示的标准方式。”。

要准确全面理解SOA,首先必须理解SOA的核心要素:

SOA的目标就是实现灵活可变的IT系统。要达到灵活性,通过三个途径来解决:标准化封装、复用、松耦合可编排。

互 *** 作(标准化封装)、复用、松耦合等SOA技术的内在机制,也是中间件技术和产品的本质特征。

标准化封装(互 *** 作性)

传统软件架构,因为封装的技术和平台依赖性,一直没有彻底解决互 *** 作问题。互联网前所未有的开放性意味着各节点可能采用不同的组件、平台技术,对技术细节进行了私有化的约束,构件模型和架构没有统一标准,从而导致架构平台自身在组件描述、发布、发现、调用、互 *** 作协议及数据传输等方面呈现出巨大的异构性。各种不良技术约束的结果是软件系统跨互联网进行交互变得困难重重,最终导致了跨企业/部门的业务集成和重组难以灵活快速的进行。

在软件的互 *** 作方面,传统中间件只是实现了访问互 *** 作,即通过标准化的API实现了同类系统之间的调用互 *** 作,而连接互 *** 作还是依赖于特定的访问协议,如JAVA使用RMI,CORBA使用IIOP等。而SOA通过标准的、支持Internet、与 *** 作系统无关的SOAP协议实现了连接互 *** 作。而且,服务的封装是采用XML协议,具有自解析和自定义的特性,这样,基于SOA的中间件还可以实现语义互 *** 作。

SOA要实现互 *** 作,就是通过一系列的标准族,来实现访问、连接和语义等各种层面的互 *** 作。

软件复用

软件复用,即软件的重用,也叫再用,是指同一事物不作修改或稍加改动就多次重复使用。从软件复用技术的发展来看,就是不断提升抽象级别,扩大复用范围。最早的复用技术是子程序,人们发明子程序,就可以在不同系统之间进行复用了。但是,子程序是最原始的复用,因为这种复用范围是一个可执行程序内复用,静态开发期复用,如果子程序修改,意味着所有调用这个子程序的系统必须重新编译、测试和发布。

耦合关系

SOA架构在松耦合解耦过程也发展到了最后的境界。传统软件将软件之中核心三部分网络连接、数据转换、业务逻辑全部耦合在一个整体之中,形成“铁板一块”的软件,“牵一发而动全身”,软件就难以适应变化。分布式对象技术将连接逻辑进行分离,消息中间件将连接逻辑进行异步处理,增加了更大的灵活性。消息代理和一些分布式对象中间件将数据转换也进行了分离。而SOA架构,通过服务的封装,实现了业务逻辑与网络连接、数据转换等进行完全的解耦。

总之,从科学哲学的角度来看,SOA是一个不断解构的过程,传统软件强调系统性,耦合度过高,所以需要松耦合(解耦);SOA也是一个组件粒度的平衡,集成电路趋势是集成度越来越高,软件发展的趋势是相反的过程;SOA是架构,更是方法,反映了人们对哲学思想的追求的原动力。

按照这个特性,SOA基本上来说与WebService并不是同一个概念,SOA并不一定需要WebService实现,理论上可以在其他技术体系下,实现SOA。但事实上,到目前为止,能够实现SOA架构风格的技术就是WebService,因为它的特性和厂商的支持力度,使得WebService成为了实现SOA实现技术的事实标准。也正因为WebService技术的成熟,才使得已经提出10多年了的SOA思想和概念,得以能够实现落地,成为一种可以使用的技术。这也就是回答了SOA和WebService的关系。

“一千个读者有一千哈姆莱特”。同样的,1000个人谈架构会有1001种看法。 有时候,甚至同一个架构的名词在不同的上下文里面也会代表不同的意思。例如,对于“系统架构”这个名词,有人认为它只是指代一个系统各部分的逻辑视图,有人会认为它指代一个系统的物理视图。借用DDD的术语,我们没有对架构产生同一语言。架构是一个亟须消除歧义的概念。我在这里试图列举一些平常经常会提到的“XX架构”概念,并希望对它们进行梳理。

企业架构

首当其冲的是企业架构。第一个上来的概念就已经有不同的定义了。基本上每种企业架构的框架都对其有自己的定义。例如,以下是不同的企业架构框架对企业架构的定义:

Zachman:“信息系统架构(企业架构)是构成组织的所有关键元素和关系的综合描述。”

The OPEN GROUP(Togaf):“企业架构是关于理解所有构成企业的不同企业元素,以及这些元素怎样相互关联。”

Gartner: “企业架构是通过创建、沟通和提高用以描述企业未来状态和发展的关键原则来把商业远景和战略转化成有效的企业变更的过程。”

事实上Zachman当时并没有明确提出企业架构,而是提出了另外一个名词:信息系统架构。后来Togaf直接借用了这个名词,作为其4A架构层次里面的其中两层,后面会提到。

对于企业架构,已经很难形成一个业界公认的统一的定义了。但无论其定义怎样,企业架构要做的事情基本上就是为了实现企业的愿景,定义企业需要掌握哪些能力,需要构建哪些系统来提供支撑,他们之间的关系是什么,以及怎么实施和治理。

Togaf 4A架构

4A分别是指业务架构、应用架构、数据架构、技术架构。

业务架构

官方定义是:A representation of holistic, multi-dimensional business views of: capabilities, end-to-end value delivery, information, and organizational structure; and the relationships among these business views and strategies, products, policies, initiatives, and stakeholders

翻译过来大概就是:对全面、多维业务视图的描述,包括:能力、端到端价值交付、信息和组织结构;以及这些业务观点与战略、产物、政策、举措和利益攸关者之间的关系。其实顾名思义就是描述企业业务结构、价值以及与各方面关系的视图。

应用架构

官方定义是:A description of the structure and interaction of the applications as groups of capabilities that provide key business functions and manage the data assets

翻译过来大概是:对应用结构和交互的描述,这些应用是提供关键业务功能和管理数据资产的功能组。说白了就是为了支撑业务架构,需要哪些应用以及他们的关系。这与传统意义上常说的应用架构意思是相近的。

数据架构

官方定义是:A description of the structure and interaction of the enterprise’s major types and sources of data, logical data assets, physical data assets, and data management resources

翻译过来是:对 Enterprise 主要数据类型和来源、逻辑 数据资产、物理数据资产和数据管理资源 结构和交互的描述。顾名思义,描述数据的。

技术架构

官方定义是:A description of the structure and interaction of the technology services, and technology components

翻译过来是:对技术服务以及技术组件结构和交互的描述。与应用架构的区别是应用架构是应用的逻辑层展现,不涉及具体技术实施;技术架构是对应用架构实施落地的展现,设计具体的技术方案。还是举我喜欢的出行工具的例子,应用架构就是出行工具的模型图,技术架构就是把出行工具具化为汽车或者马车的设计图。从这个角度触发,我个人认为应用架构跟系统架构是类似的概念。对于系统架构,后面会提及。

其中应用架构和数据架构又合称为信息系统架构。

部署架构

没有公认的定义。但顾名思义,很好理解。例如,当出行工具的技术架构确认后,部署架构就是马车是要赤兔马还是血汗马,是要一匹马拉还是两匹马拉;汽车的话轮胎是要米其林还是普利司通,引擎是要自然吸气还是双涡轮增压。

系统架构

真正吊诡的概念来了。网上基本上找不到关于系统架构的公认的定义。但似乎每个人都经常使用这个名词。当我问人们要他们的系统架构图时,有时候他们会给我应用架构图,有时候会给我技术架构图,有时候是部署架构图,有时候甚至是业务流程图!但最让人感到惊奇的是虽然似乎每个人对这个名词的理解都不一样,但感觉好像又可以互相理解。基于系统架构,我更倾向于把它理解为跟应用架构一样,表示一个系统的逻辑层展现,不涉及任何技术与具体的实现。当然了,这只是我个人的理解。当我们在跟别人讨论系统架构的时候,一定要明确双方在一个明确的上下文中讨论。

IT架构

又是一个没有公认定义的概念。根据往常的经验,基本上除了企业架构和业务架构外,上述所提的所有架构都可以认为是IT架构的不同表示。这也意味着,当我们说IT架构时,别人往往是不知道我们想说什么的。所以要特别小心,我个人是不主张单纯说IT架构的。

最后,上一幅老图,压场总结。

软件架构是一种动态结构和静态结构的组合,它为了满足系统的质量属性(比如性能、重用、扩展、安全等)和功能需求而建立的系统结构,这里的结构包括了静态的和动态的,在动态方面要反映的是系统运行时的行为本质特征,静态方面要反映系统的组成结构。

以上就是关于结构图,系统图,拓扑图,怎么区分理解全部的内容,包括:结构图,系统图,拓扑图,怎么区分理解、企业架构概述及业务架构详解、什么是SOA架构图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/8833891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存