SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.




                                                      2
Ludovic Champenois
GlassFish
        <Insert Picture Here>




   Tools Coverage for the Java EE 6 Platform
   Ludovic Champenois – GlassFish team, Eclipse and NetBeans
AGENDA


• Java EE 6: Overview And Status
• Tools Support and Demos
   – In NetBeans, Eclipse, IntelliJ
      • Server runtime, JPA, RestFul Services Jax-RS
      • Maybe JSF2.0, CDI
• Q&A




                                                       4
Java EE 6


• What's New?
   – Lots of improvements to existing EE 5 APIs
   – Several New APIs
   – Web Profile
   – Pluggability/Extensibility
   – Dependency Injection
• A Major new release for Java Enterprise Applications
   – Easier, Smaller, Extensible
   – GlassFish 3 is the Reference Implementation
      • and a production quality product...
   – GlassFish 3.1 is adding Clustering support




                                                         5
Java EE 6: Fast Uptake within Open
 Source and Commercial Community

Available



Announced




                                      6
Java EE 6: New and Updated components



Updated Components     New Components         Tools Support?
• EJB 3.1              ●
                        JAX-RS 1.1            • Netbeans
• JPA 2.0
                       ●
                        CDI 1.0               • Eclipse
                       ●
                        Bean Validation 1.0
• Servlet 3.0                                 • IntelliJ
                       ●
                        DI 1.0
• JSF 2.0              ●
                        Managed Beans 1.0     • Complete Support
• Interceptors 1.1                            • Partial Support...
• JAX-WS 2.2
• JSR-109 1.3
• JSP 2.2
• EL 2.2 JSR-250 1.1
• JACC 1.5
• Connectors 1.6




                                                                     7
Java EE 6: Impact on Tools

• New APIs are easy to expose:
   – Libraries in project path. More and more on Maven (EE 6 APIs in
     Maven)
   – Automatic Code completion
   – JavaDoc: Some IDEs...
• New Concepts:
   – JSF 2.0: face-config obsolete, ManagedBeans obsolete (->CDI)
   – JAX-RS
   – No Web.xml, more annotations
• New Packaging:
   – EBJ Inside Web Application Projects!
   – Web Profile versus Full Profile
   – But Endorsed APIs (Add Maven complexity)


                                                                       8
Java EE 6 : Impact on Tools

• Alignment of Platform changes and the IDEs
   – NetBeans 6.8: same day as Java EE 6 GlassFish (Dec 2009)
      • Almost everything but CDI and advanced JF 2.0 (fixed in 6.9)
   – IntelliJ: Same week as Java EE 6
      • GlassFish Runtime target Supported in Dec 2009
• Eclipse:
   – Java EE 6 support June 2010
   – But GlassFish Plugin with EE 6 support before...
   – Oracle Enterprise Pack for Eclipse
• Maven: All IDEs support it
   – Project portability across IDEs and CLI
   – Stripped Java EE API JARs in the repo




                                                                       9
Oracle Involvement In Java EE 6 And Tools


• Oracle is the main driver of the GlassFish Community
  – The Java EE 6 Reference Implementation
  – Production Ready (Clustering, HA,...)
• Oracle is the main driver of the NetBeans Community
  – Tight coupling with Java SE and EE changes.
• Oracle has many Eclipse Committers
  – In JPA: EclipseLink Runtime and Dali Tooling
  – In Core Java EE tooling
  – In JSF: Most JSF WTP Eclipse tooling done by Oracle folks
     • Jboss Tools has their own JSF tooling
  – GlassFish and Weblogic support via OEPE



                                                                10
Java EE 6: Oracle Gives Developer Choices




Oracle Enterprise Pack for Eclipse      NetBeans 6.9.1 and Coming 7
Target WebLogic and GlassFish 3         Bundled with GlassFish 3 or 3.1




                   IntelliJ IDEA has great Java EE 6 Support




                                                                          11
Java EE 6 Integration in IDEs

• Looking for:
   – Bundle or not
   – Easy registration or download of the GF runtime
   – Easy configuration
   – Start, Stop, Debug, Profile
   – Admin features?
      • Deploy, Undeploy, Remote Servers?
      • EE resources registration
      • Log File
   – JavaDoc, Help menus
   – Good Default Values
   – Respect for Standard or promotion of private APIs?




                                                          12
Java EE 6: Working with a GlassFish
Server in the Tools:
NetBeans, Eclipse and IntelliJ




                                      13
Java EE 6 Working with Databases

• Via JPA 2.0
• Out of the Box, GlassFish 3 bundles Derby DB
   – Registered in NetBeans and Eclipse
