你会在本日期,使用Boss或下(或另一种)作为Java EE服务器,用于一个新的项目?[关闭]

StackOverflow https://stackoverflow.com/questions/277543

  •  07-07-2019
  •  | 
  •  

如果你开始一个新的Java EE项目将完成大约一年,其应用程序服务器你会选择为什么?

部分答案应该包括你的参数的决定。还有多少经验,你有Java EE服务器选择和其他可用服务器上的市场。这些是有趣的,因为我们所有的获得有意义的调查,并认为这是投入你的答案。

有帮助吗?

解决方案

我有使用任何WebSphere,Boss,下、树脂、码头、Tomcat和其他几个人过去10年的人。所以,如果我们考虑一个新的项目,我会问自己几个问题第一次。一件事,我不会问题不再是我会平拒绝使用Jsp除非我被折磨直到我哭了我的妈妈。

我必须兼容/部署到一个特定的产品,因为某人的任务?有没有办法忽略它们,或者说服他们,否则?如果是这样,那是你的答案。

我需要使用前总?真的吗?避免他们如果在所有可能的--他们是真的,只需要非常大的企业类系统。记住,它们仅仅是工具,并且大部分在那些(任何人都可以说"金大锤"?).他们正在大力使用过度,所以真的问题是否你需要他们。如果你需要他们,那么,消除若干选项,包括我最喜欢的,码头。

你有没有使用任何其他主要J2EE技术,如JMS,ESB,等等?如果是这样,你真的不能没有的,然后你又限于一个完全成熟的J2EE容器。仔细思考和调查,然后再提交给BPM,例如,避免不断携新产品BPM在(几乎)所有费用--这是丑陋的极致。

如果你真的必须使用一个完全成熟的J2EE容器,考虑开放源码首先因为它是更强大、更好的支持,并且更具成本效益。他们有更大的客户基地和更公开的交互支持,使他们往往得到更好的修复得更快。然而,树脂是不成熟的,我会避免它相对于我们或Boss-我发现这有问题的部署和支持。我宁愿Boss,因为其更广泛的客户基础、成熟度,等等。我们是很难将其纳入一个自动化的建立和部署的过程,但它可能更好一些其具体的特征(如果你需要他们)。

我有一个特殊原因需要阿帕奇?然后,倾向Tomcat,或许再加上一些东西。

我可以做的只是servlet?然后我会使用的码头--这是最轻的,最快、最简单、最灵活的解决方案。如果我靠能够使用码头,我会问我所有的假设为什么。YAGNI适用。

最好是使用StringTemplate/WebStringTemplate在码头:一个清洁、有力、快速、可维护的解决方案没有许可证的费用、良好的声誉和支持,等等。这就是我开始的今天。

大多数应用程序/系统的选择很多花哨的J2EE特征时,所有他们真正需要的是servlet和JDBC与一些体面的结构/设计。问为什么你认为你需要更多。

的完全成熟的容器,我将避免任何和WebSphere除非你是支持一个主要的公共网站(我的前雇主的网站上部署任何和它得到的十万的点击每个月,其他人已经相当).任何真实的权利要求-对名声是他们比较容易的集群,但避免他们的专有供应商锁定在提供(几乎)所有费用。WebSphere只是一场噩梦,我将避免逐字不惜一切代价--我拒绝这样做的项目涉及WebSphere后做一对情侣在过去。既不是产品是值得的巨大的许可证费用,除非你真的有特殊需要,推动使用一个专有特征。在一个十年作为一个高级建筑师/工程师对于许多财富500强公司,我还没有看到这样一种需要。另一方面,我见过很多的痛苦,由于挑选此类专有产品。

甚至的真高交通、公共网站,专利产品仍然值得怀疑。我宁愿花费多万美元,每年许可证费用上的一些良好的硬件和一些质量时间从少数几个非常好的咨询顾问到地址一个简单的可扩展性的解决方案。额外的数以百万计每年可用来产生一些有价值的出售是不错的网站...

编辑:另一块考虑...

我最近遇到的 兵马俑.我思考一切,找到将它部署在一个重大的系统。特别是,赤并集群比其他任何东西,所以我将不再推荐任何其集群。

其他提示

