没有应用程序服务器
我們最近發(fā)布了有關(guān)從免費(fèi)Plumbr部署中收集的應(yīng)用服務(wù)器市場(chǎng)份額的數(shù)據(jù) 。 它產(chǎn)生了很好的共鳴-通過不同的渠道,我們獲得了數(shù)百種有關(guān)如何解釋數(shù)據(jù)的評(píng)論。 但是,通過各種渠道不斷提出一種形式不同的論點(diǎn)。 無論是采用“ T omcat不是應(yīng)用程序服務(wù)器 ”的形式還是“ 此數(shù)據(jù)都無關(guān)緊要,因?yàn)樗鼪]有集中在Weblogic或WebSphere等真實(shí)的應(yīng)用程序服務(wù)器上 ”,它只是在不斷出現(xiàn)。 這使我們感到奇怪– Java社區(qū)為什么對(duì)真正的應(yīng)用服務(wù)器有如此不同的看法。 因此,我們決定對(duì)該問題進(jìn)行一些說明。 調(diào)查最明顯的來源(即Wikipedia ),事情看起來還不錯(cuò):
應(yīng)用程序服務(wù)器可以是提供通用方法來創(chuàng)建應(yīng)用程序服務(wù)器實(shí)現(xiàn)的軟件框架,而無需考慮應(yīng)用程序的功能是什么,也可以是特定實(shí)現(xiàn)實(shí)例的服務(wù)器部分。 在這兩種情況下,服務(wù)器的功能均致力于有效執(zhí)行過程(程序,例程,腳本)以支持其應(yīng)用程序。
到目前為止,一切都很好。 顯然任何東西都可以是基于Wikipedia定義的應(yīng)用程序服務(wù)器。 但是,當(dāng)我們嘗試為Java EE應(yīng)用服務(wù)器找到正式定義時(shí),事情就變得更加有趣了。
如果深入研究Java EE規(guī)范 ,您會(huì)發(fā)現(xiàn)Sun既沒有過去的歷史,也沒有Oracle在官方規(guī)范中使用“應(yīng)用程序服務(wù)器”一詞。 而是在整個(gè)材料中使用了“容器”一詞。 容器必須支持不同的規(guī)范,例如JMS , JTA , JSP,以保證應(yīng)用程序可跨不同的實(shí)現(xiàn)移植。
下一個(gè)重要的事實(shí)–在Java EE 5之前, Sun / Oracle承認(rèn)您的產(chǎn)品正式符合Java EE的唯一方法是實(shí)施整個(gè)規(guī)范。 這導(dǎo)致了大型,單一的“企業(yè)級(jí)”產(chǎn)品,例如臭名昭??著的Websphere和2000年代中期的Weblogic。 結(jié)果,越來越多的人蜂擁而至,遠(yuǎn)離了幾乎不可能使用的野獸,并開始使用諸如Tomcat或Jetty之類的更人性化的東西。 出乎意料的是,這些產(chǎn)品的供應(yīng)商對(duì)官方規(guī)范的關(guān)注程度并不低,而是專注于為手頭的工作提供良好的工具。 因此,規(guī)格委員會(huì)最終屈服并分解了規(guī)格。
Java EE 6中的這種故障稱為Java EE配置文件。 Java EE 6規(guī)范使容器供應(yīng)商可以選擇是希望實(shí)現(xiàn)規(guī)范的子集以獲得Web Profile認(rèn)證,還是希望獲得Full Profile并實(shí)現(xiàn)所有規(guī)范。 下表描述了相應(yīng)配置文件中的強(qiáng)制性規(guī)范:
| 完整的Java EE 6.0實(shí)現(xiàn) | |||||
| 網(wǎng)站資料 | |||||
| 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服務(wù)1.3 | JAX-RPC 1.1 |
| 通用注釋1.1 | EJB 3.1精簡(jiǎn)版 | JTA 1.1 | JAX-WS 2.2 | JAX-RS 1.1 | JAXB 2.2 |
| JPA 2.0 | Bean驗(yàn)證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服務(wù)元數(shù)據(jù)2.1 |
因此,如果您希望構(gòu)建自己的完整Java EE實(shí)現(xiàn),則最好為該列表中的所有30個(gè)縮寫提供實(shí)現(xiàn)。 由于這絕不是一件容易的事,所以在發(fā)布本文時(shí),只有以下應(yīng)用程序服務(wù)器由Oracle 正式認(rèn)證為Java EE 6:
| 完整檔案 |
| 甲骨文Glassfish 3 |
| IBM WebShpere 8 |
| IBM WebSphere CE 3 |
| 甲骨文Weblogic |
| JBoss AS 7 |
| Apache Geronimo 3 |
| 日立uCosminexus應(yīng)用服務(wù)器9 |
| 富士通Interstage應(yīng)用服務(wù)器10 |
| TMAX耶穌7 |
| 網(wǎng)站資料 |
| 甲骨文Glassfish 3 |
| Caucho樹脂4 |
| Apache TomEE 1 |
| JBoss AS 7 |
| Apache Geronimo 3 |
| Sap NetWeaver |
| 喬納斯 |
如果現(xiàn)在將此列表與最受歡迎的應(yīng)用程序服務(wù)器進(jìn)行比較,我們會(huì)發(fā)現(xiàn)66%的用戶群愉快地運(yùn)行在諸如Tomcat和Jetty之類的產(chǎn)品上,而這在官方認(rèn)證的容器列表中是遙遙無期的。 但是我們?nèi)匀徽J(rèn)為它們兩者都是為您的應(yīng)用程序提供出色且易于使用的平臺(tái)。 因此,正式而言,沒有像Java EE Application Server這樣的東西。 取而代之的是,我們有Java EE容器,如果供應(yīng)商希望,可以在任何配置文件中申請(qǐng)官方認(rèn)證。 而且,您絕對(duì)可以擁有自己的可愛應(yīng)用服務(wù)器,僅實(shí)現(xiàn)Servlet規(guī)范,而忽略其他所有內(nèi)容。 在這種情況下,您只是沒有資格獲得官方認(rèn)證。
翻譯自: https://www.javacodegeeks.com/2013/04/there-is-no-application-server.html
總結(jié)
- 上一篇: 网吧电脑怎么样装系统(自己电脑怎么装网吧
- 下一篇: 电脑基础软件有哪些(电脑基础软件有哪些好