Comparison of Open Source App Servers Final 1229556301360167 2

Embed Size (px)

Citation preview

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    1/41

    A Comparison of Open SourceApplication 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

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    2/41

    OpenLogic enables enterprises to

    safely and securely

    acquire, manage and controlopen source software,

    and thereby

    realize significantly higher savings.

    About OpenLogic

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    3/41

    Goal

    Help you choose which open source applicationservers to evaluate more thoroughly:

    JBoss

    GlassFishdm Server

    Geronimo

    Tomcat

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    4/41

    Introduction

    Rod CopeCTO & Founder of OpenLogic25 years of software development experience

    IBMGlobal Services, Anthem, Ericsson, many more

    Veljko Krunic

    Senior Consultant15 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

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    5/41

    Background

    Application servers are strategic investments

    You are likely to use them for years to come

    In the past

    J2EE standardSelection based on

    -ilities

    Maturity

    Value-add features beyond the standard

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    6/41

    Are you replacing proprietary application servers with open

    source application servers (check one)?

    6

    on't know

    No staying with proprietary

    Not yet ut we are consi ering it

    Not yet ut we plan to o it

    es we have alrea y one it

    Polling Results from We inar Attan ees

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    7/41

    Which open source application servers are your using or

    considering using (check all that apply)?

    ther

    o cat

    pring ource

    n

    etty

    oss

    Glass ish

    Geroni o

    aucho esin

    Polling esults fro Webinar ttandees

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    8/41

    J2EE Didn't Fill the eed

    EJB 2 is difficult to use

    Many people consider it unnecessary difficult

    Entity Beans were especially problematic

    But even session beans earned bad reputations

    The Open Source community responds

    OSS packages mitigating the problem

    Hibernate instead of Entity Beans

    Spring as a component modelThey were very successful in the marketplace

    Many Spring/Hibernate applications

    Required only Tomcat to run but also work in full app servers

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    9/41

    When TomcatIs ot 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-ons

    It was possible to add things that Tomcat was missing

    But this became a build your own Frankenstein exercise

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    10/41

    Java Enterprise Edition in the Meantime

    Weaknesses in EJB 2 model were recognized

    Work on new specification was completed

    J2EE JEE 5

    EJB 2 EJB 3Entity Beans JPA

    EJB 3

    Simple annotation-based programming model

    ot everybody adopted EJB 3JEE will embrace modularity

    Profiles, including web profile

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    11/41

    Choices in 2007

    Use SpringStart with full app server

    Start with Tomcat, build from there

    Use EJB 3

    Requires full app servers

    Full application server

    Pros everything you are likely to need, could use EJB

    Cons complexity, might use more resources then TomcatTomcat

    Pros small, simple, low resource usage

    Cons you might need to build your own app server, no EJB

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    12/41

    OSGi

    Started in 1999

    Recently got a lot of exposure

    In particular, R 4.1

    JSR-294

    OSGi brings

    Dependency management and modularity

    Ability to load only parts it needs

    OSGi currently has a lot of mindshare

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    13/41

    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 Ineed 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

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    14/41

    What are your reasons for using or considering open sourceapplication servers (check all that apply)?

    reference for open source options

    ccess to source code

    ccess to the co unity

    In house e pertise

    o ustness scala ility perfor ance

    upport of standards

    unctionality

    o er cost

    olling esults fro We inar ttandees

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    15/41

    What is your biggest concern or challenge with using opensource application servers (check one)?

    obustness scalability

    per or ance concerns

    oncerns about open

    source licenses

    elling to anage ent

    legal

    ack o in house

    e pertise

    ee or level

    support

    Polling esults ro Webinar ttan ees

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    16/41

    Contenders

    Make a decision about what functionality you need

    Evaluate the contenders

    JBoss

    GlassFish

    dm Server

    Geronimo

    Tomcat

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    17/41

    JBoss

    Started in 1999, incorporated in 2001LGPL License

    Reasons for Success

    One of the first OSS app servers that was proven enough forproduction

    Good product

    Developers generally like it

    Fast startup and operations, easy configuration (for developers)Good standard support

    Modular architecture

    Possible to control amount of resources used

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    18/41

    JBoss Thought Leadership

    Complete ecosystemPortal

    ESB

    BPM

    JBoss has history of innovation

    Pioneer of EJB 3

    Seam Application Framework

    Web BeansOSGi

    Support in JBoss 5

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    19/41

    JBoss in Production

    DependabilityExcellent clustering and failover capability

    Reliable in production

    Monitoring and deployment capabilitiesot really oriented toward system administration out of the boxCommand line/file edit flavor of configuration

    GUItools (Tomcat manager and JMX Console) are fairly basic

    Excellent 3rdparty tools available for monitoring

    Hyperic

    GroundWorkIT

    JO *

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    20/41

    JBoss for Developers

    Excellent customizabilityJMX-based, don't deploy what you don't need

    Seam is worth a look for developers

    JDK with 4.2.3 and 5.0GAJDK 5 compiled binaries work on both JDK 5 and JDK

    JBoss IDE

    Eclipse-based

    JBoss ToolsFree version (RHDS is paid version)

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    21/41

    JBoss - Conclusions

    Strengths

    Mature, scalable and reliable

    Good support for J2EE and EJB 3

    Seam framework

    Weaknesses

    LimitedGUI-based configuration in open source version

    LGPL License may be a concern forISV's embedding app servers

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    22/41

    GlassFish

    Relatively newLaunched in June 2005

    JEE 5 support introduced in May 200

    Glassfish 2

    September 2007

    Clustering and enterprise capabilities

    Merged with Sun Java System Application Server

    CDDL LicenseHuge interest

    First seven months of 2008 - 4.5 million downloads

    Compare to Spring Framework's 5 million downloads

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    23/41

    GlassFish Thought Leadership

    JEE 5 certifiedReference implementation

    Full support for EJB 3

    OSGi is coming in version 3

    Sun is a strong supporter of OSGi

    Good support for dynamic languages

    JRuby

    GoldSpikeGrails

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    24/41

    Living with GlassFish

    IDEetBeans-based

    Excellent support forGlassFish

    Support for Java for a long time

    Sun has fairly large ecosystem (e.g., openESB)

    Relatively new

    ot as easy to hire expertise

    Good production capabilitiesClustering

    Failover

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    25/41

    GlassFish Conclusions

    StrengthsGood support for emerging standards

    Good heritage of code, based on a good application server

    Excellent support for dynamic languages

    Weaknesses

    Less widely used than JBoss

    Relatively new

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    26/41

    SpringSource dm Server

    ewcomerReleased in April of 2008

    GPL license

    Incorporates many mature components

    Spring FrameworkTomcat

    Equinox

    dm Server users are very early adopters

    Different take on app serverOSGi support

    o support for EJB

    o JMS out of the box

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    27/41

    dm Server Thought Leadership

    OSGi-basedGood OSGi implementation

    OSGi discussed a lot in their documentation

    o support for EJB

    o support for EJB 3 or old EJB 2 spec

    Spring offers similar functionality to Seam

    Which is somewhat more mature

    Although some of the Seam ideas might be somewhat morepowerful

    Bijection

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    28/41

    dm Server for Developers

    Server works well with Spring Framework

    IDE

    Spring IDE - IDE for Eclipse platform

    Support for etBeans andIntelliJ

    OSGi support

    Resolves dependency hell

    But requires application migration to take advantage of it

    Supports Java 5 and

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    29/41

    dm Server - Conclusions

    StrengthsSupport for Spring Framework

    Support for OSGi

    Weaknesses

    ewcomer

    o EJB

    Limited experience among workforce

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    30/41

    Geronimo

    Supported byIBMWSCE based on Geronimo announced in October 2005

    JEE 5 certified

    Full support for EJB 3Apache licensed

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    31/41

    Geronimo Details

    CapabilitiesClustering

    GBeans andIoC

    Built-in frameworks (ActiveMQ, Spring)

    Less often used than others (like JBoss) on large

    deployments

    Certified on Java 5

    Works with JavaIDE support

    GEP, MyEclipse

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    32/41

    Geronimo Conclusions

    StrengthsApache licensed

    JEE certified with full EJB 3 support

    Sponsored byIBM

    Weaknessesot as widely used in production as other servers

    Less usage means that it is more difficult to find people whoare experts in it

    Smaller ecosystem than others (like JBoss)Although WAS and WSCE share the same name, they do not share thesame code

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    33/41

    Tomcat

    First release (3.0.x) in 1999Apache license

    Servlet container

    Lightweight server

    Used in many other app servers

    JBoss

    dm Server

    Geronimo

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    34/41

    Tomcat in Development and Production

    Tomcat supportsClustering

    Failover

    Widely used for both development and production

    Supported in most popularIDEs

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    35/41

    Tomcat Conclusions

    StrengthsLightweight

    Well known and tested

    Fast startup/deployment for development

    Weaknesses

    o support for EJB, JMS or almost anything else outside of

    web side

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    36/41

    Conclusions

    App servers are not just about the JEE specs

    Make some high-level decisions before evaluation

    Do Ineed EJB 2 compatibility?

    Do I intend to follow EJB 3 and other industry standards?

    Do Ineed something fast, lightweight, and easy to use?

    Do Ihave a need for lifecycle management of server

    components (through OSGi)?

    Do Ineed support for dynamic languages like Groovy and

    JRuby?

    Am Ian early adopter of new technology?

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    37/41

    Recommendations

    Im using EJBs andIm conservativeJBoss, GlassFish

    Idon't need XA/JMS/EJBTomcat, JBoss, GlassFish, dm Server

    Im using SpringConservative - JBoss, Tomcat, GlassFish

    Leading edge - dm Server

    Ineed to embed an app server in my commercial codeTomcat, Geronimo

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    38/41

    Recommendations (continued)

    Iuse Spring heavily andIneed OSGiIneed it today and don't need EJBs - dm Server

    Ineed it soon and/or need EJBs GlassFish, JBoss

    Iuse Seam

    JBoss

    Iwant ActiveMQ/Spring/Hibernate preinstalled

    Geronimo

    Ineed dynamic language supportGroovy/Grails dm Server, JBoss, GlassFish

    JRuby/Rails - GlassFish, Geronimo

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    39/41

    Which non-Java based server technologies are used in yourenterprise (check all that apply)?

    ther

    Zope

    urbo ears

    uby on ails

    roovy rails

    olling esults from Webinar Attandees

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    40/41

    Q & A

    Any questions?

  • 8/8/2019 Comparison of Open Source App Servers Final 1229556301360167 2

    41/41

    ContactInformation

    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