SlideShare a Scribd company logo
Copyright JPassion © and Jasmine Conseil © 2018
JAVA EE Application Development
in Practice
Chapter 1: A Big Overview
Sang Shin & Karim Djaafar
Copyright JPassion © and Jasmine Conseil © 2018 2
AGENDA
• What is Java EE
• JEE Architecture
• Enterprise Application Development
• Java EE, a little story
• The Java EE APIs
• Whats new in Java EE 8
• Quick recap
Copyright JPassion © and Jasmine Conseil © 2018 3
What is Java EE ?
Fundamentals Concepts
and Architecture Overview
Copyright JPassion © and Jasmine Conseil © 2018 4
Introduction to Java EE
• The Java Platform, Enterprise Edition (Java EE) is a collection of API
specifications designed to work together when developing server-side,
enterprise Java applications
• Extension of Java SE
• Simplify enterprise application development
• Java EE is a standard : there are multiple implementations of the Java EE
specifications
Copyright JPassion © and Jasmine Conseil © 2018 5
Java EE is a Standard
• Java EE go to a standardization process of the JCP, Java Community
Process, an organization responsible for the development of Java
technology
• JCP members include Oracle (the current steward of the Java platform),
and the Java community at large
• The Java Community Process (JCP) allows interested parties to assist in
developing standard technical specification for Java technology
• Each Java EE API specification is developed as part of a Java
Specification Request (JSR)
• Each JSR is assigned a unique number. JavaServer Faces (JSF) 2.3 is
developed as JSR 372, for instance
Copyright JPassion © and Jasmine Conseil © 2018 6
Java EE Implementation Examples
Glassfish
Copyright JPassion © and Jasmine Conseil © 2018 7
Payara
• In this course, we will choose Payara, which support full Java
EE 8 specification and JDK 9
• Payara server support Microservices, which leverage standard
Java EE API
• Easy to use and deploy : For example It only takes a few quick
steps to deploy a Microservice using Java EE APIs !
Copyright JPassion © and Jasmine Conseil © 2018 8
JEE Architecture
Copyright JPassion © and Jasmine Conseil © 2018 9
JEE Concepts
• Container, services and Components
• Application
• Packaging and Deployment
• Client interaction
Copyright JPassion © and Jasmine Conseil © 2018 10
Java SE and Java EE: a complementary couple
• Java SE
• APIs for example to handle collections
• The JVM is a container
• Low level services
• Java EE
• APIs to handle transaction, messaging, security…
• Code runs in a container
• High level services using metadata (see further)
Copyright JPassion © and Jasmine Conseil © 2018 11
Container
• Runtime environment
• Hide technical complexity
• Enhance portability
• Host applications
• Administer and monitor hosted Java Applications
Copyright JPassion © and Jasmine Conseil © 2018 12
Services and Components• A component is a static or dynamic web pages
• Server side classes
• Handle business code
• A component can be a business or a technical component (example
database access component)
• Container provides services to component using some metadata
description
• Transaction Management
• Security
• Naming
• …
• Services are configurable
Copyright JPassion © and Jasmine Conseil © 2018 13
JEE Architecture
Copyright JPassion © and Jasmine Conseil © 2018 14
Java EE Application
• Aggregation of components
• Examples:
• Web pages
• Web resources
• Database access components
• Packaged and Deployed in an archive according a standard
format (EAR, WAR, JAR)
Copyright JPassion © and Jasmine Conseil © 2018 15
Packaging JEE application
• Aggregation of components
• Examples:
• Web pages
• Web resources
• Database access components
Copyright JPassion © and Jasmine Conseil © 2018 16
Client Interaction
• Web Clients using a browser (IE, google chrome, …)
• Standalone Java applications (Java SE, Java FX)
• Web Applications
• REST/SOAP services
• Mobile Apps
Copyright JPassion © and Jasmine Conseil © 2018 17
Enterprise Application Development
Copyright JPassion © and Jasmine Conseil © 2018 18
Applications
Java SE
Standard
Applications
Java Mobiles
Applications
Java FX
Rich User interfaces
Java EE
Enterprise Applications
Copyright JPassion © and Jasmine Conseil © 2018 19
Enterprise Applications
• Multi-tiered
• Scalable
• Modulable
• Secure
• Respond to the needs of large and complexes business needs
• For individual developers and small organizations
Copyright JPassion © and Jasmine Conseil © 2018 20
JEE Tiered Applications
Client Tier
XML, Browser,
JSON
Java Application
Application Tier
Web Server
HTML
CSS
JS
Web Container
Servlets JSPs
Tagged
Library
JAX-RS/JAX-
WS
JSON Web Socket CDI Extension

