从今天開始。我们共同来学习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. 二分搜索之C++实现

    二分搜索之C++实现 一.源代码:BinarySearch.cpp #include<iostream> using namespace std; /*定义输出一维数组的函数*/ void ...

  2. hdoj 5122 K.Bro Sorting 贪心

    K.Bro Sorting Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) Tot ...

  3. malloc、calloc和realloc比较

    1.先看看它们的原型(stdlib.h): void *malloc( size_t size ); void *calloc( size_t numElements, size_t sizeOfEl ...

  4. 关于php一些问题

    为什么说php是弱语言? 本身不严格区分变量的类型. 为什么说php是动态语言? 程序在运行时可以改变其结构.所谓的动态类型语言,意思就是类型的检查是在运行时做的. 为什么说php是脚本语言? 不需要 ...

  5. Centos安装Perforce

    Author: JinDate: 20140827System: CentOS release 6.5 (Final) 参考:http://www.cnblogs.com/itech/archive/ ...

  6. mysql-debug

    http://www1.huachu.com.cn/read/readbookinfo.asp?sectionid=1000002778 http://hedengcheng.com/?p=238 h ...

  7. 关于OPC Client 编写2

    最近在搞到一个OPC动态库OPCAutomation.dll,该动态库在http://www.kepware.com/可下载,下面介绍如何用C#进行OPC Client开发. 1.新建C#应用程序,命 ...

  8. java hashcode()和equal()方法比较

    通常equals,toString,hashCode,在应用中都会被复写,建立具体对象的特有的内容. 之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很 ...

  9. Spring-4.0 + Quartz-2.2.1 集群实例(Tomcat+Memcached+Quartz集群session共享)还是没有解决Serializable序列化

  10. [部署Mantis]用Administrator注册新用户时设置密码

    伤不起的Mantis邮箱配置,在新的Mantis配置里面默认通过接收激活邮件来设定密码. 如果你Mantis邮箱配置OK的话一切OK,遇到我这样死活配不成功,网络上大神们众说纷纭,一一参照,无奈死伤无 ...