Have You Seen Java EE Lately?

Reza Rahman
Reza RahmanPrincipal Program Manager at Microsoft
Have You Seen Java EE
Lately?
Reza Rahman
Java EE/GlassFish Evangelist
reza.rahman@oracle.com
@reza_rahman
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2
Program Agenda
 Java EE Overview
 Cargo Tracker
 API Overview + Demo
 The Ecosystem
 Looking Ahead
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7
Java EE Today
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8
Java EE Today
Core Principles
 Open vendor neutral technical standard
 Stable core for a strong ecosystem
 Fully integrated runtime, intelligent defaults and convention-over-
configuration
 Non-redundant APIs with specialized roles
 Minimalism, simplicity and productivity
 Java centric – strong static typing, strongly Object Oriented,
focused on “blue collar” developers, strongly backwards
compatible
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9
Java EE Today
What it is Not
 No XML hell
 No configuration hell
 No jar/dependency hell
 No feature bloat
 No snake-oil/hypeware
 No bloated deployments
 No lock-in
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10
Java EE 7
EJB 3EJB 3
ServletServlet
JSFJSF JAX-RSJAX-RS
JMSJMS CDICDI
JPAJPA
UpdatedMajor
Release
New
Batch
Applications
Batch
Applications
JavaMailJavaMail
JAX-WSJAX-WS
BeanValidationBeanValidation
Java API for
JSON
Java API for
JSON
Java API for
WebSocket
Java API for
WebSocket
JTAJTAJCAJCAJACCJACC JASPICJASPIC
JAXBJAXB
Unchanged
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11
Java EE Demo Application
http://cargotracker.java.net
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12
JSF
 True MVC, component oriented, productive
 Facelets for view
– XHTML
– Templating
– Composite components
 Data, event binding to CDI via EL
 Validation, conversion, navigation, flow
 Supports AJAX, HTML 5
 Strong plug-in ecosystem
– PrimeFaces, RichFaces, ADF Faces, many others
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13
JSF API
 Facelets tags
– <ui:composition>, <ui:define>, <ui:insert>,
<ui:component>, <ui:repeat>
 HTML tags
– <h:form>, <h:inputText>, <h:selectOneMenu>,
<h:commandButton>, <h:commandLink>, <h:panelGrid>
 Core tags
– <f:convert...>, <f:validat...>, <f:ajax>
 Event/data binding to CDI via EL
– <h:inputText … value=“#{hello.name}” …>
 CDI Scopes
– @ViewScoped, @FlowScoped
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14
CDI
 Next generation type-safe dependency management
 Large number of component scopes
 Interceptors/decorators
 Type-safe events
 Portable extensions API to integrate third-party tools and
frameworks cleanly to Java EE
– DeltaSpike, Forge, Agorava, MyBatis-CDI, PicketLink, many more
 Improving testability
– Arquillian
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15
CDI API
 Basic dependency injection
– @Inject, @Qualifier, @Stereotype, @Alternative,
@Named, @Produces, @Disposes
 Context management
– @RequestScoped, @SessionScoped, @ConversationScoped,
@ApplicationScoped, @Scope (@FlowScoped, @ViewScoped,
@TransactionScoped)
 Lightweight events
– Event, @Observes
 Interceptors/decorators
– @Interceptor, @InterceptorBinding, @AroundInvoke,
@Decorator, @Delegate
 Portable extensions SPI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16
EJB 3
 Enterprise service components
– Thread-safe, transactional, bandwidth-throttled, monitored
 Just POJOs + annotations
 Component types
– @Stateless, @Stateful, @Singleton, @MessageDriven
 Services
– @TransactionAttribute (JTA/CDI @Transactional),
@RolesAllowed, @RunAs, @Asynchronous, @Schedule,
@Lock, @Remote
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17
JPA
 ORM mapping/domain modeling
 CRUD EntityManager API
 Rich query capabilities
– JPQL
– Criteria Queries
– Native Queries
– Stored procedures
 Caching
 Small plug-in ecosystem
– QueryDSL, DeltaSpike Query Module, Spring Data/CDI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18
JPA API
 Domain modeling
– @Entity, @Embeddable, @OneToOne, @OneToMany,
@ManyToOne, @ManyToMany, @ElementCollection, @Id
 Relational mapping
