SlideShare uma empresa Scribd logo
1 de 44
BEA Weblogic Server 8.1
Web Service
Island Chen 陈渚
技术顾问
2004-2
©2003 BEA Systems, Inc. | 2
议题
Web Service介绍
创建和使用Web Service Controls
生成、测试和调试Web Services
Web Service安全
©2003 BEA Systems, Inc. | 3
什么是Web Service?
 Web Service
 Web Service是一套标准,它定义了应用程序如何在Web上实现互
操作
 Web Service就是一个应用程序,它向外界开放一个能够通过Web
进行调用的接口
 Web Service使用XML来交换消息
 通过XML定义接口
 与底层实现独立无关
 提供粗粒度的RPC服务
 通过开发的标准协议访问,例如:HTTP、SMTP和FTP
©2003 BEA Systems, Inc. | 4
Web Service实现目的
 Web Service是为了企业集成而提出的技术,是当前受关注的企业
集成手段乊一
 实现松耦合的集成
 B2B集成
 用户接口集成
 数据仓库
 传统业务系统
 流程集成
©2003 BEA Systems, Inc. | 5
Web Service结构
©2003 BEA Systems, Inc. | 6
Weblogic Server8.1支持的WS标准
 Weblogic Server 8.1支持的Web Service标准
 JAX-RPC 1.0
 SOAP 1.1 With Attachments
 SOAP 1.2
 WSDL (Web Services Description Language ) 1.1
 UDDI 2.0
 W3C XML Schema
 Part 1: Structures XML Schema
 Part 2: Data Types
©2003 BEA Systems, Inc. | 7
SOAP
 Simple Object Access Protocol(SOAP):
 基于W3C开放标准的XML-based消息格式
 可以实现RPC-style调用和文档交换两种工作方式
 SOAP包嵌在其他传输协议中进行传输,如
 HTTP
 FTP
 SMTP
 JMS(WebLogic Server提供)
©2003 BEA Systems, Inc. | 8
WSDL
 Web Service Description Language(WSDL)
 以XML格式来描述Web Service
 描述服务的位置
 协议的绑定
 服务的接口方法、参数等信息
 用WSDL描述的Web Service实现
 服务由开发者提供
 客户端按照约定方式提交请求和接收响应
©2003 BEA Systems, Inc. | 9
UDDI
 Universal Description,Discovery and Integration(UDDI)
 包含一系列规范,定义了Web Service注册、分级和查找机制
 定义了基于选择标准的服务搜索
 描述访问registry的消息格式和协议
 UDDI消息
 基于SOAP的XML消息传递
 可以是客户端的搜索请求消息
 可以是服务开发者提交到注册点的服务注册请求消息
©2003 BEA Systems, Inc. | 10
Web Service的同步调用
 同步调用表明客户端流程和后端流程是紧耦合关系
 同步调用
 类似于RPC调用
 调用有返回值
 适用于比较简捷的调用
 比较适用于同一企业的两个部门间的交互
©2003 BEA Systems, Inc. | 11
Web Service的异步调用
 异步调用
 请求端和服务端是松耦合结构
 优点
 前端业务处理更灵活
 降低了对后端的性能要求
 通过load balance,提高资源利用率
 适用于与外部系统集成
 缺点
 对于需要返回的处理,比同步方式复杂
©2003 BEA Systems, Inc. | 12
实现可靠SOAP消息传递
 可以在两个WebLogic Server实例间进行异步可靠Web Service调用
 在调用端保存消息,在服务端保存message ID
 服务端用异步调用方式来通知调用端
 调用端收到确认后,把消息从Message Store中删除
 如果超时,调用端将自动重调用
Web Service
WLS Reciever
WS Runtime
methodX()
Soap
Request
Ack
Sender
Application
WLS Sender
WS Runtime
Message
Store
Message
ID
Table
remove
©2003 BEA Systems, Inc. | 13
使用SOAP1.2作为消息传输格式
 在默认情况下,WLS8.1中的SOAP消息采用SOAP1.1规范的消息格式
 可以采用SOAP1.2消息格式
 WLS81中的SOAP1.2实现是基于W3C Working Draft specification (June 26,
2002) 的实现。由于还没有成为W3C的推荐标准,所以建议只在实验中使用
Protocol
Adapter
(HTTP)
SOAP
Client
Stateless
EJB
BEA WebLogic Server
Deserializer
Serializer
SOAP
Request
SOAP
Request
SOAP
Response
SOAP
Response
Java
Java
©2003 BEA Systems, Inc. | 14
Web Service的安全
 WLS8.1实现了2002年8月的WS-Security标准,Web
