Ejb in action(一)——开篇介绍

从今天開始。我们共同来学习JavaEE中一个很重要的规范:Ejb。

既然您已经找到了这篇文章。就说明您至少已经对分布式开发有个大体上的概念了。之前没了解过也没关系。正好通过咱们的共同学习,一起来了解它以及深入地学习它。

首先。我们来看一些Ejb的总括图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1NzY1MDIzMDUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

这里是我对Ejb这一块儿知识进行的整理分类,以下我们看一下Ejb的概念。

也就是说。我们在深入展开学习之前,我们要弄明确:什么是Ejb?

Ejb也就是Enterprise JavaBeans,它是JavaEE分布式开发中的中间件,它定义了Javaserver端服务框架的规范。

比方事务、安全、JNDI等等。

百度百科给出的解释例如以下:

EJB是sun的server端组件模型。设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统能够不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包含网络服务支持和核心开发工具(SDK)。
在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean。是Java的核心代码。各自是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

了解了Ejb的概念。我们还须要了解Ejb容器以及Ejb在分布式开发中的作用:

如上图。Ejb容器提供了分布式应用的执行环境。

client能够通过RMI或者通过JNDI对当中业务进行訪问。

以下我结合几个问题,谈谈对Ejb的看法:

1、我们既然已经有了普通的JavaBean,为什么我们还须要Enterprise JavaBean呢?

我们在开发中,当然能够写普通JavaBean,来完毕后台开发。

可是在分布式开发中使用普通的JavaBean,我们就须要考虑非常多与业务需求无关的业务。比方安全问题,我们无法保障。分布式事务,须要我们自己手动写代码维护等等这些,这些假设我们手动维护,就大大提高了对开发者的要求,他们须要写大量的反复代码。且不利于维护。

Enterprise JavaBean,可以获得Ejb容器以及Ejbserver提供的服务。它就行帮我们做这些与业务逻辑关系不是非常大可是极其重要的事情。我们就行将很多其它的精力放在业务逻辑的实现上。而它的使用非常easy。与编写普通的JavaBean没有什么太大的差别。

2、在分布式开发中,毫无以为。Ejb担当起了后台服务开发,那Ejb的各种Bean、Ejb容器、Ejbserver是怎样结合工作的呢?

我们都知道。Ejb是重量级中间件。我们通过全然透明的方式对它进行訪问,尤其是在Ejb3.0中。我们仅仅须要几行注解,就配置好了事务。或者仅仅须要写几行注解,就注入了你所需的服务或资源。

我们将业务逻辑写到Enterprise Bean中。打成jar包或者war包或者ear包。部署在部署在Ejb容器上。

在Ejb容器中。包括着各种通用性的服务,也就是说,Ejb的server通过Ejb容器,向外提供服务;儿Enterprise Bean也是通过Ejb容器,间接获得所需服务。

也就是例如以下图:

Ejb发展至今,已经到了成功公布到了Ejb3.0版本号。

事实上在Ejb2版本号中。功能已经比較完好。可是较为臃肿。

学习使用也较为复杂,比方学习Ejb2。须要了解各种Home接口。

而在Ejb3.0版本号中,以简化开发模型为中心进行又一次设计。它将实体Bean替换为POJO,实体中不须要有Ejb专有的代码,在逻辑上,他们仍然支持远程与非远程接口。

所以,今后我们以介绍Ejb3.0版本号为主进行介绍。

时间: 2024-10-01 15:18:07

Ejb in action(一)——开篇介绍的相关文章

Ejb in action(七)——message与JMS

在我们展开对MDBs的学习之前,我们需要了解message(消息)与JMS(Java Message Service)的概念.我们在Java EE中谈论消息,实际上就是意味着实现一个松耦合的过程,系统组件之间的异步通信. 在开发中,许多组件之间的调用都是同步的,像简单的方法调用.Java的RMI等.而此处的异步调用区别于此.在很多时候,使用异步消息能够提高用户体验. 拿CSDN的注册功能来举例:用户点击注册之后,这时客户端向服务器发送一个请求,服务器进行处理后,将注册成功的提示消息返回给客户,同

Ejb in action(六)——拦截器