EJB Container
Session
Beans
Entity
Beans
Singleton
Beans
Message
Beans
JMS JPA JTA
Java
Mail
Beans
Validation
JCA JNDI …
Database/EIS
Tier
DB
Cettephotopar
Auteurinconnu
estsoumisàla
licenceCCBY-
SA
HTTP/
HTTPS
Copyright JPassion © and Jasmine Conseil © 2018 21
Java EE, a little story…
Copyright JPassion © and Jasmine Conseil © 2018 22
A Brief History of Java EE
J2EE 1.2
Servlets,
JSP, EJB,
JMS
1999. 2001 2003 2006 2009 2013 2017
J2EE 1.3
CMP,
JCA
J2EE 1.4
JAX/RPC
Management
API,
Deployment
Java EE 5
Annotations,
EJB 3.0,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
JAX-RS,
CDI,
Servlet 3.0,
Web Profile,
Pruning
Java EE 7
JAX-RS 2.0,
JSON-P,
WebSocket,
JMS 2.0,
Batch
Java EE 8
Servlet 4.0,
JAX-RS 2.1,
JSON-B,
JSON-P 1.1,
Security
Copyright JPassion © and Jasmine Conseil © 2018 23
Java EE 8 main evolutions
• Java SE 8 alignment: DateTime API, CompetableFuture, repeatable
annotations
• CDI 2.0: asynchronous events, events ordering, better integration in other
specs. With this release, CDI confirms its role of foundation of the Java
EE platform
• Servlet 4.0: HTTP/2 support (Server Push)
• JAX-RS 2.1: Server-Sent Event, reactive extensions
• JSON Processing 1.1 and JSON Binding 1.0
• Security: simplification, secret management, modernization, OAuth2 and
OpenID support
Copyright JPassion © and Jasmine Conseil © 2018 24
Where is Java EE going ?
• Oracle announced its intention to open source Java
EE (Enterprise Edition) in order to make Java EE more agile
and responsive to changing industry and technology demands
(According David Delabassee, Oracle Java EE evangelist)
• It seems that Oracle prefers to concentrate its effort on a new
open source project named Fn, a serverless framework similar
to Amazon Lambda and IBM OpenWhisk (now an Apache
project)
Copyright JPassion © and Jasmine Conseil © 2018 25
The Java EE APIs
Copyright JPassion © and Jasmine Conseil © 2018 26
Java EE is a collection of APIs
• Application Programming Interface specifications
• Used to develop server-side, enterprise Java application
• Some APIs supported by Java EE:
• JavaServer Faces (JSF) 2.3
• Servlet 4.0
• Java Persistence API (JPA) 2.2
• Enterprise JavaBeans (EJB) 3.2
• Contexts and Dependency Injection for the Java EE Platform (CDI) 2.0
• Java API for JSON Processing (JSON-P) 1.1
• Java API for JSON Binding (JSON-B) 1.0
• Java API for WebSocket 1.0
• …
Copyright JPassion © and Jasmine Conseil © 2018 27
Java EE API
Java EE API Description
JavaServer Faces (JSF) 2.3 JSF is a component library that greatly simplifies the development of web
applications
Java Persistence API (JPA) 2.2 JPA is the Java EE standard Object-Relational Mapping (ORM) API.
It makes it easy to interact with relational databases
Enterprise JavaBeans (EJB) 3.2 EJB's allow us to easily add enterprise features such as transactions and
scalability to our Java EE applications
Contexts and Dependency
Injection (CDI) 2.0
CDI allows us to easily define the life cycle of Java objects and provides the ability
to easily inject dependencies into Java objects; it also provides a powerful event
mechanism
Java API for JSON Processing
(JSON-P) 1.1
JSON-P is an API that allows working with JSON strings in Java
Java API for JSON Binding
(JSON-B) 1.0
JSON-B provides the ability to easily populate Java objects from JSON streams
and back
Copyright JPassion © and Jasmine Conseil © 2018 28
Java EE API
Java EE API Description
Java API for WebSocket 1.0 WebSocket is a standard Java EE implementation of the Internet
Engineering Task Force (IETF) WebSocket protocol, which allows
full duplex communication over a single TCP connection
Java Message Service (JMS) 2.0 JMS is a standard API that allows Java EE developers to interact
with Message Oriented Middleware (MOM
Java EE Security API 1.0 The Java EE Security API aims to standardize and simplify the task
of securing Java EE applications
Java API for RESTful Web Services (JAX-
RS) 2.1
JAX-RS is an API for creating RESTful web services endpoints and
clients
Java API for XML Web Services (JAX-WS)
2.2
“JAX-WS is an API that allows the creation of Simple Object Access
Protocol (SOAP) web service
Servlet 4.0 The servlet API is a low-level API used to implement server-side
logic in web applications
Copyright JPassion © and Jasmine Conseil © 2018 29
Java EE : Spring and Angular
Copyright JPassion © and Jasmine Conseil © 2018 30
Java EE and Spring
• Spring and Java EE are pretty popular choices, and the general
consensus is that both are quite excellent
• Java EE influenced by Spring Framework and Spring Boot by
Java E
• Think about it:
• if someone uses servlets, do they use Java EE? It’s a part of the
specification, sure, but really? Would you call it a Java EE application?
What about if you sprinkle your model with some JPA annotations?
Where’s the line drawn?
Copyright JPassion © and Jasmine Conseil © 2018 31
Java EE meet Angular
• The frontend of web applications were, in most of the cases, server-side
rendered HTML pages, powered by JSP or JSF
• The HTML was crafted on the server on demand, that is, on request, and
returned to the client
• In order to realize that, the JSP or JSF pages, respectively, have to reside
on the backend. Therefore, the whole enterprise application would be
shipped and deployed as single artifact
• With the new frontend technologies, basically sophisticated JavaScript
frameworks and especially sing page applications (SPA), those
technologies as been deprecated
Copyright JPassion © and Jasmine Conseil © 2018 32
Java EE and Angular
• The more client-centric and powerful the JavaScript frameworks became,
the more the communication between frontend and backend went from
tightly coupled requests and responses to a more API-like usage, typically
JSON via HTTP
• This also meant that the server-side became more client-agnostic
• For example, communicating solely via RESTful-like, JSON-format APIs
enables native or mobile clients such as smartphones to use the same API
like the frontend does
• AngularJS support this new shift
Copyright JPassion © and Jasmine Conseil © 2018 33
AngularJS in short
• Extend HTML to add dynamic nature so that we can build modern web
applications with ease
• Brings you back to HTML
• Declarative approach
• Eliminate the need of DOM manipulation by two way bindng mechanism
• Ideal for building powerful SPA applications
• Enhance JEE by combining the power of JEE for the backing and the
flexibility of the AngularJS framework
• We will use AngularJS as a front stack during our course combined to JEE
APIs
Copyright JPassion © and Jasmine Conseil © 2018 34
The Future of Java EE…
Copyright JPassion © and Jasmine Conseil © 2018 35
Microservice support
• Java EE and Spring are de facto standards for creating complexes and
robust enterprise applications
• Difference are in the implementation no in the APIs
• From the beginning of the Java platform design are Monolith
• Microservices bring many change for the Java EE Platform thanks to
Docker containers popularity
• Many microservices frameworks are available for standardizing the platform
(Eclipse MicroProfile project)
Copyright JPassion © and Jasmine Conseil © 2018 36
The Jakarta EE Project
• Last August, Oracle announced its decision to move the Java EE platform
to an open source foundation, and after discussing with several
candidates, the company chose the Eclipse Foundation
• With Java EE 8 now available, the Eclipse Foundation has begun to take
charge by launching the Eclipse Enterprise for Java (EE4J) project,
code name Jakarta EE
• It is a high-level project of the foundation that aims to define and develop
API specifications, reference implementations, and technology
compatibility kits (TCKs) for Java application server implementations
Copyright JPassion © and Jasmine Conseil © 2018 37
Summary
Copyright JPassion © and Jasmine Conseil © 2018
In Summary …
Java EE Is a powerful platform for developing powerful
Java Enterprise application
A powerful platform
Standard
Adapted to the Market constraints
Java EE is based on specifications which each vendor
can adapt
Java EE evolve and can be combined with other powerful
frameworks thanks to is modular architecture and
microservice powered
Copyright JPassion © and Jasmine Conseil © 2018

More Related Content

What's hot

Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Arun Gupta
 
Java EE 8
Java EE 8Java EE 8
Java EE 8
Ryan Cuprak
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Shreedhar Ganapathy
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
Arun Gupta
 
Javantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter LehtoJavantura Zagreb 2014 - Vaadin - Peter Lehto
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
Arun Gupta
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
Arun Gupta
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
Muhammad Ghazali
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Modular Java
Modular JavaModular Java
Modular Java
Martin Toshev
 
Net Beans61 Platform
Net Beans61 PlatformNet Beans61 Platform
Net Beans61 Platform
satyajit_t
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)
Ryan Cuprak
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
José Maria Silveira Neto
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
mimacom
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
Ryan Cuprak
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 

