EJB总结

http://blog.sina.com.cn/s/blog_8ce4eca80101azdd.htmlEJB详解

http://blog.csdn.net/han_yankun2009/article/details/22784559

http://www.cnblogs.com/iOS-mt/p/5640330.html

http://www.cnblogs.com/yjmyzz/p/3518386.html比较好的说EJB和Spring之间区别

EJB——Enterprise JavaBean

EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序当然,还有许多方式可以实现分布式应用,类似微软的.net技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB 是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,EJB称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDrivenean)。EJB 是为"服务集群"和"企业级开发"提供服务。

服务器集群与企业级开发

         服务器集群即将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。在集群系统中,所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离组件的错误和失败,并可透明的向集群中加入组件。用户的公共数据被放置到了共享的磁盘柜中,应用程序被安装到了所有的服务器上,也就是说,在集群上运行的应用需要在所有的服务器上安装一遍。当集群系统在正常运转时,应用只在一台服务器上运行,并且只有这台服务器才能操纵该应用在共享磁盘柜上的数据区,其它的服务器监控这台服务器,只要这台服务器上的应用停止运行(无论是硬件损坏、操作系统死机、应用软件故障,还是人为误操作造成的应用停止运行),其它的服务器就会接管这台服务器所运行的应用,并将共享磁盘柜上的相应数据区接管过来。

企业级开发指大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。

企业级开发指大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。

在EJB中通过部署描述符的方式来使用JNDI在网络中查找各种资源 ,使EJB更具有健壮性。构件开发人员开发那些实现了应用系统逻辑的构件,将不同的构件部署到不同的服务器中,从代码代码的复用上升到应用级组件的复用,使逻辑能够在更大程度上得到复用,而这种分布式部署也大大降低了耦合度。总而言之J2EE中,EJB及其他J2EE技术的配合使应用更具健壮性、各个模块之间松散耦合、组件达到逻辑复用。

EJB工作原理

一个软件的核心部分是它的业务逻辑。业务逻辑抽象了整个业务流程,并使用计算机语言将他们实现。J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE 中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB组件。

如下图:将一个完成的业务逻辑抽象出来划分为3个功能模块,并将3个功能模块的逻辑实现分别部署到服务器A、B、C上,客户端通过网络将信息传递给服务器A、B、C,信息经由服务器处理后将信息返回到客户端显示或者再通过网络存储到数据库中

以下来源于网上外加一点自己的随笔。

--------------------------------------------------------------------------------------------------

到底EJB是什么

  到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水。百度了很久,也从网络的文章的只言片语中,渐渐有了头绪。

  用通俗话说,EJB就是:"把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了"。是的,没错!EJB 就是将那些"类"放到一个服务器上,用C/S 形式的软件客户端对服务器上的"类"进行调用。快崩溃了吧!这么几句就非常清楚的解释了EJB是什么(也是本人在高人的博文里看来的),而很多文章总是执着于解释EJB原理,EJB出现的意义。

  

  再次将这篇费了很大力气找的文章地址贴出来,博文对EJB的原理和实质的解释非常清晰:http://blog.csdn.net/jojo52013145/article/details/5783677

  另外,EJB的出现引起很大的争议,这里一片引用一篇,04年的,有点老了,但其对自己的看法做了详细的阐述:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7227796945468d4e419ce3b46111727feed7c63525483846b6776fc081efdf142226a5060e1c09e9f4babba993f2f8c7c62671df04019d41dabdf037881769f4d98ab0e93bbe74493b9a2d4c855239d0b55&p=9972c35d85cc45fe0ebd9b780864&user=baidu&fm=sc&query=???EJB&qid=92abc8ea09204a86&p1=10

  

  EJB在架构中所处的位置如上图,EJB在J2EE开发中的详细:

总结:

a.EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

b.RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。

c.服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。

时间: 2024-10-12 20:34:52

EJB总结的相关文章

【J2EE浅析】——EJB

一.EJB概述 EJB(EnterpriseJava Bean)--java企业Bean,是J2EE十三种规范的一部分,为服务器端组件模型,设计目标与核心应用是部署分布式应用程序.EJB是java的核心代码,包括三种Bean类型:会话Bean(Session Bean),实体Bean(EntityBean)和消息驱动Bean(MessageDriven Bean). 通俗的说,EJB就是一个运行在独立的服务器上,封装了业务逻辑的组件.在一个商务软件中,核心部分就是其业务逻辑,它抽象了整个商务过程

EJB概述