• All IDEs can register DB Resources and Introspect
• All IDEs can Generate JPA From DB
• All IDEs give decent Mapping Tooling
• Can Start/Stop Dbs only in NetBeans!
• NetBeans has extra Wizards to Generate CRUD JSF2
• NetBeans has better Default in Persistence.xml
• IntelliJ has some ER/UML view and JP/QL Support




                                                      14
JAX-RS

• REST made easy
• Java Annotation Based REST Resource Creation
   – Identity of Resources
      • http://example.com/customers/petrobras
   – Self-Descriptive Resources
      • Bookmark-able, human friendly
   – Navigation between Resources
      • http://example.com/customers/petrobras/orders/2
   – Representation choices
      • XML, JSON, HTML, Application-Specific
• CRUD Operations:
   – GET, DELETE, POST, PUT



                                                          15
Java EE 6 JAX-RS and Web Services

• Simple REST Resources Creation/Configuration:
   – In NetBeans and Eclipse (via GlassFish plugin)
• Advanced Wizards Generating
   – Only in NetBeans
      • Resources from Database
      • Resources from Entity Classes
      • Resources from Patterns
• REST WS Tester:
   – NetBeans and IntelliJ
• JAX-WS:
   – Service Creation, Testing Web Services:
      • Clear Advantage NetBeans
   – Eclipse is Axis based


                                                      16
JSF 2.0

• Facelets is the foundation
   – XHTML and tags
   – Templating
      • ui:include, ui:composition, ui:define,...
   – Composite Components
      • Reusable
      • Turn page markup into a JSF UI component
• Managed Beans
   – Annotations (faces-config is optional)
   – JSF APIs or
   – CDI APIs (Preferred)
      • CDI support (@Named, @Inject, @SessionScoped,...)




                                                            17
JSF 2.0 Tooling



• NetBeans and IntelliJ are best
   – XHTML/Facelet Editor
      • Code Completion, Beans navigation
   – NetBeans 6.10 bundles Primefaces components
   – JPA to JSF 2.0 Wizards (only NetBeans)
                               >
   – NetBeans Create Composite Components automatically
• Eclipse is lacking the new features with CDI and
 annotations
  – No code completion for CDI in Eclipse




                                                          18
Java EE 6 CDI Tooling


• Should be easy:
   – Enable CDI in a Module: Create an empty beans.xml file
   – Use @Inject, @Named, @SessionScoped, @ApplicationScoped
• Only Need EE 6 APIs in Path and Code Completion.
• JavaDoc a Goody
• But in EL (Facelets and JSP): Code Completion?
   – Not for Eclipse at this moment. Only in NetBeans and IntelliJ




                                                                     19
Conclusion




             20
Java EE 6              IntelliJ              Eclipse                 NetBeans
Java EE 6                              Helios: first release   6.8

JPA 2.0                                EclipseLink

CDI                                    Need JBossTools         6.9

Servlet 3.0         Bugs in 9, fixed   Skeleton Gen            Working default
                    in 10
            <Insert Picture Here>

JAX-WS             Lib                 Axis<-->JAX-WS          Complete wizards and
                   configuration       JBossTools<->Oracle     runtime support
JAX-RS                                 Wizards only via        Complete wizards and
                                       GlassFish Plugin        tester

EJB 3.1            Missing wizards Missing wizards

Maven                                  External plugin

End to End                             Incubator (PAVE)        REST, JPA, JSF 2.0

GlassFish 3.x                          Profile,debug,deploy    Server is Bundled.
                                       on save,                Profile,debug, deploy on
                                                               save,remote, admin,

OSGi / EE 6                            Green-ish
Java EE 6 In IDEs

• IntelliJ
   – http://www.jetbrains.com/idea/
• Eclipse
   – http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/ind
   – http://download.java.net/glassfish/eclipse/helios
• NetBeans
   – http://netbeans.org/




                                                                       22
JavaEE 6 tools coverage

Más contenido relacionado

La actualidad más candente

Understanding
Understanding Understanding
Understanding Arun Gupta
 
Whats Cool in Java E 6
Whats Cool in Java E 6Whats Cool in Java E 6
Whats Cool in Java E 6Arun Gupta
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi ServerArtur Alves
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Hirofumi Iwasaki
 
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 2010Arun Gupta
 
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 2010Arun 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
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7Arun Gupta
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1Д. Ганаа
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondOracle
 
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 6Bert Ertman
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConLudovic Champenois
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Bruno Borges
 
Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Ryan Cuprak
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG sessionMani Sarkar
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Agora Group
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the HorizonJosh Juneau
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 RecipesJosh Juneau
 

