SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Java EE 6 Platform
Overview and Highlights

Roberto Chinnici
JSR-316 Specification Lead
Sun Microsystems, Inc.

                             1
Contents
    Goals
•
    Features
•
    Component JSRs
•
    Highlights
•
    Schedule
•




                     Sun Confidential: Internal Only   2
Goals for the Java EE 6 Platform
    Easier to use
•
    More flexible
•
    Easier to learn
•
    Easier to evolve going forward
•




                        Sun Confidential: Internal Only   3
Profiles

Platform Evolution                                                                      Java EE 6
                                                                                        EJB Lite
                                                                        Ease of
                                                                                        Restful WS
                                                                      Development       Web Beans
                                                                      Java EE 5         Validation
                                                        Web                             Extensibility
                                                                      Ease of
                                                      Services
                                                                      Development
                                                    J2EE 1.4          Annotations
                                                                      EJB 3.0
                                                  Web Services,
                           Robustness
                                                                      Persistence API
                                                  Management,
                           J2EE 1.3                                   New and
                                                  Deployment,
          Enterprise
                                                                      Updated
                              CMP,                Async.
          Java Platform
                                                                      Web Services
                                                  Connector
                            Connector
                                                                                        Java EE 6
            J2EE 1.2       Architecture
                                                                                        Web Profile
           Servlet, JSP,
            EJB, JMS
 JPE
            RMI/IIOP
Project


                                    Sun Confidential: Internal Only                                     4
Major New Features in Java EE 6
    Profiles
•
    Pruning
•
    Extensibility
•
    More ease of development
•




                      Sun Confidential: Internal Only   5
Profiles
    A profile is a targeted bundle of technologies
•
    Rules set by the Java EE Platform spec
•
    Profiles can be subsets, supersets, overlapping
•
    Define immediately a Web Profile
•
    JCP process for future profiles
•




                        Sun Confidential: Internal Only   6
Pruning
• Make some technologies optional
• Same rules as proposed by Java SE
  > “pruned now, optional in the next release”
• Pruned status will be marked out in the javadocs
• Current pruning list:
  > JAX-RPC, EJB Entity Beans, JAXR, JSR-88




                         Sun Confidential: Internal Only   7
Extensibility
• Embrace open source libraries, frameworks
• Full pluggability in the web container
• No configuration needed for web frameworks
  > Discover servlet, servlet filters, listeners for a framework
  > Dynamically add servlets, filters to an application
• Used to support scripting languages




                          Sun Confidential: Internal Only          8
Proposed Components (1)
Full JSRs
    EJB 3.1 (JSR 318) PFD
•
                       PFD
•   JPA 2.0 (JSR 317)
                           PR DONE
    Servlet 3.0 (JSR 315)
•
    JSF 2.0 (JSR 314) PFD SOON
•
    JAX-RS 1.0 (JSR 311) COMPLETED
•
    Connector Architecture 1.6 (JSR 322) PFD
•
                                   PR DONE
    Bean Validation 1.0 (JSR 303)
•
    JCDI 1.0 (née Web Beans) (JSR 299) PR DONE
•
                       Sun Confidential: Internal Only   9
Proposed Components (2)
Maintenance Releases
    JAXB 2.2 COMPLETED
•
                 SOON
•   JAX-WS 2.2
                 SOON
    JSR-109 1.3
•
    JAX-RS 1.1 COMPLETED
•
    EL 1.2
•
    JSP 1.2
•
    Authentication SPI 1.1 (JSR-196) COMPLETED
•
    Common Annotations 1.1 (JSR-250)
•
                        Sun Confidential: Internal Only   10
Web Profile
• A fully functional mid-sized profile for web apps
• Accepted:
  > Servlet 3.0, JSP 2.1, JSR-45, EL 1.2, JSTL 1.2, JSF 2.0
  > EJB Lite 3.1, JTA 1.1, JPA 2.0, JSR-250
  > Bean Validation 1.0
