收藏 分享(赏)

HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc

上传人:cw6mk8 文档编号:9474295 上传时间:2019-08-09 格式:DOC 页数:28 大小:72KB
下载 相关 举报
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc_第1页
第1页 / 共28页
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc_第2页
第2页 / 共28页
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc_第3页
第3页 / 共28页
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc_第4页
第4页 / 共28页
HENXU-SOA的业务规划和建模方法_09(实践案例介绍“汽车贷款”)_百度....doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

8、合应用 ( L2/3 - L4 ) 第三步:以消息总线的改造为中心,构建 SOA 监管组织和流程,并创建企业 服务模型和企业范围内SOA 的基础架构;( L4 - L5) 第四步:逐步迁移主要业务流程为复合应用,并完善 SOA 监管和服务模型; (L4-L5) 这一步主要是在前一步的建立的 SOA 基础架构之上逐步将应用迁 移到复合应用.实际上第三步和第四步应该是融和在一起的; 第五步:围绕价值链整合实现快速响应 IT 系统; (L5) 当完成 SOA 基础设施 建设和复合应用迁移后,企业已经具备条件进行流程优化和价值链整合. 这种条件下,无论是 IT 层面的调整,还是业务层面的调整,都可以通

9、过服 务模型和企业服务总线隔离变化,从而使用尽量小的代价完成对变化的适 应,也即达到快速响应的 IT.北京恒讯时代信息技术有限公司9SOA 实施步骤总结0. SOA 采纳步骤和价值分析 1. SOA 监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成 5. 服务管理北京恒讯时代信息技术有限公司10Review:服务建模方法论介绍需要特别指出的是,SOMA 的出现并不是要替代 OOAD 或者 CBD,正如 CBD 需要借助 OOAD 一样,SOMA 也要借助 OOAD 和 CBD 进行实现层面的建模. 与 OOAD 和 CBD 相比较而言,SOMA 贯穿整个 IT 建

10、设的生命周期,在项目 规划,设计,实施,运行中都起到重要的作用.本项目就不展开阐述 了,相关信息可见参考资料. SOMA 另外一个显著的特点就是将 IT 与业务对齐.在具体的实施过程 中,SOMA 将业务特性,如:业务目标,关键业务指标等,延伸到 IT 的 分析和架构决策过程,从而缩小业务与 IT 之间的差距.具体来看,业 务组件模型(或者类似业务分析方法论的结果),端到端的业务流程 以及关键业务指目标是SOMA 的三项主要输入,SOA 的实现则是 SOA 的输 出,从这也可以看出SOMA 的定位是在业务和 IT 之间.北京恒讯时代信息技术有限公司11服务建模-Review:SOMA 分为服务

11、发现,服务规约以 及服务实现三个阶段(服务发现)服务发现:采用自上而下,自下而上和中间对齐的方式,得到服务 的候选者.自上而下 (业务领域分解)方式从业务着手进行分析,将业务进行领 域分解,流程分解,以及进行变化分析. 自下而上(已有资产分析)方式的目的是利用已有资产来实现服务,已 有资产包括:已有系统,套装或定制应用,行业规范或业务模型等. 中间对齐(业务目标建模)方式的目的是帮助发现与业务对齐的服务, 并确保关键的服务在流程分解和已有资产分析的过程中没有被遗漏.北京恒讯时代信息技术有限公司12服务建模-Review:SOMA 分为服务发现,服务规约以 及服务实现三个阶段(服务规范,服务的实

12、现)服务规约:定义实现服务的服务组件的细节,包括,数据,规则,服务,可配置概要,可能的 变更,同时还会涉及到消息,事件的定义和管理. 经过服务发现的阶段,得到候选服务目录,接下来就需要决定暴露哪些服务.理论上所有的服 务候选者都可以暴露为服务,但是一旦暴露为服务,该服务候选者就必须满足附加的安全性, 性能等方面的要求,企业还必须为服务的规划,设计,开发,维护,监管支付额外的开支,因 此会根据一定的规则来决定将哪些服务候选者暴露为服务.这些规则包含以下几个方面: 业务对齐:该服务候选者可以支持相关的业务流程和业务目标. 可组装:该服务候选者满足技术中立,自包含以及无状态等特点,同时还满足复合应用

