HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车.doc

上传人:asd****56 文档编号:70326187 上传时间:2023-01-19 格式:DOC 页数:16 大小:70.50KB
返回 下载 相关 举报
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车.doc_第1页
第1页 / 共16页
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车.doc》由会员分享,可在线阅读,更多相关《HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 本文由war007贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 面向服务体系架构的业务规划和建模方法 实践案例介绍汽车贷款 肖勇 北京恒讯时代信息技术有限公司 xiaoy SOA架构项目的模式 发现 构建和测试 组合 流程整合 人员整合 信息整合和管理 收集需求 建模和仿真 设计 财务透明 商业/IT 调整 过程控制 应用程序和服务管理 身份识别和权限管理 监控商业标准 北京恒讯时代信息技术有限公司 2 SOA 实施步骤总结 0. SOA采纳步骤和价值分析 1. SOA监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成

2、 5. 服务管理 北京恒讯时代信息技术有限公司 3 SOA采纳步骤和价值分析-业务场景介绍 北京恒讯时代信息技术有限公司 4 SOA采纳步骤和价值分析-业务场景介绍(续) 在业务流程中起到枢纽作用的信贷员,通过不同的方式访问不同 的系统,获取申请人的相关信息,同时通过电子办公系统向信贷 经理提交贷款审批申请.多样化的人机界面既增加了对信贷员的 IT技能要求,也极大的降低了信贷员的工作效率. 北京恒讯时代信息技术有限公司 5 SOA采纳步骤和价值分析-SOA 评估框架和 SOA 成 熟度模型简介 评估框架主要分析企业IT系统在如下四个方面的特性: 1. 组织和流程:企业是否有实施SOA的经验,实

3、施SOA的范围多大, 企业是否规划过需要实现的SOA的能力,业务部门是否理解SOA实施的 价值和过程,特别是业务部门参与重要性,是否有系统的方法指导服 务的发现和设计,业务部门在服务的发现和设计中参与的程度如何; 2. 应用:目前应用如何暴露可重用的逻辑?应用间连通的实时和异 构特性如何?企业开始在多大构建复合应用? 3. 架构:目前企业应用集成现状?企业应用的组件化程度如何?是 否存在服务模型?范围多大? 4. 基础架构:基础架构如何保持可扩展性和灵活性保证满足业务部 门的需要?基础设施如何响应业务流程性能的变化?是否存在统一的 安全架构和规范? 北京恒讯时代信息技术有限公司 6 SOA采纳

4、步骤和价值分析-REVIEW:SOA成熟度模型将 SOA成熟度划分为7个层次: L1. 孤立的:大多数为孤立应用,存在集成也基本上以数据集成为主;当需求 发生变化时,需要大量的琐碎的架构调整; L2. 集成的:应用间存在大量集成,但是以点到点的连接方式为主,应用程序 的重构主要通过数据集成完成; L3. 组件化的:将主要的或关键的应用从功能角度进行了组件划分,原有的 J2EE/.Net等应用通过重构实现这些组件,组件间的集成通过组件接口和相互 间的契约完成; L4. 简单服务:存在业务部门内的服务模型和构建在服务上的业务流程集成; L5. 组合服务:存在企业范围内和企业间的服务模型,已经在服务

5、模型基础上 完成价值链集成; L6. 虚拟化服务:基础设施如服务器和存储已经完成虚拟化,服务运行在这些 虚拟化的基础设施之上;基础设施,服务组件,服务,业务流程被极大解耦; 通过对基础设施的监控和管理来保证服务质量; L7. 动态配置服务:服务可以根据业务策略和IT策略进行动态组装; 北京恒讯时代信息技术有限公司 7 SOA采纳步骤和价值分析-示例场景的 SOA 现有成熟 度和目标成熟度分析 1. 组织和流程:无论是在贷款业务部门,还是在其他业务部门,都没有进行 过SOA的实施;业务人员普遍认为SOA是技术层面的事情,是IT部门的事情,业 务部门在SOA实施中没有任何责任; 2. 应用:构建在

