Java之旅(3)——EJB(初始)

 1.      什么是EJB?

  最初知道EJB这个名词的时候,实在学习J2EE的十三个规范的时候,那个时候对于这个名字是那么的陌生,没有任何的理解, 在脑海中只是一个印象。

  EJB (EnterpriseJavaBean )解释:

        J2EE技术之所以赢得广泛重视的原因之一就是EJB.它提供了一个框架来开发和实施分布式商务逻辑,由此很显著的简化了具有可伸缩性和高度复杂的企业级应用程序的开发.EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用.容器负责提供公用的服务,例如目录服务,事务管理,安全性,资源缓冲池以及容错性。

  总的来说,EJB是实现分布式业务逻辑的java组件,“企业“意味着应用的扩展性、可靠性、可用性、安全性、事务性以及分布性。而EJB为客户提供可分布和可部署的业务逻辑服务,并且拥有良好的接口,在提供管理和控制服务的容器中执行。并且是在应用服务之间是可重用的。

  ?  深入探知(概念篇)

   如何理解企业级开发

   企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。

   企业级开发主要是针对企业级应用的开发。

  如何理解服务器集群

  服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。

  如何理解分布式

  分布式,就是可以放在多台计算机,同时运行的一系列程序的流程.

       EJB 就是可以实现这一机制. 比如,存数据库用的EntityBean,可是放于一台处理机上, 而用于处理一般的逻辑性的东西,如session Bean,又是可以部署到另一个机器上.  各台机器间, 可以通过JNDI 技术, RMI(远程调用技术)来相互访问,合作。

  ?  深入探知(化整为零)

  在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

  会话bean(Session Bean)

  会话bean可以执行业务逻辑的操作,比如注册、数据库操作等等。

  什么是会话?

  也就是客户端获得EJB对象开始,,然后调用EJB的方法(可以是多次),直到客户端生命周期的结束,或客户端释放了EJB对象为止,称之为一次会话。

  随着会话的终止,EJB对象也有可能被EJB容器摧毁。

  调用过程

  会话bean分为两种:有状态和无状态的会话bean。

  无状态的会话bean

  开发只有 Local 接口的无状态会话Session Bean,使用@Local 注释声明接口是本地接口。

  开发只有 Remote 接口的无状态会话Session Bean ,使用@Remote 注释声明接口是远程接口。

  当@Local 和@Remote 注释都不存在时,容器会将Bean class 实现的接口默认为 Local 接口。如果 EJB 与客户端 部署在同一个应用服务器,采用 Local 接口访问 EJB 优于Remote 接口。  

  有状态的会话bean

  每个有状态Bean在bean实例的生命周期内都只服务于一个用户,bean class的成员变量可以在不同的方法调用间维护特定于某个用户的数据。

  举例:购物车对象,每个用户都应有自己的购物车,不希望有人往你的购物车里添加或拿掉商品,而有状态Bean正好满足你的这种需求。

  实体bean(Entity bean)

  在说这个之前,我们先来理解什么是持久化?

  持久化

  在程序退出后信息可以长期保存的一种数据存储技术。

  存储java对象的使用的是RDBMS(关系数据库管理系统(Relational Database Management System),比较主要的是:

JDBC直接访问数据库;EJB entity bean;JDO技术(java Data Objects);第三方O/R工具,如hibernate,其他如IBATIS,Castor,Toplink。

  ORM(Object Relational Mapping)

  将对象映射到RDBMS的技术称之为对象—关系映射。它能够实现内存对象同关系数据的相互转化。

  Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。

  消息驱动Bean(MessageDriven Bean)

  这个暂时不做详细的介绍,在接下来的学习中我们再看。

 2.      小结

  这里只是一些浅薄的初始,在接下来的学习中将会深入的去学习,敬请期待。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-18 02:42:27

Java之旅(3)——EJB(初始)的相关文章

JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖 final修饰的变量是一个常量,只能被赋值一次 内部类只能访问被final修饰的局部变量 final,故名思意,就是最终的意思,由以上的五种特性,不过final的出现,也是有

Java之旅--关于多线程

关于多线程的知识,有非常多的资料可以参考.这里稍微总结一下,以求加深记忆. 关于多线程在日常工作中的使用:对于大多数的日常应用系统,比如各种管理系统,可能根本不需要深入了解,仅仅知道Thread/Runnable就够了:如果是需要很多计算任务的系统,比如推荐系统中各种中间数据的计算,对多线程的使用就较为频繁,也需要进行一下稍微深入的研究. ThreadLocal与synchronized 区别ThreadLocal 与 synchronized ThreadLocal是一个线程隔离(或者说是线程

JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中,也是能看到他的,所以还是非常值得去学习的一个知识点的,我们直接开车了 一.Map概述 泛型< k,v> 键值对,映射关系 基本特点 该集合存储键值对,是一对一对往里存,而且要保证键的唯一性 1.添加 put(key ,values) putAll() 2.删除 clear() remove(ob

JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接,可以看到什么样的效果 package com.lgl.socket; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; publ

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录

JAVA之旅(三十三)--TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录 我们继续网络编程 一.TCP 说完UDP,我们就来说下我们应该重点掌握的TCP了 TCP传输 Socket和ServiceSocket 建立客户端和服务端 建立连接后,通过Socket中的IO流进行数据的传输 关闭Socket 同样的,我们的客户端和服务端都是两个独立的应用 我们通过查阅API文档发现,该对象在建立的时候,就可以去连接指定主机,因为tcp是面向连接的,所以在建立socket服务时,

JAVA之旅

JAVA之旅合集 JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造

JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this

JAVA之旅(十三)--线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this 我们继续上个篇幅接着讲线程的知识点 一.线程的安全性 当我们开启四个窗口(线程)把票陆陆续续的卖完了之后,我们要反思一下,这里面有没有安全隐患呢?在实际情况中,这种事情我们是必须要去考虑安全问题的,那我们模拟一下错误 package com.lgl.hellojava; import javax.security.auth.callback.TextInputCallback

JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据类型也是可以引用的 一.基本数据类型的对象包装类 左为基本数据类型,又为引用数据类型 byte Byte int Integer long Long boolean Booleab float Float double Double char Character 我们拿Integer来举例子 //整

Java 之JavaBean 、EJB 和POJO

由于是创业公司,开发人员较少,所以公司临时决定让几个C的程序猿临时客串Java.所以避免不了有很多基础问题,今天就有两个人都问我,JavaBean和POJO的区别,我可按照自己的理解给他们大致说了下,可是仔细一推敲发现自己好像没有那么透彻的讲解很清楚,就查了下资料,记下了一些笔记和理解. 1.JavaBean JavaBean是可复用的Java组件,严格遵循Sun定义的规范要求,JavaBean是一个标准.简单来说一个JavaBean应该有下面几个特点, >类应该是public的 >属性应该p