J2EE开发技术基础入门

一、J2EE的概念

目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java 2 Platform EntERPrise Edition,J2EE)。

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

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

二、J2EE的优势

J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

保留现存的IT资产: 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的´企业计算´领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。

高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:

状态管理服务

让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

持续性服务

让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。

支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。

可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在Windows环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。

三、J2EE 的四层模型

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议?D?D通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:

运行在客户端机器上的客户层组件

运行在J2EE服务器上的Web层组件

运行在J2EE服务器上的业务逻辑层组件

运行在EIS服务器上的企业信息系统(EntERPrise information system)层软件

J2EE应用程序组件

J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE说明书中定义了以下的J2EE组件:

应用客户端程序和Applets是客户层组件。

Java Servlet和JavaServer Pages(JSP)是web层组件。

Enterprise JavaBeans(EJB)是业务层组件。

客户层组件

J2EE应用程序可以是基于web方式的,也可以是基于传统方式的.

web 层组件J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。正如客户层那样,web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。

业务层组件

业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的entERPrise bean 进行处理。下图表明了一个enterprise bean 是如何从客户端序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。

有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和 消息驱动(message-driven) beans。会话bean 表示与客户端程序的临时交互。当客户端程序执行完后, 会话bean 和相关数据就会消失。相反, 实体bean 表示数据库的表中一行永久的记录.当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息。

企业信息系统层

企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP) , 大型机事务处理, 数据库系统,和其它的遗留信息系统。例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统。

时间: 2024-12-22 00:21:52

J2EE开发技术基础入门的相关文章

Web前端工程师的成长之路:前端开发零基础入门

HTML5与Flash之争,似乎早早就已分出了胜负,今年7月底,Adobe宣布将于2020年年底停止开发和发行Flash Player,同时建议内容开发者将Flash内容移植到HTML5,等于亲手宣判了Flash死刑. 随着HTML5技术的快速发展,前端开发已经被越来越重视,新的前端框架层出不穷,有可能睡一觉起来,就出现一些全新的框架,这也给前端开发者更多的机会. 那么如何入门前端开发呢?HTML.CSS.JavaScript,这是必备的入门技能,掌握了这些,基本就能应对一些常规的前端开发需求.

J2EE开发技术点4:ajax技术

前言 AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术.需要知道的是,Ajax技术并不是一项新的技术,而是使用现有技术解决问题的新方法.Ajax(Asynchronous JavaScript and XML)也叫异步JavaScript和XML,该技术最早应用于Google maps上,也是Google把这项技术带到千家万户,可以发现目前主流的Web开发框架都集成了Ajax的功能,这点也说明了这项技术的优越性.Ajax技术的工作原理很简单:通过在后台与服务器进行少

J2EE开发技术点1:Tomcat中开发项目

前言 在以前开发Web项目的时候,使用最多往往是IDE(Eclipse EE或者MyEclipse),在IDE中我们只需要配置一下Tomcat服务器的路径就可以了,写完一个Web项目之后直接部署到Tomcat上就可以了,这一切操作都是很简单的.对于一个Web开发人员而言,使用IDE进行项目开发已经轻车熟路了.而对于在Tomcat中直接部署项目并且进行开发知道的就比较有限了.本着知其然也要知其所以然的学习态度,让我们重新认识纯Tomcat开发的流程. 纯Tomcat开发流程 下载安装Tomcat

J2EE开发技术点6:Proxool数据库连接池

前言 Proxool也是目前主流的数据库连接池,Proxool是一种Java数据库连接池技术.也是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况.下面是对Proxool连接池的一些技术小结 使用Proxool连接池方式 在官方提供的文档中,有多种使用Proxool的方式,这里只介绍两种:一种是通过配置文件的方式使用Proxool:一种是通过直接设置属性的方式使用.其中使用了Proxool连接池中的

J2EE开发技术点2:图形验证码

前言 验证码技术被广泛运用于网站中,使用验证码可以有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是一种登录保护措施.由于验证码是动态生成的,在使用暴力破解的时候难度加大,所以验证码技术是一种常用却简单的技术.下面就介绍如何使用Java动态生成验证码 创建一个表单 实现思路 由于要产生随机验证码,所以有一个出现字符的范围,这里仅考虑了a-z.A-Z.0-9这个范围,然后设置随机颜色.并进行画矩形.画线.设置字体.绘制随机字符. 实现代码: package co

《iOS 8应用开发入门经典(第6版)》——第1章,第1.4节开发技术概述

1.4 开发技术概述 iOS 8应用开发入门经典(第6版) 在接下来的几章中,将简要地介绍用来创建iOS应用程序的技术.我们的目标是让您快速了解这些工具和技术,然后开始开发.这意味着几章后您才会编写第一个应用程序,但当您开始编码时,将具备成功创建各种应用程序所需的技能和知识. 1.4.1 Apple开发工具 在本章中,您下载并使用了应用程序Xcode,它自带了iOS模拟器,您在阅读本书的过程中主要使用的就是它.这两个应用程序很重要,本书将花两章的篇幅(第2章和第5章)介绍它们的功能和用法. 需要

《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

1.1 Unity 3D基础知识概览 Unity 3D 游戏开发技术详解与典型案例 本节主要向读者介绍Unity 3D的相关知识,主要内容包括Unity 3D的简介.Unity 3D的发展和Unity 3D的特点等.通过本节的学习,读者将对Unity 3D有一个基本的认识. 1.1.1 初识Unity 3D Unity 3D是由Unity Technologies开发的一个轻松创建三维视频游戏.建筑可视化.实时三维动画等互动内容的.多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎. Un

《SAP入门经典(第4版•修订版)》——第3章 SAP技术基础知识 3.1 SAP技术101:SAP基础知识

第3章 SAP技术基础知识 经过前面章节的学习,我们已经对SAP的基本概念和使用SAP运行业务的意义有所了解了,现在我们要花一些时间讨论一下更深层的基本技术.本节我们将考察几个常用的与架构相关的技术术语,粗略地了解一下支持任何SAP应用程序都必不可少的3种核心技术:硬件.操作系统和数据库.本章最后我们要讨论一下这些技术是如何发挥作用的.即使您有着深厚的技术背景,本章的内容也仍然值得您花些时间进行了解. 3.1 SAP技术101:SAP基础知识 SAP入门经典(第4版•修订版)在第2章中,我们已经

一起谈.NET技术,WPF Multi-Touch 开发:基础触屏操作(Raw Touch)

多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程.例如,生活中经常使用的触屏手机.触屏笔记本.显示器以及微软最新的Surface 产品等这些都属于触屏操作设备.本篇将介绍如何开发能够支持MT 功能的应用程序. 在WPF 4 中已经具备的多点触控开发技术,当多个手指触碰到触屏设备时,WPF 会把每跟手指认为是一个触控设备,并为其分配唯一的识别ID,以便跟踪不同手指的操作手势.下面将通过实例演示WPF 所支持的低级别触控操作:触碰(TouchDown).分离(