6、主机上的核心银行系统业务逻辑体现为CICS的事务,业务逻 辑划分清晰,但是逻辑和表示紧耦合,而且其业务逻辑划分和整体需求有一定 差距,该银行已经构建EAI的基础设施,核心银行系统的业务逻辑可以通过EAI 中的消息总线访问;房贷和车贷系统分布构建在J2EE和.Net平台之上,设计系 统时对组件化考虑的很充分,主要的业务逻辑都构建在公共的组件基础之上, 如果其他系统需要访问房贷和车贷系统,需要进行点到点的集成;保险公司担 保网关是外部系统,已经服务化. 3. 架构:企业消息总线可以连通除房贷和车贷系统以外的大部分系统,但是 消息总线中介能力不强,主要集中在消息转换,对重复业务逻辑的访问需要应 用层

7、处理; 4. 基础架构:服务器,存储和网络设施异构性很大,业务系统性能的调控相 当刚性;已经具有统一的安全架构,如认证,授权和加密; 综合分析可见,对于整体企业而言其SOA成熟度,位于L2和L3之间;房贷和车 贷系统SOA成熟度位于L3. 北京恒讯时代信息技术有限公司 8 SOA采纳步骤和价值分析-示例场景的 SOA 采纳步骤 和价值分析 第一步:以汽车贷款审批流程为中心进行SOA试点 ( L2/3 - L4 ) 第二步:重构贷款系统以实现贷款部门的服务模型,并将业务流程实现为 复合应用 ( L2/3 - L4 ) 第三步:以消息总线的改造为中心,构建SOA监管组织和流程,并创建企业 服务模型

8、和企业范围内SOA的基础架构;( L4 - L5) 第四步:逐步迁移主要业务流程为复合应用,并完善SOA监管和服务模型; (L4-L5) 这一步主要是在前一步的建立的SOA基础架构之上逐步将应用迁 移到复合应用.实际上第三步和第四步应该是融和在一起的; 第五步:围绕价值链整合实现快速响应IT系统; (L5) 当完成SOA基础设施 建设和复合应用迁移后,企业已经具备条件进行流程优化和价值链整合. 这种条件下,无论是IT层面的调整,还是业务层面的调整,都可以通过服 务模型和企业服务总线隔离变化,从而使用尽量小的代价完成对变化的适 应,也即达到快速响应的IT. 北京恒讯时代信息技术有限公司 9 SO

9、A 实施步骤总结 0. SOA采纳步骤和价值分析 1. SOA监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成 5. 服务管理 北京恒讯时代信息技术有限公司 10 Review:服务建模方法论介绍 需要特别指出的是,SOMA的出现并不是要替代OOAD或者CBD,正如CBD 需要借助OOAD一样,SOMA也要借助OOAD和CBD进行实现层面的建模. 与OOAD和CBD相比较而言,SOMA贯穿整个IT建设的生命周期,在项目 规划,设计,实施,运行中都起到重要的作用.本项目就不展开阐述 了,相关信息可见参考资料. SOMA另外一个显著的特点就是将IT与业务对齐.在具体的

10、实施过程 中,SOMA将业务特性,如:业务目标,关键业务指标等,延伸到IT的 分析和架构决策过程,从而缩小业务与IT之间的差距.具体来看,业 务组件模型(或者类似业务分析方法论的结果),端到端的业务流程 以及关键业务指目标是SOMA的三项主要输入,SOA的实现则是SOA的输 出,从这也可以看出SOMA的定位是在业务和IT之间. 北京恒讯时代信息技术有限公司 11 服务建模-Review:SOMA分为服务发现,服务规约以 及服务实现三个阶段(服务发现) 服务发现:采用自上而下,自下而上和中间对齐的方式,得到服务 的候选者. 自上而下 (业务领域分解)方式从业务着手进行分析,将业务进行领 域分解,

11、流程分解,以及进行变化分析. 自下而上(已有资产分析)方式的目的是利用已有资产来实现服务,已 有资产包括:已有系统,套装或定制应用,行业规范或业务模型等. 中间对齐(业务目标建模)方式的目的是帮助发现与业务对齐的服务, 并确保关键的服务在流程分解和已有资产分析的过程中没有被遗漏. 北京恒讯时代信息技术有限公司 12 服务建模-Review:SOMA分为服务发现,服务规约以 及服务实现三个阶段(服务规范,服务的实现) 服务规约:定义实现服务的服务组件的细节,包括,数据,规则,服务,可配置概要,可能的 变更,同时还会涉及到消息,事件的定义和管理. 经过服务发现的阶段,得到候选服务目录,接下来就需要

