没有应用程序服务器

我们最近发布了有关从免费Plumbr部署中收集的应用服务器市场份额的数据 。 它产生了很好的共鸣-通过不同的渠道,我们获得了数百种有关如何解释数据的评论。 但是,通过各种渠道不断提出一种形式不同的论点。 无论是采用“ T omcat不是应用程序服务器 ”的形式还是“ 此数据都无关紧要,因为它没有集中在Weblogic或WebSphere等真实的应用程序服务器上 ”,它只是在不断出现。 这使我们感到奇怪– Java社区为什么对真正的应用服务器有如此不同的看法。 因此,我们决定对该问题进行一些说明。 调查最明显的来源(即Wikipedia ),事情看起来还不错:

应用程序服务器可以是提供通用方法来创建应用程序服务器实现的软件框架,而无需考虑应用程序的功能是什么,也可以是特定实现实例的服务器部分。 在这两种情况下,服务器的功能均致力于有效执行过程(程序,例程,脚本)以支持其应用程序。

到目前为止,一切都很好。 显然任何东西都可以是基于Wikipedia定义的应用程序服务器。 但是,当我们尝试为Java EE应用服务器找到正式定义时,事情就变得更加有趣了。

如果深入研究Java EE规范 ,您会发现Sun既没有过去的历史,也没有Oracle在官方规范中使用“应用程序服务器”一词。 而是在整个材料中使用了“容器”一词。 容器必须支持不同的规范,例如JMS , JTA , JSP,以保证应用程序可跨不同的实现移植。

下一个重要的事实–在Java EE 5之前, Sun / Oracle承认您的产品正式符合Java EE的唯一方法是实施整个规范。 这导致了大型,单一的“企业级”产品,例如臭名昭​​著的Websphere和2000年代中期的Weblogic。 结果,越来越多的人蜂拥而至,远离了几乎不可能使用的野兽,并开始使用诸如Tomcat或Jetty之类的更人性化的东西。 出乎意料的是,这些产品的供应商对官方规范的关注程度并不低,而是专注于为手头的工作提供良好的工具。 因此,规格委员会最终屈服并分解了规格。

Java EE 6中的这种故障称为Java EE配置文件。 Java EE 6规范使容器供应商可以选择是希望实现规范的子集以获得Web Profile认证,还是希望获得Full Profile并实现所有规范。 下表描述了相应配置文件中的强制性规范:

完整的Java EE 6.0实现
网站资料
Servlet 3.0 JSP 2.2 EL 2.2 EJB 3.1 JMS 1.1 JavaMail 1.1
JSR-45 1.0 JSTL 1.2 JSRF 2.0 连接器1.6 Web服务1.3 JAX-RPC 1.1
通用注释1.1 EJB 3.1精简版 JTA 1.1 JAX-WS 2.2 JAX-RS 1.1 JAXB 2.2
JPA 2.0 Bean验证1.0 托管豆1.0 JAXR 1.0 Java EE管理1.1 Java EE部署1.2
拦截器1.0 JSR 299 1.0 依赖注入1.0 JACC 1.4 JASPIC 1.0 Web服务元数据2.1

因此,如果您希望构建自己的完整Java EE实现,则最好为该列表中的所有30个缩写提供实现。 由于这绝不是一件容易的事,所以在发布本文时,只有以下应用程序服务器由Oracle 正式认证为Java EE 6:

完整档案
甲骨文Glassfish 3
IBM WebShpere 8
IBM WebSphere CE 3
甲骨文Weblogic
JBoss AS 7
Apache Geronimo 3
日立uCosminexus应用服务器9
富士通Interstage应用服务器10
TMAX耶稣7
网站资料
甲骨文Glassfish 3
Caucho树脂4
Apache TomEE 1
JBoss AS 7
Apache Geronimo 3
Sap NetWeaver
乔纳斯