– @Table, @Column, @JoinColumn, @JoinTable, @Basic,
@Lob, @Temporal, @Enumerated, @Cacheable
 CRUD API
– EntityManager, Query, CriteriaQuery,
@PersistenceContext, @NamedQuery, @NamedNativeQuery,
@NamedStoredProcedureQuery
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19
Bean Validation
 Declarative constraint management across application layers
 Constraint
– Restriction on a bean, field, property, method parameter, return value
– Not null, between 10 and 45, valid email, etc
– @Max, @Min, @Size, @NotNull, @Pattern, @Future, @Past
– Custom constraints
– Evaluated automatically
 Integrated with JSF, JPA, CDI, JAX-RS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public20
JMS 2
 Reliable asynchronous messaging API for Java
 Point-to-point (queues), publish-subscribe (topic)
 Small, powerful API
– Message, Destination, Queue, Topic,
ConnectionFactory, Connection, Session,
MessageProducer, MessageConsumer, JMSContext,
JMSProducer, JMSConsumer, MessageListener,
@JMSConnectionFactory
 Message types
– TextMessage, ObjectMessage, BytesMessage,
MapMessage, StreamMessage
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public21
JAX-RS 2
 REST development API for Java
 Server and client
 Annotation based
– @Path, @GET, @POST, @PUT, @DELETE, @PathParam,
@QueryParam, @Produces, @Consumes
 Pluggable and extensible
– Providers, filters, interceptors
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public22
Java API for WebSocket
 High level declarative API for WebSocket
 Both client and server-side
 Small, powerful API
– @ServerEndpoint, @OnOpen, @OnClose, @OnMessage,
@OnError, Session, Remote
 Pluggable and extensible
– Encoders, decoders, sub-protocols
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public23
Java EE Platforms
GlassFishJava EE 7
Java EE 6
TomEE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public24
Java EE Ecosystem
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public25
Java EE 8 Community Survey
https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf
https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public26
Java EE 8 Possibilities
 Web Standards/HTML5 Alignment
– HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework,
hypermedia
 Cloud
– Simple security providers, REST management/monitoring
 CDI Alignment
– CDI 2, EJB services outside EJB, EJB pruning
 Enterprise
– JCache, Configuration, JMS
 Java SE 8 alignment
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public27
Adopt-a-JSR for Java EE 8
 Grassroots participation to shape Java EE
 Launched in Java EE 7 time-frame, key community element for
Java EE 8
– 30 Java user groups participating!
http://glassfish.org/adoptajsr
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public28
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
1 of 28

Recommended

Java EE 7 - Overview and Status by
Java EE 7  - Overview and StatusJava EE 7  - Overview and Status
Java EE 7 - Overview and StatusJava Usergroup Berlin-Brandenburg
5.7K views38 slides
Move from J2EE to Java EE by
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EEHirofumi Iwasaki
17.8K views65 slides
Java EE Revisits GoF Design Patterns by
Java EE Revisits GoF Design PatternsJava EE Revisits GoF Design Patterns
Java EE Revisits GoF Design PatternsMurat Yener
15.9K views46 slides
What's New in WebLogic 12.1.3 and Beyond by
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondOracle
20.3K views16 slides
Java EE 8: On the Horizon by
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the HorizonJosh Juneau
13.3K views72 slides
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015 by
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
19.2K views82 slides

More Related Content

What's hot

Best Way to Write SQL in Java by
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in JavaGerger
1.6K views102 slides
Java EE 8 - An instant snapshot by
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
10.7K views91 slides
Testing Java EE Applications Using Arquillian by
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianReza Rahman
25.7K views17 slides
JavaOne 2011: Migrating Spring Applications to Java EE 6 by
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
119.7K views72 slides
Java EE7 Demystified by
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 DemystifiedAnkara JUG
1.5K views44 slides
EJB and CDI - Alignment and Strategy by
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyDavid Delabassee
31.9K views43 slides

What's hot(16)

