appendix c. bea weblogic server review - fots -...

26
Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 91 Appendix C. BEA WEBLOGIC SERVER REVIEW This document reviews the BEA WebLogic Server v6.1 application server, but refers to the v7.0 bèta where appropriate. Notational convention Text Marked Inactive Private Info Not Disclosed Primary Services Advertized Min. Mem. Req. 64 MB Measured (Clean) 50 MB Adhemar (NT) Measured (ECperf) Private Info Advertized Min. Mem. Req. 64 MB Measured (Clean) 90 MB resident, 371 total size Memory Consumption Panda (Solaris) Measured (ECperf) Private Info Thread Pooling YES Socket Multiplexing YES Resource Management Pooling See Web Tier, Application Tier, Information Tier Licensed YES J2EE 1.2 YES Compatible J2EE 1.3 NO 1 JTA v1.0 YES (v1.0.1) J2EE v1.2+ Transaction Manager JTS YES JNDI v1.2 YES J2EE v1.2+ Naming & Directory AS > LDAP NO HTTP Basic YES HTTP Digest YES Form YES J2EE v1.2+ Client Authentication SSL YES 2 + Authorization JAAS v1.0 Part J2EE v1.3+ SSL v3.0 YES J2EE v1.2+ Security Secure Communication TLS v1.0 NO 3 J2EE v1.3+ v1.0 YES J2EE v1.2+ HTTP v1.1 YES HTTPS YES Java IDL YES J2SE v1.2+ J2EE v1.2+ RMI-IIOP YES J2EE v1.3+ OMG CSIv2 NO 4 J2EE v1.3+ YES (v1.0.2) XA Y 5 J2EE v1.2+ JMS v1.0 NO Interoperability Messaging JAF v1.0 YES J2EE v1.2+ 1 Yes for v7.0. 2 See http://edocs.bea.com/wls/docs61/adminguide/cnfgsec.html#1068298 . 3 Yes for v7.0: http://edocs.bea.com/wls/docs70/secintro/model.html#1025955 . 4 Yes for v7.0: http://edocs.bea.com/wls/docs70/secintro/model.html#1025955 . 5 JMSConnectionFactory >XAConnectionFactoryEnabled=true

Upload: hatu

Post on 12-Apr-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 91

Appendix C. BEA WEBLOGIC SERVER REVIEW This document reviews the BEA WebLogic Server v6.1 application server, but refers to the v7.0 bèta where appropriate.

Notational convention Text Marked Inactive Private Info Not Disclosed

Primary Services

Advertized Min. Mem. Req. 64 MB Measured (Clean) 50 MB

Adhemar (NT)

Measured (ECperf) Private Info Advertized Min. Mem. Req. 64 MB Measured (Clean) 90 MB resident,

371 total size

Memory Consumption

Panda (Solaris)

Measured (ECperf) Private Info Thread Pooling YES Socket Multiplexing YES

Resource Management

Pooling See Web Tier, Application Tier, Information Tier Licensed YES

J2EE 1.2 YES Compatible J2EE 1.3 NO1 JTA v1.0 YES (v1.0.1) ∈ J2EE v1.2+ Transaction

Manager JTS YES JNDI v1.2 YES ∈ J2EE v1.2+ Naming &

Directory AS > LDAP NO HTTP Basic YES HTTP Digest YES Form YES

∈ J2EE v1.2+ Client Authentication

SSL YES2 + Authorization JAAS v1.0 Part ∈ J2EE v1.3+

SSL v3.0 YES ∈ J2EE v1.2+

Security

Secure Communication TLS v1.0 NO3 ∈ J2EE v1.3+

v1.0 YES ∈ J2EE v1.2+ HTTP

v1.1 YES HTTPS YES

Java IDL YES ∈ J2SE v1.2+ ⊂ J2EE v1.2+ RMI-IIOP YES ∈ J2EE v1.3+

OMG

CSIv2 NO4 ∈ J2EE v1.3+ YES (v1.0.2)

XA Y5 ∈ J2EE v1.2+ JMS v1.0

NO

Interoperability

Messaging

JAF v1.0 YES ∈ J2EE v1.2+

1 Yes for v7.0. 2 See http://edocs.bea.com/wls/docs61/adminguide/cnfgsec.html#1068298. 3 Yes for v7.0: http://edocs.bea.com/wls/docs70/secintro/model.html#1025955. 4 Yes for v7.0: http://edocs.bea.com/wls/docs70/secintro/model.html#1025955. 5 JMSConnectionFactory>XAConnectionFactoryEnabled=true

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 92

v1.1 YES6 ∈ J2EE v1.2 YES

v1.2 NO ∈ J2EE v1.3

JavaMail

NO YES ∈ J2EE v1.3+

SAX v2 YES/NO DOM v2 YES/NO

Part

XSLT YES/NO

XML JAXP v1.1

NO YES

JAXB NO JAXM NO JAX-RPC NO7 JAXR NO

Soap v1.18 (no headers, no custom data types, attachments ignored) over HTTP(S) WSDL v1.1 RPC-based: SLSB

YES

Msg-based: eg. MDB

Part

Other

NO

Full API

NO

Web Services

UDDI9 NO WAR NO EJB-JAR YES RAR YES10

Deployment Propriatary Deployment Descriptor Required? EAR NO

Tier Support

YES ∈ J2EE v1.2 WAR YES/NO Servlet Names YES/NO Init Params YES/NO isSecure YES/NO

Part

Role Based Security YES/NO

v2.2

NO YES11

∈ J2EE v1.3

Filters YES/NO Part Event Listeners YES/NO

YES Version

v2.3

NO

Servlet

NO YES ∈ J2EE v1.2

Custom Tags YES/NO Part Servlet v2.2 Based YES/NO

v1.1

NO YES ∈ J2EE v1.3

XML Syntax YES

Web Tier

JSP YES Version

v1.2

Part12 Servlet v2.3 Based YES

6 v1.1.3: http://edocs.bea.com/wls/docs61/programming/topics.html#1058886. 7 Yes for v7.0: http://edocs.bea.com/wls/docs70/webServices/overview.html#1036001. 8 Soap v1.2, Swa, … for v7.0: http://edocs.bea.com/wls/docs70/webServices/overview.html#1023894. 9 Yes for v7.0: http://edocs.bea.com/wls/docs70/webServices/overview.html#1054350. 10 See http://e-docs.bea.com/wls/docs61/adminguide/jconnector.html#1234342. 11 Final draft specification. 12 See http://edocs.bea.com/wls/docs61/jsp/intro.html#49347.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 93

NO Page Caching Custom Tags YES

NO

Caching Deployment Elements NO13 YES ∈ J2EE v1.2 v1.1

NO YES ∈ J2EE v1.3

MDBs YES Local Interfaces YES EJB Relations YES EJB-QL (select & find) YES Home Methods YES

run-as NO

Part14

security unchecked NO

EJB Version

v2.0

NO Dynamic Proxies YES15 Object

Distribution Collocation Optimization YES Method Level YES Element: transaction-isolation

CMT RM Isolation Levels16

