应用服务器J2EE(数据库)
时间:2022-12-06 04:30:01 | 来源:信息时代
时间:2022-12-06 04:30:01 来源:信息时代
应用服务器J2EE : 遵循J2EE标准,为分布式应用系统的构件化开发、运行和管理提供应用服务基本支撑的中间件。随着计算机网络的发展,为方便应用软件的开发与维护,逐步形成了网络环境中的基础软件和应用系统的高层运行平台—应用服务器。 应用服务器使得应用系统的代码更为简洁,开发人员的精力可以更加集中于系统的业务逻辑。J2EE标准是由JCP(Java community process)组织为基于Java语言的企业级分布式应用而推出的平台标准。构件是一个具有规范接口和确定的上下文依赖的组装单元,能够被独立部署和被第三方组装。
Java语言起源于Sun公司在“Green”项目中基于C++语言开发的Oak语言(即Java的前身),Oak语言最初面向嵌入式环境,旨在解决C++语言复杂、安全性考虑较少等问题。1995年,Oak语言更名为Java语言。1996年,Sun公司发布JDK 1.0(Java Developer`s Kit,Java开发工具包),由于Java语言具有平台无关、可移植性好等特点,得到了迅猛的发展,计算机产业的各大公司(包括IBM、Apple、DEC、Adobe、Silicon Graphics、HP、Oracle、Toshiba和Microsoft等)相继开发出相应的产品。1998年,Sun公司为解决各中间件厂商的产品各自为战,彼此之间缺乏兼容性,可移植性差,难以实现互操作等问题,发布了JDK 1.2版本,并使用了Java 2platform,即“Java 2平台”,分为标准版(standard edition,J2SE)、企业版(enterprise edition,J2EE)、微型版(micro edition,J2ME),J2EE便由此诞生。目前,多家公司已发布了支持J2EE规范的中间件产品,包括BEA的Weblogic、Oracle的Oracle 9i、Oracle10g、IBM的Websphere以及IONA公司的IportableSuit等。根据实际应用的需求,J2EE应用服务器将在互操作模型、构件模型、公共服务等方面继续发展。另外,与Web服务的集成、构件的QoS保证等方面是J2EE的新的发展方向。
从纵向角度看,应用服务器J2EE位于应用系统和操作系统之间,为应用服务屏蔽了计算机网络等底层细节,将计算机网络抽象为虚拟的网络运行平台;从横向角度,应用服务器J2EE位于“表现—业务逻辑—数据”三层体系结构的中间层(见图1),主要为业务逻辑层提供运行环境。应用服务器负责管理协调用户与业务应用及数据库之间的调用操作,为分布式应用提供高可用、高性能,以及复杂数据访问的支持,其主要功能是为应用系统提供一个开发和运行平台,屏蔽底层各种网络资源,使得软件开发人员能够将精力集中于目标系统的业务逻辑上,从而简化应用系统的开发、维护过程。
图1 J2EE体系结构
J2EE应用体系结构采用四层模型,如图1所示。包括: 客户端表现层、服务器端表现层(即Web层)、服务器端业务逻辑处理层、数据存储层。①客户端表现层是J2EE应用与客户交互的界面,它主要包括应用客户端程序和applets构件。②Web层是J2EE的Web应用服务器,包括Java servlet和Java server pages(JSP).Web层还可能包含某些构件对象来处理用户输入,并把输入发送给运行在业务层的构件来进行处理。③业务逻辑处理层包括用户编写的用于满足业务需求的业务逻辑构件,这些构件从客户端程序接收数据,进行处理,并把处理结果发送到数据库层存储(如果必要),这个过程也可以逆向进行。J2EE支持会话(session)bean、实体(entity)bean和消息驱动(message-driven)bean三种业务逻辑构件类型。会话bean表示与客户端程序的临时交互,当客户端程序执行完后,会话bean和相关数据就会消失。实体bean表示数据库的表中一行永久的记录,当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存。消息驱动bean结合了会话bean和JMS(Java message service)的消息监听器的特性,允许一个业务层构件异步接收JMS消息。④数据存储层主要用于存储应用中需要长期保留的数据,包括事务处理系统、数据库系统以及其他的遗留信息系统。
J2EE包括如下关键技术:
(1)互操作框架:支持底层异构网络之间相互通信,由基于开放标准的通信协议(SOAP(simple object access protocol)协议、IIOP(internet interactive operation protocol)协议、JRMP(Java remote method protocol)协议)及支持协议接口的分布式应用开发机制构成,用于屏蔽网络节点间在软硬件上的异构性。
(2)容器系统:为上层各种对象提供构件化运行支撑环境,包括生命周期管理、实例管理和元信息管理、服务集成等,是构件与操作系统之间的协调层。容器系统由实体构件容器、会话构件容器和消息驱动构件容器组成。
(3)支撑工具:为网络应用提供开发、部署与管理的相关工具。支撑工具面向应用开发人员、构件组装人员和系统管理人员,在构件模型的框架下,将软件开发过程、部署过程及管理中能够自动化的部分提取出来,由相应的工具自动完成,简化软件开发、部署及管理的复杂度,提高软件生产效率,尽可能减小由于人工参与可能带来的错误。
(4)公共服务:除提供应用服务器自身所需的系统服务外,主要为网络应用系统提供共性的且已形成规范的服务。J2EE提供功能丰富的各种服务,包括: 提供消息服务的JMS(Java message service)、提供安全服务的JAAS(Java authentication and authorization service)、提供XML处理服务的JAXP(Java API for XML parsing)、提供数据库访问服务JDBC、提供事务处理服务的JTA (Java transaction API)、提供自动邮件服务的Java Mail、辅助实现自动邮件服务并用于自动抽取并处理各种格式的邮件技术JAF (Javabean activation framework)、提供集成遗留系统的服务的connector机制等。
(5)EJB(enterprise Javabean): 是J2EE的重要组成部分,定义了用于开发基于构件的企业多重应用程序的标准。开发人员可以利用这些构件,像搭积木一样建立分布式应用。在装配构件时,所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为其开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。