41
A Comparison of Open Source Application Servers for the Enterprise Webinar on Dec 11, 2008 Presented by Rod Cope & Veljko Krunic of OpenLogic Recording available at: www.openlogic.com/downloads/webinars.php

Comparison Of Open Source App Servers

Embed Size (px)

Citation preview

Page 1: Comparison Of Open Source App Servers

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Q & A

Any questions?

Page 41: Comparison Of Open Source App Servers

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