服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

浅析j2ee、j2se和j2me

 


随着internet网络的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性。于是就相继出现了rpc/com/corba等技术,但这些技术在实际应用中存在着许多不足和局限。它们的特定协议难以通过防火墙,因而不适于web上的应用开发。为了进一步开发基于web的应用,出现了sun公司的sun one(open net environment 开发网络环境)和microsoft公司的.net等web 服务技术体系。

sun one体系结构以java语言为核心,包括j2se/j2ee/j2me和一系列的标准、技术及协议。它包括sun独有的iplanet软件系列,其中有在市场上受欢迎的ldap目录服务器软件,以及forte for java――便于在任何环境下书写java 语言的软件工具。我们很容易就能从网上免费获得和使用包括java 集成开发环境、java数据库和中间件(application server)服务器等产品,以及它们的源代码。sun one更接近或能满足互联网在智能化web服务方面对分布性、开发性和平台无关性的要求。

随着java技术的不断发展,它根据市场进一步细分为:针对企业网应用的j2ee(java 2 enterprise edition)、针对普通pc应用的j2se(java 2 standard edition)和针对嵌入式设备及消费类电器的j2me(java 2 micro edition)三个版本。本文就sun one的java核心应用――j2se/j2ee/j2me作一些介绍。


j2ee技术应用


j2ee是sun公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势。

j2ee模型

j2ee的应用编程模型(j2ee blueprints)提供了一种用于实施基于j2ee多层应用的文档和实例套件的体系模型,简化了这项复杂的工作。它被开发人员用作设计和优化组件,以便开发人员从策略上对开发工作进行分工。

j2ee应用编程模型要求开发者将自己的工作分成两类:商业逻辑和表示逻辑,其余则由系统资源自动处理,不必为中间层管道进行编码。这样,开发人员就能将更多的时间花在商业逻辑和表示逻辑上。对重视缩短项目周期的公司来说,这种转变深受欢迎。

j2ee平台

j2ee平台是运行j2ee应用的标准环境,由j2ee部署规范(一套所有j2ee平台产品都必须支持的标准)、ietf标准集和corba标准组成。最新的j2ee平台还添加了javabean组件模型。开发人员可以利用javabean组件模型来自定义java类实例,并可通过已定义的事件访问java类。

j2ee支持ejb,因此开发人员可以执行多用户交易功能。当在j2ee服务器上运行时,enterprise javabeans将应用逻辑分成可再利用和可扩展的代码段。enterprise javabeans并不是新特征,但是通过定义标准客户端和服务api,j2ee增强了它的能力和可移植性。

ejb在服务器的一个容器内运行,提供所有典型的中间层服务,如事务管理、安全、远程客户连接、生存周期管理和数据库连接缓冲。为了让事务系统在存在ejb容器的情况下运行,开发人员只需在部署描述文件中定义beans的事务属性即可。

j2ee通过定义一组标准的结构来实现它的优势,例如:

1.j2ee application programming model,是一种用于开发多层次、瘦型客户用户程序的标准设计模型;

2. j2ee platform,是一个标准的平台,用来整合j2ee的应用程序,并指定一系列的接口和方法;

3. j2ee compatibility test suite,是一套兼容测试组件,用来检测产品是否同j2ee平台兼容;

4.j2ee reference implementation,用来示范j2ee的能力。

j2ee服务器

sun的j2ee服务器通过java 命名和目录接口(jndi)、认证、http及与enterprise javabeans兼容的能力,提供命名和目录服务。jndi是java平台的一种标准扩展版,向企业内的命名和目录服务提供具有java功能的,带有统一接口的应用,包括ldap。

j2ee服务器还利用了java servlet技术。java servlet可以看作是运行在服务器上的一个小程序,它向开发人员提供以组件为基础创建基于web应用的、独立于平台的方法。它不像利用cgi那样具有性能局限。java servlet是一种扩展web服务器功能的简单技巧。由于它是用java编写的,因而能够访问整个java api库,也包括用于访问企业数据库的jdbc api。