13、的相 关非功能性需求. 可重用:该服务候选者可以在不同的应用,流程中重用,从而减少重复的功能实现,降低开 发和维护的成本. 基于企业应用开发的经验,还可以有其他一些方面的考虑.在决定暴露特定的服务候选者为服 务以后,服务规约还需要定义服务的消息,非功能性需求以及服务之间的依赖关系,组合关系. 服务实现:根据对业务领域的理解和现有 IT 系统的分析,将服务的实现分配到相应的服务组 件,并决定服务的实现方式.具体的实现方式,可以由已有系统暴露相关功能为服务,或者重 新开发相关功能提供服务,也可以由合作伙伴来提供服务.无论采用哪种方式,都需要对于关 键点进行技术可行性的分析. 北京恒讯时代信息技术有

14、限公司13服务建模-流程建模定义和建模业务流程是提升业绩的关键因素.业务流程是一种可变的交互模 式,当某个组织在实现特定的业务目标时,在该组织的组件及其环境之间发生 了这些交互.业务流程通常很复杂,因为在应对独特而瞬息万变的环境时,人 们会不断进行大量的更改.没有正式的流程文档和流程管理系统的话,这些流 程复杂性就会使组织遇到不必要的障碍和瓶颈.一个良好构建的业务流程模型 可以帮助您定位和排除那些隐藏的低效,高成本以及带来延迟的业务活动. 下面比较以下流程建模与服务建模的关系首先,进行着两项活动的角色有明显的不同,流程建模一般由业务人员或者业务咨询 专家进行,而服务建模由 SOA 架构师在业务

15、专员的支持下进行. 其次,两项活动看待研究对象的角度不同.流程建模从组织结构,业务流程及相关资 源的角度来看待业务,流程建模关注业务活动之间的流动;服务建模则利用服务 业务与 IT 的契约来分析业务,服务建模关注业务活动之间的层次化和组合关系. 除了上面两点不同以外,这两项活动还是相互依赖,迭代进行的.粗粒度的流程模型 是服务建模的重要输入之一,帮助 SOA 架构师了解业务需求.服务建模的过程发现并 规约了服务,产生的结果服务列表以及服务的主要业务属性帮助业务人员准确的 定义流程模型中的业务活动和业务项.但是服务建模中 IT 的成分如安全性,可靠性, 流程建模并不关注; 流程建模中的模拟运行和

16、优化又和服务建模没有直接的关系.北京恒讯时代信息技术有限公司14服务建模-流程建模北京恒讯时代信息技术有限公司15服务建模-实例分析:汽车贷款业务的相关组件北京恒讯时代信息技术有限公司16服务建模-实例分析:汽车贷款业务工作流程北京恒讯时代信息技术有限公司17服务建模-实例分析:服务发现(确定)自上而下方式通过对业务流程的分解,可以得到服务的候选者.每一个业务活动的单元都是 服务的候选者.中间对齐方式通过与业务分析人员或业务咨询顾问的协作,可以获取服务建模的输入业 务目标.在本示例中,业务指标为“降低成本“和“降低欺诈风险“,并且通过销 售成本,自服务比例和坏账率这三个关键业务指标来度量业务目

17、标的实施情况. 部分服务候选者可以与关键业务指标联系起来,例如:评估信用等级以及审批 等服务候选者可以降低坏账率.自下而上方式通过对现有 IT 环境的分析,可以掌握现有系统的基本信息.了解到核心系统可 以提供获取存,贷款记录的功能. 根据与业务目标的联系,与现有系统功能的映射,可以验证自上而下分析方法 的结果,或者发现自上而下分析方法的遗漏.结合业务领域的分析,可以得到 服务候选者列表. 由于服务候选者比较多,可以采用领域分解的结果来将服务候选者进行分类. 领域分解的工作通常由资深的业务专家来进行,在本示例中,基于示范的目 的,确认目标业务流程所涉及的业务范围包括客户服务和风险控制,并将它们

18、作为分类的依据,得到服务候选者目录北京恒讯时代信息技术有限公司18服务建模-实例分析:流程分解服务 1 汽车贷款流程 1.1 确认购车价格 1.2 评估信用等级 1.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 Y19服务建模-服务服务 1 汽车贷款流程 1.1 确认购车价格 1.2 评估信用等级输入 1 汽车贷款流程 carModel Applicant输出 Applicatio