• Not decided yet:
  > Web Beans 1.0
• Out for now:
  > JAX-RS 1.1

                        Sun Confidential: Internal Only       11
Servlet 3.0 Highlights (1)
• Annotations to define web components
  > @WebServlet @WebFilter @WebListener
• Greatly reduced editing of web.xml
• File upload
• Customizable session cookie configuration
  > ServletContext.getSessionCookieConfig method
• Selectable session tracking modes
  > ServletContext.setSessionTrackingMode
  > ServletContext.getEffectiveSessionTrackingModes

                       Sun Confidential: Internal Only   12
Servlet 3.0 Highlights (2)
• Modular web.xml using fragments
  > WEB-INF/lib/mylib.jar → META-INF/web-fragment.xml
• New initializers for extensions
  > ServletContainerInitializer interface
• Programmatic API for dynamic registration of servlets
  and filters
  > ServletContext.addServlet/addFilter methods
• Ability to tweak servlet/filter configuration at startup
  > ServletRegistration interface


                          Sun Confidential: Internal Only    13
Servlet 3.0 Async Processing
• Use cases: Comet, chat rooms, long waits
• Opt-in system for servlets, filters
  > @WebServlet(asyncSupported=true)
  > @WebFilter(asyncSupported=true)
• Enter async mode explicitly:
  > AsyncContext ctx = ServletRequest.startAsync(...)
• Then:
  > ctx.dispatch(...) // to somebody else
  > ctx.start(Runnable) // to an async action
  > ctx.complete() // done processing
                         Sun Confidential: Internal Only   14
EJB 3.1 Highlights
• Singleton beans
  > @Singleton
• No-interface view
• Calendar timers
  > @Schedule(dayOfWeek=“Fri”, hour=”12”)
• Non-persistent timers
  > @Schedule(minute=”*/10”, hour=”*”, persistent=false)
• Async business methods
  > @Asynchronous public Future<Result> compute(...)

                        Sun Confidential: Internal Only    15
EJB 3.1 Lite
• Simple, modern subset of EJB for use outside of the
  full platform
• Contents:
      Session beans (stateful, stateless, singletons)
  >
      Transaction and security attributes
  >
      Interceptors
  >
      ejb-jar.xml
  >
• Embeddable container API
• Bootstraps on Java SE
• Beans looked up in JNDI by global name
                           Sun Confidential: Internal Only   16
EJB Components in a Web Module
• EJB components can be defined directly inside a web
  module (war file)
• Things to keep in mind:
    java:comp is shared by all components
  >
    A single class loader is used
  >
    Local view scoped to the web module
  >
    Descriptor WEB-INF/ejb-jar.xml
  >
    or META-INF/ejb-jar.xml in a jar inside WEB-INF/lib
  > No entity beans


                         Sun Confidential: Internal Only   17
Multiple JNDI scopes
• Familiar with java:comp
• Now adding:
  > java:module      module-scoped, like inside a war file
  > java:application application-scoped
  > java:global      scoped to multiple applications
• Usable throughout
  > @Resource(name=”java:module/env/db”) DataSource db;
• EJBs are automatically registered
  > java:global/myApp/myModule/MyBean!com.acme.MyInterface
  > java:module/MyBean // shorthand

                         Sun Confidential: Internal Only     18
JPA 2.0 Highlights
• Metamodel API
  > OO view on entities, managed types, etc.
  > EntityManagerFactory.getMetaModel
• Typesafe metamodel
      Generated by tools and stored in a persistence unit
  >
      Typesafe view of attributes, including collections
  >
      @Entity public class Order { … }
  >
      @TypesafeMetamodel public class Order_ { … }
  >
• Criteria API to build queries in Java
  > Alternative to JPAQL
                           Sun Confidential: Internal Only   19
JPA 2.0 Criteria Query Example
     SELECT o.quantity, a.zipcode
     FROM Customer c JOIN c.orders o JOIN c.address a
     WHERE a.state = 'CA’
     ORDER BY o.quantity, a.zipcode
