基于SOA办公自动化管理系统设计与实现

发布时间 : 星期日 文章基于SOA办公自动化管理系统设计与实现更新完毕开始阅读

第二章 面向服务的相关技术概述

第二章 SOA的相关技术概述

软件开发方法经历了面向过程、面向对象、面向组件和面向集成的发展过程,每个过程都是前一个过程的创新和发展,使这些方法越来越方便的服务于人类社会[3]。如今,面向服务的架构(SOA)以更加先进的理念成为占有绝对优势的软件工程实践方法。

2.1 SOA架构的定义

许多组织或个人从不同角度和不同侧面对SOA进行了描述,但是迄今为止,对于SOA还没有一个公认的定义。我们可以这样来理解SOA:首先SOA是一种体系结构,这种体系架构是可以构建松散耦合的服务的框架。其次,在SOA体系框架中,所有的功能部分是由底层的业务事务被构建成的互相独立的服务,服务也是被封装成的用于业务流程的可重用组件,而服务的具体实现方式是外部不可见的[4]。外部组件若想使用服务,那么只能通过服务描述来获知此服务所提供的功能,然后通过接口调用该服务。由此可见,服务是SOA的关键概念之一。

就目前的实际应用来看,服务的实现可能包括在一个企业内部的不同计算机上或者许多业务合作伙伴拥有的计算机上执行的很多步骤,因此服务并不等同于组件,可能是一个组件也可能不是一个组件。

2.2 SOA的基本特征和要素

1.松散耦合

松散耦合是指构造的服务、接口、协议等之间不能相互依赖,包含三个方面的内涵:服务与服务之间的松散耦合、接口和实现之间的松散耦合、业务组件和传输协议之间的松散耦合。

2.粗粒度

粗粒度是指SOA中服务的接口应该比面向对象的编程的API要大一些,需要接近用户的实际操作。

3.位置和传输协议的透明

5

硕士学位论文

位置的透明指的是不管业务组件的URL如何变化而客户端的调用程序的URL都不需要改变。而传输协议的透明是指不管服务组件的传输协议如何变化而客户端的调用程序的传输协议都不需要改变。通常SOA通过服务总线对组件的接口进行进一步的封装以保证服务的位置和传输协议的透明[4]。

4.基于文本的消息传递

诸如COM、CORBA等传统的组件模型采用了从服务器端到客户端传递二进制编码对象然后在客户端调用这个对象的模式来完成某些信息的传递,以完成某些功能。这种消息模式传递的是二进制编码。在Internet中,由于存在大量的系统,它们是来自不同语言,由不同平台实现的,因此对数据甚至是一些基本数据类型定义都会不同,这样给不同的服务之间传递对象带来了极大的困难,采用采用传递二进制编码对象的方式显然不满足当前的技术应用了[5]。恰好由于基于文本的消息本身不包含任何处理逻辑和数据类型,服务间传递的仅仅是文本消息,这样就不必考虑兼容的问题了。因此这也决定了基于SOA搭建的系统必须采用基于文本的消息传递方式。

2.3 SOA的基本结构

面向服务的架构体系SOA本质上是一种设计和构建松散耦合的企业级软件解决方案,它能够以程序化的可访问的软件服务的形式公开业务功能,以使其他应用程序可以通过已发布的和可发现的接口来使用这些服务[3]。SOA中,服务提供者、服务请求者和服务注册库(UDDI)三个主要组成部分分别承担了不同的任务,每一组成部分又分布有三个操作:发布、查找和调用[3]。SOA对三者之间的关系进行了很好的描述。图2-1说明了面向服务结构中协作支持发布、查找和调用的关系图。

服务描述

查找 发布 服务 服务 请求者 调用 服务 提供者 服务描述 图2-1

服务注册库 第二章 面向服务的相关技术概述 面向服务的体系结构模型图

2.4 SOA的目标

SOA通过应用组件和传输协议的松散耦合(即服务传输协议的透明化)、服务的即时绑定(即服务位置的透明化)从而实现业务组件的虚拟化,造就一个虚拟的集成架构或者集成平台服务总线,这样使得服务集成不受任何限制,可以同时集成.NET和J2EE组件,以及集成其他遗留系统的各种应用,同时也可以随时更换这些服务组件,最终达到敏捷的、不受限制的服务集成目标,从而使IT能够随着业务需求的变化而自由调整,最终达到“随需而变”。

