03.osb概览
DESCRIPTION
TRANSCRIPT
<Insert Picture Here>
Service Bus 11gSOA架构中的服务中介
孟和渠道售前咨询顾问
© 2010 Oracle Corporation 2
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
© 2010 Oracle Corporation 3
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
4
从开发的角度看服务集成
应用程序(远程)功能实现
5
集成会随着时间变得非线性复杂Web Services并不能解决该问题
服务使用者
企业服务
应用程序
门户
业务流程
应用程序
应用程序
应用程序
6
工作列表 流程门户 MS Office
MAINFRAME
电子商务 移动设备
点对点架构带来的项目挑战
Oracle Service BusSOA中的服务中介
高速中介 一次连接
松散耦合
动态扩展
交易处理可视化
敏捷架构 企业范围内的可重用
集中化管理
控制风险
降低复合应用开发成本
Oracle Service Bus
ServiceService ServiceService
ServiceService Service Service
BAMCEPEMPOLICY
MANAGERDESIGN
Oracle Service Bus 与其他产品的有机集成
ERP MAINFRAME SERVICES EVENTS
生命周期管理
适配器和B2B
PARTNERSDB
BPEL PROCESS MGRBUSINESS RULESHUMAN WORKFLOW
SERVICE BUSDATA INTEGRATORORACLE SERVICE BUS
Oracle Restricted and Confidential
Oracle Service Bus 产品版本演进融合中间件的有机组成
CY 2008 CY 2009 CY 2010 CY 2011
OSB 10.3 (HDP)
• Oracle branding
• Interop certification
• Native BPEL binding
OSB 10.3.1
• JCA Adapters
• SOA Grid Control
Enterprise Manager
OSB 11gR1
• Unified Container, Install
& Patching
• OWSM Policy Mgmt
• Service Result Cache
• 11g JCA Adapters
• SOA Direct transport
• Svc Lifecycle
Governance with OER,
OSR, and EM
OSB 11gR2
• Templates / Prototypes
• Enhanced EDN
• SCA model in JDeveloper
• Virtual Assembly
• ADF-enabled Web Console
• Fusion Middleware Control
• Hot-Pluggability
• Standards WS-AT, WS-RM
© 2010 Oracle Corporation 10
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
OSB 功能架构
Unified Security
FTPMQ
Adaptive Messaging
SMTP
Metadata
ReportingSLA Alerts
Content Based Routing
Transformation
Import / Export
Validation
Service Management
Service Virtualization Configuration
Framework
HTTP/S JCA JMS File
Change Center
Monitoring
WSRM Tux EJB
Service Chaining
REST
Authentication Authorization Identity Sign/Encrypt
JDBCAQSAPEBSPSFTJDESBL
Adaptive Messaging不仅仅是Web Services…
Unified Security
FTPMQ
Adaptive Messaging
SMTP
Metadata
ReportingSLA Alerts
Content Based Routing
Transformation
Import / Export
Validation
Service Management
Service Virtualization Configuration
Framework
HTTP/S JCA JMS File
Change Center
Monitoring
WSRM Tux EJB
Service Chaining
REST
Authentication Authorization Identity Sign/Encrypt
JDBCAQSAPEBSPSFTJDESBL
• 解决点对点服务调用的挑战
• 异构消息交流•Web Services
•非基于 Web Services 的消息传递
•混搭的调用模型
•B2B
•遗留通信协定和连接
• 内置支持 TCP/IP socket 连接
• 透过 adapter 可连接套装应用
•可与.NET, Apache, WebSphere MQ 互通
• 加速服务的重用
• 在一个快速改变的基础架构环境中,管理和 ESB 相关的复杂行为和属性
getCustAddress getCustCreditgetCustProfile
getCustAddress getCustCreditgetCustProfile
Oracle Service Bus
ERP.NETWebLogic
File SOAP (Async) Legacy
JMS SOAP (Sync) MQ
服务传输层 Transport SDK
Message Service
桥接异构消息,重用现有服务
• 支持多种协议格式
• Web Services 的处理
• 完全支持相应的Web Services (WSDL, SOAP包) 和non-SOAP包的消息
• 多种通讯方式
• 请求/响应 (同步/异步),异步消息队列,一对多的发布
• 组合方式 (例如: sync-to-async 桥)
应用客户端
服务调用者 Oracle Service Bus 业务服务
EJB
服 务
多协议格式支持
应用客户端服 务
服 务
服 务
服 务
Tuxedo
MQ
Tibco
Socket
WS 标准的支持
多渠道通讯方式
HTTP/SOAP
JMS
FTP
SMTP
File
代理服务
应用客户端
应用客户端
应用客户端
服务的代理
统一的安全架构优化的、可插拔的、灵活的策略配置
Unified Security
FTPMQ
Adaptive Messaging
SMTP
Metadata
ReportingSLA Alerts
Content Based Routing
Transformation
Import / Export
Validation
Service Management
Service Virtualization Configuration
Framework
HTTP/S JCA JMS File
Change Center
Monitoring
WSRM Tux EJB
Service Chaining
REST
Authentication Authorization Identity Sign/Encrypt
JDBCAQSAPEBSPSFTJDESBL
• 传输安全•SSL/Basic Auth
• 消息安全•WS-Policy/WS-Security
•SAML, UserID/Password, X509
•Signing & Encryption
• 基于控制台的安全控制•支持 Web Single-Sign-On
• 基于角色的访问控制
• 策略• 支持 WS-Security & WS-Policy
Authentication Authorization Credential Mappers Audit
Transport Security WS-Security Console Security Policy
Common Security Services
Default Default
PKI
SAML
XACML Default
3rd Party 3rd Party
3rd Party
3rd Party
支持内置安全组件以及
插件形式的第三方安全组件
Security
优化的插件式安全框架
安全管理 - 提供访问的控制
getCustCredit
getCustCreditv1 getCustCreditv2
getCustCreditv1Route
getCustCreditv2
• 松耦合的安全模型,提供身份传递,WS-Security(基于消息的安全)以及传输安全保障
Oracle Service Bus
传输安全 [示例: HTTP Basic Auth]
消息安全 [示例: Signing / Encryption]
传输安全
[示例: HTTP SSL Client Cert]
基于消息的安全
[示例: SAML Token]
Begin
OPSS整体架构图
OWSM利用OPSS及WLS安全框架实现统一安全管理
• 可以把OWSM理解为一个OPSS客户端
• OWSM利用到如下OPSS资源• Key store
• 包括签名和加密keys
• Credential store
• 机密的保存用户名、密码对
• Identity store
• 包括用户帐户和认证源
• Policy Store
• 包括web services权限,是授权检查的来源
服务虚拟化提高企业应用的敏捷性
Unified Security
FTPMQ
Adaptive Messaging
SMTP
Metadata
ReportingSLA Alerts
Content Based Routing
Transformation
Import / Export
Validation
Service Management
Service Virtualization Configuration
Framework
HTTP/S JCA JMS File
Change Center
Monitoring
WSRM Tux EJB
Service Chaining
REST
Authentication Authorization Identity Sign/Encrypt
JDBCAQSAPEBSPSFTJDESBL
• 消息流建模•图形化工具•基于内容的路由,身份认证•混合模式 - Async/Sync, Pub/Sub
•差错处理
• 发现和校验• 自动化的与 UDDI 注册表和存储同步• 部署前,自动校验完整性和是否有冲突
• 格式转换• XML 和 non-XML 间互转•Xquery 或 XSLT
• Service 调用•Java exit (支持POJO)
•Web Services 调用
• 测试控制台• 便于跟踪和查错
丰富的配置环境和建模方式,以消除编码工作
Composition
Transformation Discovery/
Validation
Message
Flow
Modeling
Service
Call-out
Test
Browser
丰富的组装环境
服务管理嵌入式的可视化监视和控制
Unified Security
FTPMQ
Adaptive Messaging
SMTP
Metadata
ReportingSLA Alerts
Content Based Routing
Transformation
Import / Export
Validation
Service Management
Service Virtualization Configuration
Framework
HTTP/S JCA JMS File
Change Center
Monitoring
WSRM Tux EJB
Service Chaining
REST
Authentication Authorization Identity Sign/Encrypt
JDBCAQSAPEBSPSFTJDESBL
信息仪表板 差错监控和性能报告
通过ESB汇总
监控 监控告警
管理 SLA 告警 基于操作统计的报警
基于消息管道操作中的报警
报表 提供缺省的汇总统计
支持自定义报表统计
开放接口JMX 接口
SNMP 通过内置的性能和监控优化,来服务确保服务质量
ReportingSLAsMonitoring Dashboard Open Interfaces
Management内置的服务管理
© 2010 Oracle Corporation 24
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
Service Bus主要使用模式
共享的服务和事件
重用 & 可视性• 服务虚拟化• 协议转换• 消息模式• 统一策略管理
可扩展的集成及面向服务架构• 分布式缓存
• 优先级控制
• 并行处理
• Throttling
• 服务池化
• 可靠的消息机制
SOA 基础架构及运行管理
Oracle Service Bus
Portal
Independent Lifecycle
Co
he
ren
ce
caching
虚拟化实现极大的敏捷性以订单处理流程为例
Web-basedconsole
pooling
Ora
cle
Se
rvic
e B
us
BusinessService
Proxy
virtualization
IDE
build
deploy
SOAP
transport switching
JMS
OSB使用场景之一访问目标透明(Location Transparency)
• OSB可以将服务与位置变化隔离
HostA
New Hire
ProcessInitialize Benefits
Service
Initialize Benefits
Service
HostB
Oracle Service Bus
Route to
HostB
SOAP SOAP
说明:应用访问的服务接口和服务提供者的位置无关
OSB使用场景之二向后的兼容性(Backwards Compatibility)
Oracle Service Bus
Process Order
Service
Customer
Portal Transform
Message
1.0
2.0
<1.0>
CSR App<2.0>
SOAP SOAP
• 隔离服务的约定/接口(contract/interface) 的变化
说明:被访问服务接口变化不影响原有应用的访问。新应用访问新的服务接口,原有应用透明使用旧的服务接口
OSB使用场景之三格式转换(Service Enablement)
• 转换消息的格式,以便与服务接口吻合
• 允许多协议/消息格式的服务调用
Oracle Service Bus
Transform Payroll Service
JMSExpense
Reimbursement
Process
SOAP
Submit Expense
Report Service
FTP
Transform
Transform Check Order
Status Service
SOAPInventory
Management
AppJMS
说明:屏蔽协议和数据格式差异。OSB提供虚拟化后的协议接入和消息输入,进行信息交互的应用之间完全透明
OSB使用化场景之四动态路由(Dynamic Routing)
• 通过业务规则,决定如何访问目标服务
Oracle Service Bus
Title =
Manger?
New Employee
ServiceSOAP
New Manager
ServiceTransform
HR PortalSOAP
说明:OSB提供动态路由能力,根据输入的消息内容路由到不同的服务应用上,对访问者而言只对应单一访问接口
OSB使用场景之五丰富服务访问的消息(Message Enrichment)
Oracle Service Bus
Get Customer
History Service
Call
Service
Transform
Message
Rate Quote
Service
Insurance
Portal
...
<Customer
History>
...
• 通过调用其他服务,根据响应内容更新消息
说明: OSB 借助服务调用、JAVA方法调用、EJB调用及消息格式转换等能力提供消息组装功能,屏蔽了信息交换的应用之间比较大的消息差别。
OSB使用场景之六服务编排(Service Orchestration)
• 组织已有服务,合成新服务
Oracle Service Bus
1
2 3
4
Validate
Order
Service
Check Price Service
Account Validation
Service
Check Inventory
Service
SOAP
Purchase
Order
Process
SOAP
说明:OSB的消息流机制提供一定的服务组装能力,根据业务需求可组装出新的服务,简化应用对服务的调用
© 2010 Oracle Corporation 33
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
SOA 架构拓扑图
业务人员
架构师
步骤1: 架构设计
导出配置
• WSDL
• XML
Schemas
• Policies
Proxy Pipeline
OSR
SOA 设计人员
步骤2: 配置服务OSB
ALSB
Production
OSR
ALSB
Staging
IT
Operations
步骤3: 测试和部署
ALSB
Development
步骤4: 监控和管理
服务监控管理
ALSB3rd Party
HP Open View, BMC
性能监控
或
• JMX
• SNMP
• Reporting
OSB 开发、部署及管理流程
© 2010 Oracle Corporation 35
Worklist Portal MS Office
MAINFRAME
Online Shopping
MobileDevices
OSB开发总览代理服务和业务服务带来的敏捷性
ORACLE SERVICE BUS
ApplicationInstance 1
ApplicationInstance 2
ApplicationInstance 3
Proxy Services:
Replaces point-to-point with a virtual endpoint
Business Services:
Logical endpoint connected to multiple service endpoints
Clients
Service Endpoints
© 2010 Oracle Corporation 36
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
信贷处理应用
采用SOA的设计模式,将客户、经纪人和FF自身信贷应用,通过流程有机整合BPM用于流程设计,统一的经纪人访问门户, Oracle DSI用于整合唯一数据视图,而 OSB用于动态的服务整合和消息路由
消除点对点的代理和客户信贷应用的集成业务模式变化迅速,要求基础架构能够包容变化
机会 & 挑战
基于OSB的解决方案
期望的效益
方便的服务配置和变化管理以适应新业务快速为经纪人和用户提供新种类服务为经纪人和用户提供更加可视化的信贷处理流程降低信贷处理的支持成本
© 2010 Oracle Corporation 38
<Insert Picture Here>
议程
• Oracle Service Bus 概览
• Oracle Service Bus 功能架构
• Oracle Service Bus 使用场景
• Oracle Service Bus 开发详解
• Oracle Service Bus 经典案例分析
• Oracle Service Bus 最佳实践
差错处理
配置服务的SLA
Retry Count:表示服务不可用时,重试的次数。0 表示不尝试,
而其他正数表示尝试的次数
Retry Interval:表示两次重试之间的时间间隔,以秒为单位
在Proxy服务配置时,定义Error Handler (可以是服务级别,或服务中的组件级别,Stage Action或Route Node)
40
服务结果缓存最新特性之可预知的扩展性
Process Flow /
Orchestration
遗留系统
服务使用者
服务提供者
P
B备份节点
主节点Get / Put (Cachekey)
服务数据
Coherence 数据网格
OSB
Result
Cache
Ora
cle
Serv
ice B
us
检查缓存
如果服务结果在缓存中没有命中,则调用服务并缓存
Side Cache Pattern
41
集成成功秘诀从简单做起,快速扩展
时间
业务
价值
项目部署
OSB1 OSB2
OSB3
企业级部署
从单个域的项目开始做起
跨域的复合应用
• Start Small
• Build
composite
Apps
•Demonstrate
business value
• Build Chasse
• Leverage
lessons learned
42
扩展不仅仅是考虑性能多维度因素
• 服务的数量
• 服务使用者的数量
• 开发者的数量
• 高可用性
• 可视化
• 管理和控制ESB1 EAB2
ESB3
企业级部署
跨域的复合应用
高可靠性/负载均衡的实施
ESB 可配置成群集或多个独立的Domain,通过代理在前端进行负载分发
负载均衡的选项作为业务服务配置的一个组成部分
HTTP/SOAP
Client
服务总线B
OSB
服务总线A
OSB
负载均衡设备
(Apache/F5)
URI Y
URI X
客户访问端(HTTP/SOAP)
服务总线B
服务总线A
负载均衡设备
(Apache/F5)
后台系统
后台系统
URI 1
URI 2
URI 2
URI 1
OSB集群工作原理示意
45
服务生命周期管理设计时和运行时
• 通过SOA治理进行端到端的服务生命周期管理
• 通过OWSM代理进行统一的策略编写、指定和执行
• 服务级的指标统一汇聚到企业管理器控制台(可以是多个域)
开发工具
IDE, CVS, Ant etc
RegRep
11g Service Infrastructure
BusinessRules
Mediator
Policy Enforcement
BPELHuman
Workflow
Oracle Service Bus
Common JCA-based connectivity infrastructure
设计时 运行时
A. 浏览、使用
B. 发布(获取)
C. 部署到不同的环境
D. 运行时查询 (闭环)
问&答
47
使用Coherence进行服务数据缓存非常易用,只需简单勾选设置
Result Cache is an implementation of Side Cache pattern
业务服务
是否缓存服务数据?
设置缓存Token
设置Time To Live