作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
1.概述:
J2EE (Java 2 Platform, Enterprise Edition) 是SUN 公司提出的在分布式环境中的一种体系结构,旨在将 Java 平台的范围扩展到大规模服务器环境。它提供了一种基于组件的设计、开发、集成、部署企业应用系统的方法,J2EE平台提供了多层分布式的应用系统模型、重用组件的能力、统一的安全模型和灵活的事务控制。基于组件的J2EE企业应用系统具有平台独立性,所以不受任何软件产品和任何软件厂家API的约束。J2EE是开放的、基于EJB标准的平台,用以开发、部署和管理N层结构的、面向Web的,以服务器为中心的企业级应用。J2EE 为 EJB技术提供了工作环境。 J2EE是Sun的企业级应用开发技术的一个集合(EJB技术是这些技术之一),它们将使大型企业能把关键的业务系统移植到 Java 环境中。 注:J2EE 1.5改名为Java EE 5。
2.几个基本概念:
- 应用构件(组件):由开发人员实现,构成应用系统,运行在J2EE平台上,包含:客户端构件——Applets,Client Applications,服务端构件——Web构件(Servlets, JSPs), EJBs
- 服务:J2EE应用构件所使用的功能,由J2EE平台提供商实现,分为:Service API(开发时使用)和运行时服务
- 通信:支持协作构件之间的通信,由Container提供
3.应用构件:
a)客户端构件:
- Applets:Java类,图形界面( GUI)组件,一般运行在Web浏览器中。可以运行在支持applet编程模型的应用中(如Java SDK中的appletviewer)。在J2EE应用中一般用来提供用户界面。
- Client Applications:Java程序,一般具有图形用户界面。可以直接访问J2EE中间层的所有服务。可以直接调用EJB提供的服务,基于浏览器的客户端只能直接访问Web构件的服务
b)服务端构件:
- Web构件(Servlets, JSPs):
- Servlets——Java类,运行在服务端,不需要图形界面,接收HTTP请求,动态生成HTTP响应
- JSPs——HTML document:嵌入了JSP特定的tag;在页面中加入Java代码,动态生成页面的内容,在服务器端,JSP页面被编译成Java Servlet执行。
- EJBs:
- 基本结构
-
- 基本流程:
客户端利用JNDI查找EJB Home。
客户端利用EJB Home的create方法创建一个 session EJB。
本地EJB Home通知容器创建一个远程 EJB构件。
容器向客户端返回EJB Object stub。
客户端调用EJB Object上的方法,调用被转发到远程的EJB完成。
4.J2EE应用程序的组装与安装
5.文件描述符:
XML格式的文件,用于描述:模块中所包含的组件和模块所需要的环境(如安全性控制)。每个模块或ear文件都有一个DD。可以由厂商提供的工具自动生成,并进行可视化的编辑:
如Websphere,也可以手工创建和编辑。
6.J2EE的角色:
J2EE Product Provider
- 实现J2EE产品API,提供J2EE应用的运行环境
- IBM、BEA、Sun
- Websphere Application Server
- WebLogic Application Server
- IPlanet
Tool Provider
- 提供工具支持J2EE平台上的任务
- 开发环境:WSAD,Weblogic Builder,JBuilder
- 应用组装工具以及管理/监视工具等
Component Provider:提供组成应用的构件以及相关的DD
Application Assembler:将构件提供者提供的构件组装成应用。
Deployer:将应用安装配置到运行环境中。
System Administrator
- 进行配置数据的备份
- 配置企业级应用
- 进行应用统计分析和性能分析
- 创建服务器组和服务器克隆以优化系统性能
- 管理并控制应用的安全性
7.Spring、Java EE与EJB
a)什么是Spring框架?
Spring是一个轻量级的应用框架,主要面向服务端应用,也可以面向普通应用。Spring面向一个应用的各个方面功能:Struts和WebWork面向Web框架与Hibernate面向数据库映射(ORM)。Spring面向组件(应用逻辑)本身,并且将组件和其他框架等粘合(glue)起来。
b)Spring架构:
c)Spring与J2EE的关系
- Spring不是J2EE应用服务器(编程模型、应用框架),Spring可以很好地集成到J2EE应用服务器中以及其它Java环境中,在很多情况下,Spring可以替代传统J2EE应用服务器提供的服务。
- Spring与Java EE不应直接对比,Java EE定义了由AS来实现的平台规范(接口、功能)。Spring定义了一个编程模型,可以运行在Java EE或其他环境中。
- Spring与EJB 2.x:EJB曾被认为是Java环境中实现商业逻辑的最佳方式,“EJB 1.x and 2.x are better to be avoided” Rod Johnson,J2EE Without EJB,Java EE仍然是一个有效的平台,Spring也提供将普通对象发布成EJB的功能。
- Spring与EJB 3:EJB 3借鉴了Spring的模型,并简化了EJB模型,但仍然存在不足。DI方面:Spring支持更多的注入方式,并且支持EJB 3的所有annotation。AOP模型:Spring才用了更加可靠的AspectJ来支持AOP开发
作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。