如果现在将此列表与最受欢迎的应用程序服务器进行比较,我们会发现66%的用户群愉快地运行在诸如Tomcat和Jetty之类的产品上,而这在官方认证的容器列表中是遥遥无期的。 但是我们仍然认为它们两者都是为您的应用程序提供出色且易于使用的平台。 因此,正式而言,没有像Java EE Application Server这样的东西。 取而代之的是,我们有Java EE容器,如果供应商希望,可以在任何配置文件中申请官方认证。 而且,您绝对可以拥有自己的可爱应用服务器,仅实现Servlet规范,而忽略其他所有内容。 在这种情况下,您只是没有资格获得官方认证。

参考: Plumbr博客博客上没有 JCG合作伙伴 Nikita Salnikov- Tarnovski的 应用程序服务器 。

翻译自: https://www.javacodegeeks.com/2013/04/there-is-no-application-server.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML基础知识(未完待续)

一、HTML编辑工具&#xff1a;Sublime Text 二、HTML实体字符&#xff1a;1、&#xff08; 空格&#xff09;&#xff1a;&nbsp&#xff1b; 2、&#xff08;<&#xff09; &lt&#xff1b; 3、&#xff08;>&#xff09;&gt&#xff1b; 4、&#xff08;&a…

系统讲解CSS,前端开发最神奇的技术,新手的你一定不能错过

前面小编带领大家重温了前端开发中最基本的HTML语言。如果你已经掌握了这门语言&#xff0c;那么恭喜你&#xff0c;可以去深入了解CSS技术了。CSS技术最主要的功能就是弥补HTML标记对在页面中显示外观的不足&#xff0c;对这些标记对的默认外观进行美化。从本文开始&#xff0…

java 自定义对象 排序,使用自定义排序顺序对对象的ArrayList进行排序

问题我希望为我的地址簿应用程序实现一个排序功能。我想排序anArrayList contactArray.Contact是一个包含四个字段的类&#xff1a;名称&#xff0c;家庭电话号码&#xff0c;手机号码和地址。我想排序name。如何编写自定义排序功能来执行此操作&#xff1f;#1 热门回答(255 赞…

JUnit和Mockito合作

这次&#xff0c;我想对测试框架Mockito进行概述。 毫无疑问&#xff0c;这是用于测试Java代码的最受欢迎的工具之一。 我已经对Mockito的竞争对手EasyMock进行了概述。 这篇文章将基于有关EasyMock的示例应用程序。 我的意思是代表咖啡机功能的类。 用Mockito准备测试 通常&a…

发现2017年最好的CSS框架

如今&#xff0c;无数的框架出现在定期而少数人喜欢自助&#xff0c;Foundation和angular.js主宰了整个世界的发展。CSS代表用于描述HTML&#xff08;或XML&#xff09;文档表示的样式表语言。一个框架被定义为一个包&#xff0c;它由一组结构化的文件和标准化代码&#xff08;…

[python基础] python 2与python 3之间的区别 —— 默认中文字符串长

在python 2.7中使用len获得中文字符串长度时&#xff1a; >>> len(中文) 4 >>> a你好 >>> a \xc4\xe3\xba\xc3 >>> len(a.encode(utf-8))Traceback (most recent call last):File "<pyshell#77>", line 1, in <module&…

stixel world论文总结

1.The Stixel World - A Compact Medium Level Representation of the 3D-World:http://pdfs.semanticscholar.org/2df3/4dbfb4feeb2d7f40e90956ebc8de1f41a5e4.pdf stixel world开山鼻祖文章 https://zhuanlan.zhihu.com/p/27494151 对stixel world相关的一些概念进行解释 2.T…

php如何与数据库连接,PHP文章如何和数据库连接(1)