术语“应用服务器”。很暧昧。使用GlassFish v3,您可以从传统的Web容器开始,然后进化(使用OSGi和简单的“添加容器”功能)来添加您喜欢的任何内容:JPA,JAX-RS,EJB,JTA,JMS, ESB等...但它是相同的产品,相同的管理界面等。这是否有资格作为您的应用程序服务器? -Alexis(太阳报)

我经常问自己的第一个问题是“我可以用Tomcat做这个吗?”。如果答案是否定的,因为我需要JMS或JTA,那么我求助于应用程序服务器。

我在大约3年前使用WebLogic 8对WebLogic的易用性和许可/成本模型感到满意。我们将它用于两个项目,一个是Web服务,另一个是门户。我们在其中任何一个项目中都没有遇到WebLogic或WebLogic Portal的任何问题。

在过去的两年里,我一直在使用WebSphere。每当我与IBM协商时,它总是最终花费的成本是WebLogic等价物的两倍,但公司策略决定了必须使用WebSphere。我发现WebSphere上的学习曲线比WebLogic要陡峭得多,我们的构建/部署/测试生命周期非常耗时,因此我们在开发环境中使用了Tomcat。但是我遇到的最大问题是当我们遇到一个错误,迫使我们升级到下一个补丁版本时才遇到解决web.xml的新问题。花了48小时的时间才完成所有工作。

目前我正在使用JBoss。大约3个月前,我正准备用Tomcat和Jetspeed 2开始我的新项目,但是我注意到Jetspeed 2现在看起来有点停滞不前,JBoss Portal 2.7.0刚刚发布了JSR 286 / Portlet 2.0支持。我给了JBoss一个旋转,发现它很容易设置和管理。构建/部署/测试周期非常快,除非我在某处更改了Spring XML文件,否则我很少需要重新启动服务器。

我一直在使用boss3-4年。

参boss:

  1. 开放源。
  2. 商业支持服务。
  3. 大,活动的用户社区。

反对boss:

  1. 没有一般的访问,支持Java EE5容器中释放。
  2. 很多的文件,但详细;可能很难找到的回答"我该怎么做x?"
  3. 管理工具,用于4.x穷人相对于其他商业服务。

Checkout GlassFish 3.1! 3.1版基于Java EE 6模块化的基于GlassFish v3的内核构建,提供集群,集中管理和高可用性。

请参阅 http://blogs.oracle.com/nazrul/entry/glassfish_3_1了解更多详情。

另一点是不是在这里讨论的是性能。如果这是一个令人关注,因为服务的类型或者是因为用户的数量,然后以下会适用:

  • 雄猫似乎是慢于我们
  • 我们似乎可以慢于树脂
  • 树脂慢得多于G-WAN+Java

注意G-WAN依赖于JVM孤单:它不使用任何进一步的容器(除非明确指定)所以,你可能保留它的性能至关重要的部分的网络应用程序。

为G-WAN支持其他语言,(C、C++、C#、D、目标-C)你甚至可以处理的某些部分中的应用程序原C,同时保持Java于其他任务。

我可能会将您首选的操作系统作为决策标准。如果您为操作系统和应用服务器使用相同的供应商,它应该更容易支持。如果您已经与一个或两个供应商建立了关系,请考虑他们是否善于处理。

从技术角度来看,我会选择GlassFish,因为它支持更近期的创新。我认为JBoss不是坏事,它根本就不是最新的。

我的大多数经验都是在WebLogic上,但我使用过JBoss和GlassFish。我刚刚在一个完整的Sun开源堆栈(OpenSolaris,GlassFish,MySQL)上发布了一个新站点,这是一次非常棒的挫折。

我仍然认为WebLogic是市场上最好的Java EE应用服务器。如果您能负担这些许可证费用,我认为这是值得的。

我很惊讶地看到你可以通过结合Tomcat,OpenEJB和ActiveMQ走多远。在我看来,这是一种低成本的替代方案。

我也会研究Spring dm Server。它基于Tomcat,但我认为他们添加的OSGi片段可以在短时间内无处不在。如果它以与Spring框架相同的质量完成,它确实非常好。

替代方案:根本不使用appserver。

查看 http://www.atomikos.com/Publications/J2eeWithoutApplicationServer

对于Web项目,如果必须,请保留一个轻量级Web容器,并结合Wicket之类的东西,以避免JSP / JSF或struts的复杂性。

HTH 盖

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top