Service的安全包括以下三方面
 消息安全----可以对发送的SOAP消息进行数字签名和数据加密
 传输安全----采用SSL保证Web Service的客户端与服务端间的安全通讯
 存取安全----定义谁有权限访问某个Web Service
SOAP
Handler
SOAP
Client
Stateless
Session
EJB
Web Services-Enabled Server
HTTP invoke()
RESPONSE
©2003 BEA Systems, Inc. | 15
WLS与Web Service
 系统提供众多的Ant Tasks完成Web Service的编译工作
 自动为部署在WLS上的Web Service生成Home Page
 查看生成的WSDL
 测试Web Service
 查看调用过程中的消息和日志
ServiceGen
XML/Java
Data Types
EJB
WLS
deployJava/XML
Data Types
Serializers/
Deserializers
Service War
Service EAR
EJB
ClientGen
Client Proxy
Client Jar
©2003 BEA Systems, Inc. | 16
议题
Web Service介绍
创建和使用Web Service控件
生成、测试和调试Web Services
Web Service安全
©2003 BEA Systems, Inc. | 17
Workshop中的Web service控件
©2003 BEA Systems, Inc. | 18
Web Service的使用
 使用控件调用Web Service
 创建Web Service Control
 配置Control使其对应则需要Web Service
 在流程、Page flow、其他Web Service中调用该Control
©2003 BEA Systems, Inc. | 19
议题
介绍Web Service
创建和使用Web Service Controls
生成、测试和调试Web Services
Web Service安全
©2003 BEA Systems, Inc. | 20
开发Web Service 接口
 Web Service接口
 Methods:通过客户端发起调用请求
 Callback:服务端返回处理结果
©2003 BEA Systems, Inc. | 21
Method类型
 WebLogic Web Service的方法可以是同步或异步
 同步调用
 客户端调用乊后阻塞,直到调用完成
 一般有非空结果返回(思考原因?)
 异步调用
 有立即返回
 一定是void返回(思考原因?)
 在客户端和服务端,提供队列机制
©2003 BEA Systems, Inc. | 22
异步调用返回处理
 Callbacks方式响应
 当响应时,服务端向客户端发Callback回调
 客户端需要接收和路由Callback消息
 客户端要能处理Callback
 目前大多数的客户端都不能接收Callback
 Polling方式处理
 对不支持Callback的客户端使用
 采用轮询方式查询处理结果
©2003 BEA Systems, Inc. | 23
Callback和Polling方式比较
©2003 BEA Systems, Inc. | 24
Callback和Polling方式比较…
功能 Callbacks Polling
结果返回 有结果即返回 需要等到下次轮询
客户端要求 能够接收和路由SOAP消息 需要做轮询操作
网络资源 减少网络消耗,只传递有用数据 轮询,增加了网络方面消耗
©2003 BEA Systems, Inc. | 25
会话处理
 WebLogic Web Service提供多方法调用间的会话管理
 使用polling方式,通常会使用会话方式来维护调用
 会话状态
 使用会话ID来唯一标识
 由WebLogic server来维护
©2003 BEA Systems, Inc. | 26
创建会话
 可以采用图形化方式设计
 会话可有3种阶段类型
 启动 (start)
 继续 (continue)
 结束 (Finish)
©2003 BEA Systems, Inc. | 27
会话阶段
Start阶段
 只能用在methods
 创建会话ID
Continue阶段
 可以用在methods和callbacks
 在此会话中进行method或callback调用
 Web Service状态将被保存
Finish阶段
 当方法调用完成,服务器将删除会话状态
©2003 BEA Systems, Inc. | 28
在Web Service中访问资源
 在Web Service中可以访问后端资源
 可以通过图形化的方式将control加入到Web
