FZ软件公司承接了某银行网上银行业务软件系统的开发任务。该银行所开通的网上银行业务中,网上贷款业务流程如下。
(1)客户在网上填写姓名、电子邮件地址、贷款类型、贷款金额、身份证号和通信地址等信息,提交贷款申请。
(2)在指定的时间内,客户会收到银行的电子邮件,通知贷款是否被批准。
(3)银行根据客户提交的信息,创建贷款申请任务,创建工作由运行在主机上的CICS(客户信息控制系统)完成,同时需要从第三方获得客户的信用审查信息。
(4)由信贷员对该项贷款申请业务进行审批,然后由风险检查系统评估该项贷款的风险程度,风险大的贷款申请将被拒绝。
(5)无论是批准或者拒绝,结果都会通过邮件系统递交给客户。对于拒绝的贷款申请,还要通知贷款申请任务进行有关操作。
(6)除了信贷员审批环节需要人机交互外,业务是自动进行的。
上述网上贷款业务采用SOA架构来实现。上述业务流程中涉及哪些功能单元本题中的案例采用SOA架构具有哪些优点请用300字以内的文字简要说明。
参考答案:功能单元(包含但不限于以下内容):
①贷款申请;②信用审查;③信贷员审批;④风险检查;⑤电子邮件传送等。
采用SOA架构的优点(包含但不限于以下内容):
①复用银行的各种应用资源。
②增强银行各个业务的集成性和灵活性。
③业务流程变更时便于快速构建应用系统。
解析:面向服务架构体系结构(Service-Oriented Architecture, SOA)作为一种架构模型,它将应用程序的不同功能单元(称为服务)通过服务之间的接口(和契约)联系起来。接口独立于实现服务的硬件平台、操作系统和编程语言。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,使得构建的服务可以以一种统一的和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点:①灵活性;②当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而与此相对,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。
通过题干中关于网上银行贷款业务的说明不难找出相对独立的功能单元。这些功能单元为SOA中的“服务”。由题干中给出的关键信息“(1)客户在网上填写姓名等信息,提交贷款申请”可知,该网上贷款业务流程中需要涉及“贷款申请”这一功能单元。
由题干中给出的关键信息“(3)银行根据客户提交的信息……同时需要从第三方获得客户的信用审查信息”可知,该网上贷款业务流程中涉及“信用审查”这一第三方功能单元。
由题干中给出的关键信息“(4)由信贷员对该项贷款申请业务进行审批,然后由风险检查系统评估该项贷款的风险程度”可知,该网上贷款业务流程中涉及“信贷员审批”和“风险检查(或风险评估)”这两个功能单元。其中,功能单元“信贷员审批”也可从题干中给出的关键信息“(6)除了信贷员审批环节需要人机交互外,业务是自动进行的”获得启发。
由题干中给出的关键信息“(5)无论批准或者拒绝,结果都会通过邮件系统递交给客户”可知,该网上贷款业务流程中涉及“电子邮件传送”这一功能单元。
从技术角度而言,SOA带来了“松散耦合”的应用程序组件,在此类组件中,代码不一定绑定到某个特定的数据库(甚至不一定绑定到特定的基础设施)。正是得益于这个松散耦合特性,才能够将服务组合为各种应用程序。这样不仅大幅度提高了代码重用率,而且业务变更时业务系统更加灵活和便利,还可以在增加功能的同时减少工作量。SOA还具有管理上的优点。例如,现在管理员可直接管理开发人员所构建的服务,远胜于以往管理单个应用的方式。通过分析服务间的交互,SOA可以帮助企业了解何时及什么业务逻辑被切实执行了,使得管理员能够有针对性地优化业务流程。
采用SOA将本项目的相关功能单元有机地集成在一起,可以快速、经济、方便地构建出网上银行贷款业务系统。具体优点表现在:①可以复用银行的各种应用资源;②可以增强银行各个业务的集成性和灵活性;③业务流程变更时便于快速构建应用系统。