enterprise edition (java ee) 6 overview 2940
TRANSCRIPT
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
1/28
Java Platform,Enterprise Edition (Java
EE) 6 Overview
Roberto Chinnici
Sun Microsystems, Inc.
2940
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
2/28
2
Agenda
> Java EE Platform evolut ion
> Theme and features
> Components (JSRs)
> Timeline> Get involved!
> The Great Web Profile Poll
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
3/28
3
Ease of Developm ent Focus
Major Revamp of Programming Model
EJB 3.0 support for POJOs means less to
learn, less to code and less to maintain
New Java Persistence API makes object /
relational mapping cleaner and easier
New and updated W eb Services (JAX-W S 2.0
and JAXB 2.0) simplifies SOA implem entationJavaServer Faces 1.2 facilitates building
W eb 2.0 Applications with AJAX
Annotations often eliminate the need for
deployment descriptors
Supported by NetBeans
5.5 EnterprisePack
Get the SDK:
http://java.sun.com /javaee/downloads/
Java EE 5
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
4/28
4
Java EE 5 Implementations
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
5/28
5
History of Enterprise Java
May 1998 Dec 1999 Sept 2001 Nov 2003 March 20050
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
JPEProject
J2EE 1.2
Servlet , JSP,EJB, JMSRMI/ IIOP
J2EE 1.3CMP,
ConnectorArchitecture
J2EE 1.4Web Services,
Management,Deployment,Async.
Connector
Java EE 5Ease ofDevelopmentAnnotationsEJB 3.0Persistence API
New andUpdated
Web Services
Robustness
WebServices
EnterpriseJava
Platform
`
Ease ofDevelopment
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
6/28
6
Theme for Java EE 6
Rightsizing
=Flexibility, Focus, Simplification
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
7/28
7
Rightsizing Explained
> Enable flexibility at development and deployment
> Make it possible to focus on specif ic classes ofapplications
> Simplify by removing rarely used or superseded APIs
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
8/28
8
New Java EE 6 Features
> Profiles
> Pruning
> Extensibility
> More ease of development
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
9/28
9
Profiles
> Rules defined by the Java EE Platform spec
> Profiles can be
proper subsets
proper supersets overlapping (drop something, add something
else)
> Web Prof ile defined right away
> Other prof iles fol low regular JCP process
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
10/28
10
Pruning
> Make some components optional
> Strong signal for all new development work
> Same rules proposed by Java SE
pruned now, optional in next release> Pruning candidates:
JAX- RPC, EJB Entity Beans
JAXR, JSR- 88
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
11/28
11
Extensibility
> Embrace open source libraries and frameworks
> Create a level playing field
> Enable simple pluggabili ty of technologies
> Script ing as a f irst- class cit izen
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
12/28
12
Ease of Development in the WebTier> Use of annotations across all web APIs
> No edit ing of web.xml required
> Self- registration of third- party libraries
> Simplif ied packaging> JAX- RS for RESTful web services
> Script ing support via extensibili ty
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
13/28
13
JAX- RS Sampleimport javax.ws.rs.*;
import org.apache.abdera.model.*;
@Path("activitylog")
@ProduceMime("applicat ion/ atom+ xml")
public class ActivityLog {@GET
public Feed getFeed() {...}
@GET @Path("{id}")
public Entry getEntry(@PathParam("id") String id) {...}
}
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
14/28
14
EJB 3.1
> Singletons
> Opt ional local interfaces
> Simplif ied packaging in web apps
> Applicat ion startup/ shutdown events> Calendar- based t imers
> Global JNDI names
> EJB Lite
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
15/28
15
EJB 3.1 Sample (1)@Startup
@Singleton
public class SingleBean {
@PostConstruct
public void onStartup() {... applicat ion ini t ialization code goes here ...
}
... more methods to access shared data ...
}
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
16/28
16
EJB 3.1 Sample (2)@Stateless
publ ic class TimerBean {
@Schedule(dayOfWeek= Sun)
public void onSunday() {... periodically do some work ...
}
}
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
17/28
17
EJB 3.1 Sample (3)@Stateless
publ ic class HelloWorldBean/ * no interface */ {
publ ic String hello(String name) {
return hello, + name;
}}
@EJBHelloWorldBean hello;
hello.hello(David);
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
18/28
18
New JSRs in Java EE 6
> EJB 3.1
> JPA 2.0
> Servlet 3.0
> JSF 2.1> JAX- RS 1.0
> WebBeans 1.0
> Java Connector Archi tecture 1.6
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
19/28
19
More JSRs We Track
> Bean Validation (JSR- 303)
> Timer API (JSR- 236)
> Work Manager API (JSR- 237)
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
20/28
20
Other Components
> Java SE 6 underneath
> Point updates:
JAX- WS 2.2
JSR- 109 1.3 JSP 2.2
> Completed JSRs:
JSR- 196
JAXB 2.2
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
21/28
21
Timeline
> June 2007 Expert group formed
> Q3 2008 Public draft
> Q4 2008 Proposed f inal draft
> Q2 2009 Final release
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
22/28
22
Participate!
> Early/ publ ic drafts available for many of the specs
> Send feedback
> Cont ribute to the GlassFish implementat ion
> Use TP2, blog about it
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
23/28
23
GlassFish V3
> Open source implementat ion of Java EE 6
> Fully modular, extensible
> OSGi R4 based
> Small footpr int , fast startup> Mult ip le containers, including JRuby, Groovy
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
24/28
24
Web Profile Options (from my blog)
> Aservlets, JSP, JSTL, EL, JSR- 45, JSR- 250
> B = A +
EJB Lite, JTA, JPA, JSF, WebBeans
> C = Full Platform = B +
JAX- RS, Connectors, JMS, JAF, JavaMail,
JAX- WS, JAXB, JSR- 181, JSR- 109,
JSR- 115, JSR- 196, JSR- 77,
JAX- RPC*, JAXR*, JSR- 88*
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
25/28
25
Java.net Poll
> 1. A small set of JSRs
> 2. A larger set of JSRs wi thout JSR or WebBeans
> 3. A larger set of JSRs with JSR and WebBeans
> 4. I'm not interested in Java EE 6 prof iles
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
26/28
26
Java.net Poll (Results)
> 1. A small set of JSRs
> 2. A larger set of JSRs without JSR or
WebBeans
> 3. A larger set of JSRs with JSR and WebBeans
> 4. I'm not interested in Java EE 6 prof iles
17%
11.9%
46.7%
24.2%
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
27/28
27
Q&A
-
8/14/2019 Enterprise Edition (Java EE) 6 Overview 2940
28/28
Roberto Chinnicihttp:/ / weblogs.java.net/ blog/ robc/
Sun Microsystems, Inc. [email protected]