目录

Introduction to EJB

What is EJB


Introduction to EJB

EJB(Enterprise Java Bean)Java企业组建:用于开发分布式、健全、安全的企业级应用。

目前EJB3.2是最新版(这篇文档上说EJB3.2是最新版,我不知道现在【2019-09-23】EJB最新版本是多少),EJB3开发速度比EJB2快得多,原因是EJB3使用更加简单及增加了很多注解如@EJB、@Stateless、@Stateful、@ModelDriven、@PreDestroy、@PostConstruct等。

What is EJB

跑EJB应用程序需要一个应用服务器(俗称EJB容器),如Jboss,Glassfish、Weblogic、Websphere等。

这些容器的作用是:

1. 管理应用程序生存周期;

2. 安全;

3. 事务管理;

4. 对象缓存;

EJB应用程序是部署在服务器上,所以也叫服务端部分。

EJB和微软的COM组建差不多(Component Object Model)。

合适使用EJB:

1. 应用需要远程访问;

2. 应用需要分布式或负载均衡;

3. 应用需要封装业务逻辑。

EJB中3个bean:

Seesion Bean:会话Bean用于本地、远程、webservice客户端的业务逻辑;

Message Driven Bean:与Session Bean相似,通过传入来的消息来调用业务逻辑;

Entity Bean:他封装了数据持久层的状态,现在已被JPA代替。

下面说一个概念!

RMI(Remote Method Invocation):提供了一套创建分布式应用机制的API。并且RMI允许一个对象在另外一个JVM中调用此方法。

下面是RMI和EJB

两者都是从一个JVM中调用另外一个JVM中的对象(俗称远程调用)

RMI:中间件(安全、事务管理)是要由Java程序员自己提供的,RMI不是服务端组建,不需要部署在服务器上。RMI是建立在socket程序之上的。

EJB:中间件由EJB内部包含、EJB是服务器组建,他可以部署到服务器上,EJB是基于RMI的。

EJB和Webservcie

EJB中所有的组建和客户端都要由Java语言编写,但客户端也可以不用Java语言编写,可以提供SOAP或REST接口。

EJB的劣势:

1. 需要应用程序服务器;

2. 只能用java客户端,其他语言要使用Webservcie

3. 开发EJB是比较复杂的。

Java文档阅读笔记-EJB Tutorial相关推荐

  1. Java文档阅读笔记-JPA Tutorial

    目录 JPA Tutorial JPA Intrduction JPA Object Relational Mapping Types of Mapping JPA Tutorial JPA(Java ...

  2. Java文档阅读笔记-C3P0连接池的使用

    这篇博文如何在应用程序中使用和配置C3P0 prom.xml如下: <dependency><groupId>com.mchange</groupId><ar ...

  3. Java文档阅读笔记-JDBC Driver

    目录 JDBC Driver JDBC-ODBC bridge driver Native-API driver Network Protocol driver Thin driver JDBC Dr ...

  4. Java文档阅读笔记-Guide to the Hibernate EntityManager

    1. Introductino EntityManager是JPA的一个API,他实现了JPA2.0的程序接口和程序生存周期. 下面将介绍其使用方式. 2. Maven Dependencies 引入 ...

  5. Java文档阅读笔记-JPA中getOne()和findById的区别

    findById()和getOne()都是从数据库中检索某个对象,不过获取数据的方式是不同的,getOne()是lazy操作,这种操作甚至没有访问数据库. getOne() 返回ID的引用对象,他内部 ...

  6. Java文档阅读笔记-Spring Boot JDBC

    Spring Boot JDBC提供了使用引导和相关驱动去连接某数据库引用. 在Spring Boot JDBC中与数据库相关的bean有DataSouce,JdbcTemplate,NamedPar ...

  7. Qt文档阅读笔记-Widgets Tutorial官方解析及实例

    目录 官方解析 博主栗子 官方解析 QWiget通常作为其他窗口的容器,可以使用QWidget到达最小代价定义自定义控件(经验:通常可以采用子类QLabel做成自定义控件) 可以通过构建他的父类对象来 ...

  8. Qt文档阅读笔记-共享库的创建与调用

    使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...

  9. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图

    Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图 QHeightMapSurfaceDataProxy:是Q3DSurface的一个基本代理类. 他是专门加载高度图. 高度图是没有X, ...

最新文章

  1. python 字典循环_Python字典遍历操作实例小结
  2. 滴滴基于 Flink 的实时数仓建设实践
  3. Android笔记-Xposed的使用(Hook登录函数获取用户名密码)
  4. php软件开发--php进阶
  5. CentOS7没有ftp命令的解决方法
  6. 解线性方程组的迭代法(高斯-塞德尔迭代法)
  7. [系统安全] 十三.熊猫烧香病毒IDA和OD逆向分析(中)病毒释放机理
  8. EasyAR(一)——显示模型
  9. 白杨SEO:淘宝客、淘客是什么、赚钱方式及怎么入门和推广引流?
  10. Ubuntu 14.04重装mysql
  11. 计算机组成原理-I/O系统
  12. Android调用聚 合 API
  13. Java读文件和写文件
  14. 01-计算机网络术语中英文对照
  15. 新辰:浅谈那些被挑毛病的90后创业者 到底谁错了?
  16. 对称轴(Symmetry)
  17. 怎样用c语言实现CPU超频,教你用最简单的方法给你的显卡超频
  18. 解读少儿编程教师的日常工作
  19. 判断2-100之间的质数
  20. 少儿编程应该学哪些课程

热门文章

  1. 采用oracle过程发邮件
  2. nginx安装ngx-pagespeed 不断出错啊
  3. linux 系统维护的几样工具
  4. SharePoint 2007 SP2 发布
  5. FreeEIM 在盛大的开幕仪式结束之后
  6. 飞鸽传书有多少用户?
  7. FreeEIM在树上一会儿荡秋千
  8. 飞鸽传书2009的“真正价值”
  9. 程序员应该学的追女孩方法
  10. 准备程序员面试?你需要了解这 14 种编程面试模式