JavaEE 6 tools coverage
-
Upload
ludovic-champenois -
Category
Documents
-
view
652 -
download
2
description
Transcript of 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.
<Insert Picture Here>
Tools Coverage for the Java EE 6 PlatformLudovic Champenois – GlassFish team, Eclipse and NetBeans
Ludovic ChampenoisGlassFish
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
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
6
Java EE 6: Fast Uptake within Open Source and Commercial Community
Announced
Available
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
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)
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
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
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
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?
13
Java EE 6: Working with a GlassFish Server in the Tools:
NetBeans, Eclipse and IntelliJ
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
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
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
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,...)
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
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
20
Conclusion
<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
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/