Upload
rogue-wave-software
View
26.311
Download
0
Tags:
Embed Size (px)
Citation preview
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
OpenLogic enables enterprises to safely and securely
acquire, manage and control open source software,
and thereby realize significantly higher savings.
About OpenLogic
Goal
Help you choose which open source application servers to evaluate more thoroughly:
JBoss
GlassFish
dm Server
Geronimo
Tomcat
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
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
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
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
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
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
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
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
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
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
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
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
Contenders
Make a decision about what functionality you need
Evaluate the contendersJBoss
GlassFish
dm Server
Geronimo
Tomcat
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
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
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 *
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)
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
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
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
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
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
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
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
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
dm Server - Conclusions
StrengthsSupport for Spring Framework
Support for OSGi
WeaknessesNewcomer
No EJB
Limited experience among workforce
Geronimo
Supported by IBMWSCE based on Geronimo announced in October 2005
JEE 5 certified
Full support for EJB 3
Apache licensed
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
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
Tomcat
First release (3.0.x) in 1999Apache license
Servlet containerLightweight server
Used in many other app serversJBoss
dm Server
Geronimo
Tomcat in Development and Production
Tomcat 6 supportsClustering
Failover
Widely used for both development and production
Supported in most popular IDEs
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”
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?
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
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
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
Q & A
Any questions?
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