[go: up one dir, main page]

0% found this document useful (0 votes)
15 views37 pages

Chap 2 csc584

The document provides an introduction to Java Enterprise Edition (Java EE), detailing its architecture, components, and the role of application servers in developing scalable and secure network applications. It highlights the features of Java EE 8, including enhanced APIs and support for modern programming standards, and explains the multi-tiered architecture involving client, web, business, and enterprise information systems tiers. Additionally, it discusses Java EE patterns and components, emphasizing the importance of application servers in managing and executing enterprise applications.

Uploaded by

2023218308
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views37 pages

Chap 2 csc584

The document provides an introduction to Java Enterprise Edition (Java EE), detailing its architecture, components, and the role of application servers in developing scalable and secure network applications. It highlights the features of Java EE 8, including enhanced APIs and support for modern programming standards, and explains the multi-tiered architecture involving client, web, business, and enterprise information systems tiers. Additionally, it discusses Java EE patterns and components, emphasizing the importance of application servers in managing and executing enterprise applications.

Uploaded by

2023218308
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

INTRODUCTION TO JAVA ENTERPRISE Masurah Mohamad

EDITION (JAVA EE) CSC584


OUTLINE
Overview of Java EE Platform

Role of Application Servers

Java EE Architecture (MVC, Spring)

Java EE Patterns

Java EE Components (Web Components, EJB)


OVERVIEW OF JAVA EE PLATFORM
Java platform, enterprise edition (java EE) is the standard in
community-driven enterprise software.

Java EE is developed using the java community process, with


contributions from industry experts, commercial and open source
organizations, java user groups, and countless individuals.
Each release integrates new features that align with industry
needs, improves application portability, and increases
developer productivity.
OVERVIEW OF JAVA EE PLATFORM
Java EE platform is designed to help developers create:

• large-scale
• multi-tiered
• scalable
• reliable
• secure network applications.

The benefits of an enterprise application are helpful, even essential, for individual developers
and small organizations in an increasingly networked world.

The java EE platform is designed to reduce the complexity of enterprise application development
by providing a development model, API, and runtime environment that allows developers to
concentrate on functionality. reudce the cost/ sharing
OVERVIEW OF JAVA EE PLATFORM
Today, java EE offers a rich enterprise software platform and
with over 20 Compliant Java EE Implementations to choose
from.

https://www.oracle.com/my/java/technologies/java-ee-glance.html
WHAT'S NEW IN JAVA EE 8
Java EE 8 continues to improve API and
programming models needed for today's
applications and adds features requested by our
world-wide community.

This release modernizes support for many


industry standards and continues
simplification of enterprise ready APIs.
WHAT'S NEW IN JAVA EE 8

• Java servlet 4.0 API with HTTP/2 support


• Enhanced JSON support including a new JSON
binding API
• A new REST reactive client API
Enhancements • Asynchronous CDI events
include: • A new portable security API
• Server-sent events support (client & server-side)
• Support for java SE 8 new capabilities (e.g. Date
& time API, streams API, annotations
enhancements)
KEYWORD→JSON
JSON:
JavaScript Object Notation.
JSON is a syntax for storing and exchanging data.

JSON is text, written with JavaScript object notation.


KEYWORD→API
API is the acronym for Application Programming Interface,
which is a software intermediary that allows two applications to
talk to each other.

For example:
• Each time you use an app like Facebook, send an instant message, or check the
weather on your phone, you're using an API
KEYWORD→REST (REPRESENTATIONAL STATE
TRANSFER)

REST API - uses HTTP requests to GET, PUT, POST and DELETE data.

Is a technology used in web services development.

The REST used by browsers can be thought of as the language of the internet.

RESTful APIs are used by such sites as Amazon, Google, LinkedIn and Twitter.
KEYWORD→CDI EVENT (CONTEXTS AND
DEPENDENCY INJECTION)
Is the standard dependency injection
framework of the Jakarta EE platform.

Manages a list of all listeners and decides


which one to call whenever an event is fired.
JAVA SE VS JAVA EE
Java SE's API provides the core functionality of the Java programming language.
JAVA
SE
It defines everything from the basic types and objects of the Java programming
language to high-level classes that are used for networking, security, database
access, graphical user interface (GUI) development, and XML parsing.
Java SE platform consists of a virtual machine, development tools, deployment
technologies, and other class libraries and toolkits commonly used in Java technology
applications.
The Java EE platform is built on top of the Java SE platform.
JAVA
EE The Java EE platform provides an API and runtime environment
for developing and running large-scale, multi-tiered, scalable,
reliable, and secure network applications.
JAVA EE ARCHITECTURE
Tiered In a multi-tiered application, the functionality of the application is
Applications separated into isolated functional areas, called tiers.

Typically, multi-tiered applications have a client tier, a middle tier,


and a data tier (often called the enterprise information systems tier).

The client tier consists of a client program that makes requests to the
middle tier.

The middle tier's business functions handle client requests and


process application data, storing it in a permanent datastore in the
data tier.
1

JAVA EE ARCHITECTURE
(SOME EXAMPLES)
2

3
THE CLIENT TIER
The client tier consists of application clients that access a java EE server and that are usually
located on a different machine from the server.

The clients make requests to the server.

The server processes the requests and returns a response back to the client.

Many different types of applications can be java EE clients, and they are not always, or
even often java applications.

Clients can be a web browser, a standalone application, or other servers, and they run
on a different machine from the java EE server.
THE WEB TIER
The web tier consists of components that handle the interaction between
clients and the business tier.

Its primary tasks are the following:

• Dynamically generate content in various formats for the client.