jsp是java servlet的一种扩展。java servlet提供开发和显示来自服务器的交互式web页。如今jsp又有了进一步的改进,它使得创建和支持静态模板和动态内容相结合的html和xml页面更加容易。

安全性

j2ee平台定义了一种标准的公开存取控制规则,当程序在企业平台上开发时就已被程序师定义和解释了。j2ee也需要提供一个标准的注册机制,以便应用程序不会将这些注册机制和逻辑相混合,从而使相同的工作执行于大量的不同环境中时并不需要改变源代码。例如:j2ee应用程序开发人员可以指定几个安全级别,当用户访问数据时,他们可写出代码来检查当前用户权限的级别。在开发阶段,开发人员赋予多组用户适当的安全级,使应用程序在执行限制操作之前能够容易的判断限制级。

j2ee 平台是java技术企业级应用的最佳平台,它可以让程序员迅速、快捷地开发和分布企业级应应用程序。以下便是它的相关技术:

1.enterprise javabeans architecture,企业级javabeans 定义了一个应用程序接口。它可以使程序员迅速开发、发布和管理跨平台的、基于组件的企业级应用程序。

2.javaserver pages,jsp 技术提供了一种简单、快速的方法来创建动态网页。通过它,可以快速地开发基于web的应用程序,并且这些应用程序都是与平台无关的。因为jsp与asp很相似,所以熟悉asp的人学习它就很容易了。

3.java servlet,提供了应用程序接口。通过它可以简单快速地开发并扩展服务器功能。就发展趋势来看,它将来有可能取代cgi。

4.j2ee connector,提供了一种标准结构来联接不同的企业信息平台。

5.java naming and directory interface(jndi),在java 平台与商业信息之间,jndi提供了统一、无缝的标准化连接。通过使用jndi,程序员可以在企业多命名与目录服务之间传送java 应用程序。

6.java interface definition language(jidl),通过使用corba,可以提供协同工作的能力。jidl包括一个idl-to-java 编译器和支持iiop(internet inter-orb protocol)的orb。

7.jdbc,几乎是为所有的数据库提供了统一的接口,同时可以创建高级工具和接口。

8.java message service(jms),它几乎规范了所有企业级消息服务,如可靠查询、发布消息、订阅杂志等各种各样的puss/pull技术的应用,并且为它们提供了一个标准接口。

9.java transaction api(jta),为分布式系统中可处理的应用程序规定了一个高级的管理规范。

10.javamail,javamail应用程序接口提供了一整套模拟邮件系统的抽象类。通过javamail,可以创建邮件或消息应用程序。

11.rmi-iiop,使用它就可以只用java 技术和java rmi接口开发客户机与服务器的远程接口。

j2ee使用固定的文件格式捆绑某个模块:用.ear文件捆绑j2ee应用程序;用.jar捆绑enterprise bean。例如,一个.ear文件包含一个.xml文件作为其分布描述,还包含一个或多个.jar和.war文件;一个.jar文件除了包含它的分布描述外,还包含了作为enterprise bean的.class文件。

j2ee应用程序的开发阶段分为四步:1.enterprise bean创建;2.web component创建;3.j2ee应用程序装配;4.j2ee应用程序分布。以下是j2ee兼容产品部分列表:

bea weblogic server 6.0、borland app server、hp bluestone total-e-server、ibm websphere application server、iona iportal application server、iplanet application server、macromedia jrun server、oracle 9i application server、silverstrean application server、sybase easerver、togethersoft controlcenter、java 2 sdk enterprise edition。

j2me技术的应用


j2me(java 2 platform micro edition)是为无线电子市场所设计的,包括jvm规范和api规范。其api规范是基于j2se(java 2 standard editon)的。j2me 定义了一套合适的类库和虚拟机技术。这些技术可以使用户、服务提供商和设备制造商通过物理(有线)连接或无线连接,按照需要随时使用丰富的应用程序。

