SlideShare a Scribd company logo
1 of 31
Download to read offline
Copyright © 2012, Oracle and/or its affiliates. 1 All rights reserved.
Java EE 7 in Practice 
BluePrints Reborn 
Jagadish Ramu 
Application Server Team 
jagadish.ramu@oracle.com
The preceding 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 © 2014, Oracle and/or its affiliates. All rights 3 reserved. Public
Program Agenda 
 Java EE 7 
 Cargo Tracker (Blueprints) 
 The API Changes + The Code! 
 Looking Ahead… 
Copyright © 2014, Oracle and/or its affiliates. All 4 rights reserved. Public
Java EE Past, Present and Future 
J2EE 1.3 
CMP, 
Connector 
Architecture 
Copyright © 2014, Oracle and/or its affiliates. All rights 5 reserved. Public 
J2EE 1.4 
Web 
Services 
Mgmt, 
Deployment, 
Connectors 
Inbound 
Java EE 5 
Ease of 
Development, 
EJB 3, JPA, 
JSF, JAXB, 
JAX-WS, StAX, 
SAAJ 
Java EE 6 
Profiles, 
CDI, 
Validation, 
Pruning, 
Extensibility, 
Ease of Dev, 
JAX-RS 
Web Profile 
EJB 3.1 Lite 
Servlet 3, 
Java EE 7 
JMS 2, Batch, 
TX, 
Concurrency, 
Interceptor 
WebSocket 
JSON 
Web Profile 
JAX-RS 2 
J2EE 1.2 
Servlet, JSP, 
EJB, JMS, RMI
Java EE 7 
Portable 
Extensions 
JAX-RS 
2.0 
Common 
Annotations 1.2 
MMaannaaggeedd B Beeaannss 1 1.0.0 EEJJBB 3 3.2.2 
Connector 
Connector 
1.7 
1.7 
Copyright © 2014, Oracle and/or its affiliates. All rights 6 reserved. Public 
SSeerrvvlelet t3 3.1.1 
Portable 
Extensions 
JJSSFF 2 2.2.2 JAX-RS 
2.0 
EELL 3 3.0.0 
JJPPAA 2 2.1.1 JJTTAA 1 1.2.2 
JJMMSS 2 2.0.0 
JJSSPP 2 2.3.3 
Common InInteterrcceepptotorrss 1 1.2.2 CCDDI I1 1.1.1 
Annotations 1.2 
Major Updated 
Release 
New 
Concurrency Utilities 
Concurrency Utilities 
(JSR 236) 
(JSR 236) 
Batch Applications 
Batch Applications 
(JSR 352) 
(JSR 352) 
Java API for JSON 
Java API for JSON 
(JSR 353) 
(JSR 353) 
Java API for WebSocket 
Java API for WebSocket 
(JSR 356) 
(JSR 356)
Java EE in Action 
http://cargotracker.java.net 
The Blueprints 
Copyright © 2014, Oracle and/or its affiliates. All rights 7 reserved. Public
Domain Driven Design – Java EE Technologies/API 
Interface 
Application 
Entities 
Value Objects 
Infrastructure 
Repository 
JSF 
EJB 
JPA Entity Manager 
Copyright © 2014, Oracle and/or its affiliates. All rights 9 reserved. Public 
JAX-RS Web Socket 
JPA Entities 
JPA Embeddable 
Batch 
JPA JMS JAX-RS Client EJB Client 
CDI
Cargo Tracker – The Blueprints 
Java EE features used in Cargo Tracker 
Java EE API Features 
JSF Facelets, templates, view parameters, view actions, message bundles, CDI compatible view scope, HTML 5 pass-though 
attributes, HTML 5 pass-though elements 
CDI Basic injection, scopes, named beans, qualifiers, events, observers, default enablement, 
EJB Transactions, stateless session bean, message driven bean, startup singleton, CRON style scheduling, application exceptions, 
XML deployment descriptors, portable activation configuration 
JPA Generated ID, basic mapping, embeddables, many-to-one, one-to-many, enumerations, temporal types, named queries, managed 
persistence context, portable data source definition, schema generation 
JAX-RS REST endpoint, MIME types, client API, JSON processing, content-type negotiation 
WebSocket Server-side endpoint, sending messages to remote endpoints, EJB integration 
JSON-P Writing JSON using Streaming API 
Bean 
Validation 
Basic validation annotations, method level validation for REST endpoints, method level validation for local EJB application 
services 
JMS JMS 2 simplified API message send, portable JMS resource definition 
Java Batch Job operator, job XML, job properties, job context, job listener, skip listener, reader, writer, skippable exceptions, checkpointing, 
chunking 
JTA 1.2 @Transactional interceptor 
Copyright © 2014, Oracle and/or its affiliates. All rights 10 reserved. Public
Cargo Tracker - Demo 
Copyright © 2014, Oracle and/or its affiliates. All rights 11 reserved. Public
JMS 2 
 API modernization 
