免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2016年下半年 信息系统项目管理师 上午试卷 综合知识
  第7题      
  知识点:   软件中间件   Java   JDBC   ODBC   事务   数据库   消息   中间件
  关键词:   ODBC   Windows   对象   数据库   消息   中间件   数据        章/节:   信息系统及其技术和开发方法       

 
中间件可以分为数据库访问中间件、远程过程调用中间件、面向消息中间件事务中间件、分布式对象中间件等多种类型。Windows平台的ODBCJava平台的JDBC属于(7)。
 
 
  A.  数据库访问中间件
 
  B.  远程过程调用中间件
 
  C.  面向消息中间件
 
  D.  事务中间件
 
 
 

 
  第10题    2022年上半年  
   50%
()是一个容器化平台,它以容器的形式将应用程序及所有依赖项打包在一起,以确保应用在任何环境中无缝运行。
  第16题    2011年下半年  
   68%
关于数据访问中间件的作用,下列说法正确的是(16)。
  第24题    2012年上半年  
   63%
UDDI、SOAP、WSDL、XML等是构成Web Service的重要技术,在CORBA体系中与SOAP对应的是(24)。
   知识点讲解    
   · 软件中间件    · Java    · JDBC    · ODBC    · 事务    · 数据库    · 消息    · 中间件
 
       软件中间件
        中间件概述
        概念:
        中间件是位于硬件、操作系统等平台和应用之间的通用服务。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源,它位于客户端/服务器的操作系统之上,管理计算机资源和网络通信。
        目的:
        实现应用与平台的无关性。
        特点:
        满足大量应用的需要、运行于多种硬件和操作系统平台、支持分布计算、提供跨网络/硬件/操作系统平台的应用或服务的透明交互、支持标准的协议、支持标准的接口。
        现状:
        中间件为应用程序提供了一个相对稳定的高层应用环境,但是,中间件服务所应遵循的原则离实际还有很大距离。多数流行的中间件使用专有的API和专有的协议,使应用只能构建在单一厂家的产品之上,来自不同厂家的实现很难互操作。有些中间件只提供某些平台的实现,限制了应用在异构系统之间的移植。
        中间件分类:
        1.数据库访问中间件
        数据库访问中间件通过一个抽象层访问数据库,从而允许使用相同的或相似的代码访问不同的数据库资源。如Windows平台的ODBC和Java平台的JDBC等。
        2.远程过程调用
        远程过程调用(Remote Procedure Call,RPC)是一种广泛使用的分布式应用程序处理方法。一个RPC应用分为两个部分:服务器和客户端。服务器提供一个或多个远程过程,客户端向服务器发出远程调用。
        客户端和服务器之间的网络通信和数据转换通过代理程序(stub与skeleton)完成,从而屏蔽了不同操作系统和网络协议。RPC为客户端/服务器的分布计算提供了有力的支持,但它所提供的是基于过程的服务访问,客户端和服务器进行直接连接,没有中间机构来处理请求,具有一定的局限性。
        3.面向消息中间件
        概念:
        面向消息中间件(Message-Oriented Middleware,MOM)利用高效可靠的消息传递机制进行平台无关的数据交流,并可基于数据通信进行分布系统的集成。典型的产品如IBM的MQSeries。通过使用MOM,通信双方程序(称为消息客户程序)可以在不同的时间运行,程序不在网络上直接通话,而是间接地将消息放入MOM服务器的消息机制中。
        特点:
        消息客户程序之间通过将消息放入消息队列或从消息队列中取出消息来进行通信。客户程序不直接与其他程序通信,避免了网络通信的复杂性。消息队列和网络通信的维护由MOM完成。
        4.分布式对象中间件
        随着对象技术与分布式计算技术的发展,两者相互结合形成了分布式对象技术,发展成为当今软件技术的主流方向。典型的分布式对象中间件如OMG的CORBA、Sun的RMI/EJB和Microsoft的DCOM等。这三种中间件的介绍见23.3.3节。
        5.事务中间件
        事务中间件,也称事务处理监控器(Transaction Processing Monitor,TPM)程序位于客户端和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,以提高系统的整体性能。典型产品如BEA的Tuxedo。
        随着对象技术与事务技术的结合,还出现了一类新产品,即对象事务监控器(Object Transaction Monitor,OTM),可以保证分布式对象的事务完整性。如支持EJB的J2EE应用服务器。
 
       Java
        Java语言起源于Oak语言,Oak语言被设计成能运行在设备的嵌入式芯片上。
        Java编译成伪代码,这需要一个虚拟机来对其进行解释,Java的虚拟机在几乎每一种平台上都可以运行。这实质上使得开发是与机器独立无关的,并且提供了通用的可移植性。
        Java把类的概念和接口的概念区分开来,并试图通过只允许接口的多继承来克服多继承的危险。
        Java的异常处理机制与C++的try/throw/catch相类似,但更加严密。在Java中,通过声明轻型线程来处理并发性,这些线程通过副作用和同步协议进行通信。
        Java Beans是组件,即类及其所需资源的集合,它们主要被设计用来提供定制的GUI小配件。
        Java中关于面向对象概念的术语有对象、类、方法、实例变量、消息、子类和继承。
 
       JDBC
        JDBC(Java Database Connectivity, Java数据库连接)是一种可用于执行SQL语句的Java API。它由一些Java语言编写的类和接口组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以使用纯Java语言编写完整的数据库应用程序。而且因为JDBC基于X/Open的SQL调用级接口(CLI,这是ODBC的基础),JDBC可以保证JDBC API在其他通用SQL级API(包括ODBC)之上实现。这意味着所有支持ODBC的数据库不加任何修改就能够与JDBC协同合作。
        通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页面中带有能访问远端数据库的Applet。
 
       ODBC
        ODBC(Open Database Connectivity,开放数据库互连)是Microsoft公司提出的,被当前业界广泛接受的应用程序编程接口(Application Programming Interface, API)标准,它以X/Open和ISO/IEC的调用级接口规范为基础,用于对数据库的访问。
        ODBC实际上是一个数据库访问函数库,使应用程序可以直接操纵数据库中的数据。ODBC是基于SQL语言的,是一种在SQL和应用界面之间的标准接口,它解决了嵌入式SQL接口非规范核心,免除了应用软件随数据库的改变而改变的麻烦。ODBC的一个最显著的优点是,用ODBC生成的程序是与数据库和数据库引擎无关的,为数据库用户和开发人员屏蔽了异构环境的复杂性,提供了数据库访问的统一接口,为应用程序实现与平台的无关性和可移植性提供了基础。
        ODBC主要由4个部分组成:应用程序、驱动程序管理器、驱动程序、数据源。
        (1)应用程序:执行处理并调用ODBC API函数,以提交SQL语句并检索结果。
        (2)驱动程序管理器:根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传送到驱动程序。
        (3)驱动程序:处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致。
        (4)数据源:包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的网络平台。
        ODBC的API一致性级别分为3级,分别是核心级、扩展1级和扩展2级。
        (1)核心级:最基本的功能,包括分配、释放环境句柄,数据库连接,执行SQL语句等。核心级函数能满足最基本的应用程序的要求。
        (2)扩展1级:在核心级的基础上增加了一些函数,通过它们可以在应用程序中动态地了解表的模式、可用的概念模型类型及它们的名称等。
        (3)扩展2级:在扩展1级的基础上又增加了一些函数。通过它们可以了解到关于主关键字和外来关键字的信息、表和列的权限信息、数据库中的存储过程信息等,并且还有更强的游标和并发控制功能。
 
       事务
               概述
               事务(Transaction)是一系列的数据库操作,是数据库应用程序的基本逻辑单位,即应用程序对数据库的操作都应该以事务的方式进行。
               事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。
               事务通常由数据库操纵语言或其他高级语言(如SQL、CoBOL、C、C++、Java等)书写的用户程序来实现。一个事务由应用程序的一组操作序列组成,它以BEGIN TRANSACTION语句开始,以END TRANSACTION结束语句。
               事务定义的语句如下:
               (1)BEGIN TRANSACTION:事务开始。
               (2)END TRANSACTION:事务结束。
               (3)COMMIT:事务提交。该操作表示事务成功地结束,它将通知事务管理器该事务的所有更新操作现在可以被提交或永久地保留。
               (4)ROLLBACK:事务回滚。该操作表示事务非成功地结束,它将通知事务管理器出故障了,数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。
               典型的例子是银行转账业务。对“从账户A转入账户B金额x元”业务,站在顾客角度来看,转账是一次单独操作;而站在数据库系统的角度它至少是由两个操作组成的,第一步从账户A减去x元,第二步给账户B加上x元。下面是银行转账事务的伪代码:
               
               SQL中事务的开始与结束
               SQL标准规定当一条SQL语句被执行,就隐式地开始了一个事务,SQL中的Commit work和Rollback work语句之一会结束一个事务。
               (1)Commit work:提交当前事务。这意味着将该事务所做的更新在数据库中永久保存。一旦事务被提交后,一个新的事务自动开始。
               (2)Rollback work:回滚当前事务。这意味着将撤销该事务对数据库的更新。这样,数据库恢复到该事务执行第一条语句之前的状态。
               需要注意的是,若事务已执行了Commit work,就不能用Rollback work来撤销。数据库系统能保证在发生诸如某条SQL语句错误、断电、系统崩溃的情况下,若事务还没有执行Commit work,则所造成的影响将被回滚。对断电、系统崩溃的情况,回滚是在系统重新启动时进行。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       消息
        消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
 
       中间件
        随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应运而生。
               中间件的定义
               由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。
               普遍被接受的是IDC对中间件定义的描述:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
               IDC对中间件的定义表明:中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
               人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必须有一个通信中间件,即:中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和应用软件区分开来。
               中间件的主要作用是:
               ①缩短应用的开发周期。
               ②节约应用的开发成本。
               ③减少系统初期的建设成本。
               ④降低应用开发的失败率。
               ⑤保护已有的投资。
               ⑥简化应用集成。
               ⑦减少维护费用。
               ⑧提高应用的开发质量。
               ⑨保证技术进步的连续性。
               ⑩增强应用的生命力。
               中间件与电子商务
               中间件是电子商务应用集成的关键之一,不管电子商务应用分布在什么硬件平台上,使用了什么数据库系统,透过了什么复杂的网络,电子商务应用的互连和互操作是电子商务中间件首先要解决的问题。
               在通信方面,电子商务中间件要支持各种通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据加密、数据压缩等;电子商务中间件还要解决名字服务、安全控制、并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不同平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方面,解决电子商务中间件本身的配置、监控、调谐,为电子商务应用的易用易管理提供保证。针对不同的Web应用环境,对电子商务中间件有各种不同的要求。对工作流应用,需要根据条件以及条件满足状态,将信息、响应状态从一个应用传递到另一个应用;对联机事务处理,需要保证分布式的数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统需要保证可靠传输等。
               在这种情况下,电子商务应用应包含以下层次:
               ①浏览器。这是进入电子商务的通道。
               ②电子商务应用平台。提供电子商务不同应用类型的生成工具软件,如网上商店、网络支付、虚拟社区等。
               ③电子商务交换平台。对内集成企业内部的各种与电子商务相关的业务系统,对外连接商业合作伙伴,如银行、供应商、客户、配送结构,完成各种不同业务系统之间数据转换和整合。
               ④电子商务基础平台。用来支持大量Internet客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,尽快把信息系统和商务活动放到Internet中。
               在电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。可以说,没有中间件就不能支撑今天的网络应用。
   题号导航      2016年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第7题    在手机中做本题