j2me又被称为java 2 微型版,被使用在各种各样的消费电子产品上,例如智能卡、手机、pda、电视机顶盒等方面。当然了,j2me也提供了java语言一贯的特性,那就是跨平台和安全网络传输。它使用了一系列更小的包,而且javax.microedition.io 为j2se包的子集。j2me可以升级到j2se和j2ee。

在j2me出现之前,我们更多接触到的是java卡(java card)、嵌入式java(embedded java)和实时java(real time java)等。其中java卡是针对sim卡、智能卡等设备而定制的最小java子集,比j2me还要小,移植性也不强。嵌入式java则针对特殊用户自行配置java类库和vm(virtual machine,虚拟机)。它对资源需求极小,可运行在无图形用户接口和网络的设备上,可以添加用户专用的api,但是它就无法移植。实时java是由ibm领导的实时定制java专家组负责实施的,现在还在不断完善中。不过,从严格意义上来说,它们都不是真正的j2me。

像其它版本一样,j2me具有很多java技术特性,主要有:

1.可以在各种支持java的设备上运行;

2.代码短小;

3.充分利用java语言的优势;

4.安全性好;

5.用j2me实现的应用可以方便地升级到j2se、j2ee。

j2me的配置和框架

为了支持用户和嵌入式市场提出的灵活性和可定制性要求,j2me被设计得更加模块化和可缩放化。j2me在设备原有的操作系统上建造了3层软件来实现这种要求:

1.jvm层,这层基于宿主操作系统,按照某一种j2me的配置,实现了jvm。

2.配置层,这层对于用户可见度要低一些,但对框架层非常重要。它针对“水平”市场的需求,定义了java虚拟机的最小功能集和java类库的最小集合。在某种意义上,配置层定义了开发者在所有设备上都可以使用java特性和类库的“最小公分母”。

3.框架层,这层对于用户和应用程序提供者来说是最常见的。它针对“垂直”市场的需求,定义了java虚拟机的最小功能集和java类库的最小集合。其框架是基于特定的配置层实现的。只要设备支持相同的框架层,针对特定框架层开发的应用程序就可以移植到其它设备上。一个设备可以支持多个框架层。

在j2me设备中,jvm与配置层紧密相连,它们体现了每一类设备的基本功能。框架层针对不同的设备,在配置层的基础上规定了附加的api。为了满足不断更新的应用程序,框架层可以扩充新的java库类。在不远的将来,随着新设备的不断出现,j2me技术将提供范围广泛的框架层、配置层和vm。jcp(java community process)可以为客户和开发商提供规范。根据jcp的定义,j2me目前的一种配置层是“面向连接的设备配置”层(connected device configuration),它采用典型的java虚拟机技术。这种全功能的vm包含了基于台式机系统上的虚拟机的所有功能,适用于拥有至少几兆字节内存的设备。对于无线设备和其它内存不足的设备,j2me采用“面向连接的受限设备配置”(cldc)技术。

kvm是j2me的核心特征。它是一个可移植性非常高的jvm,专用于内存小、资源有限、能上网的设备,例如蜂窝电话、寻呼机和个人组织器等。这些器件一般都含有16或32位的处理器,最低128kb内存。kvm能够被灵活应用到各种行业、各种类型的设备上,并能够适应这些设备的多样化所带来的问题,比如处理器的耗电量、内存的大小、设备和应用程序的特殊功能等问题。

cldc技术

cldc定义了目标java平台,该平台基于小型的、资源较少的、内存仅有160~512k的设备。cldc是由kvm和用在蜂窝电话、数字产品、双向寻呼机、个人组织器和家用电器等核心库类及接口组成。使用cldc技术有很多优点:

