EJB(Enterprise Java Bean)是J2EE规范的重要核心,它是一个用户分布式业务应用的标准服务端组件模型,它是一种能够高速开发大规模企业应用的组件体系结构。上面这样官方的解释可能对于刚開始接触EJB的人来说还是非常晦涩,只是相信对于已经接触过J2EE规范的人来说,理解起来并非非常困难,J2EE制定出了一套规范,EJB是当中之中的一个,它像JSP、Servlet等规范一样,在这里的定义也仅仅是个模型、结构。

EJB帮助我们攻克了开发一个大型分布式企业应用底层那些系统级的问题(分布式事务、訪问控制、远程方法訪问),系统的提供一种可重用、通用的解决方式。

对于业务开发者来说,主要精力集中在EJB组件的开发上,然后将EJB组件放置于EJB容器之中,这样就能够对完提供完整的业务服务。EJB容器是标准的。这样EJB组件便能够在不论什么EJB容器之间进行移植,我们能够试想。server端有多个实现了EJB容器标准的应用server,我们将开发好的业务EJB组件置于不同的应用server端执行。以此达到应用的可移植性与扩展性。

分类

基于EJB3的分类:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

之所以没有将实体Bean放到分类中,是由于在EJB3中。提出了JPA规范替代了原有的实体Bean规范,有些资料上说JPA规范是EJB规范的当中一部分,实际上JPA能够独立EJB单独使用。

Session Bean:“代表一个可处理应用中业务逻辑的完整组件,主要包括了各种业务逻辑的实现代码。

”Session Bean分为有状态、无状态两种,详细的差别将会在后面的文章中详细说明。

MDB:Message Driven Bean。是由JMS驱动运行。是异步消息的消费者。我们能够把它理解成消息的监听器。类似于事件监听器,仅仅只是前者针对的是JMS的消息。后者监听事件源上的事件。

MDB是由无状态的Session Bean演变而来,相对于Session Bean,MDB的最大优势在于全然解耦。client无需知道MDB的存在与否,他们仅仅须要向Destination发送消息。就能够实现相互通信。

总结

在这里作为一个EJB3.0的入门。我们仅仅对EJB的概念、用处、分类等进行了简单阐述与简单的比較,随着EJB的发展,对于开发者的应用。已经简单了非常多。

后面随着对EJB3.X的学习与应用,将逐步总结EJB涉及到的相关技术点以及设计理念的内容。敬请期待!

不吐不快之EJB演练——开篇概述的更多相关文章

  1. 花了5天时间,终于解决了一个bug,心情非常愉快,憋了这么久,不吐不快

    http://www.cnweblog.com/fly2700/archive/2011/12/06/318916.html (转载) 花了5天时间,终于解决了一个bug,心情非常愉快,憋了这么久,不 ...

  2. Docker小白到实战之开篇概述

    前言 "不对啊,在我这运行很正常啊",这句话小伙伴们在前几年应该听得很多:每次一到安装.部署时总有一堆问题,毕竟操作系统版本.软件环境.硬件资源.网络等因素在作怪,此时难免会导致开 ...

  3. 关于C#本质论和CLR via C#中译本,不吐不快

    C#本质论和CLR via C#两本好书,周老师可能是俗务缠身,太忙了吧,翻译得只能让人呵呵了. 你要是忙,别接那么多活好不啦. 现在都在说供给侧改革,都在大力提倡工匠精神,我们做技术的,还是踏实点好 ...

  4. shopnc 商城源码阅读笔记--开篇概述

    关于shopnc 以下是摘抄自百度百科的关于shopnc的介绍: ShopNC商城系统,是天津市网城天创科技有限责任公司开发的一套多店模式的商城系统. 本系统具有商城系统非常完整和专业的功能与流程,系 ...

  5. Protocol Buffer学习教程之开篇概述(一)

    1. Protocol Buffer是什么 Protocol Buffer是google旗下的产品,用于序列化与反序列化数据结构,但是比xml更小.更快.更简单,而且能跨语言.跨平台.你可以把你的数据 ...

  6. 吐个槽,对VB6.0 还有VBS 说ByeBye

    往事不堪回首,折腾了个把月的老系统,心中郁结,不吐不快.系统架构是ASP +VBS +VB6.0 + SQL Server2000, 第一个版本开发完成大概是在2000年.基本是处于交接无力,看代码就 ...

  7. 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)

    不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...

  8. 一文告诉你Java日期时间API到底有多烂

    前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...

  9. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

随机推荐

  1. python 定义二维数组

    1. myList = [([0] * n) for i in range(m)],n是列,m是行 >>> array=[([0]*3) for i in range(4)] > ...

  2. React 中组件的生命周期

    先上代码, react 用的是 15.0.1 <!DOCTYPE html> <html> <head> <script src="./build/ ...

  3. 安卓 内容提供者 sql 区别

    韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 内容提供者 用户只需关心 操作数据的url 就可以了. 实现 了 应用间 数据共享.可以操作数据 ...

  4. 在intellij idea 中进行android 单元测试

    本次用来测试的代码是sqlite进行数据操作. ######右键选择要进行单元测试的应用 #############弹出选择框,选择Android>Test Module>Next ### ...

  5. BZOJ 3997 [TJOI2015]组合数学(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3997 [题目大意] 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右 ...

  6. 【高斯消元】CDOJ1784 曜酱的线性代数课堂(二)

    高斯消元求矩阵秩板子. #include<cstdio> #include<cmath> #include<algorithm> #include<cstri ...

  7. 【kd-tree】hdu5992 Finding Hotels

    比较裸的kd-tree,但是比较考验剪枝. 貌似除了经典的矩形距离剪枝之外, 还必须加个剪枝是某个矩形内的最小价格如果大于价格限制的话,则剪枝. #include<cstdio> #inc ...

  8. bzoj 4627: [BeiJing2016]回转寿司

    4627: [BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿 司带给小Z的味觉感受是不 ...

  9. Problem F: 加密程序2

    #include<stdio.h> int main() { int i; ]; while(gets(a)!=NULL) { ;a[i]!='\0';i++) if('A'<=a[ ...

  10. Mac电脑,Andorid studio 配置 Flutter

    1,下载flutter cd ~/Library/ git clone -b dev https://github.com/flutter/flutter.git 2,环境配置: 这里配置用户级别环境 ...