Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java EE 6 and GlassFish portfolio

1,718 views

Published on

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Java EE 6 and GlassFish portfolio

  1. 1. Java EE 6 - Update Harpreet Singh – GlassFish Portfolio Product Manager Sun Microsystems 1
  2. 2. The Elephant In The Room 2
  3. 3. Here's what I can ... Show Say 3
  4. 4. Business As Usual 4
  5. 5. Business As Usual = Participate in an active community + Create a Great Product + Kick Competitive Butt 5
  6. 6. Any Questions? 6
  7. 7. Business @ Hand Java EE 6 Update 7
  8. 8. Java EE: Past & Present Right Sizing Ease of Development Java EE 6 EJB Lite Web Java EE 5 Restful WS Services Ease of Web Beans Development Extensibility J2EE 1.4 Annotations Robustness Web Services, EJB 3.0 Enterprise Java Management, Persistence API Platform J2EE 1.3 Deployment, New and CMP, Async. Updated Connector Connector Web Services Java EE 6 J2EE 1.2 Architecture Servlet, JSP, Web Profile JPE EJB, JMS Project RMI/IIOP 8
  9. 9. Java EE Adoption Over 18M Downloads since FY'06 Active Users Y/Y Download Growth 12000000 10000000 8000000 Add. 6000000 Forcast YTD 4000000 2000000 0 FY 06 FY 07 FY 08 FY 09 9
  10. 10. Compatible Java EE 5 Implementations 10
  11. 11. Goals for the Java EE 6 Platform • “Right Sizing” ● Flexible, lighter weight • Extensible ● Embrace Open Source Frameworks • Easier to use, develop on ● Continue on path set by Java EE 5 11
  12. 12. Right Sizing the Platform: Profiles • Make platform flexible > Decouple specifications to allow more combinations > Expands potential licensee ecosystem > Profiles ● Targeted technology bundles ● Defined through the JCP ● First profile: Web Profile – Defined by the Java EE 6 Expert Group 12
  13. 13. Web Profile • Fully functional mid-sized profile > Actively discussed in Java EE Expert Group and outside it > Technologies* ● Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP 2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA 1.1, JSR-45, JSR-250 *Final set of technologies will be determined by the platform EG 13
  14. 14. Right Sizing the Platform: Pruning • Make platform lighter > Makes some technologies optional > Pruned today, means ● Optional in the next release ● Deleted in the subsequent release > Pruned Technologies will be marked in the javadocs > Current pruning list ● JAX-RPC, EJB 2.X Entity Beans, JAXR, JSR-88 14
  15. 15. Extensibility • Embrace open source libraries and frameworks • Zero-configuration, drag-and-drop for web frameworks > Servlets, servlet filters, context listeners for a framework get discovered and registered automatically • Plugin library jars using web fragments 15
  16. 16. Ease of Development • Continue advancements of Java EE 5 • Primary focus: Web Tier • Multiple Areas easier to use: EJB 3.1 • General principles > Annotation-based programming model > Reduce or eliminate need for deployment descriptors > Traditional API for advanced users 16
  17. 17. Ease of Development: Adding an EJB to a Web Application Java EE 5 Java EE 6 ShoppingCart BuyBooks.war BuyBooks.war EJB Class ShoppingCart.jar ShoppingCart EJB Class BuyBooks.ear 17
  18. 18. EoD Example - Annotations Servlet in Java EE 5: Create two source files <!--Deployment descriptor web.xml --> /* Code in Java Class */ <web-app> <servlet> package com.foo; <servlet- public class MyServlet name>MyServlet extends HttpServlet { </servlet-name> public void <servlet-class> doGet(HttpServletRequest com.foo.MyServlet req,HttpServletResponse res) </servlet-class> </servlet> { <servlet-mapping> <servlet- ... name>MyServlet } </servlet-name> <url-pattern>/myApp/* </url-pattern> </servlet-mapping> ... ... </web-app> } 18
  19. 19. EoD Example - Annotations Servlet in Java EE 6: In many cases a single source file package com.foo; @WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”) public class MyServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { ... } 19
  20. 20. Java EE 6 Status •Public reviews completed •Majority of the specs are in Proposed Final Draft •Preview release available for JavaOne > Reference Implementation is GlassFish V3 > Regular RI source drops started •Final release in Q3 > Targeted for September • Making the process more open 20
  21. 21. Java EE JSR Status • EJB 3.1 PFD • Connectors 1.6PFD • JPA 2.0PFD • JCDI 1.0PFD June • Servlet 3.0 PFD • Bean ValidationPFD • JSF 2.0FD Submitted • Java EE 6.0PFD June > Platform > Managed Beans > Web Profile 21
  22. 22. Java EE JSR Status Continued • JACC 1.3 MR Final • JASPIC 1.1 MR Final • JSR 250 1.1 MR Soon MR Final • JAXB 2.2 MR Final • JAX-RS 1.1 • JAX-WS 2.2 MR Final • EL 2.2 MR Final MR Final • JSP 2.2 22
  23. 23. Servlet 3.0 • Use of annotations for greater ease of development • Optional web.xml • Better defaults • Enable web framework pluggability • Support for asynchronous processing • Alignments with JSF 2.0 and JAX-RS 1.0 23
  24. 24. Servlet 3.0 • Annotation-based programming model > @WebServlet @WebFilter etc. • Modular web.xml descriptor: > WEB-INF/lib/mylibrary.jar -> Meta_INF/web-fragment.xml • Annotations and web fragments are merged • Programmatic API for dynamic registration of servlets 24
  25. 25. Servlet 3.0 Async API • Useful for Comet, chat rooms, long waits • Must declare @WebServlet(asyncSupported=true) • Then call AsyncContext ctx = ServletRequest.startAsync(req,res); • AsyncContext can then either: dispatch(String path) start(Runnable action) • AsyncContext.start(Runnable) must be paired with: complete() 25
  26. 26. EJB 3.1 Ease-of-use improvements • No-interface view > One source file per bean • Allow EJB component classes inside a web app > No ejb-jar > Use WEB-INF/classes > Shared component environment 26
  27. 27. EJB 3.1 • Singleton beans: @Singleton > Shared state > One instance per bean per server JVM > Support for container-managed concurrency and bean-managed concurrency @ConcurrencyManagement • Light-weight asynchronicity > Async business methods @Asynchronous > Methods must return void or Future<T> 27
  28. 28. EJB 3.1 • EJB Timer Service enhancements > Cron-like scheduling > Initialization-time timer creation @Schedule(dayOfWeek=”Mon,Wed”) • Embeddable EJB container > Provides use in Java SE environments > Bootstrapping API EJBContainer 28
  29. 29. EJB 3.1 Lite Proper, portable subset of EJB 3.1 • Session beans (stateless, stateful, singletons) > Local, no-interface views • Transactions • Security • Interceptors • ejb-jar.xml or annotations • Embeddable container API: EJBContainer • OK to bootstrap on Java SE 29
  30. 30. Web Beans 1.0 • Adds contextual services to the platform • Unifies JSF managed beans and EJB components • Dependency injection framework > @LoggedIn User user; • Binding type to select among alternatives • Built-in scope management (request, session, conversation, application scopes) • Deployment types to select families of beans (e.g. mock) • Programmatic API: Manager, Bean, Context 30
  31. 31. Removing Barriers • EJB components can be placed in web applications > No need to wrap them in an EJB jar archive • Web Beans has a unified EL resolver > Place @Named(“foo”) on a bean to give it a name > Use “#{foo}” to refer to it from JSR • Unify @Resource-style injection with Web Beans • Apply javax.interceptor more widely 31
  32. 32. Java Persistence API 2.0 • Expanded object/relational mapping functionality • Additions to the Java Persistence query language • Metamodel API • Type-safe Criteria API • Pessimistic locking • Standardized caching configuration • Support for automatic validation 32
  33. 33. JSF 2.0 • Easier to develop components • Better leverage annotations • Declarative renderers • View description language (similar to Facelets, JSFTemplating, Tiles) • Intuitive Ajax for JSF • Additions to the render kit: calendar, tree, tab view, etc. • Streamlined rendering process via caching • Scripting 33
  34. 34. Summary •Right Sizing •More Information > Java EE Hub > Profiles ● http://java.sun.com/javaee > Pruning > Java EE SDK Downloads http://java.sun.com/javaee/downloads •Extensible ● > JCP •Ease of use and > http://jcp.org/en/jsr/detail?id=316 development • RI and source code available today 34
  35. 35. GLASSFISH Q&A 35

×