J2EE的多层模型(一)架构概述

对J2EE的宏观认识上篇文章大概的介绍了一下。J2EE是一个标准,这个标准不仅定义了基本的规范和接口,也有一些比较固定的架构模型。

       J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。

       在传统的不分层的软件架构中,客户端担当了过多的角色而显得庞大而且不容易进行维护和修改,扩展性非常差,它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层。使得扩展性和重用性得到大大的提高。

      下面谈一下J2EE体系中比较典型的四层应用模型 。

       (1)Client tier客户层,运行在客户端机器上。客户层普遍地支持HTTP协议,也称客户代理。
    (2)WEB tier WEB应用层,运行在J2EE服务器上。

在J2EE中,这一层由WEB 容器运行,它包括JSP, SERVLET等WEB部件。
    (3)EJB tier 企业组件层,运行在J2EE服务器上。

企业组件层由EJB容器运行,支持EJB, JMS, JTA 等服务和技术。
    (4)EIS tier 企业信息系统(Enterprise information system)层,运行在EIS服务器上

企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。

        

       J2EE的整个应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元。J2EE的四层模型的每一层都也是对相近功能的组件的封装。

       下面简单介绍这四层组件的主要内容,每层都包括一些相应的组件,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互

       (1)客户端组件

         J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。一般为静态HTML网页、应用客户端程序、applets或其他应用。

       (2)J2EE web层组件主要包括JSP 页面或Servlets.此外web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。其实就是一些的不涉及到数据库的简单业务逻辑,能减轻客户端的负担。

       (3)业务层顾名思义就是用来处理业务了,他主要是由运行在业务层上enterprise bean 进行处理.   

       (4)企业信息系统层处理企业信息系统软件,包括企业基础建设系统例如企业资源计划(ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统.总的来说就是数据库和其他一些需要与之交互的独立系统。

          总结构和内容如下图:

          此外谈一下JSP。

         JSP在这四层模型中放到了第二层web应用层组件中,但是JSP也确实可以直接在浏览器中浏览,可以做为客户端。但为什么被放到应用层了呢?

         对于最小型的Web站点,完全可以直接使用JSP来构建动态网页,这种站点最为简单,所需要的也是基本的功能。对于这种开发模式,一个JSP和Servlets就可以完成,但是当系统规模增大的时候,这样的结构不适合多个客户同时访问资源,这样同时会有大量的请求需要服务端来处理。每个请求都会建立一个连接,消耗一定的资源。这样,需要让这些连接共享一些资源。对客户端造成极大的压力。
        另外该结构也会导致JSP中出现大量的JAVA代码。这虽然对java程序设计人员不会有什么问题,可是大量的代码分散在JSP中,专做网页的美工可不一定都懂jsp,将jsp放到客户端不利于维护和修改,。

        所以最好是使用静态的HTML文件作为web软件的客户端,所需资源较少,维护交流也方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值