java one sf 2013

25
JavaOne San Francisco 2013 Arshal Wednesday, October 2, 13

Upload: arshal-ameen

Post on 11-May-2015

483 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Java one sf 2013

JavaOne San Francisco 2013

Arshal

Wednesday, October 2, 13

Page 2: Java one sf 2013

2

Agenda

1. Introduction

2. Key Points

3. Details

5. Summary

4. Looking forward

Wednesday, October 2, 13

Page 3: Java one sf 2013

3

IntroductionWhat

Where

Wednesday, October 2, 13

Page 4: Java one sf 2013

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

Page 5: Java one sf 2013

Road map

Wednesday, October 2, 13

Page 6: Java one sf 2013

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

Page 7: Java one sf 2013

JEE 7

Wednesday, October 2, 13

Page 8: Java one sf 2013

JEE5Ease of

Development

JEE6Light weight

JEE7Productivity and HTML5

JEE 7

Wednesday, October 2, 13

Page 9: Java one sf 2013

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

Page 10: Java one sf 2013

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

Page 11: Java one sf 2013

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

Page 12: Java one sf 2013

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

Page 13: Java one sf 2013

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

Page 14: Java one sf 2013

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

Page 15: Java one sf 2013

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

Page 16: Java one sf 2013

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

Page 17: Java one sf 2013

17

JMS 2.0

1. Easier Resource Configuration

2. JMS context API: simplified

3. JMS Resource Definition Annotations

Details

Wednesday, October 2, 13

Page 18: Java one sf 2013

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

Page 19: Java one sf 2013

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

Page 20: Java one sf 2013

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

Page 21: Java one sf 2013

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

Page 22: Java one sf 2013

22

Batch processing

1. chunk-style or batchlets

2. Partition: split a job among multiple cores

3. Creating workflows

Details

Wednesday, October 2, 13

Page 23: Java one sf 2013

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

Page 24: Java one sf 2013

Wednesday, October 2, 13

Page 25: Java one sf 2013

25

Thank you

Wednesday, October 2, 13