SlideShare a Scribd company logo
Java EE and Spring Framework Shootout
    Rohit Kelapure
    WebSphere Application Server Caching Architect
    Apache OpenWebBeans Committer
    IBM

    http://wasdynacache.blogspot.com/
    http://www.linkedin.com/in/rohitkelapure
    http://twitter.com/rkela
    Recording: http://www.parleys.com/#st=5&id=2819&sl=0




    Session ID = TDP-1163

1
Please Note
    IBM's statements regarding its plans, directions, and intent are subject to change
    or withdrawal at IBM's sole discretion.

    Information regarding potential future products is intended to outline our general
    product direction and it should not be relied on in making a purchasing decision.

    The information mentioned regarding potential future products is not a
    commitment, promise, or legal obligation to deliver any material, code or
    functionality. Information about potential future products may not be incorporated
    into any contract. The development, release, and timing of any future features or
    functionality described for our products remains at our sole discretion.

    Performance is based on measurements and projections using standard IBM
    benchmarks in a controlled environment. The actual throughput or performance
    that any user will experience will vary depending upon many factors, including
    considerations such as the amount of multiprogramming in the user's job stream,
    the I/O configuration, the storage configuration, and the workload processed.
    Therefore, no assurance can be given that an individual user will achieve results
    similar to those stated here.



2
Outline
       Evolution of Java EE and Spring
       Java EE 6 & Spring 3.0, 3.1 highlights
       Spring 3.1 feature comparison with Java EE 6
       CDI and Spring ecosystem
       Spring and Java EE coexistence
       Spring to Java EE migration
       Conclusion




3
J2EE Java EE Specifications




                                   * Introduced in spec.
4
Evolution of J2EEJava EE6 (Dec 09)
                                                               • Facelets, built-in-AJAX, Skins,
     New specs (JAX-RS, CDI, Bean                               Annotations, Resource handling
      Validation)                                              • Simplified Navigation, Easier custom
                                                                 components, View & Page scopes
     Prune dead wood                                          • Bookmarkable pages, Project Stage,
        –   EJB 2.x, JAX-RPC, JAXR, JEE App.                     Expanded event model
            Deploy, JEE App mgmt.                        –   JPA 2.0
     Extensibility                                            • Mapping enhancements, JPAQL,
                                                                 Criteria Query API, Pessimistic
        –    Easy Framework Pluggability (web                    locking
            fragments & CDI Extensions)
                                                      Profiles reduce platform size
     Enhanced ease of development
                                                         –   Web Profile 12 specs
        –   POJO annotation based Servlets,
        –   Asynchronous processing (Servlet 3.0 &    Vendor support
            EJB 3.1)                                     –   WebSphere AS 8
        –   EJB 3.1                                      –   JBOSS AS 7
              • EJB-in-WAR, No-interface view,           –   Oracle WebLogic 11g
                 Singleton, EJB-lite, Timers
                                                         –   Glassfish 3
        –   Contextual Dependency Injection (CDI)
        –   RESTful services
        –    Portable JNDI names
        –   JSF2.0


5
JSR 299 Contexts and Dependency Injection (CDI)
     Adds dependency injection to JEE and               interceptor bindings
      makes it type-safe.                            – Refines interceptors into decorators
                                                       for finer grained control
        – Hollywood principle - Don’t call us,
          we will call you                        Integrates with the Unified EL to bridge
        – No hard coded dependencies on            JSF
          other specifications
                                                     – Enables use of EJB 3.0 components
     Assists in unifying the Bean model               as JSF managed beans

     Well defined contexts, the ability to bind  Introduces an SPI to extend JEE – Roll
                                                   your own JEE7!
      beans statefully to them & manage their
      lifecycle.                                     – Not only an API but also a SPI
                                                     – Rich ecosystem of CDI extensions
     Introduces an event notification system
                                                  Adds the Web conversation context
      to decouple producers & consumers
                                                  Spring does NOT provide support for
     Uses interceptors to foster loose
                                                   CDI
      coupling
        – Extend behavior with type safe


6
Spring Framework




                        Lightweight dependency injection
                        Aspect oriented
                        Layered application & container framework
                        Well defined modules on top of the core container
                        NOT an all-or-nothing solution


