【答案解析】可以选择J2EE应用服务器(例如,Weblogic,Webshpere等),提供的支持有支持多种操作系统,如Windows,UNIX,Linux等;同时是工业标准。
数据库操作支持:JDBC数据源,通过缓冲数据库连接,提供高效、可靠的数据库操作。
安全性控制:J2EE提供声明性安全控制,用户在部署描述符中通过声明的方式来控制应用系统的安全性(例如,可以控制如何进行身份认证,控制哪些角色可以访问哪些资源或执行哪些操作等)。
事务控制:JZEE应用服务器支持将事务控制交给容器自动管理,或者利用JTA在代码中自己控制事务。
与其他系统交互:基于JCA或者JMS,另外可以直接访问CORBA组件。
要求根据需求选择应用服务器产品,并说明该产品的主要技术特征。
需求的关键点在于:实现电子商务系统,符合工业标准,支持多种操作平台。
第二步:根据问题要点,仔细阅读全文,找出相应的段落
(1)在题目第一段中提到:不同的应用服务器产品之间存在较大差别,但其核心结构和要解决的主要问题相近,区别只是在于解决的具体方法不同。这说明在本题的解答过程中应该主要考虑共性的东西。
(2)与问题1直接有关的仅仅是:在应用服务器中,一般都会采用数据库连接池技术。这显然对题目的回答没有太大的帮助。
(3)与问题2直接有关的仅仅是:为了提高性能,许多应用服务器都采用了高速缓存机制。可以得知要从提高性能的角度来考虑。
第三步:分析试题的内容,构思答案要点
本题中,题目中提供的信息相对较简单,对答案的构思不能起到很大的帮助作用,因此关键在于应试者对应用服务器基础知识的掌握程度。
[问题1]
使用应用服务器环境的一个重要原因就是为了最小化数据库连接,并且尽力减少在数据库服务器上的加载次数。在传统的两层环境中,每个用户至少要建立一个到其他各个数据库的连接。这种通过DriverManager(例如,ODBC和JDBC等)基本实现 DataSource连接(例如,ADO等)的方法,一个数据库连接对象均对应一个物理数据库连接。一方面,会造成连接数的数量猛增,并很快用光数据库服务器的资源;另一方面,数据库连接的建立(通常需要1~3秒,包括服务器通信和认证所花费的时间)以及关闭是耗费系统资源的操作,这种耗费资源的动作对系统的性能影响尤为明显。
当引入了应用服务器之后,管理数据库连接的责任就落在了应用服务器。如果应用服务器为每个客户端的数据访问建立一个数据库连接,那么问题仍然不能够得以解决。其示意图如图6-1所示。

对于具有高数据访问量的应用来说,一个更好的策略就是管理一个连接池。启动时,可以创建一个预定编号的连接,并以矢量或阵列的形式进行存储。在调用表对象的方法之前,得到下一个连接对象的请求;然后把这个连接连同这个数据请求一起传递给表格。随着每个顺序请求的加入,这个连接不断地循环,并自动平衡连接中的加载。一旦连接对象失败,就会放弃这个循环,并在一定程度上自动恢复。其示意图如图6-2所示。
