Java EE 6 Aquarium Paris

  • 1,553 views
Uploaded on

Roberto Chinnici on Java EE 6 in Paris, December 12th 2008

Roberto Chinnici on Java EE 6 in Paris, December 12th 2008

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

Views

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

Actions

Shares
Downloads
0
Comments
0
Likes
2

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. Java EE 6 Overview Roberto Chinnici Senior Staff Engineer Sun Microsystems, Inc. 1
  • 2. Agenda • Goals • Features • Component JSRs • Schedule • Q&A 2
  • 3. Goals for the Java EE 6 Platform • Easier to use • More flexible • Easier to learn • Easier to evolve going forward 3
  • 4. Profiles Timeline Java EE 6 EJB Lite Ease of Restful WS Development Web Beans Java EE 5 Extensibility Web Ease of Services Development J2EE 1.4 Annotations ` Web Services, EJB 3.0 Robustness Management, Persistence API J2EE 1.3 Deployment, New and Enterprise Java Platform CMP, Async. Updated Connector Connector Web Services J2EE 1.2 Architecture Java EE 6 Servlet, JSP, Web Profile JPE EJB, JMS Project RMI/IIOP 4
  • 5. Major New Features in Java EE 6 • Profiles • Pruning • Extensibility • More ease of development 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 • Spec decoupling ongoing 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 7
  • 8. Extensibility • Level playing field • Embrace open source libraries, frameworks • No configuration needed for web frameworks > Discover servlet, servlet filters, listeners for a framework • Useful to support scripting languages too 8
  • 9. Proposed Components (1) Full JSRs • EJB 3.1 (JSR 318) PUBLIC REVIEW DONE PUBLIC REVIEW ONGOING • JPA 2.0 (JSR 317) PUBLIC REVIEW SOON • Servlet 3.0 (JSR 315) • JSF 2.0 (JSR 314) PUBLIC REVIEW ONGOING • JAX-RS 1.0 (JSR 311) COMPLETED • Connector Architecture 1.6 (JSR 322) PUBLIC REVIEW ONGOING PUBLIC REVIEW ONGOING • Web Beans 1.0 (JSR 299) • Bean Validation 1.0 (JSR 303) PUBLIC REVIEW SOON 9
  • 10. Proposed Components (2) Maintenance Releases • JAXB 2.2 • JAX-WS 2.2 • JAX-RS 1.1 • EL 1.2 • JSP 1.2 Others • Authentication SPI (JSR 196) • Concurrency Utilities for Java EE (JSR 236) 10
  • 11. Servlet 3.0 Highlights • Annotations to define web components > @WebServlet @ServletFilter • Greatly reduced editing of web.xml • Modular web.xml using fragments > WEB-INF/lib/mylib.jar → META-INF/web-fragment.xml • Merging of annotations, fragments and web.xml • Programmatic API for dynamic registration of servlets 11
  • 12. Servlet 3.0 Async Processing • Use cases: Comet, chat rooms, long waits • Opt-in system for servlets, filters > @WebServlet(asyncSupported=true) • ServletRequest.startAsync(...) to enter async mode • AsyncContext API to control async behavior > forward(String path) > start(Runnable action) > complete() 12
  • 13. EJB 3.1 Highlights • Singleton beans (@Singleton) • No interface view (one source file per bean type) • Calendar timers > @Schedule(dayOfWeek=“Mon”, hour=”3”, minute=”30”) • Non-persistent timers • Async business methods (@Asynchronous) • Global JNDI name for a bean > java:global/(app)/(module)/(bean)#(interface) 13
  • 14. 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 by global name 14
  • 15. Packaging • EJB components can be packaged directly inside a web application archive (war file) Java EE 5 Java EE 6 ShoppingCart ShoppingCart BuyBooks.war EJB Class EJB Class ShoppingCart.jar BuyBooks.war BuyBooks.ear 15
  • 16. Removing Barriers • Easy to use EJB components in web applications • Web Beans 1.0 > Bridges JSF and EJB component models > Unified EL resolver to look EJBs up from pages > “#{foo}” → @Stateless @Named(“foo”) • Web Beans injection unified with @Resource • Apply javax.interceptor to all components • Uniform validation API across JSF, JPA, ... 16
  • 17. Web Profile • Much discussion inside the EG and outside • Latest proposal: a fully functional mid-sized profile • 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 • Controversial: > JAX-RS 1.1, Web Beans 1.0 17
  • 18. Schedule • Public review of all specs done by January • Proposed final draft in February • Final release May 2009 • Implementation: GlassFish V3 > Prelude available now > Modules updated continuously > Should be feature complete in March 18
  • 19. Q&A 19
  • 20. Java EE 6 Overview roberto.chinnici@sun.com 20