http server是解析静态页面的服务器.如APACHE的HTTPD
web server可以解析动态页面的服务器.但只是针对WEB页面来说的.如APACHE的TOMCAT
app server包括更广泛的功能,什么JMS/RMI/JBI......包括各种应用程序的应用.如JBOSS,SUN的GLASSFISH,BEA WEBLOGIC,IBM WEBSPHERE....
Application Server是一套软件,可以提供各种各样应用程序服务,例如Web服务(就是Web容器),EJB容器服务,分布式事务,安全性管理等等。AS提供的服务可以使程序员从一些低层但是又必须(例如分布式事务)的开发中解脱出来,只须针对AS提供的API作简单的开发就行。
Taking a big step back, a Web server serves pages for viewing in a Web browser, while an application server provides methods that client applications can call.
A little more precisely, you can say that: A Web server exclusively handles HTTP requests, whereas an application server serves
business logic to application programs through any number of protocols.
所以我们在研究apache servicemix的时候,除了要启动TOMCAT之外,还要启动一个SERVICEMIX的应用,才能正常运行.
而我们在用JBOSS的ESB与SUN的OPENESB就不需要多启一个服务了,因为JBOSS和GLASSFISH已经为你做了这部分工作了.
所以我们选择SUN 的OPENESB,还有一个理由,是因为SUN的NETBEANS是一套非常好的BPEL设计工具,而且很容易部署到GLASSFISH上面.
而相比较ORACLE/ECLIPSE的BPEL引擎,在设计和部署上不够灵活.
而JBOSS的BPEL的设计器,设计出来的不是标准的BPEL,所以这些都不能选择.