SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1
GlassFish BOF
Reza Rahman, GlassFish Evangelist
Anil Gaur, VP Software Development
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing
decisions. The development, release, and timing of any
features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3
Agenda
 Journey since JavaOne 2012
 Road Ahead
 Community Feedback
 Your agenda…Q&A
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4
GlassFish Community
 Shipped Java EE 7 RI
 More social: More Twitter followers
 Community contributions
– FishCat – Mohammed, Marcus, Adam & many more
– Adopt-a-JSR effort with 20+ JUGs
– Tic Tac Toe Sample - Johan
Since JavaOne 2012…
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
Java EE 7
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7
Java EE Past, Present, & Future
J2EE 1.3
CMP,
Connector
Architecture
J2EE 1.4
Web
Services
Mgmt,
Deploymen
t,
Async
Connector
Java EE 5
Ease of
Development
,
EJB 3, JPA,
JSF, JAXB,
JAX-WS,
StAX, SAAJ
Java EE 6
Pruning,
Extensibility,
Ease of
Use,
CDI, JAX-
RS
Web
Profile
Servlet 3,
EJB 3.1 Lite
Java EE 7
JMS 2,
Batch, TX,
Concurrency,
Interceptor,
WebSocket,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8
Java EE 7
Connector
1.6
Connector
1.6
Managed Beans 1.0Managed Beans 1.0 EJB 3.2EJB 3.2
Servlet 3.1Servlet 3.1
Portable
Extension
s
Portable
Extension
s
JSF 2.2JSF 2.2 JAX-RS
2.0
JAX-RS
2.0
JMS 2.0JMS 2.0JPA 2.1JPA 2.1
EL 3.0EL 3.0
JTA 1.2JTA 1.2
JSP 2.2JSP 2.2
Interceptors 1.1Interceptors 1.1 CDI 1.1CDI 1.1
Common
Annotations 1.1
Common
Annotations 1.1
UpdatedMajor
Release
New
Concurrency Utilities
(JSR 236)
Concurrency Utilities
(JSR 236)
Batch Applications
(JSR 352)
Batch Applications
(JSR 352)
Java API for JSON
(JSR 353)
Java API for JSON
(JSR 353)
Java API for WebSocket
(JSR 356)
Java API for WebSocket
(JSR 356)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9
Java API for WebSocket
 Full-duplex, bidirectional communication over HTTP
– Part of HTML 5
 API for WebSocket Client/Server
– Declarative, annotation-driven
– Programmatic, interface-driven
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Java API for WebSocket
Connection Life Cycle
@Singleton
@ServerEndpoint(”/chat”)
public class ChatServer {
Set<Session> peers = ...
@OnOpen
public void onOpen(Session peer) {
peers.add(session);
}
@OnClose
public void onClose(Session session) {
peers.remove(session);
}
...
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Java API for WebSocket
WebSocket Communication
...
@OnMessage
public void message(String message, Session client)
throws IOException {
for (Session session : peers) {
if (!session.equals(client)) {
session.getBasicRemote().sendObject(message);
}
}
}
}
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12
JAX-RS 2
 Client API
 Message filters & entity interceptors
 Asynchronous processing