19、n carPrice creditResult业务事件 applyResult 信用等级报警业务规则非功能性需 求基于存款,贷款记录 的信用评估业务 规则 性能(略) 性能(略) 性能(略)1.2.1 查询存款记录 1.2.2 查询贷款记录 1.2.3 计算信用等级Applicant Applicant applicant, depositHistory,l oanHistory Application Application loanRequestdepositHistory loanHistory creditResult1.4 审批 1.6 担保 1.7 发放贷款approveResul

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

21、必须先完成评估信用等级,因此从业务的角度来看,审批服 务依赖于评估信用等级.北京恒讯时代信息技术有限公司21SOA 实施步骤总结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 En

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

27、rprise Service Bus.在随着企业向 SOA 全面转型的以后,建议引入 Message Broker 作为企 业服务总线的骨干,当前方案中的 WebSphere Enterprise Bus 作为一个业务部门级 别的节点接入骨干,形成整个企业的服务总线.应用服务的集成: 选择一:Web Service 优点:支持分布式调用;跨平台;支持开放性标准. 选择二:EJB 优点:支持分布式调用;支持不同的 J2EE 中间件平台. 结论:企业服务总线是基于 J2EE 的实现,采用 EJB 的方式暴露应用服务,具备更好的性能. 因此选择方案二.即使将来希望采用 Web Service 方式,

28、在 WebSphere Application Server 上也能够很方便的将 EJB(Session Bean)暴露为 Web Service. 北京恒讯时代信息技术有限公司28服务实现和架构设计-技术产品的选择选择一:通过 Web Service 访问贷款系统. 优点:支持开放性标准. 选择二:直接通过 JDBC 访问贷款系统数据库. 优点:支持分布式调用;性能较高. 结论:通过 Web Service 访问贷款系统,应用层访问的方式,保证业 务的完整性,隔离具体的业务实现.同时避免直接访问数据库带来的 安全策略等问题.因此采用选择一.北京恒讯时代信息技术有限公司29SOA 实施步骤总结

29、0. SOA 采纳步骤和价值分析 1. SOA 监管 2. 服务建模 3. 服务实现和架构设计 4. 以服务为中心的开发和集成 5. 服务管理北京恒讯时代信息技术有限公司30服务实现和架构设计-技术产品的选择保险公司的多样化支持由于各家保险公司的 IT 建设水平参差不齐,因此架构需要能够支持不同形式的接入. 对于能够独立提供服务网关的保险公司,采用Web Service 或者 socket 的方式通过 ESB 接入. 对于不能提供服务网关的保险公司,可以实现一个人工服务,该人工服务遵循与合作伙伴服务同 样的服务规约.可以让保险公司的人员访问该人工服务,或者由银行职员通过传真,电话确认信 息,然

30、后访问人工服务. 上面这两种形式的担保服务,对于业务流程是透明的,ESB 会根据用户选择的保险公司,将请求路 由到保险公司的服务网关或者人工服务.在保险公司建立或者升级自己的服务网关的时候,系统 只需要配置或者修改 ESB 就可以满足业务的需求.评估信用等级的变化现阶段,国内还没有统一的信用评估方案,随着相应的业务环境变化导致对信用评估带来的变 化,是可以预计到的. 短期的变化可能是信用评估的规则发生变化.由于每年各地的平均收入水平变化,信用评估的规 则可能相应的调整.基于业务规则实现的计算信用等级服务,可以灵活的进行规则的修改. 长期的变化可能是引入统一的信用评估平台.由国家或者第三方机构提

31、供一个全国范围内统一的 信用评估平台.只需要将现有的评估信用等级业务子流程替换为外部的统一信用评估平台提供的 合作伙伴服务,通过 ESB 来弥合传输协议和消息格式的不同,整个业务流程依然保持不变. 通过对上述变化场景的简单分析,验证了架构的可扩展性.当然这种可扩展性只能是在一定的程 度上满足业务的变化,也只有通过对业务变化的前瞻性分析,对系统架构进行修正,才能更好的 保证架构的可扩展性.这整个过程是一个迭代进行的过程.北京恒讯时代信息技术有限公司31以服务为中心的开发和集成-项目实施的准备工作已经了解到,通过业务价值分析和服务建模,经过服务架构的分析 和设计,我确定需要实现的服务接口和消息规约

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