What's hot (20)

Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
 
Java EE 8
Java EE 8Java EE 8
Java EE 8
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
 
Javantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter LehtoJavantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter Lehto
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David DelabasseeJavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Modular Java
Modular JavaModular Java
Modular Java
 
Net Beans61 Platform
Net Beans61 PlatformNet Beans61 Platform
Net Beans61 Platform
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 

Similar to JEE 8, A Big Overview

Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
sandeep54552
 
J2ee seminar
J2ee seminarJ2ee seminar
J2ee seminar
Sahil Kukreja
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
Anup72
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
Edward Burns
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
FirmansyahIrma1
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
Shubham Gupta
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE Introduction
Danairat Thanabodithammachari
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_eeYogesh Bindwal
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
odedns
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807rehoscript
 
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 IndiaJava EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Arun Gupta
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
suneel singh
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
Rudy De Busscher
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeBerry Clemens
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
Ankara JUG
 

Similar to JEE 8, A Big Overview (20)

Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
J2ee seminar
J2ee seminarJ2ee seminar
J2ee seminar
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
Resume
ResumeResume
Resume
 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE Introduction
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_ee
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
 
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 IndiaJava EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 India
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obiee
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
 
Jboss
JbossJboss
Jboss
 
Resume
ResumeResume
Resume
 