• Collect input from users of the client interface and return appropriate
results from the components in the business tier.
• Control the flow of screens or pages on the client.
• Maintain the state of data for a user's session.
• Perform some basic logic and hold some data temporarily in
javabeans components.
JAVA EE TECHNOLOGIES USED IN THE
WEB TIER
THE BUSINESS TIER
The business tier consists of components that provide the
business logic for an application.

Business logic → code that provides functionality to a


particular business domain, Eg: financial industry, or an e-
commerce site.
In a properly designed enterprise application, the core
functionality exists in the business tier components.
JAVA EE TECHNOLOGIES USED IN THE
BUSINESS TIER
THE ENTERPRISE INFORMATION SYSTEMS
(EIS) TIER
The enterprise information systems (EIS) tier consists of

• database servers,
• enterprise resource planning systems,
• and other legacy data sources,
• Eg: mainframes.
These resources typically are located on a separate machine
than the java EE server, and are accessed by components on the
business tier.
JAVA EE TECHNOLOGIES USED IN THE EIS
TIER
JAVA EE RECENT ARCHITECTURES
MVC - Model-View-Controller.
• It is a design pattern that separates the business logic, presentation logic and data.
• Controller acts as an interface between View and Model.
• Controller intercepts all the incoming requests.
Spring
• Spring is an open source application framework.
• Not dependent on any programming model.
• Spring framework has become very popular among Java programmers.
• Spring framework acts as a replacement or an addition to Java’s own EJB
(Enterprise Java Beans).
ACTIVITY 1 (Individually, Search an information)

Provide the following


Give one example of details:
web application that • Name of application
implements JAVA EE • JAVA EE version
platform • System architecture (if possible)
• Developer’s name
ROLE OF APPLICATION SERVERS
ROLE OF APPLICATION SERVERS: JAVA EE SERVERS
A java EE server is a server application that implements the java EE platform APIs
and provides the standard java EE services.

Java EE servers are sometimes called application servers → serve application


data to clients, much like web servers serve web pages to web browsers.

Java EE servers host several application component types that correspond to the
tiers in a multi-tiered application.

The java EE server provides services to these components in the form of a container.
ROLE OF APPLICATION SERVERS : JAVA EE SERVERS
Server communications
The client communicates
with the business tier
running on the Java EE
server either directly or,
as in the case of a client
running in a browser, by
going through web
pages or servlets
running in the web tier.
The various elements that can make up the client tier
SOME OF JAVA APPLICATION SERVERS
JAVA EE PATTERNS
Benefits:
1. Provide insight into how to solve
JAVA EE PATTERNS distributed enterprise applications
2. Many are still applicable

Description of communication objects and classes that are customized to solve general
design problem in a particular context

A collection of Java EE based solutions to common problems

• Address reoccurring problems found in enterprise class systems


• Intended to meet quality of service characteristics
• Could be considered best-practices

Solution architecture and technology focused

• Focused on java EE based solutions


• Built using a layered or tiered approach to software
• Not all apply in every situation
JAVA EE COMPONENTS
JAVA EE COMPONENTS

Is a self-contained functional software unit that is assembled into


a java EE application with its related classes and files and
communicates with other components.

3 java EE components:
• Application clients and applets → run on the client.
• Java servlet, JavaServer Faces, and JavaServer Pagestm (JSPtm) technology
components are web components → run on the server.
• Enterprise JavaBeanstm (EJBtm) components (enterprise beans) are business
components → run on the server.
JAVA EE COMPONENTS

Are written in the java programming language and are


compiled in the same way as any program in the language.

The difference between java EE components and “standard”


java classes is that :
• Java EE components are assembled into a java EE application,
• Are verified to be well formed and in compliance with the java EE
specification, and;
• Are deployed to production, where they are run and managed by the
java EE server.
JAVA EE COMPONENTS (EXAMPLE OF JAVA EE COMPONENTS)

1. Application
clients &
applets

2. Java servlet,
Java Server
Faces & Java
Server Pages

3. EJB
JAVA EE COMPONENTS
-1. THE CONTAINERS-
Java EE server: The runtime portion of a Java EE
product.
Enterprise JavaBeans (EJB) container:
Manages the execution of enterprise beans for
Java EE applications.
Web container: Manages the execution of JSP
page and servlet components for Java EE
applications. Web components and their
container run on the Java EE server.
Application client container: Manages the
execution of application client components.
Application clients and their container run on the
client.
Applet container: Manages the execution of
applets. Consists of a web browser and Java Plug-
in running on the client together.
JAVA EE COMPONENTS CONT. -1. THE CONTAINERS-
Java EE Java EE containers are the interface between the component and the
lower-level functionality provided by the platform to support that
Containers component.
The functionality of the container is defined by the platform, and is
different for each component type.
The server allows the different component types to work together to
provide functionality in an enterprise application.

The Web The web container is the interface between web components and the web
Container server.
A web component can be a servlet, a JavaServer Faces Facelets page,
or a JSP page.
The container manages the component's lifecycle, dispatches requests to
application components, and provides interfaces to context data, such as
information about the current request.
JAVA EE COMPONENTS CONT. -1. THE CONTAINERS-
The Application Client Container
• The application client container is the interface between Java EE application
clients, which are special Java SE applications that use Java EE server
components, and the Java EE server.
The application client container runs on the client machine, and is the gateway
between the client application and the Java EE server components that the
client uses.

The EJB Container


• The EJB container is the interface between enterprise beans, which provide the
business logic in a Java EE application, and the Java EE server.
The EJB container runs on the Java EE server and manages the execution of an
application's enterprise beans.
ACTIVITY 2

Differentiate • GlassFish
the following • JBoss Enterprise Application Platform
JAVA • WildFly
application • Apache Tomcat
• JOnAS
servers

You might also like