12、决定暴露哪些服务.理论上所有的服 务候选者都可以暴露为服务,但是一旦暴露为服务,该服务候选者就必须满足附加的安全性, 性能等方面的要求,企业还必须为服务的规划,设计,开发,维护,监管支付额外的开支,因 此会根据一定的规则来决定将哪些服务候选者暴露为服务.这些规则包含以下几个方面: 业务对齐:该服务候选者可以支持相关的业务流程和业务目标. 可组装:该服务候选者满足技术中立,自包含以及无状态等特点,同时还满足复合应用的相 关非功能性需求. 可重用:该服务候选者可以在不同的应用,流程中重用,从而减少重复的功能实现,降低开 发和维护的成本. 基于企业应用开发的经验,还可以有其他一些方面的考虑.在决定暴

13、露特定的服务候选者为服 务以后,服务规约还需要定义服务的消息,非功能性需求以及服务之间的依赖关系,组合关系. 服务实现:根据对业务领域的理解和现有IT系统的分析,将服务的实现分配到相应的服务组 件,并决定服务的实现方式.具体的实现方式,可以由已有系统暴露相关功能为服务,或者重 新开发相关功能提供服务,也可以由合作伙伴来提供服务.无论采用哪种方式,都需要对于关 键点进行技术可行性的分析. 北京恒讯时代信息技术有限公司 13 服务建模-流程建模 定义和建模业务流程是提升业绩的关键因素.业务流程是一种可变的交互模 式,当某个组织在实现特定的业务目标时,在该组织的组件及其环境之间发生 了这些交互.业务

14、流程通常很复杂,因为在应对独特而瞬息万变的环境时,人 们会不断进行大量的更改.没有正式的流程文档和流程管理系统的话,这些流 程复杂性就会使组织遇到不必要的障碍和瓶颈.一个良好构建的业务流程模型 可以帮助您定位和排除那些隐藏的低效,高成本以及带来延迟的业务活动. 下面比较以下流程建模与服务建模的关系 首先,进行着两项活动的角色有明显的不同,流程建模一般由业务人员或者业务咨询 专家进行,而服务建模由SOA架构师在业务专员的支持下进行. 其次,两项活动看待研究对象的角度不同.流程建模从组织结构,业务流程及相关资 源的角度来看待业务,流程建模关注业务活动之间的流动;服务建模则利用服务 业务与IT的契约

15、来分析业务,服务建模关注业务活动之间的层次化和组合关系. 除了上面两点不同以外,这两项活动还是相互依赖,迭代进行的.粗粒度的流程模型 是服务建模的重要输入之一,帮助SOA架构师了解业务需求.服务建模的过程发现并 规约了服务,产生的结果服务列表以及服务的主要业务属性帮助业务人员准确的 定义流程模型中的业务活动和业务项.但是服务建模中IT的成分如安全性,可靠性, 流程建模并不关注; 流程建模中的模拟运行和优化又和服务建模没有直接的关系. 北京恒讯时代信息技术有限公司 14 服务建模-流程建模 北京恒讯时代信息技术有限公司 15 服务建模-实例分析:汽车贷款业务的相关组件 北京恒讯时代信息技术有限公

16、司 16 服务建模-实例分析:汽车贷款业务工作流程 北京恒讯时代信息技术有限公司 17 服务建模-实例分析:服务发现(确定) 自上而下方式 通过对业务流程的分解,可以得到服务的候选者.每一个业务活动的单元都是 服务的候选者. 中间对齐方式 通过与业务分析人员或业务咨询顾问的协作,可以获取服务建模的输入业 务目标.在本示例中,业务指标为降低成本和降低欺诈风险,并且通过销 售成本,自服务比例和坏账率这三个关键业务指标来度量业务目标的实施情况. 部分服务候选者可以与关键业务指标联系起来,例如:评估信用等级以及审批 等服务候选者可以降低坏账率. 自下而上方式 通过对现有IT环境的分析,可以掌握现有系统

