`
jdlsfl
  • 浏览: 156594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

很多人都说EJB很难,其实EJB真的很难.

为什么这样说?

我想反问,你对EJB了解多少,EJB主要是用来做什么的,EJB是运行在什么环境下,它为什么以组件形式表现出来,J2EE的容器调用EJB的过程是怎样,如何发起结束事务,同步和并发,线程的安全等等?

你能给我解释清楚嘛?不能解答这些问题,就说明你还没有入门。

那么,首先我就来讲解一下J2EE规范。只有了解了J2EE规范你才能真正了解EJB是如何成为J2EE三大技术之首。

那么在我们学习J2EE之前,我们首先搞清楚几点。
一、什么是企业级开发?
二、在企业级开发是为什么要使用组件?
三、容器和组件之间的工作方式?
四、企业级应用程序都如何调用组件?
解释:企业级开发指的是大型、运行环境复杂、业务逻辑繁琐、海量的信息处理等等。一个企业由于发展的需要会让整个企业中存在很多异构的系统。比如95年的PC,2000的奔腾,2005的IBM服务器等等,还有可能这些计算机上的操作系统不同或者说每台电脑上装有不同的系统用来完成不同工作。而J2EE架构的诞生就是要解决这些复杂的情况,并将这些企业的资源整合到一起。
           哪么,怎样才能使得这些计算机能够在同一个环境下工作呢?我们这样来想一想,所有的计算机都是用来给我们处理信息的。所以系统与系统之前的交互也就是信息与信息间的交互,如果能让这些计算机上运行的系统都使用同一种公共的信息,那么资源是不是就整合到一起了?那么我们就会使用到某种组件,来帮我们提供这种服务。在J2EE的规范中我们就会使用到EJB组件。
          2EE给我们提供了一套企业级开发的框架,将我们所需编写程序分解成个个企业级组件。用来给异构系统提供服务,将完整单独功能的组件组合成实现复杂逻辑的服务,通过分布式的应用能够使得多台计算机同时处理大量的数据信息。制作成组件后,不但增加了组件的重用性,同时满足J2EE规范编写出来的组件可以不依赖任何的J2EE容器。
          而这些组件都对外提供一个调用的接口,外部的系统通过这些接口就可以调用实际的业务逻辑方法来处理信息。而这些外部的系统只需要满足J2EE的接口规范即可,并不需要编写世界的业务代码。并且在重用性和安全性方面也有保证。
比如:网上支付的例子,我们在淘宝上购物通过招行进行转帐,或者我们在QQ上买了QQshow需要网络支付的时候。我们是不是都是自己编写的代码去操作银行的数据库呢?显然不是,银行不会傻到这样的地步把,如果真是这样我们就可以随便更改自己账户中的RMB了。其实是招行的系统对外提供了一个转帐的接口,接口里面有一下对外暴露的方法。通过调用接口中的方法将实际需要操作的信息填充后才,传递给远程服务器来进行处理。处理完成后,招行的服务器给一个响应,这次转帐就完成了。
j2ee的体系结构:
        当然,在J2EE的体系中我们还可以采用不同的架构模式来实现企业的需求。
比如使用比较传统的CS模式的程序采用2层结构即可满足系统的开发。使用应用程序客户端和服务器端的服务来进行通信即可。

      当然还可以使用Applet或Html网页通过Web服务器来访问服务器来实现业务流程,这一种的模式相对来说,优势比较明显不受地域和软硬件的约束。

      最后一种加入前面2中模式以外还加入了EJB容器,由EJB容器来帮我们处理业务逻辑,管理事务,提供系统的安全性。最大的好处是分布式的应用和有效的资源管理,大大加强的服务器的能力。
通过以上的一些介绍:我们了解J2EE的一些优势所在。那么就来介绍一下基本的层次结构。

客户层:主要是在客户机上运行的客户端组建,平台可以是笔记本电脑,台式机,掌上电脑和移动电话等。

Web层:web层组件是在J2EE服务器上运行。Web层主要是对客户层的请求做出处理和响应。

业务层:业务层也是在J2EE服务器上运行。主要实现应用程序的业务逻辑,服务器为它提供系统级服务,如事务管理、安全性和并发控制等等。

EIS层:主要是在EIS服务器上运行,表示企业数据信息。也就是我们常说的数据库。
那么每一层都是为了系统更好的扩展而存在,每层通过封装来隐藏实现的细节,每层均向上层提供服务使得组合型的服务器会更加丰富(当然这里考虑了组件的重用性)。

J2EE组件:
说到组件,首先要介绍的是J2EE组件的组成。
J2EE应用程序是由许多不同的组件组成。但大体上可以分为三类:

第一类:EJB组件,里面包含有企业Bean(实体Bean、会话Bean和消息驱动Bean)

第二类:Web组件,里面包含JSP和Servlet

第三类:客服层组件,里面包含应用程序客户端和Applet。
企业Bean组件就是业务组件,它是在EJB服务器上运行。

里面包含核心业务和数据模型
     SessionBean 就是用来提供核心业务逻辑组件
     EntityBean 就是数据模型组件
Web组件提供了对请求的响应。
       JSP组件 显示信息,发送请求。
       Servlet组件 接受请求并调用企业Bean中的服务来处理请求给予响应。
客户端组件:包括客户端应用程序,web客户端(包含HTML客户端和Applat客户端)
分享到:
评论

相关推荐

    第18章 J2EE规范和EJB组件模型.ppt

    第18章 J2EE规范和EJB组件模型,层次越高了,好好学习吧,多学点对自己只有好处!

    EJB 规范学习文档

    对于 EJB 了解有很好的帮助,里面EJB 持久规范,核心规范,还有JMS规范,我还有其他合集文档,对你学习了解J2EE有不错的帮助。

    JBoss下部署EJB3.0

    从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳...

    EJB3.0学习资料和教程

    EJB作为企业级的数据访问/持久化标准在1999年作为J2EE规范的核心规范出现,极大的转变了java企业级开发的模式,为java软件开发提供了一个良好的架构。 EJB从1.0到2.1在J2EE架构中,都是作为一个服务器端的(Server ...

    《JMS 1.1 规范》-电子文档下载(PDF)(中文)

    作者:卫建军 Java 是当前 IT 领域中比较流行的技术之一。...这次主要翻译的规范有《EJB3 规范简化版》、《J2EE5.0 规范》、《EJB 核心规范》、《EJB3 持久化规范》和《JMS1.1 规范》。希望对大家有所帮助。

    J2EE学习笔记

    J2EE学习笔录 2 第一章:JAVA的输入输出流 2 1.1:概述: 2 1.2:主要输入输出类 3 1.3例程 建立聊天室: 5 第二章:JAVA设计模式 18 2.1:创建型设计模式 19 2.2:结构型设计模式 32 2.3:行为型设计模式 83 第三章:...

    Jboss+EJB的配置与使用实验报告

    1. 学习和了解J2EE的EJB规范 2. 学习掌握如何利用Jboss来部署和使用会话EJB (stateful & stateless) 3. 学习掌握利用Jboss+mySQL来部署和使用会话实体EJB (BMP & CMP)

    JBoss3.0下配置和部署EJB简介

    从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web操作系统(operatingsystemforweb),它体现了J2EE规范中最新的技术,并且它还在theJavaWorldEditors'Choice2002评选中获得“最佳Java应用...

    最新分布式计算课件 J2EE的体系架构和设计思想,掌握RMI、EJB等编程技术

    了解J2EE的体系架构和设计思想,掌握RMI、EJB等编程技术。通过学习,了解并行计算机体系结构的发展、流水线与超标量技术,掌握并行算法设计原则、并行程序的解析建模、使用消息传递模式编程。了解分布式的最新技术...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    ejb 3、jpa规范都属于sun公司所制订的java ee规范,因此把基于ejb 3+jpa的应用称为经典java ee架构,目前这种架构在java开发领域也有极大的市场占有率。  本书介绍了java ee规范的三大主要规范jsf、ejb 3和jpa,...

    JAVA基础教程

    java基础学习,本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JAVABEAN,EJB)均应遵守这个规范。同时,也可作为其它项目的参考。

    软件工程师Java班课程

    Java高级程序设计(J2EE) J2EE架构、EJB核心技术;J2EE主流开发工具JBuilder、应用服务器WebLogic 掌握J2EE平台的Java高级编程 Jav和XML XML, Web Service,异构系统整合、分布式应用 掌握新的java系统和传统...

    JSP针对XML文件操作技巧实例分析

    而这篇教程为什么把它放在J2EE下边呢,因为他也是J2EE的13规范之一,虽然XML是W3C万维网组织联盟指定的,并做了规范,所以说也是一种规范,我们也必须按照规范来,和JDBC,Servlet,Jsp,Ejb等一样的。 前边的文章...

    计算机网络专业毕业实习报告3000字.docx

    Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 计算机网络...

    java三大框架

    J2EE框架被大规模地运用到项目中,而项目总要负责这些框架以及自己业务代码的连接,使之真正融合到一起。Spring就是专注于这个问题的,它和Hibernate融合的很好。 这三种框架在一起并不冲突,所以现在最常用的框架...

    JAVA上百实例源码以及开源项目源代码

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    Struts原理、开发及项目实施

    MVC的工作原理,如下图1所示: <br/> Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts...

    java源码包---java 源码 大量 实例

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    java源码包2

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    java源码包3

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

Global site tag (gtag.js) - Google Analytics