33、关系和服务 集成模型:主要是得到服务集成的 顺序和路径. 4 逐步实现服务:使用模拟服务的 方法快速实现服务和快速测试. 5 持续集成服务:根据服务模型的 顺序持续的集成服务,构建完整的 应用系统.服务编号 S0 S1 S2 S3 S4 S5 S6 S7 S8服务名称 汽车贷款流程服务 确认购车价格 查询存款记录 查询贷款记录 发放贷款 评估信用等级 计算信用等级 审批 担保确认系统将要提供以上服务:北京恒讯时代信息技术有限公司33以服务为中心的开发和集成-产品支持北京恒讯时代信息技术有限公司34以服务为中心的开发和集成-产品支持(续)北京恒讯时代信息技术有限公司35以服务为中心的开发和集成-

34、团队组成北京恒讯时代信息技术有限公司36以服务为中心的开发和集成-团队组成通常项目团队的分组可能面临两种选择:一种是水平分组:按照应用的水平层次进行分组,如 UI 相关,流程相关,中介相关, 服务实现后台系统等. 一种是垂直分组:按业务功能划分,以业务流程为中心,功能相关的 UI,流程,模 块,后台系统为一组. 在以服务为中心的 SOA 项目中,推荐将项目以服务为中心分为 2 个大的 Work Stream:1 服务实现: 包括新的服务和对现有服务的包装,这样实现的服务将作为基本的服务组件分 布在服务模块中,等待互相调用和被流程等方式进行编排. 2 服务集成包括从 UI 到业务流程,或者 SC

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

36、讯时代信息技术有限公司38以服务为中心的开发和集成-服务消息规约示例北京恒讯时代信息技术有限公司39以服务为中心的开发和集成-服务接口规约示例北京恒讯时代信息技术有限公司40以服务为中心的开发和集成-业务对象设计1 引用:在 WID 中,虽然在业务集成视图提供了可视化的编辑 BO的方式, 但仍然会不时的打开 BO 对应的 XSD 定义文件,进行一些手工的操作. 2 继承:请注意 WID 支持 BO 之间的继承关系,其实现是通过 XSD 的 extension 来实现的,WSDL 中的消息也是通过 XSD 来定义的,因此也支持继 承.在一个复杂的系统中,业务对象不可能都是一个独立的存在,因此在

37、定义 BO 的时候,可能需要考虑继承.并且,更关注模块之间共享的 BO,这 些 BO 作为消息线索,将串联起主要的业务流程,具有非常明显的业务含义. 3 映射:在更为复杂的情况下,WID 支持 BO 之间的 Mapping 和 Transformer ,从而支持接口之间的Mapping,当然,也可以使用 Mediation 模块里面的 XSLTTransform来实现消息的转换.北京恒讯时代信息技术有限公司41以服务为中心的开发和集成-服务接口服务接口的定义在目前的 WID 中实际上支持两种定义方式,WSDL和 Java 接 口,但一般情况下,模块之间的接口使用 WSDL,因为 WSDL扩展性

38、和通用 性都比较好.而模块内部,可能使用 WSDL,也可能使用Java.如果相应 的一个 Java 服务组件不得不引用一个无状态的SessionBean,就不得不使 用该 SessioBean 的接口来定义这个组件的接口.在使用 WSDL 接口定义的 时候,尽量不要过早的在 Process中绑定接口,因为一旦接口的参数的数 据组织格式发生变化,Process 的调用接口和分配变量部分会发生很大的 变化. 如果希望暴露的接口和相应的组件接口不尽相同,可以使用接口映射, 接口之间的映射就需要用到业务对象的映射,而且也可以使用 Mediation 来做,实际上完成的功能基本上是一样的.北京恒讯时代信

39、息技术有限公司42以服务为中心的开发和集成-业务对象的映射在特定情况下,因为效率,事务等的需要,不得不在 SCA 中直接集 成 EJB,并且无法使用 WSDL 轻易的实现映射,尤其是当数据种隐含 若类型对象或者隐含特定的业务逻辑.对于常见的 J2EE 系统,会遇 见诸如 Vector,List,HashMap 这样的参数类型,对于这些弱类型 的Java 对象,虽然 WSDL 提供了 Any 类型,但是一般不太容易交互, 所以对于这种情况,就不得不需要使用良定义的 Java 对象来包装参 数,或者将包装后的方法暴露成 Web Service,或者直接手工实现 Java 和SDO 的转化. 对于