NO Optimistic None17 DB Locking

Strategies Pessimistic Element: concurrency-strategy=Database Optimistic None App Tier Locking

Strategies Pessimistic Element: concurrency-strategy=Exclusive

Transactions

Deadlock Detection NO18 Server Level YES Elements: ExecuteQueue, JMSThreadPoolSize

Thread Pooling

NO Bean Level

Element: max-beans-in-free-pool SLSB Element: initial-beans-in-free-pool

SFSB None Element: max-beans-in-free-pool EB Element: initial-beans-in-free-pool Element: max-beans-in-free-pool

YES

MDB Element: initial-beans-in-free-pool

Object Pool Management

NO Server Level YES Element19: None

Resource Management

Socket Multiplexing

NO SFSB cache-type=NRU|LRU

Also: max-beans-in-cache YES

EB cache-type=NRU|LRU Also: max-beans-in-cache

Replacement Management

NO

Application Tier

Caching

Manage YES20

13 Yes for v7.0: http://edocs.bea.com/wls/docs70/notes/new.html#1068049 14 v7.0 has full compliance (J2EE 1.3 certified). 15 Dynamic proxies can be used for RMI: http://e-docs.bea.com/wls/docs61///////rmi/rmi_program.html#1000009048 and generated for EJBs automatically (ejbc delegates to rmic). 16 http://e-docs.bea.com/wls/docs61/ejb/reference.html#1196210 17 concurrency-strategy=Optimistic for v7.0. See http://e-docs.bea.com/wls/docs70/ejb/reference.html#1139340 18 Only through the database: http://www.infogain.com/futurethought/weblogic_overview.htm. 19 ThreadPoolPercentSocketReaders is irrelevant here as it specifies the ratio socket readers/workers.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 94

YES delay-updates-until-end-of-tx Stores in Application Tier

NO Delay stores to commit time NO

A Element: db-is-shared=false; B Element: db-is-shared=true C Element: max-beans-in-cache=0, db-is-shared-true

Commit Options

D21 Elements: concurrency-strategy=ReadOnly; read-timeout-seconds=X

Read-Mostly YES Element: finders-load-bean (true by default)

YES Element: field-group (all fields if none specified)

YES Field Grouping

NO

Lazy Loads

NO Tuned CMP Updates YES22

Automatic Destination Reconnect for MDBs YES JDBC 2.0 Extensions

YES ∈ J2EE v1.2+ Connection Pooling

YES

Type 1 NO DB: Oracle 8.1.6, 8.1.7, 9.0.1 YES + 3rd Party Drivers

Type 2

NO Type 3 YES

DB: Informix OnLine versions 7.x, 9.x, with 7.x data types, plus the 9.x INT8 and SERIAL8 data types Microsoft SQL Server 6.5, 7.0

Oracle Thin Sybase jConnect DB2

YES

3rd Party

Informix JDBC

NO XA

Type 4

NO Type 1 NO

YES DB: Oracle Type 2 NO

Type 3 YES24 YES 3rd Party Oracle Thin25

Relational DB Integration

JDBC Drivers23

XA

Type 4 NO ∈ J2EE v1.2+

EIS: XA EIS: EIS: Siebel CRM

YES

Included Connectors26 NO

XA EIS: SAP R/3

JCA 1.0

NO

Information Tier

EIS Integration

Other Tuxedo Connector: Java Application-to-Transaction Monitor Interface (JATMI)

Clustering

20 This requires a persistent cache with bidirectional datasource synchronization decoupled from commit time. 21 Read-only cached, with timed update. 22 See http://edocs.bea.com/wls/docs61/ejb/cmp.html#1072366. 23 See http://e-docs.bea.com/wls/docs61/jdbc/intro.html#1029685. 24 “The JTS driver is used in distributed transactions.” 25 See weblogic.developer.interest.jdbc “Re: Type-3 vs Type-4 driver for Oracle” on 22/04/2002. 26 No Connectors in WebLogic Server. WebLogic Integration however provides Siebel CRM and SAP R/3 connectors. http://www.bea.com/products/weblogic/integration/wli_app_intg_wp.pdf p. 36. It also provides a tool to create connectors and generate an XML based session façade for use in BPM.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 95

Atomic Homogeneous Deployment NO27 Subpartitioning YES Automatic JNDI Discovery NO28 Lifecycle Event Framework NO

Web Server: Apache Web Server: Microsoft Internet Information Server (ISAPI) Web Server: Netscape Enterprise Server Plug-In (NSAPI)

YES

LB Algo’s RR29

Web Server Plugin

NO YES LB Algo’s RR/WRR /Random Servlet Proxy NO YES LB Algo’s RR/WRR/Load/Random

/First_Available Integrated LB in default web server

NO YES LB Algo

Limitations None, if cookie integrated

LB HW Support

NO In-Memory YES File YES

YES HTTP Session Replication

JDBC YES

Failover

NO

YES

Clean Shutdown NO30

Web

NO Architecture Distributed YES Clean Shutdown NO31

JNDI

NO Load Balancing RR/Load/Random by stateless-

bean-load-algorithm Specialized by custom class32

EJBHome

Auto Failover Intra33 Load Balancing Same as EJBHome LBA34

YES

EJBObject Auto Failover Intra: stateless-bean-methods-are-

idempotent=true Inter: stateless-bean-methods-are-idempotent=false

SLSB

NO

YES

EJB YES

SFSB YES EJBHome Load Balancing RR/Load/Random by home-load-algorithm

27 NO by default, but YES for a specialised JMX tool: ftp://edownload:[email protected]/pub/downloads/jmxmonitor.zip (on http://dev2dev.bea.com/code/samples.jsp?highlight=samples). WebLogic v7.0 ensures atomic homogeneous deployment by default (see news: weblogic.developer.interest.clustering>Atomic Homogeneous Deployment). 28 WL recommends to assign an OS DNS name to the cluster. 29 See http://e-docs.bea.com/wls/docs61/cluster/features.html#1006780. 30 Yes for v7.0 through “suspend/resume”. 31 WL will probably never implement this as it requires the server to track all downloaded client stubs and generates a huge network overhead for a simple server suspension. Instead, WL relies on a basic failover. 32 Use a custom class to implement LB: http://e-docs.bea.com/wls/docs61/ejb/reference.html#1070646 33 SLSB EJBHome calls are idempotent. See news: weblogic.developer.interest.clustering>Automatic Failover. 34 The documentation for v6.1 (nor for v7.0) does not specify the default LB algorithm and the reference for v6.1 (nor for v7.0) contains no element. Geert Lingier (BEA) answered the question.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 96

Specialized by custom class Pin if home-is-clusterable=false

Auto Failover Inter35 Load Balancing None (pin)36 EJBObject Auto Failover Inter37

In-Memory YES File YES JDBC YES

YES

Client Stub NO

State Replication

NO NO

Load Balancing RR/Load/Random by home-load-algorithm Specialized by custom class Pin if home-is-clusterable=false

EJBHome

Auto Failover Inter38 RO None (pin)39 Load Balancing RW None (pin)40 RO Intra if home-is-