7
Evolution of Spring                        [ 1.0, 2.0, 2.5, 3.0, 3.1]


                                                           3.0                  3.1
                                                           • JSR-330 “at        • A new “c”
                                                             inject”              namespace
                                         2.5               • New Spring         • Configuration
    1.0              2.0                 • Annotation-       Expression           profiles
    • Dependency
                                           driven wiring     Language
                     • Problem-
                                         • Automatic       • First-class REST   • Unified
      injection        specific XML
                                           bean              support              property
    • POJO-          • Extensible
      oriented                             configuration   • Java-based           resolution
                       configuration
      development                        • New               configuration      • Java
                     • Bean scoping        annotation-
    • Declarative                                          • Several new          configuration
                     • Groovy, JRuby,      driven MVC        Spring MVC
      AOP &
                       and BeanShell
                                                                                  features
      transactions                         framework         features
    • MVC            • JSP tag library   • JUnit 4-based
                                                                                • Servlet 3.0
                                                           • Support for JSR-     support
      framework      • Java 5              integration       303 declarative
                       autoboxing          testing           validation         • Declarative
                       and generics                        • Annotation-based     caching
                                                             background and     • Spring MVC
                                                             scheduled jobs       enhancements




8
Birds Eye View




9
Java EE vs. Spring Framework Features/APIs




10
Java EE vs. Spring Business Component




11
Spring XML for Business Component Injection




12
Spring XML for Business Component Injection




13
Spring Java Based Configuration




14
Spring Java Based Configuration




15
Java EE Interceptor vs. Spring Aspects




16
Java EE vs. Spring Injection




17
Java EE vs. Spring Injection




18
JSF 2 vs. Spring MVC Front Controller
      Facelet Component




19
JSF 2 vs. Spring MVC Front Controller
      Facelet




20
JSF 2 vs. Spring MVC Front Controller
                                  Entity




21
JSF 2 vs. Spring MVC
     Spring MVC JSP




22
Spring MVC Configuration




23
Spring Controller




24
Spring MVC web.xml configuration




25
Java EE vs. Spring Scheduling




26
Java EE vs. Spring Scheduling




27
Java EE vs. Spring Messaging




28
Spring JMS Configuration




29
Spring Message Producer




30
Java EE Message Producer & JMS Abstraction




31
Java EE Message Producer & JMS Abstraction




32
Hacking the Java EE Platform - CDI Extensions
      Activated by dropping jars on the application classpath
      Loaded by the java.util.ServiceLoader SPI
      Integrate with container through container lifecycle events by
        – Register additional beans, interceptors and decorators
        – Injecting dependencies into its own objects
        – Introduce custom scope with backing context
        – Augment or override bean annotation-based metadata with other
          source
      Tools/utilities, extending Java EE, integration with Java EE
       APIs, integrating with non-standard APIs, making Java EE
       features available in non-Java EE




33
Spring Ecosystem




34
CDI Ecosystem Snapshot

     Implementations            Portable    Runtimes
                               Extensions



     Weld   CanDI




                       Tools




35
Spring & Java EE Coexistence
      Integration with Java EE APIs
         – Spring beans can be injected into JSF Managed Beans
         – Spring beans can be referenced in EL with no JSF Backing beans
         – Spring JmsTemplate can be used on top of raw JMS API for convenience
         – Spring Listeners similar to EJB MDBs especially JCA rather than JMS listeners
         – Hibernate validator standardized as Bean Validation (JSR 303)
         – Spring 3 supports excellent bi-directional integration with EJBs
         – CDI and Spring Integration through the Spring Bridge to CDI

      Native support for Java EE
         – Java EE5 and Java EE6 annotations supported by Spring
         – Spring can use JPA / Hibernate natively

      Application server integration
         – DataSources can use application server QoS like pooling, transactions, statement caching,
           debugging, monitoring and security




36
Best Practices integrating Spring WAS
      Presentation tier considerations
        – Web MVC & Portlet
      Data access considerations
        – Using JDBC native connections
        – Transactions, JPA & JMS
      Spring Security Considerations
        – Bypassing WAS security
      Integration & Management considerations
        – Registering Spring Mbeans in the application server
        – Classloaders
      Design Considerations
        – Unmanaged threads
        – Scheduling & Threadpools
37
Java EE coexistence with Spring




38
Migrating Spring to Java EE 6
     1.   Upgrade Spring version
     2.   Replace old frameworks (ORM, Web Framework) within Spring
     3.   Run Spring and Java EE container side by side
     4.   Replace Spring entirely
     5.   Remove Spring container