40、UI 的重用性,有时候也要涉及 BO 和 Java 对象之间的转化,对于 这些情况,推荐使用自己编写的TransformerFactory 来生成每个对 象和 SDO 的转化类.本项目中,实现的 TransformerFactory 实际上 是一个 Java 代码生成器.北京恒讯时代信息技术有限公司43以服务为中心的开发和集成-服务与模块映射关系1 购车贷款审批流程模块 2 信用评估流程模块 3 中介模块 4 贷款系统包装 5 保险担保系统包装 6 汽车价格查询模块北京恒讯时代信息技术有限公司44以服务为中心的开发和集成-实现服务集成模型SCA 作为 SOA 的编程模型,可以带来显著的价值,易

41、于集成,实现高 灵活性和高开发效率.到目前为止,完成了服务和消息的定义,项 目中将独立的实现服务模块,UI,和后台系统,所有的这一切都是 为了集成,集成为最终的应用程序.本项目的目标就是要以服务为 中心,持续集成. 首先关注服务集成的模型,服务集成的模型主要只服务之间关系建 立的计划安排和实现步骤.为什么需要一个服务集成模型?主要有 以下两点的考虑:1 降低风险 2 最大限度利用资源使用自动化的测试和基于模拟服务的持续集成将是实现目标的主要 手段.北京恒讯时代信息技术有限公司45SCA 模块内部的集成示意图集成(或组装)是 SCA 中非常重要的概念,可以想象如果的应用程 序是一辆汽车,我服务就

42、是汽车零件,服务模块这是汽车中的大型 部件,最终,需要通过组装来实现 SOA 应用,并且由于组件之间的 良定义的接口,组件都是可以替换的.在 SCA 的编程模型下,模块 之间的集成主要依赖于 SCA 调用和 BPEL北京恒讯时代信息技术有限公司46以服务为中心的开发和集成-系统的集成北京恒讯时代信息技术有限公司47以服务为中心的开发和集成-系统的集成(服务和 服务模块的逐步实现 )其中:UI1 指大厅用户界面,UI2 指网络用户; L1,核心系统; L2,贷款系统;L3,保险系统.北京恒讯时代信息技术有限公司48以服务为中心的开发和集成-不建议模块之间的过 早绑定因此凡是与绑定相关的工作,除非

43、必要,不然都不要先实现,每个 模块应当聚焦于该模块自身的功能.延时绑定的可能会带来以下两 点好处:1 在开发过程中绑定方式等各种条件会随着认识的深入和项目的进展而 变化,过早的绑定往往可能需要重新设置,当然使用 WID 工具,这样的变 更往往不是很耗费时间,但是变更带来的单元测试和集成测试以及重新 部署等工作,可能会消耗比较多的时间. 2 单元测试阶段可以隔离组件间的影响,专注于组件内部的测试,不需 要过早的建立组件之间的联系,以免得到扩散的测试结果.北京恒讯时代信息技术有限公司49以服务为中心的开发和集成-业务流程模块在 SOA 的环境下,流程作为集成服务的主要手段,起着非常 重要的作用,通

44、常情况下,业务流程是最接近展现层,流 程向下集成不同的 SCA 模块,向上提供了用户交互和服务调 用的功能,主要被 UI 集成.WPS 中的 BPEL 流程引擎提供了丰 富和功能强大的 API,很容易的可以被 JSP,SWT 等客户端工 具集成. 关于具体的 BPEL 开发,这里不打算详细介绍.在 WPS6 和 WID 中,流程的实现更为简单,只需要简单的拖拽和设置,就 能完成一个业务流程的建模.当然 IBM 也提供了更为复杂和 专业的 WBM(WebSphere Business Modeler),用于完整的 业务流程建模,使用 WBM 导出的模型文件,WID 可以直接射 程业务流程组件.

45、对流程中的每个活动,可以增加业务事件的监控,设定 CEI 的消息,以实现业务监控的相关功能. 在单独实现流程的时候,需要定义一些模拟的后台实现, 使得开发人员专注于流程本身(分支,选择,子流程 等),所有的 Parnter 的实现可以先使用 Java 组件的方 式,使用伪代码或者上文提到的测试数据生成器. 业务流程本身是要定义在一个 SCA 的模块中,尽量使得这个 模块只包括流程的逻辑,这样从部署,测试,变更控制等 角度来看,都具有很重要的意义. 当这部分工作完成后,看起来这个就是一个完整的流程, 包含了“预定“的业务功能,部署在自己的测试环境中,使用 BPC Explorer 可以进行测试,

46、观察流程在测试数据的运行 情况下是否符合项目的预期,人工活动的交互是否满足等. 此时的测试还是比较简单的单元测试,主要测试流程的完 整性,流程调用和一些简单的业务逻辑.北京恒讯时代信息技术有限公司50以服务为中心的开发和集成-业务流程示例业务流程示例业务流程模块中会包 含人工服务,需要注 意对于包含人工活动 的流程,需要设定流 程类型为 longrunning,同时 需要设置相关的事务 属性和会话属性,北京恒讯时代信息技术有限公司51以服务为中心的开发和集成-SCA 的注意点在 SCA 的世界里,所有的服务都是 SCA 的服务,但是只不过是绑定 的形式不一样,这符合一般的思维模式,比如服务本身

47、的逻辑可 以类比于是 MVC 模式中的 model,而多种不同形式的绑定就相当于 View.通常在 WID 中一般实现一个 SCA 模块的过程如下所示:1 确定模块内的服务组件:定义服务组件; 2 确定模块的接口:定义组件的导出; 3 确定模块要引用的 SCA 服务:定义组件的导入; 4 确定内部服务组件的实现方式:采用流程,中介,业务规则或是 Java 实现组件的业务逻辑; 5 确定组件之间的关系:采用流程,连线或者 Java 代码编排服务.北京恒讯时代信息技术有限公司52以服务为中心的开发和集成-ESB 的实现ESB 的实现实际上就表现为采用中介模块虚拟化原有服务,利用路由实现 连通性,利

48、用 Mediation 实现服务的适配.它能够显著的增加业务逻辑的 灵活性,隔离底层服务的区别,提供虚拟化的统一的业务服务视图. WID 很明显的将中介模块和普通的 SCA 模块区分开来,只有在中介模块中 才能使用中介组件,中介组件主要实现服务的路由,消息的转换等工作. 在考虑一个服务中介组件的时候,首先需要确定中介的类型,尽量将相 关的中介逻辑都要放在一个 mediation组件中. 一个中介模块中可能有多个中介消息流,在这些消息流之间流动的除了 消息外,还有一些上下文,可以在每个中介节点中读写上下文,实现局 部的消息传递.北京恒讯时代信息技术有限公司53以服务为中心的开发和集成-新建服务模

49、块在 SOA 的项目实践中,对于新建服务,实现方式上有两种选择:1 独立完成,如采用传统 J2EE 等方式,实现后采用 SCA 包装.这样的考虑 主要是现有业务模式已经比较成熟,有很多可重用的设计模式和框架, 类包的支持,使得新建的服务可以和容易的实现.因此,在实现新建的 服务后,以 Web Service 或者 JMS 或者 EJB 的方式暴露出来,在 SCA 中集成 他们,在流程中调用 SCA,这是一种比较理想的实现方式. 2 直接在 SCA 模块中实现业务逻辑.适当情况下,业务逻辑可以存在于 SCA 的组件中,比较常见的是 Java 组件或者业务规则组件,状态机等.这 样做可以减少在不同的层次之间的调用和映射,提高效率.具体考虑服务的实现方式可能基于不同的应用会有不同的结果,推 荐新建服务使用最适合的方式实现,然后使用 SCA 模块进行调用和 集成,这样才能体现 SCA 的优点,一旦后台系统发生变化,SCA 作为 中间层会向上屏蔽这些区别.这样所有 SCA 服务所在的中间层也就 是一个 ESB.北京恒讯时代信息技术有限公司54以服务为中心的开发和集成-后台系统包装SOA 将现有系统作为可重用的 IT 资产管理,重用的方式就需要将这 些系统包装成为服务,被业务系统集成和使用.IBM 的产品家族为 集成现有系统提供了很多的途径,包括 Ad

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报