clusterable=true

EJBObject

Auto Failover

RW Inter if home-is-clusterable=true41

Optimistic Element: App Tier Locking Strategies

Pessimistic Element:

Deadlock Detection YES/NO Write Update

YES/NO

YES Peer/RM Revalidate

Y42

Write Invalidate

NO

Manage Stores in App Tier

NO A Element: B Element:

Commit Options

D43

Element:

Y

Read-Mostly YES/NO

YES

Distr. Shared Cache

NO44

EB

NO

35 Reason: idempotency is not assumed by WL for a SFSB home (arguable, but a “create” creates a dedicated instance for the client) & there is no deployment property. Note that v7.0 does allow to specify idempotency at the method level through the idempotent-methods element. 36 Reason: performance. 37 Reason: Idempotency not garanteed for SFSB EJBObject & no deployment property. (<-> v7.0) 38 Same note as for SFSB home. Take for example EJBCREATE as a non idempotent method. 39 Reason: performance. See news: weblogic.developer.interest.clustering>Automatic Failover. 40 Same reason as for RO. 41 http://e-docs.bea.com/wls/docs61//ejb/EJB_environment.html#1046391 > Entity EJBs in a Cluster 42 This requires a distributed coherent, persistent cache with bidirectional datasource synchronization decoupled from commit time. 43 Read-only cached, with timed update. 44 v7.0 implements a distributed cache with optimistic (not pessimistic) app tier locking: you cannot set cache-between-transactions to "true" in a WebLogic Server cluster when using exclusive concurrency. However, you can set this element to true when using either optimistic or readonly concurrency.” See http://e-docs.bea.com/wls/docs70/ejb/EJB_environment.html#1157072.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 97

MDB NO45 Clean Shutdown NO46

NO Load Balancing RR47 (not for first call) YES Auto Failover Inter48

DataSource

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

Connection Pool

NO49 Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

Connection

NO50

YES

Clean Shutdown NO

JDBC

NO Load Balancing RR51 (not for first call) YES Auto Failover Inter52

ConnectionFactory

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

Connection

NO53 Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

Destination

NO54

YES

Clean Shutdown NO

JMS

NO RMI Objects YES

Custom Services JMS Listeners NO

NO Frameworks Name BEA WebLogic Portal Type Portal Name BEA WebLogic Integration Type Integration, BPM

45 An MDB always resides on the same server as its destination. Non persistent destinations do not failover. 46 Yes for v7.0 through “suspend/resume”. 47 http://e-docs.bea.com/wls/docs61/cluster/overview.html#1004470 titles “Connection LB”, but describes random LB at the DataSource level. 48 Not “intra” as the GETCONNECTION method is not purely idempotent. 49 A DataSource is associated with exactly one ConnectionPool object, i.e.: the one on the same server node. This means that there’s no traditional LB. However, on that single server node, one could replicate the connection pool using a “MultiPool”: http://edocs.bea.com/wls/docs61/jdbc/config.html#1023894. 50 Reason is performance. See news: weblogic.developer.interest.jdbc > “Re: JDBC in a Cluster… any help please”. 51 http://www.theserverside.com/home/thread.jsp?thread_id=12095#41872 says “A similar approach has been, and still is used for the distributed JMS message factories.” 52 Same explanation as for a JDBC DataSource. 53 Load balancing occurs on ConnectionFactory.getConnection(), but this is because the connection factory itself is load balanced. Calls on a connection object are not load balanced for performance reasons. See news: weblogic.developer.interest.jdbc 04/04/2002 >Clustered JMS WLS61.1SP1” 54 Destinations will be clusterable in v7.0. Load balancing will be RR, failover not automatic. Note that messages will NOT be replicated across destination “replica’s”! This could however be implemented by a shared HA filesystem (eg. http://www.unixtools.com/veritas/).

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 98

Administration XML configuration files YES Centralised Domain Management YES

GUI Trap Configuration YES55 YES MIB Data Cache YES56

Administration Server as SNMP Agent

NO YES

M-Let Service YES/NO Timer Service YES58 Monitoring Service YES/NO

Agent Layer

Relation Service YES/NO Standard MBeans YES/NO Dynamic MBeans YES/NO Model MBeans YES/NO Open MBeans YES/NO

Instrumentation Layer

Notifications YES

Part57

Distributed Services Layer [Not yet standardized in JMX 1.0]

Full API

NO HTTP YES SNMP NO

Protocol Adapters

CIM NO RMI NO SOAP NO

Connectors

JMS NO

JMX

JMX Server Architecture YES Tools

Command Line YES59 GUI YES Silent YES

Installer

Networked (version neutral)

NO

Start Servers60 CL/Web Stop Servers RM_CL61/Web

WAR RM_CL62/Web Hot YES EJB-JAR RM_CL/Web Hot YES EAR RM_CL/Web Hot YES JDBC RM_CL63/Web Hot YES RAR Web Hot YES JMS Web Hot YES

Deploy

Drag and Drop Deployment YES, if in development mode. WAR Web Hot Part EJB Web Hot Part JDBC Web Hot NO

Administration

Configure

JCA Web Hot NO

55 See http://e-docs.bea.com/wls/docs61//snmpman/snmptraps.html#1071134. 56 See http://e-docs.bea.com/wls/docs61//snmpman/snmpagent.html#1070435. 57 Only the MBeans for the server core are exposed through the bundeled connector. Note however that the WL’s MBeanServer is a wrapper around Sun’s. 58 See http://e-docs.bea.com/wls/docs61//jmx/monitoring.html. 59 UNIX systems only. See http://e-docs.bea.com/wls/docs61/install/instcon.html#1008419. 60 Locally with scripts or via web with Node Manager: see http://e-docs.bea.com/wls/docs61////adminguide/startstop.html#1033903. 61 See http://e-docs.bea.com/wls/docs61////adminguide/startstop.html#1028914. 62 See weblogic.deploy: http://e-docs.bea.com/wls/docs61////adminguide/utils.html#1138475. 63 See http://e-docs.bea.com/wls/docs61////adminguide/cli.html#1155301 (indeed hot).

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 99

JMS Web Hot Part JTA Web Hot Part Server Web (part) Hot Part LDAP Realm

Web

SNMP Web See Administration>JMX (adapters & connectors)

JMX Also: RM_CL64

WAR RM_CL/Web Hot YES EJB-JAR RM_CL/Web Hot YES EAR RM_CL/Web Hot YES JDBC RM_CL/Web Hot YES RAR Web Hot YES

Undeploy

JMS Web Hot YES Web Web EJB Web JDBC Web/RM_CL66 JCA Web JMS Web JTA Web

Monitor

Server Web

New: JMX remote command line tools65

Cluster Centr. Admin YES XML Editor YES

YES Name DDInit: weblogic.ant.taskdefs.ejb.DDInit67 Name EJBGen Input Tags

Web NO EJB YES O/R > 1 Table NO With Defaults NO

YES

Import Feature YES68

Depl Desc

NO Home Interfaces

YES

YES

