本文是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. 网络攻防工具介绍——Metasploit

    Metasploit 简介 Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些 ...

  2. ARTS Week 001

    Algorithm Leetcode 1. Two Sum Given an array of integers, return indices of the two numbers such tha ...

  3. openwrt下如何只编译linux内核

    答:make target/linux/install V=s (此操作也会将最终镜像打包好,V=s会输出日志) 拓展 清空内核: make target/linux/clean V=s 解压内核: ...

  4. Pandas 数据分析基础

    Pandas 安装 anaconda 安装: conda list pandas 查看是否已经安装 conda install pandas conda update pandas pip 安装 pi ...

  5. .aspx页面 引用命名空间 (Import 指令,web.config)

    单个页面 要引用其他命名空间,在页面中写: < %@ import namespace="system.text" %> 注:即可,需要引用多个命名空间,不能写多个na ...

  6. mac 中终端查看ip 采用 ifconfig

  7. JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果

    Ace模板地址:http://code.google.com/p/ace-engine/wiki/AceTemplate(有时会打不开) Ace英文官网:http://wrapbootstrap.co ...

  8. 文件load事件:img、iframe

    iframe的 load 事件 在所有为IFRAME动态添加onload监听事件的方法中,只有 使用事件监听方式为 IFRAME 的 onload 事件绑定处理函数,IE6.7.8才有效.所以为 IF ...

  9. [Vue]组件——.sync 修饰符实现对prop 进行“双向绑定”

    一.同时设置1个 prop 1.以 update:my-prop-name 的模式触发事件,如对于title属性: this.$emit('update:title', newTitle) 2.然后父 ...

  10. Runtime.getRuntime.exec();

    杀死Chrome浏览器进程 private static void closeAllChrome() throws IOException{ Runtime.getRuntime().exec(&qu ...