下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

J2EE平台技术的三种类型

作者:课课家教育     来源: http://www.kokojia.com点击数:1199发布时间: 2016-08-11 12:17:19

标签: J2EE平台J2EE平台服务J2EE体系

大神带你学编程,欢迎选课

  J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE平台制定了支持多层企业级应用程序的技术,这些技术分为三种类型:服务、组件以及通信。本文就对于这是三个进行了解并讨论关于J2EE的优缺点。

J2EE平台技术的三种类型_J2EE平台_J2EE平台服务_J2EE体系_课课家

  组件

  组件是一个应用程序级的软件单元。在J2EE平台中除了本来就是组成部分的javaBeans组件以外,还支持以下的几种组件Applet、应用程序客户端、EJB组件以及Web组件。前两个是运行在客户平台上的,后面两者是运行在服务器平台上。

      J2EE组件是使用Java编程语言进行编写的。但是使用J2EE品台的不同是,J2EE组件是被集成到J2EE的应用中的,是经过J2EE规范兼容性验证的。并且在部署和正式运行的时候,是在J2EE的服务器上运行的。

  容器是J2EE中的一种系统级实体,组件的运行需要它的支持。容器可以为组件提供很多的服务。例如:生命周期管理、部署和线程之类的服务。由于这些服务由容器进行管理,所以在容器中使用组件的时候,组件的许多行为都可以被定制。就比如应用程序组件提供者可以给一个EJB组件需要进行访问的数据库取一个抽象的名字。用户可以把这个抽象的名字和访问特定的环境里的数据库所需的信息进行连接。

      应程序客户端

       运行在客户端机器上的应用客户端软件,为用户提供一个途径,处理象J2EE系统或应用管理这样的工作。它通常由一个用Swing或AWT API开发的图形用户界面,但是也可以使用命令行接口。应用程序客户端软件也可以直接访问运行在业务层的企业Bean。

J2EE图标图片

     Applet

      Applet是一个用Java语言编写的小客户端应用,是通过安装在Web浏览器上的Java虚拟机执行。从Web层下载的Web页面可以包含嵌入的Applet。但是Applet要在Web浏览器中运行客户端系统还需要Java插件以及安全策略文件。

   Web组件

   作为一个队请求做出响应的软件实体,Web通常为基于Web的应用程序生成用户界面。而在J2EE中提供了两种Web组件:JSP和Servlet。Servlet是java编程语言的类,能够动态处理请求并且生成响应。而JSP页面是基于文本的文件,包括静态内容以及小段的java编程语言代码用以生成动态内容。

   JSP是一种基于文本的文档,它描述了应该如何处理请求以便产生一个响应。JSP提供了一种可以扩展的方法帮助Web客户生成动态的内容。JSP的页面包括了用来格式化Web文档的模板数据和在Web文档中用来产生动态内容的JSP元素和scriptlet。

  EJB组件

   EJB组件(Enterprise JavaBeans)是可伸缩、事务性的、多用户安全的。什么是EJB的体系结构?EJB的体系结构是一种用来开发和部署组件的服务器端技术。在这些组件中包含企业级应用程序和商务逻辑。

   这里有两种类型的企业组件:会话bean和实体bean。

    会话bean

     创建的目的是为了代表客户提供服务,通常它只存在于单个客户和服务器会话期间。会话组件是一种客户端应用程序通过EJB组件的Home接口创建并对客户端连接专有的组件类型,通常在EJB服务器中创建的会话组件对象实例不与其它客户端应用共享。个会话组件往往实现一个商务过程、简单的计算过程或逻辑处理过程,在应用过程中客户端的会话角色不会发生变化。

     一般代表着一个或者一组可以独立出来的功能模块,在J2ee中组件的种类有很多种,比较常见的是EJB组件、DAO组件、客户端组件或者应用程序组件等,它们有个共同特点是分别会打包成.war,.jar,.jar,.ear,每个组件由特定格式的xml描述符文件进行描述,而且服务器端的组件都需要被部署到应用服务器上面才能够被使用。

     要注意的是,尽管说会话可以是事务性的,但是当会话容器崩溃的时候,他要是不可以恢复的。而会话组件也可以分为两种,一种是状态组件一种是无状态组件。在保持状态的情况下,如果对象一定要从存储器中进行删除,那么EJB时会管理这些状态。但是会话组件必须管理自己的持续数据。

    实体bean