Best Way to Write SQL in Java by Gerger
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in Java
Gerger1.6K views
Java EE 8 - An instant snapshot by David Delabassee
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
David Delabassee10.7K views
Testing Java EE Applications Using Arquillian by Reza Rahman
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using Arquillian
Reza Rahman25.7K views
JavaOne 2011: Migrating Spring Applications to Java EE 6 by Bert Ertman
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
Bert Ertman119.7K views
Java EE7 Demystified by Ankara JUG
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 Demystified
Ankara JUG1.5K views
EJB and CDI - Alignment and Strategy by David Delabassee
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
David Delabassee31.9K views
Reactive Java EE - Let Me Count the Ways! by Reza Rahman
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!
Reza Rahman104.5K views
Finally, EE Security API JSR 375 by Alex Kosowski
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375
Alex Kosowski13.4K views
Modern web application development with java ee 7 by Shekhar Gulati
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
Shekhar Gulati24K views
Java EE 7 (Hamed Hatami) by Hamed Hatami
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
Hamed Hatami1.2K views
Java EE7 in action by Ankara JUG
Java EE7 in actionJava EE7 in action
Java EE7 in action
Ankara JUG947 views
JavaScript Frameworks and Java EE – A Great Match by Reza Rahman
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
Reza Rahman132.8K views
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems by Arshal Ameen
Java EE 6 Adoption in One of the World’s Largest Online Financial SystemsJava EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Arshal Ameen10.5K views
Ankara JUG Ağustos 2013 - Oracle ADF by Ankara JUG
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG585 views

Similar to Have You Seen Java EE Lately?

GlassFish BOF by
GlassFish BOFGlassFish BOF
GlassFish BOFglassfish
13.7K views46 slides
Consuming Java EE in Desktop, Web, and Mobile Frontends by
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsGeertjan Wielenga
6.2K views23 slides
Java EE for the Cloud by
Java EE for the CloudJava EE for the Cloud
Java EE for the CloudDmitry Kornilov
2K views46 slides
Java EE 7 in practise - OTN Hyderabad 2014 by
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
765 views31 slides
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG by
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGArun Gupta
13.8K views155 slides

Similar to Have You Seen Java EE Lately?(20)

GlassFish BOF by glassfish
GlassFish BOFGlassFish BOF
GlassFish BOF
glassfish13.7K views
Consuming Java EE in Desktop, Web, and Mobile Frontends by Geertjan Wielenga
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile Frontends
Geertjan Wielenga6.2K views
Java EE 7 in practise - OTN Hyderabad 2014 by Jagadish Prasath
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
Jagadish Prasath765 views
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG by Arun Gupta
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
Arun Gupta13.8K views
Java EE 7 for WebLogic 12c Developers by Bruno Borges
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
Bruno Borges4K views
Java EE 6 : Paving The Path For The Future by IndicThreads
Java EE 6 : Paving The Path For The FutureJava EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The Future
IndicThreads1.4K views
Java EE7 by Jay Lee
Java EE7Java EE7
Java EE7
Jay Lee857 views
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013 by Martin Fousek
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
Martin Fousek4.8K views
Building Java Desktop Apps with JavaFX 8 and Java EE 7 by Bruno Borges
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Bruno Borges7.3K views
JavaOne - 10 Tips for Java EE 7 with PrimeFaces by Mert Çalışkan
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan27.1K views
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7 by Max Andersen
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
Max Andersen1K views
OTN Tour 2013: What's new in java EE 7 by Bruno Borges
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
Bruno Borges2.5K views
Presente e Futuro: Java EE.next() by Bruno Borges
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
Bruno Borges1.6K views
JAX-RS 2.0: RESTful Web Services by Arun Gupta
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
Arun Gupta5.5K views
Java EE 8 Overview (Japanese) by Logico
Java EE 8 Overview (Japanese)Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
Logico 984 views

Recently uploaded

Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
218 views20 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
152 views34 slides
Qualifying SaaS, IaaS.pptx by
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptxSachin Bhandari
1K views8 slides
CryptoBotsAI by
CryptoBotsAICryptoBotsAI
CryptoBotsAIchandureddyvadala199
40 views5 slides
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
203 views54 slides
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
119 views17 slides

Recently uploaded(20)

Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue218 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue119 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue184 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue145 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li85 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue138 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue123 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue238 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 views

