一、SOA架构
SOA: Service Oriented Architecture, 面向服务的架构,或者说,以服务为基础搭建的企业IT架构。SOA中服务(Service)的理念,本质上是一种业务和技术完全分离,业务和技术又能自由组合的思想. 它达到了目前软件设计思想的最高境界。
增强现实导航软件运用到了SOA框架,提供的SOAP接口可以满足不同语言不同平台的调用,采用HTTP协议,Http协议是跨平台的协议,因此在安卓端和后台交互上无疑是比较好的选择。
SOA有3个基本的要素,只有这3个基本要素全部都满足了,这个应用才能称为SOA的编程:(1)松散耦合;(2)粗粒度;(3)位置和传输协议透明。
(1)松散耦合是指相互之间的依赖程度,包括三个方面:1)服务之间的松散耦合: 不同服务的功能不要互相依赖, 相对独立而完整,所谓自包含;这样就比较好管理各个数据2)接口和实现之间的松散耦合: J2EE或.NET只需WSDL就可以调用WEB SERVICE的服务接口;3)业务组件和传输协议之间的松散耦合:传输协议和位置的透明。 (2)粗粒度的意义是SOA中服务的接口应该比面向对象的编程的API要大一些。以ATM取款机的取款功能来说明这个问题.取款功能的实现可能实际要包括下面的3个API:1)身份校验: 系统确认用户输入的卡号和密码是否正确;2)余额查询:账户是否有足够取款数额;3)取款: 以上两项都满足后,才真正付给用户现金。
ATM取款机取款功能的3个API
作为SOA的业务接口,就不能将“身份校验”和“查询余额”这两个API公布给用户,因为这样太细了。如果让用户必须操作完两个接口,最后再操作“取款”接口,则不符合用户的操作习惯。所以系统只能给出符合用户操作习惯的一个服务接口“取款”,它里面包含前面两个API功能 。
(3)位置和传输协议透明是SOA最根本的区别于目前面向组件编程的地方。目前的服务组件如EJB、WEB SERVICE、JMS的发布都是和特定的应用服务器绑定在一起的。如果某个服务组件的URL位置修改了,客户端程序必须要做相应的修改,否则整个集成不能工作了。这就是位置组件的不透明。
所谓位置的透明,就是指不论服务组件的实际位置URL如何变化,客户端的调用程序的URL都不需要改变。所谓传输协议的透明,就是指不管服务组件的传输协议如何变化,客户端的调用程序的传输协议都不需要改变。
二、SOA工作流程
SOA架构中有三种角色:(1)服务提供者Provider:发布自己的服务,并且对服务请求进行响应。(2)服务注册中心Agent:注册已经发布的web service,对其进行分类,并提供搜索服务。(3)Consumer服务请求者:利用服务中心查找所需要的服务,然后使用该服务。
SOA的三种操作:(1)发布操作:为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。(2)查找操作:服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。(3)绑定操作:在检索到服务描述之后,服务使用者继续根据服务描述中信息来调用服务。
SOA实例:在石油企业内部,有许多不同的网站,进入每个网站,都需要身份验证,不仅浪费时间而且容易遗忘代码 ,另外,网站维护人员对各种服务需要建立相应的用户认证与信息管理系统,分布于个服务器中的用户数据不仅浪费维护人员的时间,而且过于分散的用户数据不利于统计和管理。用户的需求和管理要求促使用户趋于统一,产生了统一者认证。统一认证的实现是基于SOA的架构。
从中可以看出使用SOA的优点:将身份验证这一功能模块发布成一种服务,其他的软件可以通过UUDI查找该服务,然后将该服务与服务的实现进行绑定。
相关推荐
**SOA框架技术详细教程** 服务导向架构(Service-Oriented Architecture,简称SOA)是一种设计模式,...通过理解和应用这些概念,开发者可以在企业级系统中有效实施SOA框架,构建出灵活、可扩展且易于维护的解决方案。
4. **消息传递**:SOA框架通常使用消息中间件(如ESB - Enterprise Service Bus)来促进服务间的通信。消息队列和发布/订阅模型是常见的通信模式,它们可以实现异步处理,提高系统的响应速度。 5. **安全性**:在...
### 基于WCF的SOA框架设计 #### 一、引言 自1996年Gartner首次提出SOA(Service Oriented Architecture,面向服务的架构)概念以来,这一理念已从一个纯粹的概念模型发展成为多形态的技术实现方案。随着SOA标准的...
### SOA治理——框架与最佳实践 #### 引言 在服务导向架构(Service-Oriented Architecture,简称SOA)的背景下,治理往往是一个被误解的概念。有些人将SOA治理视为服务生命周期治理,即从创建到部署的服务管理...
通过对当前市场上可用的SOA框架进行评估和比较,企业可以更好地理解各种框架的优势和局限性,并最终选择最适合自身需求的框架。此外,随着技术的发展和实践经验的积累,SOA框架也将不断发展和完善,为企业的SOA转型...
**SOA框架的不足** Service-Oriented Architecture (SOA) 是一种软件设计范式,旨在构建可重用、模块化和互操作的服务,以促进灵活性和效率。然而,如同任何新兴技术,SOA在实践中面临着一些显著的挑战和局限性。 ...
**SOA模式的轻量级服务调用框架模型 WCF** **一、SOA(Service-Oriented Architecture)服务导向架构** SOA是一种设计模式,它提倡将业务功能分解为独立的服务,这些服务可以通过标准接口进行交互,实现松耦合和...
通过对SOA的关键特性的理解及其应用场景的了解,可以帮助企业更好地利用这一架构模式来提高业务灵活性、降低开发成本并提升服务质量。同时,也需要关注SOA实施过程中可能遇到的挑战,采取相应的措施来克服这些难题。
总之,该案例提供的成熟SOA框架整合实例对于学习和实践SOA架构有着极高的价值,不仅可以帮助理解SOA的核心理念,还可以通过实际运行的源代码加深对各种组件和交互方式的理解。无论是对于初学者还是经验丰富的开发者...
在SOA框架中,常见的技术包括Web Services(如SOAP和RESTful API)、Enterprise Service Bus(ESB)、服务注册与发现机制等。SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在不同操作系统和编程...
本篇文章将深入探讨一个基于泛形和面向服务架构(Service-Oriented Architecture, SOA)设计思想的.NET框架Demo代码,帮助读者理解并掌握其核心概念和技术。 首先,我们来谈谈“泛形”。泛形是.NET框架中的一个重要...
基于SOA(Service-Oriented Architecture,面向服务架构)的框架设计是一种现代软件开发和系统集成的方法,它强调将功能分解为独立的服务,这些服务可以通过网络进行交互,以实现业务流程的灵活组合和复用。SOA的...
4. **服务管理**:通过服务注册中心和服务治理框架,实现服务的监控、管理和更新,确保服务的高质量和高可用性。 5. **业务流程整合**:将服务集成到业务流程中,利用工作流引擎协调服务之间的交互,实现业务目标。...
尽管XFire已被更现代的框架如Apache CXF取代,但它仍然为我们提供了一种理解SOA概念和实践的途径。在学习SOA时,理解服务的定义、服务间的通信以及如何使用像XFire这样的工具来实现服务,都是非常关键的步骤。在实际...
### SOA治理:框架与最佳实践 #### 引言 在服务导向架构(Service-Oriented Architecture,简称SOA)的背景下,治理往往被误解。有些人将SOA治理理解为服务生命周期治理,即从创建到部署整个过程中的管理;而另...
最后,通过真实的SOA项目案例,展示SOA在不同行业和场景中的应用,帮助学习者理解SOA在实际工作中的价值和挑战。 通过这套详尽的SOA课程,学习者不仅能掌握SOA的基本理论,还能了解到实际项目中的最佳实践,从而...