没有合适的资源?快使用搜索试试~ 我知道了~
在达内的EJB的PDF笔迹,和大家分享
5星 · 超过95%的资源 需积分: 13 39 下载量 59 浏览量
2008-09-28
16:03:04
上传
评论
收藏 886KB PDF 举报
温馨提示
试读
55页
在达内的EJB的PDF笔迹,和大家分享!!在达内的EJB的PDF笔迹,和大家分享!大家来下载吧!20个字真难凑啊!!!!!!!!!!
资源推荐
资源详情
资源评论
www.tarena.com.cn lujy@tarena.com.cn
1
SD0711
SD0711
SD0711
SD0711
EJB
EJB
EJB
EJB
课堂笔记
EJB_day1
EJB_day1
EJB_day1
EJB_day1
2008-4-28
EJB
EJB
EJB
EJB
的预备知识:
RoadMap 路线:
Java 1 、 C/S 架构的程序 swing 、 + +
2 、 Web 程序 (MVC 架构 )
JSP + Servlet +
3 、 Java EE 程序 ( 多层架构 )
Web 技术 + EJB + Java EE 相关( JNDI 、 JTA 、 JWS 、 JMS )
EJB
EJB
EJB
EJB
学习的目标:
1 、
掌握 EJB 的基本的原理,理解其基本概念。 (重点)
企业级程序: HA( 高可用性 ) 、安全、可伸缩
2 、
编写各种类型的 EJB 。 (重点)
3 、
了解 EJB 的一些简单的设计、部署知识。 (可选)
EJB
EJB
EJB
EJB
学习的内容: (
11
11
11
11
章)
第 1 章: EJB 概述(企业级程序背景知识、 EJB 概念、原理) day1 重点
第 2 章: First EJB ( EJB 编程的步骤、 EJB3.0 编程的模型)
第 3 章:会话 Bean (两种会话 Bean 的编写)重点
第 4 章:会话 Bean 发布为一个 Web 服务
第 5 章:实体基础(
JPA
全称: Java 持久化 API ) 重点
第 6 章:消息服务( JMS 、 MDB )
第 7 章:给 EJB 增加功能( Bean 的调用、公用的标注、依赖注入、拦截器) 重点、难点
第 8 章:实体高级部分 重点
第 9 章:事务 重点
第 10 章: EJB 中的安全
第 11 章:定时服务(任务管理)
参考书: 《精通 EJB3.0
》 、 《
Java Enterprise Bean3.0 》
第 1
1
1
1
章: EJB
EJB
EJB
EJB
概述(企业级程序背景知识、 EJB
EJB
EJB
EJB
概念、原理)
一、 EJB
EJB
EJB
EJB
是什么? What?
What?
What?
What?
Enterprise Java Bean 企业 JavaBean
定义: ① 采用 Java 语言
② 开发、部署服务器端的分布式组件
③ 标准(规范)
Thread
IO
network
主讲老师:程祖红
JDBC
Hibernate
体会思想
JDBC
Hibernate
www.tarena.com.cn lujy@tarena.com.cn
2
标准(规范) JSR: Java Specification Request Java 规范请求
JCP: Java Community Process 是 95 年 Sun 公司定义的一个开放型组织
好比丐帮要制定班规,邀请各路长老相会,共同制定规范。
国内就有 JCP 成员:金蝶公司
JSR220 规范
二、企业级程序开发背景知识 Why?
Why?
Why?
Why?
⑴ 企业级程序架构发展历史
Host/Terminal 主机 / 终端
PC UTerm 终端
(只接收输入 / 输出,无计算能力)
优点: a 、安全、可靠,因为有许多冗余组件
b 、 I/O 处理能力很强
缺点: a 、昂贵
b 、升级、扩展极其不便
主流的主机厂商: IBM 主机、 Unisys 主机
Client/Server 客户机 / 服务器
在客户机中有业务逻辑,胖客户端 比如 S wing DB
客户机 (安装 GUI )
优点: a 、开发难度低、经济
b 、代码易维护
缺点: a 、维护较为困难,业务的改变需要重新安装 GUI 和后台
b 、业务面对客户的数量有限
Multi-layered 多层架构 ( B/S )
A 、接收 http 请求 业务逻辑的计算 数据的存储
B 、表示逻辑 数据访问 部分的业务逻 辑
比如存储过程
主机
Application Server
浏览器
Web 服务器
应用服务器(可选)
DB
www.tarena.com.cn lujy@tarena.com.cn
3
优点:维护非常方便
缺点:开发复杂度较高
⑵ 开发一个企业级程序考虑的问题
1 、 HA 高可用性 7x24x365
集群 : 把多个相似配置的 Server 通过网络组织在一起,形成逻辑上的概念
2 、安全
3 、集成
4 、性能
5 、中间件技术 容器提供中间件服务,组件封装业务逻辑,程序员重点在组件
组件、容器都满足标准的要求
6 、分布式组件:
A 、组件依赖于容器,而 JavaBean 直接运行于 JVM
B 、组件依赖于特定的协议
C 、组件有特定的生命周期,被容器管理的
分布式应用:应用程序的逻辑分散在多个服务器之上。
Remote Method Invocations 远程方法调用
Load Balancing 负载均衡
Transparent Fail-over 透明性容错
Back-end Integration 后端集成
Transactions 事务
Clustering 群集
Dynamic Redeployment 动态重新部署
Clean Shutdown 完全关机
Logging and Auditing 日志和评审
Systems Management 系统管理
Threading 线程
Message-oriented Middleware 面向消息的中间件
Component Life Cycle 组件生命周期
Resource pooling 资源池
Security 安全性
Caching 缓存 …
…
…
…
…
⑶ 为什么要使用 EJB (优点)
① 容器可以提供大量的中间件服务(事务、安全、资源池、缓存、集群、后端集成)
② 可以简化企业级程序的开发 EJB 组件 IDE
③ 开发分布式应用,目前三大类技术:
JVM2 方法 B
JVM1 方法 A
远程方法调用
www.tarena.com.cn lujy@tarena.com.cn
4
CORBA (公用对象请求代理架构) 由 OMG 开发的,和语言、平台无关,但要有一 套
CORBA 现有的类库;
DCoM 微软的技术,缺点就是依赖于 Windows 平台;
EJB
它们都是基于组件的技术
还有 Web 服务,但性能上目前有限制。
④ 可伸缩、安全的
三、 EJB
EJB
EJB
EJB
的基本原理
① 代理 / 委托模式
委托 :
原因: C 基于安全的原因,入口很严格
C 可能是一个远程对象, A 不知道 C 在哪台 JVM 中
记录日志、审核等
A 没办法或不方便访问 C ,这是就需要通过 Delegater 委托类来调用 C
客户端 委托类 被委托类(目标类)
委托模式的作用:
( 1 )解耦合,调用者与被调用者
( 2 )为我们提供增值服务
代理 : 要求委托类与被委托类都实现同一个接口。
代理接口
(表示实现接口)
客户端 委托类 被委托类(目标类)
② 远程方法调用 RMI
一个 Java 对象可以透明地访问运行在另一个 JVM 中的对象。即跨虚拟机,去调另一个
虚拟机中的对象的方法。
透明表示不用处理网络调用的细节。
SUN 公司提供 RMI 协议: Remote Method Invocation. 相应的 API 、命令行工具。
分布式对象: 具有网络使能的 Java 对象。此对象可以被客户端所访问,不需要考虑网 络
细节。相对与客户端,是运行在另外的 JVM 中,此对象可以透明地被远程客户端所调用。
Stub:
Stub:
Stub:
Stub:
存根对象,
( 1 )分布式对象的本地代理;
( 2 )实现了远程接口;
( 3 )编码( RMI 协议) 、解码、网络连接、寻址
Skeleton:
Skeleton:
Skeleton:
Skeleton:
骨架对象,
( 1 )接受 Stub 调用请求,将请求进行解码,将请求交给分布式对
A
Delegater
C
A
Delegater
C
IC
www.tarena.com.cn lujy@tarena.com.cn
5
象,是一种委托关系。 ( 2 )编码
所以, Stub
Stub
Stub
Stub
和 Skeleton
Skeleton
Skeleton
Skeleton
的作用就是屏蔽网络调用的细节。它们是由 RMI 的工具 rmic 来生
成的。
RMI 远程方法调用,不同 JVM 的进程。 运用代理 / 委托模式
使用 EJB 能够快速开发和部署分布式组件。分布式组件可供远程系统访问。分布式组
件又被称为分布式对象、 远程对象。 无论是同一进程内的客户, 还是进程外的客户及网络 中
的其他客户,都能够与分布式对象进行交互。
远程方法调用 (RMI) 过程涉及到的主要步骤如下:
(1) 客户调用存根 (stub) ,它是客户端提供的代理对象。 S tub 负责将网络通信屏蔽掉, 这
对于客户而言意义深远。它能够使用 Socket 访问网络中的其他资源。而且,还能够将 Java
对象(参数)转换成底层网络要求的特定格式。
(2) 借助于网络,存根能够实现与服务器端的骨架 (skeleton) 进行交互。骨架为服务器端
提供的代理对象。骨架负责将网络通信屏蔽掉,骨架能够接收来自 Socket 的访问请求,还
能够将存根构建好的来自客户的参数转换转换成 Java 表示。
(3) 骨架将来自客户的调用委派给合适的分布式对象实现。 该对象完成具体的访问请求
,
将结果返回给骨架。则骨架将结果返回给存根,最后客户获得分布式对象的响应结果。
注意: Stub 和服务器端实现的对象都实现了远程接口。
Client
Client
Client
Client
Stub
Stub
Stub
Stub
Distributed
Distributed
Distributed
Distributed
Object
Object
Object
Object
Skeleton
Skeleton
Skeleton
Skeleton
Network
Network
Network
Network
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Client
Client
Client
Client
Stub
Stub
Stub
Stub
Distributed
Distributed
Distributed
Distributed
Object
Object
Object
Object
Skeleton
Skeleton
Skeleton
Skeleton
Network
Network
Network
Network
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
Remote Interface
拦截器
远程接口
剩余54页未读,继续阅读
资源评论
- c8250824892014-08-25很基础的东西,有点老了。
xiaobai977
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功