最新在做一个企业级项目,在讨论到servlet容器的选择问题。
有个概念必须要搞清楚。什么是web容器?详见维基百科
简而言之,web容器就是带有servlet容器的webserver。所以我很不喜欢web容器这个词语,web本身没有什么容不容器的概念,容器是针对servlet而言。也就是说,必定是java语言的。
在php等世界,就只有webserver了,因为它们是脚本语言,没有从jsp编译为servlet的过程。Apache Httpd就是webserver,但它不能解析JSP,但可以与Tomcat一起使用(它负责http,tomcat负责servlet);当然,Tomcat(同时负责http与servlet)独立使用也可以。
也就是说web服务器是解决http层的,servlet容器是解决servlet层的。
格外在说一句,有个同事把Weblogic称为Web容器(在专业文档中),我个人觉得很不专业。首先,Weblogic是一个webserver;同时,它也是一个servlet容器;而且,它还是一个EJB容器。说明的词语不怕多,在正式的文档里要专业。
在选型讨论会上,谢工主张要选择商业产品,比如oracle的weblogic。理由是:
1. 功能强大
2. 出了问题可以花钱买专业服务解决
忘了是谁,说用JBoss。
乙方的董工等几人力荐Tomcat。理由是:
1. Tomcat开源,产品已很成熟
2. 免费
他负责硬件侧购买,但也说不清楚Weblogic的价格。因为License基本总部都买好了,费钱的地方在于格外的其他很多细微地方
可参考资料:
最后,还有一个很重要的问题,用Tomcat的话,扩展的功能和故障解决怎么处理?
这个问题我是这么看的:
1. 其实Weblogic的全部的功能,是不可能都用到的,与其购买用不到的功能为何不需要什么功能就在Tomcat上扩展呢?
2. 故障的解决确实需要技术的积累,但为何你愿意花钱每次够购买别人昂贵的服务而不愿意花钱招聘、培养自己的核心技术人员呢?
3. 如果这个项目非常着急上线,则可以采用先购买Weblogic,然后逐步采用Tomcat替换。但,根据我对甲方如果是大型国企/政府部门的了解,项目上线了基本就万事大吉很难找到有后续的人跟进了。
本文出自ouyida3的csdn blog
2015.4.1
原文地址:http://blog.csdn.net/ouyida3/article/details/44816617