17、的基本信息.了解到核心系统可 以提供获取存,贷款记录的功能. 根据与业务目标的联系,与现有系统功能的映射,可以验证自上而下分析方法 的结果,或者发现自上而下分析方法的遗漏.结合业务领域的分析,可以得到 服务候选者列表. 由于服务候选者比较多,可以采用领域分解的结果来将服务候选者进行分类. 领域分解的工作通常由资深的业务专家来进行,在本示例中,基于示范的目 的,确认目标业务流程所涉及的业务范围包括客户服务和风险控制,并将它们 作为分类的依据,得到服务候选者目录 北京恒讯时代信息技术有限公司 18 服务建模-实例分析:流程分解 服务 1 汽车贷款流程 1.1 确认购车价格 1.2 评估信用等级 1

18、.2.1 查询存款记录 1.2.2 查询贷款记录 1.2.3 计算信用等级 1.4 审批 1.6 担保 1.7 发放贷款 业务对齐 Y Y Y Y Y Y Y Y Y 北京恒讯时代信息技术有限公司 可组装 Y Y Y Y Y Y Y Y Y 可重用 Y Y Y Y Y Y Y 19 服务建模-服务 服务 1 汽车贷款流程 1.1 确认购车价格 1.2 评估信用等级 输入 1 汽车贷款流程 carModel Applicant 输出 Application carPrice creditResult 业务事件 applyResult 信用等级报警 业务规则 非功能性需 求 基于存款,贷款记录 的

19、信用评估业务 规则 性能(略) 性能(略) 性能(略) 1.2.1 查询存款记录 1.2.2 查询贷款记录 1.2.3 计算信用等级 Applicant Applicant applicant, depositHistory,l oanHistory Application Application loanRequest depositHistory loanHistory creditResult 1.4 审批 1.6 担保 1.7 发放贷款 approveResult assureResult loanResult 审批结果通知 授权额度业务规则 可用性(略) 贷款发放通知 北京恒讯时代信

20、息技术有限公司 20 服务建模-实例建模小结 实际项目中,服务规约会比较复杂,既包括具体的服务的操作,输 入消息,输出消息,也包括相关联的业务目标,业务规则,业务事 件,此外,非功能性需求等方面也是需要在服务实现以前定义.上 表仅仅列举几个方面做简单的示意. 除了对单个的服务本身进行规约,服务规约还包括服务之间关系的 描述,例如服务之间的依赖关系和包含关系. 在本示例中,汽车贷款流程由其他服务组装而成,评估信用等级由 查询存款记录,查询贷款记录和计算信用等级组装而成;执行审批 以前,必须先完成评估信用等级,因此从业务的角度来看,审批服 务依赖于评估信用等级. 北京恒讯时代信息技术有限公司 21

21、 SOA 实施步骤总结 0. SOA采纳步骤和价值分析 1. SOA监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成 5. 服务管理 北京恒讯时代信息技术有限公司 22 服务实现和架构设计-SOA参考架构 北京恒讯时代信息技术有限公司 23 服务实现和架构设计-服务实现 无论怎样进行服务建模,服务最终都将由不同的服务组件来实现. 因此服务实现是衔接服务建模和组件详细设计的关键步骤.服务实 现首先将服务分配到相应的服务组件,然后逐个分析服务实现方式 并进行技术可行性的验证. 在服务发现的过程中,根据业务领域的分析结果将服务按照业务范 围进行分类.在服务实现的过程中,

22、将业务范围直接映射到服务组 件,从而实现业务与IT的一致性. 客户服务业务组件将实现贷款流程,查询存贷款记录,发放贷款 等服务.风险管理业务组件将实现评估信用等级,审批,担保等 服务. 北京恒讯时代信息技术有限公司 24 服务实现和架构设计-实例分析 映射已有功能服务:如查询存款记录,查询贷款记录和担保.其好处非常明显,就是重用已 有功能,保护企业的投资;避免重复功能的存在,降低维护成本.但是在选择的过程中,需 要考虑传输协议,消息格式的差异,是否可以通过引入中介来弥合服务调用者和实现者之间 的差距.需要特别提出的是担保服务,该服务由合作伙伴提供,通过中介将外部的服务进行 映射(还需要重点考虑

23、安全性相关的问题),在业务流程中就可以无缝的使用了. 新建流程服务:如汽车贷款流程,评估信用等级.前者是一个长流程(Long Running),由 于有人工活动的参与,使得长流程的执行不能在可预期的短时间(如:几秒钟)内完成,需 要相关人员在完成自己的任务以后,流程才能进入下一步,常常是几天甚至几个月才能完成 整个流程;后者是一个短流程(Micro Flow).在传统的方案中,业务流程通常采用硬编码 的方式将多个功能组装起来;与之相对,这里推荐采用工作流(如BPEL)的方式将服务组装起 来,从而达到灵活组装,灵活应对变化的目的. 新建人工服务:如审批.人工服务是相对于自动化服务而言.自动化服务

