SOA面向服务架构技术方案
- 格式:pptx
- 大小:1.36 MB
- 文档页数:31


面向服务架构(SOA)的原则
Web service已经不再是新婚的娘子。众多企业都已经创建各种实验性Web Services 项目,事实证明,这项新兴的分布式计算技术确实能够降低集成和开发的成本。另外,一些关键的Web Services标准纷纷制定,强安全(robust
security)和管理方面的产品也陆续问世。对于志向远大的企业来说,他们已经在考虑下一步了。
对大多数公司来说,下一步要考虑的不再是点对点的应用,而是Web services在企业间以及业务伙伴间更为宽广的应用。这种技术的变迁需要更松散耦合、面向基于标准的服务的架构。这样一个架构要求对IT在组织中的角色有新的观点和认识,而不仅仅是一种实现方法。通过对业务的敏捷反应,企业可以得到实实在在的回报,而要达到这一点,面向服务架构设计师的角色非常关键。除此之外,潜在的回报更是不可胜数-分布计算技术能够保证对业务需求足够灵活的反应,而这种业务上的敏捷正是各公司梦寐以求而目前还遥不可及的。
分布式计算将网络上分布的软件资源看作是各种服务。面向服务架构是一种不错的解决方案。但这种架构不是什么新思想;CORBA和DCOM就很类似,但是,这些过去的面向服务架构都受到一些难题的困扰:首先,它们是紧密耦合的,这就意味着如分布计算连接的两端都必须遵循同样API的约束。打比方说,如果一个COM对象的代码有了更改,那么访问该对象的代码也必须作出相应更改。其二,这些面向服务架构受到厂商的约束。Microsoft控制DCOM自不必说,CORBA也只是一个伪装的标准化努力,事实上,实现一个CORBA架构,经常都是在某个厂商对规范的实现上进行工作。
Web services是在改进DCOM和CORBA缺点上的努力。今天应用Web services的面向服务架构与过去不同的特点就在于它们是基于标准以及松散耦合的。广泛接受的标准(如XML和SOAP)提供了在各不同厂商解决方案之间的交互性。而松散耦合将分布计算中的参与者隔离开来,交互两边某一方的改动并不会影响到另一方。这两者的结合意味着公司可以实现某些Web services而不用对使用这些Web services的客户端的知识有任何了解。我们将这种基于标准的、松散耦合的面向服务的架构简称为SOA。
浅谈基于企业服务总线的SOA架构
随着公司业务的不断发展,会建设大量信息化系统,平台涵盖内容越来越多,系统之间的接口要求也越来越复杂,用户管理的复杂度也成倍上升。现有的系统尽管不断扩展和修补,但其局限性已逐步体现出来,建设初期的一套系统满足企业的大部分管理功能的思想已十分不适合当前的形势。因此,采用基于企业服务总线的技术,建设面向服务的体系架构(SOA)。
1 定义
SOA作为一个组件模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口采用中立的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,从而使得构建在各种系统中的服务可以以一种统一和通用的方式进行交互。
企业服务总线(ESB),作为传统中间件技术与XML、Web服务等技术结合的产物,提供了网络中最基本的连接中枢,是构筑信息系统的必要元素。ESB是SOA集成中最普遍采用的方法,也是SOA的核心和基础架构。ESB中间件利用Web服务标准与公认的可靠面向消息的中间件(MOM)协议接口,其特性包括:连接异构的MOM、利用Web服务描述语言接口封装MOM协议以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。
2 架构设计
基于企业服务总线的SOA架构,在功能上完成“公共基础支撑”,“服务管理”体系,形成基于“统一集成平台”的开发管理方式规范,并按照该规范结合建设的体系上完成若干具体业务系统的实际应用。
2.1 服务网关
Web服务网关是所有服务调用的入口,所有的服务调用的URL地址指向Web服务网关,由Web服务网关来实现具体的服务管理策略,包括安全策略。
服务网关有两大功能:Web服务的安全性和服务级别管理、服务的路由、组装和动态化。
服务的安全性是指对服务调用者的认证和授权检验,确保服务的调用者通过了用户认证,同时要验证权限,确保服务的调用者有调用此服务的权限。如果认证没有通过或是授权验证没有通过,Web服务网关要拒绝服务。服务级别管理是指服务的各种指标,如服务的反应时间、服务的并发量控制等。
面向服务架构(SOA)和企业服务总线(ESB)
学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验的同学发表意见。
一、SOA的历史
1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用软件很多年了,BEA、IBM、等厂商看到了它的价值,纷纷跟进。SOA的目标在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise,这是Gartner为SOA描述的愿景目标)。而BEA的CIO Rhonda早在2001年6月就提出要将BEA的IT基础架构转变为SOA,并且从对整个企业架构的控制能力、提升开发效率、加快开发速度、降低在客户化和人员技能的投入等方面取得了不错的成绩。
SOA是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种规范。这个定义决定了SOA的广泛性。SOA要求开发者从服务集成的角度来设计应用软件,即使这么做的利益不会马上显现。SOA要求开发者超越应用软件来思考,并考虑复用现有的服务,或者检查如何让服务被重复利用。SOA鼓励使用可替代的技术和方法(例如消息机制),通过把服务联系在一起而非编写新代码来构架应用。经过适当构架后,这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模新的应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的响应。
SOA也不仅仅是一种开发的方法论--它还包含管理。例如,应用SOA后,管理者可以方便的管理这些搭建在服务平台上的企业应用,而不是管理单一的应用模块。其原理是,通过分析服务之间的相互调用,SOA使得公司管理人员方便的拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业管理人员或应用架构师迭代地优化他们的企业业务流程、应用系统。
什么是SOA架构
SOA(Service-Oriented Architecture,面向服务的架构)是一种软件架构风格,它通过将应用程序的功能分解为独立的、可重用的服务来提高软件系统的灵活性、可扩展性和可维护性。SOA将服务作为架构的核心构建块,这些服务是高度自治的单元,通过提供自我描述和自管理的接口来与其他服务进行通信。每个服务都完成一个特定的业务功能,并可以独立于其他服务进行开发、实施、测试和维护。
SOA的核心理念是将应用程序分解为一系列独立的服务,这些服务通过标准化的接口进行通信。每个服务都包含自己的数据管理、业务逻辑和用户界面,并通过标准化接口暴露给其他服务。这种松耦合的架构允许服务提供者和服务消费者独立地开发和演化自己的功能,并通过协商和合作来实现相互之间的集成。
SOA架构中的服务通常采用面向服务的开发方式,即面向业务流程的开发(BPM,Business Process Management)或面向服务的开发(SOD,Service-Oriented Development)。通过这种方式,SOA能够将业务需求直接转化为服务,并支持动态、灵活的服务组合和重组。
SOA架构的关键特点包括:
1.松耦合:SOA的服务是自治的实体,可以独立于其他服务开发、演化和部署。服务之间通过标准化的接口进行通信,减少了耦合度,提高了系统的可维护性和可重用性。
2.可重用性:SOA通过将功能分解为独立的服务,提高了组件的可重用性。服务可以被多个应用程序和业务流程共享,减少了开发工作量,提高了开发效率。 3.可扩展性:SOA架构可以通过增加新的服务来扩展系统的功能。每个服务可以按需扩展,并根据需求进行部署和配置,从而支持系统的增长和变化。
4.灵活性:SOA架构允许服务根据需求进行动态的组合和重组,从而支持业务流程的灵活性和可配置性。系统可以根据需要在运行时调整服务的组合方式,以适应不同的业务需求。