39
Myths of Java EE
      EJBs are heavy weight               "bloated“
      EJBs are hard to test              J2EE and EJB2 sucked! “That
      EJBs are not portable               was eight years ago! Is this really
                                           your best shot?”
      EJBs are slow
                                          Application server portability is a
      EJBs are not scalable               myth!
      EJBs are too complex
      EJBs are hard to integrate with
       Web Frameworks and POJOs
      EJBs are hard to configure
      EJBs are hard to migrate
      EJBs are hard to develop
      EE application servers are

40
Birds Eye View




41
References
      Evolution of Java EE http://en.wikipedia.org/wiki/Java_EE_version_history
      Java EE 6 Tutorial http://download.oracle.com/javaee/6/tutorial/doc/
      Spring Docs http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/
      Spring Projects http://www.springsource.org/projects
      Miscellaneous CDI Extensions https://github.com/softwaremill/softwaremill-common
      Migrating Spring to Java EE
          –   https://github.com/paulbakker/migrating-spring-to-javaee
          –   http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/
      CDI- Spring Bridge
          –   http://rick-hightower.blogspot.com/2011/04/cdi-and-spring-living-in-harmony.html
          –   http://niklasschlimm.blogspot.com/2011/08/jsr-299-cdi-interceptors-for-spring.html
          –   http://niklasschlimm.blogspot.com/2011/08/jsr-299-cdi-decorators-for-spring-beans.html
      Best practices integrating Spring with WebSphere Application Server
          –   http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.htm
      What’s new in Spring 3.1 http://static.springsource.org/spring/docs/3.1.x/spring-framework-
        reference/htmlsingle/spring-framework-reference.html#new-in-3.1


42
References continued
        SEAM 3 http://seamframework.org/Seam3
        CODI http://myfaces.apache.org/extensions/cdi/
        Weld http://seamframework.org/Weld
        CanDI http://www.caucho.com/resin/candi/
        OpenWebBeans
         http://openwebbeans.apache.org/owb/index.html




43
We love your Feedback!
      Don’t forget to submit your Impact session and speaker
       feedback! Your feedback is very important to us, we use it to
       improve our conference for you next year.
      Go to impactsmartsite.com from your mobile device
      From the Impact 2012 Online Conference Guide:
        – Select Agenda
        – Navigate to the session you want to give feedback on
        – Select the session or speaker feedback links
        – Submit your feedback




44
Copyright and Trademarks

       © IBM Corporation 2012. All Rights Reserved.

        IBM, the IBM logo, ibm.com are trademarks or registered
          trademarks of International Business Machines Corp.,
      registered in many jurisdictions worldwide. Other product and
     service names might be trademarks of IBM or other companies.
        A current list of IBM trademarks is available on the Web at
                “Copyright and trademark information” at
                    www.ibm.com/legal/copytrade.shtml.




45
Ad

More Related Content

What's hot (20)

The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
Arun Gupta
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Arun Gupta
 
Continuous delivery on the cloud
Continuous delivery on the cloudContinuous delivery on the cloud
Continuous delivery on the cloud
Anand B Narasimhan
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Ejb (1)
Ejb (1)Ejb (1)
Ejb (1)
Salman Virani
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
sbobde
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
Bert Ertman
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
Arun Gupta
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
Shreedhar Ganapathy
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
Hamed Hatami
 
JBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrixJBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrix
runsignup
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7
Lukáš Fryč
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
Syed Shaaf
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
Arun Gupta
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Arun Gupta
 
Continuous delivery on the cloud
Continuous delivery on the cloudContinuous delivery on the cloud
Continuous delivery on the cloud
Anand B Narasimhan
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
sbobde
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
Bert Ertman
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
Arun Gupta
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
Shreedhar Ganapathy
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
Hamed Hatami
 
JBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrixJBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrix
runsignup
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7
Lukáš Fryč
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
Syed Shaaf
 

Similar to 2012 04-06-v2-tdp-1163-java e-evsspringshootout-final (20)

Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
Understanding the nuts & bolts of Java EE 6
Understanding the nuts & bolts of Java EE 6Understanding the nuts & bolts of Java EE 6
Understanding the nuts & bolts of Java EE 6
Arun Gupta
 
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 IndiaJava EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Arun Gupta
 