24、通常由IT系统来提 供,不用人为的干预;人工服务则是由企业的员工,合作伙伴员工或者最终用户来执行,但 是它同样具备完整的服务描述.采用统一的服务描述来定义人工服务,可以将人工服务与自 动化服务统一对待,除了可以在多个应用之间重用人工服务以外,还可以在服务实现从人工 活动迁移到IT系统的过程中保持系统的柔性. 新建业务规则服务:如计算信用等级.由于这部分功能不稳定,会随着国民经济的发展,物 价水平以及社会环境的变化而变化.将易于变化的这部分逻辑从稳定的架构中剥离出来,可 以增强IT应对业务变化的能力.采用业务规则来实现相应的服务,可以相对灵活的进行修改 来适应业务的变化,业务规则引擎已经在大量的

25、行业得到广泛的应用. 新建功能服务:如确认购车价格.针对以前没有的功能,或者以前采用人工方式完成的功 能,现在可以引入自动化服务来提高业务流程的运行效率.在这里实现了新建功能服务以 后,也能在其他的应用中逐步引入,从而达到在企业范围内重用的目的. 北京恒讯时代信息技术有限公司 25 服务实现和架构设计-实例分析 北京恒讯时代信息技术有限公司 26 服务实现和架构设计-架构设计实例 北京恒讯时代信息技术有限公司 27 服务实现和架构设计-技术性的选择 ESB实现机制: 选择一:WebSphere Enterprise Service Bus 优点:内置的转换,路由中介,并且可以通 过客户化中介扩

26、展;采用标准的编程模型(SCA, SDO). 选择二:WebSphere Message Broker 优点:灵活的转换,路由能力;对负载均衡,高可用性上有很好的支持;支持基于MQ的可 靠传输;支持多样化的连接方式. 结论:此场景主要是业务部门级别应用,涉及的应用大多数都采用标准化技术,如: XML,Web Service等,也没有特别的分布式应用的需求.因此采用选择一,并利用 WebSphere Adapter for CICS将非标准化的CICS应用连接到WebSphere Enterprise Service Bus.在随着企业向SOA全面转型的以后,建议引入Message Broker

27、作为企 业服务总线的骨干,当前方案中的WebSphere Enterprise Bus作为一个业务部门级 别的节点接入骨干,形成整个企业的服务总线. 应用服务的集成: 选择一:Web Service 优点:支持分布式调用;跨平台;支持开放性标准. 选择二:EJB 优点:支持分布式调用;支持不同的J2EE中间件平台. 结论:企业服务总线是基于J2EE的实现,采用EJB的方式暴露应用服务,具备更好的性能. 因此选择方案二.即使将来希望采用Web Service方式,在WebSphere Application Server 上也能够很方便的将EJB(Session Bean)暴露为Web Serv

28、ice. 北京恒讯时代信息技术有限公司 28 服务实现和架构设计-技术产品的选择 选择一:通过Web Service访问贷款系统. 优点:支持开放性标准. 选择二:直接通过JDBC访问贷款系统数据库. 优点:支持分布式调用;性能较高. 结论:通过Web Service 访问贷款系统,应用层访问的方式,保证业 务的完整性,隔离具体的业务实现.同时避免直接访问数据库带来的 安全策略等问题.因此采用选择一. 北京恒讯时代信息技术有限公司 29 SOA 实施步骤总结 0. SOA采纳步骤和价值分析 1. SOA监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成 5. 服务管

29、理 北京恒讯时代信息技术有限公司 30 服务实现和架构设计-技术产品的选择 保险公司的多样化支持 由于各家保险公司的IT建设水平参差不齐,因此架构需要能够支持不同形式的接入. 对于能够独立提供服务网关的保险公司,采用Web Service或者socket的方式通过ESB接入. 对于不能提供服务网关的保险公司,可以实现一个人工服务,该人工服务遵循与合作伙伴服务同 样的服务规约.可以让保险公司的人员访问该人工服务,或者由银行职员通过传真,电话确认信 息,然后访问人工服务. 上面这两种形式的担保服务,对于业务流程是透明的,ESB会根据用户选择的保险公司,将请求路 由到保险公司的服务网关或者人工服务.