PHP文章如何和数据库连接(1)(1)Warning: mysql_query() [function.mysql-query]: Access denied for userODBClocalhost (using password: NO) in C:\Program Files\ApacheSoftware Foundation\Apache2.2\htdocs\TM\conn\conn.php on line 32Warning: mysql_query() [function.…

html基本标签与属性

HTML 超文本标记语言 html5 建立一个HTML文件&#xff1a; 文件名 . 后缀(html) 解析&#xff1a;就是去识别 注释&#xff1a;就是给开发人员开的批注------浏览器不去解析&#xff08;不去输出&#xff09; HTML的整体框架 <!DOCTYPE html> <html> <head> …

go基础编程 day-2

Go的常亮 关键字&#xff1a; Const Go常亮的多个定义&#xff1a; // 定义常亮的关键字 const// 定义多个常亮 const(PI 3.14const1 "1"const2 2const3 3 ) 全局变量的声明与赋值&#xff1a; var (name "wyc"name1 1name2 2name3 3 ) 一般类型…

EclipseLink JPA-RS简介

在之前的系列文章中&#xff0c;我介绍了如何创建一个将JPA用于持久层的JAX-RS服务。 EclipseLink包含一个名为JPA-RS的组件&#xff0c;该组件可用于轻松自动地将持久性单元公开为RESTful服务&#xff08;支持XML和JSON消息&#xff09;。 MOXy为JPA-RS提供XML和JSON绑定&…

如何对java分装,Angular4 JSONP + JAVA代码

一、在app.module.ts模块中&#xff0c;注入JsonpModule模块import {JsonpModule} from "angular/http";NgModule({imports: [JsonpModule //注入JSonpModule模块]})二、创建服务httpService&#xff0c;并注入jsonp和map(分装好的服务 可以直接调用)import {Injecta…

教你开发jQuery插件(转)

教你开发jQuery插件&#xff08;转&#xff09; 阅读目录 基本方法支持链式调用让插件接收参数面向对象的插件开发关于命名空间关于变量定义及命名压缩的好处工具GitHub Service Hook原文&#xff1a;http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 要说jQuery 最…

gulp 常用插件汇总

2017-07-26更新&#xff1a;图片压缩插件使用gulp-smushit&#xff0c;gulp-smushit压缩率比较大&#xff0c;gulp-imagemin 图片压缩插件压缩率不明显。 见下图压缩率&#xff1a; 1、gulp安装 参照gulp官网进行安装&#xff1a;http://www.gulpjs.com.cn/docs/getting-start…

Nmap介绍

1.Nmap介绍 Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 1.1 Zenmap Zenmap是Nmap官方提供的图形界面&#xff0c;通常随Nmap的安装包发布…

使用Maven安装本地jar

1.问题与选择 Maven是一种非常通用的工具&#xff0c;其可用的公共存储库首屈一指。 但是&#xff0c;总会有一个不在任何地方托管的工件&#xff0c;或者托管该工件的存储库有依赖的风险&#xff0c;因为当您需要它时&#xff0c;它可能不会启动。 发生这种情况时&#xff0c;…

转:.NET面试题汇总(三)

原文地址&#xff1a;http://www.cnblogs.com/yuan-jun/p/6600692.html 1、简述 private、 protected、 public、 internal 修饰符的访问权限。private : 私有成员, 在类的内部才可以访问。protected : 保护成员&#xff0c;该类内部和继承类中可以访问。public : 公共成员&…

matlab 多文件编程,是否有可能在MATLAB中为每个文件定义多个函数,并从该文件外部访问它们?...

m文件(即主函数 )中的第一个函数在调用m文件时被调用。 主函数不需要与m文件具有相同的名称&#xff0c;但为了清晰起见&#xff0c;它应该是这样 。 当function和文件名称不同时&#xff0c;必须使用文件名称来调用主函数。m文件中的所有后续函数(称为本地函数 (或旧术语中的“…

简单的Gradle Web应用程序

Gradle通过“ war”和“ jetty”插件轻松支持Java Web应用程序。 本教程将向您展示如何快速创建一个简单的Java Servlet Web应用程序。 我们的基本项目结构将是&#xff1a; basic-websrcmainjavacomcodetutrHelloWorldServlet.javawebappWEB-INFweb.xml首先&#xff0c;创建一…

SD/MMC相关寄存器的介绍

1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前&#xff0c;我们先来看看SD卡的内部架构是怎么样的&#xff0c;如下图所示&#xff1a; 2.SD/MMC相关寄存器的介绍 从上图中总结出&#xff1a;SD卡内部有7个寄存器. 一、OCR,CID,CSD和SCR寄存器保存卡的配置信息; 二、RCA寄存器保存…