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

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

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

这里是我对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在分布式开发中的作用:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1NzY1MDIzMDUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" height="390" width="592" alt="">

如上图,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版本号为主进行介绍。

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

  1. ABP理论学习之开篇介绍

    返回总目录 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇----开篇介绍.开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过, ...

  2. React与ES6(一)开篇介绍

    React与ES6系列: React与ES6(一)开篇介绍 React和ES6(二)ES6的类和ES7的property initializer React与ES6(三)ES6类和方法绑定 React ...

  3. “Zhuang.Data”轻型数据库访问框架(一)开篇介绍

    目录: “Zhuang.Data”轻型数据库访问框架(一)开篇介绍 “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象 框架介绍 该框架主要用于数据库访问,封装了包括 ...

  4. LinQ开篇介绍

    语言集成查询(LINQ)是 Visual Studio2008中引入的一组功能. 可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ引入了标准易学的数据查询和更新模式,能 ...

  5. 一、Go语言开篇介绍

    Go语言开篇介绍 Go语言 是Google公司 在2007开发一种静态强类型.编译型语言,并在 2009 年正式对外发布. Go语言以其近C的执行性能和近解析型语言的开发效率,以及近乎于完美的编译速度 ...

  6. Ejb in action(六)——拦截器

    Ejb拦截器可以监听程序中的一个或全部方法.与Struts2中拦截器同名,并且他们都可以实现切面式服务.同一时候也与Spring中的AOP技术类似. 不同的是struts2的拦截器的实现原理是一层一层 ...

  7. .NET Core IdentityServer4实战-开篇介绍与规划

    一.开篇寄语 由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的 ...

  8. Machine Learning in Action(0) 开篇

    现在貌似In Action很流行,各种技术抽象成工程商的Action,可以避开繁琐的内部原理,这本书从实践出发,通俗易懂的解释那些常用的机器学习算法,类似跟<集体智慧编程>.这本书中文出版 ...

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

    前面.我们介绍了一个入门实例.事实上那就是无状态回话Bean的经常使用情况. 上一篇文章中.我们介绍了无状态会话Bean和有状态会话Bean的相关概念.为了加深大家对它们的理解,我们一起来实现一个有状 ...

随机推荐

  1. [BZOJ1758][WC2010]重建计划(点分治+单调队列)

    点分治,对于每个分治中心,考虑求出经过它的符合长度条件的链的最大权值和. 从分治中心dfs下去取出所有链,为了防止两条链属于同一个子树,我们一个子树一个子树地处理. 用s1[i]记录目前分治中心伸下去 ...

  2. Lost connection to MySQL server at 'reading initial communication packet', system error: 0的一个解决方案

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT在icmp之前/etc/init.d/iptables restar ...

  3. 通过IP获取所在城市

    <script type="text/javascript"> var map = new BMap.Map("allmap"); var poin ...

  4. GIT(3)----问题汇总

    1.git pull出现的合并问题: Please enter a commit message to explain why this merge is necessary,especially i ...

  5. Aptana studio 3配色方案的修改方法

    http://www.weste.net/2013/1-29/88614.html Aptana studio 3的确是一个不错的IDE,但是默认的黑底白色代码样式看时间长了有点审美疲劳了,如何能够更 ...

  6. .Net中的插件框架Managed Extensibility Framework

    Managed Extensibility Framework(MEF)是微软的一个用来扩展.NET应用程序的框架,它最初为了满足Visual Studio里的编辑器的需求,比如说,延迟加载所有东西和 ...

  7. How to check Ubuntu version

    Below you can find some tips on how to check Ubuntu version you are currently running. The first pla ...

  8. 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期

    原文:https://blog.gitee.com/2018/08/19/weekly-81/ 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期 码云周刊 | 201 ...

  9. window消息机制二

    消息机制 windows是一个消息驱动的系统,会有一个总的系统消息的队列,鼠标.键盘等等都会流入到这个队列中,同时会为每个线程维护一个消息队列(注意默认是有GUI调用的线程才有,对于没有GUI或者窗口 ...

  10. [ IOS ] iOS-控制器View的创建和生命周期

    reference to  : 1. 控制器View的创建 首先我们来看一下控制器view创建的流程图 控制器view加载.jpeg 从图中我们可以看出,在控制器view加载过程中有两个重要的方法lo ...