KEMBAR78
Sun Java EE 6 Overview | PDF
What's New with
  Java EE 6?


John Clingan
GlassFish Group Product Manager
Harpreet Singh
GlassFish Product Marketing Manager
                                      1
Java EE: Past & Present
                                                                         Rightsizing
                                                           Ease of
                                                         Development
                                                                        Java EE 6
                                               Web
                                              Services                   Pruning
                                                         Java EE 5      Extensibility
                             Robustness                                  Profiles
           Enterprise Java                                 Ease of
              Platform
                                            J2EE 1.4     Development     Ease of
                                                                        Development
                                                         Annotations
                             J2EE 1.3          Web                       EJB Lite
            J2EE 1.2                         Services      EJB 3.0
                                                                         RESTful
                                            Management
                                CMP                      Persistence     Services
               Servlet                      Deployment
  JPE                         Connector                   New and       Dependency
 Project        JSP          Architecture     Async.      Updated        Ejection
                                             Connector
                EJB                                      Web Services
                JMS                                                     Web Profile
              RMI/IIOP

                                                                                        2
Java EE Adoption
                                         Y / Y D o w n lo a d G r o w t h
  Over 18M Downloads        12,000,000
      since FY'06
                08/.../08   10,000,000

                             8,000,000

   Active Users             6,000,000
                                                                            Downloads


                            4,000,000

                            2,000,000

                                    0
                                         FY 06    FY 07    FY 08   FY 09




                                                                                        3
Compatible Java EE 5 Implementations




                                       4
Java EE 6 Platform
Goals

• Rightsizing
  > Flexible
  > Lighter weight
• Extensible
  > Embrace Open Source
    Frameworks
• Productive
  > Improve on Java EE 5

                           5
Rightsizing the Platform: Profiles
Platform Flexibility

• Decouple specifications to
  allow more combinations
• Expand potential licensee
  ecosystem
• Profiles
  > Targeted technology bundles
  > Web Profile


                                     6
Rightsizing the Platform
Web Profile

• Fully functional mid-sized
  profile
• Actively discussed
  > Expert Group
  > Industry
• Technologies
  > Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP
    2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA 1.1,
    JSR 45, Common Annotations
                                               7
Rightsizing the Platform
Pruning (Deprecation)

• Some technologies optional
  > Optional in next release
  > Deleted in subsequent release
  > Marked in Javadocs
• Pruning list
  >   JAX-RPC
  >   EJB 2.x Entity Beans
  >   JAXR
  >   JSR-85 (Rules based Auth & Audit)
                                          8
Rightsizing the Platform
Extensibility

• Embrace open source
  libraries and frameworks
• Zero-configuration, drag-n-
  drop web frameworks
  > Servlets, servlet filters
  > Framework context listeners
    are discovered & registered
• Plugin library jars using Web
  Fragments
                                  9
Ease of Development
Extensibility

•   Continue Java EE 5 advancements
•   Primary focus: Web Tier
•   Multiple areas easier to use: EJB 3.1
•   General Principles
    > Annotation-based programming model
    > Reduce or eliminate need for
      deployment descriptors
    > Traditional API for advanced users


                                            10
Ease of Development
Adding an EJB to a Web Application

                 ShoppingCart
  BuyBooks.war    EJB Class          BuyBooks.war



                 ShoppingCart.jar
                                     ShoppingCart
                                      EJB Class

  BuyBooks.ear

                                                    11
Ease of Development - Annotations
Servlet in Java EE 5: Create two source files
/* Code in Java Class */         <!--Deployment descriptor web.xml
                                    -->