– Dependency injection 
– Fluent APIs 
– Intelligent defaults 
– Unchecked exceptions 
 New features 
– Delivery delay, async send 
 Platform alignment 
– MDB activation properties, JMS resource definition 
Copyright © 2014, Oracle and/or its affiliates. All rights 12 reserved. Public 
Java EE 7
JMS 2 (Contd.) 
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); 
} 
} 
Copyright © 2014, Oracle and/or its affiliates. All rights 13 reserved. Public
JMS 2 (Contd.) 
Simplified API 
@Inject 
private JMSContext context; 
@Resource(lookup = "jms/demoQueue") 
private Queue demoQueue; 
public void sendMessage (String payload) { 
context.createProducer().send(demoQueue, payload); 
} 
Copyright © 2014, Oracle and/or its affiliates. All rights 14 reserved. Public
JMS 2 (Contd.) 
Creating Resources 
@JMSConnectionFactoryDefinition( 
name="java:global/jms/demoConnectionFactory", 
interfaceName= "javax.jms.ConnectionFactory", 
description="ConnectionFactory to use in demonstration") 
@JMSDestinationDefinition( 
name = "java:global/jms/demoQueue", 
description = "Queue to use in demonstration", 
interfaceName = "javax.jms.Queue", 
destinationName="demoQueue") 
Copyright © 2014, Oracle and/or its affiliates. All rights 16 reserved. Public
Batch Processing 
 API for robust batch processing targeted to Java EE, Java SE 
 Common architecture 
– Operator, repository, job, step, reader-processor-writer pattern 
 Common features 
