560 likes | 754 Views
服务科学概论. 第 5 章 方案工程 ( Solutions Engineering ). 服务的故事 之 山西票号的故事. 嘉庆年间,山西平遥有一家叫西裕成的颜料庄,经营多年,资力雄厚,在京师、天津、汉口、成都等城市开设有分号 道光三年 (1823) 左右颜料庄改为专营银两汇兑和存放款业务的票号。正式成立了中国第一家票号 — 日升昌. 服务的故事 之 山西票号的故事. 转型背后的技术支持信息化 平遥票号成立初期,总、分号的管理及业务往来,主要靠信件联系。为了及时传递信件 , 一是托私脚专门传递 , 二是托镖局或商号捎办
E N D
服务科学概论 第5章 方案工程(Solutions Engineering)
服务的故事之山西票号的故事 • 嘉庆年间,山西平遥有一家叫西裕成的颜料庄,经营多年,资力雄厚,在京师、天津、汉口、成都等城市开设有分号 • 道光三年(1823)左右颜料庄改为专营银两汇兑和存放款业务的票号。正式成立了中国第一家票号—日升昌 山东大学软件学院 SSME V4.0
服务的故事之山西票号的故事 • 转型背后的技术支持信息化 • 平遥票号成立初期,总、分号的管理及业务往来,主要靠信件联系。为了及时传递信件,一是托私脚专门传递,二是托镖局或商号捎办 • 道光初年南方信局出现,逐步影响到北方,票号信件开始交信局传递 • 光绪中期有了电报后,平遥票号率先使用 山东大学软件学院 SSME V4.0
服务的故事之山西票号的故事 • 转型背后的技术支持——防伪 十位、个位数字 万、千、百、十 31天 12个月 山东大学软件学院 SSME V4.0
本章内容 1 4 2 3 随需应变的服务转型 方案工程 面向服务的分析与设计 案例:构建SOA应用 山东大学软件学院 SSME V4.0
随需应变 • 打开电灯,照亮你的屋子。你要做的只是--找到开关、按下它 • 因为你知道,电灯已经安在灯座上,灯座后面连着电线,而电线后面连接着也许是几千公里外的发电站。当然,如果要对这个灯为什么会亮深究下去,也许会牵涉出一大堆问题 山东大学软件学院 SSME V4.0
问题 • 为什么是用电灯,而不是别的什么发光的东西? • 点亮电灯的是什么? 电为什么会变为光? 它要经过怎样的能量转换才会变为光? • 你使用的电源为什么是220V电压,50Hz频率? • 电是如何从电厂传送到你的床头的? 中间经过了多少变电站和输送装置? • 你用的电是来自于水力发电站,火力发电站,风力发电站还是核电站? 山东大学软件学院 SSME V4.0
这些问题都不需要关心! • 唯一可能要关心的只是灯的亮度是否合适,灯具的造型是否合你的口味,以及开关的位置是否顺手 • 你要做的只是去商店挑选灯具和开关,因为你知道市面上所有的灯具都使用统一的电气标准 • 找专业的照明设计师,把你要的告诉他,让他提供房间的照明设计方案和施工 山东大学软件学院 SSME V4.0
企业也面临同样的问题 • 企业像获得水和电力那样获得其所需要的信息技术,包括数据处理,存储,应用,系统管理,安全维护等等服务 • 把业务过程用互联网的语言转述给一个可信赖的服务商,一个有能力把复杂的信息技术变为简洁的低风险的商业流程支持系统的服务商 • 一切只取决于需求,而且,随需应变 • 企业需要应对业务发展的灵活转型能力 山东大学软件学院 SSME V4.0
随需应变的商务 • 今天的商务必将在全球经济大环境和不断增长的竞争压力下求变,以求生存。 商务模式将转型为跨越供应商、分销商、客户与雇员,在人力、流程、信息上进行完全的集成。 • 2002年10月,IBM提出了对电子商务下一步发展方向的展望,即随需应变的电子商务 山东大学软件学院 SSME V4.0
随需应变商务具有四个特征 • 更迅速的响应能力(Responsive) • 更灵活的变化能力(Variable) • 更专注的业务目标(Focused) • 更弹性的商务运行(Resilient) 山东大学软件学院 SSME V4.0
随需应变的特征 山东大学软件学院 SSME V4.0
自动化 • 自动化是指动态拓展、监控、管理和保护信息技术架构的能力,以期在最少或无人工干涉的情况下使运行环境满足商务需求。 • 目标是克服系统管理的复杂性,更有效地利用资源,增强系统的可用性和弹性,降低运行成本。 • 通过运行环境各组成单元的自治机制来实现 山东大学软件学院 SSME V4.0
虚拟化 • 虚拟化是指运行环境通过某种机制将计算资源的能力展现在用户面前,使应用可以容易地在其上展开,而不必关心基础资源的物理设备,其实施及地理位置 • 虚拟化的目标是建立虚拟隔离层,将底层硬件和系统软件细节隐藏于其下,并引入整合机制,简化系统展开,提高计算资源利用率,达到随需应变的目的 山东大学软件学院 SSME V4.0
IT 基础设施中虚拟化的例子 山东大学软件学院 SSME V4.0
SOA 和虚拟化:减少复杂性 山东大学软件学院 SSME V4.0
场景:银行的汽车贷款流程 山东大学软件学院 SSME V4.0
业务和IT主管 业务分析师 业务分析师 业务分析师 服务集成 工程师 SOA架构师 SOA架构师 技术支持 服务开发 工程师 部署和运营 经理 服务测试 工程师 企业实施SOA的通常步骤-阶段、角色和任务 • 在业务和IT层面评估SOA价值 • SOA转型中的组织和流程准备 • 规划SOA实施策略 • 确定转型路线图 • 确定SOA架构设计准则 • 转型过程中人才培养和技术的积累 • SOA监管 • 分析和设计业务框架和业务流程 • 分析和设计服务模型 • 分析和设计企业信息模型 • 分析和设计参考架构 • Web服务技术成熟度分析 • SOA支持环境产品评估 • SOA支持环境的设计和构建 • 服务实现决策和架构设计 • 服务组件设计 • 服务的生命周期管理 • 对SOA设计准则符合 • 以服务为中心的开发 • 以服务为中心的集成 • SOA编程模型 • 组件设计和开发 • Service-Oriented Testing • 其他技术的采用如MDA • 对SOA设计准则符合 • …… • 业务流程和业务系统管理 • Service NFR分析和建模 • SOA环境中安全设计和实现 • SOA环境中性能设计和实现 • …… 服务建模 服务管理 0 4 2 SOA监管 架构设计 服务实现 3 Oriented Architecture Services 5 6 1 服务建模和架构设计 服务实现和组装 服务部署和管理 SOA计划和监管 山东大学软件学院 SSME V4.0
寻找SOA的价值所在 通过分析企业业务目标以及现有问题之间的差距 业务目标 现有问题 SOA 价值 降低成本 建立集中的企业服务总线,屏蔽具体的服务实现,保持IT系统的柔性 客户专员获取客户历史记录,然后人工计算风险等级 由于各地的业务差别,计算风险等级的政策不一致 引入业务规则作为服务实现方式,保证系统灵活性的同时,提高工作效率 降低欺诈风险 在申请过程中,客户以及客户代表无法了解申请进度并及时反馈 流程自动化,提供实时的流程监控和管理 山东大学软件学院 SSME V4.0
业务组件 一级业务流程和业务目标是服务建模的三个主要输入 山东大学软件学院 SSME V4.0
0 存贷款流程 1.1 存款 1.2 汽车贷款 1.2.7 发放贷款 1.2.6 担保 1.2.5 审批 1.2.4 核定期限 1.2.3 评估信用等级 1.2.2 确认申请 1.2.1 申请贷款 1.2.3.3 计算信用等级 1.2.3.1 获取存款记录 1.2.3.2 获取贷款记录 1.2.6.2 提供担保 1.2.6.1 申请担保 服务发现的第一步:从1级流程逐步分解为各个层次的服务候选者 汽车贷款业务流程分解 山东大学软件学院 SSME V4.0
服务发现的第二步:通过关键业务指标分析来验证已有服务候选者以及发现遗漏的服务候选者服务发现的第二步:通过关键业务指标分析来验证已有服务候选者以及发现遗漏的服务候选者 业务目标 关键业务指标 相关服务 1.2.1 申请贷款 BG.1 降低成本 销售成本降低10% 1.2.2 确认申请 1.2.3 评估信用等级 用户自服务比率提高到85% 1.2.3.1 获取存款记录 1.2.3.2 获取贷款记录 BG.2 降低欺诈风险 坏账率到3%以下 1.2.3.3 计算信用等级 1.2.4 核定期限 1.2.5 审批 1.2.6 担保 1.2.6.1 申请担保 1.2.6.2 提供担保 1.2.7 发放贷款 山东大学软件学院 SSME V4.0
服务发现的第三步:通过对现有系统的分析发现遗漏的服务候选者,并为服务实现提供依据服务发现的第三步:通过对现有系统的分析发现遗漏的服务候选者,并为服务实现提供依据 山东大学软件学院 SSME V4.0
客户服务 1.2.1 申请贷款 1.2.2 确认申请 1.2.3.1 获取存款记录 1.2.3.2 获取贷款记录 1.2.4 核定期限 1.2.5 审批 1.2.6 担保 1.2.6.1 申请担保 1.2.6.2 提供担保 1.2.7 发放贷款 风险管理 1.2.3 评估信用等级 1.2.3.3 计算信用等级 获得服务候选者的组合以及服务暴露的决定,利用输入的业务组件将服务候选者分类,为服务规约和服务实现做准备 山东大学软件学院 SSME V4.0
将新发现的服务发布到Service Registry,在企业范围内实现统一的服务管理 Center of Excellence SOA架构师 山东大学软件学院 SSME V4.0
流程建模:从业务流程、组织结构以及关键业务指标等方面,对业务流程进行全方位建模流程建模:从业务流程、组织结构以及关键业务指标等方面,对业务流程进行全方位建模 业务数据模型 业务流程模型 组织模型 模拟运行报告 业务监控模型 山东大学软件学院 SSME V4.0
部署以前发现潜在业务瓶颈——补充申请材料 根据资源消耗统计进行资源的最有配置 模拟:在实现流程之间发现潜在业务瓶颈,并及时进行优化,降低项目实施的风险和成本 瓶颈的等待队列长度 当前步骤 实时模拟统计 模拟控制面板 本次模拟耗时 山东大学软件学院 SSME V4.0
从Service Registry中获取可重用服务的相关信息,直接应用在本项目中,避免重复开发,降低开发和维护的成本 山东大学软件学院 SSME V4.0
功能服务 流程服务 功能服务 规则服务 人工服务 服务 NEW 映射 映射 NEW 映射 映射 基于服务规约和现有系统分析,确定服务实现的决策 服务组件 客户服务 贷款业务系统 Specified Platform 服务0 获取贷款记录 服务中介: 路由/转换 验证用户资格 服务1 获取存款记录 服务2 审批 服务3 发放贷款 核心系统 .NET / Web Service 服务中介: 路由/转换 获取存款记录 服务中介: 路由/转换 发放贷款 服务组件 风险管理 服务4 提供担保 保险公司 FAX/Call Web Service 提供担保 服务中介 转换 服务5 计算信用等级 山东大学软件学院 SSME V4.0
Websphere Process Server Websphere Process Server Websphere Application Server Websphere Business Monitor Websphere Process Server Websphere ESB / Message Broker Websphere Adapter 架构设计:将已有服务、新建服务以及服务中介按照SOA参考架构进行架构设计 服务监控引擎 功能服务容器 业务规则容器 流程自动化容器 交互服务容器 SC1: 客户服务流程服务 SC3: 风险管理规则服务 KPIXXX SC3: 风险管理流程服务 SC1: 客户服务人工服务 报警:初审超时 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SC4: 现有客服 服务映射 通用连接 Adapter SOAP SOAP APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 IF1: 获取存款记录 IF1: 获取贷款记录 山东大学软件学院 SSME V4.0
将人工任务作为一个服务调用 • 人工活动参与自动化流程 • 人工任务调用一个服务 • 人工活动利用通用的用户界面启动一个服务,例如一个业务流程或者Web Service • To-Do列表的特殊应用 • 执行一个纯粹的人工任务 • 将工作项传递给其他人 服务监控引擎 业务规则容器 流程自动化容器 功能服务容器 交互服务容器 SC1: 客户服务流程服务 … SC3: 风险管理规则服务 关键业务指标 创建庄户成本 SC3: 风险管理流程服务 SC1: 客户服务人工服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SC4: 现有客服 服务映射 通用连接 SOAP SOAP Adapter APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 IF1: 获取存款记录 IF1: 获取贷款记录 人工任务用统一的服务接口定义人工活动,提供重用人工服务的可能性 山东大学软件学院 SSME V4.0
服务监控引擎 业务规则容器 流程自动化容器 功能服务容器 交互服务容器 SC1: 客户服务流程服务 … SC3: 风险管理规则服务 KPIXXX SC3: 风险管理流程服务 SC1: 客户服务人工服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SC4: 现有客服 服务映射 通用连接 SOAP SOAP IIOP APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 IF1: 获取存款记录 IF1: 获取贷款记录 流程服务提供灵活、方便的服务组装模式,使得企业能够最大可能的重用现有服务,并快速响应需求的变化,是SOA的重要手段之一 • 符合WS-BPEL 规范 • 抽象业务流程 • 隐藏服务实现细节 • 事务/ 补偿 • 支持 XPath 1.0 • 可视化调试 山东大学软件学院 SSME V4.0
服务监控引擎 业务规则容器 流程自动化容器 功能服务容器 交互服务容器 SC1: 客户服务流程服务 … SC3: 风险管理规则服务 KPIXXX SC3: 风险管理流程服务 SC1: 客户服务人工服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SC4: 现有客服 服务映射 通用连接 SOAP SOAP IIOP APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 IF1: 获取存款记录 IF1: 获取贷款记录 业务规则将易变的业务逻辑从代码中剥离出来,便于快速响应业务需求的变化 • 从应用和业务流程中剥离业务逻辑 • 便于修改业务逻辑 • 运行时动态的修改业务规则 • 常用的规则功能 • 决策表 • 规则集 (If/Then Rules) • 规则模板 • 易于使用 • 规则组: 将规则开发人员用到的所有工件集中到一个组件 山东大学软件学院 SSME V4.0
消息机制 客户端 Java and C/C++Web Services Client C++ Client .Net Client JMS 1.1 MQ interoperability 服务监控引擎 业务规则容器 流程自动化容器 功能服务容器 交互服务容器 Lightweight Java Client coming WebSphere ESB SC1: 客户服务流程服务 … SC3: 风险管理规则服务 KPIXXX SC3: 风险管理流程服务 SC1: 客户服务人工服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI WebSphere Integration Developer WebSphere Adapter Support 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 XSLT Message Logger Message Router DB Lookup Mediation Function CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SCA 编程模型 Web Services: WebSphere Application Server SC4: 现有客服 服务映射 Tivoli Access Manager DB2 Universal Database Edge Components 通用连接 SOAP SOAP IIOP SOAP/HTTP APP3: 保险公司 SCA APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 SOAP/JMS IF1: 获取存款记录 IF1: 获取贷款记录 SDO WS-* UDDI Registry 3.0 基于ESB的服务中介解决服务提供者和请求者的差距,并提供虚拟化服务,是SOA的重要组成部分 山东大学软件学院 SSME V4.0
Connector将应用与integration broker连接起来 图形化工具帮助创建业务对象定义以及配置连接器 Object Discovery Agent (ODA)从应用中自动挖掘,生成原始的数据模型 Object Discovery Agent Development Kit (ODK)提供一套开发自定义ODA的API Test Connector提供一个测试用的模拟联接器 Adapter Development Kit (ADK)提供开发客户化适配器的框架 WebSphereApplication Server 服务监控引擎 业务规则容器 流程自动化容器 功能服务容器 交互服务容器 WebSphereMQ Integrator Broker WebSphereApplication Server SC1: 客户服务流程服务 … SC3: 风险管理规则服务 KPIXXX Application SC3: 风险管理流程服务 SC1: 客户服务人工服务 Application MessageFlow SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS Adapter Framework EJBs / MDBs MessageListener EJB CEI 企业服务总线 Application SpecificComponent SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 JMS JMS CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 Adapter Framework Adapter Framework SC4: 现有客服 服务映射 Enterprise Application Application SpecificComponent Application SpecificComponent 通用连接 SOAP SOAP IIOP APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 Enterprise Application Enterprise Application IF1: 提供担保 IF1: 获取存款记录 IF1: 获取贷款记录 适配器及适配器框架采用标准化的方式解决不同应用之间的联通性问题,保护企业投资,解决复杂的集成问题 Application Adapters • Ariba Buyer • Clarify CRM • eMatrix • IndusConnect Framework • I2 • I2 Active Data Warehouse • Maximo MEA • MetaSolv Application • mySAP.com • NightFire Applications • Oracle Applications • PeopleSoft • Portal Infranet • QAD MFG/PRO • Retek • Siebel eBusiness Applications • Spirent Applications • SWIFT • Telcordia Applications • WebSphere Commerce • Technology and e-Business Adapters • COM • CORBA • e-mail • Exchange • FIX Protocol • Healthcare Data Protocols • iSeries • JMS • JText • JDBC • Lotus Domino • MQ • MQ Integrator Broker • MQ Workflow • XML • Data Handler for XML • Data Handler for EDI • Web Services Other Adapter components • Adapter Development Kit • Adapter Framework 山东大学软件学院 SSME V4.0
Websphere Process Server Websphere Process Server Websphere Application Server Websphere Business Monitor Websphere Process Server Websphere ESB / Message Broker Websphere Adapter 架构设计:将示例设计的产品映射到系统架构 服务监控引擎 功能服务容器 业务规则容器 流程自动化容器 交互服务容器 SC1: 客户服务流程服务 SC3: 风险管理规则服务 KPIXXX SC3: 风险管理流程服务 SC1: 客户服务人工服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB CEI 企业服务总线 SC2:客户目录映射服务 SC3:风险管理映射服务 服务虚拟化 CEI 服务事件 服务中介 SM2:转换 SM1: 路由/转换 SC4: 现有客服 服务映射 通用连接 Adapter SOAP SOAP APP3: 保险公司 APP2: 贷款系统 APP1: 核心系统 IF1: 提供担保 IF1:获取存款记录 IF1: 获取贷款记录 山东大学软件学院 SSME V4.0
流程服务 服务 规则服务 功能服务 人工服务 功能服务 映射 NEW NEW 映射 映射 映射 从服务模型直接映射到SOA编程模型 服务组件 客户服务 服务0 获取贷款记录 服务1 获取存款记录 服务2 审批 服务3 发放贷款 服务组件 风险管理 服务4 提供担保 服务5 计算信用等级 山东大学软件学院 SSME V4.0
流程导入,实现流程服务以及相关的业务对象、接口定义流程导入,实现流程服务以及相关的业务对象、接口定义 流程 (BPEL) 服务 (WSDL) 业务对象 (XSD) 业务对象 接口 流程 接口 山东大学软件学院 SSME V4.0
实现人工任务 山东大学软件学院 SSME V4.0
定义规则模板来分别处理大额帐户和小额帐户。定义规则模板来分别处理大额帐户和小额帐户。 根据规则模板生成规则,确定大、小额帐户的金额范围及信用等级要求 生成普通规则,将信用等级进行比较计算。 实现基于业务规则的服务 基于模板的规则 普通规则 规则模板 山东大学软件学院 SSME V4.0
路由中介:根据客户信息所属系统,将请求路由到正确的服务提供者路由中介:根据客户信息所属系统,将请求路由到正确的服务提供者 转换中介:将请求消息格式转换为提供者(oCRM或呼叫中心)规定的消息格式 客户化中介:Java编程模式满足上述内嵌中介服务以外的功能需求 为服务创建中介,处理服务提供者与请求者之间的差距,将两者的具体实现解耦 oCRM 路由中介 转换中介 呼叫中心 客户化中介 山东大学软件学院 SSME V4.0
利用集成测试客户端独立测试服务组件 选择模块、操作 启动集成测试客户端 察看执行步骤及结果 输入参数,执行测试 山东大学软件学院 SSME V4.0