问答题 试题1
阅读下列关于软件架构方面的叙述,回答下列问题。
近年来,甲公司的软件开发都是使用三层架构设计和面向对象的开发方法,有效地提高了系统的利用效率和性能。但是,张总工认为,在这种“全对象”模型中,层与层之间相互耦合,只有降低耦合度并通过去除不同层中对象之间的直接调用来降低它们相互之间的依赖性后,各模块才能变得更易于重用。于是主张采用面向服务的架构(SOA),张总工认为,SOA具有显著增加应用敏捷性和降低应用总体拥有成本的潜力,不仅可以带来开发上的好处,还具有管理上的优点。
在讨论中,张总工给出了三层架构和SOA的对比图,如下图所示:
问答题 请用200字以内文字回答,SOA可以带来哪些开发上的好处和管理上的优点?
【正确答案】(1)SOA基于标准、松散耦合、共享服务、粗粒度和联合控制;具有编码灵活性、明确开发人员角色、支持多种客户类型、更易维护和更好的伸缩性。
(2)管理员可以直接管理开发人员所构建的相同的服务,帮助企业了解何时以及为什么业务逻辑被切实执行了,使管理员或分析师能够有针对性地优化业务流程。
【答案解析】
问答题 请用200字以内文字说明,在张工给出的对比图中,“服务层”的作用是什么?
【正确答案】表示层不再直接操作业务对象,而是通过服务去访问它们,业务对象驻留在类库里,由
服务将它们加载到内存中。此时,因为服务层和业务层都处在同一流程中,因此对业务对象的操作就变得很容易了。服务层操作业务对象,然后给出结果,从而减少了层与层之间的交互。
【答案解析】
问答题 请用200字以内文字回答,在SOA中,服务有哪些类型?
【正确答案】有五种类型的服务:
(1)数据访问:允许对不同数据源进行统一访问。
(2)组件:提供对打包应用服务的访问。
(3)业务:提供使用一个以上打包应用或定制应用功能的复杂服务。
(4)组合:使用以上三种类型的服务来创建包括新功能和现有功能的新服务。
(5)共享的或企业基础架构服务:消息日志之类的低级服务,其重用性使快速创建新的高级服务成为可能。
【答案解析】