1.跨平台,这点保留了java一贯的特点,应用程序不会随着平台差异而产生变化。

2.动态性,这点也是很吸引人的,可以根据需要下载自己喜欢的应用程序和服务,并且可以和其它的cldc设备通信。

3.安全性,java 本身的特点造就了这一特性。

与 j2se相比,cldc缺少下列所说的特征:

1.awt(抽象窗口开发包),swing或其它图形库;

2.用户定义类装载器;

3.类实例的最终化;

4.弱的引用;

5.rmi;

6.reflection(映射)。

cldc有四个包:java.lang、java.util、java.io和javax.microedition。除了javax.microedition包以外,其它的几个包都是j2se包的核心子集。cldc采用这些j2se类库,但是把其中一些在微型设备中用不到类、属性和方法去掉了。

j2me定义两个配置:connected device configuration(连接设备配置,cdc)和限制性更强的connected limited device configuration(有限连接设备配置,cldc)。

j2se技术的应用


java 2标准版是一种开发和部署平台,提供了编写桌面、工作站应用程序所有必需的功能。j2se软件是快速开发、部署关键任务和企业应用程序的首选解决方案。j2se 1.4版本是基于java跨平台技术和强有力的安全模块而开发的,其最新的特征和功能极大地提高了java语言的伸缩性、灵活性、适用性,以及可靠性。

j2se 1.4 特点:

1.良好的计算性能和缩放能力。

j2se 1.4版是一个快速开发和配置跨平台的企业级应用与服务的综合性平台。它提升了java计算的性能与缩放能力,代表了java技术的大跨步进展。有了j2se 1.4版,企业就可以通过更简易的步骤、花费更少的时间,采用java技术开发与配置要求更高的应用了。j2se 1.4版在java客户机应用方面得到了重大性能提升。基于swing的java小程序和应用程序在图形用户界面(gui)的响应速度上也大有提高。

2.跨平台。

j2se 1.4版是一个具有综合性能的平台,能使一个完整的、可缩放的高性能应用配置在任何种类的平台上。

3.支持web服务。

j2se 1.4版与以前各j2se版全面兼容。j2se 1.4版对ssl、ldap和corba等业界标准技术也给予支持,因此保证了在不同平台、系统和环境间的互操作能力。j2se 1.4版支持xml技术和一整套安全服务,因此为基于各类标准的可互操作应用与服务的创建奠定了重要基础。有了j2se 1.4版与java web services developer pack的结合,开发商就能创建、测试和配置web服务了。

4.完整性。j2se 1.4版还是一个完整的开发环境。开发商可基于这一环境创建功能丰富的交互式应用。这些应用可以配置在任何平台上。j2se 1.4具有新的gui控制功能、快速的java 2dt图形功能、支持国际化与本地化扩展和新的配置选项,并对windows xp提供扩展支持。

总之,j2se 1.4版是多种不同风格软件的开发基础,包括客户端java小程序和应用程序,以及独立的服务器应用程序等。j2se 1.4版还是j2me的基础,是j2ee执行程序的推动力。

java之所以能够发展得很快,是因为互联网的发展非常快。java可以和浏览器结合在一起,因而很自然地在桌面系统得到广泛应用。从计算的结构来看,java主要分三大类:第一是服务器端,这里就有了j2ee企业版;第二是桌面pc,这一类用的是j2se标准版;第三就是掌上电脑、移动设备,用的都是j2me。但是,大部分非企业级软件还是在j2se上开发的比较多。首先,这是因为很多的应用软件都是在j2se上开发的;其次,j2se是和j2ee兼容的,企业版是在标准版上的扩充,在j2se的版本上开发的软件,拿到企业的平台上是一样可以运行的;再次,一般开发还是在j2se的环境上,只是说j2me提供微型版的一个环境。在j2se上虚拟出一个环境,开发出来的应用软件是可以拿到微型版上运行的。

扫描关注微信公众号