Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010

  • 1,216 views
Uploaded on

Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010

Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,216
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
21
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. <Insert Picture Here> Tools Coverage for the Java EE 6 Platform Ludovic Champenois GlassFish
  • 2. AGENDA • Java EE 6: Overview And Status • Tools Support and Demos – In NetBeans, Eclipse, IntelliJ • Demo 1: Server runtime • Demo 2: JPA • Demo 3: JSF2.0 • Demo 4: CDI • Demo 5: RestFul Services Jax-RS • Q&A 3
  • 3. 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 quality product...) – GlassFish 3.1 is adding Clustering support 4
  • 4. Java EE 6: Fast Uptake within Open Source and Commercial Community Available Announced 5
  • 5. 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 ● DI 1.0 • IntelliJ • JSF 2.0 ● Managed Beans 1.0 • Complete Support ● JASPIC 1.1 • 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 6
  • 6. 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 7
  • 7. Java EE 6 : Impact on Tools • Alignment of Platform changes and the IDEs – Emacs (James Gosling 81), vi (Bill Joy 76): First IDES choice • Java EE 6 compliant – 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: – ava EE 6 support June 2010 – But GlassFish Plugin with EE 6 support before... – Oracle Enterprise Pack for Eclipse 8
  • 8. 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 9
  • 9. Java EE 6: Oracle Gives Developer Choices Oracle Enterprise Pack for Eclipse NetBeans 6.9.1 and Coming 6.10 Target WebLogic and GlassFish 3 Bundled with GlassFish 3 IntelliJ IDEA has great Java EE 6 Support 10
  • 10. Java EE 6 Runtime in Tools: NetBeans Eclipse IntelliJ • NetBeans 6.8: same day • Eclipse 3.5 WTP GlassFish Plugin • IntelliJ 9.0 same week as Java EE as Java EE 6 GlassFish for Java EE 6 6 • NetBeans 6.9.1 and 7.0 • Eclipse 3.6 (June 2010): initial nightlies: complete EE 6 support for Java EE 6, far from support being Complete • GlassFish Plugin in OEPE and a • GlassFish Plugin bundled • GlassFish Support bundled dev Update Center • GlassFish Runtime • No bundle at this time, can Bundled and download the runtime via the • No Bundle, need separate dowload Preconfigured plugin • EveryThing works Out of • Manual Configurations, a bit • Some manual Configurations the Box difficult 11
  • 11. Java EE 6: Working with a GlassFish Server in the Tools. 12
  • 12. Java EE 6 Working with Databases • Via JPA 2.0 • Out of the Box, GlassFish 3 bundles JavaDB – 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 13
  • 13. Java EE 6 JPA Demo 14
  • 14. JSF 2.0 • Faceletes 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,...) 15
  • 15. 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) – Create Composite Components automatically • Eclipse is really lacking the new features with CDI and annotations 16
  • 16. Java EE 6 JSF 2.0 Demo 17
  • 17. Java EE 6 CDI: Contexts and Dependency Injection JSF/Facelets Servlets ●Dependency injection ● Builds on @Inject API ●Context/scope management JSF/Facelets ●Works with multiple bean types Managed Bean ●Includes ELResolver MDB ●Ejb Session and Singleton Web Services Managed Bean ● The CDI Container will ● Resolve dependencies CDI Container ● Offer the bean for Injection 18
  • 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
  • 19. Java EE 6 CDI Demo 20
  • 20. JAX-RS • REST made easy • Java Annotation Based Resource Creation – Identity of Resources – Self-Descriptive Resources – Navigation between Resources – Representation choices • CRUD Operations: GET, DELETE, POST, PUT 21
  • 21. Java EE 6 Jax-RS and Web Services • Simple REST Resources Creation • Advanced Wizards Generating – Only in NetBeans • Resources from Database • Resources from Entity Classes • Resources from Patterns • JAX-WS: – Service Creation – Testing Web Services: Advantage NetBeans – Eclipse is Axis based 22
  • 22. Java EE 6 REST Web Services Demo 23
  • 23. Java EE 6 In IDEs • IntelliJ http://www.jetbrains.com/idea/ • Eclipse https://glassfishplugins.dev.java.net/ • NetBeans http://netbeans.org/ 24