@PersistenceUnit EntityManagerFactory emf;
QueryBuilder qb = emf.getQueryBuilder()
CriteriaQuery q = qb.create();
Root<Customer> c = q.from(Customer.class);
Join<Customer, Order> o = c.join(Customer_.orders);
Join<Customer, Address> a = c.join(Customer_.address);
q.where(qb.equal(a.get(Address_.state), quot;CAquot;));
q.orderBy(qb.asc(o.get(Order_.quantity)),
     qb.asc(a.get(Address_.zipcode)));
q.select(o.get(Order_.quantity), a.get(Address_.zipcode));
                               Sun Confidential: Internal Only   20
Bean Validation (JSR-303)
• Now included in Java EE 6
• Integrated with JSF 2.0 and JPA 2.0
• Examples:
  > @NotNull @Size(max=40) private String streetName;
  > @NotNull @Valid private Country country;
• TraversableResolver for object graph validation
• Validation API *
  > Set<ConstraintViolation> Validator.validate(Object)
• Validator and ValidatorFactory will be injectable
                         Sun Confidential: Internal Only   21
JCDI (formerly known as Web Beans)
• Type-based dependency injection
  > @LoggedIn User user;
  > @Produces @LoggedIn User getLoggedInUser() { … }
• Context management
  > @RequestScoped, @SessionScoped, @ConversationScoped, ...
• Reflective API
  > Manager, Context, InjectionPoint
• Heavy use of meta-annotations
  > @BindingType public @interface LoggedIn {}


                         Sun Confidential: Internal Only       22
JCDI Basics
• Resolution is by bean type and binding type(s)
    > bean type + set(binding types) → bean
  Not string based!
•
  @LoggedIn User = (User, @LoggedIn) → bean
•
  Bean ≠ Class
•
  Beans are enabled/disabled in batches via
•
  deployment types
• Put as much info as possible on bean class
    > @ConversationScoped @Current
      public class ShoppingCart {}
                          Sun Confidential: Internal Only   23
JCDI Example
@ConversationScoped @Current
public class ShoppingCart { … }

@PayByCreditCard
public class CreditCardPaymentProcessor implements PaymentProcessor
{…}

public class Checkout {
  private @Current ShoppingCart cart;
  private @PayByCreditCard PaymentProcessor payByCard;

    public void checkout() { … }
}

                                   Sun Confidential: Internal Only    24
Transparency
• JAX-RS 1.0 was done completely in the open
      Public expert group mailing list and meeting minutes
  >
      Public issue tracker
  >
      Public spec drops
  >
      Open source reference implementation
  >
• JSF 2.0 opened up its mailing list recently
• All other Java EE JSRs to follow shortly
• Commitment to transparency going forward
  > All Java EE 7 JSRs will be done in the open from the
      very beginning
                          Sun Confidential: Internal Only    25
Schedule
    Public review of all specs completed
•
    Proposed final drafts in progress
•
    Final release September 2009
•
    Implementation: GlassFish V3
•




                        Sun Confidential: Internal Only   26
Q&A

Sun Confidential: Internal Only   27
Java EE 6 Platform
Overview and Highlights
Roberto Chinnici
roberto.chinnici@sun.com


                           28

Weitere ähnliche Inhalte

Was ist angesagt?

OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishSanjeeb Sahoo
 
GlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox FelixGlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox FelixLudovic Champenois
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishArun Gupta
 
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Arun Gupta
 
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...telestax
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutesSerge Huber
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Frameworkelliando dias
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7Arun Gupta
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest featuresNexSoftsys
 
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Robert Scholte
 
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 PowerArun Gupta
 
Managing an OSGi Framework with Apache Felix Web Console
Managing an OSGi Framework with  Apache Felix Web ConsoleManaging an OSGi Framework with  Apache Felix Web Console
Managing an OSGi Framework with Apache Felix Web ConsoleFelix Meschberger
 