30、在保险公司建立或者升级自己的服务网关的时候,系统 只需要配置或者修改ESB就可以满足业务的需求. 评估信用等级的变化 现阶段,国内还没有统一的信用评估方案,随着相应的业务环境变化导致对信用评估带来的变 化,是可以预计到的. 短期的变化可能是信用评估的规则发生变化.由于每年各地的平均收入水平变化,信用评估的规 则可能相应的调整.基于业务规则实现的计算信用等级服务,可以灵活的进行规则的修改. 长期的变化可能是引入统一的信用评估平台.由国家或者第三方机构提供一个全国范围内统一的 信用评估平台.只需要将现有的评估信用等级业务子流程替换为外部的统一信用评估平台提供的 合作伙伴服务,通过ESB来弥合传输协

31、议和消息格式的不同,整个业务流程依然保持不变. 通过对上述变化场景的简单分析,验证了架构的可扩展性.当然这种可扩展性只能是在一定的程 度上满足业务的变化,也只有通过对业务变化的前瞻性分析,对系统架构进行修正,才能更好的 保证架构的可扩展性.这整个过程是一个迭代进行的过程. 北京恒讯时代信息技术有限公司 31 以服务为中心的开发和集成-项目实施的准备工作 已经了解到,通过业务价值分析和服务建模,经过服务架构的分析 和设计,我确定需要实现的服务接口和消息规约,以及服务之间的 调用关系.现在的任务就是如何实现和构建这样一个以服务为中心 的应用系统. 实现相应的集成模块,由架构组在整体层面上把握路线,

32、建立集成 模型.后面将进一步讨论如何逐步实现服务和持续集成服务. 首先简单分析一下项目的目标,此时能得到的输入是前面的输出 (服务规约,服务实现决策以及系统架构), 目标就是获得相应的输出:一个以服务为中心的应用系统. 北京恒讯时代信息技术有限公司 32 以服务为中心的开发和集成-采取以下的基本步骤 来实现项目的目标 1 项目准备:准备相关的软件:硬 件环境和组件开发团队. 2 在开发环境中定义服务:使用 WID工具定义服务的基本元素. 3 决定服务之间的物理关系和服务 集成模型:主要是得到服务集成的 顺序和路径. 4 逐步实现服务:使用模拟服务的 方法快速实现服务和快速测试. 5 持续集成服

33、务:根据服务模型的 顺序持续的集成服务,构建完整的 应用系统. 服务编号 S0 S1 S2 S3 S4 S5 S6 S7 S8 服务名称 汽车贷款流程服务 确认购车价格 查询存款记录 查询贷款记录 发放贷款 评估信用等级 计算信用等级 审批 担保 确认系统将要提供以上服务: 北京恒讯时代信息技术有限公司 33 以服务为中心的开发和集成-产品支持 北京恒讯时代信息技术有限公司 34 以服务为中心的开发和集成-产品支持(续) 北京恒讯时代信息技术有限公司 35 以服务为中心的开发和集成-团队组成 北京恒讯时代信息技术有限公司 36 以服务为中心的开发和集成-团队组成 通常项目团队的分组可能面临两种

34、选择: 一种是水平分组:按照应用的水平层次进行分组,如UI相关,流程相关,中介相关, 服务实现后台系统等. 一种是垂直分组:按业务功能划分,以业务流程为中心,功能相关的UI,流程,模 块,后台系统为一组. 在以服务为中心的SOA项目中,推荐将项目以服务为中心分为2个大的Work Stream: 1 服务实现: 包括新的服务和对现有服务的包装,这样实现的服务将作为基本的服务组件分 布在服务模块中,等待互相调用和被流程等方式进行编排. 2 服务集成 包括从UI到业务流程,或者SCA之间的装配. 这样考虑主要是因为服务的实现是可以独立的完成(强调SOA中的Service是粗粒度的 业务服务),而服务