La actualidad más candente (20)

Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Understanding
Understanding Understanding
Understanding
 
Whats Cool in Java E 6
Whats Cool in Java E 6Whats Cool in Java E 6
Whats Cool in Java E 6
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi Server
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 
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
 
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
 
Java EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexusJava EE 6 & GlassFish v3 @ DevNexus
Java EE 6 & GlassFish v3 @ DevNexus
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
 
Lecture 19 dynamic web - java - part 1
Lecture 19   dynamic web - java - part 1Lecture 19   dynamic web - java - part 1
Lecture 19 dynamic web - java - part 1
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
 
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
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseCon
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7
 
Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
 

Similar a JavaEE 6 tools coverage

Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Agora Group
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Arun Gupta
 
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Ludovic Champenois
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6glassfish
 
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Arun 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 2010Arun Gupta
 
Java ide comparision
Java ide comparisionJava ide comparision
Java ide comparisionRaj
 
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 @ DevIgnitionArun 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 PowerArun 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 CEJUGArun 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.
 
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
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...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 2010Arun 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
 

Similar a JavaEE 6 tools coverage (20)

Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010Java EE 6, Eclipse, GlassFish @EclipseCon 2010
Java EE 6, Eclipse, GlassFish @EclipseCon 2010
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010
 
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 ide comparision
Java ide comparisionJava ide comparision
Java ide comparision
 
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
 
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
 
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
 
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
 
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
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
 
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
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
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
 

