Java one sf 2013

  • 429 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
429
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
11
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JavaOne San Francisco 2013 Arshal Wednesday, October 2, 13
  • 2. 2 Agenda 1. Introduction 2. Key Points 3. Details 5. Summary 4. Looking forward Wednesday, October 2, 13
  • 3. 3 Introduction What Where Wednesday, October 2, 13
  • 4. 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
  • 5. Road map Wednesday, October 2, 13
  • 6. Java 8 and Beyond Java 8 1. Lambda – JSR 335 2. New Date & Time API – JSR 310 3. Project Nashorn: JavaScript Service layer 4. Security Enhancements Beyond Java 8 1. Modular Platform 2. Unified Type System 3. Language Interoperability 4. Memory-efficient data structure Wednesday, October 2, 13
  • 7. JEE 7 Wednesday, October 2, 13
  • 8. JEE5 Ease of Developme nt JEE6 Light weight JEE7 Productivity and HTML5 JEE 7 Wednesday, October 2, 13
  • 9. 9 Details 1.1 1.1 1.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. 10 CDI 1.1 : The Aquarium 1. 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. 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. 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. 13 Concurrency 1.0 1. 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. 14 JPA 2.1 1. 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. 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. 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. 17 JMS 2.0 1. Easier Resource Configuration 2. JMS context API: simplified 3. JMS Resource Definition Annotations Details Wednesday, October 2, 13
  • 18. 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. 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. 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. 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. 22 Batch processing 1. chunk-style or batchlets 2. Partition: split a job among multiple cores 3. Creating workflows Details Wednesday, October 2, 13
  • 23. Looking forward 1. 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
  • 24. Wednesday, October 2, 13
  • 25. 25 Thank you Wednesday, October 2, 13