35、的集成主要体现在流程以及服务模块之间的装配,这样的划分对 于项目将来的持续集成有着非常重要的意义. 每个Work Stream之中,可能需要按业务或者技术侧重分成若干小组,同时Work Stream之中,根据人员技能的不同,每个开发人员的角色会有侧重.各Work Stream 之间需要保持相应的交流,对于一些重要的技术人员或者领域专家,可以在Work Stream之间实现共享, 北京恒讯时代信息技术有限公司 37 以服务为中心的开发和集成-人员技能要求 北京恒讯时代信息技术有限公司 38 以服务为中心的开发和集成-服务消息规约示例 北京恒讯时代信息技术有限公司 39 以服务为中心的开发和集成-

36、服务接口规约示例 北京恒讯时代信息技术有限公司 40 以服务为中心的开发和集成-业务对象设计 1 引用:在WID中,虽然在业务集成视图提供了可视化的编辑BO的方式, 但仍然会不时的打开BO对应的XSD定义文件,进行一些手工的操作. 2 继承:请注意WID支持BO之间的继承关系,其实现是通过XSD的 extension来实现的,WSDL中的消息也是通过XSD来定义的,因此也支持继 承.在一个复杂的系统中,业务对象不可能都是一个独立的存在,因此在 定义BO的时候,可能需要考虑继承.并且,更关注模块之间共享的BO,这 些BO作为消息线索,将串联起主要的业务流程,具有非常明显的业务含义. 3 映射:在

37、更为复杂的情况下,WID 支持BO之间的Mapping和 Transformer ,从而支持接口之间的Mapping,当然,也可以使用 Mediation模块里面的XSLTTransform来实现消息的转换. 北京恒讯时代信息技术有限公司 41 以服务为中心的开发和集成-服务接口 服务接口的定义在目前的WID中实际上支持两种定义方式,WSDL和Java接 口,但一般情况下,模块之间的接口使用WSDL,因为WSDL扩展性和通用 性都比较好.而模块内部,可能使用WSDL,也可能使用Java.如果相应 的一个Java服务组件不得不引用一个无状态的SessionBean,就不得不使 用该SessioB

38、ean的接口来定义这个组件的接口.在使用WSDL接口定义的 时候,尽量不要过早的在Process中绑定接口,因为一旦接口的参数的数 据组织格式发生变化,Process的调用接口和分配变量部分会发生很大的 变化. 如果希望暴露的接口和相应的组件接口不尽相同,可以使用接口映射, 接口之间的映射就需要用到业务对象的映射,而且也可以使用Mediation 来做,实际上完成的功能基本上是一样的. 北京恒讯时代信息技术有限公司 42 以服务为中心的开发和集成-业务对象的映射 在特定情况下,因为效率,事务等的需要,不得不在SCA中直接集 成EJB,并且无法使用WSDL轻易的实现映射,尤其是当数据种隐含 若类

39、型对象或者隐含特定的业务逻辑.对于常见的J2EE系统,会遇 见诸如Vector,List,HashMap这样的参数类型,对于这些弱类型 的Java对象,虽然WSDL提供了Any 类型,但是一般不太容易交互, 所以对于这种情况,就不得不需要使用良定义的Java对象来包装参 数,或者将包装后的方法暴露成Web Service,或者直接手工实现 Java和SDO的转化. 对于UI的重用性,有时候也要涉及BO和Java对象之间的转化,对于 这些情况,推荐使用自己编写的TransformerFactory来生成每个对 象和SDO的转化类.本项目中,实现的TransformerFactory实际上 是一个

40、Java代码生成器. 北京恒讯时代信息技术有限公司 43 以服务为中心的开发和集成-服务与模块映射关系 1 购车贷款审批流程模块 2 信用评估流程模块 3 中介模块 4 贷款系统包装 5 保险担保系统包装 6 汽车价格查询模块 北京恒讯时代信息技术有限公司 44 以服务为中心的开发和集成-实现服务集成模型 SCA作为SOA的编程模型,可以带来显著的价值,易于集成,实现高 灵活性和高开发效率.到目前为止,完成了服务和消息的定义,项 目中将独立的实现服务模块,UI,和后台系统,所有的这一切都是 为了集成,集成为最终的应用程序.本项目的目标就是要以服务为 中心,持续集成. 首先关注服务集成的模型,服