Bean Interfaces YES Name XDoclet Input Tags

Web YES EJB YES O/R > 1 Table NO With Defaults NO

YES

Import Feature NO69

Depl Desc

NO Home Interfaces YES

3rd Party

Bean Interfaces YES Name Together, Borland JBuilder Input Dialogs

Web YES EJB YES O/R > 1 Table NO With Defaults YES

Code Generation

3rd Party Depl

Desc YES

Import Feature NO

64 See http://e-docs.bea.com/wls/docs61////adminguide/cli.html#1155716. 65 See ftp://edownload:[email protected]/pub/downloads/jmxmonitor.zip (on http://dev2dev.bea.com/code/samples.jsp?highlight=samples) 66 Monitor pool existence. 67 DDInit generates default deployment descriptors: see http://e-docs.bea.com/wls/docs61/programming/packaging.html 68 http://www.beust.com/ejbgen/#reverse-ejbgen 69 Feature “announced” at time of writing (http://xdoclet.sourceforge.net/tools.html#reverse).

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 100

NO Home Interfaces

YES

Bean Interfaces YES Name WebGain TopLink, Thought Inc CocoBase Input Dialogs

Web NO EJB YES O/R > 1 Table YES With Defaults YES

YES

Import Feature YES

Depl Desc

NO Home Interfaces

YES

3rd Party70

Bean Interfaces YES Web Services Packaging & WSDL generation: WSGEN ANT target

UML 3rdParty71: Together, Rational Rose, WebGain StructureBuilder Modeling BPM Versata Studio, AltoWeb AltoStudio & AltoServer, NeuVis NeuArchitect, Bowstreet

Business Web Factory Remote Debugging

3rdParty: Together, Borland JBuilder, WebGain VisualCafé, NetBeans72

Documentation Readability Easy Table of Contents

Structured

Printable YES Media HTML YES

Searchable YES Installation YES Upgrade YES Documentation Archived

YES

Explanation YES73 Command Line Options YES74

YES

Online Help YES75

Tools

NO WAR Sample / How-to

SLSB Sample / How-to SFSB Sample / How-to

CMP Sample / How-to EB BMP Sample / How-to

EJB-JAR

MDB How-to CORBA YES

Component Development76

Web Services YES JMS77 How-to

Development

JavaMail78 How-to

70 BEA WL v7.0 includes the BEA WebLogic Builder GUI IDE for generating default deployment descriptors: http://edocs.bea.com/wls/docs70/wlbuilder/WebLogicBuilder.html 71 BEA WL v7.0 includes the BEA WebLogic Workshop GUI IDE including Modeling & Debugging features for Web Services based on EJB, JMS, JCA. 72 See http://www.genuitec.com/products.htm#easie. 73 See http://www.bea.com/products/weblogic/tools/index.shtml for official BEA WL Server 3rd party tools. See http://e-docs.bea.com/wls/docs61//ejb/EJB_whatsnew.html#1076934 for WL bundled tools. 74 See http://www.beust.com/cedric/ejbgen/ , http://xdoclet.sourceforge.net/. 75 This applies to the XML editor, not to the ANT integrated development tools. 76 See http://e-docs.bea.com/wls/docs61//programming.html. 77 See http://e-docs.bea.com/wls/docs61/jms/index.html.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 101

JAAS Sample / How-to79 Explanation YES80 Command Line Options YES81

YES

Online Help YES82

Tools

NO Definition of Administration Concepts YES

JDBC YES JMS YES JCA YES

Remote Starting, Stopping YES Configuration YES

Domain Configuration

Clustering

Sample Topologies YES WAR How-to EJB-JAR How-to

Pet Store Sample EAR Other Sample/How-to83

Deployment Samples

RAR Sample/How-to84 WAR YES85 EJB-JAR YES86

Deployment Descriptor Reference

RAR YES87 Monitoring YES

ACL Management YES Web YES

Security88 SSL

EJB YES JMX YES89

Admin as Agent Configuration YES90 SNMP Server MIB Reference YES91

Performance Tuning YES

Administration

Error Message Reference NO92 FAQ > 20093 Bug List YES94 Webinars YES95 Books YES96 Magazines YES97: BEA WebLogic Developer’s Journal Support Free YES Tested Cases ECperf Building

78 See http://e-docs.bea.com/wls/docs61/programming/topics.html#1058886. 79 See http://e-docs.bea.com/wls/docs61/security/prog.html#1039659. 80 See http://e-docs.bea.com/wls/docs61//adminguide/utils.html#1116200. 81 See http://e-docs.bea.com/wls/docs61/adminguide/cli.html#1159189. 82 http://e-docs.bea.com/wls/docs61/ConsoleHelp/index.html is invoked from admin console. 83 See http://e-docs.bea.com/wls/docs61/deployment/index.html. 84 See http://e-docs.bea.com/wls/docs61/jconnector/adapters.html#1208997. 85 See http://e-docs.bea.com/wls/docs61/webapp/weblogic_xml.html#1022355. 86 See http://e-docs.bea.com/wls/docs61/ejb/reference.html. 87 See http://e-docs.bea.com/wls/docs61/jconnector/dtdappen.html#1037495. 88 See http://edocs.bea.com/wls/docs61/adminguide/cnfgsec.html#1060446. 89 See http://e-docs.bea.com/wls/docs61/jmx/index.html. 90 See http://e-docs.bea.com/wls/docs61/snmpman/index.html. 91 See http://e-docs.bea.com/wls/docs61/snmp/index.html. 92 A message reference is under development. 93 See http://e-docs.bea.com/wls/docs61/faq/index.html. 94 See http://e-docs.bea.com/wls/docs61/notes/issues.html#1071850. 95 See http://www.bea.com/events/webinars.shtml & http://eu.bea.com/events/webinars/index.jsp. 96 See http://dev2dev.bea.com/publications/books.jsp?highlight=books. 97 SYS-CON Media, see http://www.sys-con.com/weblogic/.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 102

Run ECperf on WL +: Received DDs… -: … for older ECperf version +: Engineer helped getting it right. -: DDInit never mentioned

SerialVersionId Problem Classpath problem (J2EE SDK CP clash)

-: Not Solved by Engineer Peer Gone Problem

Deadlock while running benchmark -: Not Solved by Engineer +: Helped by WL user on J2EE list

NodeManager Nodemanager authentication problem

+: Solved by Engineer Reconnect to Adminserver Assertion

Trying to start a managed server that was already running independently.

-: Not Solved by Engineer First Anwser Next BusDay Avg. Answering Delay Time To Solution +/- 1,5 week

Avg. Engineer Expertise Average Engineer 2 Self 3

Number Solved

Not 0

Trial

NO Number of groups Total: 92; Server-related: +/- 35; Actually Used: 5 Avg. Answering Delay Same Hour/Day for “hot” groups (eg. ejb);

Same Week others (eg. tools) New +/- 5 Hot

Group Replies +/- 15 New 2/week

Daily Activity

Other Replies 2/week After one Day <10% Hot

Group After one Week <10% After one Day >= 90%

Newsgroups