More from Jasmine Conseil

Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
Jasmine Conseil
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
Jasmine Conseil
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Jasmine Conseil
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
Jasmine Conseil
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
Jasmine Conseil
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
Jasmine Conseil
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
Jasmine Conseil
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
Jasmine Conseil
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasmine Conseil
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
Jasmine Conseil
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
Jasmine Conseil
 

More from Jasmine Conseil (20)

Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

JEE 8, A Big Overview

  • 1. Copyright JPassion © and Jasmine Conseil © 2018 JAVA EE Application Development in Practice Chapter 1: A Big Overview Sang Shin & Karim Djaafar
  • 2. Copyright JPassion © and Jasmine Conseil © 2018 2 AGENDA • What is Java EE • JEE Architecture • Enterprise Application Development • Java EE, a little story • The Java EE APIs • Whats new in Java EE 8 • Quick recap
  • 3. Copyright JPassion © and Jasmine Conseil © 2018 3 What is Java EE ? Fundamentals Concepts and Architecture Overview
  • 4. Copyright JPassion © and Jasmine Conseil © 2018 4 Introduction to Java EE • The Java Platform, Enterprise Edition (Java EE) is a collection of API specifications designed to work together when developing server-side, enterprise Java applications • Extension of Java SE • Simplify enterprise application development • Java EE is a standard : there are multiple implementations of the Java EE specifications
  • 5. Copyright JPassion © and Jasmine Conseil © 2018 5 Java EE is a Standard • Java EE go to a standardization process of the JCP, Java Community Process, an organization responsible for the development of Java technology • JCP members include Oracle (the current steward of the Java platform), and the Java community at large • The Java Community Process (JCP) allows interested parties to assist in developing standard technical specification for Java technology • Each Java EE API specification is developed as part of a Java Specification Request (JSR) • Each JSR is assigned a unique number. JavaServer Faces (JSF) 2.3 is developed as JSR 372, for instance
  • 6. Copyright JPassion © and Jasmine Conseil © 2018 6 Java EE Implementation Examples Glassfish
  • 7. Copyright JPassion © and Jasmine Conseil © 2018 7 Payara • In this course, we will choose Payara, which support full Java EE 8 specification and JDK 9 • Payara server support Microservices, which leverage standard Java EE API • Easy to use and deploy : For example It only takes a few quick steps to deploy a Microservice using Java EE APIs !
  • 8. Copyright JPassion © and Jasmine Conseil © 2018 8 JEE Architecture
  • 9. Copyright JPassion © and Jasmine Conseil © 2018 9 JEE Concepts • Container, services and Components • Application • Packaging and Deployment • Client interaction
  • 10. Copyright JPassion © and Jasmine Conseil © 2018 10 Java SE and Java EE: a complementary couple • Java SE • APIs for example to handle collections • The JVM is a container • Low level services • Java EE • APIs to handle transaction, messaging, security… • Code runs in a container • High level services using metadata (see further)
  • 11. Copyright JPassion © and Jasmine Conseil © 2018 11 Container • Runtime environment • Hide technical complexity • Enhance portability • Host applications • Administer and monitor hosted Java Applications
  • 12. Copyright JPassion © and Jasmine Conseil © 2018 12 Services and Components• A component is a static or dynamic web pages • Server side classes • Handle business code • A component can be a business or a technical component (example database access component) • Container provides services to component using some metadata description • Transaction Management • Security • Naming • … • Services are configurable
  • 13. Copyright JPassion © and Jasmine Conseil © 2018 13 JEE Architecture
  • 14. Copyright JPassion © and Jasmine Conseil © 2018 14 Java EE Application • Aggregation of components • Examples: • Web pages • Web resources • Database access components • Packaged and Deployed in an archive according a standard format (EAR, WAR, JAR)
  • 15. Copyright JPassion © and Jasmine Conseil © 2018 15 Packaging JEE application • Aggregation of components • Examples: • Web pages • Web resources • Database access components
  • 16. Copyright JPassion © and Jasmine Conseil © 2018 16 Client Interaction • Web Clients using a browser (IE, google chrome, …) • Standalone Java applications (Java SE, Java FX) • Web Applications • REST/SOAP services • Mobile Apps
  • 17. Copyright JPassion © and Jasmine Conseil © 2018 17 Enterprise Application Development
  • 18. Copyright JPassion © and Jasmine Conseil © 2018 18 Applications Java SE Standard Applications Java Mobiles Applications Java FX Rich User interfaces Java EE Enterprise Applications
  • 19. Copyright JPassion © and Jasmine Conseil © 2018 19 Enterprise Applications • Multi-tiered • Scalable • Modulable • Secure • Respond to the needs of large and complexes business needs • For individual developers and small organizations
  • 20. Copyright JPassion © and Jasmine Conseil © 2018 20 JEE Tiered Applications Client Tier XML, Browser, JSON Java Application Application Tier Web Server HTML CSS JS Web Container Servlets JSPs Tagged Library JAX-RS/JAX- WS JSON Web Socket CDI Extension EJB Container Session Beans Entity Beans Singleton Beans Message Beans JMS JPA JTA Java Mail Beans Validation JCA JNDI … Database/EIS Tier DB Cettephotopar Auteurinconnu estsoumisàla licenceCCBY- SA HTTP/ HTTPS
  • 21. Copyright JPassion © and Jasmine Conseil © 2018 21 Java EE, a little story…
  • 22. Copyright JPassion © and Jasmine Conseil © 2018 22 A Brief History of Java EE J2EE 1.2 Servlets, JSP, EJB, JMS 1999. 2001 2003 2006 2009 2013 2017 J2EE 1.3 CMP, JCA J2EE 1.4 JAX/RPC Management API, Deployment Java EE 5 Annotations, EJB 3.0, JPA, JSF, JAXB, JAX-WS Java EE 6 JAX-RS, CDI, Servlet 3.0, Web Profile, Pruning Java EE 7 JAX-RS 2.0, JSON-P, WebSocket, JMS 2.0, Batch Java EE 8 Servlet 4.0, JAX-RS 2.1, JSON-B, JSON-P 1.1, Security
  • 23. Copyright JPassion © and Jasmine Conseil © 2018 23 Java EE 8 main evolutions • Java SE 8 alignment: DateTime API, CompetableFuture, repeatable annotations • CDI 2.0: asynchronous events, events ordering, better integration in other specs. With this release, CDI confirms its role of foundation of the Java EE platform • Servlet 4.0: HTTP/2 support (Server Push) • JAX-RS 2.1: Server-Sent Event, reactive extensions • JSON Processing 1.1 and JSON Binding 1.0 • Security: simplification, secret management, modernization, OAuth2 and OpenID support
  • 24. Copyright JPassion © and Jasmine Conseil © 2018 24 Where is Java EE going ? • Oracle announced its intention to open source Java EE (Enterprise Edition) in order to make Java EE more agile and responsive to changing industry and technology demands (According David Delabassee, Oracle Java EE evangelist) • It seems that Oracle prefers to concentrate its effort on a new open source project named Fn, a serverless framework similar to Amazon Lambda and IBM OpenWhisk (now an Apache project)
  • 25. Copyright JPassion © and Jasmine Conseil © 2018 25 The Java EE APIs
  • 26. Copyright JPassion © and Jasmine Conseil © 2018 26 Java EE is a collection of APIs • Application Programming Interface specifications • Used to develop server-side, enterprise Java application • Some APIs supported by Java EE: • JavaServer Faces (JSF) 2.3 • Servlet 4.0 • Java Persistence API (JPA) 2.2 • Enterprise JavaBeans (EJB) 3.2 • Contexts and Dependency Injection for the Java EE Platform (CDI) 2.0 • Java API for JSON Processing (JSON-P) 1.1 • Java API for JSON Binding (JSON-B) 1.0 • Java API for WebSocket 1.0 • …
  • 27. Copyright JPassion © and Jasmine Conseil © 2018 27 Java EE API Java EE API Description JavaServer Faces (JSF) 2.3 JSF is a component library that greatly simplifies the development of web applications Java Persistence API (JPA) 2.2 JPA is the Java EE standard Object-Relational Mapping (ORM) API. It makes it easy to interact with relational databases Enterprise JavaBeans (EJB) 3.2 EJB's allow us to easily add enterprise features such as transactions and scalability to our Java EE applications Contexts and Dependency Injection (CDI) 2.0 CDI allows us to easily define the life cycle of Java objects and provides the ability to easily inject dependencies into Java objects; it also provides a powerful event mechanism Java API for JSON Processing (JSON-P) 1.1 JSON-P is an API that allows working with JSON strings in Java Java API for JSON Binding (JSON-B) 1.0 JSON-B provides the ability to easily populate Java objects from JSON streams and back
  • 28. Copyright JPassion © and Jasmine Conseil © 2018 28 Java EE API Java EE API Description Java API for WebSocket 1.0 WebSocket is a standard Java EE implementation of the Internet Engineering Task Force (IETF) WebSocket protocol, which allows full duplex communication over a single TCP connection Java Message Service (JMS) 2.0 JMS is a standard API that allows Java EE developers to interact with Message Oriented Middleware (MOM Java EE Security API 1.0 The Java EE Security API aims to standardize and simplify the task of securing Java EE applications Java API for RESTful Web Services (JAX- RS) 2.1 JAX-RS is an API for creating RESTful web services endpoints and clients Java API for XML Web Services (JAX-WS) 2.2 “JAX-WS is an API that allows the creation of Simple Object Access Protocol (SOAP) web service Servlet 4.0 The servlet API is a low-level API used to implement server-side logic in web applications
  • 29. Copyright JPassion © and Jasmine Conseil © 2018 29 Java EE : Spring and Angular
  • 30. Copyright JPassion © and Jasmine Conseil © 2018 30 Java EE and Spring • Spring and Java EE are pretty popular choices, and the general consensus is that both are quite excellent • Java EE influenced by Spring Framework and Spring Boot by Java E • Think about it: • if someone uses servlets, do they use Java EE? It’s a part of the specification, sure, but really? Would you call it a Java EE application? What about if you sprinkle your model with some JPA annotations? Where’s the line drawn?
  • 31. Copyright JPassion © and Jasmine Conseil © 2018 31 Java EE meet Angular • The frontend of web applications were, in most of the cases, server-side rendered HTML pages, powered by JSP or JSF • The HTML was crafted on the server on demand, that is, on request, and returned to the client • In order to realize that, the JSP or JSF pages, respectively, have to reside on the backend. Therefore, the whole enterprise application would be shipped and deployed as single artifact • With the new frontend technologies, basically sophisticated JavaScript frameworks and especially sing page applications (SPA), those technologies as been deprecated
  • 32. Copyright JPassion © and Jasmine Conseil © 2018 32 Java EE and Angular • The more client-centric and powerful the JavaScript frameworks became, the more the communication between frontend and backend went from tightly coupled requests and responses to a more API-like usage, typically JSON via HTTP • This also meant that the server-side became more client-agnostic • For example, communicating solely via RESTful-like, JSON-format APIs enables native or mobile clients such as smartphones to use the same API like the frontend does • AngularJS support this new shift
  • 33. Copyright JPassion © and Jasmine Conseil © 2018 33 AngularJS in short • Extend HTML to add dynamic nature so that we can build modern web applications with ease • Brings you back to HTML • Declarative approach • Eliminate the need of DOM manipulation by two way bindng mechanism • Ideal for building powerful SPA applications • Enhance JEE by combining the power of JEE for the backing and the flexibility of the AngularJS framework • We will use AngularJS as a front stack during our course combined to JEE APIs
  • 34. Copyright JPassion © and Jasmine Conseil © 2018 34 The Future of Java EE…
  • 35. Copyright JPassion © and Jasmine Conseil © 2018 35 Microservice support • Java EE and Spring are de facto standards for creating complexes and robust enterprise applications • Difference are in the implementation no in the APIs • From the beginning of the Java platform design are Monolith • Microservices bring many change for the Java EE Platform thanks to Docker containers popularity • Many microservices frameworks are available for standardizing the platform (Eclipse MicroProfile project)
  • 36. Copyright JPassion © and Jasmine Conseil © 2018 36 The Jakarta EE Project • Last August, Oracle announced its decision to move the Java EE platform to an open source foundation, and after discussing with several candidates, the company chose the Eclipse Foundation • With Java EE 8 now available, the Eclipse Foundation has begun to take charge by launching the Eclipse Enterprise for Java (EE4J) project, code name Jakarta EE • It is a high-level project of the foundation that aims to define and develop API specifications, reference implementations, and technology compatibility kits (TCKs) for Java application server implementations
  • 37. Copyright JPassion © and Jasmine Conseil © 2018 37 Summary
  • 38. Copyright JPassion © and Jasmine Conseil © 2018 In Summary … Java EE Is a powerful platform for developing powerful Java Enterprise application A powerful platform Standard Adapted to the Market constraints Java EE is based on specifications which each vendor can adapt Java EE evolve and can be combined with other powerful frameworks thanks to is modular architecture and microservice powered
  • 39. Copyright JPassion © and Jasmine Conseil © 2018