Was ist angesagt? (20)

OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
 
GlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox FelixGlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox Felix
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
 
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
 
Jetty Vs Tomcat
Jetty Vs TomcatJetty Vs Tomcat
Jetty Vs Tomcat
 
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
 
Grizzly 20080925 V2
Grizzly 20080925 V2Grizzly 20080925 V2
Grizzly 20080925 V2
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Framework
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest features
 
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
 
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
 
Managing an OSGi Framework with Apache Felix Web Console
Managing an OSGi Framework with  Apache Felix Web ConsoleManaging an OSGi Framework with  Apache Felix Web Console
Managing an OSGi Framework with Apache Felix Web Console
 

Andere mochten auch

Java and SOA for beginners
Java and SOA for beginnersJava and SOA for beginners
Java and SOA for beginnersEdureka!
 
Java training in Bhubaneswar
Java training in BhubaneswarJava training in Bhubaneswar
Java training in Bhubaneswarjavalit
 
Java Training Camp Level 1 Intro
Java Training Camp Level 1 IntroJava Training Camp Level 1 Intro
Java Training Camp Level 1 IntroDikran Seropian
 
5 Ways to grab an Uber cool Marketing Job in Social Media
5 Ways to grab an Uber cool Marketing Job in Social Media5 Ways to grab an Uber cool Marketing Job in Social Media
5 Ways to grab an Uber cool Marketing Job in Social MediaEdureka!
 
JAVA Training Syllabus Course
JAVA Training Syllabus CourseJAVA Training Syllabus Course
JAVA Training Syllabus CourseTOPS Technologies
 
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | Edureka
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | EdurekaHadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | Edureka
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | EdurekaEdureka!
 
Basic introduction to SOA
Basic introduction to SOABasic introduction to SOA
Basic introduction to SOAJoaquin Rincon
 
Control Transactions using PowerCenter
Control Transactions using PowerCenterControl Transactions using PowerCenter
Control Transactions using PowerCenterEdureka!
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Edureka!
 
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...Edureka!
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureRobert Sim
 

Andere mochten auch (11)

Java and SOA for beginners
Java and SOA for beginnersJava and SOA for beginners
Java and SOA for beginners
 
Java training in Bhubaneswar
Java training in BhubaneswarJava training in Bhubaneswar
Java training in Bhubaneswar
 
Java Training Camp Level 1 Intro
Java Training Camp Level 1 IntroJava Training Camp Level 1 Intro
Java Training Camp Level 1 Intro
 
5 Ways to grab an Uber cool Marketing Job in Social Media
5 Ways to grab an Uber cool Marketing Job in Social Media5 Ways to grab an Uber cool Marketing Job in Social Media
5 Ways to grab an Uber cool Marketing Job in Social Media
 
JAVA Training Syllabus Course
JAVA Training Syllabus CourseJAVA Training Syllabus Course
JAVA Training Syllabus Course
 
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | Edureka
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | EdurekaHadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | Edureka
Hadoop Tutorial | What is Hadoop | Hadoop Project on Reddit | Edureka
 
Basic introduction to SOA
Basic introduction to SOABasic introduction to SOA
Basic introduction to SOA
 
Control Transactions using PowerCenter
Control Transactions using PowerCenterControl Transactions using PowerCenter
Control Transactions using PowerCenter
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
 
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...
What Is Salesforce CRM? | Salesforce CRM Tutorial For Beginners | Salesforce ...
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 

Ähnlich wie Java EE 6

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 6Arun Gupta
 
Java EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusJava EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusArun 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 2010Arun 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 SFJUGMarakana Inc.
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Arun 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 WorkshopArun Gupta
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
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
 
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 2010Arun 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 IndiaArun Gupta
 
New Features of Java7 SE
New Features of Java7 SENew Features of Java7 SE
New Features of Java7 SEdogangoko
 
Java EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureJava EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureIndicThreads
 
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, 2010Arun Gupta
 
GlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseGlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseLudovic Champenois
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewEugene Bogaart
 
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 2011Arun Gupta
 

Ähnlich wie Java EE 6 (20)

Java EE6 Overview
Java EE6 OverviewJava EE6 Overview
Java EE6 Overview
 
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
 
Java EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusJava EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexus
 
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
 
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
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
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
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
Java E
Java EJava E
Java E
 
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
 
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
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
New Features of Java7 SE
New Features of Java7 SENew Features of Java7 SE
New Features of Java7 SE
 
Java EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureJava EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The Future
 
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
 
GlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseGlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for Eclipse
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
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
 

Mehr von Alexis Moussine-Pouchkine

GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsAlexis Moussine-Pouchkine
 

Mehr von Alexis Moussine-Pouchkine (20)

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Javaee glassfish jcertif2010
Javaee glassfish jcertif2010Javaee glassfish jcertif2010
Javaee glassfish jcertif2010
 
GlassFish Community - FISL 2010
GlassFish Community - FISL 2010GlassFish Community - FISL 2010
GlassFish Community - FISL 2010
 
GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applications
 
Feuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFishFeuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFish
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
L'association GUSES
L'association GUSESL'association GUSES
L'association GUSES
 
Open Solaris 2009.06
Open Solaris 2009.06Open Solaris 2009.06
Open Solaris 2009.06
 
Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Zembly
ZemblyZembly
Zembly
 
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
 
Retour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFishRetour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFish
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
Open MQ Jerome Moliere
Open MQ Jerome MoliereOpen MQ Jerome Moliere
Open MQ Jerome Moliere
 
OpenMQ François Ostyn
OpenMQ François OstynOpenMQ François Ostyn
OpenMQ François Ostyn
 
OpenSSO Microsoft Interop
OpenSSO Microsoft InteropOpenSSO Microsoft Interop
OpenSSO Microsoft Interop
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA Solutions
 

Kürzlich hochgeladen

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 

Kürzlich hochgeladen (20)

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 