Ejb(Enterprise JavaBeans)是使用java语言构造可移植的.可重用的和可伸缩的业务应用程序的平台. 从开发者的角度,EJB是在称为EJB容器的特定运行时环境中执行的一段java代码,容器提供若干组件服务. EJB组件有三种类型:会话bean.消息驱动bean和实体bean.会话bean和消息驱动bean用于实现EJB应用程序中的业务逻辑,而实体用于持久化. 容器以非常优雅的方式为EJB组件提供服务:当容器部署EJB时,通过指定要添加的服务类型,使用元数据注解预配置EJB.元

EJB

EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序.简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台.EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准.其特点包括网络服务支持和核心开发工具(SDK). 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Be

EJB、RMI、XMLRPC、Hessian、Thrift 、Protobuf

Java中实现分布式的方式有:EJB.RMI.XMLRPC.Web Service.Hessian.Thrift .Protobuf.NIO(Netty.Mina) EJB 优势:可扩展性好,安全性强,支持分布式事务处理. 劣势:不能跨语言:配置相对复杂,不同J2EE容器之间很难做无缝迁移. RMI 优势:面向对象的远程服务模型:基于TCP协议上的服务,执行速度快. 劣势:不能跨语言:每个远程对象都要绑定端口,不易维护:不支持分布式事务JTA,RMI框架对于安全性.事务.可扩展性的支持非常有限.

EJB对象的部署及客户端调用简单示例

一,EJB对象的写法及部署 1,新建一个EJB Project,在包里加入接口及实现类: 实现类通常以Bean结尾,并且通过注解方式指定EJB类型: 之后,部署到JBoss服务器上. 二,客户端调用 1,将EJB项目中的接口类打包,并把这个jar包加入到client项目中. 2,将JBOSS安装目录下的client目录里面的所有jar包加到客户端项目中 3,加入jndi.properties文件,将地址配置为EJB项目的发布地址 注意:这个properties文件最好反正根目录下,不然可能会产生

JBoss7部署EJB连接MySQL

该文章记录了在原有SmartHome项目基础上加入MySql数据库.配置数据源.添加实体类和配置文件.添加调用方法等,并成功使用客户端程序连接WebService,远程调用EJB连接数据库获取到数据. 开发环境:Win7,jdk1.7,JBoss AS7.1.1Final,MySql 5.6,MyEclipse 10. 一.MySQL 建表等,此处略去.(注意连接使用remote用户,不能使用localhost用户) 二.在JBoss7中配置MySQL数据源 在JBoss中配置数据库的连接需要两

EJB学习(一)——EJB和WEB打包

在做Java版高校云平台的时候,每个模块在搭建底层的时候都建立了三个项目,分别是jar项目(对象core层).war项目(对应web层)和ear项目(对应ear层),刚开始接触这好几个项目,有些蒙了.最近在总结EJB的相关知识,对这些项目有了一些基本的了解,下面就对各个项目如何打包进行一个总结. 在这之前,我们先来认识一下EJB,EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序.简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.那么打包是怎么个回事

EJB开发第一期---EJB开发配置

一.EJB 3.0简介 1.1 什么是EJB Enterprise JavaBeans是一个用于分布式业务应用的标准服务端组件模型.采用Enterprise JavaBeans架构编写的应用是可伸缩的.事务性的.多用户安全的.采用ejb编写的这些应用,可以部署在任何支持Enterprise JavaBeans规范的服务器平台,如jboss.weblogic等. EJB实际上是用于编写业务层代码.如果大家对于MVC (model-view-controller)结构的应用有所了解的话,我们知道一个

EJB究竟是什么,真的那么神奇吗??

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题事实上挺关键的,由于J2EE 中并没有说明确,也没有详细的指标或者事例告诉广大程序猿什么时候用EJB 什么时候不用.于是大家都产生一些联想,觉得EJB"分布式运算"指得是"负载均

JBOSS EAP 6.2 -EJB远程调用-客户端的配置

EJB访问方式分为远程客户端访问.本地客户端访问和WebService客户端. 所谓的EJB的远程调用是说客户端与服务端的EJB对象不在同一个JVM进程中. 本地客户端是说客户端与服务端的EJB对象在同一个JVM进程中. WebService客户端可以访问无状态会话Bean的接口,只有在业务逻辑方法被标识为@WebMethod的时候,webService客户端才可以访问到. 远程调用 在没有远程调用的时候,我们需要用到别人的数据了,就直接把别人的接口和实现都拿过来了,接着打到自己的包中,这样做一