Java EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusJava EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexus
Arun Gupta
 
JavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUGJavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUG
Marakana Inc.
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
Stephan Janssen
 
Java EE 6
Java EE 6Java EE 6
Java EE 6
Alexis Moussine-Pouchkine
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Arun Gupta
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
Rohit Kelapure
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
Arun Gupta
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
javatwo2011
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Arun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
Arun Gupta
 
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Arun Gupta
 
Java E
Java EJava E
Java E
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Arun Gupta
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Skills Matter
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
Understanding the nuts & bolts of Java EE 6
Understanding the nuts & bolts of Java EE 6Understanding the nuts & bolts of Java EE 6
Understanding the nuts & bolts of Java EE 6
Arun Gupta
 
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 IndiaJava EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010
Arun Gupta
 
Java EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusJava EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexus
Arun Gupta
 
JavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUGJavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUG
Marakana Inc.
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Arun Gupta
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
Rohit Kelapure
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
Arun Gupta
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
javatwo2011
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Arun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
Arun Gupta
 
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Arun Gupta
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Skills Matter
 
Ad

More from Rohit Kelapure (20)

API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?  API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?
Rohit Kelapure
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microservice
Rohit Kelapure
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?
Rohit Kelapure
 
Travelers 360 degree health assessment of microservices on the pivotal platform
Travelers 360 degree health assessment of microservices on the pivotal platformTravelers 360 degree health assessment of microservices on the pivotal platform
Travelers 360 degree health assessment of microservices on the pivotal platform
Rohit Kelapure
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutes
Rohit Kelapure
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
Rohit Kelapure
 
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Rohit Kelapure
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
Rohit Kelapure
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
Rohit Kelapure
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
Rohit Kelapure
 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application server
Rohit Kelapure
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
Rohit Kelapure
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
Rohit Kelapure
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroduction
Rohit Kelapure
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center Details
Rohit Kelapure
 
Java EE vs Spring Framework
Java  EE vs Spring Framework Java  EE vs Spring Framework
Java EE vs Spring Framework
Rohit Kelapure
 
Debugging java deployments_2
Debugging java deployments_2Debugging java deployments_2
Debugging java deployments_2
Rohit Kelapure
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
Rohit Kelapure
 
SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server
Rohit Kelapure
 
API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?  API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?
Rohit Kelapure
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microservice
Rohit Kelapure
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?
Rohit Kelapure
 
Travelers 360 degree health assessment of microservices on the pivotal platform
Travelers 360 degree health assessment of microservices on the pivotal platformTravelers 360 degree health assessment of microservices on the pivotal platform
Travelers 360 degree health assessment of microservices on the pivotal platform
Rohit Kelapure
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutes
Rohit Kelapure
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
Rohit Kelapure
 
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Rohit Kelapure
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
Rohit Kelapure
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
Rohit Kelapure
 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application server
Rohit Kelapure
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
Rohit Kelapure
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
Rohit Kelapure
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroduction
Rohit Kelapure
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center Details
Rohit Kelapure
 
Java EE vs Spring Framework
Java  EE vs Spring Framework Java  EE vs Spring Framework
Java EE vs Spring Framework
Rohit Kelapure
 
Debugging java deployments_2
Debugging java deployments_2Debugging java deployments_2
Debugging java deployments_2
Rohit Kelapure
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
Rohit Kelapure
 
SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server
Rohit Kelapure
 
Ad

Recently uploaded (20)

AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 

