- 論壇徽章:
- 0
|
[轉(zhuǎn)帖]Weblogic VS Websphere(偏向Websphere)
J2EE Application Server Evaluation –
Bea WebLogic Server
IBM Websphere Advance Edition
評(píng)估范圍
標(biāo)準(zhǔn)支持
可擴(kuò)展性和可用性
性能, 持久性連接
互操作性與可集成性
部件開發(fā)與實(shí)施
可管理性
安全性
1、J2EE標(biāo)準(zhǔn)的支持
作為JAVA應(yīng)用服務(wù)器,是否支持開放的J2EE標(biāo)準(zhǔn)以及支持的程度,對(duì)應(yīng)用的開發(fā)人員和用戶而言,關(guān)系到應(yīng)用的開放性、與原有系統(tǒng)和新應(yīng)用的互操作性、與各種平臺(tái)的中立性和可移植性;直接影響到應(yīng)用本身的生命周期。
因此對(duì)J2EE標(biāo)準(zhǔn)的支持應(yīng)該成為評(píng)估應(yīng)用服務(wù)器的首要標(biāo)準(zhǔn)。
(本圖表來(lái)源:Massimo Pezzini, Daryl Plummer, Gartner Group )
*注:在最新發(fā)布的WebSphere 4.0中仍然不能支持EJB 2.0。因此,開發(fā)者無(wú)法使用EJB2.0的先進(jìn)特性,比如消息驅(qū)動(dòng)的EJB等,在系統(tǒng)設(shè)計(jì)上存在一定的局限性。
2.?dāng)U展性和高可用性 – 多機(jī)集群機(jī)制
為了實(shí)現(xiàn)應(yīng)用的擴(kuò)展和保證應(yīng)用的高可用性,應(yīng)用服務(wù)器通常都采用Clustering群集機(jī)制來(lái)提供應(yīng)用的分布式部署、負(fù)載均衡、組件級(jí)的切換(Fail Over)。在N層應(yīng)用架構(gòu)下,好的應(yīng)用服務(wù)器群集可以為每一層邏輯的應(yīng)用提供良好的擴(kuò)展性和可用性,可提供高效率的負(fù)載均衡算法同時(shí)額外增加的工作負(fù)載不大, 可以為JSP/Servlet的會(huì)話(Session)和后臺(tái) EJB提供對(duì)開發(fā)人員透明的狀態(tài)備份機(jī)制和快速的失效切換,同時(shí)服務(wù)器群集的管理應(yīng)該簡(jiǎn)單方便。
WebLogic Premium EditionWebsphere AE CLONE
負(fù)載均衡機(jī)制4種可選:
- Random (隨機(jī))
- Round-Robin (輪循選擇)
- Wight-based RR
(根據(jù)性能權(quán)重選擇)
- Parameter-based RR
(根據(jù)調(diào)用參數(shù)選擇)只有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
多個(gè)服務(wù)器上JNDI樹的一致性機(jī)制用IP Multicast 同步,快。通過(guò)需要另外安裝的DB2數(shù)據(jù)庫(kù)來(lái)共享,大量的I/O,影響性能;仍存在單點(diǎn)故障。
Session會(huì)話狀態(tài)持久化機(jī)制多服務(wù)器間內(nèi)存復(fù)制(In-Memory Replication),不影響性能,可擴(kuò)展性好;復(fù)制不存在單點(diǎn)故障。通過(guò)需要另外安裝的DB2數(shù)據(jù)庫(kù)來(lái)共享Session狀態(tài),大量的I/O,影響性能;仍存在單點(diǎn)故障。
Stateful EJB的Failover機(jī)制通過(guò)調(diào)用端的“SmartStub”和EJB Container的復(fù)制Home (Skeleton)來(lái)實(shí)現(xiàn);謴(fù)過(guò)程對(duì)客戶透明。不支持
Entity Bean
Failover 機(jī)制 “SmartStub”支持不同服務(wù)器的多個(gè)對(duì)象引用,恢復(fù)過(guò)程對(duì)客戶透明。利用ObjectPool技術(shù)減少恢復(fù)時(shí)間恢復(fù)過(guò)程對(duì)客戶透明,但別的服務(wù)器需要重新創(chuàng)建Entity Bean的對(duì)象。
從上表可以看出,在系統(tǒng)負(fù)載均衡和高可用性方面,WebLogic Server 的CLUSTER實(shí)現(xiàn)手段豐富,實(shí)現(xiàn)的技術(shù)成熟程度也較高:比如通過(guò)多服務(wù)器間內(nèi)存復(fù)制Session會(huì)話狀態(tài)比通過(guò)數(shù)據(jù)庫(kù)共享會(huì)話狀態(tài)對(duì)系統(tǒng)的負(fù)載小,并且Session Failover要快;Weblogic Server通過(guò)Object Pool將Entity Bean暫存并復(fù)制對(duì)象引用到不同的服務(wù)器,失效恢復(fù)時(shí)無(wú)須從數(shù)據(jù)庫(kù)重新創(chuàng)建新的對(duì)象,減少恢復(fù)時(shí)間。
而IBM WebSphere CLONE技術(shù)實(shí)際是克隆一個(gè)應(yīng)用在多個(gè)服務(wù)器上的多個(gè)拷貝,在一個(gè)物理主機(jī)上垂直擴(kuò)展可以提高性能,但是水平擴(kuò)展的實(shí)際效果不佳。
3.性能
由于對(duì)Application Server的性能測(cè)試沒(méi)有一個(gè)業(yè)界公認(rèn)的性能指標(biāo)值,各廠家均聲稱自己的性能最好,客戶可以從自己的實(shí)際應(yīng)用出發(fā),做模擬的性能測(cè)試。這里我們僅從技術(shù)上分析不同的實(shí)現(xiàn)技術(shù)可能導(dǎo)致的性能差異,比如進(jìn)程占用系統(tǒng)資源的大小,負(fù)載均衡機(jī)制,數(shù)據(jù)庫(kù)連接池,請(qǐng)求隊(duì)列,線程緩沖池,對(duì)象緩沖池等。
WebLogic Server Websphere AE
占用資源每個(gè)服務(wù)器實(shí)例一般60-70MB
占用HTTP和SSL兩個(gè)端口每個(gè)實(shí)例一般150MB左右;
同時(shí)要運(yùn)行單獨(dú)的HTTP Server和Admin Server進(jìn)程,至少需要運(yùn)行3個(gè)JVM。JSP->;EJB的調(diào)用是跨JVM的RMI-IIOP調(diào)用,性能有限。
典型安裝需要7個(gè)不同的端口!
負(fù)載均衡機(jī)制4種可選:
Random
(隨機(jī),額外負(fù)載最小)
Round-Robin (輪循選擇)
Wight-based RR
(根據(jù)服務(wù)器性能權(quán)重選擇)
Parameter-based RR
(根據(jù)調(diào)用參數(shù)選擇)只有Round-Robin方式
請(qǐng)求隊(duì)列(Q)有無(wú)
處理線程緩沖池有,可配置大小無(wú)
JDBC 連接緩沖池有,可支持多種數(shù)據(jù)庫(kù),如Oracle, Sybase, Informix, DB2, MSSQL, Cloudscape,…通過(guò)自己的 Connection Manager實(shí)現(xiàn)DataSource, 但是沒(méi)有 JDBC Connection Pool
并發(fā)的MultiPool有,可配置沒(méi)有
查詢結(jié)果Cache有,可配置只支持DB2
CMP Entity Bean的持久性實(shí)現(xiàn)1. CMP與數(shù)據(jù)庫(kù)種類無(wú)關(guān),支持多種不同數(shù)據(jù)庫(kù)和其他方式如Versant, TOPLink and ODI。
2. 把只讀的Entity Bean放在內(nèi)存的緩沖池中,不用重復(fù)創(chuàng)建只支持DB2和Oracle,并要求管理用的DB2與WebSphere安裝在同一物理主機(jī)上。
對(duì)象緩存技術(shù)
Object Cache 存放當(dāng)前對(duì)象
Free Pool 存放當(dāng)前不用但可能將來(lái)用到的對(duì)象由Performance Pack提供
從上表可見,WebLogic Server為了支持大規(guī)模并發(fā)的客戶請(qǐng)求,盡可能的使用了隊(duì)列(Queue)、緩沖池(Pooling)和高速緩存(Caching)技術(shù),對(duì)資源的有效利用,事務(wù)處理性能的提高有相當(dāng)大的作用。 從實(shí)際部署的應(yīng)用系統(tǒng)中,相當(dāng)部分客戶的WebLogic Server也承受了大量的WEB交易負(fù)載。
4.可互操作性/集成性
應(yīng)用服務(wù)器作為N層架構(gòu)中的中間商業(yè)邏輯處理層,對(duì)前端的互操作性和與后臺(tái)數(shù)據(jù)源的可集成性在實(shí)際部署中非常重要。互操作的靈活性會(huì)給用戶在不同層次的眾多技術(shù)選擇中帶來(lái)極大的方便。
Weblogic ServerWebSphere AE
HTTP支持不同HTTP服務(wù)器,如NES, IIS, Apache, …需要先安裝IBM HTTP服務(wù)器。
JCA 1.0 (Java Connector Architecture) 支持。通過(guò)合作伙伴提供數(shù)十種應(yīng)用的Java Connector, 比如SAP R/3, Oracle App NCA, Sieble, Email Server, CICS, MQ, 各種常見DBMS等.
以后‘將會(huì)’支持
COM/COM+ Client支持COM client如VB,ASP,PowerBuilder,提供COM+對(duì)象和Java對(duì)象的互操作手段。不支持COM客戶端,必須通過(guò)第三方廠商的Java-COM或CORBA- COM Bridge產(chǎn)品
RMI over IIOP支持支持
XML/SOAP/ WebServices支持。
JAXP 1.1 (SAX V2.0, DOM Level 2), 可插入的解析和轉(zhuǎn)換
支持Web Services, 包括內(nèi)置SOAP,WSDL自動(dòng)生成,UDDI無(wú)須注冊(cè)支持
DBMS JDBC 連接支持幾乎所有數(shù)據(jù)庫(kù)只支持DB2和ORACLE
Messaging Service JMS要單獨(dú)購(gòu)買和安裝MQSeries,才能用JMS
Directory ServiceJNDI1.2,支持LDAPv3 (可與NDS, Active Directory Server和其他標(biāo)準(zhǔn)LDAP服務(wù)器集成) JNDI 1.1, 不支持LDAPv3,用IBM自己的SecureWay
5.應(yīng)用開發(fā)與實(shí)施
IBM WebSphere和Visual Age for java開發(fā)工具有很好的結(jié)合,支持Wizard 方式,包含商業(yè)邏輯開發(fā)和部署;但是缺少與OOA工具的結(jié)合,以及JSP等WEB頁(yè)面開發(fā)工具的結(jié)合。
BEA WebLogic可以與WebGain 開發(fā)套件結(jié)合,包括:VisualCafe 4.0 Enterprise Edition, StructureBuilder advanced (EJB code generation wizard, visual modeling, advanced Web content development tool and EJB deployment tool), Dreamweaver (動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)工具)。另外對(duì)以下開發(fā)工具均有特殊支持:
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標(biāo)準(zhǔn)支持,提供三類Mbean供擴(kuò)展不支持JMX
GUI 管理工具基于WEB的瀏覽器管理工具,與平臺(tái)無(wú)關(guān)支持Applet方式的監(jiān)控工具,與平臺(tái)無(wú)關(guān)
用戶管理支持外部LDAP統(tǒng)一用戶管理只能用DB2數(shù)據(jù)庫(kù)管理
應(yīng)用動(dòng)態(tài)發(fā)布支持。特別方便調(diào)試不支持
EJB部署可在線動(dòng)態(tài)部署或撤消部署EJB和Servlet不支持動(dòng)態(tài)部署EJB
群集的管理支持動(dòng)態(tài)應(yīng)用分配,既動(dòng)態(tài)的將應(yīng)用從一臺(tái)主機(jī)移到另一臺(tái)主機(jī)上
可動(dòng)態(tài)增減群集中的任一主機(jī)
支持跨平臺(tái)的主機(jī)群集不支持只能克隆服務(wù)器
狀態(tài)數(shù)據(jù)管理無(wú)須額外數(shù)據(jù)庫(kù)負(fù)擔(dān)需要在同一主機(jī)上安裝DB2
7.安全性
Weblogic ServerWebSphere AE
JAAS 1.0支持
允許動(dòng)態(tài)更改ACL 規(guī)則支持
不允許動(dòng)態(tài)更改ACL 規(guī)則
SSL支持,并有Native SSL實(shí)現(xiàn),速度比Java SSL快支持
客戶端訪問(wèn)過(guò)濾支持不支持
UNIX主機(jī)安全集成支持UNIX主機(jī)安全模式支持
WinNT主機(jī)安全集成支持NT Domain的安全設(shè)置不支持
LDAP用戶認(rèn)證支持用外部LDAP認(rèn)證支持
數(shù)據(jù)庫(kù)集成支持不同數(shù)據(jù)庫(kù)安全設(shè)置用DB2內(nèi)部實(shí)現(xiàn)
結(jié)語(yǔ)
標(biāo)準(zhǔn)支持WebLogic大概比WebSphere領(lǐng)先6個(gè)月,對(duì)J2EE標(biāo)準(zhǔn)順應(yīng)的成熟程度較高
可擴(kuò)展性和可用性WebLogic Cluster機(jī)制優(yōu)于WebSphere Clone機(jī)制
性能, 持久性連接理論上,相同資源條件下WebLogic會(huì)快些
互操作性與可集成性非IBM環(huán)境下,WebLogic的互操作性好
部件開發(fā)與實(shí)施WebSphere和VAJ結(jié)合的較好,但無(wú)法與其他的IDE結(jié)合。
可管理性WebLogic的管理較為簡(jiǎn)單、方便。
安全性IBM有一整套方案
|
|