文档介绍:基于SOA架构设计
服务的设计与原则
面向服务架构的消息模式
评估基于服务的集成技术的过程和准则
服务模式与反模式
Web服务的体系结构
改善web服务的协同工作能力
应用软件开发方法的演变过程
应用软件开发方法的演变过
程:
面向过程;
面向对象;
面向组件;
面向服务。
什么是面向服务的体系架构?
一个组件模型
将应用程序的不同功能单元(服
务)通过这些服务之间定义良好
的接口和契约联系起来。接口是
采用中立的方式进行定义的,它
应该独立于实现服务的硬件平
台、操作系统和编程语言。
构建在各种这样的系统中的服务
可以以一种统一和通用的方式进
行交互。
服务的设计与原则
service-oriented Architecture
SOA(service-oriented Architecture,也叫面向服务的体系
结构或面向服务架构)环境下业
务集成的需要,通过连接能完成特定任务的独立功能实体
实现的一种软件系统架构。
SOA是一个组件模型,它将应用程序的不同功能单元(称
为服务)通过这些服务之间定义良好的接口和契约联系起
来。接口是采用中立的方式进行定义的,它应该独立于实
现服务的硬件平台、操作系统和编程语言。这使得构建在
各种这样的系统中的服务可以以一种统一和通用的方式进
行交互。
传统的Web(HTML/HTTP)技术有效的解决了人与信息系
统的交互和沟通问题,极大的促进了B2C模式的发展。
WEB服务(XML/SOAP/WSDL)技术则是要有效的解决信息
系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发
展。
SOA(面向服务的体系)则是采用面向服务的商业建模技术
和WEB服务技术,实现系统之间的松耦合,实现系统之间
的整合与协同。WEB服务和SOA的本质思路在于使得信息
系统个体在能够沟通的基础上形成协同工作。
对于面向同步和异步应用的,基于请求/响应模式的分布
式计算来说,SOA是一场革命。一个应用程序的业务逻辑
(Business Logic)或某些单独的功能被模块化并作为服
务呈现给消费者或客户端。这些服务的关键是他们的松耦
合特性。
例如,服务的接口和实现相独立。应用开发人员或者系统
集成者可以通过组合一个或多个服务来构建应用,而无须
理解服务的底层实现。举例来说,
或J2EE来实现,而使用该服务的应用程序可以在不同的平
台之上,使用的语言也可以不同。
SOA具有的特性(2-1)
SOA服务具有平台独立的自我描述XML文档。Web
服务描述语言(WSDL, Web Services
Description Language)是用于描述服务的标准语
言。
SOA 服务用消息进行通信,该消息通常使用XML
Schema来定义(也叫做XSD, XML Schema
Definition)。消费者和提供者或消费者和服务之
间的通信多见于不知道提供者的环境中。服务间
的通讯也可以看作企业内部处理的关键商业文
档。
SOA具有的特性(2-2)
在一个企业内部,SOA服务通过一个扮演目录列
表(Directory listing)角色的登记处(Registry)
来进行维护。应用程序在登记处(Registry)寻找
并调用某项服务。统一描述,定义和集成
(UDDI, Universal Description, Definition,
and Integration)是服务登记的标准。
每项SOA服务都有一个与之相关的服务品质
(QOS, quality of service)。QoS的一些关键元
素有安全需求(例如认证和授权),可靠通信
(译注:可靠消息是指,确保消息“仅且仅仅”发
送一次,从而过滤重复信息。),以及谁能调用
服务的策略。
SOA三大基本特征(1)
独立的功能实体
这样松散的使用环境中,任何访问请求都有可能出错,
进行控制的结构都会面临严重的稳定性
问题。SOA非常强调架构中提供服务的功能实体的完全独立自主
的能力。传统的组件技术, Remoting,或者
CORBA,都需要有一个宿主(Host或者Server)来存放和管理这些功
能实体;当这些宿主运行结束时这些组件的寿命也随之结束。这
样当宿主本身或者其它功能部分出现问题的时候,在该宿主上运
行的其它应用服务就会受到影响。