down and dirty with java ee 7 - oracle · bean validation 1.1 method constraints – very useful...

19
Down and Dirty with Java EE 7

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Down and Dirtywith Java EE 7

Page 2: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2

Program Agenda

Java EE 7

Cargo Tracker

The API Changes + The Code!

Looking Ahead…

Page 3: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3

Java EE Past, Present and Future

J2EE 1.3

CMP,

Connector

Architecture

J2EE 1.4

Web

Services

Mgmt,

Deployment,

Async

Connector

Java EE 5

Ease of

Development,

EJB 3, JPA,

JSF, JAXB,

JAX-WS,

StAX, SAAJ

Java EE 6

Pruning,

Extensibility,

Ease of Dev,

JAX-RS

CDI

Validation

Web Profile

Servlet 3,

EJB 3.1 Lite

Java EE 7

JMS 2,

Batch, TX,

Concurrency,

Interceptor

WebSocketJSON

Web Profile

JAX-RS 2

JAX-RPC,

CMP/ BMP,

JSR 88

J2EE 1.2

Servlet, JSP,

EJB, JMS,

RMI

Page 4: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4

Java EE 7

Connector

1.6

Managed Beans 1.0 EJB 3.2

Servlet 3.1

Portable

Extension

s

JSF 2.2JAX-RS

2.0

Bean

Valid

ati

on

1.1

JMS 2.0JPA 2.1

EL 3.0

JTA 1.2

JSP 2.2

Interceptors 1.1 CDI 1.1

Common

Annotations

1.1

UpdatedMajor

Release

New

Concurrency Utilities

(JSR 236)

Batch Applications

(JSR 352)

Java API for JSON

(JSR 353)

Java API for WebSocket

(JSR 356)

Page 5: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5

Java EE in Action

http://cargotracker.java.net

Page 6: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6

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

Page 7: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7

Java API for WebSocket

High level API for HTML 5 WebSockets

– Full-duplex TCP-like communication on the Web utilizing HTTP

Both client and server-side (Java SE and Java EE)

Both declarative and programmatic

Pluggable and extensible

Page 8: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8

Java API for JSON Processing

Low level API to parse, generate, transform, query JSON

– JSON equivalent of JAXP

Object Model and Streaming API

– Similar to DOM and StAX

Binding JSON to Java objects forthcoming

– JSON equivalent of JAXB

Page 9: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9

Bean Validation 1.1

Method constraints

– Very useful for JAX-RS and WebSocket

CDI Alignment

– All Bean Validation artifacts now injection capable

EL 3 integration

– More expressive validation messages

Page 10: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10

JAX-RS 2

Client API

Message Filters & Entity Interceptors

– Servlet filters and CDI interceptors for JAX-RS

– Common configuration

Asynchronous Processing – Server & Client

Hypermedia support

– Transitional and structural links

Content negotiation

Bean Validation 1.1 integration

Page 11: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11

JPA 2.1

Schema generation

Stored procedures

Unsynchronized persistence contexts

Entity Graphs

Entity converters

Page 12: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12

JSF 2.2

HTML5 Support

– Pass-through elements and attributes

Managed beans deprecated/CDI alignment

– @ViewScoped for CDI

@FlowScoped

Stateless views

Resource library contracts

View actions

File upload component

Page 13: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13

Batch Applications for the Java Platform

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, exceptions, workflow,

parallelism

Page 14: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14

Concurrency Utilities for Java EE

Provides simple, safe API for concurrency in Java EE

Builds on Java SE concurrency

– ManageExecutorService

– ManagedScheduledExecutorService

– ManagedThreadFactory

Relatively low-level API

Important enabler for Java EE ecosystem

Page 15: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15

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

}

}

}

Page 16: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16

Yet More…

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

Page 17: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17

Java EE 8

JSON-B

JCache

CDI 2

More CDI/EJB alignment

JMS.next()?

Security

Testability

Cloud, PaaS, multitenancy/SaaS

Action-oriented Web framework/HTML 5 alignment?

NoSQL?

Modularity?

http://glassfish.org/survey

Page 18: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18

Try it Out!

4.0

http://download.java.net/glassfish/4.0/release/glassfish-4.0.zip

Page 19: Down and Dirty with Java EE 7 - Oracle · Bean Validation 1.1 Method constraints – Very useful for JAX-RS and WebSocket CDI Alignment – All Bean Validation artifacts now injection

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19

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