Java Platform, Enterprise Edition 6 (Java EE 6) is the new, improved release of Java EE 5 with new features and a corresponding release of GlassFish v3.
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Sun Java EE 6 Overview
1. What's New with
Java EE 6?
John Clingan
GlassFish Group Product Manager
Harpreet Singh
GlassFish Product Marketing Manager
1
2. Java EE: Past & Present
Rightsizing
Ease of
Development
Java EE 6
Web
Services Pruning
Java EE 5 Extensibility
Robustness Profiles
Enterprise Java Ease of
Platform
J2EE 1.4 Development Ease of
Development
Annotations
J2EE 1.3 Web EJB Lite
J2EE 1.2 Services EJB 3.0
RESTful
Management
CMP Persistence Services
Servlet Deployment
JPE Connector New and Dependency
Project JSP Architecture Async. Updated Ejection
Connector
EJB Web Services
JMS Web Profile
RMI/IIOP
2
3. Java EE Adoption
Y / Y D o w n lo a d G r o w t h
Over 18M Downloads 12,000,000
since FY'06
08/.../08 10,000,000
8,000,000
Active Users 6,000,000
Downloads
4,000,000
2,000,000
0
FY 06 FY 07 FY 08 FY 09
3
5. Java EE 6 Platform
Goals
• Rightsizing
> Flexible
> Lighter weight
• Extensible
> Embrace Open Source
Frameworks
• Productive
> Improve on Java EE 5
5
6. Rightsizing the Platform: Profiles
Platform Flexibility
• Decouple specifications to
allow more combinations
• Expand potential licensee
ecosystem
• Profiles
> Targeted technology bundles
> Web Profile
6
7. Rightsizing the Platform
Web Profile
• Fully functional mid-sized
profile
• Actively discussed
> Expert Group
> Industry
• 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, Common Annotations
7
8. Rightsizing the Platform
Pruning (Deprecation)
• Some technologies optional
> Optional in next release
> Deleted in subsequent release
> Marked in Javadocs
• Pruning list
> JAX-RPC
> EJB 2.x Entity Beans
> JAXR
> JSR-85 (Rules based Auth & Audit)
8
9. Rightsizing the Platform
Extensibility
• Embrace open source
libraries and frameworks
• Zero-configuration, drag-n-
drop web frameworks
> Servlets, servlet filters
> Framework context listeners
are discovered & registered
• Plugin library jars using Web
Fragments
9
10. Ease of Development
Extensibility
• Continue Java EE 5 advancements
• 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
10
11. Ease of Development
Adding an EJB to a Web Application
ShoppingCart
BuyBooks.war EJB Class BuyBooks.war
ShoppingCart.jar
ShoppingCart
EJB Class
BuyBooks.ear
11
12. Ease of Development - Annotations
Servlet in Java EE 5: Create two source files
/* Code in Java Class */ <!--Deployment descriptor web.xml
-->
package com.foo; <web-app>
public class MyServlet extends
HttpServlet { <servlet>
public void <servlet-name>MyServlet
doGet(HttpServletRequest </servlet-name>
req,HttpServletResponse res) <servlet-class>
com.foo.MyServlet
{ </servlet-class>
</servlet>
... <servlet-mapping>
<servlet-name>MyServlet
} </servlet-name>
<url-pattern>/myApp/*
</url-pattern>
</servlet-mapping>
... ...
</web-app>
}
12
13. Ease of Development - Annotations
Java EE 6 Servlet: Single Source file (many cases)
package com.foo;
@WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”)
public class MyServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse res)
{
...
}
13
15. Java Enterprise Edition 6
Status
• Most public reviews complete
• JSR 330 Recently added
> Revised schedule
> Final release in Q4 2009
• GlassFish v3 Preview
> Reference Implementation
15
16. Java Enterprise Edition 6
Servlet 3.0
• Annotations for ease of
development
• Optional web.xml
• Better defaults
• Web Framework pluggability
• Asynchronous Processing
16
17. Java Enterprise Edition 6
Servlet 3.0 Asynchronous API
• Useful for Comet, 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)
• Then paired with complete()
17
18. Java Enterprise Edition 6
EJB 3.1
• Ease-of-use improvements
• No-interface view
> Once source file per bean
• EJB inside web applications
> No ejb-jar
> Use WEB-INF/classes
> Shared component environment
• Portable JNDI
18
19. Java Enterprise Edition 6
EJB 3.1
• Singleton beans: @Singleton
> Shared state
> One instance per bean per JVM
> Container/Bean managed security
@ConcurrencyManagement
• Lightweight asynchronicity
> Async business methods
@Asynchronous
> Methods must return
void or Future <T>
19
20. Java Enterprise Edition 6
EJB 3.1
• Enhanced EJB Timer Service
> Cron-like scheduling
> Initialization-time timer creation
@Schedule(dayOfWeek=”Mon/Wed”)
• Embeddable EJB Container
> Use in JavaSE environments
> Bootstrapping API
EJBContainer
20
21. Java Enterprise Edition 6
Enterprise Java Beans 3.1 Features
EJB 3.1 Lite EJB 3.1
Local Session Beans P P
Declarative Security P P
Transactions (CMT/BMT) P P
Interceptors P P
Security P P
Message Driven Beans P
RMI/IIOP Interop. & Remote View P
EJB 2.x Backwards Compatability P
Timer Service P
Asynchronous P
21
24. GlassFish v3
Top Features
• Java EE 6 support
• Developer Productivity
• Modular
• Extensible
• Embeddable
• Observable
24
25. GlassFish v3
Java EE 6 Support
• Java EE 6 Reference
Implementation
• Downloadable bundles*
> Web Profile
> Java EE 6
* https://glassfish.dev.java.net/public/downloadsindex.html
25
26. GlassFish v3 Features
Developer Productivity
• Getting Started
> Small download
> Fast startup time
> Intuitive user interface
• Using GlassFish
> Low resource utilization
> Command Line Interface
> Maven support
> Included in Netbeans and GlassFish Tools
Bundle for Eclipse
> Rapid iterative development
26
27. GlassFish v3 Features
Wait, there's more ...
• Modularity/OSGi
• Extensible
• RESTful administration API
• Fine-grained monitoring
27
29. GlassFish Enterprise Server v3
Alternative Languages
• Can deploy as web application
• New to GlassFish v3
> Jruby/Jython modules
> No web container
> Dynamic pooling of JRuby
containers
29
31. GlassFish Enterprise Server v3
Roadmap
• GlassFish Enterprise Server
v2.1 – Feb 2009
• GlassFish Enterprise Server v3
Prelude – Oct 2009
• GlassFish v3 – Nov 24, 2009*
* http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3Schedule
31
32. Summary
Java EE 6 GlassFish v3
• Right-Sizing • Java EE 6
• Extensible • Modular
• Ease of • Extensible
use/development • Developer
productivity
32
33. Sun GlassFish Enterprise Server
Enterprise Subscriptions
• 24x7x365 Support, Patches
• Enterprise Manager
• Supported releases
> GlassFish Enterprise Server v2.x
> GlassFish Enterprise Server v3
Prelude
• Contact glassfish@sun.com to learn
more
33
34. Sun Software Subscriptions -
Paying at the point of value
Open Source Supported Software
Source Code Subscription Agreements
• Binary Product • Global Phone and Web Support
• Simple Training • Issue Escalation Process
• Subscription-only Product
• Security Help Features
• Developer/Tools/Tips • Traditional Contractual
Coverages
• Services & Training
35. GlassFish Enterprise Server
Sun software - a simple approach to support
You may use phone or web to contact our experts 24 hours a day,
worldwide. Get the experience and issue resolution necessary help to keep
your business running!
Ability to escalate bugs to an out of cycle patch or engineering attention;
you have visibility into the issue resolution process.
Access to Sun Knowledge Base.
Technical support assistance backed by the engineers who wrote &/or
solidified the code.
Proactive Sun Alerts and Notifications.
Low risk, tested fixes and features for mission critical deployments
Access to aggregated content like bugs fixed, docs, latest news,
promotions and tech tips
35
36. GlassFish Enterprise Server
Why Else should I subscribe?
Subscription-Exclusive Features:
GlassFish Enterprise Manager -
• SNMP Monitoring
• Application Server Tuning
• Alerts (CPU Usage Trends, Memory Alerts, etc.)
GlassFish Update Center -
• Delivers GlassFish add-on components, updates & provides mechanism to
enable community contributions.
• Use Update Center to get latest and greatest technology binaries.
• Provides the service, access and installation of updates patches available.
Contractual Coverage: Optional indemnification & Limitation of Liability
36