- 论坛徽章:
- 0
|
[转帖]Weblogic VS Websphere(偏向Websphere)
J2EE Application Server Evaluation –
Bea WebLogic Server
IBM Websphere Advance Edition
评估范围
标准支持
可扩展性和可用性
性能, 持久性连接
互操作性与可集成性
部件开发与实施
可管理性
安全性
1、J2EE标准的支持
作为JAVA应用服务器,是否支持开放的J2EE标准以及支持的程度,对应用的开发人员和用户而言,关系到应用的开放性、与原有系统和新应用的互操作性、与各种平台的中立性和可移植性;直接影响到应用本身的生命周期。
因此对J2EE标准的支持应该成为评估应用服务器的首要标准。
(本图表来源:Massimo Pezzini, Daryl Plummer, Gartner Group )
*注:在最新发布的WebSphere 4.0中仍然不能支持EJB 2.0。因此,开发者无法使用EJB2.0的先进特性,比如消息驱动的EJB等,在系统设计上存在一定的局限性。
2.扩展性和高可用性 – 多机集群机制
为了实现应用的扩展和保证应用的高可用性,应用服务器通常都采用Clustering群集机制来提供应用的分布式部署、负载均衡、组件级的切换(Fail Over)。在N层应用架构下,好的应用服务器群集可以为每一层逻辑的应用提供良好的扩展性和可用性,可提供高效率的负载均衡算法同时额外增加的工作负载不大, 可以为JSP/Servlet的会话(Session)和后台 EJB提供对开发人员透明的状态备份机制和快速的失效切换,同时服务器群集的管理应该简单方便。
WebLogic Premium EditionWebsphere AE CLONE
负载均衡机制4种可选:
- Random (随机)
- Round-Robin (轮循选择)
- Wight-based RR
(根据性能权重选择)
- Parameter-based RR
(根据调用参数选择)只有Round-Robin方式
支持Failover的部件Servlet/JSP (HttpSession)
JNDI tree
RMI Objects
Entity Bean
Stateful Session Bean
Stateless Session Bean
JMS QueueServlet (HTTP)
JNDI tree
Entity Bean
Stateless Session Bean
多个服务器上JNDI树的一致性机制用IP Multicast 同步,快。通过需要另外安装的DB2数据库来共享,大量的I/O,影响性能;仍存在单点故障。
Session会话状态持久化机制多服务器间内存复制(In-Memory Replication),不影响性能,可扩展性好;复制不存在单点故障。通过需要另外安装的DB2数据库来共享Session状态,大量的I/O,影响性能;仍存在单点故障。
Stateful EJB的Failover机制通过调用端的“SmartStub”和EJB Container的复制Home (Skeleton)来实现。恢复过程对客户透明。不支持
Entity Bean
Failover 机制 “SmartStub”支持不同服务器的多个对象引用,恢复过程对客户透明。利用ObjectPool技术减少恢复时间恢复过程对客户透明,但别的服务器需要重新创建Entity Bean的对象。
从上表可以看出,在系统负载均衡和高可用性方面,WebLogic Server 的CLUSTER实现手段丰富,实现的技术成熟程度也较高:比如通过多服务器间内存复制Session会话状态比通过数据库共享会话状态对系统的负载小,并且Session Failover要快;Weblogic Server通过Object Pool将Entity Bean暂存并复制对象引用到不同的服务器,失效恢复时无须从数据库重新创建新的对象,减少恢复时间。
而IBM WebSphere CLONE技术实际是克隆一个应用在多个服务器上的多个拷贝,在一个物理主机上垂直扩展可以提高性能,但是水平扩展的实际效果不佳。
3.性能
由于对Application Server的性能测试没有一个业界公认的性能指标值,各厂家均声称自己的性能最好,客户可以从自己的实际应用出发,做模拟的性能测试。这里我们仅从技术上分析不同的实现技术可能导致的性能差异,比如进程占用系统资源的大小,负载均衡机制,数据库连接池,请求队列,线程缓冲池,对象缓冲池等。
WebLogic Server Websphere AE
占用资源每个服务器实例一般60-70MB
占用HTTP和SSL两个端口每个实例一般150MB左右;
同时要运行单独的HTTP Server和Admin Server进程,至少需要运行3个JVM。JSP->;EJB的调用是跨JVM的RMI-IIOP调用,性能有限。
典型安装需要7个不同的端口!
负载均衡机制4种可选:
Random
(随机,额外负载最小)
Round-Robin (轮循选择)
Wight-based RR
(根据服务器性能权重选择)
Parameter-based RR
(根据调用参数选择)只有Round-Robin方式
请求队列(Q)有无
处理线程缓冲池有,可配置大小无
JDBC 连接缓冲池有,可支持多种数据库,如Oracle, Sybase, Informix, DB2, MSSQL, Cloudscape,…通过自己的 Connection Manager实现DataSource, 但是没有 JDBC Connection Pool
并发的MultiPool有,可配置没有
查询结果Cache有,可配置只支持DB2
CMP Entity Bean的持久性实现1. CMP与数据库种类无关,支持多种不同数据库和其他方式如Versant, TOPLink and ODI。
2. 把只读的Entity Bean放在内存的缓冲池中,不用重复创建只支持DB2和Oracle,并要求管理用的DB2与WebSphere安装在同一物理主机上。
对象缓存技术
Object Cache 存放当前对象
Free Pool 存放当前不用但可能将来用到的对象由Performance Pack提供
从上表可见,WebLogic Server为了支持大规模并发的客户请求,尽可能的使用了队列(Queue)、缓冲池(Pooling)和高速缓存(Caching)技术,对资源的有效利用,事务处理性能的提高有相当大的作用。 从实际部署的应用系统中,相当部分客户的WebLogic Server也承受了大量的WEB交易负载。
4.可互操作性/集成性
应用服务器作为N层架构中的中间商业逻辑处理层,对前端的互操作性和与后台数据源的可集成性在实际部署中非常重要。互操作的灵活性会给用户在不同层次的众多技术选择中带来极大的方便。
Weblogic ServerWebSphere AE
HTTP支持不同HTTP服务器,如NES, IIS, Apache, …需要先安装IBM HTTP服务器。
JCA 1.0 (Java Connector Architecture) 支持。通过合作伙伴提供数十种应用的Java Connector, 比如SAP R/3, Oracle App NCA, Sieble, Email Server, CICS, MQ, 各种常见DBMS等.
以后‘将会’支持
COM/COM+ Client支持COM client如VB,ASP,PowerBuilder,提供COM+对象和Java对象的互操作手段。不支持COM客户端,必须通过第三方厂商的Java-COM或CORBA- COM Bridge产品
RMI over IIOP支持支持
XML/SOAP/ WebServices支持。
JAXP 1.1 (SAX V2.0, DOM Level 2), 可插入的解析和转换
支持Web Services, 包括内置SOAP,WSDL自动生成,UDDI无须注册支持
DBMS JDBC 连接支持几乎所有数据库只支持DB2和ORACLE
Messaging Service JMS要单独购买和安装MQSeries,才能用JMS
Directory ServiceJNDI1.2,支持LDAPv3 (可与NDS, Active Directory Server和其他标准LDAP服务器集成) JNDI 1.1, 不支持LDAPv3,用IBM自己的SecureWay
5.应用开发与实施
IBM WebSphere和Visual Age for java开发工具有很好的结合,支持Wizard 方式,包含商业逻辑开发和部署;但是缺少与OOA工具的结合,以及JSP等WEB页面开发工具的结合。
BEA WebLogic可以与WebGain 开发套件结合,包括:VisualCafe 4.0 Enterprise Edition, StructureBuilder advanced (EJB code generation wizard, visual modeling, advanced Web content development tool and EJB deployment tool), Dreamweaver (动态网页开发工具)。另外对以下开发工具均有特殊支持:
IBM VisualAge: BEA VisaulAge Integration Kit
COOL:Joe: Support auto deployment to BEA WebLogic and work seamlessly
Jbuilder 5: Fully integrated IDE/Deploy Tool for BEA WebLogic Server
InLine Standard: Create generic EJBs or custom beans for BEA WebLogic Server
Classic Blend: Including information and sample code for BEA WebLogic Server
Jprobe ServerSide Edition: Providing profiling and performance-tuning tools for Java Application, its launch pad give you point-and-click integration with WebLogic
6. 可管理性
Weblogic ServerWebSphere AE
JMX标准支持,提供三类Mbean供扩展不支持JMX
GUI 管理工具基于WEB的浏览器管理工具,与平台无关支持Applet方式的监控工具,与平台无关
用户管理支持外部LDAP统一用户管理只能用DB2数据库管理
应用动态发布支持。特别方便调试不支持
EJB部署可在线动态部署或撤消部署EJB和Servlet不支持动态部署EJB
群集的管理支持动态应用分配,既动态的将应用从一台主机移到另一台主机上
可动态增减群集中的任一主机
支持跨平台的主机群集不支持只能克隆服务器
状态数据管理无须额外数据库负担需要在同一主机上安装DB2
7.安全性
Weblogic ServerWebSphere AE
JAAS 1.0支持
允许动态更改ACL 规则支持
不允许动态更改ACL 规则
SSL支持,并有Native SSL实现,速度比Java SSL快支持
客户端访问过滤支持不支持
UNIX主机安全集成支持UNIX主机安全模式支持
WinNT主机安全集成支持NT Domain的安全设置不支持
LDAP用户认证支持用外部LDAP认证支持
数据库集成支持不同数据库安全设置用DB2内部实现
结语
标准支持WebLogic大概比WebSphere领先6个月,对J2EE标准顺应的成熟程度较高
可扩展性和可用性WebLogic Cluster机制优于WebSphere Clone机制
性能, 持久性连接理论上,相同资源条件下WebLogic会快些
互操作性与可集成性非IBM环境下,WebLogic的互操作性好
部件开发与实施WebSphere和VAJ结合的较好,但无法与其他的IDE结合。
可管理性WebLogic的管理较为简单、方便。
安全性IBM有一整套方案
|
|