SOA本质及关键技术

上传人:油条 文档编号:24883280 上传时间:2017-12-08 格式:PPTX 页数:33 大小:1.89MB
返回 下载 相关 举报
SOA本质及关键技术_第1页
第1页 / 共33页
SOA本质及关键技术_第2页
第2页 / 共33页
SOA本质及关键技术_第3页
第3页 / 共33页
SOA本质及关键技术_第4页
第4页 / 共33页
SOA本质及关键技术_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《SOA本质及关键技术》由会员分享,可在线阅读,更多相关《SOA本质及关键技术(33页珍藏版)》请在金锄头文库上搜索。

1、SOA本质及关键技术,万路Cloud Computing & SOA培训课程,李 晋,上海万路信息技术有限公司,寻找银弹,分组讨论:你认识的SOA,每隔10年左右,计算机行业就会有一枚新的“银弹”产生,宣称要解决那些在过去一直困扰着软件开发的问题,包括拖延的开发周期、无法达到预期效果的方案、高昂的维护成本,当然还有令人生畏的超支。观点:1、HBR哈佛商业评论:那些拥抱SOA的公司“消除了大量冗余的软件,通过简化和自动化(原有的)手工处理流程节约了大量的成本,实现了巨大的生产力提升。2、SOA不过是那些幻想的追求中的一种潮流。,分布式计算简史:从Socket到RPC,大型机时代到个人电脑时代,到

2、未来的云时代套接字Socket远程过程调用RPC,CORBA通用对象请求代理架构始于1991年,一种让函数可以分布执行的标准化方式,最初只支持C语言。商业实现极其昂贵,只是金融电信等行业的消费品。规范不明确导致不同厂商间产品不兼容。JAVA的出现基本宣告CORBA的死亡。JAVA带来了RMI(远程方法调用),以及XML的出现,大大简化了分布式计算。DCOM分布式组件对象模型最早出现在1993年。微软的专属技术,可以看作是微软对CORBA的回应。在微软世界很成功,之外世界受到明显限制而缺乏吸引力。比如ERP一般都不采用微软技术。EJB具备了很多DCOM特性,可以被认识是DCOM的JAVA替代。,

3、基于RPC方案的不足,带宽占用本地和远程系统紧耦合;客户端向服务端发出的RPC重复调用请求会产生大量网络负载。需要稳定的网络RPC的细粒度要求稳定的网络。然而不可预料的网络延迟是互联网通信的典型特征。这对基于RPC的方案来说是不可接受的。兼容性RPC的原生数据类型支持(数组、字符串、整型数值等)在试图嫁接不兼容的语言如C+和JAVA时变得很困难。,SOAP的RPC风格消息,上世纪90年代,互联网迅速发展通过互联网使用CORBA或DCOM都十分困难:不少防火墙只允许HTTP流量;另外二者都没有绝对的市场占有。,SOAP的出现可方便进行交互的XML的优势,曾一度被认为是万灵丹。SOAP主要被当作C

4、ORBA、DCOM的替代品。鉴于RPC占据统治地位,SOAP最早推出的是SOAP的RPC风格方案。局限SOAP的RPC风格方案的局限如同RPC一样。,理解SOAP的不同消息风格:文档风格,RPC风格:用于创建紧耦合、分布式的应用;运行在某一台机器上的程序可以无缝地调度远程主机上的函数,如果调度本地函数,而无须关心网络连接的工作机制。,文档风格更多地被看作是用于应用程序和应用程序之间,也可以是商业伙伴之间的消息传递方式(比如基于XML EDI);目的是松耦合的集成,如文档或数据传输。在WSDL的接口说明文档中,可以清晰地看到这种风格,已经和RPC的区别。流行微软是最早支持文档风格的公司之一,SU

5、N迅速跟进,引入JAVA XML Web接口(JAX-WS)。,SOA时代来临根本动力,互联网HTTP被广泛接纳,什么是 SOA,SOA和云计算一样,不是没有概念,而是概念太多!,OASIS标准组织在SOA参考模型(RM)中对SOA的定义为: SOA(Service Oriented Architecture)是一种软件体系结构范型,可以组织和使用处于不同所有者控制下的分布式功能。ERL定义为:当代的SOA代表了一种开放的、敏捷和可扩展的、联邦式的、可编写的架构,由自治的、服务质量保证的、支持不同厂商的、可互操作的、潜在可用的WEB服务构成。BEA:面向服务的架构,是一种IT策略,将企业中离散

6、的功能服务组织起来,成为可互操作、基于标准的服务,而这些服务可以被快速组合和从用以满足业务需要。,万路的SOA观:CIO架构,万路的SOA概念:本质上是以CIO为驱动目标的基于技术的跨多学科的综合整合框架,是一种技术架构、应用架构和一种方法论哲学。,基于组件的框架 VS SOA,SOA不是银弹,Information Week的调查:58%的人表示SOA让他们的IT环境更加复杂;30%的人表示项目成本超出预估;30%的人表示他们的SOA计划没有达成预期。,SOA是最佳实践和标准,SOA本身不只是一门技术SOA是结合数十年来来传统软件开发积累下来的最佳实践和标准涉及的概念有:治理、服务级别协议、

7、元数据定义、注册表等。,SOA环境示意,注意:服务和业务流程之间的关系,Web服务带来的成功,SOAP标准+WSDL,看上去给SOA带来需要的许多功能,所以很多人将SOA和Web服务看做是同义词。,电子商务公司是最早支持通过SOAP暴露API的公司eBay和A是最积极的,而且成效斐然,有差不多30万人使用后者提供的Web Services。而Google的用户已经难以估计。SAAS厂商靠此走向成功软件已死提法的Salesforce正是靠此成为下一代软件的典型范例。,SOA面临的一些困难,Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统

