很多人都说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客户端)
分享到:
相关推荐
【标题】"WebLogic + Web + EJB 部署学习 J2EE(1)" 提供了一本深入探讨J2EE开发技术的书籍,特别是针对WebLogic服务器、Web组件和Enterprise JavaBeans(EJB)的集成与部署。这本书面向有一定Java开发基础的读者,...
**J2EE规范详解** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,主要用于构建分布式、多层的企业级应用。这个平台包含了多种服务、接口和组件,以支持开发和部署大型企业软件。J2EE规范是定义...
总之,这个JSF+EJB3的J2EE项目源码是学习和理解这两种技术集成的宝贵资源,对于提升Java企业级开发技能具有重要意义。通过深入分析和实践,开发者可以更好地掌握在实际环境中如何利用这些技术来构建高效、可维护的...
学习和实践J2EE EJB开发,你需要掌握Java编程基础、面向对象设计原则以及J2EE规范。随着技术的发展,现代J2EE已经演进为Java EE(后来称为Jakarta EE),引入了更多的轻量级框架,如Spring,简化了EJB的使用。然而,...
J2EE规范涵盖了多个方面,包括但不限于: 1. **Servlet**:这是Java服务器端编程的基础,定义了如何处理HTTP请求和响应。当Servlet成为标准后,它会被集成到JDK中,并由各个中间件厂商实现,如Tomcat、Jetty等。 2...
为了深入学习J2EE,可以参考Sun Microsystems(现Oracle)提供的《JavaTM Platform, Enterprise Edition 应用设计指南 - J2EETM Blueprints》文档,它提供了官方的开发最佳实践和设计模式。 总之,J2EE是一个强大且...
了解和掌握EJB编程以及J2EE系统架构和设计对于开发复杂的企业级应用至关重要。这不仅涉及到编程技术,还包括理解软件工程的最佳实践、系统集成以及性能优化等多个方面。通过深入学习和实践,开发者能够构建出高效、...
J2EE是Java EE早期的称呼,两者在本质上是相同的。 Java EE平台由多个组件构成,包括: 1. **Java EE 平台**:这是一个标准化的运行环境,支持Java EE应用程序的部署和执行。它包含了各种服务,如Servlet、JSP...
本学习文档包含了EJB的三个重要规范:持久化规范、核心规范以及JMS(Java Message Service)规范,将对理解EJB及J2EE平台有极大的助益。 1. **EJB3持久化规范(简体中文版)** EJB3持久化规范引入了ORM(对象关系...
EJB(Enterprise JavaBeans)是Java平台企业版(J2EE,现在称为Java EE)中的核心组件之一,主要用于构建可扩展、分布式的后端企业应用。EJB规范定义了服务器端的组件模型,提供了一种安全、事务管理以及状态管理的...
EJB是Java EE的一部分,它定义了一种规范,用于创建在服务器端运行的可重用组件,这些组件可以处理业务逻辑并提供服务给客户端应用程序。EJB的核心概念包括会话bean(Session Beans)、实体bean(Entity Beans)和...
【EJB学习】 EJB(Enterprise JavaBeans)是Java平台上的企业级组件模型,它是Java EE(Java 2 Platform, Enterprise Edition)规范的一部分,用于构建分布式、事务处理、安全和可伸缩的企业级应用程序。EJB提供了...
在学习J2EE 1_4的过程中,除了上述资源,还可以参考Oracle官方文档、书籍、在线课程和开源项目,通过实践来巩固理论知识,提升技能水平。 总的来说,J2EE 1_4是Java开发人员必备的一项技能,它的学习涉及多个层面,...
J2EE是Java平台的一个版本,用于构建和部署分布式企业级应用程序,而EJB则是J2EE规范中的核心组件,提供了服务器端的组件模型。 描述中提到的“Eclipse+JBoss开发环境下必不可少的东东”,暗示了这份资料可能是...
- **易于学习与使用**:相比于复杂的EJB规范,Spring等轻量级框架的学习曲线更低,更容易上手。 - **更高的灵活性与扩展性**:轻量级框架通常提供了更多的配置选项,可以根据具体项目需求进行定制化开发。 - **更...
在这个框架中,EJB(Enterprise JavaBeans)是核心组件,用于实现业务逻辑,而JBoss则是一个开源的应用服务器,支持J2EE规范,特别是EJB的部署和运行。 Eclipse是一款强大的集成开发环境(IDE),尤其在Java开发...
### 学习J2EE:深入理解J2EE1.4平台的新特性和技术升级 在IT行业,尤其是企业级应用开发领域,J2EE(Java 2 Platform, Enterprise Edition)是一个不可忽视的重要平台。随着互联网的发展和技术的进步,J2EE也在不断...
学习J2EE还需要掌握MVC(Model-View-Controller)设计模式,这是一种常见的Web应用架构模式,用于分离业务逻辑、视图展示和用户交互。了解如何使用Struts、Spring MVC或JSF等框架实现MVC模式也很关键。 此外,容器...
对于初学者来说,掌握J2EE的学习路径至关重要,这将帮助他们系统地构建知识体系,逐步成长为专业的Java EE开发者。以下是一个详细且全面的J2EE学习路径路线图: 1. **基础篇** - **Java语言基础**:首先,你需要...
确保服务器版本与J2EE规范兼容,并且IDE已经配置了对应的服务器插件。 接下来,我们将创建一个新的EJB项目。在IDE中选择新建EJB工程,填写项目名称,然后添加所需的Bean。例如,我们可以创建一个简单的会话Bean,...