soa什么是SOA?

soa  时间:2021-07-30  阅读:()

什么是SOA

SOA,即 Service Oriented Architecture, 是计算机系统软件设计中的一种面向服务的体系结构。

SOA中解决的问题就是应用程序的不同的业务功能单元,即服务的复用问题,强调服务调用者和服务提供者之间通过标准的契约来实现调用,推崇服务的重用。

同时,SOA又着力于架构体系,强调技术的中立性,体系的完整性。

一些诸如Web Service、REST、XML、BPMN等标准,都是SOA中经常出现的关键字。

SOA到底是什么?作用是什么?"

对于SOA,目前我听到有两种说法:一种讲它是"颠覆性的革命架构",一种是"谨慎观望"。

但无疑,SOA最近几年发展得非常快,各主要软件厂商纷纷高调跟进,关于SOA的报道可以说是不绝于耳。

对"SOA热",程序员们有的兴奋和期待,有的则感到困惑,最近我在金蝶中间件于广州、上海等城市举行的"Java俱乐部"上和程序员们交流时,他们或是以一种朝圣者的表情说:"以前面向对象的技术过时了,SOA时代来了",或者一再恳切地追问我:" 那么,SOA是什么?到底能解决什么问题、解决得怎样?我们和客户都准备好了吗?我给出的答案是"Just Processing,SOA-现在进行中"。

SOA到底是什么?SOA(Service-Oriented Architecture)的定义是面向服务的架构,就是说将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口、并通过标准的协议进行调用。

SOA所定义的接口和调用方式是独立于编程语言和运行平台的,广义上讲SOA可以基于不同的底层技术实现,比如CORBA和Web Services。

但CORBA由于过于复杂和臃肿已很少使用,所以目前所说的SOA绝大多数是基于Web Services技术实现。

在Web Services的实现方式下,SOA服务的接口用XML进行定义。

在SOA架构下,软件开发从业务流程分析开始,使用组件化业务建模的方法识别和分析各种业务模型,将各种实践融入其中,在这个基础上建立用例,用例直接产生BPEL,这些BPEL则可以被融入一个服务整合框架中,其描述了各种服务的信息,从而把ESB上的各个模块统一起来,形成一个巨大的服务仓。

这样,SOA甚至是所有软件人员的一个梦:将中间层再进行抽离,在中间层作一个跨技术架构的元数据和业务逻辑,使之成为跨技术架构的、可长期继承、并不断积累的企业业务库和最宝贵的信息资产,也就是面向服务的组件库,而且这个服务组件库也可以被其它企业复用,且不依赖于任何一种技术架构。

夸张一点说,如果所有软件企业都使用SOA架构,那么世界软件业将会发生彻底的改变。

显然,这样一个框架不是一种产品,也不仅仅是一种技术,而是一种解决问题的方法论。

SOA可能应用的两个场景及现有问题那么,SOA要解决的问题是什么?我认为,从技术本质上讲,SOA可能应用于两个场景:第一种是业务互通互联;第二种是封闭交易系统,即将元数据和业务逻辑抽离,形成可复用。

举个例子,在第一种场景中,当不同企业之间的业务需要相互调用,这时就可能采用SOA技术;在第二种场景中,在企业内部需要将系统进行迁移时,利用SOA技术定义的原有数据和业务流程,可以很快完成。

无疑,SOA是一个伟大的思想,它试图定义一个大家(各种软件厂商)都"认"的、都"遵循"的法则,大家都使用这样的方法来进行互联互通,从而实现无界限的联通,以及服务组件库的继承和复用,解放无效和重复劳动。

打一个不那么恰当的比喻,就像人类的语言一样。

SOA或许就像《圣经》中那个著名的"通天塔"的故事:人们用同一种语言交流产生的威力是如此之大,以至于他们在巴比伦几乎要修成一个"通天塔",直达上帝所在的天庭。

但是,在SOA应用的两个场景中,现存的问题同样也是明显的:第一种场景:业务互联互通,就是应用系统互联。

业务互联,与其说是技术问题,不如讲是业务问题,例如ERP、CRM的异步整合,数据层面整合都不能很好将两个系统整合,SOA仅仅是一种实现工具之一,整合效果并不会好不到那里去。

