前言

本文就是大致了解一下 JavaEE,开始说明我们为什么要学习 JavaEE,有必要吗?然后是介绍了 JavaEE 规范,规范是什么?JavaEE 规范又是什么?了解 JavaEE 规范各版本情况,了解即可,学习了一些规范后我们可以再回过来看各版本的技术变化。最后是简单介绍了 JavaEE 应用程序模型,主要是为了对今后 JavaWeb 应用程序开发结构做铺垫,提前了解。


一、为什么要学习JavaEE

为什么要学习 JavaEE,其实可以从上一篇文章中知晓答案。目前大部分人员学习Java编程语言,今后的目标之一就是 Web 方向,也就是进行 JavaWeb 开发(浏览器入口中大千世界的开发)。那么 JavaWeb 应用程序是属于 B/S 架构的,B/S 架构有很多优势,相信大家也都了解。JavaEE 是实现 JavaWeb 应用程序的基础技术,换句话说,JavaEE 是 Java 解决 Web 互联网领域的技术。

现在技术发展十分迅速,Java 语言相关的优秀 Web 框架层出不穷,简化开发流程,降低开发难度。我们应该跳过基础直接上手框架?我个人觉得不应该。我们要知道,框架就是定义一套开发流程,我们按照约定即可实现相应功能。它帮我们完成了一些基础工作,让我们更好的将精力放在业务上。问题是,这样的我们只是会使用而已。而 JavaWeb 框架大都是基于 JavaEE 平台的,所以学习 JavaEE 没毛病。

学习任何知识之前,搞清楚为什么要学是很重要的,带着一定目的更有效率。

二、JavaEE规范介绍

JavaEE 官方自我描述

在其自我描述中看到 JavaEE 是社区推动的企业软件标准,也就是说 JavaEE 不是一个人或一个公司制订出来的。企业软件标准,是说 JavaEE 是 Java 语言实现企业软件的标准或规范。所以本文出现了 JavaEE 规范这个词。

1.什么是规范?

规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。

大家有听过一句话吗?

“一流企业做标准、二流企业做品牌、三流企业做产品!”

  • 三流企业做产品:
    • 三流的企业主要关注产品本身的质量和功能,通过提供性价比较高的产品来吸引消费者的购买。这种企业在市场上的表现比较依赖于价格和促销策略,很难在市场上建立稳定的品牌形象和忠诚度。这种企业通常具有较为传统的生产和管理方式,缺乏创新和差异化的竞争优势。
    • 从三流到一流也是需要一个成长过程,如果他们不止做产品生产,还十分注重技术核心,那么三流企业也是可能成为一流企业的。
  • 二流企业做品牌:
    • 二流的企业注重品牌的建设和推广,通过良好的品牌形象来吸引消费者的关注和认可。这种企业在市场上的表现可能不如一流企业稳定和持久,但是通过品牌的力量可以迅速提升企业的知名度和美誉度,进而扩大市场份额。这种企业通常具有较强的市场营销能力和创新意识,能够不断推陈出新,满足消费者的需求。
    • 例如苹果、麦当劳、百事等品牌公司!一件商品贴上某个品牌,可能价值差别会十倍、百倍、千倍。那么为什么大家相信品牌?为什么能赢得大众的信任?最终是谁将它提升到一个很高的地位?看到这个品牌就有一种质量好的感觉,这是基于大众的感受。我认为品牌公司也是经历了三流公司的严峻考验,赢得了消费者的青睐。
  • 一流企业做标准:
    • 一流的企业不仅仅是提供产品或服务,更是为整个行业的发展和规范制定标准。这种企业在行业中的地位非常重要,因为它们所制定的标准被广泛认可和采用,从而引领整个行业的发展方向。这种企业通常具有强大的技术实力和资源优势,能够影响整个行业的规则和格局。
    • 如今我们的操作系统大多数是微软的,手机系统,绝大是安卓的,我们安装软件或者制作软件的时候都必须遵守兼容他们系统的标准,不然软件不兼容,不会有人去买你的软件。一个产品由品牌做到成为一种规范,一种他能让你离不开,脱不掉,随处可见,满眼都是,这是多么强大的力量,制定游戏规则的公司才是最强大的公司,其实这过程也是一层层不断抽象的过程,这时最具体的产品就显得一般了。

