SOA 基础架构的最佳实践 Eric Nie, 聂健 Eric.nie@oracle.com Senior Sales Consultant Oracle, GuangZhou
议程 SOA 实施的挑战 SOA 的典型阶段和最佳实践 Oracle SOA 套件简介
SOA 定义 Service-Oriented Architecture SOA 是一种架构方法, 它将企业应用中分散的功能组织成为基于标准 松耦合 可互操作的业务服务, 这些服务可以很容易的在异构环境企业范围被共享 重用和组合, 从而创建基于不同需求的复合应用, 快速地满足业务需求
实施 SOA 的挑战 我们找到了服务, 但看起来价值不大 接口传递的格式不断在变? 修改了服务后会影响其他业务? 不清楚哪些系统在用我的服务? 服务的评估? 如何找到服务 如何规范化服务 如何管理服务 理解业务 标准化方法 运行, 监控, 评估, 优化 服务的版本控制?
理解业务 _ 服务分析 (Service Analysis) 2 服务识别 业务架构 应用架构 领域分解 Business comonen t model 3 服务评估 流程建模 Process 1 SOA 需求管理 目标建模 Goal Subgoal KPI Candidate Service List Service List 数据建模 Data 数据架构 model 驱动力分析 已有资产分析 4 SOA 发布计划 差距分析 Business Catalog
标准化方法 _ 服务规范 (Service Specification) CONTRACT INTERFACE IMPLEMENTATION INTERNAL USER Purpose Policies Operations/Exceptions Semantics Protocol, QOS Invocation Style Pre/Post Conditions WS-Policy Asynchronous SOAP C++, Java, COBOL, SAP, PeopleSoft, J2EE,.NET EXTERNAL USER Security++ WS-Policy WS-Security INTERNAL USER Invocation Style Synchronous SOAP EXTERNAL PROVIDER QOS REPORT OPEN POSITIONS Security Asynchronous WS-ReliableMessaging SOAP
基于平台实施 Service Consumers User Interaction Channels Composite Applications Browsers Client UI Cell PDA Web Apps WebCenter, WLP Mashups WebCenter IVR Applications System Consumers BPEL PM/BPM BPEL PM/BPM Edge Events Partners Fat Clients Shared Services Presentation Services Web Center Business Process Services BPEL PM, BPM, BPA Business Activity Services Business Function Integration ESB,AIA Custom Business Functions WLS, WLW Data Services ODI,DSP Connectivity Services ESB, AIA, WLS & WLW Service Mediation & Messaging ESB SOA Event Processing CEP SOA Management ESB,ALER SOA Security ESB,ALES SOA Governance ALER, ALSR Service Providers Non-Service Enabled Assets Service Enabled Assets Legacy Packaged Databases Partners Content Collaboration Search
议程 SOA 实施的挑战 SOA 的典型阶段和最佳实践 Oracle SOA 套件简介
通往工业化 SOA 之路第 1 阶段 发现机会
最佳实践 构建服务总线 客户端 A 客户端 B 客户端 C 获取客户信息 获取客户信息 获取客户信息 JMS SOAP MQ 获取客户档案 获取客户地址 获取客户信用 J2EE.NET 大型机 客户端 A 客户端 B 客户端 C 获取客户信息 获取客户信息 获取客户信息 Oracle 服务总线 JMS SOAP MQ 获取客户档案 获取客户地址 获取客户信用 J2EE.NET 大型机 问题 业务逻辑和集成逻辑的紧藕合 关联分析 集中管理, 监控和控制 客户使用案例 : 门户应用程序使用来自后端应用程序的业务服务 使用基于 SOA 的体系结构消除点到点耦合 需要 ESB 特性 : 异构消息处理主干 基于内容的路由 服务丰富 监视和报告 基于 SOA 的安全性 服务工作负载和管理 消息保证 服务编排 遍及整个企业的分布式服务 服务发现
OSB 在 SOA 架构中的位置 Portal BPM Service Repository BPEL Process Oracle Service Bus Adapters Integration Services Business Logic Business Logic Presentation Services B2B & BPM Service Intermediary & Management Location Transparency Service Virtualization Configuration Any to Any Protocol, Payload Advanced Integration Patterns High Availability & Scale
Oracle 服务总线 门户 WS 客户端 BPEL Java 适应性服务消息处理 连接任何服务 任何门户 任何端点 可见性 信息板 监视和报警 SLA 报表 开放式界面 适应性转换 任何有效载荷 XML 二进制文件 文本 组合 企业服务总线 消息流建模 安全性 消息处理 服务路由 服务传输层 转换 服务调出 传输 SDK 测试浏览器 传输安全性 WS-Security 控制台安全性策略 嵌入式服务管理 所有消息处理的优化治理 丰富的组合环境 配置驱动 无需编码的方法 服务服务服务服务 同类最佳的分布式运行时 可靠性 可用性 可伸缩性以及性能
600+ 客户选用
通往工业化 SOA 之路第 2 阶段 系统化
最佳实践 服务编排 JSF 订单 激活流程 提交 创建 应用产品 客户 (DataHub) 订单验证 (EJB 3.0) BAM 异常率 SLA 管理? BPEL? 促销管理 ( 业务规则 ) 异常管理门户 订单医院 ( 人员工作流 )
Oracle BPEL 流程管理器 实现业务流程自动化的企业强度基础架构 JDeveloper 流程建模器 BPEL BPEL 设计器 易于使用的建模工具 可伸缩的可靠引擎 工作流服务 BPEL 流程管理器 灵活的绑定框架 集成的 BPM 服务工作流决策服务 传感器 WSDL 绑定 Web 服务 Java JMS 文件 FTP Dehydration Store (Oracle 数据库 ) 丰富的管理和监视功能 支持 Oracle AS JBoss WebLogic 和 WebSphere 核心 BPEL 引擎 数据库应用程序 流程控制台 J2EE 应用服务器 (Oracle AS WebLogic JBoss WebSphere) 管理
Turkcell 服务提供平台体系结构 需要使开发 部署和控制增值服务的方法能够得以再利用 Turkcell SDP 服务水平要求 2960 万订阅者, 900+ SMS 消息 / 秒 1200+ TPS 得到保证 利用这一基于 Oracle SOA 的新 SDP,Turkcell 能够 : 向第三方内容和应用程序提供商提供一致的接口 缩短新服务和市场营销活动的启动时间 ( 从 4 个月缩短至 1 个月 ) 通过合理化 600+ 个即席接口显著降低维护成本 (50%) 服务成本缩减高达 75% 取得这一成功后,Turkcell 推出了若干其他项目, 包括统一的客户管理体系结构 ( 每天通过 BPEL 执行 275,000 多个交易 ) 16x BPEL 服务器,3x 8-CPU RAC 节点 200 名设计人员,300 名开发人员,2,300 个测试案例 180 个 BPEL 流程,189 个接口 每秒 240 个同步事务和 140 个异步事务
通往工业化 SOA 之路第 3 阶段 企业
业务流程建模业务用户的可视建模 业务用户 (BPMN) 开发人员 (BPEL) 公共流程元数据模型 流程设计与流程优化
Oracle BPM 解决方案概述综合平台 Oracle BPA 套件 * 流程模板和解决方案 * 标准框架 分析和报表 行业特定的模板 图像解决方案 Oracle BPM 套件 BPM Studio 用户集成 建模 (BPMN) 工作列表 流程信息板协作 Office 集成 Office 模拟与优化 BPM 服务器 组织模型与业务日程 BPMN (XPDL) BPEL 人员工作流规则 BAM 用户 角色目录 内容 / 图像服务器 打包的应用程序 外部服务
Oracle BPA Suite Powered by ARIS Business Process Architect Business Process Simulator Oracle SOA Extensions Business Process Publisher
应用程序集成体系结构关键组件 最佳实践流程 利用 Oracle 丰富的经验和最佳实践优化业务绩效 流程集成包现成的 预建的集成 Oracle 应用产品可用于快速实施业务流程, 无任何风险 ( 即, Oracle 电子商务套件的 Siebel CRM) 基础包利用与应用程序无关的预定义对象和服务定义跨任何应用程序创建自定义业务流程 SOA 套件 BPA 套件 ODI 服务注册表 Oracle AS 由 Oracle 融合中间件提供支持 行业领先的 基于开放标准的平台
通往工业化 SOA 之路第 4 阶段 衡量
最佳实践 Oracle BAM Meaningful, Event-driven Intelligence for End-Users Monitor business processes & services in real-time Key Performance Indicators (KPIs) Service-Level Agreements (SLAs) Analyze events as they occur Correlate events & KPIs Identify trends as they emerge Alert users to bottlenecks & solutions Act on current conditions Event-driven alerts Real-time dashboards BPEL processes & web services integration
最佳实践 调解层的优化性能与可伸缩性 优化的运行时 : 直传路由 每小时 2000 万条消息 监视单个集群中高达 2000 个服务的开销低于 3% 并行操作使 TPS 提升 60% 大型消息支持 :500 MB 消息转换 到 SOA 套件产品的优化传输 相同的 JVM 部署
最佳实践 基础架构级别的极限性能和扩展性 WebLogic 应用程序网格 Coherence 网格版 + JRockit Real Time + WebLogic Operations Control + EM 诊断包 WebLogic 服务器 纯 Java.NET 大型机 WebLogic 应用程序网格 原有的商品数据库虚拟化 大型机
最佳实践 支持网格的 SOA 组合流程流 调解 状态缓存 Portal 服务使用者 WS-Addr <ReplyTo> Callback WS-Addr <ReplyTo> Callback My Services CRM / ERP 1 2 3 4 5 OSB BPEL CEP BAM Rule 服务供应商 针对服务基础架构 服务以及应用程序数据的横向可伸缩 状态敏感的连续可用性 = 服务状态数据 2 3 4 1 5 = 会话状态服务编排 / 非会话状态管道化
客户成功案例 结合使用 Oracle SOA 套件与 Oracle Coherence 可跨多个数据源检索数据, 并通过门户向销售代表显示 通过在 Coherence 内为每个销售代表预填前十位客户的信息, 将响应时间缩短至不到 2 秒 使用 Oracle BPEL PM Oracle Coherence 以及一个规则引擎构建了一个反洗钱系统, 该系统可从银行收集相关的可疑资金转移的信息并通知警方 可疑资金转移网络在 Coherence 中由 BPEL PM 构建, 并使用触发其他流程的规则进行处理
通往工业化 SOA 之路第 5 阶段 工业化
最佳实践 SOA 治理的价值 确保 SOA 的成功 没有治理,SOA 将会失败 随着 SOA 的扩展, 优势更加难以把握 降低风险 确保项目投资可带来业务价值 保持 SOA 与业务和体系结构的发展方向一致 保证 SOA 符合业务和 IT 策略 要实现效率,SOA 必须 控制相关性并管理更改的影响 实施策略 建立信任并促进重用
Oracle SOA Governance 应对必要的组织 / 文化变化 SOA 针对系统集成提出了新观点 评估组织对它的准备程度 促使组织采用 SOA 治理流程 将治理应用于整个生命周期 ( 从计划一直到退出 ) 针对您的发展状况采取相应的监视和量度 尽可能自动化且无干扰
事件驱动的 SOA 每年发运 2 亿多个集装箱 每秒 6 个集装箱! 每隔 3.5 分钟推出一个新产品 业务流程自动化导致来自此类事务的数据激增 这些数据流中通常是机会和风险并存 如今, 只有更多地了解事件并在事件发生时发现商机, 才能赢得竞争优势
事件驱动的 SOA 信息板 规则 事件源 数据库 应用产品 事件过滤器与处理器 消息处理 业务流程 RFID
议程 SOA 实施的挑战 SOA 的典型阶段和最佳实践 Oracle SOA 套件简介
Oracle Fusion Middleware 特点 Complete 完整 Pre-Integrated 预先整合 Open, Hot-Pluggable 开放 热插拔
Oracle SOA 套件 综合的预集成 SOA 平台 Oracle SOA 套件 Oracle BPEL 流程管理器 Oracle 服务总线 ( 基于 AquaLogic 服务总线 ) Oracle CEP / BEA Event Server Oracle 业务活动监视 (BAM) Oracle 业务规则 Oracle JDeveloper Oracle Web 服务管理器 Adaptors
Oracle SOA 和事件技术 BPA 套件实时可见性与处理企业建模 BAM 警报业务监视 编排 CEP 治理 事件数据流 企业管理器 系统监视 治理 BPM 套件 业务用户建模 BPEL 流程管理器 原生 BPEL 业务路由与数据服务规则 人员工作流 Web 服务管理器 WS 策略安全性 JDeveloper 应用程序开发框架 Oracle 服务总线 路由转换 ETL 和数据调解复制质量 连通性 Data Integrator 企业信息库 SOA 生命周期治理 适配器 应用程序 DB 原有的 B2B 合作伙伴 注册表 UDDI 消息处理 Coherence Cache J2EE 应用服务器 (Oracle AS WebLogic WebSphere JBoss) JRockit VM & RT
业内好评 入选 SD Times 100 行业排名 业务流程管理 SOA 和集成 SOA World Magazine 2007 年读者选择奖获得 20 个奖项中的 15 项, 包括 : 最佳 SOA/Web 服务平台 最佳 BPM 引擎 最佳集成服务环境 最佳安全解决方案 Oracle SOA 套件 卓越奖 SOA 类别中的最高级别 毫无疑问, 是当前市场上最全面 最易于使用的产品 Oracle BPEL 流程管理器 Oracle 业务活动监视 Oracle BPEL 流程管理器 荣获 Web 服务期刊读者选择奖 世界级产品 被评为最佳业务流程管理系统 荣获 ebizq 买方选择奖 Oracle SOA 套件, 荣获 2007 年技术创新者奖 企业信息集成 商务软件 : 企业应用程序和基础架构
业内好评 最佳的复杂事件处理解决方案 Waters Award 领先的 EDA 套件解决方案 Enterprise OpenSource Magazine 领先的业务活动监视解决方案 Gartner Group MarketScope 正面 评级 Oracle 的 BAM 简化了信息板 CRN 产品剖析 Oracle BAM 是一个可靠的解决方案 AjaxWorld 产品评估
回顾
后续步骤 入门 1. 确定组织的 SOA 采用阶段 2. 根据最佳实践验证当前的基础架构 3. 针对推荐的 SOA 阶段进行计划, 以实现效率的最大化, 并实现快速扩展 4. 确定事件处理等新趋势可以提供竞争优势的潜在领域 Oracle 资源 在线 www.oracle.com/soa 活动 SOA 架构师论坛 oracle.com/events 白皮书 / 工具 SOA 自我评估工具
40