我们可以说,在没有其他选项之前,SOA是一种最"不坏"的方式,但它并不能解决所有的问题,实际上EAI的牵涉面很广,而我们知道,有些问题并不是单纯靠技术就能解决的。

第二种场景:封闭交易系统,缺点是性能慢,而且基于Web Services的交易没有形成明确的规范。

使用XML作信息交互比较慢是大家都承认的,性能问题将对SOA的发展造在一定的阻力。

同时SOA规范本身没有完善,比如Transaction规范还在不断完善,而且Web Service多年来收效甚微。

总的来说,SOA现在还处在一个发展阶段,很多标准还在制定,不同厂商间还存在不兼容的现象,因此SOA还不能说已经是一个成熟的技术,还需要时间的检验,还在"进行中"。

当然,金蝶中间件作为JCP组织成员,也会推动SOA规范在J2EE平台上的实现。

中国用户的现实选择之惑在憧憬SOA技术可能带来的前景之余,我们不得不回过头来冷静地说:SOA和我们大家的共同客户――中国企业还有距离。

中国信息化进程与欧美不同,大量的基础业务系统还没建立起来,整合需求并不如想象的那么大。

从我们对客户的了解,发现很少有客户有SOA的需求。

简单地总结就是,互通无基础,以新建系统为主,需求并不强烈。

而欧美市场大量业务系统已建立起来需要整合,从这个角度讲,SOA是适用于他们的。

同时,在成功案例极少的前提下,SOA还处于培育期,新建封闭交易系统使用SOA技术还是有一定风险的。

一项新技术需要市场的消化,大型企业出于保护企业投资,不会轻易地转移到新的技术平台;而即使像J2EE这样成熟的技术经过了这么多年的发展,也不敢说占有统治地位的市场份额。

SOA还需要整个IT界的用户和供应商共同促进。

中国信息化需要什么样的技术架构、能够接受什么样的成本价位?这不仅仅是我们的客户需要考虑,我们软件厂商要比客户考虑得更清楚、更进一步。

在这个充满变数的激烈竞争市场,只有冷静务实才能生存、发展。

什么是SOA?

SOA 的生命周期  由于soa涉及到业务的诸多方面,因此需要从一开始就对 SOA 项目进行细心的规划和设计。

您需要考虑项目的整个生命周期,从最初的阶段到第一个实现,再一直到可能的修订和重用。

  现在让我们看看 SOA 生命周期,如图 1 中所示。

此部分概略说明了在生命周期的各个阶段发生的事项,并详细介绍了实现生命周期的各个步骤。

     图 1. SOA 生命周期   建模   面向服务的体系结构项目的第一步几乎和技术没有任何关系,所有事项都与您的业务相关。

请记住,面向服务的方法将业务所执行的活动视为服务,因此第一步是要确定这些业务活动或流程实际是什么。

对您的业务体系结构进行记录,这些记录不仅可以用于规划 SOA,还可以用于对实际业务流程进行优化。

通过在编写代码前模拟或建模业务流程,您可以更深入地了解这些流程,从而有利于构建帮助执行这些流程的软件。

  建模业务流程的程度将依赖于预期实现的深度。

另外,这个程度还依赖于您在开发发团队中担任的角色。

如果您是企业架构师,您将会对实际的业务服务进行建模。

如果您是软件开发人员,您将可能对单个服务进行建模。

  组装   对业务流程进行了建模和优化后,开发人员可以开始构建新的服务和/或重用现有的服务,然后对其进行组装以形成组合应用程序,从而实现这些流程。

在“建模”步骤中,您已经确定了需要何种类型的服务以及它们将访问何种类型的数据。

已经存在某种形式的实现这些服务或访问该类数据所需的一些软件。

“组装”步骤将要找到已经存在的功能,并为其添加服务支持。

另外,还涉及到创建提供功能和访问数据源所需的新服务,以便满足您的 SOA 涉及的业务流程范围内的需求。

  部署   进行了建模和组装后,要将组成 SOA 的资产部署到安全的集成环境中。

此环境本身提供专门化的服务,用于集成业务中涉及的人员、流程和信息。

这种级别的集成可帮助确保将公司的所有主要元素连接到一起协同工作。

