儋州怡心花园怎么样:EJB 笔记-Chapter01 企业级开发背景知识

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 17:46:16

Chapter01 企业级开发背景知识

一、什么是企业级程序(EnterpriseApplication)?

  具有以下特点的程序:

  (1)围绕商业目的;

  (2)分布分层的程序架构。

二、企业级应用的架构发展历史

Host/Terminal(主机/终端,终端不具备处理能力,数据由主机处理)

终端为哑终端,可接受命令,不处理命令

优点:安全(不能直接访问)

    性能优越(目前关键应用仍在使用)

缺点:使用代价过高,设备昂贵1·

    升级维护困难

C/S(Client/Server客户端/服务器端)

  终端拥有一定的计算能力,应用架构演变为C/S架构

Multi-layered(多层架构)

  Sample:Browser——Web Server——EJB Server——Database

三、为什么要使用EJB,即使用EJB的动机是什么?

  (1)大型的企业级程序分解为分层分布的应用,必须使用EJB;

  (2)构建多层程序架构;

  (3)各层独立,专注自己擅长的领域;

  (4)采用EJB可以不用考虑中间件服务(Middleware Service)

Tips:中间件服务

1,RMI(Remote MethodInvocations, 远程调用)

2,Load Balancing(负载均衡,将访问负荷分散到各个服务器中)

3,Transparent Fail-over(透明的故障切换)

4,Clustering(集群,用多个小的服务器代替大型机)

5,Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)

6,Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)

7,Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)

8,System Management(系统管理)

9,Threading(多线程处理)

10,Message-oriented Middleware面向消息的中间件(异步的调用编程)

11,Component Life Cycle(组件的生命周期管理)

12,Resource pooling(资源池)

13,Security(安全)

14,Caching(缓存)

 

四、什么是EJB?

EJB是采用Java语言开发、部署服务器端的分布式组件的标准和框架。

分布式组件:

程序=业务+底层中间件服务

组件:按照一定的规范开发,并部署到相应的容器中适当的对象和相关部署文件。

分布式组件:

多个容器之间的组件需要进行跨容器调用。

EJB:动态可伸缩的、可靠、安全的组件框架。

   与中间件服务提供商无关,采用EJB开发,不用考虑容器。

五、EJB可以用在哪些地方?

  业务运算。

六、EJB的价值

  (1)行业标准(Industrystandard)

  (2)便携性

  (3)快速开发

七、EJB的运行机制

  (1)代理/委托模式

代理模式:存根(Stub)和拦截器(Request interceptor)都使用了同一个远程接口(Remote Interface)。

委托模式:拦截器将业务请求委托EJB来负责。

 

  (2)显示中间件服务:

  缺点:生产率底下

        代码维护困难(中间件服务与业务逻辑纠缠)

  优点:细粒度地控制中间件服务

    什么叫粒度:对象的相对大小,对客户端暴露的细节的程度。

  (3)隐式中间件服务:不直接调用中间件,采用配置文件来声明中间件服务,容器自动调用。

  优点:相对与显示中间件服务,开发进度加快,容易维护。

  缺点:粗粒度,只能在方法级来声明中间件服务,稍微影响性能。

API:

Request interceptor:拦截器,拦截中间件服务,负责调用相应的中间件API,业务调用交给相应的API。

Stub/Skeleton:屏蔽了网络调用的细节,拦截器屏蔽了中间件调用的细节,EJB只需考虑对象的调用,

Stub、Skeleton、Request Interceptor由容器生成。

编程需要写的类:业务接口(Remote Interface),EJB,客户端(Client,用于访问EJB)。

 

  EJB是怎么运行的:

  (1)开发出来的EJB对应的Stub被应用服务器或容器(如 Sun Application Server)绑定到JNDI服务器,名称为全限定名。

  Stub相当于远程对象在本地的代理,屏蔽了网络调用,编码,解码,协议转换等细节。

  (2)客户端通过上下文(Context),找到Stub。

八、EJB生态系统的八个角色

九、SOA(面向服务架构)

  (1)程序由多个服务构成;

  (2)服务是由一组相关的组件构成,完成某个特定的业务功能,服务可由不同的编程语言实现;

  服务通过HTTP协议,SOAP、WSDL等相关协议实现的一种分布式应用架构。

SOA(面向服务的架构)和EJB的关系

SOAP(简单对象访问协议)

WSDL(Web服务描述语言)(Web Services)

EJB发布为Web服务,从而实现SOA。

十、Java EE相关知识

  (1) Java EE是一个标准;

  (2) Java EE是用来开发多层、分布式企业应用的平台。