我们国家的企业在这方面也是紧追猛赶,像华为公司,通过技术积累、突破,已经在5G技术上掌握话语权,它就是制定标准、规范的人。我们国家的高铁技术更加不用说了,这项标准早已名扬海外了。
我们国家在IT技术方面呢?虽然达不到制定标准的高度,但是由于中国各方面的优势,中国的IT技术发展是非常迅猛的。很多技术制定和优化我们都进行了参与。360安全方面很厉害,在一些国际赛事上都荣获很多大奖。阿里巴巴、百度、腾讯都有自己的技术输出。

2.什么是JavaEE规范?

先引用JavaEE官方自我描述

Java EE 是 Java 企业版本的简称,是 Sun公司推出的企业级应用程序版本,目前被 Oracle公司收购接管。是社区驱动的企业软件标准,但明显是归 Oracle公司的。Oracle公司下面有很多产品,比如我们熟悉的 Java、Oracle 数据库,MySQL 数据库等。

我们要注意:Java EE 既不是一门编程语言,也不是一个现成的产品,而是一个标准,是一个为企业分布式应用的开发提供的一套规范和标准的平台,借助 Java 平台企业版(Java EE)帮助企业开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。

Java EE 就是规定了企业分布式应用开发的一些标准,如果我们开发服务器端Java应用程序就需要遵守 Java EE 规范。

3.JavaEE版本

接下来我们来了解 JavaEE 有哪些版本,各版本的技术特点。大致了解即可,学习后可以回头看,更有感觉。

以下是 Java EE(Java Platform, Enterprise Edition)各个版本的发布时间和主要内容的简要总结:

  1. Java EE 1.0(1999年12月)

    • EJB(Enterprise JavaBeans)规范
    • JNDI(Java Naming and Directory Interface)
    • JMS(Java Message Service)
  2. Java EE 1.2(2000年12月)

    • Servlet API的改进
    • JavaServer Pages(JSP)技术
    • JTA(Java Transaction API)
    • JTS(Java Transaction Service)
  3. Java EE 1.3(2001年9月)

    • J2EE Connector Architecture
    • Java Message Service(JMS)的增强
  4. Java EE 1.4(2003年11月)

    • JSF(JavaServer Faces)
    • JSTL (JSP Standard Tag Library)
    • JavaMail API
    • Web服务支持(JAX-RPC)
    • Web服务元数据(JAXR)
  5. Java EE 5(2006年5月)

    • EJB 3.0规范,引入注解驱动(Annotation-driven)开发
    • Java Persistence API(JPA)
    • Web服务开发的改进
  6. Java EE 6(2009年12月)

    • Web Profile的引入,以简化Web应用程序开发
    • Servlet 3.0规范
    • CDI(Contexts and Dependency Injection)
    • JavaServer Faces(JSF)2.0规范
  7. Java EE 7(2013年6月)

    • WebSocket API
    • JSON支持
    • Batch应用程序处理
    • Concurrency Utilities(Java EE Concurrency Utilities)
    • JAX-RS 2.0(Java API for RESTful Web Services)
  8. Java EE 8(2017年9月)

    • Servlet 4.0规范
    • JSF 2.3规范
    • JSON-B(Java API for JSON Binding)
    • JSON-P(Java API for JSON Processing)

从 Java EE 8 发布以后,Java EE 被重命名为 Jakarta EE,并且版权转移到了 Eclipse Foundation。

我们可以看到 JavaEE 的版本并没有 JavaSE 版本发布频率快,目前 JavaEE 最新版本是JavaEE8。这可能与 Java EE 的设计目标有关。Java EE 旨在为企业级应用程序提供一个可扩展、灵活且可靠的平台,因此它需要更多的时间来开发和测试新功能,而且标准的制定更加困难。

