comparison of open source app servers
TRANSCRIPT
![Page 1: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/1.jpg)
A Comparison of Open Source Application Servers for the Enterprise
Webinar on Dec 11, 2008
Presented by Rod Cope & Veljko Krunic of OpenLogicRecording available at: www.openlogic.com/downloads/webinars.php
![Page 2: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/2.jpg)
OpenLogic enables enterprises to safely and securely
acquire, manage and control open source software,
and thereby realize significantly higher savings.
About OpenLogic
![Page 3: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/3.jpg)
Goal
Help you choose which open source application servers to evaluate more thoroughly:
JBoss
GlassFish
dm Server
Geronimo
Tomcat
![Page 4: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/4.jpg)
Introduction
Rod CopeCTO & Founder of OpenLogic25 years of software development experienceIBM Global Services, Anthem, Ericsson, many more
Veljko KrunicSenior Consultant
15 years of software development experience
JBoss Division of Red Hat, Rally Software, PeopleSoft, many more
OpenLogic, Inc.SLA support, security updates, and indemnification for over 450 open source packages (including JBoss, GlassFish, Geronimo and Tomcat)
Governance and policy enforcement
Consulting services and training
Dozens of Fortune 500 customers
![Page 5: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/5.jpg)
Background
Application servers are strategic investmentsYou are likely to use them for years to come
In the pastJ2EE standard
Selection based on
“-ilities”
Maturity
Value-add features beyond the standard
![Page 6: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/6.jpg)
Are you replacing proprietary application servers with open source application servers (check one)?
0 20 40 60 80 100
Don't know
No, staying with proprietary
Not yet, but we are considering it
Not yet, but we plan to do it
Yes, we have already done it
Polling Results from Webinar Attandees
![Page 7: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/7.jpg)
Which open source application servers are your using or considering using (check all that apply)?
0 20 40 60 80 100
Other
Tomcat
SpringSource DM
JOnAS
Jetty
JBoss
GlassFish
Geronimo
Caucho Resin
Polling Results from Webinar Attandees
![Page 8: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/8.jpg)
J2EE Didn't Fill the Need
EJB 2 is difficult to useMany people consider it unnecessary difficult
Entity Beans were especially problematic
But even session beans earned bad reputations
The Open Source community respondsOSS packages mitigating the problem
Hibernate instead of Entity Beans
Spring as a component model
They were very successful in the marketplace
Many Spring/Hibernate applicationsRequired only Tomcat to run but also work in full app servers
![Page 9: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/9.jpg)
When Tomcat Is Not Enough
Tomcat doesn't support JMS
EJBs
Other...
Enterprises need integration The more mature the app is, the more likely it is to be added
Add-onsIt was possible to add things that Tomcat was missing
But this became a “build your own Frankenstein” exercise
![Page 10: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/10.jpg)
Java Enterprise Edition in the Meantime
Weaknesses in EJB 2 model were recognized
Work on new specification was completedJ2EE → JEE 5
EJB 2 → EJB 3Entity Beans → JPA
EJB 3Simple annotation-based programming model
Not everybody adopted EJB 3
JEE 6 will embrace modularityProfiles, including web profile
![Page 11: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/11.jpg)
Choices in 2007
Use SpringStart with full app server
Start with Tomcat, build from there
Use EJB 3Requires full app servers
Full application serverPros – everything you are likely to need, could use EJB
Cons – complexity, might use more resources then Tomcat
TomcatPros – small, simple, low resource usage
Cons – you might need to build your own app server, no EJB
![Page 12: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/12.jpg)
OSGi
Started in 1999Recently got a lot of exposure
In particular, R 4.1JSR-294
OSGi bringsDependency management and modularity
Ability to load only parts it needs
OSGi currently has a lot of mindshare
![Page 13: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/13.jpg)
What Does This Mean For Me?
Decisions, decisionsEJB 3 or Spring
Spring on dm Server or on J2EE/JEE server?
OSGi or not OSGi
Do I need EJB 2 compatibility?
In addition, there are many “old” considerations
Servers are not “all inclusive” EJB 3 apps won't work on SpringSource dm Server or Tomcat
![Page 14: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/14.jpg)
What are your reasons for using or considering open source application servers (check all that apply)?
0 20 40 60 80 100
Preference for open source options
Access to source code
Access to the community
In-house expertise
Robustness / scalability / performance
Support of standards
Functionality
Lower cost
Polling Results from Webinar Attandees
![Page 15: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/15.jpg)
What is your biggest concern or challenge with using open source application servers (check one)?
0 20 40 60 80 100
Robustness / scalability /performance concerns
Concerns about opensource licenses
Selling to management /legal
Lack of in-houseexpertise
Need for SLA-levelsupport
Polling Results from Webinar Attandees
![Page 16: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/16.jpg)
Contenders
Make a decision about what functionality you need
Evaluate the contendersJBoss
GlassFish
dm Server
Geronimo
Tomcat
![Page 17: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/17.jpg)
JBoss
Started in 1999, incorporated in 2001LGPL License
Reasons for SuccessOne of the first OSS app servers that was proven enough for production
Good product
Developers generally like itFast startup and operations, easy configuration (for developers)
Good standard support
Modular architecturePossible to control amount of resources used
![Page 18: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/18.jpg)
JBoss Thought Leadership
Complete ecosystemPortal
ESB
BPM
JBoss has history of innovation Pioneer of EJB 3
Seam Application Framework
Web Beans
OSGiSupport in JBoss 5
![Page 19: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/19.jpg)
JBoss in Production
DependabilityExcellent clustering and failover capability
Reliable in production
Monitoring and deployment capabilitiesNot really oriented toward system administration out of the box
Command line/file edit flavor of configuration
GUI tools (Tomcat manager and JMX Console) are fairly basic
Excellent 3rd party tools available for monitoringHyperic
GroundWork IT
JON *
![Page 20: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/20.jpg)
JBoss for Developers
Excellent customizability JMX-based, don't deploy what you don't need
Seam is worth a look for developers
JDK 6 with 4.2.3 and 5.0 GAJDK 5 compiled binaries work on both JDK 5 and JDK 6
JBoss IDEEclipse-based
JBoss ToolsFree version (RHDS is paid version)
![Page 21: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/21.jpg)
JBoss - Conclusions
StrengthsMature, scalable and reliable
Good support for J2EE and EJB 3
Seam framework
WeaknessesLimited GUI-based configuration in open source version
LGPL License may be a concern for ISV's embedding app servers
![Page 22: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/22.jpg)
GlassFish
Relatively newLaunched in June 2005
JEE 5 support introduced in May 2006
Glassfish 2September 2007
Clustering and enterprise capabilities
Merged with Sun Java System Application Server
CDDL License
Huge interestFirst seven months of 2008 - 4.5 million downloads
Compare to Spring Framework's 5 million downloads
![Page 23: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/23.jpg)
GlassFish Thought Leadership
JEE 5 certifiedReference implementation
Full support for EJB 3
OSGi is coming in version 3Sun is a strong supporter of OSGi
Good support for dynamic languagesJRuby
GoldSpike
Grails
![Page 24: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/24.jpg)
Living with GlassFish
IDENetBeans-based
Excellent support for GlassFish
Support for Java 6 for a long time
Sun has fairly large ecosystem (e.g., openESB)
Relatively newNot as easy to hire expertise
Good production capabilitiesClustering
Failover
![Page 25: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/25.jpg)
GlassFish – Conclusions
StrengthsGood support for emerging standards
Good heritage of code, based on a good application server
Excellent support for dynamic languages
WeaknessesLess widely used than JBoss
Relatively new
![Page 26: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/26.jpg)
SpringSource dm Server
NewcomerReleased in April of 2008
GPL license
Incorporates many mature componentsSpring Framework
Tomcat
Equinox
dm Server users are very early adopters
Different take on app serverOSGi support
No support for EJB
No JMS out of the box
![Page 27: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/27.jpg)
dm Server Thought Leadership
OSGi-basedGood OSGi implementation
OSGi discussed a lot in their documentation
No support for EJB No support for EJB 3 or old EJB 2 spec
Spring offers similar functionality to SeamWhich is somewhat more mature
Although some of the Seam ideas might be somewhat more powerful
Bijection
![Page 28: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/28.jpg)
dm Server for Developers
Server works well with Spring Framework
IDESpring IDE - IDE for Eclipse platform
Support for NetBeans and IntelliJ
OSGi supportResolves “dependency hell”
But requires application migration to take advantage of it
Supports Java 5 and 6
![Page 29: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/29.jpg)
dm Server - Conclusions
StrengthsSupport for Spring Framework
Support for OSGi
WeaknessesNewcomer
No EJB
Limited experience among workforce
![Page 30: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/30.jpg)
Geronimo
Supported by IBMWSCE based on Geronimo announced in October 2005
JEE 5 certified
Full support for EJB 3
Apache licensed
![Page 31: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/31.jpg)
Geronimo Details
CapabilitiesClustering
GBeans and IoC
Built-in frameworks (ActiveMQ, Spring)
Less often used than others (like JBoss) on large deployments
Certified on Java 5Works with Java 6
IDE supportGEP, MyEclipse
![Page 32: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/32.jpg)
Geronimo – Conclusions
StrengthsApache licensedJEE certified with full EJB 3 supportSponsored by IBM
WeaknessesNot as widely used in production as other serversLess usage means that it is more difficult to find people who are experts in itSmaller ecosystem than others (like JBoss)
Although WAS and WSCE share the same name, they do not share the same code
![Page 33: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/33.jpg)
Tomcat
First release (3.0.x) in 1999Apache license
Servlet containerLightweight server
Used in many other app serversJBoss
dm Server
Geronimo
![Page 34: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/34.jpg)
Tomcat in Development and Production
Tomcat 6 supportsClustering
Failover
Widely used for both development and production
Supported in most popular IDEs
![Page 35: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/35.jpg)
Tomcat – Conclusions
StrengthsLightweight
Well known and tested
Fast startup/deployment for development
WeaknessesNo support for EJB, JMS or almost anything else outside of “web side”
![Page 36: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/36.jpg)
Conclusions
App servers are not just about the JEE specs
Make some high-level decisions before evaluationDo I need EJB 2 compatibility?
Do I intend to follow EJB 3 and other industry standards?
Do I need something fast, lightweight, and easy to use?
Do I have a need for lifecycle management of server components (through OSGi)?
Do I need support for dynamic languages like Groovy and JRuby?
Am I an early adopter of new technology?
![Page 37: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/37.jpg)
Recommendations
“I’m using EJBs and I’m conservative”JBoss, GlassFish
“I don't need XA/JMS/EJB”Tomcat, JBoss, GlassFish, dm Server
“I’m using Spring”Conservative - JBoss, Tomcat, GlassFishLeading edge - dm Server
“I need to embed an app server in my commercial code”
Tomcat, Geronimo
![Page 38: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/38.jpg)
Recommendations (continued)
“I use Spring heavily and I need OSGi”I need it today and don't need EJBs - dm Server
I need it soon and/or need EJBs – GlassFish, JBoss
“I use Seam”JBoss
“I want ActiveMQ/Spring/Hibernate preinstalled”Geronimo
“I need dynamic language support”Groovy/Grails – dm Server, JBoss, GlassFish
JRuby/Rails - GlassFish, Geronimo
![Page 39: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/39.jpg)
Which non-Java based server technologies are used in your enterprise (check all that apply)?
0 20 40 60 80 100
Other
Zope
TurboGears
Ruby on Rails
PHP
.NET
Groovy, Grails
Polling Results from Webinar Attandees
![Page 40: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/40.jpg)
Q & A
Any questions?
![Page 41: Comparison Of Open Source App Servers](https://reader030.vdocuments.mx/reader030/viewer/2022032616/55a636e41a28abca028b46ae/html5/thumbnails/41.jpg)
Contact Information
Rod Cope: [email protected]
Veljko Krunic: [email protected]__________________________________________________________________________________________
Download the webinar recording and slides: www.openlogic.com/downloads/webinars.php
Get a quote on technical support for open source: www.openlogic.com/products/support.php
Get a quote on training & professional services for open source: www.openlogic.com/products/open-source-services.php