1
Java Platform, Enterprise
Edition (Java EE)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
Course Goals
• In this course, you will gain experience with a broad array of
technologies that are used to connect enterprise Java
applications with persistence mechanisms, session
management mechanisms, and messaging systems and
services.
• The enterprise technologies that are presented in this course
include:
– Dependency Injection with CDI
– Enterprise JavaBeans (EJB)
– Timer and Batch services
– Java Persistence API
– Messaging
– XML Programming with JAXB
– SOAP web services with JAX-WS
– Concurrency and other topics, including logging, JavaBeans,
and annotations
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-2
Course Objectives
After completing this course, you should be able to do the
following:
• Select the correct Java EE Profile for a given application
• Develop and run an EJB technology application
• Develop basic Java Persistence API entity classes to enable
database access
• Design applications to use SOAP web services with JAX-WS
• Develop applications to use Timer and Batch services
• Develop applications to use Messaging
• Implement a security policy
• Use integrated development environments
(IDEs) and application servers for Java EE
development
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-3
Java EE 7 Technology Summary
Bean XML
Servlet CDI EJB
Validation Mess.
EJB Lite JSON Intercept. JMS JAXR
JSP JAX-RS JSF Batch JASPI
Expr. Lang JSTL JAXP Concurr. JAX-RPC
Common
JPA JMX JAXB JavaMail
Annotation
Web
JTA StAX JDBC JAX-WS
Socket
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-4
Back-end Development Technologies
Bean XML
Servlet CDI EJB
Validation Mess.
EJB Lite JSON Intercept. JMS JAXR
JSP JAX-RS JSF Batch JASPI
Expr. Lang JSTL JAXP Concurr. JAX-RPC
Common
JPA JMX JAXB JavaMail
Annotation
Web
JTA StAX JDBC JAX-WS
Socket
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-5
Audience
The target audience includes those who have:
• Completed the Java SE 8 Programming course
• Obtained the Oracle Certified Professional and Java SE 7
Programmer certification
• Experience with the Java language
• Experience with basic database concepts and a basic
knowledge of SQL
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-6
How Prepared Are You?
You are prepared to take this course if you can answer yes to the
following questions:
• Are you experienced with the Java programming language?
• Are you familiar with relational database programming?
• Are you familiar with the use of IDEs?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-7
Class Introductions
Briefly introduce yourself:
• Name
• Title or position
• Company
• Experience with Java programming and web applications
• Reasons for attending
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-8
Course Environment
Core Apps
• JDK 8
• NetBeans 8.1
• WebLogic Server 12c (12.2.1)
• Java EE 7
• Java DB Classroom PC
Additional Tools
• Firefox
• Opera
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1-9
Java Technology Product Groups
Servers Desktop Embedded TV Mobile Card
BD-J
Key APIs
Java EE Java FX Java TV MSA
Java
Platform Java SE Java ME
Card
Language Java Language
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 10
Requirements of Enterprise Applications
The Java EE Platform:
• Is an architecture for implementing enterprise-class
applications
• Uses Java and Internet technology
• Has a primary goal of simplifying development of enterprise-
class applications through an application model that is:
– Vendor neutral
– Component based
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 11
Enterprise Application Infrastructure Technologies
Single-user Enterprise Infrastructure Technology or Domain Multi-user
Business Requirement Enterprise
Application Applications
User authentication Security domain technologies
Multi-user support Persistence technologies
Data integrity Transaction technologies
Client-tier communications Networking and distributed
object technologies
Communication with other Messaging, connector, and
enterprise and legacy related technologies
applications
Service location assistance Naming service technologies
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 12
Separation of Business Logic from Platform Services
Developer’s Checklist
Business services
Persistence and Transaction management
Multithreading
Build from the Security management
ground up Networking
Developer’s Checklist
Business services
Services Provided by Server
Persistence and Transaction management
Multithreading
Security management
Use Application
Networking
Component Server
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 13
Java EE Profiles
• Java EE 6 and 7 include profiles for application developers
that do not need the full Java EE Platform but require
application portability. Developers can choose between:
– The Java EE Web Profile: Focused on web applications and
supporting technologies
– The Java EE Full Platform: Complete Java EE application
servers
• Technically “Full Platform” is not a profile. The only profile
included in the Java EE specification is the web profile.
Additional profiles may be added in future releases.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 14
Java EE Technology Specifications
The Java EE Platform is defined by a collection of Java
Specification Requests (JSRs). JSRs can be downloaded freely
from the Java Community Process (JCP) website.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 15
Java EE Services and APIs
Some JSRs define only APIs, whereas others also define the
services that must be supplied by compatible implementations.
• APIs: These include a collection of classes, annotations, and
interfaces that developers can use. An API is packaged into a
library, which can be added to a Java application.
– JavaMail is an example of a downloadable library, which can
be added to any Java application.
• Services: JSRs may outline a required environment in which
the developer-supplied components will execute. A container
is a part of an application server, which supplies the required
runtime environment.
– Servlets are an example of components that require a (web)
container to execute.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 16
Java EE Platform Tiers and Architecture
• The Java EE specification outlines an architectural model
based on tiers that developers are encouraged to use.
• The historical motivation for tiering:
– Division of labor around specialized servers
– Formal definitions of application responsibilities based on the
division of labor
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 17
N-Tier Architectural Model
The focus of "back-end" Java EE Development
EIS/Data
Presentation Business Integration
Client Tier (Resource)
Tier Tier Tier
Tier
The N-tier architectural model:
• Programmatically separates application functionality across
three or more tiers
• Has tier components and tier infrastructure that are uniquely
suited to a particular task
• Has programmatic interfaces that define the tier boundaries
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 18
Java EE–Tiered Architecture
EIS/Data
Presentation Business Integration
Client Tier (Resource)
Tier Tier Tier
Tier
Web Container Embedded
Web Browser
EJB Container
HTML Form Controller DBMS
Business
HTTP Services SQL
Entities
UI Views Model
Client Presentation and Business Resource
Java EE Application Boundary
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 19
Additional Courses
• Java Programming Language
– Java programming language concepts
• Developing Web Applications Using JSF Technologies
– JSF development
• Web Component Development with Servlet and JSP
Technologies
– Advanced web development, Servlets, and JSPs
• JavaScript and HTML5: Develop Web Applications
– Advanced JavaScript development
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 20
Additional Courses
• Java EE 7 Front-end Web Application Development
– Servlets and JavaServer Pages (JSP)
– RESTful Web Services (JAX-RS)
– HTML5 JavaScript Web Service Clients
– JavaScript Object Notation (JSON) Processing
– WebSocket Development
• Java EE 6: Develop Database Applications With JPA
– Advanced database programming with the Java Persistence
API
• Java EE Patterns
– Patterns for the Java EE platform
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 21
Additional Resources
Resource Website
Education and Training http://education.oracle.com
Product Documentation http://www.oracle.com/technology/documentation
Product Downloads http://www.oracle.com/technology/software
Product Articles http://www.oracle.com/technology/pub/articles
Product Support http://www.oracle.com/support
Product Forums http://forums.oracle.com
Product Tutorials http://www.oracle.com/technetwork/tutorials/index.html
Sample Code https://www.samplecode.oracle.com
Oracle Technology Network
http://www.oracle.com/technetwork/java/index.html
for Java Developers
Oracle Learning Library http://www.oracle.com/oll
The Java EE 7 Tutorial https://docs.oracle.com/javaee/7/tutorial/index.html
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 22
Summary
In this lesson, you should have learned about:
• The course objectives
• The software used in this course
• Java Platforms (ME, SE, and EE)
• Java Specification Requests (JSRs)
• The Enterprise Edition Web Profile
• Tiered or layered application design
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 1 - 23