SOA 架构概述 2008 年 02 月 22 日 星期五 09:44 SOA架构概述 对于面向同步和异步应用的,基于请求/响应模式的分布式计算来说,SOA是一场革命
一个应用程序的业务逻辑(business logic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端
这些服务的关键是他们的松耦合特性
例如,服务的接口和实现相独立
应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现
举例来说,一个服务可以用
NET或 J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同
SOA有以下特性 SOA服务具有平台独立的自我描述 XML文档
Web服务描述语言(WSDL, Web Services Description Language)是用于描述服务的标准语言
SOA 服务用消息进行通信,该消息通常使用 XML Schema来定义(也叫做XSD, XML Schema Definition)
消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中
服务间的通讯也可以看作企业内部处理的关键商业文档
在一个企业内部,SOA服务通过一个扮演目录列表(directory listing)角色的登记处(Registry)来进行维护
应用程序在登记处(Registry)寻找并调用某项服务
统一描述,定义和集成( UDDI, Universal Description, Definition, and Integration)是服务登记的标准
每项SOA服务都有一个与之相关的服务品质(QoS, quality of service)
QoS的一些关键元素有安全需求(例如认证和授权),可靠通信(译注:可靠消息是指,确保消息“仅且仅仅”发送一次,从而过滤重复信息
),以及谁能调用服务的策略