JavaEE 6 tools coverage

  • 1.
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Ludovic Champenois GlassFish <Insert Picture Here> Tools Coverage for the Java EE 6 Platform Ludovic Champenois – GlassFish team, Eclipse and NetBeans
  • 4. AGENDA • Java EE 6: Overview And Status • Tools Support and Demos – In NetBeans, Eclipse, IntelliJ • Server runtime, JPA, RestFul Services Jax-RS • Maybe JSF2.0, CDI • Q&A 4
  • 5. Java EE 6 • What's New? – Lots of improvements to existing EE 5 APIs – Several New APIs – Web Profile – Pluggability/Extensibility – Dependency Injection • A Major new release for Java Enterprise Applications – Easier, Smaller, Extensible – GlassFish 3 is the Reference Implementation • and a production quality product... – GlassFish 3.1 is adding Clustering support 5
  • 6. Java EE 6: Fast Uptake within Open Source and Commercial Community Available Announced 6
  • 7. Java EE 6: New and Updated components Updated Components New Components Tools Support? • EJB 3.1 ● JAX-RS 1.1 • Netbeans • JPA 2.0 ● CDI 1.0 • Eclipse ● Bean Validation 1.0 • Servlet 3.0 • IntelliJ ● DI 1.0 • JSF 2.0 ● Managed Beans 1.0 • Complete Support • Interceptors 1.1 • Partial Support... • JAX-WS 2.2 • JSR-109 1.3 • JSP 2.2 • EL 2.2 JSR-250 1.1 • JACC 1.5 • Connectors 1.6 7
  • 8. Java EE 6: Impact on Tools • New APIs are easy to expose: – Libraries in project path. More and more on Maven (EE 6 APIs in Maven) – Automatic Code completion – JavaDoc: Some IDEs... • New Concepts: – JSF 2.0: face-config obsolete, ManagedBeans obsolete (->CDI) – JAX-RS – No Web.xml, more annotations • New Packaging: – EBJ Inside Web Application Projects! – Web Profile versus Full Profile – But Endorsed APIs (Add Maven complexity) 8
  • 9. Java EE 6 : Impact on Tools • Alignment of Platform changes and the IDEs – NetBeans 6.8: same day as Java EE 6 GlassFish (Dec 2009) • Almost everything but CDI and advanced JF 2.0 (fixed in 6.9) – IntelliJ: Same week as Java EE 6 • GlassFish Runtime target Supported in Dec 2009 • Eclipse: – Java EE 6 support June 2010 – But GlassFish Plugin with EE 6 support before... – Oracle Enterprise Pack for Eclipse • Maven: All IDEs support it – Project portability across IDEs and CLI – Stripped Java EE API JARs in the repo 9
  • 10. Oracle Involvement In Java EE 6 And Tools • Oracle is the main driver of the GlassFish Community – The Java EE 6 Reference Implementation – Production Ready (Clustering, HA,...) • Oracle is the main driver of the NetBeans Community – Tight coupling with Java SE and EE changes. • Oracle has many Eclipse Committers – In JPA: EclipseLink Runtime and Dali Tooling – In Core Java EE tooling – In JSF: Most JSF WTP Eclipse tooling done by Oracle folks • Jboss Tools has their own JSF tooling – GlassFish and Weblogic support via OEPE 10
  • 11. Java EE 6: Oracle Gives Developer Choices Oracle Enterprise Pack for Eclipse NetBeans 6.9.1 and Coming 7 Target WebLogic and GlassFish 3 Bundled with GlassFish 3 or 3.1 IntelliJ IDEA has great Java EE 6 Support 11
  • 12. Java EE 6 Integration in IDEs • Looking for: – Bundle or not – Easy registration or download of the GF runtime – Easy configuration – Start, Stop, Debug, Profile – Admin features? • Deploy, Undeploy, Remote Servers? • EE resources registration • Log File – JavaDoc, Help menus – Good Default Values – Respect for Standard or promotion of private APIs? 12
  • 13. Java EE 6: Working with a GlassFish Server in the Tools: NetBeans, Eclipse and IntelliJ 13
  • 14. Java EE 6 Working with Databases • Via JPA 2.0 • Out of the Box, GlassFish 3 bundles Derby DB – Registered in NetBeans and Eclipse • All IDEs can register DB Resources and Introspect • All IDEs can Generate JPA From DB • All IDEs give decent Mapping Tooling • Can Start/Stop Dbs only in NetBeans! • NetBeans has extra Wizards to Generate CRUD JSF2 • NetBeans has better Default in Persistence.xml • IntelliJ has some ER/UML view and JP/QL Support 14
  • 15. JAX-RS • REST made easy • Java Annotation Based REST Resource Creation – Identity of Resources • http://example.com/customers/petrobras – Self-Descriptive Resources • Bookmark-able, human friendly – Navigation between Resources • http://example.com/customers/petrobras/orders/2 – Representation choices • XML, JSON, HTML, Application-Specific • CRUD Operations: – GET, DELETE, POST, PUT 15
  • 16. Java EE 6 JAX-RS and Web Services • Simple REST Resources Creation/Configuration: – In NetBeans and Eclipse (via GlassFish plugin) • Advanced Wizards Generating – Only in NetBeans • Resources from Database • Resources from Entity Classes • Resources from Patterns • REST WS Tester: – NetBeans and IntelliJ • JAX-WS: – Service Creation, Testing Web Services: • Clear Advantage NetBeans – Eclipse is Axis based 16
  • 17. JSF 2.0 • Facelets is the foundation – XHTML and tags – Templating • ui:include, ui:composition, ui:define,... – Composite Components • Reusable • Turn page markup into a JSF UI component • Managed Beans – Annotations (faces-config is optional) – JSF APIs or – CDI APIs (Preferred) • CDI support (@Named, @Inject, @SessionScoped,...) 17
  • 18. JSF 2.0 Tooling • NetBeans and IntelliJ are best – XHTML/Facelet Editor • Code Completion, Beans navigation – NetBeans 6.10 bundles Primefaces components – JPA to JSF 2.0 Wizards (only NetBeans) > – NetBeans Create Composite Components automatically • Eclipse is lacking the new features with CDI and annotations – No code completion for CDI in Eclipse 18
  • 19. Java EE 6 CDI Tooling • Should be easy: – Enable CDI in a Module: Create an empty beans.xml file – Use @Inject, @Named, @SessionScoped, @ApplicationScoped • Only Need EE 6 APIs in Path and Code Completion. • JavaDoc a Goody • But in EL (Facelets and JSP): Code Completion? – Not for Eclipse at this moment. Only in NetBeans and IntelliJ 19
  • 21. Java EE 6 IntelliJ Eclipse NetBeans Java EE 6 Helios: first release 6.8 JPA 2.0 EclipseLink CDI Need JBossTools 6.9 Servlet 3.0 Bugs in 9, fixed Skeleton Gen Working default in 10 <Insert Picture Here> JAX-WS Lib Axis<-->JAX-WS Complete wizards and configuration JBossTools<->Oracle runtime support JAX-RS Wizards only via Complete wizards and GlassFish Plugin tester EJB 3.1 Missing wizards Missing wizards Maven External plugin End to End Incubator (PAVE) REST, JPA, JSF 2.0 GlassFish 3.x Profile,debug,deploy Server is Bundled. on save, Profile,debug, deploy on save,remote, admin, OSGi / EE 6 Green-ish
  • 22. Java EE 6 In IDEs • IntelliJ – http://www.jetbrains.com/idea/ • Eclipse – http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/ind – http://download.java.net/glassfish/eclipse/helios • NetBeans – http://netbeans.org/ 22