三、JavaEE应用程序模型

1.模型前置说明

Java EE 应用程序模型是基于Java 编程语言和 Java 虚拟机。它们提供的经过验证的可移植性、安全性和开发人员工作效率构成了应用程序模型的基础。此类应用程序本质上很复杂,可能会从各种数据源访问数据并将应用程序分发到各种客户端。比如从文件中获取数据展示在页面,再比如从 Oracle 或 MySQL 数据库中获取数据展示在小程序中。那么为了更好地控制和管理这些应用程序,支持这些不同用户的业务功能在中间层执行。中间层表示由企业的信息技术部门密切控制的环境。中间层通常在专用服务器硬件上运行,可以访问企业的全部服务。也就是说这个中间层是数据源和展示地的连接,其实也就是我们开发的应用程序。

Java EE 应用程序模型定义了一种体系结构,用于将服务实现为多层应用程序,这些应用程序提供企业级应用程序所需的可伸缩性、可访问性和可管理性。此模型将实现多层服务所需的工作划分为以下部分:

  • 开发人员要实现的业务和表示逻辑
  • Java EE 平台提供的标准系统服务

开发人员可以依靠该平台为开发多层服务的硬系统级问题提供解决方案。

2.模型具体说明

接下来上官方图:多层应用程序
【JavaEE基础学习打卡02】是时候了解JavaEE了-LMLPHP

这张图,我们不必深究,也不要害怕看不懂。
图中很明显分为上、中、下三大块,首先我们分别来看:

【JavaEE基础学习打卡02】是时候了解JavaEE了-LMLPHP
最上面这部分是客户端层(Client Tier),该层很明显就是用户端,比如(应用客户端)Application Client、网页(Web Pages)。该部分是运行在客户端计算机上的,比如某直播软件在我们电脑上运行,比如通过 Web 浏览器查看的某网站页面。

【JavaEE基础学习打卡02】是时候了解JavaEE了-LMLPHP
中间这部分是 Web 层(Web Tier)和业务层(Business Tier),由 JavaEE 提供服务。比如 Web 层中的 JavaServer Faces Pages 技术,业务层中 Enterperise Beans 技术。简单理解就是在业务层实现功能的业务逻辑,Web 层是将组织数据如何进行展示。比如我们从数据库中拿到张三的详细信息,那么取数据,处理数据就可以在业务层实现,将这些分散的数据发送到适合的页面进行展示,就是在 Web 层实现的。

【JavaEE基础学习打卡02】是时候了解JavaEE了-LMLPHP

最下面这部分是企业信息系统 (EIS) 层,简单说就是数据库服务,主要提供了数据的存储、查询等等。

再看整个流程,用户在客户端的请求是经过了 Web 层和业务层处理的,处理的数据是在 EIS 层。往我们日常上网偏一偏,就是通过浏览器打开某个网站,会看到一个页面,其实这个页面的数据是存储在数据库中的,还是张三的信息:姓名、性别、年龄等,这些原始数据在业务层查询出来,并做处理,比如根据年龄可知张三是个青年人,然后在 Web 层将这个处理的结果发给响应的页面进行渲染,返回给客户端浏览器进行展示。举例可能不适合,没关系,我们了解有这样一个模型就可以了。


总结

为什么学习JavaEE? 打基础。
规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。
Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。既不是一门编程语言,也不是一个现成的产品,而是一个标准,是一个为企业分布式应用的开发提供的一套规范和标准的平台,借助 Java 平台企业版(Java EE)帮助企业开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。
JavaEE版本 从1.0开始到目前的8.0
Java EE 应用程序模型 是基于Java 编程语言和 Java 虚拟机。

  • 客户端层组件在客户端计算机上运行。
  • Web 层组件在 Java EE 服务器上运行。
  • 业务层组件在 Java EE 服务器上运行。
  • 企业信息系统 (EIS) 层软件在 EIS 上运行 服务器。
08-12 12:00