Choosing an AS in a NutShell J.MOLIERE-2004
Who am I ? ► Independant author/consultant Cahiers du programmeur Java – tome 2 – Eyrolles 2003 Cahiers de l’admin – Eyrolles – a paraître – Comprendre et utiliser un serveur J2EE Maintainer from the FAQ nntp://fr.comp.lang.java nntp://fr.comp.lang.java Articles (Login/ Former of the mentor/J company
Introduction ► Goals: Avoid vendor traps, Avoid marketing effects, Make a short-list from the essential questions, Help you do the smart choice…
Managers key points ► TCO ► Budget ► Support?
Beyond the marketing… ► What does free means ? Documentation Support Opening ► Don’t move license free costs to other poles..
Never again… ► You used proprietary software: Don’t make twice the same error… Don’t use proprietary extensions… Use plain J2EE APIs ► E.g: EJB 2.0 & EJB-QL Don’t use any QL-like language overriding these limits.
What is a software budget? ► Deployment : License cost!!! ► But: Development: training/documentation… Administration:support/administration tools Migrating from one version to another. Tuning the server…
Engineering key points ► J2EE conformance ► Managing the risks ► Key features ► Administration ► Product evolution…
J2EE conformance ► Work in progress JONAS 4.1 used as a reference for the Sun TCK. Same thing for JBOSS… ► Final score :1-1 ? May be but: ► UnifiedClassLoader from the JBOSS team could be a huge trouble for them…
J2EE key features ► TCK delivers a label from conformance so: J2EE core features are implemented ► What TCK doesn’t check: Clustering
Clustering in the J2EE World ► Choosing an AS for its clustering features: Why not? But beware: ► JONAS/JBOSS can do HTPP Session replication over Jetty/Tomcat but it’s a bad idea!!! ► JBOSS team claims that the only solution is Local interfaces usage !!! Where is distribution here? ► Please don’t rely on unreliable products (JavaGroups don’t scale well so don’t use it).
Clustering in the J2EE world ► Clustering tiers, common answers: HTTP MDB/SFSB ► Leaves a huge problem: The RDBMS tier is not replicated… So no real fault tolerance No load balancing on this tier (the most critical one).
Clustering in the J2EE world ► So how to replicate the RDBMS tier? Use vendor specific solutions (Oracle 10 HA) Expansive solutions… Or use C-JDBC!!! ► multi databases (heterogeneous parc) ► Cache ► Intelligent load balancing algorithm (from the several available)
Clustering in the J2EE World ► J2EE is the core node in heterogenous architectures: ERP Legacy systems .NET front-end ? CORBA applications
Clustering in the J2EE world ► JMS is one of the major API ► Why ? Delivering messages with delivery warranty is a tremendous need in HA applications (bank/financial/telecom) Asynchronism is the better answer to overloaded architectures. ► JORAM is your friend…
Clustering in the J2EE world ► Deploying clusters: JBOSS nice features (farming/singleton service in a cluster). But: ► Farming not really usable in production (administrators tend to prefer scripts to automatic operations). ► Doesn’t fit well to large nodes number.
Administration ► Do not forget these daily tasks!!! ► JMX is the standard way: Used as a communication bus in JBOSS but doesn’t bring us usable tools. Far more complete in JONAS. ► Administrators love non GUI consoles JBOSS doesn’t provide such tool.. man jonas admin!!!
Conclusion ► Choice is a weird thing but: Logic must be your best friend Beware of marketing Remind your previous choices.. Consult your team before completing this process.. Take the one that fits your needs (and future needs).
Q/A ► It’s up to you now!!!
Resources ► ► ► ►
Thanks!!!
Resources