Java EE 6

  • 1. Java EE 6 Platform Overview and Highlights Roberto Chinnici JSR-316 Specification Lead Sun Microsystems, Inc. 1
  • 2. Contents Goals • Features • Component JSRs • Highlights • Schedule • Sun Confidential: Internal Only 2
  • 3. Goals for the Java EE 6 Platform Easier to use • More flexible • Easier to learn • Easier to evolve going forward • Sun Confidential: Internal Only 3
  • 4. Profiles Platform Evolution Java EE 6 EJB Lite Ease of Restful WS Development Web Beans Java EE 5 Validation Web Extensibility Ease of Services Development J2EE 1.4 Annotations EJB 3.0 Web Services, Robustness Persistence API Management, J2EE 1.3 New and Deployment, Enterprise Updated CMP, Async. Java Platform Web Services Connector Connector Java EE 6 J2EE 1.2 Architecture Web Profile Servlet, JSP, EJB, JMS JPE RMI/IIOP Project Sun Confidential: Internal Only 4
  • 5. Major New Features in Java EE 6 Profiles • Pruning • Extensibility • More ease of development • Sun Confidential: Internal Only 5
  • 6. Profiles A profile is a targeted bundle of technologies • Rules set by the Java EE Platform spec • Profiles can be subsets, supersets, overlapping • Define immediately a Web Profile • JCP process for future profiles • Sun Confidential: Internal Only 6
  • 7. Pruning • Make some technologies optional • Same rules as proposed by Java SE > “pruned now, optional in the next release” • Pruned status will be marked out in the javadocs • Current pruning list: > JAX-RPC, EJB Entity Beans, JAXR, JSR-88 Sun Confidential: Internal Only 7
  • 8. Extensibility • Embrace open source libraries, frameworks • Full pluggability in the web container • No configuration needed for web frameworks > Discover servlet, servlet filters, listeners for a framework > Dynamically add servlets, filters to an application • Used to support scripting languages Sun Confidential: Internal Only 8
  • 9. Proposed Components (1) Full JSRs EJB 3.1 (JSR 318) PFD • PFD • JPA 2.0 (JSR 317) PR DONE Servlet 3.0 (JSR 315) • JSF 2.0 (JSR 314) PFD SOON • JAX-RS 1.0 (JSR 311) COMPLETED • Connector Architecture 1.6 (JSR 322) PFD • PR DONE Bean Validation 1.0 (JSR 303) • JCDI 1.0 (née Web Beans) (JSR 299) PR DONE • Sun Confidential: Internal Only 9
  • 10. Proposed Components (2) Maintenance Releases JAXB 2.2 COMPLETED • SOON • JAX-WS 2.2 SOON JSR-109 1.3 • JAX-RS 1.1 COMPLETED • EL 1.2 • JSP 1.2 • Authentication SPI 1.1 (JSR-196) COMPLETED • Common Annotations 1.1 (JSR-250) • Sun Confidential: Internal Only 10
  • 11. Web Profile • A fully functional mid-sized profile for web apps • Accepted: > Servlet 3.0, JSP 2.1, JSR-45, EL 1.2, JSTL 1.2, JSF 2.0 > EJB Lite 3.1, JTA 1.1, JPA 2.0, JSR-250 > Bean Validation 1.0 • Not decided yet: > Web Beans 1.0 • Out for now: > JAX-RS 1.1 Sun Confidential: Internal Only 11
  • 12. Servlet 3.0 Highlights (1) • Annotations to define web components > @WebServlet @WebFilter @WebListener • Greatly reduced editing of web.xml • File upload • Customizable session cookie configuration > ServletContext.getSessionCookieConfig method • Selectable session tracking modes > ServletContext.setSessionTrackingMode > ServletContext.getEffectiveSessionTrackingModes Sun Confidential: Internal Only 12
  • 13. Servlet 3.0 Highlights (2) • Modular web.xml using fragments > WEB-INF/lib/mylib.jar → META-INF/web-fragment.xml • New initializers for extensions > ServletContainerInitializer interface • Programmatic API for dynamic registration of servlets and filters > ServletContext.addServlet/addFilter methods • Ability to tweak servlet/filter configuration at startup > ServletRegistration interface Sun Confidential: Internal Only 13
  • 14. Servlet 3.0 Async Processing • Use cases: Comet, chat rooms, long waits • Opt-in system for servlets, filters > @WebServlet(asyncSupported=true) > @WebFilter(asyncSupported=true) • Enter async mode explicitly: > AsyncContext ctx = ServletRequest.startAsync(...) • Then: > ctx.dispatch(...) // to somebody else > ctx.start(Runnable) // to an async action > ctx.complete() // done processing Sun Confidential: Internal Only 14
  • 15. EJB 3.1 Highlights • Singleton beans > @Singleton • No-interface view • Calendar timers > @Schedule(dayOfWeek=“Fri”, hour=”12”) • Non-persistent timers > @Schedule(minute=”*/10”, hour=”*”, persistent=false) • Async business methods > @Asynchronous public Future<Result> compute(...) Sun Confidential: Internal Only 15
  • 16. EJB 3.1 Lite • Simple, modern subset of EJB for use outside of the full platform • Contents: Session beans (stateful, stateless, singletons) > Transaction and security attributes > Interceptors > ejb-jar.xml > • Embeddable container API • Bootstraps on Java SE • Beans looked up in JNDI by global name Sun Confidential: Internal Only 16
  • 17. EJB Components in a Web Module • EJB components can be defined directly inside a web module (war file) • Things to keep in mind: java:comp is shared by all components > A single class loader is used > Local view scoped to the web module > Descriptor WEB-INF/ejb-jar.xml > or META-INF/ejb-jar.xml in a jar inside WEB-INF/lib > No entity beans Sun Confidential: Internal Only 17
  • 18. Multiple JNDI scopes • Familiar with java:comp • Now adding: > java:module module-scoped, like inside a war file > java:application application-scoped > java:global scoped to multiple applications • Usable throughout > @Resource(name=”java:module/env/db”) DataSource db; • EJBs are automatically registered > java:global/myApp/myModule/MyBean!com.acme.MyInterface > java:module/MyBean // shorthand Sun Confidential: Internal Only 18
  • 19. JPA 2.0 Highlights • Metamodel API > OO view on entities, managed types, etc. > EntityManagerFactory.getMetaModel • Typesafe metamodel Generated by tools and stored in a persistence unit > Typesafe view of attributes, including collections > @Entity public class Order { … } > @TypesafeMetamodel public class Order_ { … } > • Criteria API to build queries in Java > Alternative to JPAQL Sun Confidential: Internal Only 19
  • 20. JPA 2.0 Criteria Query Example SELECT o.quantity, a.zipcode FROM Customer c JOIN c.orders o JOIN c.address a WHERE a.state = 'CA’ ORDER BY o.quantity, a.zipcode @PersistenceUnit EntityManagerFactory emf; QueryBuilder qb = emf.getQueryBuilder() CriteriaQuery q = qb.create(); Root<Customer> c = q.from(Customer.class); Join<Customer, Order> o = c.join(Customer_.orders); Join<Customer, Address> a = c.join(Customer_.address); q.where(qb.equal(a.get(Address_.state), quot;CAquot;)); q.orderBy(qb.asc(o.get(Order_.quantity)), qb.asc(a.get(Address_.zipcode))); q.select(o.get(Order_.quantity), a.get(Address_.zipcode)); Sun Confidential: Internal Only 20
  • 21. Bean Validation (JSR-303) • Now included in Java EE 6 • Integrated with JSF 2.0 and JPA 2.0 • Examples: > @NotNull @Size(max=40) private String streetName; > @NotNull @Valid private Country country; • TraversableResolver for object graph validation • Validation API * > Set<ConstraintViolation> Validator.validate(Object) • Validator and ValidatorFactory will be injectable Sun Confidential: Internal Only 21
  • 22. JCDI (formerly known as Web Beans) • Type-based dependency injection > @LoggedIn User user; > @Produces @LoggedIn User getLoggedInUser() { … } • Context management > @RequestScoped, @SessionScoped, @ConversationScoped, ... • Reflective API > Manager, Context, InjectionPoint • Heavy use of meta-annotations > @BindingType public @interface LoggedIn {} Sun Confidential: Internal Only 22
  • 23. JCDI Basics • Resolution is by bean type and binding type(s) > bean type + set(binding types) → bean Not string based! • @LoggedIn User = (User, @LoggedIn) → bean • Bean ≠ Class • Beans are enabled/disabled in batches via • deployment types • Put as much info as possible on bean class > @ConversationScoped @Current public class ShoppingCart {} Sun Confidential: Internal Only 23
  • 24. JCDI Example @ConversationScoped @Current public class ShoppingCart { … } @PayByCreditCard public class CreditCardPaymentProcessor implements PaymentProcessor {…} public class Checkout { private @Current ShoppingCart cart; private @PayByCreditCard PaymentProcessor payByCard; public void checkout() { … } } Sun Confidential: Internal Only 24
  • 25. Transparency • JAX-RS 1.0 was done completely in the open Public expert group mailing list and meeting minutes > Public issue tracker > Public spec drops > Open source reference implementation > • JSF 2.0 opened up its mailing list recently • All other Java EE JSRs to follow shortly • Commitment to transparency going forward > All Java EE 7 JSRs will be done in the open from the very beginning Sun Confidential: Internal Only 25
  • 26. Schedule Public review of all specs completed • Proposed final drafts in progress • Final release September 2009 • Implementation: GlassFish V3 • Sun Confidential: Internal Only 26
  • 28. Java EE 6 Platform Overview and Highlights Roberto Chinnici roberto.chinnici@sun.com 28