package com.foo;                 <web-app>
public class MyServlet extends
HttpServlet {                       <servlet>
public void                             <servlet-name>MyServlet
doGet(HttpServletRequest                </servlet-name>
req,HttpServletResponse res)           <servlet-class>
                                         com.foo.MyServlet
{                                      </servlet-class>
                                    </servlet>
...                                 <servlet-mapping>
                                       <servlet-name>MyServlet
}                                      </servlet-name>
                                       <url-pattern>/myApp/*
                                       </url-pattern>
                                    </servlet-mapping>
...                                 ...
                                 </web-app>
}

                                                                     12
Ease of Development - Annotations
Java EE 6 Servlet: Single Source file (many cases)

package com.foo;
@WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”)
public class MyServlet {
   public void doGet(HttpServletRequest req,
                   HttpServletResponse res)
   {
      ...
   }




                                                       13
Demo
Java EE 6

            14
Java Enterprise Edition 6
Status

• Most public reviews complete
• JSR 330 Recently added
  > Revised schedule
  > Final release in Q4 2009
• GlassFish v3 Preview
  > Reference Implementation



                                 15
Java Enterprise Edition 6
Servlet 3.0

• Annotations for ease of
  development
• Optional web.xml
• Better defaults
• Web Framework pluggability
• Asynchronous Processing


                               16
Java Enterprise Edition 6
Servlet 3.0 Asynchronous API

• Useful for Comet, long waits
• Must declare
  @WebServlet(asyncSupported=true)
• Then Call
  AsyncContext ctx = ServletRequest.startAsync(req, res)

• AsyncContext can then either:
  dispatch(String path)
  start(Runnable action)
• Then paired with complete()
                                                           17
Java Enterprise Edition 6
EJB 3.1

• Ease-of-use improvements
• No-interface view
  > Once source file per bean
• EJB inside web applications
  > No ejb-jar
  > Use WEB-INF/classes
  > Shared component environment
• Portable JNDI
                                   18
Java Enterprise Edition 6
EJB 3.1

• Singleton beans: @Singleton
  > Shared state
  > One instance per bean per JVM
  > Container/Bean managed security
    @ConcurrencyManagement
• Lightweight asynchronicity
  > Async business methods
    @Asynchronous
  > Methods must return
    void or Future <T>
                                      19
Java Enterprise Edition 6
EJB 3.1

• Enhanced EJB Timer Service
  > Cron-like scheduling
  > Initialization-time timer creation
    @Schedule(dayOfWeek=”Mon/Wed”)
• Embeddable EJB Container
  > Use in JavaSE environments
  > Bootstrapping API
    EJBContainer


                                         20
Java Enterprise Edition 6
 Enterprise Java Beans 3.1 Features

                                    EJB 3.1 Lite   EJB 3.1
  Local Session Beans                   P            P
  Declarative Security                  P            P
  Transactions (CMT/BMT)                P            P
  Interceptors                          P            P
  Security                              P            P
  Message Driven Beans                               P
  RMI/IIOP Interop. & Remote View                    P
  EJB 2.x Backwards Compatability                    P
  Timer Service                                      P
  Asynchronous                                       P
                                                             21
Java Enterprise Edition 6
Additional Features

• Java Persistence Architecture 2.0
  > Improve object/relational mapping
• Java Contexts & Dependency
  Injection (AKA - “Web Beans”)
• Java Server Faces 2.0
  > AJAX
  > Simplified component creation
• JAX-RS 1.1 – RESTful services

                                        22
GlassFish v3


               23
GlassFish v3
Top Features

•   Java EE 6 support
•   Developer Productivity
•   Modular
•   Extensible
•   Embeddable
•   Observable

                             24
GlassFish v3
 Java EE 6 Support

• Java EE 6 Reference
  Implementation
• Downloadable bundles*
   > Web Profile
   > Java EE 6
* https://glassfish.dev.java.net/public/downloadsindex.html



                                                              25
GlassFish v3 Features
Developer Productivity
• Getting Started
  > Small download
  > Fast startup time
  > Intuitive user interface
• Using GlassFish
  > Low resource utilization
  > Command Line Interface
  > Maven support
  > Included in Netbeans and GlassFish Tools
    Bundle for Eclipse
  > Rapid iterative development
                                               26
GlassFish v3 Features
Wait, there's more ...

•   Modularity/OSGi
•   Extensible
•   RESTful administration API
•   Fine-grained monitoring




                                 27
GlassFish v3 Screen Snapshots
  Flexible Administration




                                28
GlassFish Enterprise Server v3
Alternative Languages

• Can deploy as web application
• New to GlassFish v3
  > Jruby/Jython modules
  > No web container
  > Dynamic pooling of JRuby
    containers


                                  29
Demo
Update Center

                30
GlassFish Enterprise Server v3
Roadmap

• GlassFish Enterprise Server
  v2.1 – Feb 2009
• GlassFish Enterprise Server v3
  Prelude – Oct 2009
• GlassFish v3 – Nov 24, 2009*

* http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3Schedule

                                                                     31
Summary
   Java EE 6               GlassFish v3

 • Right-Sizing      •   Java EE 6
 • Extensible        •   Modular
 • Ease of           •   Extensible
   use/development   •   Developer
                         productivity



                                          32
Sun GlassFish Enterprise Server
 Enterprise Subscriptions

• 24x7x365 Support, Patches
• Enterprise Manager
• Supported releases
  > GlassFish Enterprise Server v2.x
  > GlassFish Enterprise Server v3
    Prelude
• Contact glassfish@sun.com to learn
  more
                                       33
Sun Software Subscriptions -
Paying at the point of value
    Open Source           Supported Software
 Source Code               Subscription Agreements
 • Binary Product          • Global Phone and Web Support
 • Simple Training         • Issue Escalation Process
                           • Subscription-only Product
 • Security Help             Features
 • Developer/Tools/Tips    • Traditional Contractual
                             Coverages
                           • Services & Training
GlassFish Enterprise Server
Sun software - a simple approach to support

 You may use phone or web to contact our experts 24 hours a day,
 worldwide. Get the experience and issue resolution necessary help to keep
 your business running!
  Ability to escalate bugs to an out of cycle patch or engineering attention;
        you have visibility into the issue resolution process.
  Access to Sun Knowledge Base.
  Technical support assistance backed by the engineers who wrote &/or
        solidified the code.
  Proactive Sun Alerts and Notifications.
  Low risk, tested fixes and features for mission critical deployments
  Access to aggregated content like bugs fixed, docs, latest news,
        promotions and tech tips



                                                                                35
GlassFish Enterprise Server
Why Else should I subscribe?

 Subscription-Exclusive Features:
 GlassFish Enterprise Manager -
 •    SNMP Monitoring
 •    Application Server Tuning
 •    Alerts (CPU Usage Trends, Memory Alerts, etc.)
 GlassFish Update Center -
 •    Delivers GlassFish add-on components, updates & provides mechanism to
      enable community contributions.
 •    Use Update Center to get latest and greatest technology binaries.
 •    Provides the service, access and installation of updates patches available.
 Contractual Coverage: Optional indemnification & Limitation of Liability

                                                                                    36
Who's Using GlassFish In Production?

  Questions?
  GlassFish@Sun.COM
Q&A

      38

Sun Java EE 6 Overview

  • 1.
    What's New with Java EE 6? John Clingan GlassFish Group Product Manager Harpreet Singh GlassFish Product Marketing Manager 1
  • 2.
    Java EE: Past& Present Rightsizing Ease of Development Java EE 6 Web Services Pruning Java EE 5 Extensibility Robustness Profiles Enterprise Java Ease of Platform J2EE 1.4 Development Ease of Development Annotations J2EE 1.3 Web EJB Lite J2EE 1.2 Services EJB 3.0 RESTful Management CMP Persistence Services Servlet Deployment JPE Connector New and Dependency Project JSP Architecture Async. Updated Ejection Connector EJB Web Services JMS Web Profile RMI/IIOP 2
  • 3.
    Java EE Adoption Y / Y D o w n lo a d G r o w t h Over 18M Downloads 12,000,000 since FY'06 08/.../08 10,000,000 8,000,000 Active Users 6,000,000 Downloads 4,000,000 2,000,000 0 FY 06 FY 07 FY 08 FY 09 3
  • 4.
    Compatible Java EE5 Implementations 4
  • 5.
    Java EE 6Platform Goals • Rightsizing > Flexible > Lighter weight • Extensible > Embrace Open Source Frameworks • Productive > Improve on Java EE 5 5
  • 6.
    Rightsizing the Platform:Profiles Platform Flexibility • Decouple specifications to allow more combinations • Expand potential licensee ecosystem • Profiles > Targeted technology bundles > Web Profile 6
  • 7.
    Rightsizing the Platform WebProfile • Fully functional mid-sized profile • Actively discussed > Expert Group > Industry • Technologies > Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP 2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA 1.1, JSR 45, Common Annotations 7
  • 8.
    Rightsizing the Platform Pruning(Deprecation) • Some technologies optional > Optional in next release > Deleted in subsequent release > Marked in Javadocs • Pruning list > JAX-RPC > EJB 2.x Entity Beans > JAXR > JSR-85 (Rules based Auth & Audit) 8
  • 9.
    Rightsizing the Platform Extensibility •Embrace open source libraries and frameworks • Zero-configuration, drag-n- drop web frameworks > Servlets, servlet filters > Framework context listeners are discovered & registered • Plugin library jars using Web Fragments 9
  • 10.
    Ease of Development Extensibility • Continue Java EE 5 advancements • Primary focus: Web Tier • Multiple areas easier to use: EJB 3.1 • General Principles > Annotation-based programming model > Reduce or eliminate need for deployment descriptors > Traditional API for advanced users 10
  • 11.
    Ease of Development Addingan EJB to a Web Application ShoppingCart BuyBooks.war EJB Class BuyBooks.war ShoppingCart.jar ShoppingCart EJB Class BuyBooks.ear 11
  • 12.
    Ease of Development- Annotations Servlet in Java EE 5: Create two source files /* Code in Java Class */ <!--Deployment descriptor web.xml --> package com.foo; <web-app> public class MyServlet extends HttpServlet { <servlet> public void <servlet-name>MyServlet doGet(HttpServletRequest </servlet-name> req,HttpServletResponse res) <servlet-class> com.foo.MyServlet { </servlet-class> </servlet> ... <servlet-mapping> <servlet-name>MyServlet } </servlet-name> <url-pattern>/myApp/* </url-pattern> </servlet-mapping> ... ... </web-app> } 12
  • 13.
    Ease of Development- Annotations Java EE 6 Servlet: Single Source file (many cases) package com.foo; @WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”) public class MyServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { ... } 13
  • 14.
  • 15.
    Java Enterprise Edition6 Status • Most public reviews complete • JSR 330 Recently added > Revised schedule > Final release in Q4 2009 • GlassFish v3 Preview > Reference Implementation 15
  • 16.
    Java Enterprise Edition6 Servlet 3.0 • Annotations for ease of development • Optional web.xml • Better defaults • Web Framework pluggability • Asynchronous Processing 16
  • 17.
    Java Enterprise Edition6 Servlet 3.0 Asynchronous API • Useful for Comet, long waits • Must declare @WebServlet(asyncSupported=true) • Then Call AsyncContext ctx = ServletRequest.startAsync(req, res) • AsyncContext can then either: dispatch(String path) start(Runnable action) • Then paired with complete() 17
  • 18.
    Java Enterprise Edition6 EJB 3.1 • Ease-of-use improvements • No-interface view > Once source file per bean • EJB inside web applications > No ejb-jar > Use WEB-INF/classes > Shared component environment • Portable JNDI 18
  • 19.
    Java Enterprise Edition6 EJB 3.1 • Singleton beans: @Singleton > Shared state > One instance per bean per JVM > Container/Bean managed security @ConcurrencyManagement • Lightweight asynchronicity > Async business methods @Asynchronous > Methods must return void or Future <T> 19
  • 20.
    Java Enterprise Edition6 EJB 3.1 • Enhanced EJB Timer Service > Cron-like scheduling > Initialization-time timer creation @Schedule(dayOfWeek=”Mon/Wed”) • Embeddable EJB Container > Use in JavaSE environments > Bootstrapping API EJBContainer 20
  • 21.
    Java Enterprise Edition6 Enterprise Java Beans 3.1 Features EJB 3.1 Lite EJB 3.1 Local Session Beans P P Declarative Security P P Transactions (CMT/BMT) P P Interceptors P P Security P P Message Driven Beans P RMI/IIOP Interop. & Remote View P EJB 2.x Backwards Compatability P Timer Service P Asynchronous P 21
  • 22.
    Java Enterprise Edition6 Additional Features • Java Persistence Architecture 2.0 > Improve object/relational mapping • Java Contexts & Dependency Injection (AKA - “Web Beans”) • Java Server Faces 2.0 > AJAX > Simplified component creation • JAX-RS 1.1 – RESTful services 22
  • 23.
  • 24.
    GlassFish v3 Top Features • Java EE 6 support • Developer Productivity • Modular • Extensible • Embeddable • Observable 24
  • 25.
    GlassFish v3 JavaEE 6 Support • Java EE 6 Reference Implementation • Downloadable bundles* > Web Profile > Java EE 6 * https://glassfish.dev.java.net/public/downloadsindex.html 25
  • 26.
    GlassFish v3 Features DeveloperProductivity • Getting Started > Small download > Fast startup time > Intuitive user interface • Using GlassFish > Low resource utilization > Command Line Interface > Maven support > Included in Netbeans and GlassFish Tools Bundle for Eclipse > Rapid iterative development 26
  • 27.
    GlassFish v3 Features Wait,there's more ... • Modularity/OSGi • Extensible • RESTful administration API • Fine-grained monitoring 27
  • 28.
    GlassFish v3 ScreenSnapshots Flexible Administration 28
  • 29.
    GlassFish Enterprise Serverv3 Alternative Languages • Can deploy as web application • New to GlassFish v3 > Jruby/Jython modules > No web container > Dynamic pooling of JRuby containers 29
  • 30.
  • 31.
    GlassFish Enterprise Serverv3 Roadmap • GlassFish Enterprise Server v2.1 – Feb 2009 • GlassFish Enterprise Server v3 Prelude – Oct 2009 • GlassFish v3 – Nov 24, 2009* * http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3Schedule 31
  • 32.
    Summary Java EE 6 GlassFish v3 • Right-Sizing • Java EE 6 • Extensible • Modular • Ease of • Extensible use/development • Developer productivity 32
  • 33.
    Sun GlassFish EnterpriseServer Enterprise Subscriptions • 24x7x365 Support, Patches • Enterprise Manager • Supported releases > GlassFish Enterprise Server v2.x > GlassFish Enterprise Server v3 Prelude • Contact glassfish@sun.com to learn more 33
  • 34.
    Sun Software Subscriptions- Paying at the point of value Open Source Supported Software Source Code Subscription Agreements • Binary Product • Global Phone and Web Support • Simple Training • Issue Escalation Process • Subscription-only Product • Security Help Features • Developer/Tools/Tips • Traditional Contractual Coverages • Services & Training
  • 35.
    GlassFish Enterprise Server Sunsoftware - a simple approach to support You may use phone or web to contact our experts 24 hours a day, worldwide. Get the experience and issue resolution necessary help to keep your business running! Ability to escalate bugs to an out of cycle patch or engineering attention; you have visibility into the issue resolution process. Access to Sun Knowledge Base. Technical support assistance backed by the engineers who wrote &/or solidified the code. Proactive Sun Alerts and Notifications. Low risk, tested fixes and features for mission critical deployments Access to aggregated content like bugs fixed, docs, latest news, promotions and tech tips 35
  • 36.
    GlassFish Enterprise Server WhyElse should I subscribe? Subscription-Exclusive Features: GlassFish Enterprise Manager - • SNMP Monitoring • Application Server Tuning • Alerts (CPU Usage Trends, Memory Alerts, etc.) GlassFish Update Center - • Delivers GlassFish add-on components, updates & provides mechanism to enable community contributions. • Use Update Center to get latest and greatest technology binaries. • Provides the service, access and installation of updates patches available. Contractual Coverage: Optional indemnification & Limitation of Liability 36
  • 37.
    Who's Using GlassFishIn Production? Questions? GlassFish@Sun.COM
  • 38.
    Q&A 38