此外,部署工作还需要满足业务的性能和可用性需求,并提供足够的灵活性,以便吸纳新服务(并使旧服务退役),而不会对整个系统造成大的影响。

  管理   系统就位,一切都正常运行。

现在您可以对一切放手不管了,对吗?不对。

部署后,需要从 IT 和业务两个角度对您的系统进行管理和监视。

在“管理”步骤中收集的信息用于帮助实时地了解业务流程,从而能更好地进行业务决策,并将信息反馈回生命周期,以进行持续的流程改进工作。

您将需要处理服务质量、安全、一般系统管理之类的问题。

  在本步骤中,您将监视和优化系统,发现和纠正效率低下的情况和存在的问题。

由于 SOA 是一个迭代过程,因此,在此步骤中,您不仅要找出技术体系结构中有待改进之处,而且还要找出业务体系结构中有待改进之处。

  完成此步骤后就要开始新的“建模”步骤了。

在“管理”步骤中收集的数据将用于重复整个 SOA 生命周期,再次进行整个过程。

  控制   SOA 是一种集中系统;其中可以包含来自组织的不同部门的服务,甚至还能包含来自组织外的服务。

如果没有恰当的控制,这种系统很容易失控。

  控制对所有生命周期阶段起到巩固支撑作用,为整个 SOA 系统提供指导,并有助于了解系统全貌。

它提供指导和控制,帮助服务提供者和使用者避免遇到意外情况。

hostyun评测香港原生IPVPS

hostyun新上了香港cloudie机房的香港原生IP的VPS,写的是默认接入200Mbps带宽(共享),基于KVM虚拟,纯SSD RAID10,三网直连,混合超售的CN2网络,商家对VPS的I/O有大致100MB/S的限制。由于是原生香港IP,所以这个VPS还是有一定的看头的,这里给大家弄个测评,数据仅供参考!9折优惠码:hostyun,循环优惠内存CPUSSD流量带宽价格购买1G1核10G3...

10gbiz:香港/洛杉矶CN2直连线路VPS四折优惠,直连香港/香港/洛杉矶CN2四折

10gbiz怎么样?10gbiz在本站也多次分享过,是一家成立于2020的国人主机商家,主要销售VPS和独立服务器,机房目前有中国香港和美国洛杉矶、硅谷等地,线路都非常不错,香港为三网直连,电信走CN2,洛杉矶线路为三网回程CN2 GIA,10gbiz商家七月连续推出各种优惠活动,除了延续之前的VPS产品4折优惠,目前增加了美国硅谷独立服务器首月半价的活动,有需要的朋友可以看看。10gbiz优惠码...

TabbyCloud周年庆&七夕节活动 美國INAP 香港CN2

TabbyCloud迎来一周岁的生日啦!在这一年里,感谢您包容我们的不足和缺点,在您的理解与建议下我们也在不断改变与成长。为庆祝TabbyCloud运营一周年和七夕节,TabbyCloud推出以下活动。TabbyCloud周年庆&七夕节活动官方网站:https://tabbycloud.com/香港CN2: https://tabbycloud.com/cart.php?gid=16购买链...

soa为你推荐
软件开发的周期知道开发一款App的周期是多久吗美国大选投票实时数据美国大选每个州的选举人票多少是怎么定的qq空间个性域名QQ空间里什么是 空间个性域名magento2MRP与MRP2的区别99客服软件下载46级成绩查询忘记准考证怎么办cf服务器爆满为什么穿越火线显示该服务器已爆满怎么才能挤进去?魔兽世界密保卡魔兽世界密保卡绑定罗振宇2017跨年演讲第五届“时间的朋友”跨年演讲关键词:基本盘,什么叫“基本盘”?Costco茅台被抢光Costco在中国大陆第一家店开业首日被挤爆,为什么人们都特别青睐洋货?500人同时怎样建立500人的微信大群?
vps安全设置 中文域名交易中心 中国域名网 google电话 私人服务器 godaddy续费优惠码 permitrootlogin evssl证书 免费个人博客 java空间 panel1 100mbps hktv 台湾谷歌 华为云服务登录 香港亚马逊 wordpress中文主题 九零网络 月付空间 reboot 更多