% Unanswered

Other After one Week >=50%

Open Source Open Source NO Pluggability Pluggable Server Components Container (enJin, Javlin, ...) Performance

Performance BBops/min@Std: 16696.17 Rank 3rd Official Results Price/Performance Price/ Bbops@Std: $7 Rank 1st

We used a CMP deployment, except for OrderCustomerEnt and SequenceEnt. The deployment descriptors were prepared by the WebLogic performance tuning group. We made a number of corrections regarding the WLS and ECperf versions98. The server was started with 256 MB of heap (java –ms256m –mx256m). We increased the size of the thread pool associated with the default execute queue to 50 and increased ThreadPoolPercentSocketReaders to 80.

ECperf

Personal HW

Adhemar Performance Private Info

98 See http://thesis.pietervangorp.com/

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 103

Price/Performance Private Info Performance Private Info

Panda

Price/Performance Private Info Custom Test Results

None

Platform Support99

Compaq Alpha with Tru64 UNIX Compaq OpenVMS Bull/IBM RS/6000 with AIX 4.3 Bull/IBM RS/6000 with AIX 5L Hewlett-Packard HP/9000 with HP-UX 11.0 Intel Pentium-compatible with Windows 2000 Professional Intel Pentium-compatible with Windows 2000 Server/Advanced Server Intel Pentium-compatible with Windows NT 4.0 Intel Pentium-compatible with Red Hat Linux Sun Microsystems SPARC with Solaris

Supported Platforms for v6.1.

Sun Microsystems Sparc with Solaris 8 Caldera OpenUNIX 8.0 Compaq NonStop Himalaya Hewlett-Packard HP/9000 with HP-UX 11i IBM AS/400e with OS/400 V4R3 IBM AS/400e with OS/400 V4R4/V4R5 IBM DYNIX/ptx Bull/IBM RS/6000 with AIX 4.2 IBM S/390 with OS/390 Intel Pentium-compatible with Windows 98 Linux for S/390 and zSeries SCO Unixware Siemens MIPS with Reliant UNIX 5.44C Silicon Graphics with IRIX Sun Microsystems SPARC with Solaris 2.5.1, 2.6, 2.7

Supported Platforms (older WLS versions)

Sun Microsystems SPARC with Solaris 8 Prices

Customer Specific (eg. $10K/CPU100) Non Clustered Customer Specific (eg. Private Info)

Production Server

Price per CPU

Clustered Customer Specific Development Server

Price per CPU/Developer

Customer Specific

Remote Price Customer Specific 24x7 Support On-Site Price Customer Specific Remote Price Customer Specific Next Business

Day Support On-Site Price Customer Specific Remote Price Customer Specific Project

Consultant On-Site Price Customer Specific Name WebLogic Integration Item WebLogic Integration Framework Item WebLogic Server Price Customer Specific (eg. Private Info) Name WebLogic Portal Item WebLogic Portal Framework Item WebLogic Server

Bundle

Price Customer Specific (eg. Private Info) Partnership See http://www.bea.com/partners/index.shtml 99 See http://e-docs.bea.com/wls/platforms/index.html. 100 Source: http://www.flashline.com/components/appservermatrix.jsp.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 104

Offerings

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 105

Appendix D. JBOSS REVIEW This document reviews the JBoss application server integrated with the Tomcat web server/container. It discusses JBoss version 2.4.4 and Tomcat version 3.2.3, but refers to newer versions up to JBoss 3.0 and Tomcat 4.0 where appropriate.

Notational convention Text Marked Inactive Private Info Not Disclosed

Primary Services

Advertized Min. Mem. Req. 64 MB Measured (Clean) 26 MB

Adhemar (NT)

Measured (ECperf) Private Info Advertized Min. Mem. Req. 64 MB Measured (Clean) 73 MB resident,

324 MB total size

Memory Consumption

Panda (Solaris)

Measured (ECperf) Private Info Thread Pooling YES Socket Multiplexing NO101

Resource Management

Pooling See Web Tier, Application Tier, Information Tier Licensed NO

J2EE 1.2 NO Compatible J2EE 1.3 NO JTA v1.0 YES ∈ J2EE v1.2+ Transaction

Management JTS YES102 JNDI v1.2 YES103 ∈ J2EE v1.2+ Naming &

Directory AS > LDAP NO104 HTTP Basic YES HTTP Digest NO106 Form YES

∈ J2EE v1.2+ Client Authentication105

SSL v3.0 NO107 + Authorization JAAS 1.0 YES108 ∈ J2EE v1.3+

SSL v3.0 YES109 ∈ J2EE v1.2+

Security

Secure Communication TLS v1.0 NO110 ∈ J2EE v1.3+

Interoperability HTTP 1.0 YES ∈ J2EE v1.2+

101 Partially yes: JMS connection multiplexes two sockets in one (org.jboss.mq.il.uil.multiplexor.*). 102 Source: JBoss book. 103 v1.2.1 (dixit Scott Stark, CTO JBoss Group, LLC). 104 See http://main.jboss.org/thread.jsp?forum=52&thread=12597. 105 See Tomcat 3.2.x Readme: http://jakarta.apache.org/tomcat/tomcat-3.2-doc/readme 106 Officially, digest authentication is fully available only from Tomcat v4.1. See http://w6.metronet.com/~wjm/tomcat/2001/Sep/msg00184.html 107 SSL client authentication available from Tomcat v4.0 onwards: see http://www.apachelabs.org/tomcat- user/200011.mbox/%[email protected]%3e & http://jakarta.apache.org/tomcat/tomcat-4.0-doc/ssl-howto.html 108 JBoss uses the JAAS 1.0 extension package from Sun which is a full implementation (dixit Scott Stark, CTO JBoss Group, LLC). 109 See http://jakarta.apache.org/tomcat/tomcat-3.2-doc/tomcat-ssl-howto.html. 110 Yes for Tomcat v4.0: see http://jakarta.apache.org/tomcat/tomcat-4.0-doc/ssl-howto.html

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 106

1.1 NO111 HTTPS YES

Java IDL NO112 ∈ J2SE v1.2+ ⊂ J2EE v1.2+ RMI-IIOP NO113 ∈ J2EE v1.3+

OMG

CSIv2 NO ∈ J2EE v1.3+ JMS v1.0 YES

(v1.0.2114) XA Y

115 ∈ J2EE v1.2+

JAF v1.0 YES ∈ J2EE v1.2+ v1.1 Y/N ∈ J2EE v1.2 YES

v1.2 Y116 ∈ J2EE v1.3

Messaging

JavaMail

NO YES117 ∈ J2EE v1.3+

SAX v2 YES/NO DOM v2 YES/NO

Part

XSLT YES/NO

XML JAXP v1.1

NO YES

JAXB NO JAXM NO JAX-RPC Part JAXR NO

YES J2EE Web Service Deployment Specification will be supported

Part118

Other

NO

Full API

NO119

Web Services

UDDI Reg. NO WAR NO EJB-JAR NO RAR NO

Deployment Propriatary Deployment Descriptor Required? EAR NO

