您的位置:首页 > 编程语言 > Java开发

什么是JavaEE

2015-12-30 10:31 447 查看
网上的摘录加上自己的理解

Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多的Java工程师,即使是干了很长时间的工程师也不是很理解不同平台之间的区别和关联是什么。Java编程语言一共有四个官方的平台:

■ Java Platform, Standard Edition (Java SE)

■ Java Platform, Enterprise Edition (Java EE)

■ Java Platform, Micro Edition (Java ME)

■ JavaFX

所有的Java平台都由一个JVM和一组应用程序编程接口组成。JVM是一个程序,一般以C、C++编写,对于某些特定的软硬件平台,Java应用程序运行于JVM之上。应用程序编程接口是一些列的软件组件,你可以使用它们编写其他组件或者应用程序。每一个Java平台提供一个JVM和一个应用程序编程接口,
这使得基于某个平台的应用程序可以运行于其兼容的系统之上,并且带有Java语言所有的优势:平台独立,高效,可扩展,易开发,安全。如下是这四个平台的双语解释,希望对大家有所帮助。



Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE's API provides the core functionality of the Java programming language. It defines everything from
the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing. In addition to the core API, the Java SE platform consists
of a virtual machine, development

tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

当大家说Java编程语言的时候,他们说的都是Java SE API, Java SE API 提供Java编程语言的核心功能。它定义了Java编程语言的一切从基本的类型和对象到更高级的被用于网络和安全以及数据库的类,GUI,XML解析的类。除了核心的API, Java SE平台由一个虚拟机,开发工具和其他的类库以及通常被Java应用程序使用的工具箱组成。

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Java EE平台构建于Java SE平台之上,Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device
application development. Java ME applications are often clients of Java EE platform services.

Java ME平台提供一组API和一个精简的JVM来在小型的设备或者手机上运行Java语言, 他的API是Java SE API的子集, Java ME应用程序通常是Java EE 平台服务的客户端。

JavaFX

JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take

advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.

JavaFX是一个用于创建RIA的平台,类似于Windows 平台的WPF,JavaFX使用硬件加速和多媒体引擎来更好的发挥高性能客户端的性能,并且得到一个现代的视觉体验,同时提供了一组高级的API来链接网络数据资源,JavaFX应用程序可以是Java EE 平台服务的客户端。



综上我们揭晓题目问题的官方答案

Java EE平台构建于Java SE平台之上,提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。

也就是说JavaEE是:

JVM + API +[b]大规模+多层的+可扩展的+可靠+安全+网络 的应用程序[/b]



[b]进一步精简去掉可有可无的修饰词后是:[/b]

[b][b]JVM + API
[b]+网络 的应用程序
[/b][/b][/b]



按照本文的结论最后得出一句话:

[b]Java EE是具有JVM和一组特定API的编写网络应用程序的平台。[/b]



[b]综上可以看出[b][b]Java EE的核心在于网络。[/b][/b][/b]

这篇文章主要介绍在J2EE范例中使用的缩写词和概念。J2EE(Java 2 Platform, Entreprise Edition)代表Java企业版平台。它使得模块化的Java程序可以在服务器上部署。Java SE是一组Java核心库,Java应用程序在其上得以执行,而J2EE是基于Java SE的。

概念综述

在我们深入J2EE之前,先看一下综述:

多层式应用(Multitier Application)——多层式应用(或者多层式架构)分成多个逻辑部分,大多在多层服务器上实现。例如,三层应用模型:用户和浏览器,应用服务器,数据库服务器。其中应用服务器和数据库服务器就是分别在不同的服务器上来处理应用的请求。
多层式服务(Multitier Service)——以三层架构模型的服务为例,应用服务器响应用户的请求。数据库服务器响应应用服务器的查询求情。
Java Bean——由一些包含私有属性的Java类组成,对外提供get和set方法。从技术上讲,这些类必须保证有一个不含参数的构造器并且实现Serializable接口。

J2EE 5的概念





Java EE应用程序模型——这个模型描述了一个实现服务的多层架构。“什么是服务”没有明确的界限。事实上,服务只是一个逻辑上的概念,它的对应实体取决于应用实现的概念。例如,客户端/服务器模型就是一种服务。
Java EE 服务——这是一个J2EE中三层架构的应用服务范例。它是由网页层(服务JSP页面)和事务层(管理企业的数据层)组成的。
Java EE 组件——“组件”是指独立的软件单元,可以和其他的组件组合来建立一个应用。

Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。
客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。
EJB(Enterprise Java Beans)——见下文。

Java EE 客户端——这个概念中包含三个其他的概念:

网页客户端(Web Client)或小型客户端(thin client)——以前(也不是非常久以前),客户端的请求返回的网页会包含脚本代码,这些代码会在应用服务器上执行了再将运行结果返回给客户端。这就是EE客户端。比如,用户可以查询员工的信息,并且对不同的结果按照他们喜欢的方式排列。现在,大多数开发者都不是在网页中使用脚本了,因为这不是个好习惯。他们更喜欢使用MVC设计原则,即禁止在网页中使用脚本。
小程序(Applet)
应用客户端(Application Client)

