参考答案:
【问题1】
从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;采用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。
从系统功能集成方式来看,采用面向对象技术开发的系统以对象为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。
根据项目需求,需要对现有业务系统进行升级改造,因此保证升级改造的低成本是一个重要的因素,王工的方案需要现有系统进行功能梳理与重新开发,升级改造成本较高;李工的方案则侧重将现有功能包装为服务,升级改造成本较低。项目还要求提高系统的灵活性,王工的方案以对象技术为基础,当业务发生变化时,需要在代码层次上进行修改并重新部署,因此系统的灵活性相对较差;李工的方案以大粒度的业务服务复用为基础,当业务发生变化时,可以采用服务组合技术实现系统的运行时功能组合,因此灵活性相对较好。
【问题2】
(a)服务契约耦合
(b)服务契约耦合
(c)服务消费者耦合
(d)否
(e)是
(f)按照SOA的思想,业务逻辑应当与契约耦合,而不应与实现或技术耦合
(g)服务契约不应该与具体厂商的实现技术相关,而应该基于标准的XML技术与Web服务标准
【问题3】
题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。
针对该问题,应该增加客户实体服务、业务实体服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。
详细解析:
本题考查的是企业应用系统开发方面的知识与应用,属于比较传统的题目,考查点也与往年类似。
【问题1】
本问题从系统业务功能实现和功能集成两个方面对王工和李工的方案进行分析和对比。回答本题时必须紧扣业务功能实现和功能集成这两个方面。
从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;采用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。
从系统功能集成方式来看,采用面向对象技术开发的系统以对象为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。
【问题2】
本问题主要考查考生对服务耦合关系的理解,考生需要理解在服务设计时需要注意的一些问题。例如业务逻辑-契约耦合、契约-技术耦合、消费者-实现耦合以及消费者-契约耦合等服务。考生需要对这几种服务耦合进行分析,并结合题目要求描述各种耦合关系的优点或缺点。
【问题3】
本问题主要考查考生对系统需求分析的理解以及对服务设计知识的掌握。题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。针对该问题,应该增加客户实体服务、业务实体服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。