Have You Seen Java EE Lately?

  • 1. Have You Seen Java EE Lately? Reza Rahman Java EE/GlassFish Evangelist reza.rahman@oracle.com @reza_rahman
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2 Program Agenda  Java EE Overview  Cargo Tracker  API Overview + Demo  The Ecosystem  Looking Ahead
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7 Java EE Today
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8 Java EE Today Core Principles  Open vendor neutral technical standard  Stable core for a strong ecosystem  Fully integrated runtime, intelligent defaults and convention-over- configuration  Non-redundant APIs with specialized roles  Minimalism, simplicity and productivity  Java centric – strong static typing, strongly Object Oriented, focused on “blue collar” developers, strongly backwards compatible
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9 Java EE Today What it is Not  No XML hell  No configuration hell  No jar/dependency hell  No feature bloat  No snake-oil/hypeware  No bloated deployments  No lock-in
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10 Java EE 7 EJB 3EJB 3 ServletServlet JSFJSF JAX-RSJAX-RS JMSJMS CDICDI JPAJPA UpdatedMajor Release New Batch Applications Batch Applications JavaMailJavaMail JAX-WSJAX-WS BeanValidationBeanValidation Java API for JSON Java API for JSON Java API for WebSocket Java API for WebSocket JTAJTAJCAJCAJACCJACC JASPICJASPIC JAXBJAXB Unchanged
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11 Java EE Demo Application http://cargotracker.java.net
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12 JSF  True MVC, component oriented, productive  Facelets for view – XHTML – Templating – Composite components  Data, event binding to CDI via EL  Validation, conversion, navigation, flow  Supports AJAX, HTML 5  Strong plug-in ecosystem – PrimeFaces, RichFaces, ADF Faces, many others
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13 JSF API  Facelets tags – <ui:composition>, <ui:define>, <ui:insert>, <ui:component>, <ui:repeat>  HTML tags – <h:form>, <h:inputText>, <h:selectOneMenu>, <h:commandButton>, <h:commandLink>, <h:panelGrid>  Core tags – <f:convert...>, <f:validat...>, <f:ajax>  Event/data binding to CDI via EL – <h:inputText … value=“#{hello.name}” …>  CDI Scopes – @ViewScoped, @FlowScoped
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14 CDI  Next generation type-safe dependency management  Large number of component scopes  Interceptors/decorators  Type-safe events  Portable extensions API to integrate third-party tools and frameworks cleanly to Java EE – DeltaSpike, Forge, Agorava, MyBatis-CDI, PicketLink, many more  Improving testability – Arquillian
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15 CDI API  Basic dependency injection – @Inject, @Qualifier, @Stereotype, @Alternative, @Named, @Produces, @Disposes  Context management – @RequestScoped, @SessionScoped, @ConversationScoped, @ApplicationScoped, @Scope (@FlowScoped, @ViewScoped, @TransactionScoped)  Lightweight events – Event, @Observes  Interceptors/decorators – @Interceptor, @InterceptorBinding, @AroundInvoke, @Decorator, @Delegate  Portable extensions SPI
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16 EJB 3  Enterprise service components – Thread-safe, transactional, bandwidth-throttled, monitored  Just POJOs + annotations  Component types – @Stateless, @Stateful, @Singleton, @MessageDriven  Services – @TransactionAttribute (JTA/CDI @Transactional), @RolesAllowed, @RunAs, @Asynchronous, @Schedule, @Lock, @Remote
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17 JPA  ORM mapping/domain modeling  CRUD EntityManager API  Rich query capabilities – JPQL – Criteria Queries – Native Queries – Stored procedures  Caching  Small plug-in ecosystem – QueryDSL, DeltaSpike Query Module, Spring Data/CDI
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18 JPA API  Domain modeling – @Entity, @Embeddable, @OneToOne, @OneToMany, @ManyToOne, @ManyToMany, @ElementCollection, @Id  Relational mapping – @Table, @Column, @JoinColumn, @JoinTable, @Basic, @Lob, @Temporal, @Enumerated, @Cacheable  CRUD API – EntityManager, Query, CriteriaQuery, @PersistenceContext, @NamedQuery, @NamedNativeQuery, @NamedStoredProcedureQuery
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19 Bean Validation  Declarative constraint management across application layers  Constraint – Restriction on a bean, field, property, method parameter, return value – Not null, between 10 and 45, valid email, etc – @Max, @Min, @Size, @NotNull, @Pattern, @Future, @Past – Custom constraints – Evaluated automatically  Integrated with JSF, JPA, CDI, JAX-RS
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public20 JMS 2  Reliable asynchronous messaging API for Java  Point-to-point (queues), publish-subscribe (topic)  Small, powerful API – Message, Destination, Queue, Topic, ConnectionFactory, Connection, Session, MessageProducer, MessageConsumer, JMSContext, JMSProducer, JMSConsumer, MessageListener, @JMSConnectionFactory  Message types – TextMessage, ObjectMessage, BytesMessage, MapMessage, StreamMessage
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public21 JAX-RS 2  REST development API for Java  Server and client  Annotation based – @Path, @GET, @POST, @PUT, @DELETE, @PathParam, @QueryParam, @Produces, @Consumes  Pluggable and extensible – Providers, filters, interceptors
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public22 Java API for WebSocket  High level declarative API for WebSocket  Both client and server-side  Small, powerful API – @ServerEndpoint, @OnOpen, @OnClose, @OnMessage, @OnError, Session, Remote  Pluggable and extensible – Encoders, decoders, sub-protocols
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public23 Java EE Platforms GlassFishJava EE 7 Java EE 6 TomEE
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public24 Java EE Ecosystem
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public25 Java EE 8 Community Survey https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public26 Java EE 8 Possibilities  Web Standards/HTML5 Alignment – HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework, hypermedia  Cloud – Simple security providers, REST management/monitoring  CDI Alignment – CDI 2, EJB services outside EJB, EJB pruning  Enterprise – JCache, Configuration, JMS  Java SE 8 alignment
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public27 Adopt-a-JSR for Java EE 8  Grassroots participation to shape Java EE  Launched in Java EE 7 time-frame, key community element for Java EE 8 – 30 Java user groups participating! http://glassfish.org/adoptajsr
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public28 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

