zoukankan      html  css  js  c++  java
  • Enterprise JavaBean 简介

    (这次科普记忆型阅读博客)

      在经历一段时间的学习之后也对JAVA EE的体系有了一个初步的认识,而如题为什么要来搞这个叫做EJB的玩意呢

      在顶层我们使用的框架是面向服务的,而在其之下的开发方法面向组件,最基层的便是面向对象面向过程的JAVA编程

      面向过程和面向对象是两种具体程序设计时的编程范式,他们没有本质区别,只是使用不同的方法和角度去观察一个世界。

      而面向服务是编写大型系统时才需要考虑的一种软件架构设计思想。

      面向组件(Component-Based Development)是一种软件工程的实践方法。

    搞清他们的分层关系之后我们就可以切入正题了:

    什么是EJB?

       JAVA EE标准中,为了解决企业大型软件的面向服务开发难题(包括但不限于服务接口定义、服务间通信、事务控制、内容持久化等)

      开发了一套用于web环境专用的javaBean,称为Enterprise JavaBean(EJB)。

      EJB是一组构建企业级web应用的专用javaBean。

      或者说,EJB是一套重量级的企业应用开发框架,使用者须遵循其规则开发具体业务逻辑。

      EJB的目标是保证企业软件开发的可伸缩性(保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统)。

      EJB的源码内容对用户是透明的(即用户不需要知道其源码内容但用户可以根据接口直接调用)。

    EJB架构

      EJB架构描述了5类内容:

      1. 对象(Object),

      2.类(Class),

      3.组件(component): 组件也是抽象的概念,符合某种规范的类的组合构成组件。J2EE来说,有什么servlet,jsp, javabean,EJB都是组件。

      4.容器(Container),容器是特殊的组件,可以包含其他组件和容器。

      5.框架(framework),就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。

    那拿老图说事的话:

    EJB组件:

      EJB既然是一套javaBean,其中按功能分为三类构件:

      1.Session bean,会话构件

      2.Entity bean,实体构件

      3.MessageDrivenBean,消息构件

      每类组件包括接口文件,类文件和配置文件等内容。

      (1)Session bean会话构件 会话构件的功能是封装业务逻辑,完成某个具体的操作。

               根据其生命周期不同,分为无状态和有状态两种:

                    Stateful Session Bean: 有状态会话 Bean,可以存储用户相关信息,在服务器端,一个 Bean 对象只为一个客户服务

                    Stateless Session Bean: 无状态会话 Bean,不存储用户相关信息,一般说来,在服务器端,一个 Bean 对象可能为很多客户服务

      (2)Entity bean实体构件 实体bean的功能是封装数据库中的数据。

               具体地说,实体bean可以生成数据的持久化对象,一个实体bean对象对应数据库表中的一行,把表中的属性映射为对象属性。

      (3) Message Driven Bean消息驱动构件

               消息驱动bean,是一种异步无状态组件,结合了 session bean 和 Java信息服务(JMS)信息监听者的功能,它允许一个商业组件异步地接受 JMS消息。

    EJB框架的设计初衷

      EJB为我们提供了很多在企业开发中需要使用到的服务,如事务管理/安全/持久化/分布式等,因为这些服务由容器提供,无需我们自行开发,这样大大减少了我们的开发工作量。另外,EJB提供了强制式分层解耦设计方法。 EJB比较适合用于大型企业的面向服务的软件开发。因为大型企业一般都会存在多个信息系统,而这些信息系统又相互关联。为了避免业务功能重复开发,实现最大程度的重用,有必要把业务层独立出来,让多个信息系统共享一个业务中心,这样应用就需要具备分布式能力。

      (所以说在面向作业的时候这个就是宰牛刀了=-=)

    EJB框架的特点

      非EJB的应用模式的MVC应用,其显示层、控制层和业务层, 三者不能分开。

      采用EJB的应用模式的MVC应用,业务层被独立出来。也就是说,显示层和控制层可以部署在一台机器上,业务层部署在另一台机器上。

                  

    EJB比较适合用于大型企业,因为大型企业一般都会存在多个信息系统,而这些信息系统又相互关联。

    如下图所示,某公司的两个系统:网上商城系统和手机商场系统。若采用EJB模式,两个系统可以共用分离出来的业务层。

    当公司的业务发生变更时,只需修改分离出来的业务层即可。

    EJB组件运作步骤图

    EJB如何实现不同web服务器之间的互相通信

       EJB使用RMI(远程方法调用)实现不同Java虚拟机之间的对象调用。

       使用webServiceCORBA等技术实现java虚拟机与非java程序服务器(如C ,python等)的数据交换问题。

        实现不同web服务器之间的相互通信,是实现面向服务架构的基础环节。

    (暂时就这样子了。课程需要的阅读=-=开眼开眼啦。至于EJB的下载配置以及创建EJB项目写到其他里面了啊=)

  • 相关阅读:
    webService总结(一)——使用CXF公布和调用webService(不使用Spring)
    男人最佳的生育年限,程序猿们,看看吧!!!
    软考之路(5)——计算机组成原理之加密技术和认证技术
    新安装mysql 第三方工具连接不上问题
    JQuery text()、html() 以及 val()
    DOM
    Spring Boot 学习
    JSON
    Nodejs 配置+基础
    配置-
  • 原文地址:https://www.cnblogs.com/Stringair/p/6701376.html
Copyright © 2011-2022 走看看