EJB学习笔记
J2ee是企业级的计算平台,它为分布式和基于组件的软件开发提供了一个“操作系统”
Ant是什么工具??
EJB:
什么是EJB?
是一种server端组件结构,简化了开发分布式企业级程序的过程
类比:应用server是一个CD播放器,而组件是一张cd,由于有了cd标准,不论什么cd播放器都能播放cd
EJB分为两个部分:
1、 规范
列出了组件与应用server之间相互约定的规则
2、 一组java接口
组件和server都应该
Java bean 与ejb的差别?
Javabean仅仅是一个含有get/set的java类,javabean是不能部署的
EJB中的角色分工:6种分工
1、 bean供应商:编写组件
2、 应用系统组装商:整个系统的架构师,组织组件协同工作
3、 EJB系统部署员:了解各种执行环境,知道怎么样在server中部署bean
4、 系统管理员:维护和监控已经部署好的系统
5、 容器和server提供商:如weblogic、websphere等等
6、 工具供应商:Jbuilder、wsad、Juint、ant等等
EJB技术是基于RMI和JNDI的,学习之前应了解这两项技术
一个企业级BEAN是一个能够在分布式环境中部署的server端软件组件,一个EJB可能是由一个或者多个java对象组成,Bean用户不必关系组件的组成,它们仅仅和组件的接口打交道。
Bean类型:
1、 会话Bean
模拟商务过程对象,就像动词一样,运行动作
2、 实体Bean
模拟商务数据对象,就像名词一样,如产品、订单等等数据库对象
3、 消息驱动Bean
与会话Bean相似,也是代表动作,仅仅能通过消息来调用它们
全部的Ejb类都必须实现的接口是:javax.ejb.EnterpriseBean
全部的会话bean都必须实现javax.ejb.SessionBean接口
全部的实体bean都必须实现javax.ejb.EntityBean接口
全部的消息驱动bean都必须实现javax.ejb.MessageDriveBean接口
◆远程接口(Remote接口):
EJB对象必须clone bean类的每一个公开的商务方法,bean供应商编写了一个特殊的接口,该接口复制相应的bean类的全部公开的商务方法,该接口称为远程接口(Remote接口)
全部的Remote接口必须来源于javax.ejb.EJBObject
client不能直接调用EJB,client调用的是EJB对象,而不是调用Bean,是client-》EJB对象-》EJB
什么是EJB对象?
EJB对象把全部的client请求都传递给bean,是一种代理对象,具有网络功能,EJB对象把client和Bean连接在一起
client是通过EJB对象调用Bean的,那么,client是怎样调用得到EJB对象的引用的呢?
就是通过Home对象来引用EJB对象的
是EJB对象的制造生成库
功能:
生成EJB对象
查找现存的EJB对象
删除EJB对象
Home接口:
Home对象、EJB对象、Bean实例之间的关系??
因为Home接口生成Bean的速度是很慢的
能够通过本地对象高速、高效的调用企业级Bean,而不是通过EJB对象调用,本地对象实现本地接口,而不是远程接口
EJB对象:请求拦截器
远程接口:请求拦截器上的接口
Home对象:制造生成库
Home接口:制造生成库接口
必须在部署文件里声明组件对中间件服务的要求,比如,使用部署描写叙述来声明:
1、 Bean的管理和生命周期要求:指明EJB容器应该怎么管理这些Bean
2、 持久性要求:是自己处理持久性还是托付容器处理持久性问题
3、 事务处理要求:
4、 安全性要求:
EJB的部署描写叙述是一个XML文件,Bean的提供商负责描写叙述部署文件
Bean类、Home接口、Remote接口以及部署文件一旦生成,就能够打包成EJB-JAR文件了
要传递创建Bean时的參数,须要覆盖Home接口的create方法,而且要与Bean相应
EJB的位置透明:
什么是JNDI?
7、
JMS是用来发送消息到消息驱动Bean的API
EJB学习笔记的更多相关文章
- 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...
- EJB学习笔记之十(BMT事务和CMT事务)
1.前言 前两篇博客主要介绍了与事务相关的知识.比如事务的一些特性,以及并发产生的问题.本篇来解说一下EJB中两种处理事务的方式.一种是以生命式方式来管理事务(CMT):还有一种则是在EJB内部使用 ...
- EJB学习笔记六(EJB中的拦截器)
1.前言 听到拦截器,预计都不陌生,尤其是在Servlet规范中,充分应用了拦截器的概念.EJB3也提供了拦截器的支持,本质上是轻量级的AOP实现.拦截器能够将多个业务方法中的通用逻辑从业务方法中抽 ...
- [原创]java WEB学习笔记96:Spring学习---Spring简介及HelloWord
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- ETHREAD APC 《寒江独钓》内核学习笔记(4)
继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- Hibernate 马士兵 学习笔记 (转)
目录(?)[+] 第2课 Hibernate UML图 第3课 风格 第4课 资源 第5课 环境准备 第6课 第一个示例Hibernate HelloWorld 第7课 建立Annotation版本的 ...
- spring学习笔记(一) Spring概述
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书. 强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
随机推荐
- 【Java&Android开源库代码剖析】のAndroid-Universal-Image-Loader-part1
做Android app开发的同学应该都听说过或者用过nostra13的Android-Universal-Image-Loader开源库,它在图片异步加载.缓存和显示等方面提供了强大灵活的框架.之前 ...
- HTML5 Canvas 填充与描边(Fill And Stroke)
HTML5 Canvas 填充与描边(Fill And Stroke) 演示HTML5 Canvas Fill 与Stroke文字效果,基于Canvas如何实 现纹理填充与描边. 一:颜色填充与描边 ...
- 为何要fork()两次来避免产生僵尸进程?
为何要fork()两次来避免产生僵尸进程? 当我们只fork()一次后,存在父进程和子进程.这时有两种方法来避免产生僵尸进程: 父进程调用waitpid()等函数来接收子进程退出状态. 父进程先结 ...
- cpe移植framework后,。解决问题的现有数据库
最近,该公司的业务需求,原始订单apk的形式CPE.渗透framework层.这被剥离cpe,从事相当长的一段,终于有时间来写博客,记下遇到的问题,未来. 第一个问题是,原来的apk有些事情,移植fr ...
- sys_refcursor的使用方法实例
--创建过程,參数为sys_refcursor,为out型 create or replace procedure aabbsys_refcursor(o out sys_refcursor) is ...
- Python内置函数str()和repr()
内建函数str()和repr() (representation.表达,表示)或反引號操作符(``)能够方便地以字符串的方式获取对象的内容.类型.数值属性等信息. str()函数得到的字符串可读性好( ...
- 单服务器防护linux iptables脚本
#!/bin/bashiptables -Fiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP/sbin/i ...
- 啊我V办我偶看篇未改片考i
http://pan.baidu.com/share/link?shareid=3011665141&uk=338692646&third=15 http ...
- Ubuntu12.04下载Repo
操作系统:Ubuntu12.04LTS 64bit "#"号后面表示凝视内容 $cd ~ #进入下载文件夹 $mkdir bin #创建bin文件夹用于存储Repo脚本 $PATH ...
- android windows 上JNI编程
昨天学习windows上的JNI编程,JNI说白了就是java和c语言的一个互相沟通的桥梁.java能够调用JNI来完毕调用C语言实现的方法. JNI的全称是(Java native interfac ...