java one sf 2013

Post on 11-May-2015

483 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

JavaOne San Francisco 2013

Arshal

Wednesday, October 2, 13

2

Agenda

1. Introduction

2. Key Points

3. Details

5. Summary

4. Looking forward

Wednesday, October 2, 13

3

IntroductionWhat

Where

Wednesday, October 2, 13

Key Points

1. DukePad

2. Java SE 8: Lambda Programming

3. JEE 7

4. Java ME 8

5. Project Sumatra

6. Project Avatar

Wednesday, October 2, 13

Road map

Wednesday, October 2, 13

Java 8 and Beyond

Java 81. Lambda – JSR 3352. New Date & Time API – JSR 3103. Project Nashorn: JavaScript Service layer4. Security Enhancements

Beyond Java 81. Modular Platform2. Unified Type System3. Language Interoperability4. Memory-efficient data structure

Wednesday, October 2, 13

JEE 7

Wednesday, October 2, 13

JEE5Ease of

Development

JEE6Light weight

JEE7Productivity and HTML5

JEE 7

Wednesday, October 2, 13

9

Details

1.1

1.11.0

2.1

3.2

2.0

3.1

1.1

2.2 2.0

1.0

1.7

Deprecation

1.2

Wednesday, October 2, 13

10

CDI 1.1 : The Aquarium1. Aligning the JSF component model/scoping to CDI

2. Decoupling declarative transactions from the EJB component model through the JTA 1.2

@Transactional CDI interceptor.

3. Modernizing the JMS 2 API utilizing CDI

4. Support for CDI in Bean Validation 1.1

5. Allow inspection of event metadata

6. Support decorators on built in beans

7. Class exclusion filters to beans.xml to prevent scanning of classes and packages

8. Easy access to non-contextual instances of beans

9. @Vetoed annotation allowing easy programmatic disablement of classes

10. @WithAnnotations as a way of improving extension loading performance

Details

Wednesday, October 2, 13

11

Bean Validation 1.1(JSR 349)1. Improved semantic readability

2. Method-level validation (validation of parameters or return values)

3. Dependency injection for Bean Validation components

4. Integration with Context and Dependency Injection (CDI)

5. Error message interpolation using EL expressions

Details

Wednesday, October 2, 13

12

Interceptors(JSR318)1. @AroundConstructor

2. @PreDestroy

3. New lifecycle callback

Client call => Interceptor instance creation and Injection of needed class (except target class) =>

InvocationContext.proceed() creates target Instance => AroundConstruct => Injection is complete

=> PostConstruct()

4. Ordering using

@Priority (lowest number are called first)

@Interceptors({InterceptorA.class, InterceptorB.class}) left to right order

Details

Wednesday, October 2, 13

13

Concurrency 1.01. Simple and advanced design patterns

2. Default ManagedExecutorService, custom executer can be defined in web.xml

3. ManagedScheduleExecutor: Submit delayed/periodic tasks

4. ManagedThreadFactory: can use user threads in java EE

5. Dynamic proxy: can create runnable context proxies

Details

Wednesday, October 2, 13

14

JPA 2.11. Convertors: custom conversion between DB and object types

2. Criteria update/delete : bulk update/delete through criteria API

3. Runtime creation of named queries

4. Injectable EntityListeners

5. Unsynchronized persistence contexts

6. DDL generation - automatic table, index(@Index) and schema generation.

7. Entity Graphs - allow partial or specified fetching or merging of objects.

8. JPQL/Criteria enhancements - arithmetic sub-queries, generic database functions, join ON

clause, TREAT option.

9. Stored Procedures: NamedStoredProcedure queries and parameters

Details

Wednesday, October 2, 13

15

JTA 1.2 (Project Kenai)1. @Transactional(value=Transactional.txType.Required, rollbackOn={SQLException.class,

JMSException.class}, dontRollbackOn=SQLWarning.class)

2. @TransactionScoped: lifecycle limited to transaction

3. Can make normal POJOs transactional using this annotation

Details

Wednesday, October 2, 13

16

EJB 3.2

1. Asynchronous session bean(@Asynchronous)

2. Non-persistent EJB Timer service

3. Lifecyle callback methods (@PostConstruct, @PreDestroy, @PostActivate, @PrePassivate)

Details

Wednesday, October 2, 13

17

JMS 2.0

1. Easier Resource Configuration

2. JMS context API: simplified

3. JMS Resource Definition Annotations

Details

Wednesday, October 2, 13

18

Servlet 3.1

1. Non-blocking I/O - checks read/write availability b4 actually doing it.

2. Protocol Upgrade (HttpUpgradeHandler) : init , destroy

3. Improved security : denies all non-secure accesses

Details

Wednesday, October 2, 13

19

WebSocket 1.1

1. Full-duplex bi-directional communication over TCP

2. Annotated server endpoint

3. Annotated client endpoint (@javax.websocket.ClientEndPoint)

4. Encoder/Decoder classes

Details

Wednesday, October 2, 13

20

EL 3.0

1.stand-alone environment support: useful for batch

2.ELProcessor, new operators,

3.lambda support

JSF 2.2

1.Faces Flow; @FlowScoped

2. Resource Library Contract

3. Pass through attributes (p:type="email" -> type="email")

4. h:inputFile for file upload (Part.class)

5. Security improvements: CSRF, type checking

Details

Wednesday, October 2, 13

21

JAX-RS 2.0

1.New API to consume rest serives

2.async client and server supported(Future.class)

3.Message filter ClientRequestFilter,ClientResponseFilter

4.Entity Interceptors - intercept inbound/outbound stream

JSONP 1.0

1. json builder, JsonObject.class and JsonParser

Details

Wednesday, October 2, 13

22

Batch processing

1. chunk-style or batchlets

2. Partition: split a job among multiple cores

3. Creating workflows

Details

Wednesday, October 2, 13

Looking forward1. CDI beans instead of current FacesBeans

2. Migration to JSF 2.2

3. Possible use batchlet in batch processing

4. Use of transaction scope on existing pojos

5. Use of flow scope and many more...

Wednesday, October 2, 13

Wednesday, October 2, 13

25

Thank you

Wednesday, October 2, 13

top related