SOA实践:构建基于Java Web服务和BPEL的企业级应用

来源:百度文库 编辑:神马文学网 时间:2024/03/29 22:39:39
2010年11月07日
《SOA实践:构建基于Java Web服务和BPEL的企业级应用》
作者: 余浩 朱成 丁鹏 编著(2009年10月第1版第1次)
电子工业出版社 Publishing House of Electronics Industry http://www.phei.com.cn/
北京市海淀区万寿路173信箱(100036)

余浩,硕士,2003年毕业于上海交通大学计算机系。现任德国企业经济信息研究所技术经理。目前主要致力于SOA、SAP系统、企业应用集成以及企业信息系统元数据模型的相关研究。曾经参与多个SOA和SAP项目的咨询和实施。

朱成,硕士,2005年毕业于上海交通大学计算机系。现任德国企业经济信息研究所软件架构师。目前主要致力于SOA软件架构、SAP系统、企业信息系统元数据模型的研究和实施。曾在美国宏软软件、飞利浦东亚研究实验室、英特尔中国软件中心从事软件研发工作,有丰富的软件架构设计经验。

内容简介
《SOA实践—构建基于JavaWeb服务和BPEL的企业级应用》是一部以案例为中心来介绍SOA设计及开发的技术书籍。书中以实例说明如何设计和实现基于SOA的系统,以及如何解决SOA架构设计与实施过程中所遇到的实际问题,并讨论分析SOA带给系统的益处。
《SOA实践—构建基于JavaWeb服务和BPEL的企业级应用》对SOA相关知识的讨论涵盖了面向服务的原理、关键协议与标准、设计与应用的全部过程。
《SOA实践—构建基于JavaWeb服务和BPEL的企业级应用》共分8章,第1章对SOA基本概念和原则进行了讲解,第2章介绍《SOA实践—构建基于JavaWeb服务和BPEL的企业级应用》核心案例SOAgent,第3章和第4章讲述面向服务的分析和设计过程,第5章针对SOA平台及相关技术进行介绍,第6章详细介绍SOAgent基本服务的实现与应用,第7章和第8章介绍BPEL技术。   《SOA实践—构建基于JavaWeb服务和BPEL的企业级应用》的读者对象是有一定经验的软件开发人员,企业级信息系统架构师,SOA项目设计及实施人员,广大SOA研究与爱好者,以及对SOA感兴趣的高年级计算机及相关专业的学生。

P2,服务的9个特点:
服务是可重用的;服务都有服务合同;服务之间是松耦合的;服务隐藏了具体的逻辑;服务是可组合的;服务是自治的;服务是无状态的;服务是可被发现的;服务一般是粗粒度的。

P4,服务合同一般包括以下4个部分:
1、WSDL文档:用于描述服务的端点、服务提供的操作,以及每一个操作的输入和输出信息;
2、XML Schema:定义交互的数据类型;
3、WS-Policy文档:描述没有在WSDL中定义的服务元数据;
4、Service Level Agreement(SLA):描述服务的非功能性层面的要求和语义信息等。

P11,服务的存储库(Service Repository)和注册库(Service Registry)的区别,在存储库里存储着具体的服务,而注册库里仅仅是索引,并不是服务本身。

P13,服务的类别
1、应用级服务,也称为技术功能服务,主要完成底层的技术功能。
2、业务级服务,主要用来实现一些具体的商业操作,实现具体的业务逻辑,是企业业务模型的服务表现形式(包括任务为中心和实体为中心)。
3、流程级服务,实现了对具体业务流程自动化的支持。一般是暴露给外部用户或者合作伙伴使用的服务。

P27,Web服务相关的标准化组织
1、World Wide Web Consortium,W3C----HTML,CSS,XML,DOM,XML Schema,SOAP,WSDL等
2、Organisation for the Advancement of Structured Information Standards, OASIS----UDDI,WS-BPEL
3、Web Service Interoperability Organisation,WS-I----WS-I Basic Profile

P31,Web服务的协议堆栈

P34,SOAP协议
Web服务的请求者发送一条SOAP消息,该消息可能中途经历一些媒介,最后到达 Web服务的接收端。Web服务的接收端必须理解该消息,从而采取相应的动作,产生一个结果,并包装成为一个新的SOAP消息,最终返回给请求者。
SOAP协议主要定义了4个部分:
1、基于XML Infoset 的标准消息结构;
2、服务处理消息的处理模型;
3、把SOAP消息绑定到不同网络传输协议的机制
4、如何在SOAP消息中添加非XML编码的附件

P41,WS-Addressing协议
SOAP协议定义了Web服务消息交换的合适、消息处理模型等,但没有定义如何寻址Web服务。WS-Addressing协议则提供了一种与传输协议无关的、用于确定消息发送者和接收者的机制,使Web服务不依赖于底层的传输协议,而是在消息本身存储源地址和目标地址的信息。

P44,WSDL协议
定义了如何描述Web服务,根据WSDL提供的信息,Web服务的请求者可以构造相应的SOAP消息以消费Web服务。

P49,WS-Policy协议
WSDL描述了Web服务提供的功能,但没有描述Web服务的非功能特性。WS-Policy协议则补充了这个不足,提供了一个通用的框架,允许定义由一系列诊断(Assertion)所组成的可被机器理解的策略表达式,并将它和Web服务的元素相关联,从而定义了对服务的约束,在服务请求时将检查这些约束是否满足,如果不满足,系统将拒绝该请求。

P188,目前主流的Web服务主要有三种实现方案:SOAP消息模式、XML-RPC消息模式及REST消息模式。
REST技术看待Web服务的视角相对于其他Web服务技术有很大的区别,REST关注的是资源,它把几乎所有的Web服务涉及到的操作对象都看成资源,而SOAP、RPC等技术,更关注操作行为和动作。
由于REST并不是定义的标准,所以只能说,那些符合REST特征或思想的架构,是应用了REST技术的架构,简而言之,这些架构就是RESTful的。
1、任何资源都有ID
2、无状态的通信模式
3、使用HTTP的标准方法
4、面向资源的设计准则

P260,WSBPEL是基于XML和Web服务相关的协议之上的,其中XML Schema和 WSDL中的Message结点用来定义流程中用到的数据类型,而流程涉及的所有伙伴都使用添加了PartnerLink的扩展WSDL来表示,对数据的操作则通过XPath和XSLT来完成。整个流程最终通过WSDL发布为Web服务,以供客户调用。

P284,BPEL产品
1、ActiveBPEL Engine
2、ODE
3、AquaLogic
4、WebSphere Process Server
5、jBPM
6、BizTalk Server
7、BPEL Process Manager
8、NetWeaver XI
9、OpenESB
10、ActiveMatrix BusinessWorks