Service乊中
 一个简单的Web Service可以用来访问以下资源
 EJBs
 Databases
 Workflow
 Other Web Services
 如果访问一个以上的后端Control,可以用Web
Service Control将其封装
©2003 BEA Systems, Inc. | 29
Web Service调用control
©2003 BEA Systems, Inc. | 30
Web Service的调试
 Workshop提供了对Web Service代码的调试
 在服务方法中的代码
 使用ECMAScript代码将XML映射到Java类型
 调试Web Service
 设置断点
 执行服务方法
 检查执行到断点时,Service的变量和环境
 继续执行
©2003 BEA Systems, Inc. | 31
议题
介绍Web Service
创建和使用Web Service Controls
生成、测试和调试Web Services
Web Service安全
©2003 BEA Systems, Inc. | 32
Web Service安全
©2003 BEA Systems, Inc. | 33
Web Service安全层次
 异步调用的值,通过callback方式返回
 Transport使用SSL
 Message Based使用XML的加密和签名
 Role Based使用roles-required, roles-referenced and
run-as
©2003 BEA Systems, Inc. | 34
WLS/Workshop安全运行环境
©2003 BEA Systems, Inc. | 35
Transport安全
 Transport安全功能
 服务器端认证
 基本的认证,使用用户名和密码
 客户端认证
 优点
 成熟、可靠
 多种客户端和Web container支持
 缺点
 点对点方式,消息本身不能加密
©2003 BEA Systems, Inc. | 36
Inbound的处理
©2003 BEA Systems, Inc. | 37
Outbound的处理
©2003 BEA Systems, Inc. | 38
Message Level安全
 Message Based安全功能
 使用tokens,XML加密和XML签名
 tokens
 代表认证或授权
 可以有签名或无签名
 加密
 加密任意部分消息
 对不同的接收者可以有多个加密包
 可以对称或非对称
 签名
 可以签名任意部分消息
 有多个签名
 使用私钥签名
©2003 BEA Systems, Inc. | 39
@jws:ws-security-policy-service in a jws
©2003 BEA Systems, Inc. | 40
@jws:ws-security-policy-service in a jbc
©2003 BEA Systems, Inc. | 41
Role Based安全
©2003 BEA Systems, Inc. | 42
Using roles-referenced and isCallerInRole()
©2003 BEA Systems, Inc. | 43
Using run-as
Q/A

Mais conteúdo relacionado

Destaque

API Prefetching - HTML5DevConf - Oct. 21, 2014
API Prefetching - HTML5DevConf - Oct. 21, 2014API Prefetching - HTML5DevConf - Oct. 21, 2014
API Prefetching - HTML5DevConf - Oct. 21, 2014JonAbrams
 
61557874 volume-i-ericsson-umts-rf-optimization-12 dec2003
61557874 volume-i-ericsson-umts-rf-optimization-12 dec200361557874 volume-i-ericsson-umts-rf-optimization-12 dec2003
61557874 volume-i-ericsson-umts-rf-optimization-12 dec2003Mohammad Khamiseh
 
A Trade Off
A Trade OffA Trade Off
A Trade Offnoorhoff
 
Uas deleda freizia 1306468144_ot a interaktif
Uas deleda freizia 1306468144_ot a interaktifUas deleda freizia 1306468144_ot a interaktif
Uas deleda freizia 1306468144_ot a interaktifDeleda Freizia
 
5116 pressure slides ed
5116 pressure slides ed5116 pressure slides ed
5116 pressure slides edenhwee7
 
Archiving Web News (captioned)
Archiving Web News (captioned)Archiving Web News (captioned)
Archiving Web News (captioned)SvenAas
 
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...isabelmargarido
 
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014burma999
 
China Mingyu Holdings Company Profile
China Mingyu Holdings Company ProfileChina Mingyu Holdings Company Profile
China Mingyu Holdings Company Profilemingyugroup
 
Web logic platform 8.1
Web logic platform 8.1Web logic platform 8.1
Web logic platform 8.1williams2014
 
