`

SOA框架理解

阅读更多

  

一、SOA架构

SOA: Service Oriented Architecture, 面向服务的架构,或者说,以服务为基础搭建的企业IT架构。SOA中服务(Service)的理念,本质上是一种业务和技术完全分离,业务和技术又能自由组合的思想. 它达到了目前软件设计思想的最高境界。

增强现实导航软件运用到了SOA框架,提供的SOAP接口可以满足不同语言不同平台的调用,采用HTTP协议,Http协议是跨平台的协议,因此在安卓端和后台交互上无疑是比较好的选择。

SOA3个基本的要素,只有这3个基本要素全部都满足了,这个应用才能称为SOA的编程:(1)松散耦合;(2)粗粒度;(3)位置和传输协议透明。

1)松散耦合是指相互之间的依赖程度,包括三个方面:1)服务之间的松散耦合: 不同服务的功能不要互相依赖, 相对独立而完整,所谓自包含;这样就比较好管理各个数据2)接口和实现之间的松散耦合: J2EE.NET只需WSDL就可以调用WEB SERVICE的服务接口;3)业务组件和传输协议之间的松散耦合:传输协议和位置的透明。    (2)粗粒度的意义是SOA中服务的接口应该比面向对象的编程的API要大一些。以ATM取款机的取款功能来说明这个问题.取款功能的实现可能实际要包括下面的3API1)身份校验: 系统确认用户输入的卡号和密码是否正确;2)余额查询:账户是否有足够取款数额;3)取款: 以上两项都满足后,才真正付给用户现金

 

ATM取款机取款功能的3API

作为SOA的业务接口,就不能将“身份校验”和“查询余额”这两个API公布给用户,因为这样太细了。如果让用户必须操作完两个接口,最后再操作“取款”接口,则不符合用户的操作习惯。所以系统只能给出符合用户操作习惯的一个服务接口“取款”,它里面包含前面两个API功能 。

3)位置和传输协议透明是SOA最根本的区别于目前面向组件编程的地方。目前的服务组件如EJBWEB SERVICEJMS的发布都是和特定的应用服务器绑定在一起的。如果某个服务组件的URL位置修改了,客户端程序必须要做相应的修改,否则整个集成不能工作了。这就是位置组件的不透明。

所谓位置的透明,就是指不论服务组件的实际位置URL如何变化,客户端的调用程序的URL都不需要改变。所谓传输协议的透明,就是指不管服务组件的传输协议如何变化,客户端的调用程序的传输协议都不需要改变。  

 

二、SOA工作流程

  SOA架构中有三种角色:(1)服务提供者Provider:发布自己的服务,并且对服务请求进行响应。(2)服务注册中心Agent:注册已经发布的web service,对其进行分类,并提供搜索服务。(3Consumer服务请求者:利用服务中心查找所需要的服务,然后使用该服务。 

SOA的三种操作:(1)发布操作:为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。(2)查找操作:服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。(3)绑定操作:在检索到服务描述之后,服务使用者继续根据服务描述中信息来调用服务。

 

 

SOA实例在石油企业内部,有许多不同的网站,进入每个网站,都需要身份验证,不仅浪费时间而且容易遗忘代码 ,另外,网站维护人员对各种服务需要建立相应的用户认证与信息管理系统,分布于个服务器中的用户数据不仅浪费维护人员的时间,而且过于分散的用户数据不利于统计和管理。用户的需求和管理要求促使用户趋于统一,产生了统一者认证。统一认证的实现是基于SOA的架构。

 

从中可以看出使用SOA的优点:将身份验证这一功能模块发布成一种服务,其他的软件可以通过UUDI查找该服务,然后将该服务与服务的实现进行绑定。

0
0
分享到:
评论

相关推荐

    基于ESB_SOA的系统集成框架的设计与研究_冯培培

    针对异构环境下应用系统集成...务的思想,提出了一个基于 ESB-SOA 的应用系统集成框架,该框架是基于 J2EE 平台,结合 Web Services 技术,采用企业服务总线(ESB)作为各应用系 统间信息共享的渠道,是轻量级的框架。

    开发新的综合SOA治理框架的设计科学方法-研究论文

    SOA治理在实现成功和实现SOA的收益方面起着至关重要的作用。... 这是一个可以理解的框架,它阐明了逻辑结构中的所有流程,活动,指标和其他相关元素。 另外,为了简化框架的应用,提出了一种实现过程。

    SOA(Service-OrientedArchitecture)面向服务的分布式架构详解

    简单的理解,我们可以把SOA看作是模块化的组件,每个模块都可以实现独立功能,而不同模块之间的结合则可以提供不同的服务,模块之间的接口遵循统一标准,可以实现低成本的重构和重组。在SOA的技术框架下,可以把...

    SCA对于SOA面向服务设计的意义

    笔者分析其主要原因是因为Webservice给人的影响太大了,大多数人对SOA的理解都差不多,觉得SOA=Webservice,其实这就是最典型的理解。大家之所以觉得Webservice牛,技术很强,除了因为它是一个标准和规范外,还因为...

    理解SOA架构使用dubbo与zookeeper搭建分布式工程

    本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如 dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,spring...

    初识SOA(面向服务的体系结构)

    应该说从不同的角度可以有不同的理解和描述,首先SOA是面向服务体系结构的简称,如果从软件架构的角度来说SOA是一种用来整合不同应用服务的解决方案框架,从软件制作理念的角度来说,SOA的出现是软件厂商开始抛弃...

    使用组合SOA和TOGAF的环境提升生产力

    目前,开放组织架构框架(OpenGroupArchitectureFramework,TOGAF)和SOA都是难以实施和理解的。为了获取成功,一项技术必须最少提供两件事情:一个参考拓扑结构(定义架构)以及一个参考实施工作流程(定义序列),...

    重新审视业务流程再造:未来的新框架和模型-研究论文

    业务流程再造就是对与业务相关的不同流程进行根本性的重新考虑和重新思考,并重新设计这些流程,以在... 它将组织再造的原则与信息通信技术工具相结合,从而为业务流程再造构建了一个有效、易于理解和易于实施的框架。

    SOA分析和设计中的错误处理要点

    缺少具体的需求以明确出错处理场景,或者缺乏将这些场景纳入SOA分析及设计阶段的理解,都将导致在开发阶段致力于将设计服务放在首位,只要完成功能,走正确路径(不考虑出错场景)即可。这种方法往往藏有隐患,会...

    java技术储备,如何提升自己

    1. SOA 和微服务:了解 SOA 和微服务的概念和架构。 2. 负载均衡:了解负载均衡的原理和实现机制,例如 LVS、NGINX 等。 3. RPC 框架:了解 RPC 框架的原理和实现机制,例如 RMI 等。 4. 消息框架:了解消息框架的...

    WCF学习教程与WCF经典开发指南

    WCF是微软为了搭建SOA 平台的杰作。...也就是说,在WCF 框架下,开发基于SOA 的分布式系统 变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌 握了叩开SOA 大门的钥匙。

    WCF 指南教程(PDF)

    WCF是微软为了搭建SOA 平台的杰作。...也就是说,在WCF 框架下,开发基于SOA 的分布式系统 变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌 握了叩开SOA 大门的钥匙。

    java8stream源码-doc:一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈

    一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈. Java8 HashMap源码分析 并发 IO JVM 类加载机制与编译优化 JVM运行时数据区的内存管理机制 垃圾收集算法与垃圾收集器 性能监控与故障处理 常用设计...

    c#高级程序员面试题.pdf,这是一份不错的文件

    10. SOA(Service-Oriented Architecture)的理解:SOA是一种架构模式,旨在将应用程序拆分成多个独立的服务,提高系统的灵活性和可扩展性。 11. SaaS(Software as a Service)的理解:SaaS是一种软件交付模式,...

    手把手带你构建大规模分布式服务--高并发、高可用架构系列,高质量原创好文!

    我从业之初接触到的便是一堆基于Webservice、Hessain等实现的跨语言的分布式系统,那是SOA架构和理念十分盛行的时代,我常常听到前辈们在谈论“SOA治理”等高大上的词,但我当时并没有理解何为“治理”,甚至在想:...

Global site tag (gtag.js) - Google Analytics