Ejb拦截器可以监听程序中的一个或所有方法.与Struts2中拦截器同名,而且他们都能够实现切面式服务.同时也与Spring中的AOP技术类似. 不同的是struts2的拦截器的实现原理是一层一层的拦截器包住一个action,拦截Action请求,在自己的拦截器里面自定义内容. Struts2中的拦截器可以说是个过滤器,把不想要或不想显示的内容过滤掉.拦截器可以抽象出一部分代码用来完善原来的Action,同时可以减轻代码冗余,提高重用率.如一些登录验证.权限限制等. Spring的两大主要功能就

自己动手写处理器开篇介绍

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是开篇,我尽量每周四篇 内容简介 本书使用Verilog HDL设计实现了一款兼容MIPS32指令集架构的处理器--OpenMIPS.OpenMIPS处理器具有两个版本,分别是教学版和实践版.教学版的主要设想是尽量简单,处理器的运行情况比较理想化,与教科书相似,便于使用其进行教学.学术研究和讨论,也有助于学生理解课堂上讲授的知识.实践版的设计目标是能完成特定功能,发挥实际作用. 全书分为三部分.第一部分是理论篇,介绍了指令集架构.Ve

LinQ开篇介绍

语言集成查询(LINQ)是 Visual Studio2008中引入的一组功能.可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ引入了标准易学的数据查询和更新模式,可以扩展该方法来支持任何类型的数据存储. Visual Studio 包括 LINQ 提供程序集,后者支持将 LINQ 与.NET Framework 集合.SQL Server 数据库.ADO.NET 数据集和 XML 文档结合使用. 在LINQ查询中,可以使用相同的基本编码模式来查询和转换xml文档

Ejb in action(五)——会话Bean的生命周期

会话Bean与消息驱动Bean.实体Bean的最重要的区别在于生命周期的差异性.会话Bean实例存活期较短,它和线程类似,包括对象的创建.初始化.运行.钝化.激活.销毁. 生命周期的概念,了解生物学的童鞋一定对这个概念不陌生.这里所谓的生命周期,就是指EjbBean实例存在的各个阶段中,提供的一些注解方法.在运行时,Ejb容器会动态调用这些方法. 关于会话Bean的生命周期,Ejb3.0中一共提供了6个注解方法,这些方法都适合有状态会话Bean,而只有@postConstruct和@PreDes

Swift视频教程第1讲开篇介绍

Swift视频教程第1讲开篇介绍 一.在线浏览 视频内容:Swift视频教程第1讲开篇介绍 Xcode版本:6.1 个人主页:http://00red.com 二.百度网盘资源下载 PPT下载 高清视频下载 三.Swift程序入口深度分析(课外拓展) 1.swift为什么不需要main 在c/c++及其它语言中都有一个main函数,程序从main作为起点,开始执行程序,如下: 1 2 3 4 int main(int argc, const char * argv[]) { printf("He

[Java聊天室服务器]实战之一 开篇介绍

前言 学习任何一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列虽然涉及的是socket相关的知识,但学习之前,更想和广大程序员分享的是一种心境:学习是一个循序渐进的过程,心态应该随时调节,保持戒骄戒躁的状态.比如最近在看网易公开课MIT<算法导论>,老师提到,学习算法之前要计算机数学+离散数学+概率论等课程的知识,所以一直学不好算法的程序员不妨从基础入手,这都是中国式教育惹的祸啊!(此处省略一万字......)

Ejb in action(四)——购物车实例演示有状态会话Bean

前面.我们介绍了一个入门实例.事实上那就是无状态回话Bean的经常使用情况. 上一篇文章中.我们介绍了无状态会话Bean和有状态会话Bean的相关概念.为了加深大家对它们的理解,我们一起来实现一个有状态会话Bean的样例--模拟购物车. 这个样例很经典:一个client购物的过程中.服务端会创建一个SessionBean保存着这一client的状态.client买的东西,都会在服务端进行存储. 也就是说.自始至终,一直存在一个有状态会话Bean对象.与该client进行交互. 以下来看详细实现:

带你玩转Visual Studio——开篇介绍

开篇之前,先唠叨几句 本人从事C++开发工作一年半,总想就C++开发方面写点东西.写什么呢?想了一下还是写点跟开发密切相关的吧,要说跟开发最密切相关的那莫过于就是开发工具了,也就是常常说的集成开发环境(IDE). 这一年多从事的是C++的跨平台开发,在Linux和Windows下都开发过,但主要还是在Windows下进行开发(一般会在Windows下开发,多个平台下编译),因为Windows下有强大好用的开发工具,那就Visual Studio. 讲述的范围 本系列博文讲述的内容为: Windo