დედამიწის წყლისა და ხმელეთის ობიექტები
დედამიწის წყლისა და ხმელეთის ობიექტებიდედამიწის წყლისა და ხმელეთის ობიექტები
დედამიწის წყლისა და ხმელეთის ობიექტებიirmasurmanidze5
 
FreeDNSをつかってみる
FreeDNSをつかってみるFreeDNSをつかってみる
FreeDNSをつかってみるyhanako
 
Jadwal pelajaran dan daftar piket kelas 48
Jadwal pelajaran dan daftar piket kelas 48Jadwal pelajaran dan daftar piket kelas 48
Jadwal pelajaran dan daftar piket kelas 48agus ZM
 
Sammousa - The story in pictures
Sammousa - The story in picturesSammousa - The story in pictures
Sammousa - The story in picturessubravedula
 
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...isabelmargarido
 

Destaque (19)

2012 Annual Meeting Presentation
2012 Annual Meeting Presentation2012 Annual Meeting Presentation
2012 Annual Meeting Presentation
 
2011 Annual Meeting Presentation
2011 Annual Meeting Presentation2011 Annual Meeting Presentation
2011 Annual Meeting Presentation
 
API Prefetching - HTML5DevConf - Oct. 21, 2014
API Prefetching - HTML5DevConf - Oct. 21, 2014API Prefetching - HTML5DevConf - Oct. 21, 2014
API Prefetching - HTML5DevConf - Oct. 21, 2014
 
61557874 volume-i-ericsson-umts-rf-optimization-12 dec2003
61557874 volume-i-ericsson-umts-rf-optimization-12 dec200361557874 volume-i-ericsson-umts-rf-optimization-12 dec2003
61557874 volume-i-ericsson-umts-rf-optimization-12 dec2003
 
Getting to know you assignment
Getting to know you assignmentGetting to know you assignment
Getting to know you assignment
 
A Trade Off
A Trade OffA Trade Off
A Trade Off
 
Uas deleda freizia 1306468144_ot a interaktif
Uas deleda freizia 1306468144_ot a interaktifUas deleda freizia 1306468144_ot a interaktif
Uas deleda freizia 1306468144_ot a interaktif
 
5116 pressure slides ed
5116 pressure slides ed5116 pressure slides ed
5116 pressure slides ed
 
Lecture3
Lecture3Lecture3
Lecture3
 
Archiving Web News (captioned)
Archiving Web News (captioned)Archiving Web News (captioned)
Archiving Web News (captioned)
 
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...
III Conferência CMMI Portugal, Tutorial 1: Foundations for Organizational Agi...
 
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014
Surveying the Education Social Media Scene, NWAIS Seattle, 6/17/2014
 
China Mingyu Holdings Company Profile
China Mingyu Holdings Company ProfileChina Mingyu Holdings Company Profile
China Mingyu Holdings Company Profile
 
Web logic platform 8.1
Web logic platform 8.1Web logic platform 8.1
Web logic platform 8.1
 
დედამიწის წყლისა და ხმელეთის ობიექტები
დედამიწის წყლისა და ხმელეთის ობიექტებიდედამიწის წყლისა და ხმელეთის ობიექტები
დედამიწის წყლისა და ხმელეთის ობიექტები
 
FreeDNSをつかってみる
FreeDNSをつかってみるFreeDNSをつかってみる
FreeDNSをつかってみる
 
Jadwal pelajaran dan daftar piket kelas 48
Jadwal pelajaran dan daftar piket kelas 48Jadwal pelajaran dan daftar piket kelas 48
Jadwal pelajaran dan daftar piket kelas 48
 
Sammousa - The story in pictures
Sammousa - The story in picturesSammousa - The story in pictures
Sammousa - The story in pictures
 
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...
III Conferência CMMI Portugal, Workshop 2: Human Centered Process Improvement...
 

Semelhante a BEA Weblogic Server 8.1 web service training

VCACICM6_M03_Installation.pptx
VCACICM6_M03_Installation.pptxVCACICM6_M03_Installation.pptx
VCACICM6_M03_Installation.pptxLoessPlateau
 