实体bean示例图

    它是一个持续对象,代表了在数据存储中的数据,并且它以数据为中心。实体bean可以管理它自己的持续或者赋予它的容器这种功能,只要它代表的数据存在,实体bean就会存在。实体组件代表存储在外部介质中的持续对象或者已有的企业应用系统资源。简单来说:一个实体组件可以模拟为数据库表中的一行记录,多个客户端应用能够以共享方式访问表示该数据库记录的实体组件。和会话组件不同的是,如果拥有实体组件的容器崩溃,实体组件、它的主键和任何远程引用都不致受到破坏。

  J2EE平台服务

   J2EE平台的服务允许在部署的时候定制组件和应用程序以使用部署环境中的资源,并且它简化了应用程序编程。

   下面来了解一下以下几种服务:

   1)命名服务

   它可以使应用程序客户端、企业组件和Web组件都能够访问JNDI命名环境。JDNI命名环境中运行定制组件,并不需要先去访问或者改变组件的源码。而组件的环境是由容器所实现的。

   2)事务服务

   事务先会把应用程序划分成一个个不可分割的工作单元,然后一个支持事务的系统会确保每一个单元能够充分的完整,不会受到其他的干扰。只有当一个单元充分完整的时候它才会被提交,不然就算单元已经完成许多的任务也依旧会被完全撤销单元中已经完成的工作。

   事务可以帮助开发者简化应用程序开发,因为它可以帮助程序组件提供者从错误恢复和多用户编程这些麻烦的问题中解脱。

   3)安全服务

   访问控制有以下两步:鉴别和授权。实体只能通过鉴别建立身份,提供鉴别数据来建立是最典型的方法。可以被鉴别的实体叫做principal,它可以是一个用户也可以是一个程序。用户一般只能通过登录来完成鉴别(设计J2EE平台安全服务的目的是确保只有已授权的用户才可以访问资源。),当一个通过的principal星耀访问资源的时候,应用程序的安全策略域内起作用的安全策略会决定系统是否给予访问权限。

   4)部署服务

   可以在包装和部署的时候定制组件和应用程序。J2EE应用程序可部署一系列的嵌套单元,在这些单元中都含有一个部署描述符。什么事部署描述符?部署描述符是一个基于XML的文本文件,部署描述符中的元素声明了该如何把一个单元汇编和部署进一个特定的环境之中。

  J2EE通信技术

    RMI(远程方法调用协议)

    RMI作为Java中首选的远程调用协议,非常的高效稳定,特别是在大数据量的情况下。是EJB的基础,但是只能用于Java程序之间的通讯。而RMI也是一组API,它能让开发人员使用Java来构件分布式程序。RMI定义远程对象以及Java串行技术和JRMP的组合,用以将本地方法调用变为远程方法调用。RMI为采用Java对象的分布式计算提供了简单而直接的途径。这些对象可以是新的Java对象,也可以是围绕现有API的简单的Java包装程序。Java体现了“编写一次就能在任何地方运行的模式。而RMI可将Java模式进行扩展,使之可在任何地方运行”。

    Internet协议

    它定义了J2EE平台中不同部分之间以及与远程实体之间的通信标准。J2EE平台支持的Internet协议有TCP/IP协议、HTTP1.0超文本传输协议和SSL3.0安全套子层。

    OMG(对象管理组群协议)

    OMG协议允许由J2EE平台拥有的对象访问使用OMG的CORBA技术开发的远程对象。CORBA对象使用IDL(Inerface Definition Language, 接口定义语言)进行定义。应用程序组件提供者定义IDL中的远程对象接口,然后使用IDL编译器产生用以连接对象实现和ORB(Object Request Broker,对象请求代理)的客户、服务器存根,其中ORB是一个能够使CORBA对象能够互相定位以及通信的库。ORB使用IIOP(Internet Inter-ORB Protocol, Internet内部ORM协议)进行相互间的通信。J2EE平台需要的OMG技术包括:JavaIDL和RMI-IIOP。

    消息接发技术

    它提供了一种可以异步接收和发送信息的方法。Java中消息服务提供了企业级应用程序使用的处理异步请求、报告以及事件接口。JavaMail API提供了发送和接收目的地为用户的消息的接口。而JMS消息用来同这些应用程序进行协调。但是在主要要求是速度和可靠性的时候,JMS是首要的选择。

    数据格式

    数据格式定义了可以在组件之间交换的数据的类型。J2EE平台要求支持以下数据格式:HTML3.2、图像文件、JAR文件、XML。

   J2EE体系结构的优缺点

    优点

    1)简化的结构和简单的开发过程。由于它是基于java编程语言,所以具有“编写一次,到处运行”的可移植性并且被任何遵循J2EE标准的服务器支持。

    2)适应各种变化的可伸缩性。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。这种机制可以支持对分布式应用程序进行伸缩。

    3)与现有企业信息系统的集成方便。

    4)对服务器、工具和组件可以自由的选择。

    5)系统部署简单,Web容器只有表示层逻辑,很容易按要求来部署。

        6)简化的、统一的安全模型。

    缺点

    1)整个应用对数据库的功能和容量要求高,需要支持存储过程,触发器等技术,数 据库配置要求大,适合Oracle,SQLServer,DB2和Sybase等大型商用数据库,而对于某些不支持存储过程的数据库,如MySQL3.*,根本就不能这种开发模式。

    2)J2EE体系太庞大。

    3)数据库的程序代码可能会很复杂。

    4)系统扩展性差,数据库性能要求高,性能调整代价大。

       J2EE是一组技术规范和指南,不同于传统应用开发的技术框架。优点很明显,几乎集所有企业相关的标准和API于一身。本文对J2EE的服务、组件以及通信的知识进行了小的总结,希望能对有疑惑的朋友有所帮助。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程