– Server and client
 Hypermedia Support
 Mime type negotiation
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13
JAX-RS 2
Client API
// Get instance of Client
Client client = ClientBuilder.newClient();
// Get customer name for the shipped products
String name = client.target(“../orders/{orderId}/customer”)
.pathParam(”orderId", ”10”)
.queryParam(”shipped", ”true”)
.request()
.get(String.class);
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14
JMS 2
 API modernization
– Streamlined APIs
– Dependency injection
– Runtime exceptions
– Builder pattern
– Intelligent defaults
 Delivery delay, async send, delivery count
 MDB alignment
 JMS resource definition
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
JMS 2
Old API
@Resource(lookup = "java:global/jms/demoConnectionFactory")
ConnectionFactory connectionFactory;
@Resource(lookup = "java:global/jms/demoQueue")
Queue demoQueue;
public void sendMessage(String payload) {
try {
Connection connection = connectionFactory.createConnection();
try {
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer =
session.createProducer(demoQueue);
TextMessage textMessage = session.createTextMessage(payload);
messageProducer.send(textMessage);
} finally {
connection.close();
}
} catch (JMSException ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
}
}
Boilerplate
Functional core
Checked exceptions
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16
JMS 2
Simplified API
@Inject
private JMSContext context;
@Resource(mappedName = "jms/inboundQueue")
private Queue inboundQueue;
public void sendMessage (String payload) {
context.createProducer().send(inboundQueue, payload);
}
Reduced to functional core
Higher-level managed, injected API
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Batch Applications for the Java Platform
 Standard Java API for batch processing
 Lingua franca for well understood batch concepts
– Jobs, job specification language (JSL), steps, readers, writers,
processors, chunking, flow, parallelization, repositories
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18
<step id=”sendStatements”>
<chunk reader ref=”accountReader”
processor ref=”accountProcessor”
writer ref=”emailWriter”
chunk-size=”10” />
</step>
Batch Applications for the Java Platform
Step Example
...implements ItemReader {
public Object readItem() {
// read account using JPA
}
...implements ItemProcessor {
Public Object processItems(Object account) {
// read Account, return Statement
}
...implements ItemWriter {
public void writeItems(List accounts) {
// use JavaMail to send email
}
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19
Concurrency Utilities for Java EE
 Provides low-level asynchronous processing capabilities to Java EE
application components in a safe, reliable, consistent manner
 Mostly extension of Java SE Concurrency Utilities APIs
– ManagedExecutorService
– ManagedScheduledExecutorService
– ManagedThreadFactory
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20
Concurrency Utilities for Java EE
Managed Task Executor
public class TestServlet extends HTTPServlet {
@Resource(name=“concurrent/MyExecutorService”)
ManagedExecutorService executor;
Future future = executor.submit(new MyTask());
class MyTask implements Runnable {
public void run() {
... // Task logic
}
}
}
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21
Many others . . .
• JSON-P: Parsing, writing and querying JSON
• JSF 2.2: @FlowScoped, HTML5 forms, CDI alignment…
• Bean Validation 1.1: Method validation, CDI alignment…
• Servlet 3.1: Non-blocking IO, Upgrade to WebSocket…
• EL 3.0: Lambda expressions, Collection, Operators…
• JPA 2.1: Schema generation, stored procedures, converters…
• JTA 1.2: @Transactional, @TransactionScoped…
• CDI 1.1: Ordering of interceptors, Servlet events, @Vetoed…
• EJB 3.2: Optional CMP/BMP…
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22
GlassFish 4
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23
GlassFish 4
 Primary focus on making Java EE 7 usable by developers
 Java EE 7 support in the Admin Console
– Java EE Concurrency, JBatch
 Background execution of admin commands
 More REST/SSE support for administration
 Log format changes
 Configuration defaults
 OSGi administration
Feature Summary
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24
GlassFish 4 and Java EE 7 Concurrency
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25
GlassFish 4 and JBatch
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26
GlassFish 4 and JBatch
 list-batch-job-executions
 list-batch-job-steps
 list-batch-jobs
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27
Attach/Detach Admin Commands
 Commands can be executed in the background
– Use --detach with any command to send to the background
– Use --terse in scripts to receive just job id
 Show all running jobs using list-jobs
 Bring a job back to the foreground using the attach command
 Use the configure-managed-jobs command to further control the
lifecycle of jobs
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
More Support for REST/SSE
 A more REST centric approach with /command/{command_name}
– GET for command syntax, POST to execute
– JSON for data interchange
curl -X POST -H "X-Requested-By: reza"
http://localhost:4848/command/uptime
 Supports Server Sent Events (SSE)
– Try the [start|stop]-cluster command
curl -X POST -H "X-Requested-By: reza"
-H "Accept: text/event-stream" -d "clusterName=c01"
http://localhost:4848/command/stop-cluster
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29
ODL vs. ULF
 Default log format changed to align with Oracle products
 Oracle Diagnostics Logging
– [yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level]
[Message ID][LoggerName][Key Value Pairs][[Message]]
 Uniform Log Formatter
– [#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|
LoggerName|Key Value Pairs|Message|#]
– Well understood from GlassFish 3.1
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
More Logging Commands
 Large set of existing logging related commands
– Define threshold, file rotation, file names, …
 New commands
– list-loggers helps in understanding logger hierarchy
– set-log-file-format to choose ODL, ULF or custom
 Still possible to use log viewer in the Admin Console
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31
Configuration Defaults
 GlassFish 3.1 – configuration values must be specified
 GlassFish 4 – introduce default values where possible
– Convergence to zero initial configuration
 get-active-module-config prints effective values
 create-module-config forces default values into the configuration
– Use as a template for configuration changes
– --dryrun just prints what’s being added
 delete-module-config removes actual configuration
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32
OSGi Administration
 GlassFish modularity is based on OSGi
– Default OSGi subsystem is Apache Felix
 Integrated GoGo interface
– The osgi command executes one GoGo command
– The osgi-shell command opens interactive GoGo console
 Optional OSGi admin console
– Add on to GlassFish
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33
More Details/Demos
 CON3319: GlassFish 4 Overview: What’s Under the Hood?
– Chanda Patel/Martin Mares
– Wednesday, September 25, 11:30 AM - 12:30 PM
– Parc 55 - Cyril Magnin I
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34
GlassFish Server
The Ecosystem
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.35
GlassFish.org – New Look and Feel!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.36
Project Avatar
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.37
What is Avatar?
 Industry trends
– HTML5 and JavaScript is a significant trendsetter in market
– HTML5 Connectivity – need a server
– Strong interest in server-side JavaScript; horizontally scale
– Native Applications gaining ground (but expensive)
– Simplified user interface for browser-based applications for mobile, tablets and desktops
 Avatar Scope
– Java EE features to support HTML5 connectivity
 WebSocket, JAX-RS, Server Sent Events
– JavaScript services on the server
– Enable Thin Server Architecture
 Web Application Framework
R&D on HTML5/JavaScript
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.38
Project Avatar Architecture 1. Publishing services using
3 programming models:
1. WebSockets
2. RESTful WebServices
3. Server-Sent Events (SSE)
2. Node.js services &
programming model
hosted on the JVM
(avatar.js on Nashorn)
3. Optional server-side
template support for
HTML5 data binding
4. Optional client library to
consume all the above
HTML
5
Client
HTML
5
Client*.html*.html
*.js*.js
*.css*.css
HTTP
(REST)
Web
Sockets
SSE
Application
Server
Java EEJava EE
JMSJMS
EJBEJB
JPAJPA
Avatar
Server
Avatar
Server
JAXB
JSONB
JAXB
JSONB
Data
Access
Change
Notification
Databases
Node.jarNode.jar
NashornNashorn
44
11
33
22
ServletsServlets
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.39
Avatar DemoAvatar Demo
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.40
Project Avatar
 Participate and provide feedback
– Join avatar.java.net
– Download and Review sample applications
– Use Project Avatar
– Ask questions
– What is the direction we should take?
 GlassFish Open Source Project
 Java EE .next
Call to Action
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.41
Roadmap
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.42
GlassFish Server Roadmap
GlassFish Server 4.0GlassFish Server 4.0 GlassFish Server 4.1GlassFish Server 4.1
20122012 20132013 20142014
GlassFish Server 3.1.2.2GlassFish Server 3.1.2.2
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.43
The Future of Java EE
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.44
Summary
 Java EE 7 themes are HTML5, productivity and enterprise needs
 Well received by the community
 GlassFish 4 reference implementation and first application server
implementing Java EE 7
 Oracle continues to invest in Java EE/GlassFish
 Get involved in shaping the future!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.45
Try it Out!
4.0
http://glassfish.org
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.46

Weitere ähnliche Inhalte

Was ist angesagt?

Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0David Delabassee
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Heather VanCura
 
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishJava API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishArun Gupta
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishArun Gupta
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0mnriem
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8David Delabassee
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?Fred Rowe
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Alex Kosowski
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouEdward Burns
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)Fred Rowe
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Edward Burns
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7Bruno Borges
 
Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianReza Rahman
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015Edward Burns
 
Java EE7
Java EE7Java EE7
Java EE7Jay Lee
 

Was ist angesagt? (19)

Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishJava API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFish
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
 
Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using Arquillian
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Java EE7
Java EE7Java EE7
Java EE7
 

Ähnlich wie GlassFish BOF: Java EE 7 Updates and GlassFish 4 Roadmap

Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...jaxLondonConference
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Arun Gupta
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Bruno Borges
 
'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel DeakinC2B2 Consulting
 
The Java EE 7 Platform: Productivity++ & Embracing HTML5
The Java EE 7 Platform: Productivity++ & Embracing HTML5The Java EE 7 Platform: Productivity++ & Embracing HTML5
The Java EE 7 Platform: Productivity++ & Embracing HTML5Arun Gupta
 
What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013Jagadish Prasath
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)Shing Wai Chan
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0Bruno Borges
 
Fifty New Features of Java EE 7 in Fifty Minutes
Fifty New Features of Java EE 7 in Fifty MinutesFifty New Features of Java EE 7 in Fifty Minutes
Fifty New Features of Java EE 7 in Fifty MinutesArun Gupta
 
Fifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 MinutesFifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 Minutesglassfish
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGArun Gupta
 
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)Shing Wai Chan
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Edward Burns
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Bruno Borges
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in actionAnkara JUG
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java PlatformSivakumar Thyagarajan
 

Ähnlich wie GlassFish BOF: Java EE 7 Updates and GlassFish 4 Roadmap (20)

Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
Java ee7 1hour
Java ee7 1hourJava ee7 1hour
Java ee7 1hour
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
 
'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin
 
The Java EE 7 Platform: Productivity++ & Embracing HTML5
The Java EE 7 Platform: Productivity++ & Embracing HTML5The Java EE 7 Platform: Productivity++ & Embracing HTML5
The Java EE 7 Platform: Productivity++ & Embracing HTML5
 
What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0
 
Fifty New Features of Java EE 7 in Fifty Minutes
Fifty New Features of Java EE 7 in Fifty MinutesFifty New Features of Java EE 7 in Fifty Minutes
Fifty New Features of Java EE 7 in Fifty Minutes
 
Fifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 MinutesFifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 Minutes
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
 
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java Platform
 

Kürzlich hochgeladen

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

GlassFish BOF: Java EE 7 Updates and GlassFish 4 Roadmap

  • 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1 GlassFish BOF Reza Rahman, GlassFish Evangelist Anil Gaur, VP Software Development
  • 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3 Agenda  Journey since JavaOne 2012  Road Ahead  Community Feedback  Your agenda…Q&A
  • 4. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4 GlassFish Community  Shipped Java EE 7 RI  More social: More Twitter followers  Community contributions – FishCat – Mohammed, Marcus, Adam & many more – Adopt-a-JSR effort with 20+ JUGs – Tic Tac Toe Sample - Johan Since JavaOne 2012…
  • 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5
  • 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6 Java EE 7
  • 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Java EE Past, Present, & Future J2EE 1.3 CMP, Connector Architecture J2EE 1.4 Web Services Mgmt, Deploymen t, Async Connector Java EE 5 Ease of Development , EJB 3, JPA, JSF, JAXB, JAX-WS, StAX, SAAJ Java EE 6 Pruning, Extensibility, Ease of Use, CDI, JAX- RS Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurrency, Interceptor, WebSocket, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8 Java EE 7 Connector 1.6 Connector 1.6 Managed Beans 1.0Managed Beans 1.0 EJB 3.2EJB 3.2 Servlet 3.1Servlet 3.1 Portable Extension s Portable Extension s JSF 2.2JSF 2.2 JAX-RS 2.0 JAX-RS 2.0 JMS 2.0JMS 2.0JPA 2.1JPA 2.1 EL 3.0EL 3.0 JTA 1.2JTA 1.2 JSP 2.2JSP 2.2 Interceptors 1.1Interceptors 1.1 CDI 1.1CDI 1.1 Common Annotations 1.1 Common Annotations 1.1 UpdatedMajor Release New Concurrency Utilities (JSR 236) Concurrency Utilities (JSR 236) Batch Applications (JSR 352) Batch Applications (JSR 352) Java API for JSON (JSR 353) Java API for JSON (JSR 353) Java API for WebSocket (JSR 356) Java API for WebSocket (JSR 356)
  • 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9 Java API for WebSocket  Full-duplex, bidirectional communication over HTTP – Part of HTML 5  API for WebSocket Client/Server – Declarative, annotation-driven – Programmatic, interface-driven
  • 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10 Java API for WebSocket Connection Life Cycle @Singleton @ServerEndpoint(”/chat”) public class ChatServer { Set<Session> peers = ... @OnOpen public void onOpen(Session peer) { peers.add(session); } @OnClose public void onClose(Session session) { peers.remove(session); } ...
  • 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11 Java API for WebSocket WebSocket Communication ... @OnMessage public void message(String message, Session client) throws IOException { for (Session session : peers) { if (!session.equals(client)) { session.getBasicRemote().sendObject(message); } } } }
  • 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12 JAX-RS 2  Client API  Message filters & entity interceptors  Asynchronous processing – Server and client  Hypermedia Support  Mime type negotiation
  • 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 JAX-RS 2 Client API // Get instance of Client Client client = ClientBuilder.newClient(); // Get customer name for the shipped products String name = client.target(“../orders/{orderId}/customer”) .pathParam(”orderId", ”10”) .queryParam(”shipped", ”true”) .request() .get(String.class);
  • 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 JMS 2  API modernization – Streamlined APIs – Dependency injection – Runtime exceptions – Builder pattern – Intelligent defaults  Delivery delay, async send, delivery count  MDB alignment  JMS resource definition
  • 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15 JMS 2 Old API @Resource(lookup = "java:global/jms/demoConnectionFactory") ConnectionFactory connectionFactory; @Resource(lookup = "java:global/jms/demoQueue") Queue demoQueue; public void sendMessage(String payload) { try { Connection connection = connectionFactory.createConnection(); try { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer messageProducer = session.createProducer(demoQueue); TextMessage textMessage = session.createTextMessage(payload); messageProducer.send(textMessage); } finally { connection.close(); } } catch (JMSException ex) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex); } } Boilerplate Functional core Checked exceptions
  • 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16 JMS 2 Simplified API @Inject private JMSContext context; @Resource(mappedName = "jms/inboundQueue") private Queue inboundQueue; public void sendMessage (String payload) { context.createProducer().send(inboundQueue, payload); } Reduced to functional core Higher-level managed, injected API
  • 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17 Batch Applications for the Java Platform  Standard Java API for batch processing  Lingua franca for well understood batch concepts – Jobs, job specification language (JSL), steps, readers, writers, processors, chunking, flow, parallelization, repositories
  • 18. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18 <step id=”sendStatements”> <chunk reader ref=”accountReader” processor ref=”accountProcessor” writer ref=”emailWriter” chunk-size=”10” /> </step> Batch Applications for the Java Platform Step Example ...implements ItemReader { public Object readItem() { // read account using JPA } ...implements ItemProcessor { Public Object processItems(Object account) { // read Account, return Statement } ...implements ItemWriter { public void writeItems(List accounts) { // use JavaMail to send email }
  • 19. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19 Concurrency Utilities for Java EE  Provides low-level asynchronous processing capabilities to Java EE application components in a safe, reliable, consistent manner  Mostly extension of Java SE Concurrency Utilities APIs – ManagedExecutorService – ManagedScheduledExecutorService – ManagedThreadFactory
  • 20. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20 Concurrency Utilities for Java EE Managed Task Executor public class TestServlet extends HTTPServlet { @Resource(name=“concurrent/MyExecutorService”) ManagedExecutorService executor; Future future = executor.submit(new MyTask()); class MyTask implements Runnable { public void run() { ... // Task logic } } }
  • 21. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21 Many others . . . • JSON-P: Parsing, writing and querying JSON • JSF 2.2: @FlowScoped, HTML5 forms, CDI alignment… • Bean Validation 1.1: Method validation, CDI alignment… • Servlet 3.1: Non-blocking IO, Upgrade to WebSocket… • EL 3.0: Lambda expressions, Collection, Operators… • JPA 2.1: Schema generation, stored procedures, converters… • JTA 1.2: @Transactional, @TransactionScoped… • CDI 1.1: Ordering of interceptors, Servlet events, @Vetoed… • EJB 3.2: Optional CMP/BMP…
  • 22. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22 GlassFish 4
  • 23. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23 GlassFish 4  Primary focus on making Java EE 7 usable by developers  Java EE 7 support in the Admin Console – Java EE Concurrency, JBatch  Background execution of admin commands  More REST/SSE support for administration  Log format changes  Configuration defaults  OSGi administration Feature Summary
  • 24. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24 GlassFish 4 and Java EE 7 Concurrency
  • 25. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25 GlassFish 4 and JBatch
  • 26. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26 GlassFish 4 and JBatch  list-batch-job-executions  list-batch-job-steps  list-batch-jobs
  • 27. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27 Attach/Detach Admin Commands  Commands can be executed in the background – Use --detach with any command to send to the background – Use --terse in scripts to receive just job id  Show all running jobs using list-jobs  Bring a job back to the foreground using the attach command  Use the configure-managed-jobs command to further control the lifecycle of jobs
  • 28. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28 More Support for REST/SSE  A more REST centric approach with /command/{command_name} – GET for command syntax, POST to execute – JSON for data interchange curl -X POST -H "X-Requested-By: reza" http://localhost:4848/command/uptime  Supports Server Sent Events (SSE) – Try the [start|stop]-cluster command curl -X POST -H "X-Requested-By: reza" -H "Accept: text/event-stream" -d "clusterName=c01" http://localhost:4848/command/stop-cluster
  • 29. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29 ODL vs. ULF  Default log format changed to align with Oracle products  Oracle Diagnostics Logging – [yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level] [Message ID][LoggerName][Key Value Pairs][[Message]]  Uniform Log Formatter – [#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version| LoggerName|Key Value Pairs|Message|#] – Well understood from GlassFish 3.1
  • 30. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30 More Logging Commands  Large set of existing logging related commands – Define threshold, file rotation, file names, …  New commands – list-loggers helps in understanding logger hierarchy – set-log-file-format to choose ODL, ULF or custom  Still possible to use log viewer in the Admin Console
  • 31. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31 Configuration Defaults  GlassFish 3.1 – configuration values must be specified  GlassFish 4 – introduce default values where possible – Convergence to zero initial configuration  get-active-module-config prints effective values  create-module-config forces default values into the configuration – Use as a template for configuration changes – --dryrun just prints what’s being added  delete-module-config removes actual configuration
  • 32. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32 OSGi Administration  GlassFish modularity is based on OSGi – Default OSGi subsystem is Apache Felix  Integrated GoGo interface – The osgi command executes one GoGo command – The osgi-shell command opens interactive GoGo console  Optional OSGi admin console – Add on to GlassFish
  • 33. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33 More Details/Demos  CON3319: GlassFish 4 Overview: What’s Under the Hood? – Chanda Patel/Martin Mares – Wednesday, September 25, 11:30 AM - 12:30 PM – Parc 55 - Cyril Magnin I
  • 34. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34 GlassFish Server The Ecosystem
  • 35. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.35 GlassFish.org – New Look and Feel!
  • 36. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.36 Project Avatar
  • 37. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.37 What is Avatar?  Industry trends – HTML5 and JavaScript is a significant trendsetter in market – HTML5 Connectivity – need a server – Strong interest in server-side JavaScript; horizontally scale – Native Applications gaining ground (but expensive) – Simplified user interface for browser-based applications for mobile, tablets and desktops  Avatar Scope – Java EE features to support HTML5 connectivity  WebSocket, JAX-RS, Server Sent Events – JavaScript services on the server – Enable Thin Server Architecture  Web Application Framework R&D on HTML5/JavaScript
  • 38. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.38 Project Avatar Architecture 1. Publishing services using 3 programming models: 1. WebSockets 2. RESTful WebServices 3. Server-Sent Events (SSE) 2. Node.js services & programming model hosted on the JVM (avatar.js on Nashorn) 3. Optional server-side template support for HTML5 data binding 4. Optional client library to consume all the above HTML 5 Client HTML 5 Client*.html*.html *.js*.js *.css*.css HTTP (REST) Web Sockets SSE Application Server Java EEJava EE JMSJMS EJBEJB JPAJPA Avatar Server Avatar Server JAXB JSONB JAXB JSONB Data Access Change Notification Databases Node.jarNode.jar NashornNashorn 44 11 33 22 ServletsServlets
  • 39. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.39 Avatar DemoAvatar Demo
  • 40. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.40 Project Avatar  Participate and provide feedback – Join avatar.java.net – Download and Review sample applications – Use Project Avatar – Ask questions – What is the direction we should take?  GlassFish Open Source Project  Java EE .next Call to Action
  • 41. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.41 Roadmap
  • 42. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.42 GlassFish Server Roadmap GlassFish Server 4.0GlassFish Server 4.0 GlassFish Server 4.1GlassFish Server 4.1 20122012 20132013 20142014 GlassFish Server 3.1.2.2GlassFish Server 3.1.2.2
  • 43. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.43 The Future of Java EE
  • 44. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.44 Summary  Java EE 7 themes are HTML5, productivity and enterprise needs  Well received by the community  GlassFish 4 reference implementation and first application server implementing Java EE 7  Oracle continues to invest in Java EE/GlassFish  Get involved in shaping the future!
  • 45. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.45 Try it Out! 4.0 http://glassfish.org
  • 46. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.46

Hinweis der Redaktion

  1. We are very excited to announce Java Enterprise Edition 7. We&apos;re committed to Java EE, not just by leading Java EE 7, but also in the products that Oracle delivers. This platform is a culmination of work by all of us, Oracle, our Java Partners and of course you, the Java community So without further ado, I’d like to invite Cameron Purdy, VP of Development, to tell us more about the platform. Congratulations Cameron (hand shake)