VCACICM6_M02_Arch_Comp.pptx
VCACICM6_M02_Arch_Comp.pptxVCACICM6_M02_Arch_Comp.pptx
VCACICM6_M02_Arch_Comp.pptxLoessPlateau
 
Teched 2012 60分钟构建私有云
Teched 2012 60分钟构建私有云Teched 2012 60分钟构建私有云
Teched 2012 60分钟构建私有云Cheng Zhang
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4twMVC
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维guiyingshenxia
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维colderboy17
 
新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜Weibo Corporation
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式Timothy Chen
 
Web server and_cgi
Web server and_cgiWeb server and_cgi
Web server and_cgixu liwei
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)vanadies10
 
基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用Cat Chen
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hackpnig0s pnig0s
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0yiditushe
 
Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享drewz lin
 

Semelhante a BEA Weblogic Server 8.1 web service training (20)

VCACICM6_M03_Installation.pptx
VCACICM6_M03_Installation.pptxVCACICM6_M03_Installation.pptx
VCACICM6_M03_Installation.pptx
 
Esb
EsbEsb
Esb
 
VCACICM6_M02_Arch_Comp.pptx
VCACICM6_M02_Arch_Comp.pptxVCACICM6_M02_Arch_Comp.pptx
VCACICM6_M02_Arch_Comp.pptx
 
Teched 2012 60分钟构建私有云
Teched 2012 60分钟构建私有云Teched 2012 60分钟构建私有云
Teched 2012 60分钟构建私有云
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式
 
Web server and_cgi
Web server and_cgiWeb server and_cgi
Web server and_cgi
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
 
基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用基于Silverlight的RIA架构及百度应用
基于Silverlight的RIA架构及百度应用
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0
 
Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享
 
LVS
LVSLVS
LVS
 

