SOA基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SOA基础知识简介SOA简介如果您接触SOA不久,则可能会希望在开始本教程前了解本部分给出的一些基本信息的简介。SOA是一种体系架构方法,用于定义、链接和集成具有清晰边界且功能方面自包含的可重用业务服务。在这种类型的体系架构中,您可以对业务流程中的业务服务进行协调。通过采用服务的概念(一个独立于应用程序或基础设施IT平台以及上下文和其他服务的较高级别的抽象),SOA将IT提升到了一个新的级别,更为适合互操作性和异类环境。因为SOA构建于主要IT提供商认可和支持的标准(如Web服务标准等)之上,因此可以快速构建服务和进行互连。可以在不考虑所支持的基础设施的情况下在企业间进行互连,从而为委托、共享、重用现有资产并实现其好处的最大化打开方便之门。通过建立SOA,可以将内部IT基础设施提高到一个更高、可见性更好且可管理的级别。通过可重用服务和高级流程,能以比以往任何时候都方便的方式进行更改,而且更像是分解部件(服务)并将其重新组合为新的与业务一致的流程。这不仅提高了效率和重用,而且还提供了极强的更改和保持IT与业务一致的能力。SOA的价值那么,为什么大家对SOA的出现如此兴奋呢?它提供了什么,能够有什么帮助?是否所有情况都应该使用?接下来让我们逐一回答这些问题。SOA最适合什么?您可能会想,SOA最适合哪些业务功能和情况,以及何种情况最能体现出其潜能?某些情况和业务功能应该立即使用SOA,因为SOA可以提高竞争力和效率,清楚地体现出其价值。此类情况主要包括:多个实体使用的集中业务功能:SOA可帮助标识此类功能,并将其打包为可重用的自包含服务,不会受到相关流程更改的影响。与合作伙伴集成:SOA可推动标准的使用,而这在任何集成中都至关重要,因为标准为所有各方创建了共有的工作基准。另外,SOA能提供出色的敏捷性,能够通过SOA的分离功能以对客户几乎无缝的方式灵活地插入、更改或更新服务,从而能增强集成体验。存在仍然在使用的旧技术:有些组织可能不愿意放弃行之有效的技术。安全顾虑让有些客户(特别是银行之类敏感行业)对新软件系统及其未知漏洞持怀疑态度。在这种情况下,SOA可以帮助使用标准方式打包遗留技术,以便在适合进行集成和重用的基于标准的环境中使用。什么因素促成了SOA最受欢迎的功能:业务敏捷性支持?因为更改是不可避免的,业务连续性的唯一保证就是预计更改并加以适应,也称为业务敏捷性。对于任何企业的未来都至关重要的是,SOA通过以下方面让业务敏捷性成为可能。松散耦合支持实时业务功能,因为其中消除了阻碍变更能力的硬连接改变IT成本分布方式,在实现上面更为廉价,更多的投资可进行重用提高对信息源的实时远程访问的可行性,从而减少延迟和依赖关系集成项目是由业务需求驱动,并具有所提供功能的可见性(即业务是主要驱动因素)通过公开和共享信息让公司获得更高的实时数据测定性能缩短上市时间(因为可以加快到客户和合作伙伴的连接时间)合作伙伴可以更快地与您的公司开展业务推广和公开您的服务,更便于客户查找您和您的服务通过搜索最适合您的需求的服务,更便于查找新的合作伙伴和服务重用提高流程一致性(因为依赖于相同的重用组件)通过服务提供者间的竞争促进质量的提高为客户提供广泛的提供商选择几乎涵盖所有IT资产类:硬件、软件、数据和流程资产减少更改的影响(因为更改在集中位置进行,然后就会在所涉及的所有各方上反映出来)让您专注于业务流程,而不用太多考虑技术实现帮助减少集成的成本(因为组件已经进行了集成)让您在不约束业务更改的前提下进行系统更改提升灵活性,从而获得更多的创新空间允许一次发布多次使用可扩展性让各种规模的组织都能使用SOA解决方案更改软件部署活动到更为动态且更为省时的模型,与业务更为相配更便于添加或更改合作伙伴加速合并和收购方便公开服务,而这就代表着新的收益来源那么,如果公司不采用SOA,将失去什么?因为对公司而言,SOA是非常可取的解决方案,不实现此体系架构的代价是,可能会导致在三个方面存在重大落后的情况:无法进入到提供更多业务增长和曝光机会的高值市场。因为公司受到现有定制系统的束缚,虽然努力想进入高值市场,但始终却在市场原地踏步。不过,通过SOA,组织可以改变业务战术和支持新的市场策略,从而获得竞争优势。无法应对与技术更为先进的对手的竞争。来自成本更低的领域的竞争。SOA是否总是较好的解决方案?SOA可以为所有业务组织带来好处。不过,在一些非常特殊的情况下,可能会发现SOA更多的是一种责任和义务,而不是改善业务的驱动因素。这些情况包括:同类IT环境:如果组织依赖于一组一致的产品(例如,属于相同的提供商)、工作范围有限而且不需要添加或更改其中的任何产品,则SOA不是一项有用的策略,而可能是一种责任。真正的实时性能极为重要的情况:为了在不同使用者和提供者之间提供松散耦合,SOA依赖于可互操作性协议达到此目的,而这在本质上是很缓慢的。其中还可能包括中介逻辑和异步协议,而这些并不适合对实时性能要求较高的情况。不会发生变化时:如果客户没有发现业务逻辑、表示、数据流、流程或应用程序任何其他方面的变化,将旧系统转换为SOA可能不会带来足够的好处让所投入的物有所值。紧密耦合并不方便时:松散耦合最好与不在您控制之下的组件(即您无法控制其变更)结合使用。另一方面,如果组件是您的且受您控制,松散耦合可能成为负担,特别在组件不具有实际可重用性的情况下更是如此。SOA概念接下来让我们了解一些SOA概念,以便更好地理解什么是SOA。SOA中服务的定义关于服务,有大量不同的定义,但我认为以下对什么是服务解释得最好。摘自WebServicesandService-OrientedArchitecture:TheSavvyManager'sguide(请参见参考资料部分提供的链接):“服务是定义良好、自包含且不依赖于上下文或其他服务的状态的功能。”摘自SearchSystemChannel.com(请参见参考资料部分提供的链接):“...服务定义为代表某个计算实体(如人工用户或其他程序)执行的工作单元。”SOA中松散耦合的概念为了帮助了解SOA中松散耦合的概念,您应该首先了解一下常规的松散耦合概念。以下说明了什么是松散耦合以及其为何颇有价值:如果交互中一方对实体的更改需要其他方进行对应的修改,则实体是耦合的(例如,业务数据模型)。如果实体的行为在服务接口中指定,且服务请求者和提供者只能在具有匹配的声明行为时才能进行交互,则该实体是声明的。声明的方面包括安全性、事务行为和服务质量(如响应时间和交付等)。如果实体由服务请求者和服务提供者同时声明,但基础设施提供了一些转换功能来支持声明的行为不匹配的服务请求者和提供者间的交互,则该实体是转换的。如果请求者和提供者都声明了自己能够支持的一系列行为,而对于每个交互,中间层基础设施都能够在二者之间协商一个一致同意的行为,则该实体是协商的。如果交互中一方对特定方面的更改不需要其他方进行对应的更改,则该实体是分解的。松散耦合在SOA范式中的作用如下:它帮助在服务提供者和服务使用者之间形成一个抽象层。松散耦合可提高在不影响服务使用者的情况下更改服务实现的灵活性。在SOA方法中,功能组织为一系列模块化、可重用的共享服务。这些服务具有定义良好的接口,其中封装了用于访问服务的关键规则。这些服务还是在不假设谁将使用服务的情况下构建的。因此,能够松散耦合到这些服务的使用者。XML在SOA中作出了什么贡献?SOA基于开放标准,能够促进独立于平台的业务集成,但是需要公共平台作为其基础设施的基础。此基础设施需要所涉及的各方的支持,以在认识方面达成一致。由于以下这些原因,XML是此基础设施的核心:XML是几乎所有Web服务标准的基础,如XML模式、SOAP、Web服务描述语言(WebServicesDescriptionLanguage,WSDL)及统一描述、发现和集成(UniversalDescription,Discovery,andIntegration,UDDI)等。这些标准利用了基于XML的表示形式的核心概念,此表示形式是受到全球广泛支持的格式,能用于在SOA中的服务提供者和请求者之间进行信息交换。通过使用XML解决了跨不同平台使用不同应用程序中不同数据格式的问题。XML本质上具有简化表示形式、基于文本、灵活且可扩展的好处。SOA使用的构建于XML之上的标准包括:SOAP:这是基于XML的简单协议,允许应用程序通过HTTP等传输协议交换信息。在SOAP中使用XML保证了SOAP协议以下方面的特征:o独立于平台。o可在Internet上使用。o能人工读取,具有结构化特征,且基于文本。由于具有上述好处,SOAP是推荐使用的Web服务通信协议,使用最为广泛。由于Web服务是SOA的基础,因此这个协议也是SOA解决方案的基本通信协议。WSDL:WSDL是以XML格式编写的用于描述Web服务的文档。它指定服务的位置和服务向访问此服务的个体公开的操作(或方法)。WSDL文件描述四个主要事项:oWeb服务接口提供的服务,如方法的列表名称和属性消息。o消息的数据类型o传输协议(如HTTP和JMS)的绑定信息o调用时使用的服务地址使用可扩展标记语言的电子商务(ElectronicBusinessusingeXtensibleMarkupLanguage,ebXML):ebXML是定义企业间执行的业务事务的标准方式。ebXML定义了业务消息交换的标准方法,建立了公司间的贸易通信和注册业务流程。服务注册中心服务注册中心是SOA系统中可用的服务的目录。其中包含服务的物理位置、版本及服务有效期、服务文档和策略。服务注册中心是SOA体系架构的主要构建块之一。下面对其扮演的角色进行了介绍:服务注册中心实现SOA的松散耦合承诺。通过保存服务端点位置,消除了在使用者和提供者之间进行硬编码所带来的高度耦合。另外还消除了在需要的情况下替换服务实现的潜在难题。服务注册中心具有很高的可伸缩性,可以在系统服务逐步发展的情况下无缝地提升。它允许系统分析人员对企业的业务服务投资组合进行调查。他们可以随后确定哪些服务可用于实现流程自动化来应对迫切的业务需求,哪些服务不能用于此目的,从而让您知道需要在投资组合中实现和添加什么,并会提供可用服务目录。服务注册中心可以通过强制遵从订阅服务来逐步过渡到治理服务的角色。这可帮助确保服务治理和策略的完整性。在本教程稍后,您将了解关于治理及其在SOA中的重要性。可用服务及其接口的可见性可加快开发速度、提高应用程序重用、改善治理和改进业务规划及管理。没有服务注册中心会导致冗余和效率低下。服务注册中心可帮助减少在定位服务信息方面浪费的时间。如果不使用注册中心来跟踪服务及其关系,SOA环境不仅会缺少一致性和控制,还会出现混乱。什么是业务流程?业务流程是在此环境中经常听到的一个术语。以下是业务流程的两个定义:摘自“BusinessprocessesandworkflowintheWebservicesworld”:“业务流程可以定义为链接到跨功能边界的活动的一组相互关联的任务。业务流程具有起点和终点,是可重复的。”另一个定义是:业务流程可以视为业务实体为了响应事件而执行的一组活动。这一组活动在业务流程中彼此协调,一起描述并集成到一起。为个人发放身份证就是一个业务流程。您提供您的出生证明、教育和专业证书及一张照片来启动流程。然后将创建内部文件,对您进行安全调查,最后,完成了所有处理后,就拿到了身份证了。在SOA范式中,业务流程对服务流进行控制。业务流程驱动事件流,调用和协调服务,并为其创建上下文来进行相互通信。业务流程代表业务抽象,同服务实现进行了分离,是关于业务流的流程。通过这个关注分离,不仅可以将更多精力放在流程创建上,而且还可以更方便地根据需要编辑流程,但不用对基础服务实现进行编辑。业务流程的组成元素从组成元素的角度定义业务流程的做法可能相对更好一些,这样能从技术角度对业务流程

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功