【分布计算环境学习笔记】5 Java Enterprise Edtion基础

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.概述: J2EE (Java 2 Platform, Enterprise Edition)  是SUN 公司提出的在分布式环境中的一种体系结构,旨在将 Java 平台的范围扩展到大规模服务器环境。

作者: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。

image 

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:
    • 基本结构

                 image

    • 基本流程:

客户端利用JNDI查找EJB Home。
客户端利用EJB Home的create方法创建一个 session EJB。
本地EJB Home通知容器创建一个远程 EJB构件。
容器向客户端返回EJB Object stub。
客户端调用EJB Object上的方法,调用被转发到远程的EJB完成。

image 

 

 

4.J2EE应用程序的组装与安装

image

image

5.文件描述符:

XML格式的文件,用于描述:模块中所包含的组件和模块所需要的环境(如安全性控制)。每个模块或ear文件都有一个DD。可以由厂商提供的工具自动生成,并进行可视化的编辑:
如Websphere,也可以手工创建和编辑。

6.J2EE的角色:

image

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架构:

image

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 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
2月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
2月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
42 5
|
2月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
54 3
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
Java 大数据 开发工具
java学习——环境准备(1)
java学习——环境准备(1)
42 0
|
1月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
33 0
|
1月前
|
Java 程序员 开发工具
java学习笔记
java学习笔记
35 0