BEA Weblogic Server 8.1 web service training

  • 1. BEA Weblogic Server 8.1 Web Service Island Chen 陈渚 技术顾问 2004-2
  • 2. ©2003 BEA Systems, Inc. | 2 议题 Web Service介绍 创建和使用Web Service Controls 生成、测试和调试Web Services Web Service安全
  • 3. ©2003 BEA Systems, Inc. | 3 什么是Web Service?  Web Service  Web Service是一套标准,它定义了应用程序如何在Web上实现互 操作  Web Service就是一个应用程序,它向外界开放一个能够通过Web 进行调用的接口  Web Service使用XML来交换消息  通过XML定义接口  与底层实现独立无关  提供粗粒度的RPC服务  通过开发的标准协议访问,例如:HTTP、SMTP和FTP
  • 4. ©2003 BEA Systems, Inc. | 4 Web Service实现目的  Web Service是为了企业集成而提出的技术,是当前受关注的企业 集成手段乊一  实现松耦合的集成  B2B集成  用户接口集成  数据仓库  传统业务系统  流程集成
  • 5. ©2003 BEA Systems, Inc. | 5 Web Service结构
  • 6. ©2003 BEA Systems, Inc. | 6 Weblogic Server8.1支持的WS标准  Weblogic Server 8.1支持的Web Service标准  JAX-RPC 1.0  SOAP 1.1 With Attachments  SOAP 1.2  WSDL (Web Services Description Language ) 1.1  UDDI 2.0  W3C XML Schema  Part 1: Structures XML Schema  Part 2: Data Types
  • 7. ©2003 BEA Systems, Inc. | 7 SOAP  Simple Object Access Protocol(SOAP):  基于W3C开放标准的XML-based消息格式  可以实现RPC-style调用和文档交换两种工作方式  SOAP包嵌在其他传输协议中进行传输,如  HTTP  FTP  SMTP  JMS(WebLogic Server提供)
  • 8. ©2003 BEA Systems, Inc. | 8 WSDL  Web Service Description Language(WSDL)  以XML格式来描述Web Service  描述服务的位置  协议的绑定  服务的接口方法、参数等信息  用WSDL描述的Web Service实现  服务由开发者提供  客户端按照约定方式提交请求和接收响应
  • 9. ©2003 BEA Systems, Inc. | 9 UDDI  Universal Description,Discovery and Integration(UDDI)  包含一系列规范,定义了Web Service注册、分级和查找机制  定义了基于选择标准的服务搜索  描述访问registry的消息格式和协议  UDDI消息  基于SOAP的XML消息传递  可以是客户端的搜索请求消息  可以是服务开发者提交到注册点的服务注册请求消息
  • 10. ©2003 BEA Systems, Inc. | 10 Web Service的同步调用  同步调用表明客户端流程和后端流程是紧耦合关系  同步调用  类似于RPC调用  调用有返回值  适用于比较简捷的调用  比较适用于同一企业的两个部门间的交互
  • 11. ©2003 BEA Systems, Inc. | 11 Web Service的异步调用  异步调用  请求端和服务端是松耦合结构  优点  前端业务处理更灵活  降低了对后端的性能要求  通过load balance,提高资源利用率  适用于与外部系统集成  缺点  对于需要返回的处理,比同步方式复杂
  • 12. ©2003 BEA Systems, Inc. | 12 实现可靠SOAP消息传递  可以在两个WebLogic Server实例间进行异步可靠Web Service调用  在调用端保存消息,在服务端保存message ID  服务端用异步调用方式来通知调用端  调用端收到确认后,把消息从Message Store中删除  如果超时,调用端将自动重调用 Web Service WLS Reciever WS Runtime methodX() Soap Request Ack Sender Application WLS Sender WS Runtime Message Store Message ID Table remove
  • 13. ©2003 BEA Systems, Inc. | 13 使用SOAP1.2作为消息传输格式  在默认情况下,WLS8.1中的SOAP消息采用SOAP1.1规范的消息格式  可以采用SOAP1.2消息格式  WLS81中的SOAP1.2实现是基于W3C Working Draft specification (June 26, 2002) 的实现。由于还没有成为W3C的推荐标准,所以建议只在实验中使用 Protocol Adapter (HTTP) SOAP Client Stateless EJB BEA WebLogic Server Deserializer Serializer SOAP Request SOAP Request SOAP Response SOAP Response Java Java
  • 14. ©2003 BEA Systems, Inc. | 14 Web Service的安全  WLS8.1实现了2002年8月的WS-Security标准,Web Service的安全包括以下三方面  消息安全----可以对发送的SOAP消息进行数字签名和数据加密  传输安全----采用SSL保证Web Service的客户端与服务端间的安全通讯  存取安全----定义谁有权限访问某个Web Service SOAP Handler SOAP Client Stateless Session EJB Web Services-Enabled Server HTTP invoke() RESPONSE
  • 15. ©2003 BEA Systems, Inc. | 15 WLS与Web Service  系统提供众多的Ant Tasks完成Web Service的编译工作  自动为部署在WLS上的Web Service生成Home Page  查看生成的WSDL  测试Web Service  查看调用过程中的消息和日志 ServiceGen XML/Java Data Types EJB WLS deployJava/XML Data Types Serializers/ Deserializers Service War Service EAR EJB ClientGen Client Proxy Client Jar
  • 16. ©2003 BEA Systems, Inc. | 16 议题 Web Service介绍 创建和使用Web Service控件 生成、测试和调试Web Services Web Service安全
  • 17. ©2003 BEA Systems, Inc. | 17 Workshop中的Web service控件
  • 18. ©2003 BEA Systems, Inc. | 18 Web Service的使用  使用控件调用Web Service  创建Web Service Control  配置Control使其对应则需要Web Service  在流程、Page flow、其他Web Service中调用该Control
  • 19. ©2003 BEA Systems, Inc. | 19 议题 介绍Web Service 创建和使用Web Service Controls 生成、测试和调试Web Services Web Service安全
  • 20. ©2003 BEA Systems, Inc. | 20 开发Web Service 接口  Web Service接口  Methods:通过客户端发起调用请求  Callback:服务端返回处理结果
  • 21. ©2003 BEA Systems, Inc. | 21 Method类型  WebLogic Web Service的方法可以是同步或异步  同步调用  客户端调用乊后阻塞,直到调用完成  一般有非空结果返回(思考原因?)  异步调用  有立即返回  一定是void返回(思考原因?)  在客户端和服务端,提供队列机制
  • 22. ©2003 BEA Systems, Inc. | 22 异步调用返回处理  Callbacks方式响应  当响应时,服务端向客户端发Callback回调  客户端需要接收和路由Callback消息  客户端要能处理Callback  目前大多数的客户端都不能接收Callback  Polling方式处理  对不支持Callback的客户端使用  采用轮询方式查询处理结果
  • 23. ©2003 BEA Systems, Inc. | 23 Callback和Polling方式比较
  • 24. ©2003 BEA Systems, Inc. | 24 Callback和Polling方式比较… 功能 Callbacks Polling 结果返回 有结果即返回 需要等到下次轮询 客户端要求 能够接收和路由SOAP消息 需要做轮询操作 网络资源 减少网络消耗,只传递有用数据 轮询,增加了网络方面消耗
  • 25. ©2003 BEA Systems, Inc. | 25 会话处理  WebLogic Web Service提供多方法调用间的会话管理  使用polling方式,通常会使用会话方式来维护调用  会话状态  使用会话ID来唯一标识  由WebLogic server来维护
  • 26. ©2003 BEA Systems, Inc. | 26 创建会话  可以采用图形化方式设计  会话可有3种阶段类型  启动 (start)  继续 (continue)  结束 (Finish)
  • 27. ©2003 BEA Systems, Inc. | 27 会话阶段 Start阶段  只能用在methods  创建会话ID Continue阶段  可以用在methods和callbacks  在此会话中进行method或callback调用  Web Service状态将被保存 Finish阶段  当方法调用完成,服务器将删除会话状态
  • 28. ©2003 BEA Systems, Inc. | 28 在Web Service中访问资源  在Web Service中可以访问后端资源  可以通过图形化的方式将control加入到Web Service乊中  一个简单的Web Service可以用来访问以下资源  EJBs  Databases  Workflow  Other Web Services  如果访问一个以上的后端Control,可以用Web Service Control将其封装
  • 29. ©2003 BEA Systems, Inc. | 29 Web Service调用control
  • 30. ©2003 BEA Systems, Inc. | 30 Web Service的调试  Workshop提供了对Web Service代码的调试  在服务方法中的代码  使用ECMAScript代码将XML映射到Java类型  调试Web Service  设置断点  执行服务方法  检查执行到断点时,Service的变量和环境  继续执行
  • 31. ©2003 BEA Systems, Inc. | 31 议题 介绍Web Service 创建和使用Web Service Controls 生成、测试和调试Web Services Web Service安全
  • 32. ©2003 BEA Systems, Inc. | 32 Web Service安全
  • 33. ©2003 BEA Systems, Inc. | 33 Web Service安全层次  异步调用的值,通过callback方式返回  Transport使用SSL  Message Based使用XML的加密和签名  Role Based使用roles-required, roles-referenced and run-as
  • 34. ©2003 BEA Systems, Inc. | 34 WLS/Workshop安全运行环境
  • 35. ©2003 BEA Systems, Inc. | 35 Transport安全  Transport安全功能  服务器端认证  基本的认证,使用用户名和密码  客户端认证  优点  成熟、可靠  多种客户端和Web container支持  缺点  点对点方式,消息本身不能加密
  • 36. ©2003 BEA Systems, Inc. | 36 Inbound的处理
  • 37. ©2003 BEA Systems, Inc. | 37 Outbound的处理
  • 38. ©2003 BEA Systems, Inc. | 38 Message Level安全  Message Based安全功能  使用tokens,XML加密和XML签名  tokens  代表认证或授权  可以有签名或无签名  加密  加密任意部分消息  对不同的接收者可以有多个加密包  可以对称或非对称  签名  可以签名任意部分消息  有多个签名  使用私钥签名
  • 39. ©2003 BEA Systems, Inc. | 39 @jws:ws-security-policy-service in a jws
  • 40. ©2003 BEA Systems, Inc. | 40 @jws:ws-security-policy-service in a jbc
  • 41. ©2003 BEA Systems, Inc. | 41 Role Based安全
  • 42. ©2003 BEA Systems, Inc. | 42 Using roles-referenced and isCallerInRole()
  • 43. ©2003 BEA Systems, Inc. | 43 Using run-as
  • 44. Q/A