8、更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面。,核心业务功能通过WEB服务暴露出来的困难:1、难度大2、简单将现有对象和方法包装为WEB服务被证明欠考虑(临时方法?)3、基于Facade(外观)模式或者在外面包一层的做法是常用的,但是这意味着大量的代码。大量增加的WEB服务数量,REST、SOA以及WOA,Rest:Representational State Transfer表述性状态转移是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 REST提出了一些设计概念和准则:1.网络上的所有事物都被抽象为资源(resource);2.每个资源对应一个

9、唯一的资源标识(resource identifier);3.通过通用的连接器接口(generic connector interface)对资源进行操作;4.对资源的各种操作不会改变资源标识;5.所有的操作都是无状态的(stateless)。,http:/articles.e- 2.0的学习曲线很平滑。WS-Addressing实现了动态端点寻址,SOA的核心特征2:服务透明性,透明主要是指地支的透明性通常ESB被当作救星如同使命必达的ups同样,简单的服务中介(mediator)或者代理(Proxy)业可以完成。动态寻址(思考本地注册表、远程注册表)WS-Addressing规范提供了使用

10、逻辑的消息地址的方法。,SOA的核心特征3:服务的松耦合与无状态,松耦合服务的粗细粒度:1、一般主张使用粗粒度2、显然,为了实现最大程度重用,创建细粒度的服务也是必要的。无状态1、服务设计简单化2、提升了运算能力和效率3、重用性,SOA的核心特征4:服务组合,方法一:简单或基本的组合服务简单的将一个或多个底层的服务包装成一个更粗粒度的操作。方法二:类似工作流标准BPEL、BPMN。过度使用工作流来调度服务,是福是祸?,银行业案例:利用SCA进行服务编排,利用BPM进行服务编排,SOA的核心特征5:服务注册和发布,UDDI是一种目录服务,企业可以使用它对 Web services 进行注册和搜索

11、。UDDI,英文为 Universal Description, Discovery and Integration,可译为“通用描述、发现与集成服务”。不太成功术语晦涩复杂,动态发现能力有限。但没有更好的标准。LADPIBM、WSO2、MULE的目录服务器是成功的。,WSO2 Registry,世界上最优秀的SOA注册表,拥有web2.0特性。,SOA平台所用到的技术,SOA涉及的基本技术规范,业务流程管理(BPM),应用程序到哪里去了?为什么说BPM是一种服务编排?工作流受益于消息的技术,实现了异步。工作流和BPM的区别?,企业管理决策(EDM),EDM包括业务规则引擎(BRE)和规则管理

12、系统(BRMS)。你的系统中有多少规则?你的组织里有多少规则?程序开发的最大挑战?语言的二义性;SME(业务领域专家)与系统开发人员的认知差距。思考:EDM可用的范围?,企业服务总线(ESB),思考ESB的关键技术特性?思考:ESB的流程microflow和BPM有什么区别?随着SCA的强化,ESB在下一代架构中的变化?,事件流处理器(ESP),无穷的事件反复发生的事件意味着什么?BI可以吗?预测?,Esper示例,JAVA消息服务(JMS),思考:JMS与MQ,两种模型:1、点对点队列模型2、发布和订阅模型异步通信1、打一枪就跑不等对方响应2、区别于SOAP的请求/响应模型,但不绝对。,注册

13、表,SOA制品思考SOA的繁琐之处服务组件的属性:服务端点(WS-Addressing)、服务描述、WSDL路径、版本号、源码路径、请求/响应消息示例、功能和设计文档引用、变更申请、Rademe、产品发布记录,SCA 服务组件和服务组合,SOA制品思考SOA的繁琐之处服务组件的属性:服务端点(WS-Addressing)、服务描述、WSDL路径、版本号、源码路径、请求/响应消息示例、功能和设计文档引用、变更申请、Rademe、产品发布记录,WEB服务中介,ESB具有大部分重叠能力:其他用途记录所有的请求和响应、内部负载均衡、高级缓存、支持高级的WS-*特性、限流中介(类似路由器)等,见证开源的

14、力量,开源中间件技术及其服务业正在世界范围内迅速兴起。它像一盏明灯,指引着前进的方向,世界软件业的经营模式正处在发生剧变的前夕。既然几十万行的源代码已经把企业应用的“基础结构”的窗户纸捅破了,那么,我们还有什么东西要捂着、盖着、藏着而保守“商业机密”呢?我们要学习“TomorrowNow”(“现在即明天”)的精神。GoogleApacheJBOSSSpring SourceWSO2MULE,数据库、操作系统、应用服务器等的开源已经大获成功JAVA所倡导的正是一种开源云带来的“没有软件”的时代中间件的开源力量让商用厂商无法抵挡开源应用服务器占全球近70%近2万家企业采用LIFRAYM门户全球都在用CASWSO2 的ESB排名超过IBMIBM、ORACLE大量采用来自GOOGLE、Apache、Spring的技术规则引擎的最大用户是Drools开源已经几乎占据了CMS市场大半江山Spring几乎消灭了EJB,万路通天下 价值连四海,ValueNet,上海万路信息技术有限公司www.valuenet.cc vnvaluenet.cc 021-60712757/2758总部:上海盈港东路1125弄51号项目部:上海东靖路669弄114号601室重庆:重庆石桥铺渝景新天地2幢26-2北京:北京朝阳区三元桥凤凰城B2-206,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号