由本章的介绍可知,构件技术的总体情况是基本应用普遍,同时其发展被赋予了新的内涵,这包括了众多关于构件的各种创新思维,力求促使构件成为一个整体的逻辑单元而且支持自动装配,具有强大的自我描述功能,变得更加“智能”,同时努力使不同标准之间的构件能够共同工作。

但实际上这些高级的特性还没有在实际应用中被使用,大多处于实验室阶段,这就涉及到这样一个现实的问题,即在实际开发信息系统时如何有效地应用构件。这也是构件技术的当前的重要的研究课题之一。软件是人开发而出来了,不可能是完美,在软件开发的当中,一定需要预测,来保证其功能的正常进行。软件预测可以在软件开发过程中,对软件质量的加以控制,使得软件质量达到预定的效果,保障功能的完善性,准确性。

软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程,因此软件测试的目的就是尽可能多地发现并改正软件中的错误,提高软件的质量。E.W.Dijkstra曾说:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。

软件测试的工作内容

1、编写软件测试计划,设计软件测试脚本和用例,搭建软件测试环境 2、执行软件项目测试,包括功能测试、性能测试、易用性测试等 3、整理、分析、报告并追踪软件缺陷,并确认软件测试问题得以解决 4、撰写软件测试结果分析报告,预先评估项目的风险,编写其它相关文档 5、结合研发软件产品项目情况,制定相应的软件、项目版本控制制度 软件可靠性预计中存在的问题有以下3方面:

1、由于没有模型应用的先验知识,导致盲目的选取模型。

7

硕士学位论文

2、模型预计中存在很多的不一致性。

3、有时选择一个或多个模型进行预计,预计质量都很低。 针对上面提出的问题可采用下面的一些方法来解决上述问题: 1、在选择模型或模型组前进行可靠性趋势分析; 2、无论选择何种模型都要进行预计质量分析; 3、预计质量不好时应用改进技术改进预计质量.

目前,风险评估在许多方面,最具代表性的包括:敏感性分析、灰色系统分析、模糊综合评价法、层次分析法、蒙特卡罗模拟和人工神经网络。

1、敏感性分析法

通过测定灵敏度分析是一项或多项不确定的因素致使决策评价指标的变化改变的知识范围的各种因素的变化,达到预期目标的影响程度。因此,当外部环境发生了变化,评价对象的风险承受能力的判断。如果一个因素的微小变化的决策评价指标的影响幅度较大,说明该因素是灵敏度因子;反之,如果某一因素的变化,不影响决策评价指标结果或更少,则需考虑的因素是不敏感因素。

2、灰色系统分析

在1982年《灰色系统控制问题》的发表标志着灰色系统理论的诞生,有些现象是不明确和不确定性与数学中的应用。传统的系统理论,该信息系统中最更充分。相对较差对信息系统的一些。采用黑盒的方法,也取得了较为成功的经验。然而,一些不确定信息的内部零件,有些信息并不知道该系统,但研究是很不够的空白区域成为灰色系统理论的诞生地。在客观世界中,不是白色系统(信息完全清楚)的东西也不是黑系统(完整的信息不明确),而是灰色。因此,一个灰色系统理论中存在很多这样的灰色系统研究的进一步发展。该理论认为,任何在一定幅度随机过程是限制和某些灰颜色的改变时区数量和随机过程为灰色过程。灰数、灰色元、灰色关系是灰色系统的主要研究对象,其操作数、灰色与灰矩阵方程是灰色的灰色系统理论的基础。

3、模糊综合评价法

模糊综合评价方法是基于模糊数学,应用模糊数学的模糊关系而合成的一种新原理,将一些界限模糊、不易变形,与定量因素的定量评价隶属地位的东西综合评价。在评估危险因素,有很大一部分难以用数值准确的定量描述,它们之间的关系和结构也比较模糊,不能用单一的判定标准,但可以利用历史经验和专家知识,使用的语言,生动地描述了他们的性能评价,并可能影响结果。运用模糊综合评价方法的基本思路为:考虑到所有危险因子的影响,并设置权重的差别,而且各要素的重要性,

联系合同范文客服:xxxxx#qq.com(#替换为@)