`
zhangxiaofei13
  • 浏览: 4068 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

应用服务器(App Server)的选型

阅读更多
App Server是运行Java企业组件的平台,构成了应用软件的主要运行环境 。对应应用服务器(App Server)的选择,很多开发人员可能了解的不是很清晰,
在项目的开发中很多情况都是由于系统基础框架搭建完成后已经选择了相应的应用服务器,或由于系统是某个大的系统的一个小子系统,为了统一而直接使用了
某个应用服务器,下面按本人的理解简单的总结一下 应用服务器的选型。
1.主要应用服务器。
        当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss,Tomcat
Tomcat
     Tomcat严格意义上并不是一个真正的App Server,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些App Server的功能,如JNDI,
数据库连接池,用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中
Resin
Resin 也是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为
他们的Java  Web应用服务器,譬如163、ku6等
GlassFish
GlassFish  sun公司开发的实现了开源 Java EE 5 应用服务器。GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新
分发。
JRun
也仅仅是一个Servlet容器  要钱的暂时不提了。
BEA Weblogic
     Weblogic可以到BEA的网站上免费注册之后下载到最新的Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。
IBM Webshpere
     Websphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,,Websphere的下
载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html。
Jboss
     Jboss是免费开源的App ServerJ 实现了EJB容器,再集成了Tomcat,可以免费的从Jboss网站下载:http://www.jboss.org/index.html,然而Jboss的文档
是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档,可以用来参考:http://www.jdon.com/idea.html
作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。

选型标准
对于不同级别的用户或开发商来说,选择应用服务器需要考虑与自己开发的应用规模、类型相匹配。比如对于简单的应用来说,可以使用基本应用服务器进行开
发。这类应用服务器支持有限的企业服务质量特性,但覆盖面小、部署与管理简单、费用低,并且编程技术简单明了。基本J2EE应用服务器支持JSP和Servlet应
用,但不支持EJB编程模型。这类应用服务器适用于使用期限较短和用户基础较小(1000个并发用户)的应用。
推荐使用tomcat或resin
Tomcat由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最
新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行
的Web应用服务器。
Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,
Apache Tomcat 6.x在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。
Apache Tomcat 7.x是目前的开发焦点,仍基于Apache Software License v2.0标准,同时也是自2006年以来的首个主要发布版本。它在汲取了Tomcat 6.0.x优点
的基础上,实现了对于Servlet 3.0、JSP 2.2和Expression Language(EL)2.2等特性的支持。除此以外的改进列表如下:
  • Web应用内存溢出侦测和预防
  •增强了管理程序和服务器管理程序的安全性
  •一般CSRF保护  •支持web应用中的外部内容的直接引用
  •重构(connectors, lifecycle)及很多核心代码的全面梳理
Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态
内容,但是它显示静态内容的能力也非常强,速度直逼APACHESERVER。许多站点都是使用该WEB服务器构建的。
Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 3.0标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin
来进行JSP编程是件很容易的事情。
Resin支持负载平衡(Load balancing),可以增加WEB站点的可靠性。方法是增加服务器的数量。比如一台SERVER的错误率是1%的话,那么支持负载平衡的两个
Resin服务器就可以使错误率降到0.01%。

Resin也是全免费的,从站点下载的就是完整版本。相对于tomcat,后者更象是一个正在研究的项目。目前resin可以支持sun的j2ee,而tomcat不能直接支持,而
j2ee是基于java服务器端大系统的基础。Resin3 之后已经不在是一个简单的jsp容器,并且支持ejb,jta等企业功能。目前resin4 (2010年后已经比较稳定)性能
更是优秀。并且已经支持servlet 3.0标准.pro版本是收费版本,支持负载均衡和文件缓存。普通版本独立作为web服务器性能就要差一些,可以使用apache
+resin的方案借助apache的缓存功能提高性能,但负载均衡就是普通版不能比的。CAUCHO公司还为resin添加了php解析执行功能,能够运行php程序。但相对 php
的原生版本还是有一定差距。
Tomcat和Sun Java结合的最好,和其他应用服务器配合使用可支持完整的j2ee标准,应用也很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解决的最
好。还有从使用的角度讲,Resin比Tomcat方便,而且Resin也可以结合Jbuilder6等ide使用。Resin强调使用Xml技术。
  
高端平台应用服务器适合于大规模分布式计算,提供了事务处理管理、容错、系统管理、线性可伸缩性、群集和应用集成功能。它们支持高级设备模式(例如
,消息、事件管理、上下文管理、业务过程处理)。它们在部署和维护上比基本应用服务器更复杂,费用也更高。

Jboss、weblogic、websphere
WebLogic和WebSphere是商业软件,功能齐全强大,主要应用于大型企业的大型项目。
JBOSS 主要应用于EJB服务的中小型公司。
WebLogic和WebSphere
WebSphere 产品家族和解决方案
业务整合整合服务器提供了一套用于应用程序整合和业务流程自动化的中央基础设施。
应用服务器应用服务器提供了运行互操作应用程序的平台。
IBM Support for Apache Geronimo
从 Apache Software Foundation 提供一个开源 J2EE 应用服务器
WebSphere Application Server   WebSphere Application Server
为基础消息传递流和应用程序提供一个经济有效的整合基础平台
WebSphere Application Server - Express
为动态的随需应变应用程序提供 J2EE 和 Web 服务
WebSphere Application Server Community Edition
WebSphere Application Server Community Edition V1.1 是 IBM 支持的基于开源的应用服务器。
WebSphere Extended Deployment   WebSphere Extended Deployment
WebSphere Extended Deployment V6.0 创建了随需应变的基础设施,此基础设施跨事务和长期运行两种工作负载。
WebSphere Real Time   WebSphere Real Time
提供可预测的响应时间
WebSphere Remote Server   WebSphere Remote Server
IBM WebSphere Remote Server V6.0 是领先的面向服务的架构(SOA)平台,可用于专门为存储级设备和应用程序提供集成和支持的远程托管分布式环境,无论
过去、现在还是未来。
WebSphere Remote Server for Retail
为远程环境提供完整的集成应用服务器、数据库和消息传递平台
数据和信息管理信息和数据管理软件提供了对任何环境中数据的存储、访问和分析。
移动技术、语音技术和企业访问无线、普及和语音软件支持无线设备和移动设备之间的数据交换和语音交互。
组织生产力门户与协作生产力软件提供即时消息传递、网上会议、协作门户和基于角色的环境。
网络网络软件在用户和应用程序之间提供了集成的目录、连通性和安全性。
软件开发软件开发工具用于设计和构建应用程序,支持开发和部署过程。
门户 – 商务 – 个性化门户、商务和个性化软件支持业务开发、员工和客户环境。

Weblogic:
这是bea公司
BEA WebLogic平台包括BEA WebLogic Server®、BEA WebLogic Portal™、BEA WebLogic Integration™、BEA WebLogic Workshop™、BEA JRockit™,是开发人员用
服务来支持其应用程序的一流的应用程序平台套件。
BEA WebLogic Server
BEA WebLogic Server 是具有可伸缩性的企业级 Java Platform Enterprise Edition (Java EE) 应用程序服务器。WebLogic Server 基础结构支持多种类型的
分布式应用程序的部署,也是生成基于 Service Oriented Architectures (SOA) 的应用程序的理想的基础。SOA 是一种设计方法论,其目标是最大限度地重复
使用应用程序服务。
WebLogic Server 完全实现了 Sun Microsystems Java EE 5.0 规范,提供了一组标准的 API 以用于创建分布式的 Java 应用程序,这些应用程序可访问多种服
务,如数据库、消息传递服务和与外部企业系统的连接。最终用户客户端可使用 Web 浏览器客户端或 Java 客户端访问这些应用程序。请参阅编程模型。
除了实现 Java EE 之外,WebLogic Server 可使企业在一个可靠、安全、具有高可用性和可伸缩性的环境中部署关键任务应用程序。当出现硬件故障或其他故障
时,企业可通过这些功能配置 WebLogic Server 实例群集以分配负载并提供额外的容量。新的诊断工具允许系统管理员监视和调整已部署的应用程序的性能和
WebLogic Server 环境自身。还可以将 WebLogic Server 配置为自动监视和调整应用程序吞吐量而无需人工干预。广泛的安全功能会保护对服务的访问、保持企
业数据安全和防止恶意攻击。
BEA WebLogic Portal
BEA WebLogic Portal 8.1简化了自定义门户的生产和管理,使用户能够利用共享的服务环境以最低的复杂性和最少的工作推广变更。
BEA WebLogic Integration
BEA WebLogic Integration 8.1提供了将其他情况下的两个完全不同的活动(应用程序集成和应用程序开发)融合为一个统一的业务整合解决方案。
BEA JRockit 5.0 JDK
使用BEA JRockit 5.0 Java Development Kit (JDK),Java开发人员能够将应用程序更快、更高效地部署到生产中,并以最少的配置获得最佳的性能。BEA
WebLogic Express® 10.0
BEA WebLogic Express 10.0 是一款功能强大、经济实惠的 Servlet 引擎,能够在最短时间内启动,并在 WebLogic™ 产品系列上运行。使用 WebLogic Express
可以快速地开发和启动动态网站和基本 Web 应用程序,从而为您提供市场上最可靠的生产就绪部署
在安全性均衡负载上websphere强于weblogic
但websphere贵 也比weblogic重,资源非常厉害,websphere默认采用IBM的JDK,在标准上和weblogic还是有些区别。特别是在weblogic 环境下开发的webservice程序
移植至websphere灰常困难,

  JBoss开放源代码Java EE实现,成本低,好控制。
  JBoss需要的内存和硬盘空间比较小,但是只适合做小项目。
WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,适合企业级开发大项目 
  安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。
  JBoss能够“热部署”,部署Bean只是简单拷贝Bean的Jar文件到部署路径下就可以了。如果没有加载就加载它,如果已经加载就自动更新。
  JBoss与Web服务器可在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
  用户可以直接实施Java EE-Ear,非常方便。
  JBoss支持集群,一个JBoss服务器实例可同时创建多个集群,但这样会增加管理复杂性。
   WebLogic能新建多个域,在同一个域可建多个集群,集群对开发人员和用户是完全透明的,不需要关闭网站,可在集群中动态的任意添加服务器,可扩展性和利用度只受用户硬件预算的限制,既实现了网页集群也实现了EJB组件集群。
WebLogic和JBoss都采用smart stub形式进行EJB集群。即采用轮循、随机、权重等当时访问stub中指定的EJB JNDI,WebLogic的集群更易于管理。
都支持热部署,但JBoss的热部署启动太快,拖开发效率,WebLogic相对稳定些。
分享到:
评论

相关推荐

    网上订货移动App服务器部署架构说明 (2).doc

    网上订货移动App的服务器部署架构是支撑应用程序稳定运行的关键组成部分,它涉及到多个层面的设计与配置,包括硬件选型、操作系统选择以及应用软件的部署。下面将详细解析这个架构及其重要组件。 首先,架构图中的...

    安卓381医疗门诊预约系统app+server-qkp_安卓app_安卓_医疗门诊预约安卓APP和服务器代码_毕业设计_预约_源

    本文将深入探讨一个基于安卓平台的医疗门诊预约系统APP及其服务器端的实现,适合于安卓APP的初学者及大学生毕业设计参考。 首先,我们要理解这个系统的功能需求。该系统的核心是实现预约功能,用户可以通过安卓APP...

    dch server app

    【标题】"dch server app" 是一个与服务器应用程序相关的项目,可能是一个专门为某一特定功能或服务设计的服务器端软件。在IT行业中,服务器应用程序通常用于处理来自客户端(如Web浏览器或其他应用程序)的请求,...

    服务器(小型机)选型指南

    - **TPC-App**:应用程序性能评估。 - **TPC-H**:决策支持系统性能测试,侧重于基于特定查询的决策支持。 - **TPC-C**:在线事务处理(OLTP)的性能测试,适用于业务处理系统。 - **TPC-W**:针对互联网及电子...

    U9环境选型和部署方案

    WebServer和AppServer合并在同一台服务器上,而DBServer则独立部署在另一台机器上,以承担更繁重的数据库操作任务。随着用户负载的增加,如果系统出现性能瓶颈,可以考虑对WebServer+AppServer进行群集部署。 #### ...

    毕业论文安卓70漫画(app+server).doc

    摘要部分概述了项目的意义、技术选型以及主要功能,强调了Java、Android和MySQL在项目中的应用。 2.2 背景与意义 详细阐述了当前社会背景下,移动互联网的发展趋势,以及开发漫画App对于有效利用碎片时间的价值。 ...

    毕业论文安卓240点菜系统app+server.doc

    【毕业论文——安卓240点菜系统app+server】是一个关于无线点餐系统设计与实现的计算机毕业论文。该论文全面涵盖了从项目背景、技术选型、需求分析到系统设计、实现、测试和总结等多个方面,旨在通过移动技术和网络...

    毕业论文安卓521药房信息查询系统app+server.doc

    《毕业论文:安卓521药房信息查询系统app+server》 毕业论文主要探讨了如何构建一个基于Android平台的药房信息查询系统,该系统旨在提供方便快捷的药品信息查询服务,为药店管理员及消费者提供实时、准确的药品信息...

    基于Android的移动应用开发学习

    B/S(Browser/Server)结构是本项目采用的客户端-服务器模式,用户通过微信端(Web App或小程序)与服务端进行交互。微信端实现了用户界面,提供了课程浏览、公告查看、在线提问等操作,而服务端则处理这些请求,...

    毕业论文安卓17旅游助手(app+server).doc

    开发技术上,选择了JSP(Java Server Pages)作为服务器端编程语言,结合MySQL数据库进行数据存储和管理,确保系统的稳定性和高效性。 需求分析是整个项目的基础,论文深入剖析了智能旅游平台的功能需求。用户层面...

    毕业论文安卓282拼车app+server.docx

    在技术选型上,本论文特别关注了安卓平台的应用,因为安卓系统在移动设备市场占据主导地位,且具有良好的兼容性和可扩展性,适合作为开发网络拼车APP的基础。 在需求分析阶段,论文明确了系统需具备的主要功能,...

    毕业论文安卓36家庭理财系统(app+server).doc

    JSP(JavaServer Pages)是Java平台上的动态网页技术,结合了HTML和Java代码,用于构建服务器端的应用。在本系统中,JSP用于实现后台管理功能,处理用户请求,与数据库进行交互。 2.3 JSP动态网站开发优点 - **...

    基于Delphi 10.3 开发新闻类安卓App实例研究

    尽管它在某些高级UI设计方面存在局限性,但通过合理的规划和技术选型,仍然能够开发出具有良好用户体验的应用程序。本文通过具体的案例研究展示了如何使用Delphi 10.3开发一款新闻类Android App,为感兴趣的读者提供...

    毕业论文安卓832基于3G手机航班订票系统app+server.doc

    《基于3G手机的航班订票系统》是一篇关于计算机毕业论文的文档,主要探讨了在安卓832平台上开发一款3G手机航班订票应用及其服务器端的系统设计与实现。这篇论文全面覆盖了从项目背景、技术选型、需求分析到系统实现...

    应用于团体组织内部信息交流的多功能即时通讯App-附件2

    ### 应用于团体组织内部信息交流的多功能即时通讯App知识点解析 #### 一、项目背景与概述 本项目是一款专为高校团体组织设计的多功能即时通讯应用,旨在提供一个便捷高效的内部信息交流平台。该应用不仅限于文字...

    app视频点播直播系统方案[归纳].pdf

    《app视频点播直播系统方案》是对现代移动应用中视频内容消费的重要技术解析。此方案主要关注于构建一套高效、稳定且用户友好的视频点播和直播应用,以满足日益增长的在线视频需求。 首先,系统概述部分阐述了系统...

    运营版本uniapp定制二开聊天APP社区APP红包IM软件即时通讯源码.txt

    综上所述,这款“运营版本uniapp定制二开聊天APP社区APP红包IM软件即时通讯源码”涵盖了从技术选型、功能设计到实际开发过程中的关键知识点。无论是对于希望快速上线一款社交应用的企业,还是对于想要学习即时通讯...

    社区书籍分享手机APP系统的设计与实现.pdf

    1. **技术架构**:本系统采用的是手机APP/Server架构,其中客户端为手机APP,服务器端负责数据存储和处理。 2. **技术选型**: - **客户端**:使用Java语言和Android Studio开发工具,确保应用的跨平台兼容性和...

    泛微 e-cology9 硬件配置要求

    1. 应用服务器:由于需要支持大量的并发用户,因此至少需要3台应用服务器来安装e-cology9的应用、EM7的app以及msg服务。每台服务器的配置应包括高性能的处理器(如Intel Xeon系列),充足的内存(通常至少16GB,根据...

Global site tag (gtag.js) - Google Analytics