Tier Support

YES120 ∈ J2EE v1.2 WAR YES/NO Servlet Names YES/NO Init Params YES/NO isSecure YES/NO

Part

Role Based Security YES/NO

Web Tier Servlet YES Version

v2.2

NO

111 Yes for Tomcat v4.0. 112

YES FOR JBOSS V3.0 WITH JACORB. 113 http://main.jboss.org/thread.jsp?forum=52&thread=6867 announces the feature for JBoss 3.0. http://www.jboss.org/online-manual/HTML/ch12s21.html explains a new CONTAINERINVOKER needs to be implemented. 114 http://www.jboss.org/online-manual/HTML/ch08s03.html says: “The JMS provider. Called JBossMQ, this is the part of JBoss that implements the JMS 1.0.2 specification, including the optional parts, such as the Application Service Facility (ASF)” 115 Through JMS JCA adapter (jms-ra.rar). 116 See http://main.jboss.org/thread.jsp?forum=66&thread=12534&message=3706632&q=#3706632. 117 Through Apache’s crimson.jar. 118 JBoss.NET under development: see http://www.jboss.org/JBossOne2002.zip, slide 20. 119 Web services support is not yet bundled with v2.4. 120 With Tomcat 3.x.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 107

YES121 ∈ J2EE v1.3 Filters YES/NO Part Event Listeners YES/NO

v2.3

NO

NO YES122 ∈ J2EE v1.2

Custom Tags YES/NO Part Servlet v2.2 Based YES/NO

v1.1

NO YES123 ∈ J2EE v1.3

XML Syntax YES/NO Part Servlet v2.3 Based YES/NO

v1.2

NO

YES Version

Page Caching Custom Tags NO124

JSP

NO

Caching Deployment Elements NO YES ∈ J2EE v1.2 v1.1

NO YES ∈ J2EE v1.3

MDBs YES/NO Local Interfaces YES/NO EJB Relations YES/NO EJB-QL (select & find) YES/NO Home Methods YES/NO

run-as YES/NO

Part

security unchecked YES/NO

EJB Version

v2.0

NO125 Dynamic Proxies YES Object

Distribution Collocation Optimization YES Datasource Level YES Element: mbean org.jboss.jdbc.XADataSourceLoader with attribute ManagedConnectionFactoryProperties including TransactionIsolation=XXX.

CMT RM Isolation Levels

NO Optimistic Not available with CMP127 DB Locking

Strategies Pessimistic Element: locking-policy=org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock

Optimistic None App Tier Locking Strategies

Pessimistic None

Transactions126

Deadlock Detection NO128

Application Tier

Resource Thread NO Bean / Application / Server Level

121 With Tomcat 4.0. 122 With Tomcat 3.x. 123 With Tomcat 4.0. 124 3rd party Apache lists bèta "Cache Taglib" at time of writing: http://jakarta.apache.org/taglibs/index.html#Overview 125 Yes for JBoss v3.0. See http://www.jboss.org/beanlocking.ppt. 127 Yes for 3rd party plugins from for example MVCSoft. 128 Yes for JBoss v2.4.5+. 129 There is no configurable EJB thread pooling (http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd). It is delegated to the Tomcat/Jetty web tier: e.g. MinThreads and MaxThreads properties of com.mortbay.HTTP.SocketListener in jboss\conf\tomcat\jetty.xml.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 108

129 Element: Pooling NO

Application Level Element: container-pool-conf>MaximumSize

YES SLSB / SFSB / EB / MDB

Element: container-pool-conf>MaximumSize

Object Pool Management

NO Bean / Application / Server Level YES Element:

Management

Socket Multiplexing

NO SFSB instance-cache=

org.jboss.ejb.plugins.StatefulSessionInstanceCache No passivation: cache-policy= org.jboss.ejb.plugins.NoPassivationCachePolicy LRU: cache-policy= org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy NRU: overager-period, max-bean-age Also: min-capacity, max-capacity, min-cache-miss-period, max-cache-miss-period, cache-load-factor instance-cache=

YES

EB Same as SFSB but with instance-cache= org.jboss.ejb.plugins.EntitySessionInstanceCache

Replacement Management130

NO YES131

YES Element: None132 Manage Stores in Application Tier

NO Delay stores to commit time NO

A Element: container-configuration>commit-option=A B Element: container-configuration>commit-option=B C Element: container-configuration>commit-option=C

Commit Options

D133 Element: container-configuration>commit-option=D; read-only=true; time-out=X

Caching

Read-Mostly NO134 Elements: eager-load135, read-ahead136

YES Element: lazy-load-group YES

Field Grouping NO

Lazy Loads

NO Tuned CMP Updates YES Element: tuned-updates=true

Automatic Destination Reconnect for MDBs NO137 Information Relational DB JDBC 2.0 YES ∈ J2EE v1.2+ Connection YES

130 See http://www.jboss.org/online-manual/HTML/ch07s16.html > Advanced cache configuration. 131 This requires a persistent cache with bidirectional datasource synchronization decoupled from commit time. 132 Delayed write is enabled by default. 133 Read-only cached, with timed update. 134 Source: Bill Burke, co-developer of JBoss Clustering. 135 Without the eager-load element, all fields are aggressively loaded. With the eager-load element, all but the contained fields are lazyly loaded. 136 This enables aggessive loading for finders: preload a configurable (element: limit) number of query results to solve the n+1 problem. 137 Yes for JBoss v3.0: see http://main.jboss.org/thread.jsp?forum=48&thread=12725.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 109

Extensions Pooling Type 1 NO

YES DB: Type 2 NO

Type 3 NO YES DB: HSQL Database Engine (hsqldb)

NO XA

Type 4 NO

Type 1 NO YES DB: Type 2 NO

Type 3 NO YES DB: HSQL Database Engine (hsqldb)

Integration JDBC Drivers

XA

Type 4 NO ∈ J2EE v1.2+

EIS: XA138 EIS: EIS: JDBC wrapper139

YES

Included Connectors

NO XA EIS: JMS wrapper

JCA 1.0

NO

Tier

EIS Integration

Other None Clustering

Atomic Homogeneous Deployment YES141 Subpartitioning YES Automatic JNDI Discovery YES142 Lifecycle Event Framework YES143

Web Server: Apache Web Server: Microsoft Internet Information Server (ISAPI) Web Server: Netscape Enterprise Server Plug-In (NSAPI)

YES

LB Algo’s RR/WRR144

Web Server Plugin

NO YES LB Algo’s RR/WRR/Load/Random Servlet Proxy NO YES LB Algo’s RR/First_Available Integrated LB in default web

server NO YES LB Algo

Limitations None, if cookie integrated

LB HW Support

NO

YES140

Web YES

Failover YES145 HTTP Session In-Memory YES

