本文是JavaEE基础系列的第四节。

  1. Java EE简介 - JavaEE基础系列
  2. JSR简介 - JavaEE基础系列
  3. 什么是JSR参考实现? - JavaEE基础系列

上一节介绍了什么是JSR参考实现。 Java EE简介 文中提到, JavaEE 是一系列抽象的规范, 现在, 每个版本的 JavaEE 都由一个 JSR 定义, 这相当于是 JSR 的组合, 其中包括了多个JSR。

例如,Java EE 7 对应于 JSR 342。 Java EE 8 对应于 JSR 366。 由此可见 Java EE 自身也是一项通过JCP严格审核的JSR。

我们知道, 每个JSR都必须有参考实现。

Java EE 也是一样的, 它的实现被称为 应用服务器 (application server). 应用服务器本质上是Java EE规范的具体实现, 可以执行/驱动 JavaEE 项目. Java EE 的参考实现是 Glassfish Application Server

应用服务器将程序开发中的很多东西抽象出来, 如数据量连接池(datasource pooling)、缓存(caching)、集群(clustering) 等等。

通常应用服务器也必须通过相关的TCK验证。这是 Java EE 可移植性的基础. 作为开发人员, 您的JavaEE代码应该依赖 javax.*, 这是Java EE 的标准 package 命名空间。

既然应用服务器都遵循标准, 那么理论上, 互相之间可以无缝切换, 而不需要修改代码. 仔细想想这真的很强大。

遵守规范有什么好处呢? 你不会被绑死在某款应用服务器上面. 可以根据具体需求进行更换, 想用哪家就用哪家。

市面上有很多应用服务器, 有些是免费的、另一些则非常昂贵。 一款流行的开源服务器是 Payara Server, 它是 Glassfish 的一个分支, 可以免费下载和使用。

总结一下: Java EE 是种抽象的规范, 其具体实现是应用服务器(application server). 参考实现是 Glassfish。

近年来, 微服务非常火爆, 有一种观点认为, Java EE应用服务器并不适用于微服务。我们将在下一节中进行讨论。

原文链接: https://pedanticdevs.com/2017/06/java-ee-fundamentals-what-is-an-application-server.html

原文日期: 2017年06月29日

翻译日期: 2017年07月07日

翻译人员: 铁锚: http://blog.csdn.net/renfufei

4. 什么是应用服务器? - JavaEE基础系列的更多相关文章

  1. 3. 什么是JSR参考实现? - JavaEE基础系列

    本文是JavaEE基础系列的第三节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 上一节中, 我们介绍了什么是JSR.JSR就是一个提交到JCP的抽象请求,包含 ...

  2. 2.JSR简介 - JavaEE基础系列

    JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案. 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍 ...

  3. 1. Java EE简介 - JavaEE基础系列

    什么是Java EE? 真的是你理解的那样吗? Java EE, 原名J2EE, 其核心由一系列抽象的标准规范所组成, 是针对目前软件开发中所普遍面临问题的解决方案. 注意以上定义中的"抽象 ...

  4. javaEE基础08

    javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ...

  5. 【Basics of Entity Framework】【EF基础系列1】

    EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基于数据 ...

  6. C#基础系列——Attribute特性使用

    前言:上篇 C#基础系列——反射笔记 总结了下反射得基础用法,这章我们来看看C#的另一个基础技术——特性. 1.什么是特性:就博主的理解,特性就是在类的类名称.属性.方法等上面加一个标记,使这些类.属 ...

  7. C#基础系列——小话泛型

    前言:前面两章介绍了C#的两个常用技术:C#基础系列——反射笔记 和 C#基础系列——Attribute特性使用 .这一章来总结下C#泛型技术的使用.据博主的使用经历,觉得泛型也是为了重用而生的,并且 ...

  8. C#基础系列——委托实现简单设计模式

    前言:上一篇介绍了下多线程的相关知识:C#基础系列——多线程的常见用法详解,里面就提到了委托变量.这篇简单介绍下委托的使用.当然啦,园子里面很多介绍委托的文章都会说道:委托和事件的概念就像一道坎,过了 ...

  9. C#基础系列——委托和设计模式(二)

    前言:前篇 C#基础系列——委托实现简单设计模式 简单介绍了下委托的定义及简单用法.这篇打算从设计模式的角度去解析下委托的使用.我们知道使用委托可以实现对象行为(方法)的动态绑定,从而提高设计的灵活性 ...

随机推荐

  1. Kali视频学习6-10

    Kali视频学习6-10 kali信息收集之主机探测 主机探测指识别目标机器是否可用(简单来说是否在线),在探测过程中,需要得到目标是否online等信息.由于IDS和(入侵检测系统)和IPS(入侵保 ...

  2. iOS开发进阶 - 基于PhotoKit的图片选择器

    移动端访问不佳,请访问我的个人博客 很早之前就用OC把代码写完了并用在项目中了,一直没时间整理,现在用swift重写一份,并且更加详细的来了解这个Photos框架,下面是我集合苹果官方文档和其他大神的 ...

  3. Caffe学习笔记(三):Caffe数据是如何输入和输出的?

    Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简 ...

  4. Centos为mysql开启binlog

    1.查询mysql配置文件所在位置 2.编辑配置文件/etc/my.cnf 在文件尾部添加: log-bin=/var/lib/mysql/mysql-bin server-id=123454  (5 ...

  5. linux(一)export的生命周期

    本文从shell执行的角度分析export变量的生命周期 # 只对当前shell环境起作用,比如通过不同的远程ssh就是不同的shell环境 export k=v 当运行一个.sh文件或者是shell ...

  6. LA 6893 The Big Painting(矩阵Hash)

    https://vjudge.net/problem/UVALive-6893 题意: 给出一个小矩阵和大矩阵,在大矩阵中能找到相同的小矩阵. 思路: 矩阵Hash,先对小矩阵计算出它的Hash值,然 ...

  7. web.config文件配置解决网站上传大文件限制

    Asp.Net网站对上传文件的大小,请求执行的时间都做了限制,上传的文件如果超过限制或者执行上传时间超出, 文件上传都将失败. 因此,需要配置web.config来增加最大文件上传的大小和执行超时时间 ...

  8. maven笔记(4)

    项目管理利器(Maven)——依赖范围(classPath:编译,运行,测试)1.compile:默认范围,编译测试运行都有效2.provided:在编译和测试时有效3.runtime:在测试和运行时 ...

  9. Android--------工具类StatusBarUtil实现完美状态栏

    很早就想写这篇博客了,直到前几天有人问我这方面的问题才想起. 沉浸式状态栏是从android Kitkat(Android 4.4)开始出现的,顶部状态栏的颜色可以根据开发需求改变,使得APP风格更加 ...

  10. Eclipse-环境搭建(缅怀篇)

    JDK 下载jdk安装并配置环境变量运行java -version查看是否安装配置成功 Eclipse 下载eclipse,直接解压到目录 eclipse配置jre 设置complie编译等级 Ecl ...