笔记-信息技术知识-2.3 应用集成技术
2.3 应用集成技术
2.3.1 数据库与数据仓库技术
传统的数据库技术以单一的数据源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,主要有操作型处理和分析型处理两类。
- 操作型处理也称事务处理,指的是对联机数据库的日常操作,通常是对数据库中记录的查询和修改,主要为企业的特定应用服务,强调处理的响应时间、数据的安全性和完整性等;
- 分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。传统数据库系统主要强调的是优化企业的日常事务处理工作,难以实现对数据分析处理要求,无法满足数据处理多样化的要求。操作型处理和分析型处理的分离是必然和必要的。 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库是对多个异构数据源(包括历史数据)的有效集成,集成后按主题重组,且存放在数据仓库中的数据一般不再修改。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础的。数据仓库不是静态的概念,只有将信息及时地提供给需要这些信息的使用者,供其做出改善自身业务经营的决策,信息才能发挥作用,也才有意义。将信息加以整理归纳和重组,并及时地提供给相应的管理决策人员,是数据仓库的根本任务。数据仓库系统的结构通常包含4个层次,如图2.4所示。
随着云时代的来临,大数据(Big Data)吸引了越来越多的关注。业界将其特点归纳为4个“V”– Volume(数据量大)、Variety(数据类型繁多)、Velocity(处理速度快)、Value(价值密度低)。大数据的意义不在于掌握庞大的数据信息,而在于对这些数据进行专业化处理,实现数据的“增值”。
大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。在技术上,大数据必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术等。
2.3.2 Web Services技术
随着Internet应用逐渐成为B2B应用平台,应用集成所面临的问题也日益突出:各种组件之间的“战争”、各种编程语言之间的“战争”、防火墙的阻挡、互操作协议的不一致等。Web服务(Web Services)定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTP(S)协议传送XML表示及封装的内容。
Web服务的典型技术包括:
- 用于传递信息的简单对象访问协议(Simple Object AccessProtocal,SOAP);
- 用于描述服务的Web服务描述语言(Web Services Description Language,WSDL);
- 用于Web服务注册的统一描述、发现及集成(Universal Description Discoveryand Integration,UDDI);
- 用于数据交换的XML;
Web服务的主要目标是跨平台的互操作性,适合使用 Web Services 的情况包括:跨越防火墙、应用程序集成、B2B集成、软件重用等。同时,在某些情况下,Web服务也可能会降低应用程序的性能。不适合使用Web服务的情况包括:单机应用程序、局域网上的同构应用程序等。
2.3.3 JavaEE 架构
JavaEE(Java Platform Enterprise Edition)是最早由 Sun 公司提出、各厂商共同制定并得到广泛认可的企业标准。业界各主要中间件厂商如IBM、Oracle都积极地促进该标准的推广和应用。
JavaEE 应用将开发工作分成两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器负责处理,不必为中间层的资源和运行管理进行编码。这样就可以将更多的开发精力集中在应用程序的业务逻辑和表示逻辑上,从而缩短企业应用开发周期、有效地保护企业的投资。
JavaEE 应用服务器运行环境主要包括组件(Component)、容器(Container)及服务(Services)3部分。组件是表示应用逻辑的代码;容器是组件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。
2.3.4 NET架构
.NET 开发框架在通用语言运行环境(Common Language Runtime)基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。
通用语言运行环境处于 .NET 开发框架的最低层,是该框架的基础,它为多种语言提供了统一的运行环境、统一的编程模型,大大简化了应用程序的发布和升级、多种语言之间的交互、内存和资源的自动管理等等。
JavaEE 与 .NET 都可以用来设计、开发企业级应用。JavaEE 平台是业界标准,有多家厂商实现了这些标准(工具、应用服务器等)。
2.3.5软件中间件
中间件(Middle ware)是位于硬件、操作系统等平台和应用之间的通用服务。借由中间件,解决了分布系统的异构问题。
如图2.5所示,中间件服务具有标准的程序接口和协议。不同的应用、硬件及操作系统平台,可以提供符合接口和协议规范的多种实现,其主要目的是实现应用与平台的无关性。借助中间件,屏蔽操作系统和网络协议的差异,为应用程序提供多种通信机制,满足不同领域的应用需要。
中间件包括的范围十分广泛,针对不同的应用需求有各种不同的中间件产品。从不同角度对中间件的分类也会有所不同。通常将中间件分为数据库访问中间件、远程过程调用中间件、面向消息中间件、事务中间件、分布式对象中间件等。
- 数据库访问中间件:通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型技术如Windows平台的ODBC和Java平台的JDBC等。
- 远程过程调用中间件(Remote Procedure Call,RPC):这是一种分布式应用程序的处理方法。一个应用程序可以使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。
一个RPC应用分为服务器和客户两个部分。服务器提供一个或多个远程操作过程;客户向服务器发出远程调用。服务器和客户可以位于同一台计算机,也可以位于不同的计算机,甚至可以运行在不同的操作系统之上。客户和服务器之间的网络通信和数据转换通过代理程序(Stub与Skeleton)完成,从而屏蔽了不同的操作系统和网络协议。 - 面向消息中间件(Message-Oriented Middle ware,MOM):利用高效可靠的消息传递机制进行平台无关的数据传递,并可基于数据通信进行分布系统的集成。通过提供消息传递和消息队列模型,可在分布环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。
- 分布式对象中间件:是建立对象之间客户/服务器关系的中间件,结合了对象技术与分布式计算技术。该技术提供了一个通信框架,可以在异构分布计算环境中透明地传递对象请求。
- 事务中间件:也称事务处理监控器(Transaction Processing Monitor,TPM),提供支持大规模事务处理的可靠运行环境。TPM位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,以提高系统的整体性能。结合对象技术的对象事务监控器(Object Transaction Monitor,OTM)如支持EJB的JavaEE应用服务器等。