41、务集成的模型主要只服务之间关系建 立的计划安排和实现步骤.为什么需要一个服务集成模型?主要有 以下两点的考虑: 1 降低风险 2 最大限度利用资源 使用自动化的测试和基于模拟服务的持续集成将是实现目标的主要 手段. 北京恒讯时代信息技术有限公司 45 SCA模块内部的集成示意图 集成(或组装)是SCA中非常重要的概念,可以想象如果的应用程 序是一辆汽车,我服务就是汽车零件,服务模块这是汽车中的大型 部件,最终,需要通过组装来实现SOA应用,并且由于组件之间的 良定义的接口,组件都是可以替换的.在 SCA的编程模型下,模块 之间的集成主要依赖于SCA调用和BPEL 北京恒讯时代信息技术有限公司

42、46 以服务为中心的开发和集成-系统的集成 北京恒讯时代信息技术有限公司 47 以服务为中心的开发和集成-系统的集成(服务和 服务模块的逐步实现 ) 其中:UI1指大厅用户界面,UI2指网络用户; L1,核心系统; L2,贷款系统;L3,保险系统. 北京恒讯时代信息技术有限公司 48 以服务为中心的开发和集成-不建议模块之间的过 早绑定 因此凡是与绑定相关的工作,除非必要,不然都不要先实现,每个 模块应当聚焦于该模块自身的功能.延时绑定的可能会带来以下两 点好处: 1 在开发过程中绑定方式等各种条件会随着认识的深入和项目的进展而 变化,过早的绑定往往可能需要重新设置,当然使用WID工具,这样的

43、变 更往往不是很耗费时间,但是变更带来的单元测试和集成测试以及重新 部署等工作,可能会消耗比较多的时间. 2 单元测试阶段可以隔离组件间的影响,专注于组件内部的测试,不需 要过早的建立组件之间的联系,以免得到扩散的测试结果. 北京恒讯时代信息技术有限公司 49 以服务为中心的开发和集成-业务流程模块 在SOA的环境下,流程作为集成服务的主要手段,起着非常 重要的作用,通常情况下,业务流程是最接近展现层,流 程向下集成不同的SCA模块,向上提供了用户交互和服务调 用的功能,主要被UI集成.WPS中的BPEL流程引擎提供了丰 富和功能强大的API,很容易的可以被JSP,SWT等客户端工 具集成.

44、关于具体的BPEL开发,这里不打算详细介绍.在WPS6和WID 中,流程的实现更为简单,只需要简单的拖拽和设置,就 能完成一个业务流程的建模.当然IBM也提供了更为复杂和 专业的WBM(WebSphere Business Modeler),用于完整的 业务流程建模,使用WBM导出的模型文件,WID可以直接射 程业务流程组件. 对流程中的每个活动,可以增加业务事件的监控,设定CEI 的消息,以实现业务监控的相关功能. 在单独实现流程的时候,需要定义一些模拟的后台实现, 使得开发人员专注于流程本身(分支,选择,子流程 等),所有的Parnter的实现可以先使用Java 组件的方 式,使用伪代码或

45、者上文提到的测试数据生成器. 业务流程本身是要定义在一个SCA的模块中,尽量使得这个 模块只包括流程的逻辑,这样从部署,测试,变更控制等 角度来看,都具有很重要的意义. 当这部分工作完成后,看起来这个就是一个完整的流程, 包含了预定的业务功能,部署在自己的测试环境中,使用 BPC Explorer 可以进行测试,观察流程在测试数据的运行 情况下是否符合项目的预期,人工活动的交互是否满足等. 此时的测试还是比较简单的单元测试,主要测试流程的完 整性,流程调用和一些简单的业务逻辑. 北京恒讯时代信息技术有限公司 50 以服务为中心的开发和集成-业务流程示例 业务流程示例 业务流程模块中会包 含人工服务,需要注 意对于包含人工活动 的流程,需要设定流 程类型为 longrunning,同时 需要设置相关的事务 属性和会话属性, 北京恒讯时代信息技术有限公司 51 以服务为中心的开发和集成-SCA的注意点 在SCA的世界里,所有的服务都是SCA的服务,但是只不过是绑定 的形式不一样,这符合一般的思维模式,比如服务本身的逻辑可 以类比于是MVC模式中的model,而多种不同形式的绑定就相当于 View.通常在WID中一般实现一个SCA模块的过程如下所示: 1 确定模块内的服务组件:定义服务组件; 2 确定模块的接口:定义组件的导出; 3 确定模块要引用的SCA服

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 汇报体会

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