|
基于ESB的SOA架构的企业应用研究为了快速而经济高效地处理源源不断的高度复杂而动态的业务需求,企业需要一种灵活而动态的方法来自动化、构建和管理关键业务流程。面向服务架构常常被奉为解决上述业务挑战的一种可行的解决方案。 引言 当今IT环境的特点是:异构而复杂的应用程序、进度紧张、受预算约束,以及一个不断变化的业务需求前景。几乎没有企业能够以一种高效率的方式,灵活而有效地增强其现有的基础架构,来迎接和克服这些挑战。即便如此,为了快速而经济高效地处理源源不断的高度复杂而动态的业务需求,企业需要一种灵活而动态的方法来自动化、构建和管理关键业务流程。面向服务架构常常被奉为解决上述业务挑战的一种可行的解决方案。SOA是一种通过使用和组装构建模块来概念化、设计和构建应用程序的方法,每个构建模块通常被表示为一个可重用的服务。目前使用的许多SOA方法只是简单地封装一些业务功能,然后是用在应用程序中。而且采用了一种临时、静态和不灵活的方法。在生产者集中精力提供业务逻辑之前,确立一个适合企业发展的框架,会对企业业务的扩展、组合乃至应用程序间的集成都能提供必要的支持,这样的一个框架会在开发过程中,逐渐沉积成为企业的一笔巨大财富,即一个复用价值最高的软件框架。 一、SOA及相关技术 面向服务架构(SOA)是一种面向服务的企业应用体系结构。面向服务的体系架构中共有3种角色:服务提供者、服务消费者和服务注册中心。 其中服务提供者负责服务功能的具体实现,并通过注册服务操作将其所提供的服务发布到服务注册中心,当接收到服务消费者的服务请求时,执行所请求的服务。服务消费者则是服务执行的发起者,首先需要到服务注册中心查找符合条件的服务,然后根据服务信息进行服务绑定/凋用,以获得需要的功能。而服务注册中心则用来提供服务提供者注册服务、提供对服务的分类和查找功能,以便服务消费者发现服务。 ①XML(Extensible Markup Language):可扩展的标记语言,为Web Service提供了统一的数据格式,包括消息、服务描述以及工作流的描述。 ②SOAP(Simple Object Access Protocol):用于交换XML编码信息的轻量级协议。 ③WSDL(Web Service Definition Language):是借助XML来描述一个网络服务或端点。用于定义Web Service以及调用方式。 ④UDDI(Universal Description Discovery and Integration):提供了在Web上描述并发现商业服务的框架,是面向Web服务的信息注册中心的实现标准和规范。 企业服务总线(ESB)的概念是从面向服务体系架构发展而来的。ESB是SOA的基础架构,在整个结构体系中,每个服务都是通过企业服务总线来进行互相访问。通过ESB,企业可以将所有的应用、功能、数据和服务有效的连接起来。企业服务总线改变了传统的软件结构,可以提供比传统中间件产品更为廉价的解决方案,同时它还能消除不同应用间的技术差异,实现不同服务之间的通信与整合。 二、一种面向服务框架WE-SOA的设计 WE-SOA框架基于SOA技术,是一种利用SOA原理高效构建应用程序和业务流程的框架。在该框架中,应用服务既可以是已有的旧应用,也可以是新开发的应用。将企业应用封装成统一的应用服务,然后发布到ESB,并通过企业服务总线中WCF通信技术,实现.NET客户端与.NET服务端的通信。ESB是连接各类应用的桥梁,采用松散耦合的方式,任何独立服务的都可以连接到ESB,真正实现了“即插即用”。 2.1 数据层 数据层用来完成系统中数据的访问和管理。数据层包括持久层、数据访问层和数据库。 2.2 业务组件层 良好的业务建模是系统成功的基础。业务组件层支持业务建模,通过实体和视图封装了业务建模的数据结构;支持数据访问,包括查询、保存、更新、删除等操作。 2.3 服务层 服务层由原子服务、组合服务、流程服务、外部服务组成。服务分三种级别的服务粒度:原子服务、组合服务、流程服务。原子服务是以实体为核心的细粒度的服务;组合服务根据需要将原子服务、合成服务(由原子服务简单组合而成)进行组合而成;流程服务是由原子服务和组合服务进行流程编排而成的粗粒度的服务。外部服务是来自于企业外部的粗粒度的服务,它封装了服务的具体实现,对外提供描述服务的接口。原子服务、组合服务、流程服务、外部服务都可以发布到服务注册中心,通过企业服务总线来进行相互访问。 2.4 ESB ESB在SOA的体系结构中起着服务注册中心的角色,它将SOA的所有参与者连接在一起,提供连接性、技术异质性、通信异质性和技术服务等功能,并管理和监控应用程序之间的交互。 2.4.1 权限管理 权限管理用来定义权限,并根据权限控制访问资源的一套维护系统安全的管理。权限管理用来对对象进行授权。授权是基于角色的,定义具有不同权限的角色。再将用户分配给不同的角色,就达到了对用户权限控制的目的。对于角色的授权可以授权到功能一级,即对角色分配相应的事务菜单,角色只能对所见的菜单上的事务有执行的权限。另外也可以授权到更细的字段及动作一级,通过定义授权对象,来定义一组授权字段,以及相应的动作,然后将授权对象分配给事务。 责编:刘沙 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|