Download presentation
Presentation is loading. Please wait.
1
第5章 方案工程(Solutions Engineering)
服务科学概论 第5章 方案工程(Solutions Engineering)
2
服务的故事之山西票号的故事 嘉庆年间,山西平遥有一家叫西裕成的颜料庄,经营多年,资力雄厚,在京师、天津、汉口、成都等城市开设有分号
道光三年(1823)左右颜料庄改为专营银两汇兑和存放款业务的票号。正式成立了中国第一家票号—日升昌 山东大学软件学院 SSME V4.0
3
服务的故事之山西票号的故事 转型背后的技术支持信息化
平遥票号成立初期,总、分号的管理及业务往来,主要靠信件联系。为了及时传递信件,一是托私脚专门传递,二是托镖局或商号捎办 道光初年南方信局出现,逐步影响到北方,票号信件开始交信局传递 光绪中期有了电报后,平遥票号率先使用 山东大学软件学院 SSME V4.0
4
服务的故事之山西票号的故事 转型背后的技术支持——防伪 十位、个位数字 万、千、百、十 31天 12个月
山东大学软件学院 SSME V4.0
5
本章内容 1 随需应变的服务转型 2 方案工程 3 面向服务的分析与设计 4 案例:构建SOA应用 山东大学软件学院 SSME V4.0
6
随需应变 打开电灯,照亮你的屋子。你要做的只是--找到开关、按下它
因为你知道,电灯已经安在灯座上,灯座后面连着电线,而电线后面连接着也许是几千公里外的发电站。当然,如果要对这个灯为什么会亮深究下去,也许会牵涉出一大堆问题 山东大学软件学院 SSME V4.0
7
问题 为什么是用电灯,而不是别的什么发光的东西? 点亮电灯的是什么? 电为什么会变为光? 它要经过怎样的能量转换才会变为光?
你使用的电源为什么是220V电压,50Hz频率? 电是如何从电厂传送到你的床头的? 中间经过了多少变电站和输送装置? 你用的电是来自于水力发电站,火力发电站,风力发电站还是核电站? 山东大学软件学院 SSME V4.0
8
这些问题都不需要关心! 唯一可能要关心的只是灯的亮度是否合适,灯具的造型是否合你的口味,以及开关的位置是否顺手
你要做的只是去商店挑选灯具和开关,因为你知道市面上所有的灯具都使用统一的电气标准 找专业的照明设计师,把你要的告诉他,让他提供房间的照明设计方案和施工 山东大学软件学院 SSME V4.0
9
企业也面临同样的问题 企业像获得水和电力那样获得其所需要的信息技术,包括数据处理,存储,应用,系统管理,安全维护等等服务
把业务过程用互联网的语言转述给一个可信赖的服务商,一个有能力把复杂的信息技术变为简洁的低风险的商业流程支持系统的服务商 一切只取决于需求,而且,随需应变 企业需要应对业务发展的灵活转型能力 山东大学软件学院 SSME V4.0
10
随需应变的商务 今天的商务必将在全球经济大环境和不断增长的竞争压力下求变,以求生存。 商务模式将转型为跨越供应商、分销商、客户与雇员,在人力、流程、信息上进行完全的集成。 2002年10月,IBM提出了对电子商务下一步发展方向的展望,即随需应变的电子商务 山东大学软件学院 SSME V4.0
11
随需应变商务具有四个特征 更迅速的响应能力(Responsive) 更灵活的变化能力(Variable) 更专注的业务目标(Focused)
更弹性的商务运行(Resilient) 山东大学软件学院 SSME V4.0
12
随需应变的特征 山东大学软件学院 SSME V4.0 集成化:为流程、人力、信息和系统提供统一视图
自动化:通过克服系统管理的复杂性,达到更有效地利用资源,增强系统的可用性和弹性,降低运行成本的目的 虚拟化:通过建立虚拟隔离层,将底层硬件和系统软件细节隐藏于其下,并引入整合机制,从而简化系统展开,提高计算资源利用率,达到随需应变的目的 山东大学软件学院 SSME V4.0
13
自动化 自动化是指动态拓展、监控、管理和保护信息技术架构的能力,以期在最少或无人工干涉的情况下使运行环境满足商务需求。
目标是克服系统管理的复杂性,更有效地利用资源,增强系统的可用性和弹性,降低运行成本。 通过运行环境各组成单元的自治机制来实现 山东大学软件学院 SSME V4.0
14
虚拟化 虚拟化是指运行环境通过某种机制将计算资源的能力展现在用户面前,使应用可以容易地在其上展开,而不必关心基础资源的物理设备,其实施及地理位置 虚拟化的目标是建立虚拟隔离层,将底层硬件和系统软件细节隐藏于其下,并引入整合机制,简化系统展开,提高计算资源利用率,达到随需应变的目的 山东大学软件学院 SSME V4.0
15
IT 基础设施中虚拟化的例子 山东大学软件学院 SSME V4.0
16
SOA 和虚拟化:减少复杂性 山东大学软件学院 SSME V4.0
17
面向服务的分析与设计
18
以业务目标和需求为导向,推动设计、开发和测试,将业务流程转换为对业务进行了自动化和整合的复合应用程序;
面向服务的分析与设计——SOAD 以业务目标和需求为导向,推动设计、开发和测试,将业务流程转换为对业务进行了自动化和整合的复合应用程序; 跟踪整个生命周期中的需求,从业务目标到软件设计与编码资产,再到复合应用程序; 设计整合的解决方案,确保高灵活性,能够随着企业需求变更而适应; 最大限度的提高资产冲用、减少冗余; 最终,从头开始高质量的进行构建。 山东大学软件学院 SSME V4.0
19
BPM, EA, and OOAD positioning
流程建模(BPM)用于业务领域的分析和设计,如业务流程的定义、业务数据的定义等;企业架构(EA)和方案架构(SA)侧重在架构领域的分析和设计,如根据业务需求确定目前目标业务系统和IT系统,根据目标系统需求设计主要架构元素和它们之间的关系;面向对象的分析和设计(OOAD)则贯穿分析、设计和开发三个阶段,它主要分析细粒度的业务需求,如用例,分析和设计实现这些需求的类和对象,以及它们之间的关系。 面向服务的分析和设计贯穿项目周期的三个阶段和IT系统的三个域。这暗示着,在操作层面上,面向服务的分析和设计会和其他方法学紧密相联。 山东大学软件学院 SSME V4.0
20
SOAD and its ingredients: OOAD, BPM, and EA
1.BPM和SOA 业务流程建模是一个相当零散的领域,存在各种各样的方法和技术,有效的方法可以帮助企业对业务进行合理的划分,从而求得业务层面的灵活性。有些方法则侧重于流程建模本身,例如如何确定和定义业务流程中的业务活动、业务数据、业务规则、业务指标和业务事件等,但是BPM并不会帮助我们去发现和定义服务。从SOA的方法学来看,各种BPM的结果是面向服务的分析和设计的重要输入,如业务组件、业务流程和业务目标是服务发现的重要依据,而业务指标、业务数据、业务规则等是服务暴露的分析的重要依据。 2.EA和SOA 尽管和BPM一样,EA是一个零散的领域,但是当前的EA主要侧重于定义跨越业务单元边界的系统框架,企业范围内系统的主要构成元素,这些元素间的关系,以及将这些元素有机组合在一起的参考架构。但是,各种EA技术都缺乏业务领域的蓝图指导企业架构的设计。从SOA方法学来看,一方面,面向服务的分析和设计通过和BPM结合将业务分解为各种类型的服务,可以作为企业业务的蓝图指导企业架构的设计;另一方面,企业架构设计的结果,如参考架构,又是服务实现的重要依据。 3.OOAD和SOA 面向对象的分析和设计告诉我们使用Use Case捕获需求,并设计类、对象及对象间交互来满足Use Case定义的需求。但是面向对象的分析和设计往往只是局限在单个应用内部,它不会缺乏业务蓝图和企业架构蓝图的指导。从SOA方法学看,在原理层面上,OOAD中的很多设计原则,如抽象、隔离关注等被SOA继承和发扬,并应用于服务的定义和实现中。而在操作层面上,服务模型为OOAD进行类和对象设计提供了业务蓝图和企业架构蓝图,与此同时,Use Case作为对业务流程的补充说明被用于服务的发现和定义中。 山东大学软件学院 SSME V4.0
21
Main concepts of SOAD Main concepts Relationships between concepts
Business goals Business processes Business service IT service Service comonent Component Relationships between concepts B goal – B proc B proc – B service B servise – IT service IT servise – Service component Service component - component 山东大学软件学院 SSME V4.0
22
Relationships between SOAD concepts - The SOAD service definition hierarchy
山东大学软件学院 SSME V4.0
23
Relationships between SOAD concepts – SOA layered architecture
山东大学软件学院 SSME V4.0
24
SOA reference architecture - Services
山东大学软件学院 SSME V4.0
25
Business service concept
Business can understand Common language between business and IT Reusable (in multiple channels, ...) Basis of business driven development Basis of business flexibility Building blocks of business processes Like “elementary business case” see account balance, cash out from ATM, make payment (order) Clear INTERFACE for sending and giving “documents” Call style, event driven interaction point between business process and IT Has lifesycle (who owns, who pays, ...) – SOA governance 山东大学软件学院 SSME V4.0
26
SOAD – roles and responsibilities
山东大学软件学院 SSME V4.0
27
Requiremnts management
山东大学软件学院 SSME V4.0
28
Business proc modelling and analysis
山东大学软件学院 SSME V4.0
29
Service oriented modelling, analysis, design
山东大学软件学院 SSME V4.0
30
Business brocess choerography and mediation
山东大学软件学院 SSME V4.0
31
User interface development
山东大学软件学院 SSME V4.0
32
Test (early, often) 山东大学软件学院 SSME V4.0
33
解决方案案例
34
业务场景描述
35
场景:银行的汽车贷款流程 介绍一个流程 山东大学软件学院 SSME V4.0
36
项目实施步骤
37
企业实施SOA的通常步骤-阶段、角色和任务
在业务和IT层面评估SOA价值 SOA转型中的组织和流程准备 规划SOA实施策略 确定转型路线图 确定SOA架构设计准则 转型过程中人才培养和技术的积累 SOA监管 分析和设计业务框架和业务流程 分析和设计服务模型 分析和设计企业信息模型 分析和设计参考架构 Web服务技术成熟度分析 SOA支持环境产品评估 SOA支持环境的设计和构建 服务实现决策和架构设计 服务组件设计 服务的生命周期管理 对SOA设计准则符合 服务建模 以服务为中心的开发 以服务为中心的集成 SOA编程模型 组件设计和开发 Service-Oriented Testing 其他技术的采用如MDA 对SOA设计准则符合 …… 业务流程和业务系统管理 Service NFR分析和建模 SOA环境中安全设计和实现 SOA环境中性能设计和实现 …… 服务管理 2 4 SOA监管 Oriented Architecture Services 架构设计 服务实现 3 1 5 6 SOA计划和监管 服务建模和架构设计 服务实现和组装 服务部署和管理 与金戈的内容进行衔接 服务测试 工程师 业务和IT主管 业务分析师 业务分析师 SOA架构师 服务开发 工程师 服务集成 工程师 技术支持 部署和运营 经理 SOA架构师 业务分析师 山东大学软件学院 SSME V4.0
38
服务价值分析
39
寻找SOA的价值所在 通过分析企业业务目标以及现有问题之间的差距 业务目标 SOA 价值 现有问题 降低成本
建立集中的企业服务总线,屏蔽具体的服务实现,保持IT系统的柔性 客户专员获取客户历史记录,然后人工计算风险等级 由于各地的业务差别,计算风险等级的政策不一致 引入业务规则作为服务实现方式,保证系统灵活性的同时,提高工作效率 降低欺诈风险 在申请过程中,客户以及客户代表无法了解申请进度并及时反馈 介绍业务目标 说明现有问题 说明两者的差别 流程自动化,提供实时的流程监控和管理 山东大学软件学院 SSME V4.0
40
服务建模
41
业务组件 一级业务流程和业务目标是服务建模的三个主要输入 山东大学软件学院 SSME V4.0 介绍SOMA以及SOAIF对SOMA的支持
说明三个输入 业务组件模型 业务目标 顶级的业务流程? 山东大学软件学院 SSME V4.0
42
服务发现的第一步:从1级流程逐步分解为各个层次的服务候选者
汽车贷款业务流程分解 1.1 存款 0 存贷款流程 1.2 汽车贷款 1.2.1 申请贷款 1.2.2 确认申请 1.2.3 评估信用等级 1.2.4 核定期限 1.2.5 审批 1.2.6 担保 1.2.7 发放贷款 获取存款记录 获取贷款记录 计算信用等级 申请担保 提供担保 对顶级流程的分解,发现所有的服务候选者 强调顶级流程 重点分析创建帐户的流程,仅仅是为了详细解释整个过程 山东大学软件学院 SSME V4.0
43
服务发现的第二步:通过关键业务指标分析来验证已有服务候选者以及发现遗漏的服务候选者
业务目标 关键业务指标 相关服务 BG.1 降低成本 销售成本降低10% 1.2.1 申请贷款 1.2.2 确认申请 1.2.3 评估信用等级 用户自服务比率提高到85% 获取存款记录 获取贷款记录 BG.2 降低欺诈风险 坏账率到3%以下 计算信用等级 1.2.4 核定期限 业务目标的分解,验证前面发现的服务候选者。 更加重要的是,可能会发现遗漏的服务 1.2.5 审批 1.2.6 担保 申请担保 提供担保 1.2.7 发放贷款 山东大学软件学院 SSME V4.0
44
服务发现的第三步:通过对现有系统的分析发现遗漏的服务候选者,并为服务实现提供依据
系统编号 系统名称 相关服务 平台 接口类型 APP1 贷款系统 获取贷款记录 AIX WAS v5 EJB APP2 核心系统 获取存款记录 CICS/390 Terminal APP3 保险公司担保系统 提供担保 Windows .NET Fax/Call Web Service 山东大学软件学院 SSME V4.0
45
获得服务候选者的组合以及服务暴露的决定,利用输入的业务组件将服务候选者分类,为服务规约和服务实现做准备
客户服务 1.2.1 申请贷款 1.2.2 确认申请 获取存款记录 获取贷款记录 1.2.4 核定期限 1.2.5 审批 1.2.6 担保 申请担保 提供担保 1.2.7 发放贷款 风险管理 1.2.3 评估信用等级 计算信用等级 结合上面三个步骤的结果,结合服务暴露的决定(重用性、具备明确的业务语义、有明确的业务规则、可组合成新的业务逻辑) 山东大学软件学院 SSME V4.0
46
将新发现的服务发布到Service Registry,在企业范围内实现统一的服务管理
Center of Excellence SOA架构师 与前面的实施过程介绍进行呼应 为什么这么做?确保服务发现结果能够从企业全局考察 具体介绍怎么做。 山东大学软件学院 SSME V4.0
47
流程建模:从业务流程、组织结构以及关键业务指标等方面,对业务流程进行全方位建模
业务数据模型 业务流程模型 组织模型 模拟运行报告 介绍服务建模与流程建模是一个迭代的过程,服务的发现和规约出来以后,可以最后确定流程建模 业务数据:可以从企业的Data Model导入 业务流程 组织结构:映射企业的组织结构到IT建模工具,确保模型的真实有效 业务监控模型:定义关键业务指标,以及度量关键业务指标的方式,在运行和管理阶段利用这些模型,保证建模、执行、管理的一致性 业务监控模型 山东大学软件学院 SSME V4.0
48
模拟:在实现流程之间发现潜在业务瓶颈,并及时进行优化,降低项目实施的风险和成本
部署以前发现潜在业务瓶颈——补充申请材料 根据资源消耗统计进行资源的最有配置 瓶颈的等待队列长度 当前步骤 实时模拟统计 既然定义了组织结构,每个任务的执行者,抑或是系统、抑或是人工,以及这些资源的成本,我们可以进行有效的流程模拟 发现流程的瓶颈 分析流程的运行成本,确保有效的资源配置 好处:在部署以前发现流程的问题 模拟控制面板 本次模拟耗时 山东大学软件学院 SSME V4.0
49
从Service Registry中获取可重用服务的相关信息,直接应用在本项目中,避免重复开发,降低开发和维护的成本
在我们开始考虑实现流程的时候,需要考虑重用服务 降低开发成本,很显然 降低维护成本,企业维护重复的功能、数据,潜在的成本极高 山东大学软件学院 SSME V4.0
50
服务实现架构设计
51
基于服务规约和现有系统分析,确定服务实现的决策
服务0 获取贷款记录 服务组件 客户服务 服务 映射 贷款业务系统 Specified Platform 服务中介: 路由/转换 服务1 获取存款记录 流程服务 映射 验证用户资格 人工服务 NEW 服务2 审批 功能服务 映射 服务3 发放贷款 核心系统 .NET / Web Service 服务中介: 路由/转换 获取存款记录 服务中介: 路由/转换 发放贷款 这是服务实现的总体决定 强调 重用服务 新实现的服务:流程、人工、规则服务, 映射已有服务:功能服务Web Service 服务组件 风险管理 功能服务 映射 服务4 提供担保 保险公司 FAX/Call Web Service 服务中介 转换 提供担保 规则服务 NEW 服务5 计算信用等级 山东大学软件学院 SSME V4.0
52
架构设计:将已有服务、新建服务以及服务中介按照SOA参考架构进行架构设计
Websphere Process Server Business Monitor Websphere ESB / Message Broker Websphere Adapter Application 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 SC1: 客户服务流程服务 SC3: 风险管理规则服务 KPIXXX SC1: 客户服务人工服务 SC3: 风险管理流程服务 报警:初审超时 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB, JMS SOAP/HTTP EJB CEI 企业服务总线 服务虚拟化 SC3:风险管理映射服务 SC2:客户目录映射服务 CEI 服务事件 服务中介 SM1: 路由/转换 SM2:转换 服务映射 SC4: 现有客服 大概过一下 然后映射产品 通用连接 Adapter SOAP SOAP APP1: 核心系统 APP2: 贷款系统 APP3: 保险公司 IF1: 获取存款记录 IF1: 获取贷款记录 IF1: 提供担保 山东大学软件学院 SSME V4.0
53
人工任务用统一的服务接口定义人工活动,提供重用人工服务的可能性
将人工任务作为一个服务调用 人工活动参与自动化流程 人工任务调用一个服务 人工活动利用通用的用户界面启动一个服务,例如一个业务流程或者Web Service To-Do列表的特殊应用 执行一个纯粹的人工任务 将工作项传递给其他人 APP3: 保险公司 IF1: 提供担保 APP1: 核心系统 IF1: 获取存款记录 APP2: 贷款系统 IF1: 获取贷款记录 企业服务总线 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 服务映射 服务中介 服务虚拟化 通用连接 SC1: 客户服务人工服务 SC3: 风险管理流程服务 SC4: 现有客服 SM1: 路由/转换 SM2:转换 SC2:客户目录映射服务 风险管理规则服务 关键业务指标 创建庄户成本 服务事件 Adapter SOAP SOAP/HTTP EJB, JMS EJB CEI 客户服务流程服务 SC3:风险管理映射服务 … 重要作用 重用人工服务 三种模式 人工服务参与流程 人工服务启动流程 人工服务启动人工服务 山东大学软件学院 SSME V4.0
54
流程服务提供灵活、方便的服务组装模式,使得企业能够最大可能的重用现有服务,并快速响应需求的变化,是SOA的重要手段之一
符合WS-BPEL 规范 抽象业务流程 隐藏服务实现细节 事务/ 补偿 支持 XPath 1.0 可视化调试 APP3: 保险公司 IF1: 提供担保 APP1: 核心系统 IF1: 获取存款记录 APP2: 贷款系统 IF1: 获取贷款记录 企业服务总线 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 服务映射 服务中介 服务虚拟化 通用连接 SC1: 客户服务人工服务 SC3: 风险管理流程服务 SC4: 现有客服 SM1: 路由/转换 SM2:转换 SC2:客户目录映射服务 风险管理规则服务 KPIXXX 服务事件 IIOP SOAP SOAP/HTTP EJB, JMS EJB CEI 客户服务流程服务 SC3:风险管理映射服务 … 业务组装的新模式,与传统代码的比较 BPELWS-标准化,ibm/bea/microsoft 山东大学软件学院 SSME V4.0
55
业务规则将易变的业务逻辑从代码中剥离出来,便于快速响应业务需求的变化
从应用和业务流程中剥离业务逻辑 便于修改业务逻辑 运行时动态的修改业务规则 常用的规则功能 决策表 规则集 (If/Then Rules) 规则模板 易于使用 规则组: 将规则开发人员用到的所有工件集中到一个组件 APP3: 保险公司 IF1: 提供担保 APP1: 核心系统 IF1: 获取存款记录 APP2: 贷款系统 IF1: 获取贷款记录 企业服务总线 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 服务映射 服务中介 服务虚拟化 通用连接 SC1: 客户服务人工服务 SC3: 风险管理流程服务 SC4: 现有客服 SM1: 路由/转换 SM2:转换 SC2:客户目录映射服务 风险管理规则服务 KPIXXX 服务事件 IIOP SOAP SOAP/HTTP EJB, JMS EJB CEI 客户服务流程服务 SC3:风险管理映射服务 … 山东大学软件学院 SSME V4.0
56
基于ESB的服务中介解决服务提供者和请求者的差距,并提供虚拟化服务,是SOA的重要组成部分
C++ Client .Net WebSphere ESB WebSphere Application Server Tivoli Access Manager DB2 Universal Database Edge Components Java and C/C++ Web Services 客户端 消息机制 JMS 1.1 MQ interoperability Mediation Function Web Services: WebSphere Adapter Support XSLT Message Router Logger DB Lookup WS-* SOAP/ HTTP UDDI Registry 3.0 SOAP/ JMS Lightweight Java Client coming Integration Developer SCA 编程模型 SDO APP3: 保险公司 IF1: 提供担保 APP1: 核心系统 IF1: 获取存款记录 APP2: 贷款系统 IF1: 获取贷款记录 企业服务总线 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 服务映射 服务中介 服务虚拟化 通用连接 SC1: 客户服务人工服务 SC3: 风险管理流程服务 SC4: 现有客服 SM1: 路由/转换 SM2:转换 SC2:客户目录映射服务 风险管理规则服务 KPIXXX 服务事件 IIOP SOAP SOAP/HTTP EJB, JMS EJB CEI 客户服务流程服务 SC3:风险管理映射服务 … 山东大学软件学院 SSME V4.0
57
适配器及适配器框架采用标准化的方式解决不同应用之间的联通性问题,保护企业投资,解决复杂的集成问题
Connector将应用与 integration broker连接起来 图形化工具帮助创建业务对象定义以及配置连接器 Object Discovery Agent (ODA) 从应用中自动挖掘,生成原始的数据 模型 Object Discovery Agent Development Kit (ODK) 提供一套开发自定义ODA的API Test Connector 提供一个测试用的模拟联接器 Adapter Development Kit (ADK) 提供开发客户化适配器的框架 APP3: 保险公司 IF1: 提供担保 APP1: 核心系统 IF1: 获取存款记录 APP2: 贷款系统 IF1: 获取贷款记录 企业服务总线 交互服务容器 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 服务映射 服务中介 服务虚拟化 通用连接 SC1: 客户服务人工服务 SC3: 风险管理流程服务 SC4: 现有客服 SM1: 路由/转换 SM2:转换 SC2:客户目录映射服务 风险管理规则服务 KPIXXX 服务事件 IIOP SOAP SOAP/HTTP EJB, JMS EJB CEI 客户服务流程服务 SC3:风险管理映射服务 … 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 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 WebSphere Application Server Enterprise Application EJBs / MDBs Adapter Framework Application Specific Component JMS WebSphere Application Server Enterprise Application Adapter Framework Application Specific Component WebSphere MQ Integrator Broker Enterprise Application Message Listener Message Flow Adapter Framework Application Specific Component JMS 山东大学软件学院 SSME V4.0
58
架构设计:将示例设计的产品映射到系统架构
交互服务容器 Websphere Process Server Business Monitor Websphere ESB / Message Broker Websphere Adapter Application 流程自动化容器 功能服务容器 业务规则容器 服务监控引擎 SC1: 客户服务流程服务 SC3: 风险管理规则服务 KPIXXX SC1: 客户服务人工服务 SC3: 风险管理流程服务 SOAP/HTTP EJB, JMS SOAP/HTTP EJB, JMS EJB, JMS SOAP/HTTP EJB CEI 企业服务总线 服务虚拟化 SC3:风险管理映射服务 SC2:客户目录映射服务 CEI 服务事件 服务中介 SM1: 路由/转换 SM2:转换 服务映射 SC4: 现有客服 通用连接 Adapter SOAP SOAP APP3: 保险公司 APP1: 核心系统 APP2: 贷款系统 IF1:获取存款记录 IF1: 获取贷款记录 IF1: 提供担保 山东大学软件学院 SSME V4.0
59
服务开发
60
从服务模型直接映射到SOA编程模型 服务组件 客户服务 服务组件 风险管理 山东大学软件学院 SSME V4.0 服务0 获取贷款记录
服务1 获取存款记录 流程服务 映射 人工服务 NEW 服务2 审批 功能服务 映射 服务3 发放贷款 SCA : IBM,BEA, SOA, SAP joint found 所有的服务都是一个服务组件,可以export出来,用不同的方式 服务组件 风险管理 功能服务 映射 服务4 提供担保 规则服务 NEW 服务5 计算信用等级 山东大学软件学院 SSME V4.0
61
流程导入,实现流程服务以及相关的业务对象、接口定义
流程 (BPEL) 服务 (WSDL) 业务对象 (XSD) 业务对象 接口 流程的实现,可以在WID里面完成;同时可以从WBM导入,保证了流程建模与实现的统一 流程 接口 山东大学软件学院 SSME V4.0
62
实现人工任务 山东大学软件学院 SSME V4.0 人工服务支持多种客户端,Web页面、Portlet等等。
支持统一的安全机制,配合用户信息(LDAP, OS, User Registry),只有相关人员才能进行对应的操作。 山东大学软件学院 SSME V4.0
63
定义规则模板来分别处理大额帐户和小额帐户。 根据规则模板生成规则,确定大、小额帐户的金额范围及信用等级要求
实现基于业务规则的服务 基于模板的规则 定义规则模板来分别处理大额帐户和小额帐户。 根据规则模板生成规则,确定大、小额帐户的金额范围及信用等级要求 生成普通规则,将信用等级进行比较计算。 普通规则 规则模板 业务规则的作用, 灵活应变:相对于代码实现 业务人员可以识别:甚至于从word文档导入 简单介绍: 模板 山东大学软件学院 SSME V4.0
64
服务集成
65
为服务创建中介,处理服务提供者与请求者之间的差距,将两者的具体实现解耦
oCRM 路由中介 转换中介 呼叫中心 客户化中介 路由中介:根据客户信息所属系统,将请求路由到正确的服务提供者 转换中介:将请求消息格式转换为提供者(oCRM或呼叫中心)规定的消息格式 客户化中介:Java编程模式满足上述内嵌中介服务以外的功能需求 中介的作用 弥合提供者和服务者之间的差别 服务虚拟化,提供一个解耦的机制 具体介绍 路由 转换(格式),协议转换(infrastructure) 山东大学软件学院 SSME V4.0
66
利用集成测试客户端独立测试服务组件 启动集成测试客户端 选择模块、操作 察看执行步骤及结果 输入参数,执行测试
迭代开发 所依赖服务没有实现的情况下,可以独立测试组件。快速提供原形,并确保可行性。降低项目的风险和成本。(传统的开发模式,将项目风险推到集成阶段) 开发独立性 项目组分工,可以单独开发、单独测试,降低集成的风险。 山东大学软件学院 SSME V4.0
67
服务管理
68
完成服务部署后,将新实现的服务状态设置为可用,使得该服务可以在企业范围内得到重用
SOA架构师 Center of Excellence 重复我们的场景 当一个服务被部署以后,可以提交相关信息,并修改服务的IT State,声明服务可用。 山东大学软件学院 SSME V4.0
69
实时监控业务流程运行情况,并反馈,优化 流程运行统计数据 业务指标模型 业务事件配置 模型 业务事件 状态
山东大学软件学院 SSME V4.0
70
基于流程和业务规则的服务实现,比传统的代码实现更加灵活的面对新增服务以及改变业务逻辑的需求变化
传统方式 S5 评估信用等级 用户信用等级服务将用户纳税记录作为依据之一 税务服务 本示例 查询纳税记录 好处的来源:process & biz rule 松耦合流程,降低开发的成本和风险 规则,灵活修改,业务人员可理解 S5 评估信用等级 山东大学软件学院 SSME V4.0
71
ESB配合Service Registry使得企业应用升级、移植所带来的挑战变得可管理、低成本
oCRM S4 验证用户资格 废 弃 SMX: 路由中介 呼叫中心 S4 验证用户资格 很常见的情形,系统迁移、升级。 可管理:通知机制保证能够明确的知道系统升级带来的影响 低成本,松耦合仅仅需要修改中介,服务请求者,不需要感知这种变化 New CRM S4 验证用户资格 Service Registry 通知新的验证用户资格服务上线 山东大学软件学院 SSME V4.0
72
思考题5 论述SOA解决方案的实施步骤,并通过一个案例描述面向服务应用整合的过程 企业A的库存管理业务主要有以下方面构成:
入库:采购系统编制采购到货单,在通过质检和计量之后,将到货单传递到库存系统;库存系统据此编制入库单并进行实际入库; 出库:生产系统编制领料单,经过生产部门领导审批之后,将其传递到库存系统;库存系统据此编制出库单并进行领料出库; 入帐:不管是入库单还是出库单,均需要发送给财务系统进行入帐(记入企业库存总账与库存流水账); VMI:部分原材料采用“供应商管理库存”(VMI)的模式进行库存管理,因此各供应商需要在自己的ERP系统当中查询企业A的当前库存情况,以决定是否送货、何时送货、送多少货。 请根据以上论述,采用SOA的思想,设计各系统之间的集成。需说明: (1) 需设计哪些服务?简要介绍每项服务的功能和接口形式(输入输出); (2) 各系统如何通过上述服务建立集成关系?绘制出相应的体系结构图示; (3) 设计相应的BPEL模型(仅需要画出服务间交互流程即可,不必写BPEL文件)。 山东大学软件学院 SSME V4.0
Similar presentations