Documente Academic
Documente Profesional
Documente Cultură
Agenda
Java EE 6 Overview
Servlet 3.0
JavaServer Faces 2.0 EJB 3.1 Web Beans 1.0 (formly) JSR-299
Easier to Evolve The size and wideness of the Java EE has made it
spec.
25/11/2009
Java SE 6 Timeline
Java EE 6 Timeline
25/11/2009
Profiles
Profiles are targeted bundles of technologies
Web Profile
Much discussion in the expert group and outside it Latest proposal: a fully functional mid-sized profile Accepted:
Servlet 3.0, JSP 2.1, JSR-45 (Debugging), EL 1.2, JSTL 1.2,
JSF 2.0
EJB Lite 3.1, JTA 1.1, JPA 2.0, JSR-250 (Annotations)
Controversial:
JAX-RS 1.1, Web Beans 1.0, JSR-303 Bean Validation
25/11/2009
Pruning
Make some technologies optional A component marked pruned at the current version may
Extensibility
Embrace open source libraries and frameworks.
Ease of development
Ongoing concern This time focus is the web tier Lots of opportunities in other areas, e.g. EJB General principles: Annotation-based programming model. Traditional API for advanced users Reduce or eliminate need for deployment descriptors Get technologies to work together well.
25/11/2009
Proposed components(1)
Full JSRs EJB 3.1(JSR-318) JPA 2.0 (JSR-317) Servlet 3.0 (JSR-315) JSF 2.0 (JSR-314) JAX-RS 1.0 (JSR-311) Connectors 1.6 (JSR-322) Web Beans 1.0 (JSR-299) Bean Validation 1.0 (JSR-303)
Proposed components(2)
Maintenance Releases JAXB 2.2 JAX-WS 2.2 JAX-RS 1.1 EL 1.2 JSP 2.2 Others Authentication SPI (JSR-196) Concurrency utilities for Java EE (JSR-236)
25/11/2009
Servlet 3.0
META-INF/web-fragment.xml
Annotations and web fragments are merged. Programmatic API for dynamic registration of servlets.
AsyncContext ctx=ServletRequest.startAsync(req,res);
AsyncContext can then either:
dispatch(String path) start(Runnable action)
25/11/2009
In Component Library
25/11/2009
ingredients
Current offerings are tightly coupled to their specific
components build, we can guarantee interoperability between them. Ajaxification Capability A way to give ajax capability to existing JavaServer Faces components without writing any JavaScript language Common approaches include
AjaxZone tag, enclose region to ajaxify AjaxSupport tag, nest inside of component to ajaxify
25/11/2009
EJB 3.1
No-interface view
Once source file per bean
Portable JNDI
@ConcurrencyManagement
Lightweight asynchronicity
Async business methods
@Asynchronous
Methods must return void or Future <T>
25/11/2009
@Schedule(dayOfWeek=Mon/Wed)
Embeddable EJB Container
Use in JavaSE environments Bootstrapping API
EJBContainer
Transactions
Security Interceptors Ejb-jar.xml Embeddable container API: EJBContainer OK to bootstrap on Java SE Beans looked up by global JNDI name
10
25/11/2009
Additional Features
Java Persistence Architecture 2.0
Improve object/relational mapping Java Contexts & Dependency Injection (AKA - Web
Beans)
Java Server Faces 2.0
AJAX Simplified component creation
Summary
Smaller, more agile platform: profiles, pruning, extensibility Ease of development still a major focus area Component specs ready for public review Open source implementation in GlassFishV3
11
25/11/2009
References
http://jcp.org/en/jsr/results?id=4821 http://jcp.org/en/jsr/results?id=4821 http://weblogs.java.net/blog/robc/ https://glassfish.dev.java.net/ http://blogs.sun.com/theaquarium http://wiki.glassfish.java.nethttp://jcp.org/en/jsr/results?id
=4821
12