Editor's Notes

  1. The J2EE period (prior to Java EE 5) is marked with a successful effort to establish the server-side Java standards based ecosystem. Though widely criticized for complexity J2EE remains one of the most influential and groundbreaking technologies in the enterprise. The Java community stepped in to meet the programming model challenges in J2EE with projects like Spring and Hibernate.
  2. Java EE 5 absorbed many of the programming model changes from the community and included it’s own set of key innovations. The key changes in Java EE 5 were POJO programming, annotations over XML, intelligent defaults and zero-configuration systems. As a result of the changes in Java EE 5, Java EE remains one of the easiest to use platforms available today.
  3. The key change in Java EE 6 was to introduce first-class generic dependency injection as a built-in part of the platform through CDI. The industry reception of Java EE 6 has been great resulting in the growing adoption of Java EE. Java EE 6 also introduced the Web Profile and a pruning process to make the platform as lightweight as possible.
  4. Java EE 7 is an opportunity to build upon the success of Java EE 6 to make sure enterprise developers are ready for emerging challenges.
  5. The industry is on the path to adopting Java EE 7. There are already five certified compatible implementations – GlassFish 4, WildFly 8, Hitachi Cosminexus, TmaxSoft JEUS and WebSphere Liberty 8.5. WebLogic is well on the way to Java EE 7 certification and uses many of the OSS components from GlassFish 4. JBoss EAP is the upstream project for WildFly and will be Java EE 7 compatible soon. TomEE, the Tomcat based open source Java EE application server is also working on Java EE 7. The rest of the available Java EE platforms will likely catch up gradually.
  6. Adopt-a-JSR is a grassroots level, JUG-led initiative to increase participation in the JCP from rank-and-file Java developers. The idea is that Java developers will self-organize through their JUG and contribute to specific tasks as a group to a JSR. Beyond participating through Adopt-a-JSR, developers are always most welcome to participate as experts or JSR observers. Anyone can join a JSRs user alias and be heard at any time. Adopt-a-JSR was reasonably successful for Java EE 7. We hope to significantly build upon that success in Java EE 8. For details on the initiative please visit the linked resource.