J2ee开发主要是浏览器和server进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器。能够看出server在这样的架构是很重要的。
这几天接触到两种Java的webserver,做项目用的Tomcat,看视频看的是WebLogic Server(WLS),都是webserver,有什么差别和联系呢?
(一)先简介一下这两种server。
WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本号WebLogic Server 9.0是迄今为止公布的最卓越的BEA应用server。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用server。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。全然遵循J2EE 1.4规范。
Tomcatserver是一个免费的开源的Web 应用server,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其它一些公司及个人共同开发而成。由于Tomcat 技术先进、性能稳定,执行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统经常使用的功能;并且非常重要的是她免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为眼下比較流行的Web 应用server。并且因为开源,它还在不断的改进和完好中,不论什么一个感兴趣的程序猿都能够更改它或在当中增加新的功能。
(二)同样点:
WebLogic和Tomcat都是基于java的基础架构来满足实时处理需求,不同的版本号与jdk版本号兼容和有所不同;由于都是要和前台交互,所以他们都基于sun公司的servlet来实现的。
(三)不同点:
功能性:
WebLogic更加强大。weblogic是j2ee的应用服务器(application server),包含ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其它如JAVA编辑等工具,是一个综合的开发及执行环境。
WebLogic应该是J2EE Container(Web Container + EJB Container + XXX规范)!
Tomcat仅仅能算Web Container,是官方指定的JSP&Servlet容器。仅仅实现了JSP/Servlet的相关规范,不支持EJB(硬伤啊)!只是Tomcat配合jboss和apache能够实现j2ee应用server功能
一般来说考虑stucts等架构tomcat就能够了,但假设考虑EJB的话,WebLogic是比較好的选择。
扩展性:
用WebLogic执行标准的java可能并非最好的方式,WebLogic里支持他自己的一些东西,这些东西尽管是在纯java基础上开发的,但其它工具里都没有。WebLogic Server凭借其出色的群集技术,拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。
WebLogic Server既实现了网页群集,也实现了EJB组件 群集,并且不须要不论什么专门的硬件或操作系统支持。网页群集能够实现透明的复制、负载平衡以及表示内容容错 。
不管是网页群集,还是组件群集,对于电子商务解决方式所要求的可扩展性和可用性都是至关重要的。共享的客户机/server和数据库连接以及数据缓存和EJB都增强了性能表现。这是其他Web应用系统所不具备的
所以,在扩展性方面WebLogic是远远超越了Tomcat。
费用上:
Tomcat开源免费。
WebLogic不开源不免费。
总之,在功能强大和扩展性和可用性等方面WLS比Tomcat好非常多,但这也不能说明WLS适合每一方面,从Tomcat的使用流行度便能够看出,Tomcat虽功能有限,但也非常受欢迎。事实上关键看你要做什么。
Tomcat 是免费开源的jsp,servlet引擎,入门级别的Webserver,刚入门的IT人使用Tomcat简单易上手。并且它一个轻量级应用server,最重要的是它免费,所以在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat比較轻巧,消耗资源较少。当然,项目大的时候,WLS肯定再合适只是,并且Tomcat也无法满足太多需求,可是,WLS的费用也是不可小觑的。
总之,关键看你做什么,权衡利弊做选择。
此外,还有其它J2EE Application Server,比如: IBM的websphere、Sun的Glassfish、resin等。Apache全球应用最广泛的httpserver,免费。相同开源免费的JBoss, 国内厂商生产的还有像东方通的Tongweb、金蝶Apusic应用server等。都是应用比較广泛的。