2012 04-06-v2-tdp-1163-java e-evsspringshootout-final

  • 1. Java EE and Spring Framework Shootout Rohit Kelapure WebSphere Application Server Caching Architect Apache OpenWebBeans Committer IBM http://wasdynacache.blogspot.com/ http://www.linkedin.com/in/rohitkelapure http://twitter.com/rkela Recording: http://www.parleys.com/#st=5&id=2819&sl=0 Session ID = TDP-1163 1
  • 2. Please Note IBM's statements regarding its plans, directions, and intent are subject to change or withdrawal at IBM's sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 2
  • 3. Outline  Evolution of Java EE and Spring  Java EE 6 & Spring 3.0, 3.1 highlights  Spring 3.1 feature comparison with Java EE 6  CDI and Spring ecosystem  Spring and Java EE coexistence  Spring to Java EE migration  Conclusion 3
  • 4. J2EE Java EE Specifications * Introduced in spec. 4
  • 5. Evolution of J2EEJava EE6 (Dec 09) • Facelets, built-in-AJAX, Skins,  New specs (JAX-RS, CDI, Bean Annotations, Resource handling Validation) • Simplified Navigation, Easier custom components, View & Page scopes  Prune dead wood • Bookmarkable pages, Project Stage, – EJB 2.x, JAX-RPC, JAXR, JEE App. Expanded event model Deploy, JEE App mgmt. – JPA 2.0  Extensibility • Mapping enhancements, JPAQL, Criteria Query API, Pessimistic – Easy Framework Pluggability (web locking fragments & CDI Extensions)  Profiles reduce platform size  Enhanced ease of development – Web Profile 12 specs – POJO annotation based Servlets, – Asynchronous processing (Servlet 3.0 &  Vendor support EJB 3.1) – WebSphere AS 8 – EJB 3.1 – JBOSS AS 7 • EJB-in-WAR, No-interface view, – Oracle WebLogic 11g Singleton, EJB-lite, Timers – Glassfish 3 – Contextual Dependency Injection (CDI) – RESTful services – Portable JNDI names – JSF2.0 5
  • 6. JSR 299 Contexts and Dependency Injection (CDI)  Adds dependency injection to JEE and interceptor bindings makes it type-safe. – Refines interceptors into decorators for finer grained control – Hollywood principle - Don’t call us, we will call you  Integrates with the Unified EL to bridge – No hard coded dependencies on JSF other specifications – Enables use of EJB 3.0 components  Assists in unifying the Bean model as JSF managed beans  Well defined contexts, the ability to bind  Introduces an SPI to extend JEE – Roll your own JEE7! beans statefully to them & manage their lifecycle. – Not only an API but also a SPI – Rich ecosystem of CDI extensions  Introduces an event notification system  Adds the Web conversation context to decouple producers & consumers  Spring does NOT provide support for  Uses interceptors to foster loose CDI coupling – Extend behavior with type safe 6
  • 7. Spring Framework  Lightweight dependency injection  Aspect oriented  Layered application & container framework  Well defined modules on top of the core container  NOT an all-or-nothing solution 7
  • 8. Evolution of Spring [ 1.0, 2.0, 2.5, 3.0, 3.1] 3.0 3.1 • JSR-330 “at • A new “c” inject” namespace 2.5 • New Spring • Configuration 1.0 2.0 • Annotation- Expression profiles • Dependency driven wiring Language • Problem- • Automatic • First-class REST • Unified injection specific XML bean support property • POJO- • Extensible oriented configuration • Java-based resolution configuration development • New configuration • Java • Bean scoping annotation- • Declarative • Several new configuration • Groovy, JRuby, driven MVC Spring MVC AOP & and BeanShell features transactions framework features • MVC • JSP tag library • JUnit 4-based • Servlet 3.0 • Support for JSR- support framework • Java 5 integration 303 declarative autoboxing testing validation • Declarative and generics • Annotation-based caching background and • Spring MVC scheduled jobs enhancements 8
  • 10. Java EE vs. Spring Framework Features/APIs 10
  • 11. Java EE vs. Spring Business Component 11
  • 12. Spring XML for Business Component Injection 12
  • 13. Spring XML for Business Component Injection 13
  • 14. Spring Java Based Configuration 14
  • 15. Spring Java Based Configuration 15
  • 16. Java EE Interceptor vs. Spring Aspects 16
  • 17. Java EE vs. Spring Injection 17
  • 18. Java EE vs. Spring Injection 18
  • 19. JSF 2 vs. Spring MVC Front Controller  Facelet Component 19
  • 20. JSF 2 vs. Spring MVC Front Controller  Facelet 20
  • 21. JSF 2 vs. Spring MVC Front Controller Entity 21
  • 22. JSF 2 vs. Spring MVC Spring MVC JSP 22
  • 25. Spring MVC web.xml configuration 25
  • 26. Java EE vs. Spring Scheduling 26
  • 27. Java EE vs. Spring Scheduling 27
  • 28. Java EE vs. Spring Messaging 28
  • 31. Java EE Message Producer & JMS Abstraction 31
  • 32. Java EE Message Producer & JMS Abstraction 32
  • 33. Hacking the Java EE Platform - CDI Extensions  Activated by dropping jars on the application classpath  Loaded by the java.util.ServiceLoader SPI  Integrate with container through container lifecycle events by – Register additional beans, interceptors and decorators – Injecting dependencies into its own objects – Introduce custom scope with backing context – Augment or override bean annotation-based metadata with other source  Tools/utilities, extending Java EE, integration with Java EE APIs, integrating with non-standard APIs, making Java EE features available in non-Java EE 33
  • 35. CDI Ecosystem Snapshot Implementations Portable Runtimes Extensions Weld CanDI Tools 35
  • 36. Spring & Java EE Coexistence  Integration with Java EE APIs – Spring beans can be injected into JSF Managed Beans – Spring beans can be referenced in EL with no JSF Backing beans – Spring JmsTemplate can be used on top of raw JMS API for convenience – Spring Listeners similar to EJB MDBs especially JCA rather than JMS listeners – Hibernate validator standardized as Bean Validation (JSR 303) – Spring 3 supports excellent bi-directional integration with EJBs – CDI and Spring Integration through the Spring Bridge to CDI  Native support for Java EE – Java EE5 and Java EE6 annotations supported by Spring – Spring can use JPA / Hibernate natively  Application server integration – DataSources can use application server QoS like pooling, transactions, statement caching, debugging, monitoring and security 36
  • 37. Best Practices integrating Spring WAS  Presentation tier considerations – Web MVC & Portlet  Data access considerations – Using JDBC native connections – Transactions, JPA & JMS  Spring Security Considerations – Bypassing WAS security  Integration & Management considerations – Registering Spring Mbeans in the application server – Classloaders  Design Considerations – Unmanaged threads – Scheduling & Threadpools 37
  • 38. Java EE coexistence with Spring 38
  • 39. Migrating Spring to Java EE 6 1. Upgrade Spring version 2. Replace old frameworks (ORM, Web Framework) within Spring 3. Run Spring and Java EE container side by side 4. Replace Spring entirely 5. Remove Spring container 39
  • 40. Myths of Java EE  EJBs are heavy weight "bloated“  EJBs are hard to test  J2EE and EJB2 sucked! “That  EJBs are not portable was eight years ago! Is this really your best shot?”  EJBs are slow  Application server portability is a  EJBs are not scalable myth!  EJBs are too complex  EJBs are hard to integrate with Web Frameworks and POJOs  EJBs are hard to configure  EJBs are hard to migrate  EJBs are hard to develop  EE application servers are 40
  • 42. References  Evolution of Java EE http://en.wikipedia.org/wiki/Java_EE_version_history  Java EE 6 Tutorial http://download.oracle.com/javaee/6/tutorial/doc/  Spring Docs http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/  Spring Projects http://www.springsource.org/projects  Miscellaneous CDI Extensions https://github.com/softwaremill/softwaremill-common  Migrating Spring to Java EE – https://github.com/paulbakker/migrating-spring-to-javaee – http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/  CDI- Spring Bridge – http://rick-hightower.blogspot.com/2011/04/cdi-and-spring-living-in-harmony.html – http://niklasschlimm.blogspot.com/2011/08/jsr-299-cdi-interceptors-for-spring.html – http://niklasschlimm.blogspot.com/2011/08/jsr-299-cdi-decorators-for-spring-beans.html  Best practices integrating Spring with WebSphere Application Server – http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.htm  What’s new in Spring 3.1 http://static.springsource.org/spring/docs/3.1.x/spring-framework- reference/htmlsingle/spring-framework-reference.html#new-in-3.1 42
  • 43. References continued  SEAM 3 http://seamframework.org/Seam3  CODI http://myfaces.apache.org/extensions/cdi/  Weld http://seamframework.org/Weld  CanDI http://www.caucho.com/resin/candi/  OpenWebBeans http://openwebbeans.apache.org/owb/index.html 43
  • 44. We love your Feedback!  Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us, we use it to improve our conference for you next year.  Go to impactsmartsite.com from your mobile device  From the Impact 2012 Online Conference Guide: – Select Agenda – Navigate to the session you want to give feedback on – Select the session or speaker feedback links – Submit your feedback 44
  • 45. Copyright and Trademarks © IBM Corporation 2012. All Rights Reserved. IBM, the IBM logo, ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml. 45