SOA思想、技术

SOA思想与技术

Gartner Group 1996 年最早提出了面向服务构架(Service Oriented Architecture ,SOA),而该公司预计2008年至2010年,采用SOA体系构架的企业将分别达到70%80%

SOA究竟是什么呢?可以说他是一种信息系统集成思想。理解SOA关键是理解这个“S”,即Service。服务可以说是一种即超越具体技术,又包容具体技术的一种业务功能(SOA是一种较系统应用层面的,通常是分布式多系统应用层面上,而非独立的单个系统上的)。怎么才算是SOA呢,或者说SOA包括哪些基本要素和目标呢?目前有哪些技术可以来实现SOA呢?接下来将一一说明。

一、SOA基本要素:

1.       松散耦合

a)         服务之间的松散耦合

这里所说的服务之间的松散耦合,是指不同服务的功能不要互相依赖,一个服务应该能够自己实现所提供的接口功能(所谓内聚),不要依赖其它的服务。以ATM取款机为例,它提供了余额查询、取款、存款等功能。这些功能应该能够独立的工作,比如取款功能不能工作了,应该要不能影响余额查询功能和存款功能的运行。甚至ATM机出错了,其它业务办理方式应该要能继续服务(如银行柜台、WEB终端、电话银行等)

ATM系统架构)

这个需求通过一个比较好的架构设计就可以实现,用传统的技术也可以实现,主要是要有这种独立、不互相依赖、内聚的思想。

b)        接口和实现之间的松散耦合

其实WebService已经实现了这一点,它以WSDL来描述WebService的功能、调用访问等,以UUID来统一发布管理WSDL地址,用J2EE.NET或其它技术都可以实现。

c)        业务组件和传输协议之间的松散耦合

EJB需求RMI传输协议,WebService需要SOA传输协议,JMS需求JMS传输协议等,要解决不同传输协议的透明化、集中处理,其实现在也有相应的解决方案,在后面会逐一介绍当前流行的一些解决方案。

2.       粗粒度

“粗粒度”是指SOA中服务的接口应该比具体语言(java,C#)上的接口要更大一些,但这个“粗粒度”也不要“太粗”,“太粗”则表明抽象程度太高,以至于远离了用户的实际操作,这就反而不好了。因为一切以现实的情况来衡量、设计、实现这才是最真实的、准确的(这一点不单是在SOA上,在javaC#等具体计算机语言上也是如此)。

3.       位置和传输协议透明

位置和传输协议是SOA最根本区别于目前面向组件编程的地方。目前的服务组件如EJBWebServiceJMS或相应的组件包(如javabeandll等)的发布都是和特定应用服务器(如apache http server,iis,weblogic,tomcat,websphere,jboss等)客户端必须知道具体的应用服务器的URL才能调用相应的组件。在全球经济一体化的浪潮下,各企业的服务集成以便提供更多丰富的功能服务,这是必然的趋势。

位置透明,就是不论服务组件的实际位置URL如何变化,客户端的调用程序的URL都不需求改变。

传输协议透明,是指不管服务组件使用的是何种传输协议,客户端的调用程序的传输协议都不需求改变,这对于客户端来说是透明的。

目前组件的调用方式如下图:

(一般系统架构)

二、SOA目标

       随着全球经济一体化的深入发展,敏捷的、多渠道的、安全的、松散耦合的系统集成已经成为越来越多企业业务的需要。

技术构架:

 

(SOA技术架构)

业务架构:

 

(SAO业务架构)

三、SOA思想方案

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SOA技术是指面向服务架构(Service-Oriented Architecture)的一种软件设计思想和开发模式,通过将应用程序划分为可独立部署、可重用的服务单元,实现了解耦合和松散耦合的系统架构。SOA技术可以提供灵活、可扩展、可维护的系统架构,使企业能够快速响应变化和创新。 SOA技术的应用主要体现在企业级软件开发、信息系统集成和服务管理等方面。首先,通过将企业应用程序划分为各个具有特定功能的服务单元,企业可以实现服务的复用,提高开发效率和质量。其次,SOA技术可以帮助企业实现信息系统集成,通过定义和管理服务接口,不同系统之间可以进行数据共享和交互,提高系统间的互操作性和业务流程的整合性。此外,SOA技术还可以实现对服务的注册、发现、调用和监控等服务管理功能,方便企业进行服务的管理和运维。 在实际应用中,SOA技术已经被广泛应用于各个行业。例如,在电子商务领域,企业可以利用SOA技术实现订单管理、支付系统、物流追踪等功能的拆分和组合;在金融领域,SOA技术可以帮助银行实现核心业务系统的集成和业务流程的优化;在制造业领域,企业可以利用SOA技术实现设备管理、生产计划、质量控制等方面的改进。 总而言之,SOA技术的应用可以帮助企业实现系统架构的灵活性、可扩展性和可维护性,提高软件开发效率和质量,实现信息系统的集成和业务流程的优化,是企业在数字化转型和信息化建设中的重要工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值