138 JBoss v3.0 bundles with the XA wrappers. 139 The wrapper works for JDBC type 1 and 2 drivers only. 140 For JBoss v3.0. 141 Reliable JavaGroups communication framework ensures message atomicity. 142 A multicast address is used for automatic discovery. 143 Notification of state transfer events and replica availability: HAPARTITIONSTATETRANSFER and REPLICANTLISTENER interfaces. 144 See http://www.ubeans.com/tomcat/index.html & http://www.theserverside.com/resources/article.jsp?l=Tomcat. 145 JBoss has currently implemented HTTP Session replication (hence failover) only for Jetty. Tomcat however implements in-memory session replication by itself: see http://www.theserverside.com/resources/article.jsp?l=Tomcat.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 110

File NO146 Replication JDBC NO

NO

Clean Shutdown NO147

NO Architecture Distributed YES Clean Shutdown NO148

JNDI

NO Load Balancing RR/First_Available by

home-load-balance-policy EJBHome

Auto Failover Inter Load Balancing RR/First_Available

YES

EJBObject Auto Failover Inter

SLSB

NO Load Balancing RR/First_Available EJBHome Auto Failover Inter Load Balancing RR/First_Available EJBObject Auto Failover Inter

In-Memory YES File NO150 JDBC NO

YES

Client Stub NO151

YES

State Replication

NO

SFSB

NO Load Balancing RR/First_Available EJBHome Auto Failover Inter

RO RR/First_Available Load Balancing RW RR/First_Available

EJBObject

Auto Failover Inter Optimistic Element: App Tier

Locking Strategies

Pessimistic Element:

Deadlock Detection YES/NO Write Update YES/NO

YES Peer/RM Revalidate

Write Invalidate

NO

Manage Stores in App Tier

Y152

A Element: B Element:

EJB YES149

EB YES

Distr. Shared Cache

Y

Commit Options

D153

Element:

146 Developers consider this irrelevant in the upcoming releases of JBoss v3.0, but it could be built. Implementation will handed off to JBoss CMP, hence configuration will be based on deployment descriptors (dixit Sacha Labourey). 147 Clean shutdown not available in first iteration of JBoss v3.0. However dynamic WAR updating, suspending active sessions, is available. 148 This could be built with an interceptor. 149 For all bean types: § Load Balancing: RR and First_Available are implemented. Others will come as plugins. § Automatic failover: inter-method is implemented and all metadata is available for intra-method

failover, but the feature is not yet implemented. 150 As with HTTP Session replication, these features will come in future 3.x releases. 151 This feature is under development. 152 This requires a distributed coherent, persistent cache with bidirectional datasource synchronization decoupled from commit time.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 111

Read-Mostly YES/NO NO

NO MDB NO154

Clean Shutdown YES155

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

DataSource

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Failover YES/NO

Connection Pool

NO Load Balancing Irrelevant YES Auto Failover Intra/Inter

Connection

NO

YES

Clean Shutdown YES/NO

JDBC

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

ConnectionFactory

NO Load Balancing Irrelevant YES Auto Failover Intra/Inter

Connection

NO Load Balancing NO/RR/WRR/Load/Random/F

irst_Available YES

Auto Failover Intra/Inter

Destination

NO

YES

Clean Shutdown YES/NO

JMS

NO RMI Objects

Custom Services JMS Listeners

YES, Any service is clusterable156

NO157 Frameworks Name Open For Business158 Type e-Commerce, Workflow, Content Management, … Name Motosoto Community Portal

Server (CoPS159) Type Portal

Administration XML configuration files YES Centralised Domain Management NO160

GUI Trap Configuration YES/NO Administration Server as SNMP Agent YES MIB Data Cache YES/NO

153 Read-only cached, with timed update. 154 Under development… 155 The interceptor is implemented and will probably be shipped with JBoss v3.0 final. 156 See Clustering docs, section 1.H. 157 For JBoss 2.x. 158 http://www.ofbiz.org/ is an independent open source community producing open source business software based on Java & XML standards. 159 http://sourceforge.net/projects/mtstcops/ is an independent open source portal project. 160 Services can be declared at the domain level and nodes can join such domain dynamically, but there’s no central administration tool yet.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 112

NO YES161

M-Let Service YES/NO Timer Service YES/NO Monitoring Service YES/NO

Agent Layer

Relation Service YES/NO Standard MBeans YES/NO Dynamic MBeans YES/NO Model MBeans YES/NO Open MBeans YES/NO

Instrumentation Layer

Notifications YES/NO

Part

Distributed Services Layer [Not yet standardized in JMX 1.0]

Full API

NO HTTP YES SNMP NO

Protocol Adapters

CIM NO RMI YES SOAP YES

Connectors

JMS YES

JMX

JMX Server Architecture YES Tools

Command Line NO GUI NO Silent NO162

Installer

Networked (version neutral)

YES

Start Servers NO Stop Servers Web

WAR Hot EJB-JAR Hot EAR

MBean J2EE>J2EEDeployer

Hot

YES

JDBC NO Hot RAR MBean JCA>RARDeployer Hot YES JMS MBean JBossMQ>Server Hot YES

Deploy

Drag and Drop Deployment YES: AutoDeployer163 Web Hot EJB

Yes, but not without custom MBeans. Hot

YES

JDBC MBean (eg. org.jboss.jdbc.XADataSourceLoader)

Hot YES

JCA MBean (eg. org.jboss.resource.ConnectionFactoryLoader)

Hot YES

JMS NO Hot JTA MBean DefaultDomain>TransactionManager Hot YES Server NO Hot LDAP Realm

NO

SNMP NO

Configure

JMX See Administration>JMX (adapters & connectors) WAR Hot EJB-JAR Hot EAR

MBean J2EE>J2EEDeployer

Hot

YES

Administration

Undeploy

JDBC MBean unregistration Hot YES

161 See http://www.jboss.org/developers/jboss-jbossmx.jsp & http://www.jboss.org/JBossMX-JB1-2002.ppt 162 In fact this can be accomplished very easily, but it is not documented as such. 163 See http://www.jboss.org/online-manual/HTML/ch13s72.html.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 113

RAR MBean JCA>RARDeployer Hot YES JMS MBean JBossMQ>Server Hot YES Web EJB JDBC JCA JMS JTA

Monitor

Server

None bundled164.

Cluster Centr. Admin NO165 XML Editor YES166

Name XDoclet Input Tags

Web YES EJB YES O/R > 1 Table NO With Defaults NO

YES

Import Feature NO167

Depl Desc

NO Home Interfaces YES

3rdParty

Bean Interfaces YES Name Together168, Borland JBuilder169 Input Dialogs

Web YES EJB YES O/R > 1 Table NO With Defaults YES

YES

Import Feature NO

Depl Desc

NO Home Interfaces YES

Code Generation

3rdParty

Bean Interfaces YES Web Services NO170

UML 3rdParty: Together Modeling BPM NO

Remote Debugging

3rdParty: Together, Borland JBuilder, NetBeans171

Documentation Readability Fair Table of Contents

Structured

Printable NO172 Media HTML YES

Searchable YES Installation YES173 Upgrade NO174

