J2EE应用技术的探讨和研究

出处:电子技术网 发布于:2014-02-19 10:54:01

  摘要:本文介绍了J2EE的基本概念与应用组件,并对J2EE的分层结构做了简单的介绍,分析了其发展优势。J2EE为支持Java语言服务器部署提供平台无关的、可移植的、多用户、安全的标准企业级平台。

  1.引言

  J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、JavaServlets API、JSP(Java Server Pages)以及XML技术的全面支持。其终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

  J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

  2.J2EE的应用组件

  J2EE组件是具有独立功能的软件单元,J2EE应用程序就是由这些组件构成的。不同的组件通过相关的类和文件组成J2EE应用程序,并与其他组件进行交互。以下是J2EE典型的四种组件:

  (1)客户层组件

  J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。如静态HTML、Applets等,也可以是基于传统客户机方式的,如客户端专用的客户程序或软件。

  (2)Web层组件

  J 2 E E W e b层组件可以是J S P页面或Servlets,按照J2EE规范,静态的HTML页面和Applets不包括在web层组件中。如图2.1所示的客户层那样,web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean来进行处理。

  

  (3)业务层组件

  业务层主要用来处理逻辑,以满足金融、银行、零售以及其他业务领域的应用需求。这些逻辑是由运行在业务层上的企业级Java Bean(EJB)来进行处理的。一个EJB从客户端接收数据、进行处理(主要的逻辑处理)进而发送到EIS(企业信息系统)层存储的过程就构成了业务组件。这个过程也可以逆向进行(如图2.2所示)。

  

  (4)企业信息系统层组件

  企业信息系统层组件包括通用数据库系统、企业基础建设系统(如ERP-企业资源计划)、大型机事务处理系统以及其它的遗留信息系统等。

  J2EE平台利用客户层来提供用户界面,一个或多个中间层组件来提供客户端服务和系统的业务逻辑,利用后台的信息系统层来管理数据。

  3.J2EE结构

  J2EE被设计成一种基于组件、平台无关的结构。它将业务逻辑封装成可以复用的组件,J2EE服务器以容器的形式,为所有组件类型提供后台服务(无须开发者自己开发或实现这种服务),使得开发者可以集中精力解决复杂的业务问题,这些特性决定了开发J2EE应用程序相对简单。

  下面分别从容器和服务以及容器类型这两方面来阐述J2EE的结构。

  (1)容器和服务

  容器其实就是一组提供服务的管理器。

  当然,不同的容器要符合不同服务的要求和规范。比如:HTTP Container(HTTP容器)就提供了解析HTTP的能力,使得HTTP代码可以通过HTTP协议来发布到Internet上。

  J2EE容器定制了包括安全、事务管理、JNDI(Java Naming and Directorv Interface-J a v a命名和目录接口)寻址、远程连接服务、生存周期管理、数据库连接池管理等多种支持。下面对各项加以简单阐述。

  J2EE安全(Security)模型:它通过让开发人员配置Web组件或企业级Bean,做到只有授权用户才能访问系统资源,以此提高系统的安全性。具体来说,就是不同的用户分别属于不同的角色,而不同的角色只允许访问特定的资源。开发者在企业级Bean的配置中,声明角色和可被访问(调用)的方法。

  J2EE事务管理(Transaction Management)模型:它让开发人员指定组成一个事务所有方法间的关系,并把这些方法当作一个单元。容器会在客户端访问(调用)一个企业级Bean中的方法时介入管理。这使得开发人员不必在企业级Bean中对事务的边界进行编码,而只需交给容器处理就可以了。对于分布式事务同样如此,开发人员只是在配置文件中声明企业级Bean的事务属性,其他的则交给容器处理就行了。

  JNDI寻址(JNDI Lookup-Java命名和目录接口寻址)服务:它为企业内部的多重名字和目录服务提供了统一的接口,这使得各应用程序组件可以方便地访问名字和目录服务。

  J2EE远程连接(Remote Client Connectivity)模型:它管理客户端和企业级Bean间的底层交互。在创建一个企业级Bean之后,客户端可以像调用客户机本地的方法一样调用它的方法。

  生存周期管理(Life Cycle Management)模型:它管理企业级Bean的创建和移除。

  数据库连接池(Database ConnectionPooling)模型:通过容器管理连接池可以提高服务器的效率,Bean可从连接池中快速获得连接,并在Bean释放连接之后,连接还可以为其他Bean所使用。

  (2)容器类型

  J2EE应用组件可以部署到以下几种容器中(如图3.1所示)。

  

  EJB容器:运行在J2EE服务器上。它管理J2EE应用程序中所有Enterprise Bean(企业级Bean)的执行。

  Web容器:运行在J2EE服务器上。它管理J2EE应用程序中所有JSP和Servlet组件的执行。

  应用程序客户端容器:运行在客户端。

  它管理J2EE应用程序中所有应用程序客户端组件的执行。

  Applet容器:运行在客户端。通常是客户机上的Web浏览器和Java插件的结合。

  4.J2EE的分层结构

  J2EE使用多层分布式应用的模型,它的应用逻辑按功能划分为组件,各个应用组件可以部署在同一台机器上。在更多的情况下,各个应用组件根据它们所在的不同层,分布在不同的机器上。

  J2EE实际上是为了解决两层模型(Client/Server模型)的弊端而出现的。在传统C/S模型中,客户端因承担过多的角色而显得过于臃肿。这种模型部署时比较容易,但很难进行升级或改进,其可扩充性和可伸展性都不理想。而J2EE模型将传统的两层模型划分成许多层,每种不同的服务提供一个独立的层。

  J2EE多层架构包括如图4.1所示的一些层:

  (1)用户层:用来与用户交互,并把来自系统的信息显示给用户。

  J2EE平台支持不同类型的用户,包括HTML用户、Java Applets和Java(2)Web层:Web层产生表示逻辑,并接收来自客户端的用户反馈。

  在所接收的客户端请求的基础上,表示层对用户的请求产生相应的回应。在J2EE平台中,是由Web容器内的Servlet和JSP来实现这一层。

  (3)业务层:业务层处理应用程序的业务功能逻辑。

  业务层为低层业务逻辑提供必要的接口。业务组件通常被实现为EJB容器内的EJB组件。其中,EJB容器提供组件生命周期,管理持久性,事务和资源分配等。

  

  图4.1描述了J2EE典型的4层结构中的4层,分别如下:

  (1)运行在客户机上的客户层组件。

  (2)运行在J2EE服务器上的Web层组件。

  (3)运行在J2EE服务器上的业务逻辑层组件。

  (4)运行在EIS(Enterprise InformationSystem--企业信息系统)服务器上的企业信息系统层组件。

  5.J2EE的优势

  J2EE平台的目标是定义一个标准,实现这个标准可以帮助企业在市场竞争中具备更强的竞争力。J2EE平台采用了一系列不断改进的新技术的一种分布式企业应用系统,它通过基于组件的开发模型来加快开发速度。

  J2EE模型支持从传统的、合作企业内部的应用程序,到在互联网上的电子商务网站的一系列系统。

  采用J2EE平台带来如下优势:

  (1)加快开发速度

  客户从提出需求到得到响应的时间是很重要的因素。企业需要更快地开发和部署他们的企业应用程序,并根据用户的需求方便快速地对系统进行修改、完善和升级。所以这个系统需要简单而又有效地把原来已有的系统集成起来,并且要具备良好的可扩展性,以迎接未来不断变化的市场需求。J2EE的分层体系结构就能很好地满足这一要求。

  同时企业级应用程序需要很快地从原型发展到产品,并且快速地在产品的生命周期中不断完善。而“编写,随处运行”

  的特性,使得J2EE系统能更方便地测试与部署,从而大大提高了开发效率。

  (2)可扩展性

  J2EE平台标准保证企业依据此标准建立的系统易于扩展,J2EE平台采用多层结构,在各层之间提供了方便的资源管理和服务,比如数据库的连接等,这样开发人员就不用顾忌数据库连接的负载平衡等问题。同时,可以根据客户端的类型和数量级来确定所用的服务器,并在需要的时候变更服务器而不需要对系统本身作出太大的改动。

  (3)组件模型带来构架的简化

  J2EE平台可以在任何符合标准的服务器上运行,同时基于组件的J2EE开发模型能更容易将需求确定成功能,由于只需要升级必要的组件,给未来的系统升级带来了极大便利。

  组件能在运行的时候根据配置来连接其他的组件,有了可配置的组件行为,开发人员就不需要重写代码,只需通过这些配置来与组件所在的服务器交流,这个过程也可以通过自动化的工具来实现。

  (4)与现有系统集成

  企业的数据是多年的积累和投资,往往位于一个比较古老的系统中,所以企业级应用系统的开发人员会面临一个重大的考验,即如何利用并集成那些多年来一直使用的数据系统。为了实现这个目标,J2EE平台通过中间层和后台服务来访问这些现有系统。具体来说,J2EE平台提供了下面JDBC、JTA、JNDI、JMS等技术来与现有的信息系统集成。

  (5)服务器、工具和组件的自由选择

  开发企业应用程序,需要根据现有的项目以及技术能力和投资成本,选择并配置应用系统,以得到化的效果。J2EE平台为此提供多种自由的选择,这些选择包括服务器、组件和其他工具等。

  (6)更化的开发人员

  J2EE基于组件的开发模式能够根据不同的技能来细化开发人员的职能。所有参与开发过程的人员能更好地发挥他们的特长,JSP模板的设计者能专心于他的工作,而商业逻辑的开发者、部署人员也能专注于自己擅长的领域。这个特点对于程序的升级也有好处,一个J2EE系统常改变的一般是前台的用户界面,这样网页设计师就可以着力于页面的设计而不需要具备编程能力。当然这些职能的划分在不同的开发小组中会有不同,在有所项目中,或许一两个人就能把所有的职能角色都分配掉了。(作者:熊轶廷)

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!