23

JavaEE 6 tools coverage

Embed Size (px)

DESCRIPTION

Java EE 6 tools coverage

Citation preview

Page 1: JavaEE 6 tools coverage
Page 2: JavaEE 6 tools coverage

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.

Page 3: JavaEE 6 tools coverage

<Insert Picture Here>

Tools Coverage for the Java EE 6 PlatformLudovic Champenois – GlassFish team, Eclipse and NetBeans

Ludovic ChampenoisGlassFish

Page 4: JavaEE 6 tools coverage

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

Page 5: JavaEE 6 tools coverage

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

Page 6: JavaEE 6 tools coverage

6

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

Announced

Available

Page 7: JavaEE 6 tools coverage

7

• EJB 3.1 • JPA 2.0 • Servlet 3.0 • JSF 2.0 • Interceptors 1.1 • JAX-WS 2.2 • JSR-109 1.3 • JSP 2.2• EL 2.2 JSR-250 1.1 • JACC 1.5 • Connectors 1.6

Updated Components

●JAX-RS 1.1 ●CDI 1.0 ●Bean Validation 1.0 ●DI 1.0 ●Managed Beans 1.0

• Netbeans• Eclipse• IntelliJ• Complete Support• Partial Support...

New Components Tools Support?

Java EE 6: New and Updated components

Page 8: JavaEE 6 tools coverage

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)

Page 9: JavaEE 6 tools coverage

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

Page 10: JavaEE 6 tools coverage

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

Page 11: JavaEE 6 tools coverage

11

Java EE 6: Oracle Gives Developer Choices

Oracle Enterprise Pack for EclipseTarget WebLogic and GlassFish 3

NetBeans 6.9.1 and Coming 7Bundled with GlassFish 3 or 3.1

IntelliJ IDEA has great Java EE 6 Support

Page 12: JavaEE 6 tools coverage

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?

Page 13: JavaEE 6 tools coverage

13

Java EE 6: Working with a GlassFish Server in the Tools:

NetBeans, Eclipse and IntelliJ

Page 14: JavaEE 6 tools coverage

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

Page 15: JavaEE 6 tools coverage

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

Page 16: JavaEE 6 tools coverage

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

Page 17: JavaEE 6 tools coverage

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,...)

Page 18: JavaEE 6 tools coverage

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

Page 19: JavaEE 6 tools coverage

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

Page 20: JavaEE 6 tools coverage

20

Conclusion

Page 21: JavaEE 6 tools coverage

<Insert Picture Here>

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 in 10

Skeleton Gen Working default

JAX-WS Lib configuration

Axis<-->JAX-WSJBossTools<->Oracle

Complete wizards and runtime support

JAX-RS Wizards only via GlassFish Plugin

Complete wizards and 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 on save,

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

OSGi / EE 6 Green-ish

Page 22: JavaEE 6 tools coverage

22

Java EE 6 In IDEs

• IntelliJ – http://www.jetbrains.com/idea/

• Eclipse – http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/index.html– http://download.java.net/glassfish/eclipse/helios

• NetBeans – http://netbeans.org/

Page 23: JavaEE 6 tools coverage