164 http://freshmeat.net/projects/log4jmonitor/: 3rd party Log4J message displayer. 165 This feature is under development. 166 See http://lbdpc15.epfl.ch/JAVA/jBoss/ejb.html, but also http://main.jboss.org/thread.jsp?forum=62&thread=10753&message=1175771#1175771 167 Feature “announced” at time of writing (http://xdoclet.sourceforge.net/tools.html#reverse). 168 Plugin for JBoss 2.4 costs $60: see http://www.flashline.com/Components/View.jsp?&prodid=4042. 169 See http://main.jboss.org/thread.jsp?forum=62&thread=8923. 170 No WSDL generation tools etc. are implemented yet. 171 See http://www.genuitec.com/products.htm#easie. 172 Yes for clustering, CMP 2.0 documentation ($10/piece) 173 See http://www.jboss.org/online-manual/HTML/ch01s06.html. 174 http://www.jboss.org/online-manual/HTML/ch03s13.html announces documentation on version migration.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 114

Documentation Archived

NO175

Explanation YES176 Command Line Options YES177

YES

Online Help NO

Tools

NO WAR Part of other samples

SLSB Sample178/Tutorial179 SFSB Sample180

CMP Sample181/Tutorial182/How-to183 EB BMP NO

EJB-JAR

MDB Sample184/Tutorial/How-to185 CORBA NO

Component Development

Web Services NO JMS Sample186/Tutorial/How-to187 JavaMail Sample188/How-to189

Development

JAAS Sample190/Tutorial/How-to191 Explanation YES192 Command Line Options193

YES/NO YES

Online Help NO

Tools

NO Definition of Administration Concepts NO

JDBC Part194 JMS YES (see development) JCA NO195

Remote Starting, Stopping NO Configuration YES

Domain Configuration

Clustering196

Sample Topologies NO WAR Part of other samples EJB-JAR See development.

Pet Store Sample/Tutorial197 EAR Other See development.

Administration

Deployment Samples

RAR Sample

175 At the time of writing, the free documentation is continuously updated, which is very annoying when not using the latest JBoss version. 176 See http://www.jboss.org/online-manual/HTML/ch10.html (parts outdated at the time of our writing). 177 See http://xdoclet.sourceforge.net/. 178 See org.jboss.docs.interest.InterestBean. 179 See http://www.jboss.org/online-manual/HTML/ch01s09.html. 180 See org.jboss.docs.jaas.howto.StatefulSessionBean. 181 See org.jboss.docs.cmp.jaws.bean.ClassBean. 182 See http://www.jboss.org/online-manual/HTML/ch05.html. 183 See http://www.jboss.org/online-manual/HTML/ch06.html. 184 See org.jboss.docs.jms.mdb.bean.HelloListener. 185 See http://www.jboss.org/online-manual/HTML/ch08s20.html. 186 See org.jboss.docs.jms.*. 187 See http://www.jboss.org/online-manual/HTML/ch08.html. 188 See org.jboss.docs.javamail.MailerBean. 189 See http://www.jboss.org/online-manual/HTML/ch13s98.html. 190 See org.jboss.docs.jaas.howto.*. 191 See http://www.jboss.org/online-manual/HTML/ch13s78.html. 192 Note that this documentation is embedded within other topics... 193 There are no command line administration tools bundled with JBoss. 194 Plain JDBC setup was removed from the free docs. All JDBC now goes through a JCA wrapper. 195 Sample configuration files are available. 196 $10 documentation. 197 See http://www.jboss.org/online-manual/HTML/ch14s02.html.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 115

WAR NO198 EJB-JAR NO

Deployment Descriptor Reference

RAR NO Monitoring NO

ACL Management NO199 Web YES200

Security SSL

EJB NO JMX YES201

Admin as Agent Configuration NO SNMP Server MIB Reference NO

Performance Tuning YES202

Error Message Reference NO FAQ # 63 (FAQ Forum @ 15/04/2002) Bug List YES203 Webinars NO Books Announced: “The Official JBoss Development and Administration Guide” Magazines NO Support

Tested Cases

First Anwser Same Hour/Same Day/Next

BusDay/Same Week/… Avg. Answering Delay

Time To Solution Same Hour/Same Day/Next BusDay/Same Week/…

Avg. Engineer Expertise Excelent/Average/Bad Engineer # Self #

YES

Number Solved

Not #

FreeTrial

NO Number of groups 17 Avg. Answering Delay Same Week

New # > 10 Hot Group Replies # +/- 30

New # +/- 10/week

Daily Activity

Other Replies # +/- 30/week After one Day <50% Hot

Group After one Week <50% After one Day <50%

Newsgroups

% Unanswered

Other After one Week <50%

Open Source Open Source YES Pluggability Pluggable Server Components Transaction Manager (from org.jboss.tm.TransactionManagerService to

org.jboss.tm.plugins.tyrex.TransactionManagerService MBean) 198 No for all three archives, but documented DTDs are available for Web & EJB tier. 199 LDAP integration is however documented: see http://www.jboss.org/online-manual/HTML/ch13s126.html. 200 See http://www.jboss.org/online-manual/HTML/ch14s12.html. 201 See http://www.jboss.org/online-manual/HTML/ch12s17.html & http://www.jboss.org/JBossMX-JB1-2002.ppt. 202 See http://www.jboss.org/online-manual/HTML/ch11s06.html. 203 See http://sourceforge.net/.

Vergelijkende Studie van J2EE Applicatieservers – http://thesis.pietervangorp.com/ 116

Servlet Container (org.jboss.jetty.JettyService and/or org.jboss.tomcat.EmbeddedTomcatServiceSX and/or ...) Security framework204 JCA Connection Manager205 Network communication framework (from JavaGroups to …)206

Basically any other Mbean server component… Performance

Performance BBops/min@Std: # Rank # Official Results207 Price/Performance Price/ Bbops@Std: # Rank #

We used a total BMP deployment. This may not be optimal. Generating all deployment descriptors is out of the scope of this thesis, but may be an interesting topic of further research. The original deployment descriptors were supplied by a JBoss user Axel Becker. The server was started with 256 MB of heap (java –ms256m –mx256m).

Performance Private Info Adhemar Price/Performance Private Info Performance Private Info

ECperf

Personal HW

Panda Price/Performance Private Info

Custom Test Results

None

Platform Support Platform Any system with 64 MB RAM and compatible with JDK 1.3. Prices Production Server

Price per CPU 0 €

Development Server

Price per CPU/Developer

0 €

Remote Price Customer Specific 24x7 Support On-Site Price Customer Specific Remote Price Customer Specific Next Business

Day Support On-Site Price Customer Specific Remote Price Customer Specific Project

Consultant On-Site Price Customer Specific

See http://www.jboss.org/jbossgroup/services.jsp

Name Item Item Item Item

Bundle

Price

Irrelevant, as the server is free.

Partnership Offerings

See http://www.jboss.org/jbossgroup/partners.jsp

204 See http://www.jboss.org/online-manual/HTML/ch13s78.html. 205 See v3.0 feature matrix: http://www.jboss.org/online-manual/HTML/ch04.html. 206 See v3.0 Clustering documentation 1.C.V. 207 Results for ECperf on JBoss cannot be published officially, because of lack of certification.