Java EE 服务器通信(Java EE Server Communication)——这是指发生在小型客户端和应用客户端之间在服务器上的通信。具有代表性的是,小型客户端和小程序在Web层通信,但是应用客户端在EJB通信。 你觉得这不够清晰是吗?你觉得这很麻烦是吗?这就对了!这就是REST以及MVC设计原理现在在开发中流行的缘故。
EJB (企业级Java Beans,Enterprise Java Beans)——这是一个逻辑概念,与传统的Java Beans无关。它主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑。其中一个它试图解决的问题是确保数据库中事务处理的完整性。警告:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。
JavaBean Component——Java Bean 的同义词,主要用在JSP范例中。
Java EE容器(Java EE Container)——这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。
部署描述符(Deployment Descriptor )——这是一个为打包好的应用提供部署信息的XML文件,点击查看更多信息
SOAP(简单对象访问协议,Simple Object Access Protocol)——这是一个通过网络提供的服务传输信息的协议。信息是通过XML构建的,能够通过多个传输交换层,多数情况下是HTTP。SOAP是JSON和REST-like服务的竞争对手。
WSLD(网络服务描述语言,Web Service Description Language)——它用XML文件来描述了网络服务(名字,地点,通信模式)。
UDDI(通用描述、发现与集成服务,Universal Description, Discovery and Integration)——一种ebXML规范,可以在线发布有关产品和服务的信息。
Java Servlet——是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。
JSP (JavaServer Page)——一种基于HTML文件(就是一个模板)处理之后能够生成静态内容。可以包含脚本代码的片段,以在最终生成的脚本静态文件中生成。
JSTL (JSP标准标签库,JavaServer Page Standard Tag Library)——一组可以模仿脚本代码功能的用在JSP的标准标签。例如,遍历客户端并显示他们对应的信息。现在,在JSP中,这样的标签已经已经取代了脚本代码。一般用于生成需要填充信息的页面。
JSF (Java Server Face)——包含JSF标签(类似于LSTL标签)的JSP页面。此外,JSF允许在页面中定义导航模块(类似于Spring web flow),包括Facelets。
Facelets——Facelets是JSF的MVC视图部分。它的主要功能是利用提供的数据(例如客户端列表)将模板转换成HTML文件。它也可以将生成的文件(例如HTML主体)提取出来一部分并到另一个模板中,相当于Sitemesh。
The Java API for XML-based Web Services (Java中用来创建基于XML的Web的API,JAX-WS)——对于使用XML通信的Web服务来说至关重要。
The Java API for XML Binding (序列化为XML的API,JAXB)——一种可以在JavaBeans和XML文件之间相互转化的方式点击查看更多信息
JTA (Java事务处理API,Java Transaction API) ——划清数据库中上行和下行的通信界限。
JMS(Java信息服务,Java Message Service)——这个API保证服务器和应用在网络上的通信可靠、异步。ActiveMQ实现了JMS。
JavaMail API——提供通过应用程序发送邮件方式。
JAXP(加工XML文件的API,Java API for XML Processing)——提供了处理XML文件的方式。
JAXR(提供XML注册的API,Java API for XML Registries)——一个可以注册包含了元数据的XML的API。
JDBC(Java数据库连接,Java Database Connectivity)——这个API可以使应用程序直接通过SQL通信来访问数据库。
JCA(J2EE连接器架构,Java EE Connector Architecture)——使应用程序能和信息系统(通常是数据库)通信。点击查看更多
JPA(Java持久化API,Java Persistence API)——这是一个在数据库中存储对象的ORM(对象关系表,Object/relational mapping)定义。点击查看范例
JNDI(Java命名和目录接口)——一种能存储和检索资源或者通过名字查找信息的方式,点击查看更多
JAAS(Java鉴别与授权服务,Java Authentication and Authorization Service)——识别并控制服务权限的一张方式。

J2EE 6的概念

在J2EE6中,大量的配置可以在源代码中执行。

JAX-RS——定义REST(含状态传输)之类的服务的API。
Managed Beans——一个可以执行嵌入代码的Java对象。在Sping框架中,这是一些添加了@Autowired注释的对象。
CDI(上下文和依赖注入,Contexts and Dependency Injection for Java EE)——CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。在Sping框架中,应用程序可以设计应用的上下文,控制反转(IoC)和依赖注入功能(DI)。
Bean确认——通过设定好的规则判断Java Beans的状态是有效的。
JACC(Java Authorization Contract for Containers)——在J2EE应用服务器和特定的授权认证服务器之间定义的一个连接的协约。
JASPIC(Java认证服务提供者接口,Java Authentication Service Provider Interface)——这是与JACC互补认证的SPI(也就是服务API,Service API)。它定义了应用程序如何通过传统的认证服务。

总体上说,J2EE和Spring框架慢慢的朝着一个相同的方向发展。




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: