问答题
[说明]
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将本项目的相关功能单元有机地集成在一起,可以快速、经济、方便地构建出网上银行贷款业务系统。具体优点表现在:①可以复用银行的各种应用资源;②可以增强银行各个业务的集成性和灵活性;③业务流程变更时便于快速构建应用系统。
问答题
服务注册表(Service Registry)模式是SOA的架构模式之一。注册表支持驱动SOA治理的服务合同、策略和元数据的开发、发布和管理。结合你的系统架构经验,请用400字以内的文字简要说明大多数商用服务注册产品支持哪些SOA治理功能。
【正确答案】(1)服务注册:应用开发者(或服务提供者)向注册表公布他们的功能,包括服务身份、位置、方法、绑定、配置、方案和策略等描述性属性。实现SOA治理的有效方法之一,是限制哪类新服务可以向主注册表发布、由谁发布,以及准批准和根据什么条件批准。
(2)服务位置:服务应用开发者帮助他们查询注册服务,寻找符合自身要求的服务,注册表让服务的消费者检索服务合同。对谁可以访问注册表,以及什么服务属性通过注册表暴露的控制,是另_。些有效的SOA治理手段。
(3)服务绑定:服务消费者利用检索到的服务合同来开发代码,再将代码与注册的服务绑定、调用注册的服务,以及与它们实现互动。工具驱动对服务绑定的控制,有效地管理服务在ESB上的互动
【答案解析】[解析] 虽然服务注册表(Service Registry)常常具有运行时段的功能,但它主要是在SOA设计时段使用。注册表支持驱动SOA治理的服务合同、策略和元数据的开发、发布和管理,因此它提供一个主控制点,也称为策略执行点(Policy,Enforcement Point,PEP)。在这个点上,服务可以在SOA中注册和被发现。
注册表可以包括有关服务和相关软件组件的配置、遵从性和约束配置文件。任何帮助注册、发现和检索服务合同、元数据和策略的信息库、数据库、目录或其他节点都可以被认为是一个注册表。UDDI(通用描述、发现与集成)标准定义了SOA的一种主要注册环境。
大多数商用服务注册产品支持以下SOA治理功能。
(1)服务注册:应用开发者(也称为服务提供者)向注册表公布他们的功能,包括服务身份、位置、方法、绑定、配置、方案和策略等描述性属性。实现SOA治理最有效的方法之一,是限制哪类新服务可以向主注册表发布、由谁发布,以及谁批准和根据什么条件批准。此外,许多注册表包含开发向注册表发布服务可能需要的说明性服务模板。
(2)服务位置:服务应用开发者帮助他们查询注册服务,寻找符合自身要求的服务。注册表让服务的消费者检索服务合同。对谁可以访问注册表,以及什么服务属性通过注册表暴露的控制,是另一些有效的SOA治理手段,注册表产品一般都支持此类功能。
(3)服务绑定:服务的消费者利用检索到的服务合同来开发代码,开发的代码将与注册的服务绑定、调用注册的服务,以及与它们实现互动。开发者常常利用集成的开发环境自动将新开发的服务与不同的新协议、方案和程序间通信所需的其他接口绑在一起。工具驱动对服务绑定的控制,有效地管理服务在企业服务总线(ESB)上的互动。
问答题
上述网上贷款系统能够实际应用的基本前提之一是满足金融领域的安全性需求。该系统必须满足哪些安全方面的需求?请用200字以内的文字简要说明。
【正确答案】①验证(系统有关角色的身份识别)。
②签名(创建及验证类似手写签名的电子签名)。
③授权(如信贷员是否具有审批权)。
④完整性(发送的数据与接收到的数据是否一致)。
⑤机密性(与业务无关的人员不能读取事务中的数据)。
⑥审查或审计(把所有事务记录下来,以便事后验证)。
⑦不可否认性或防抵赖(由第三方求证事务中发送及收到的是否为同一数据)。
⑧威胁预防
【答案解析】[解析] 在进行SOA的集成时,用户身份识别、数据完整性等安全问题是需要重点解决的问题。该网上贷款系统必须满足以下安全方面的需求。
(1)利用用户身份验证技术对该网上贷款系统的有关角色进行身份识别。
(2)利用公钥密钥机制等技术创建及验证类似手写签名的电子签名。
(3)采用授权机制审查系统中信贷员是否具有相应的审批权。
(4)利用数据完整性机制验证发送的数据与接收到的数据是否一致。
(5)采用机密性机制使与业务无关的人员不能读取事务中的数据。
(6)采用审查机制(例如,日志记录)把所有事务记录下来,以便事后验证。
(7)利用防否认机制,由第三方求证事务中发送及收到的是否是同一数据。
(8)利用威胁预防机制,防止间谍程序登录和攻击系统。