– Chunking, check-pointing, transactions, retries, skippable-exceptions, workflow, 
parallelism 
Copyright © 2014, Oracle and/or its affiliates. All rights 17 reserved. Public
Batch Processing (Contd.) 
API for Robust Batch Processing 
Copyright © 2014, Oracle and/or its affiliates. All rights 18 reserved. Public
Batch Processing (Contd.) 
Step Example 
<step id=”sendStatements”> 
<chunk reader=”accountReader” 
processor=”accountProcessor” 
writer=”emailWriter” 
item-count=”10” /> 
</step> 
Copyright © 2014, Oracle and/or its affiliates. All rights 19 reserved. Public 
@Named(“accountReader") 
...implements ItemReader... { 
public Account readItem() { 
// read account using JPA 
@Named(“accountProcessor") 
...implements ItemProcessor... { 
Public Statement processItems(Account account) { 
@Named(“emailWriter") // read Account, return Statement 
...implements ItemWriter... { 
public void writeItems(List<Statements> statements) { 
// use JavaMail to send email
Copyright © 2014, Oracle and/or its affiliates. All rights 20 reserved. Public 
Batch Jobs - Demo
Bean Validation 1.1 
 Method constraints 
– Very useful for JAX-RS and WebSocket 
– Built-in and Custom Constraints 
 CDI Alignment 
– All Bean Validation artifacts now injection capable 
 EL 3 integration 
– More expressive validation messages 
Copyright © 2014, Oracle and/or its affiliates. All rights 21 reserved. Public 
Java EE 7
Bean Validation 1.1 (Contd.) 
Method Level Constraints 
public class Doctor { 
public Doctor (@NotNull String name) { ... } 
public void payFee( 
@NotNull @Digits(integer=6, fraction=2) BigDecimal fee, 
@NotNull @ValidCurrency String currencyType) { 
} 
@Future 
public Date getAppointment() { 
} 
} 
Copyright © 2014, Oracle and/or its affiliates. All rights 22 reserved. Public
JAX-RS 2 
 Client API 
 Message Filters & Entity Interceptors 
– Servlet filters and CDI interceptors for JAX-RS 
– Common configuration 
 Asynchronous Processing – Server & Client 
 Content negotiation 
 Bean Validation 1.1 integration 
Copyright © 2014, Oracle and/or its affiliates. All rights 26 reserved. Public
JAX-RS 2 (Contd.) 
Client API 
// Get instance of Client 
Client client = ClientBuilder.newClient(); 
// Build the URI, build the request, and get response 
String name = client.target(“http://example.com/orders/ 
{orderId}/customer”) 
.resolveTemplate(”orderId", ”10”) 
.queryParam(”shipped", ”true”) 
.request() 
.get(String.class); 
// http://example.com/orders/10/customer?shipped=true 
Copyright © 2014, Oracle and/or its affiliates. All rights 27 reserved. Public
Java API for JSON Processing 
Reading JSON (Streaming API) 
{ 
"firstName": "John", "lastName": "Smith", "age": 25, 
"phoneNumber": [ 
{ "type": "home", "number": "212 555-1234" }, 
{ "type": "fax", "number": "646 555-4567" } 
] 
} 
JsonParser parser = Json.createParser(…); 
Event event = parser.next(); // START_OBJECT 
event = parser.next(); // KEY_NAME - “firstname” 
event = parser.next(); // VALUE_STRING - “John” 
String name = parser.getString(); // "John” 
Copyright © 2014, Oracle and/or its affiliates. All rights 31 reserved. Public
Java API for JSON Processing 
Writing JSON (Object Model API) 
JsonArray value = 
Json.createArrayBuilder() 
.add(Json.createObjectBuilder() 
.add("type", "home") 
.add("number", "212 555-1234") 
) 
.add(Json.createObjectBuilder() 
.add("type", "fax") 
.add("number", "646 555-4567") 
) 
.build(); 
Copyright © 2014, Oracle and/or its affiliates. All rights 32 reserved. Public 
[ 
{ 
"type": "home”, 
"number": "212 555-1234" 
}, 
{ 
"type": "fax”, 
"number": "646 555-4567" 
} 
]
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 © 2014, Oracle and/or its affiliates. All rights 35 reserved. Public
Yet More… 
 JPA 2.1 
– Schema Generation, Entity Graphs 
 JTA 1.2 
– @Transactional, @TransactionScoped 
 EL 3.0 
– Standalone API, lambda expressions, collections, operators 
 Servlet 3.1 
– Non-blocking I/O, upgrade to WebSocket, security 
 CDI 1.1 
– Global enablement, @AroundConstruct, @Vetoed 
 EJB 3.2 
– Truncating CMP/BMP 
Copyright © 2014, Oracle and/or its affiliates. All rights 36 reserved. Public
Java EE 8 
 JSON-B 
 JCache 
 CDI 2 
 More CDI/EJB alignment 
 Security 
 Action-oriented Web framework/HTML 5 alignment 
 Cloud, PaaS, multitenancy/SaaS 
 Configuration, deployment, management, monitoring? 
 Further pruning? 
Copyright © 2014, Oracle and/or its affiliates. All rights 37 reserved. Public
Java EE 8 Community Survey 
https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee 
https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf 
Copyright © 2014, Oracle and/or its affiliates. All rights 38 reserved. Public
Try it Out! 
http://dlc.sun.com.edgesuite.net/glassfish/4.0.1/promoted/ 
Copyright © 2014, Oracle and/or its affiliates. All rights 39 reserved. Public
Resources 
 Java EE Tutorials 
– http://docs.oracle.com/javaee/7/tutorial/doc/home.htm 
 Digging Deeper 
– http://docs.oracle.com/javaee/7/firstcup/doc/home.htm 
– https://glassfish.java.net/hol/ 
– https://java.net/projects/cargotracker/ 
 Java EE 7 Transparent Expert Groups 
– http://javaee-spec.java.net 
 Java EE 7 Reference Implementation 
– http://glassfish.org 
 The Aquarium 
– http://blogs.oracle.com/theaquarium 
Copyright © 2014, Oracle and/or its affiliates. All rights 40 reserved. Public
Copyright © 2012, Oracle and/or its affiliates. 41 All rights reserved.

More Related Content

What's hot

Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Hamed Hatami
 
Java Web Programming [2/9] : Servlet Basic
Java Web Programming [2/9] : Servlet BasicJava Web Programming [2/9] : Servlet Basic
Java Web Programming [2/9] : Servlet BasicIMC Institute
 
Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5IndicThreads
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App EngineIndicThreads
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesArun Gupta
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXIMC Institute
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introductionejlp12
 
What's new in Java Message Service 2?
What's new in Java Message Service 2?What's new in Java Message Service 2?
What's new in Java Message Service 2?Sivakumar Thyagarajan
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nationArun Gupta
 
Java Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVCJava Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVCIMC Institute
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedIMC Institute
 
Java Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicJava Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicIMC Institute
 
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
 
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX London
 
Java Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityJava Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityIMC Institute
 
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011Mobicents JSLEE progress and roadmap - Mobicents Summit 2011
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011telestax
 

What's hot (19)

Java EE 7 - Overview and Status
Java EE 7  - Overview and StatusJava EE 7  - Overview and Status
Java EE 7 - Overview and Status
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
 
Java Web Programming [2/9] : Servlet Basic
Java Web Programming [2/9] : Servlet BasicJava Web Programming [2/9] : Servlet Basic
Java Web Programming [2/9] : Servlet Basic
 
Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAX
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introduction
 
What's new in Java Message Service 2?
What's new in Java Message Service 2?What's new in Java Message Service 2?
What's new in Java Message Service 2?
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
 
Java Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVCJava Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVC
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet Advanced
 
Java Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicJava Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP Basic
 
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
 
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun GuptaJAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
JAX-RS 2.0: New and Noteworthy in RESTful Web Services API - Arun Gupta
 
Java Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application SecurityJava Web Programming [9/9] : Web Application Security
Java Web Programming [9/9] : Web Application Security
 
RESTing with JAX-RS
RESTing with JAX-RSRESTing with JAX-RS
RESTing with JAX-RS
 
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011Mobicents JSLEE progress and roadmap - Mobicents Summit 2011
Mobicents JSLEE progress and roadmap - Mobicents Summit 2011
 

Viewers also liked

20 Tips to Improve Your Government Career - From Networking to Branding and More
20 Tips to Improve Your Government Career - From Networking to Branding and More20 Tips to Improve Your Government Career - From Networking to Branding and More
20 Tips to Improve Your Government Career - From Networking to Branding and MoreSteve Ressler
 
Hs 101 project
Hs 101 projectHs 101 project
Hs 101 projectmjtheman
 
QUIZ DI NATALE
QUIZ DI NATALEQUIZ DI NATALE
QUIZ DI NATALEelia osma
 
Pre production for the chosen one
Pre production for the chosen onePre production for the chosen one
Pre production for the chosen oneecsmedia
 
Revision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesRevision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesgaalnorb
 
State aid, public funding, broadband, best practices
State aid, public funding, broadband, best practicesState aid, public funding, broadband, best practices
State aid, public funding, broadband, best practicesgaalnorb
 
Skull crushrer
Skull crushrerSkull crushrer
Skull crushrerecsmedia
 
Should openness be the default approach in higher education? (ALT-C 2014)
Should openness be the default approach in higher education? (ALT-C 2014)Should openness be the default approach in higher education? (ALT-C 2014)
Should openness be the default approach in higher education? (ALT-C 2014)Liz Masterman
 
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE V
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE VPRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE V
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE VMario Andres Villarroel
 
Pioneers of stop motion (done)
Pioneers of stop motion (done)Pioneers of stop motion (done)
Pioneers of stop motion (done)ecsmedia
 
Fête du Cocido à Lalín- Jorge Penas, Mónica
Fête du Cocido à Lalín- Jorge Penas, MónicaFête du Cocido à Lalín- Jorge Penas, Mónica
Fête du Cocido à Lalín- Jorge Penas, Mónicakedougou
 
Empreendedorismo nos games marketing de nicho
Empreendedorismo nos games   marketing de nichoEmpreendedorismo nos games   marketing de nicho
Empreendedorismo nos games marketing de nichoJulio Matos
 
Fête langouste-Pérez Taia
Fête langouste-Pérez Taia Fête langouste-Pérez Taia
Fête langouste-Pérez Taia kedougou
 
My dar dark tale with sounds
My dar dark tale with soundsMy dar dark tale with sounds
My dar dark tale with soundslekeitioeskola
 
Se nós lemos eles len
Se nós lemos eles lenSe nós lemos eles len
Se nós lemos eles lenmigadepan
 
Personal Leadership rev 1
Personal Leadership rev 1Personal Leadership rev 1
Personal Leadership rev 1Rachmat Gunawan
 

Viewers also liked (20)

20 Tips to Improve Your Government Career - From Networking to Branding and More
20 Tips to Improve Your Government Career - From Networking to Branding and More20 Tips to Improve Your Government Career - From Networking to Branding and More
20 Tips to Improve Your Government Career - From Networking to Branding and More
 
Hs 101 project
Hs 101 projectHs 101 project
Hs 101 project
 
Rtw Sketches
Rtw SketchesRtw Sketches
Rtw Sketches
 
H components
H componentsH components
H components
 
QUIZ DI NATALE
QUIZ DI NATALEQUIZ DI NATALE
QUIZ DI NATALE
 
Pre production for the chosen one
Pre production for the chosen onePre production for the chosen one
Pre production for the chosen one
 
Revision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesRevision of the state aid broadband guidelines
Revision of the state aid broadband guidelines
 
State aid, public funding, broadband, best practices
State aid, public funding, broadband, best practicesState aid, public funding, broadband, best practices
State aid, public funding, broadband, best practices
 
Skull crushrer
Skull crushrerSkull crushrer
Skull crushrer
 
Should openness be the default approach in higher education? (ALT-C 2014)
Should openness be the default approach in higher education? (ALT-C 2014)Should openness be the default approach in higher education? (ALT-C 2014)
Should openness be the default approach in higher education? (ALT-C 2014)
 
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE V
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE VPRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE V
PRACTICO 1 PORTAFOLIO DE DIAGNOSTICO POR MARIO AGUIRRE V
 
Pioneers of stop motion (done)
Pioneers of stop motion (done)Pioneers of stop motion (done)
Pioneers of stop motion (done)
 
Fête du Cocido à Lalín- Jorge Penas, Mónica
Fête du Cocido à Lalín- Jorge Penas, MónicaFête du Cocido à Lalín- Jorge Penas, Mónica
Fête du Cocido à Lalín- Jorge Penas, Mónica
 
Peru
PeruPeru
Peru
 
Empreendedorismo nos games marketing de nicho
Empreendedorismo nos games   marketing de nichoEmpreendedorismo nos games   marketing de nicho
Empreendedorismo nos games marketing de nicho
 
Fête langouste-Pérez Taia
Fête langouste-Pérez Taia Fête langouste-Pérez Taia
Fête langouste-Pérez Taia
 
EDILIM
EDILIMEDILIM
EDILIM
 
My dar dark tale with sounds
My dar dark tale with soundsMy dar dark tale with sounds
My dar dark tale with sounds
 
Se nós lemos eles len
Se nós lemos eles lenSe nós lemos eles len
Se nós lemos eles len
 
Personal Leadership rev 1
Personal Leadership rev 1Personal Leadership rev 1
Personal Leadership rev 1
 

Similar to Java EE 7 in practise - OTN Hyderabad 2014

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 EE7
Java EE7Java EE7
Java EE7Jay Lee
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOFglassfish
 
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
 
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
 
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
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7Arun Gupta
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonArun Gupta
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Reza Rahman
 
MarvelSoft SchoolAdmin Dev Framework
MarvelSoft SchoolAdmin Dev FrameworkMarvelSoft SchoolAdmin Dev Framework
MarvelSoft SchoolAdmin Dev FrameworkRanganath Shivaram
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java PlatformSivakumar Thyagarajan
 
Java ee 7 New Features
Java ee 7   New FeaturesJava ee 7   New Features
Java ee 7 New FeaturesShahzad Badar
 
Java New Evolution
Java New EvolutionJava New Evolution
Java New EvolutionAllan Huang
 
Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewKevin Sutter
 
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Max Andersen
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)Kevin Sutter
 
What’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyWhat’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
 
Java one 2010
Java one 2010Java one 2010
Java one 2010scdn
 
GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0Arun Gupta
 

Similar to Java EE 7 in practise - OTN Hyderabad 2014 (20)

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 EE7
Java EE7Java EE7
Java EE7
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
 
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
 
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
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
 
MarvelSoft SchoolAdmin Dev Framework
MarvelSoft SchoolAdmin Dev FrameworkMarvelSoft SchoolAdmin Dev Framework
MarvelSoft SchoolAdmin Dev Framework
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java Platform
 
JEE5 New Features
JEE5 New FeaturesJEE5 New Features
JEE5 New Features
 
Java ee 7 New Features
Java ee 7   New FeaturesJava ee 7   New Features
Java ee 7 New Features
 
Java New Evolution
Java New EvolutionJava New Evolution
Java New Evolution
 
Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overview
 
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
 
What’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyWhat’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new Strategy
 
Java one 2010
Java one 2010Java one 2010
Java one 2010
 
GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0
 

More from Jagadish Prasath

JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013Jagadish Prasath
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...Jagadish Prasath
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE ApplicationJagadish Prasath
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012Jagadish Prasath
 
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Jagadish Prasath
 
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.Connector Architecture 1.6 - Tech-days 2010, Hyderabad.
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.Jagadish Prasath
 

More from Jagadish Prasath (7)

JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE Application
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
 
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
 
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.Connector Architecture 1.6 - Tech-days 2010, Hyderabad.
Connector Architecture 1.6 - Tech-days 2010, Hyderabad.
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Java EE 7 in practise - OTN Hyderabad 2014

  • 1. Copyright © 2012, Oracle and/or its affiliates. 1 All rights reserved.
  • 2. Java EE 7 in Practice BluePrints Reborn Jagadish Ramu Application Server Team jagadish.ramu@oracle.com
  • 3. The preceding 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 © 2014, Oracle and/or its affiliates. All rights 3 reserved. Public
  • 4. Program Agenda  Java EE 7  Cargo Tracker (Blueprints)  The API Changes + The Code!  Looking Ahead… Copyright © 2014, Oracle and/or its affiliates. All 4 rights reserved. Public
  • 5. Java EE Past, Present and Future J2EE 1.3 CMP, Connector Architecture Copyright © 2014, Oracle and/or its affiliates. All rights 5 reserved. Public J2EE 1.4 Web Services Mgmt, Deployment, Connectors Inbound Java EE 5 Ease of Development, EJB 3, JPA, JSF, JAXB, JAX-WS, StAX, SAAJ Java EE 6 Profiles, CDI, Validation, Pruning, Extensibility, Ease of Dev, JAX-RS Web Profile EJB 3.1 Lite Servlet 3, Java EE 7 JMS 2, Batch, TX, Concurrency, Interceptor WebSocket JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 6. Java EE 7 Portable Extensions JAX-RS 2.0 Common Annotations 1.2 MMaannaaggeedd B Beeaannss 1 1.0.0 EEJJBB 3 3.2.2 Connector Connector 1.7 1.7 Copyright © 2014, Oracle and/or its affiliates. All rights 6 reserved. Public SSeerrvvlelet t3 3.1.1 Portable Extensions JJSSFF 2 2.2.2 JAX-RS 2.0 EELL 3 3.0.0 JJPPAA 2 2.1.1 JJTTAA 1 1.2.2 JJMMSS 2 2.0.0 JJSSPP 2 2.3.3 Common InInteterrcceepptotorrss 1 1.2.2 CCDDI I1 1.1.1 Annotations 1.2 Major Updated Release New Concurrency Utilities Concurrency Utilities (JSR 236) (JSR 236) Batch Applications Batch Applications (JSR 352) (JSR 352) Java API for JSON Java API for JSON (JSR 353) (JSR 353) Java API for WebSocket Java API for WebSocket (JSR 356) (JSR 356)
  • 7. Java EE in Action http://cargotracker.java.net The Blueprints Copyright © 2014, Oracle and/or its affiliates. All rights 7 reserved. Public
  • 8. Domain Driven Design – Java EE Technologies/API Interface Application Entities Value Objects Infrastructure Repository JSF EJB JPA Entity Manager Copyright © 2014, Oracle and/or its affiliates. All rights 9 reserved. Public JAX-RS Web Socket JPA Entities JPA Embeddable Batch JPA JMS JAX-RS Client EJB Client CDI
  • 9. Cargo Tracker – The Blueprints Java EE features used in Cargo Tracker Java EE API Features JSF Facelets, templates, view parameters, view actions, message bundles, CDI compatible view scope, HTML 5 pass-though attributes, HTML 5 pass-though elements CDI Basic injection, scopes, named beans, qualifiers, events, observers, default enablement, EJB Transactions, stateless session bean, message driven bean, startup singleton, CRON style scheduling, application exceptions, XML deployment descriptors, portable activation configuration JPA Generated ID, basic mapping, embeddables, many-to-one, one-to-many, enumerations, temporal types, named queries, managed persistence context, portable data source definition, schema generation JAX-RS REST endpoint, MIME types, client API, JSON processing, content-type negotiation WebSocket Server-side endpoint, sending messages to remote endpoints, EJB integration JSON-P Writing JSON using Streaming API Bean Validation Basic validation annotations, method level validation for REST endpoints, method level validation for local EJB application services JMS JMS 2 simplified API message send, portable JMS resource definition Java Batch Job operator, job XML, job properties, job context, job listener, skip listener, reader, writer, skippable exceptions, checkpointing, chunking JTA 1.2 @Transactional interceptor Copyright © 2014, Oracle and/or its affiliates. All rights 10 reserved. Public
  • 10. Cargo Tracker - Demo Copyright © 2014, Oracle and/or its affiliates. All rights 11 reserved. Public
  • 11. JMS 2  API modernization – Dependency injection – Fluent APIs – Intelligent defaults – Unchecked exceptions  New features – Delivery delay, async send  Platform alignment – MDB activation properties, JMS resource definition Copyright © 2014, Oracle and/or its affiliates. All rights 12 reserved. Public Java EE 7
  • 12. JMS 2 (Contd.) 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); } } Copyright © 2014, Oracle and/or its affiliates. All rights 13 reserved. Public
  • 13. JMS 2 (Contd.) Simplified API @Inject private JMSContext context; @Resource(lookup = "jms/demoQueue") private Queue demoQueue; public void sendMessage (String payload) { context.createProducer().send(demoQueue, payload); } Copyright © 2014, Oracle and/or its affiliates. All rights 14 reserved. Public
  • 14. JMS 2 (Contd.) Creating Resources @JMSConnectionFactoryDefinition( name="java:global/jms/demoConnectionFactory", interfaceName= "javax.jms.ConnectionFactory", description="ConnectionFactory to use in demonstration") @JMSDestinationDefinition( name = "java:global/jms/demoQueue", description = "Queue to use in demonstration", interfaceName = "javax.jms.Queue", destinationName="demoQueue") Copyright © 2014, Oracle and/or its affiliates. All rights 16 reserved. Public
  • 15. Batch Processing  API for robust batch processing targeted to Java EE, Java SE  Common architecture – Operator, repository, job, step, reader-processor-writer pattern  Common features – Chunking, check-pointing, transactions, retries, skippable-exceptions, workflow, parallelism Copyright © 2014, Oracle and/or its affiliates. All rights 17 reserved. Public
  • 16. Batch Processing (Contd.) API for Robust Batch Processing Copyright © 2014, Oracle and/or its affiliates. All rights 18 reserved. Public
  • 17. Batch Processing (Contd.) Step Example <step id=”sendStatements”> <chunk reader=”accountReader” processor=”accountProcessor” writer=”emailWriter” item-count=”10” /> </step> Copyright © 2014, Oracle and/or its affiliates. All rights 19 reserved. Public @Named(“accountReader") ...implements ItemReader... { public Account readItem() { // read account using JPA @Named(“accountProcessor") ...implements ItemProcessor... { Public Statement processItems(Account account) { @Named(“emailWriter") // read Account, return Statement ...implements ItemWriter... { public void writeItems(List<Statements> statements) { // use JavaMail to send email
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights 20 reserved. Public Batch Jobs - Demo
  • 19. Bean Validation 1.1  Method constraints – Very useful for JAX-RS and WebSocket – Built-in and Custom Constraints  CDI Alignment – All Bean Validation artifacts now injection capable  EL 3 integration – More expressive validation messages Copyright © 2014, Oracle and/or its affiliates. All rights 21 reserved. Public Java EE 7
  • 20. Bean Validation 1.1 (Contd.) Method Level Constraints public class Doctor { public Doctor (@NotNull String name) { ... } public void payFee( @NotNull @Digits(integer=6, fraction=2) BigDecimal fee, @NotNull @ValidCurrency String currencyType) { } @Future public Date getAppointment() { } } Copyright © 2014, Oracle and/or its affiliates. All rights 22 reserved. Public
  • 21. JAX-RS 2  Client API  Message Filters & Entity Interceptors – Servlet filters and CDI interceptors for JAX-RS – Common configuration  Asynchronous Processing – Server & Client  Content negotiation  Bean Validation 1.1 integration Copyright © 2014, Oracle and/or its affiliates. All rights 26 reserved. Public
  • 22. JAX-RS 2 (Contd.) Client API // Get instance of Client Client client = ClientBuilder.newClient(); // Build the URI, build the request, and get response String name = client.target(“http://example.com/orders/ {orderId}/customer”) .resolveTemplate(”orderId", ”10”) .queryParam(”shipped", ”true”) .request() .get(String.class); // http://example.com/orders/10/customer?shipped=true Copyright © 2014, Oracle and/or its affiliates. All rights 27 reserved. Public
  • 23. Java API for JSON Processing Reading JSON (Streaming API) { "firstName": "John", "lastName": "Smith", "age": 25, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } JsonParser parser = Json.createParser(…); Event event = parser.next(); // START_OBJECT event = parser.next(); // KEY_NAME - “firstname” event = parser.next(); // VALUE_STRING - “John” String name = parser.getString(); // "John” Copyright © 2014, Oracle and/or its affiliates. All rights 31 reserved. Public
  • 24. Java API for JSON Processing Writing JSON (Object Model API) JsonArray value = Json.createArrayBuilder() .add(Json.createObjectBuilder() .add("type", "home") .add("number", "212 555-1234") ) .add(Json.createObjectBuilder() .add("type", "fax") .add("number", "646 555-4567") ) .build(); Copyright © 2014, Oracle and/or its affiliates. All rights 32 reserved. Public [ { "type": "home”, "number": "212 555-1234" }, { "type": "fax”, "number": "646 555-4567" } ]
  • 25. 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 © 2014, Oracle and/or its affiliates. All rights 35 reserved. Public
  • 26. Yet More…  JPA 2.1 – Schema Generation, Entity Graphs  JTA 1.2 – @Transactional, @TransactionScoped  EL 3.0 – Standalone API, lambda expressions, collections, operators  Servlet 3.1 – Non-blocking I/O, upgrade to WebSocket, security  CDI 1.1 – Global enablement, @AroundConstruct, @Vetoed  EJB 3.2 – Truncating CMP/BMP Copyright © 2014, Oracle and/or its affiliates. All rights 36 reserved. Public
  • 27. Java EE 8  JSON-B  JCache  CDI 2  More CDI/EJB alignment  Security  Action-oriented Web framework/HTML 5 alignment  Cloud, PaaS, multitenancy/SaaS  Configuration, deployment, management, monitoring?  Further pruning? Copyright © 2014, Oracle and/or its affiliates. All rights 37 reserved. Public
  • 28. Java EE 8 Community Survey https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf Copyright © 2014, Oracle and/or its affiliates. All rights 38 reserved. Public
  • 29. Try it Out! http://dlc.sun.com.edgesuite.net/glassfish/4.0.1/promoted/ Copyright © 2014, Oracle and/or its affiliates. All rights 39 reserved. Public
  • 30. Resources  Java EE Tutorials – http://docs.oracle.com/javaee/7/tutorial/doc/home.htm  Digging Deeper – http://docs.oracle.com/javaee/7/firstcup/doc/home.htm – https://glassfish.java.net/hol/ – https://java.net/projects/cargotracker/  Java EE 7 Transparent Expert Groups – http://javaee-spec.java.net  Java EE 7 Reference Implementation – http://glassfish.org  The Aquarium – http://blogs.oracle.com/theaquarium Copyright © 2014, Oracle and/or its affiliates. All rights 40 reserved. Public
  • 31. Copyright © 2012, Oracle and/or its affiliates. 41 All rights reserved.