SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Introduction to Java Platform,
Enterprise Edition (JEE)
Fahad R. Golra
ECE Paris Ecole d'Ingénieurs - FRANCE
Course Details
• Contents
• 10 sessions of 3 hours each
• 50% theoretical, 50% practical
!
• Assessment
• Assignment - 20%
• Course Project - 20%
• Surprise Quiz - 10%
• Final Exam - 50%
2 Introduction to Java Platform, Enterprise Edition
Course Contents
• JEE technology overview
• Servlets
• JSP, Expression Language
• Maven, JSTL
• Web Sockets
• Web Services
• EJB, JPA, Hibernate
• Java Servlet Faces
3 Introduction to Java Platform, Enterprise Edition
Lecture 1 - JEE Overview
• Multilayer architecture
• Transaction Processing
• 1-Tier, 2-Tier, 3-Tier & N-Tier architecture
• JEE Containers
• JEE architecture
• JEE APIs
• JEE Packaging
4 Introduction to Java Platform, Enterprise Edition
Multilayered software architecture
• A multilayered software architecture is a software
architecture that uses many layers for allocating the
different responsibilities of a software product.
!
• 'Layer' represents the orientation of the different
physical or conceptual elements that make up an
entire software solution
!
• 'Tier' represents the physical layout of the various
mechanisms in a system's infrastructure
5
3 Layers of Information System
6 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Presentation Layer
• Controls how the
information system
presents information to
external entities and
accepts it from them.
!
• External entities are
users (UI) or other
information systems
(API)
7 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Application Logic Layer
• The program
• Business process
• Business logic
• Business rules
8 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Resource Management Layer
• Implements the
resource manager
!
• Takes care of ACID
properties
!
• We will discuss
them in coming
slides
9 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Transaction Processing
• Business Transaction
• Interaction in real world
• Usually between enterprise & person or between enterprises
• Information processing that is divided into individual,
indivisible operations, called transactions
• Performs function on (shared) database
!
• Online Transaction Processing (OLTP)
• Runs a collection of transaction programs online
10 Introduction to Java Platform, Enterprise Edition
The ACID Properties
• A set of properties that guarantee that transactions
are processed reliably
• Atomicity
• Consistency
• Isolation
• Durability
11 Introduction to Java Platform, Enterprise Edition
Atomicity
• All (commit) or nothing (abort)
• "all or nothing": if one part of the transaction fails, the
entire transaction fails
• Example: transfer money between two bank accounts
!
• Must handle situations including power failures,
errors, and crashes
12 Introduction to Java Platform, Enterprise Edition
Consistency
• Each transaction takes valid states to valid states:
• Satisfy integrity constraints, triggers
!
• Sometimes the only notion of “valid” state is “a state
that could have been produced by executing a
sequence of transactions
13 Introduction to Java Platform, Enterprise Edition
Isolation
• Each transaction behaves as if it were executed in
isolation at some instant in time
!
• AKA Serializability
• Ensures that the concurrent execution of transactions
results in a system state that would be obtained if
transactions were executed serially
!
• Consistency + Isolation implies the data remains
consistent even when multiple transaction programs
execute concurrently
14 Introduction to Java Platform, Enterprise Edition
Durability
• The effect of a committed transaction will not be lost
• Even in the event of power loss, crashes, or errors
!
• So data must be on stable storage before commit
!
• Usually done with a log (or journal) that must be
forced before commit and used in case of crash
recovery
15 Introduction to Java Platform, Enterprise Edition
Resource Manager
• How ACID transactions are implemented
• Allocate resources to program executing a transaction
e.g. a locked record is a resource
!
• Reclaim resources in appropriate state on commit or
abort
!
• Handled at “Resource Management Layer”
16 Introduction to Java Platform, Enterprise Edition
Top down design
1. define access channels and
client platforms
2. define presentation formats
and protocols for the selected
clients and protocols
3. define the functionality
necessary to deliver the
contents and formats needed
at the presentation layer
4. define the data sources and
data organization needed to
implement the application
logic
17 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Bottom up design
1. define access channels and
client platforms
2. examine existing resources
and the functionality they
offer
3. wrap existing resources and
integrate their functionality
into a consistent interface
4. adapt the output of the
application logic so that it
can be used with the
required access channels
and client protocols
18 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
Note: Used for Legacy Systems
1-Tier Architecture
• System is necessarily
monolithic
• May be highly efficient
!
• No stable service interface
API
• Problem of Legacy Systems
19 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
Client
informationsystem
2-Tier Architecture
• Added flexibility in
presentation layer
• e.g. multiple specialised
presentation layers add
no complexity to
application
!
• Encouraged stable,
published APIs
• So clients could be
developed
20 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
informationsystem
clientserver
2-Tier Architecture disadvantages
• A single server doesn’t scale
21 Introduction to Java Platform, Enterprise Edition
2-Tier Architecture disadvantages
• Integration of multiple services must be done at client
22 Introduction to Java Platform, Enterprise Edition
3-Tier Architecture
• Scalability at application
layer
• Multiple application
servers
!
• Application Integration
• Do it in the middle tier
!
• Encourage stable,
published APIs for
resource management
23 Introduction to Java Platform, Enterprise Edition
presentation
layer
application logic
layer
resource management
layer
informationsystem
clientservermiddleware
Integration in middle Tier
24
N-Tier architecture (Inductivity)
25 3-Tier 4-Tier 5-Tier
Enterprise application development
considerations
• Distributed computing protocols (RMI, CORBA, IIOP)
• Load balancing
• Persistence, back-end integration
• Transaction processing
• Clustering
• Runtime re-deployment, Server restarting
• Multi-threading
• Resource pooling
• Security, performance, optimization
• …..
26 Introduction to Java Platform, Enterprise Edition
Java Editions
• Java Platform Micro Edition:
• Mobile devices, set-top boxes etc
• Restricted form of Java
!
• Java Platform Standard Edition:
• Core libraries, what most people use in standard Java
programming
!
• Java Platform Enterprise Edition:
• Complete server-side enterprise-class development and
deployment platform
27 Introduction to Java Platform, Enterprise Edition
JEE
• Stands for “Java, Enterprise Edition”
!
• It is a collection of standards
• JDBC, JNDI, JMX, JMS
!
• It is a component technology
• Enterprise JavaBeans
!
• It is an “application server”
• Following in the footsteps of Component Transaction Monitors
28 Introduction to Java Platform, Enterprise Edition
JEE Containers
• JEE Infrastructure is divided into logical domains called
containers which host components.
• A container supports services related to security, transaction
management, Java Naming and Directory Interface (JNDI)
lookups, and remote connectivity
• The container also manages some of the connectors because it
is responsible for triggering events and instantiating
components
• The container also manages non-configurable services such as
enterprise bean and servlet life cycles, database connection
resource pooling, data persistence, and access to the Java EE
platform APIs
29 Introduction to Java Platform, Enterprise Edition
JEE Containers
30
Java EE Server
• The runtime portion of a Java EE product. A Java EE server
provides EJB and web containers.
31 Introduction to Java Platform, Enterprise Edition
Enterprise JavaBeans (EJB) Container
• Manages the execution of enterprise beans for Java EE
applications. Enterprise beans and their container run on the
Java EE server.
32 Introduction to Java Platform, Enterprise Edition
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.
33 Introduction to Java Platform, Enterprise Edition
Application Client Container
• Manages the execution of application client components.
Application clients and their container run on the client.
34 Introduction to Java Platform, Enterprise Edition
Applet Container
• Manages the execution of applets. Consists of a web browser
and Java Plug-in running on the client together.
35 Introduction to Java Platform, Enterprise Edition
JEE Architecture
• JEE specifications are interested in the activities:
• Development
• Deployment
• Execution
!
• Components to develop the code of the different elements of an application
• Web components
• Business logic components
• Containers to host the different components of an application
• Web container
• Application client container
• The supporting services for cross functional aspects
• Security, transactions, ...
• Communications infrastructure
36 Introduction to Java Platform, Enterprise Edition
JEE APIs
• An application programming interface (API) specifies
a software component in terms of its operations, their
inputs and outputs and underlying types.
!
• Its main purpose is to define a set of functionalities
that are independent of their respective
implementation
37 Introduction to Java Platform, Enterprise Edition
JEE APIs
• JEE APIs can be divided into two broad categories:
!
• Components
• Business logic components
• Presentation logic components
!
• Services
• Infrastructure services
• Communication services
38 Introduction to Java Platform, Enterprise Edition
JEE APIs - Components
• Business logic components:
• Enterprise JavaBeans
!
• Presentation logic components
• Servlets
• JSP
!
• These components are:
• Configured via Deployment Descriptors
• Deployed into containers
39 Introduction to Java Platform, Enterprise Edition
JEE APIs - Infrastructure Services
• JDBC (Java DataBase Connectivity) is an API for accessing
relational databases.
• JNDI (Java Naming and Directory Interface) is an API to access
naming services and business directories such as DNS, NIS,
LDAP, etc.
• JTA / JTS (Java Transaction API / Java Transaction Services) is
an API that defines standard interfaces with a transaction
manager.
• JCA (Java EE Connector Architecture) is an API to connect to the
enterprise information system (and Legacy systems)
• JMX (Java Management Extension) provides tools for managing
and monitoring applications, system objects, devices (e.g.
printers) and service oriented networks.
40 Introduction to Java Platform, Enterprise Edition
JEE APIs - Communication Services
• JAAS (Java Authentication and Authorization Service)
is an API for the managing authentication and access
rights.
• JavaMail is an API for sending email.
• JMS (Java Message Service) provides asynchronous
communication capabilities (called MOM Middleware
Message Object) between applications.
• RMI-IIOP (Remote Method Invocation over Internet
Inter-ORB Protocol) is an API that allows synchronous
communication between objects.
41 Introduction to Java Platform, Enterprise Edition
JEE Packaging
• Client application
• jar archive
• Web
• Gathers servlets and JSP and the resources required to
execute them (classes, tag libraries, images, ...)
• war archive + web.xml (optional in some cases)
• EJB
• Gathers EJBs and their components (classes)
• jar archive + ejb-jar.xml
• Enterprise Application
• ear archive (includes several jar and war modules) +
application.xml
42 Introduction to Java Platform, Enterprise Edition
JEE Packaging
43
Types of clients
• Fat client (Thick client) means a graphical client application
running on the operating system of the user. A thick client
generally has advanced processing capabilities and can
have a sophisticated graphical interface.
• Thin client refers to an application accessible via a web
interface (HTML) can be viewed using a web browser,
where all the business logic is processed on the server
side.
• Rich client (smart client) provide a graphical interface,
described with a grammar description based on XML
syntax, that allows a user's local applications to interact
with server-based applications through the use of Web
services.
44 Introduction to Java Platform, Enterprise Edition
Application Servers
• An application server is a server-side application
execution environment
!
• It supports all the features that allow multiple clients
to use the same application
!
• Application servers can provide:
• Only a web container (eg Tomcat)
• Only an EJB container (eg JBoss, Jonas, ...)
• Both these containers (eg Websphere, Weblogic, …)
45 Introduction to Java Platform, Enterprise Edition
46 Introduction to Java Platform, Enterprise Edition

Weitere ähnliche Inhalte

Was ist angesagt?

Java Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicJava Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicIMC Institute
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introductionejlp12
 
JSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksJSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksIan Hlavats
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedIMC Institute
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 RecipesJosh Juneau
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)Kevin Sutter
 
Session 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI BeansSession 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI BeansPawanMM
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewEugene Bogaart
 
J2EE and Servlet
J2EE and Servlet J2EE and Servlet
J2EE and Servlet Rishikesh .
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in javaAcp Jamod
 

Was ist angesagt? (19)

Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
Advance java1.1
Advance java1.1Advance java1.1
Advance java1.1
 
EJB3 Basics
EJB3 BasicsEJB3 Basics
EJB3 Basics
 
Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)
 
Java EE EJB Applications
Java EE EJB ApplicationsJava EE EJB Applications
Java EE EJB Applications
 
EJB 3.0 and J2EE
EJB 3.0 and J2EEEJB 3.0 and J2EE
EJB 3.0 and J2EE
 
Java Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicJava Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP Basic
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introduction
 
Ejb3 Presentation
Ejb3 PresentationEjb3 Presentation
Ejb3 Presentation
 
JSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksJSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End Frameworks
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet Advanced
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
 
Session bean
Session beanSession bean
Session bean
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
 
Session 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI BeansSession 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI Beans
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
J2EE and Servlet
J2EE and Servlet J2EE and Servlet
J2EE and Servlet
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
 

Andere mochten auch

Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Fahad Golra
 
Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Fahad Golra
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJBPeter R. Egli
 
Lecture 6 Web Sockets
Lecture 6   Web SocketsLecture 6   Web Sockets
Lecture 6 Web SocketsFahad Golra
 
Lecture 2: Servlets
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: ServletsFahad Golra
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RSFahad Golra
 
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)Fahad Golra
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session ManagementFahad Golra
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, mavenFahad Golra
 
Tutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyTutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyFahad Golra
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsBG Java EE Course
 
TNAPS 3 Installation
TNAPS 3 InstallationTNAPS 3 Installation
TNAPS 3 Installationtncor
 
Ejb in java. part 1.
Ejb in java. part 1.Ejb in java. part 1.
Ejb in java. part 1.Asya Dudnik
 
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!Омские ИТ-субботники
 
JEE FAQs
JEE FAQsJEE FAQs
JEE FAQsEduwave
 
Architectural terms
Architectural termsArchitectural terms
Architectural termsMarisa Cunha
 
Key terminology Romanesque period
Key terminology Romanesque period Key terminology Romanesque period
Key terminology Romanesque period Fatma Mohamed
 
Apache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchApache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchVitebsk Miniq
 

Andere mochten auch (20)

Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2
 
Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
 
EJB .
EJB .EJB .
EJB .
 
Lecture 6 Web Sockets
Lecture 6   Web SocketsLecture 6   Web Sockets
Lecture 6 Web Sockets
 
Lecture 2: Servlets
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: Servlets
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
 
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session Management
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, maven
 
Tutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyTutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital Photography
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
TNAPS 3 Installation
TNAPS 3 InstallationTNAPS 3 Installation
TNAPS 3 Installation
 
Ejb in java. part 1.
Ejb in java. part 1.Ejb in java. part 1.
Ejb in java. part 1.
 
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
 
JEE FAQs
JEE FAQsJEE FAQs
JEE FAQs
 
Architectural terms
Architectural termsArchitectural terms
Architectural terms
 
Key terminology Romanesque period
Key terminology Romanesque period Key terminology Romanesque period
Key terminology Romanesque period
 
Apache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchApache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate Search
 
ARCHITECTURAL TERMS 3
ARCHITECTURAL TERMS 3ARCHITECTURAL TERMS 3
ARCHITECTURAL TERMS 3
 

Ähnlich wie Lecture 1: Introduction to JEE

Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_eeYogesh Bindwal
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionDanairat Thanabodithammachari
 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologySimon Ritter
 
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesChapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesIt Academy
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music storeADEEBANADEEM
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)blahap
 
2019 10-21 Java in the Age of Serverless
2019 10-21 Java in the Age of Serverless2019 10-21 Java in the Age of Serverless
2019 10-21 Java in the Age of ServerlessMatt Rutkowski
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesIt Academy
 
Orpos and store practices
Orpos and store practicesOrpos and store practices
Orpos and store practicesShyamChakrapani
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1sandeep54552
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsGagandeep Singh
 
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2sandeep54552
 
enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfEidTahir
 
Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Berry Clemens
 

Ähnlich wie Lecture 1: Introduction to JEE (20)

4. J2EE.pptx
4. J2EE.pptx4. J2EE.pptx
4. J2EE.pptx
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_ee
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE Introduction
 
Hybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbaiHybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbai
 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java Technology
 
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesChapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration Technologies
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
 
Java language pppppt
Java language ppppptJava language pppppt
Java language pppppt
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
 
2019 10-21 Java in the Age of Serverless
2019 10-21 Java in the Age of Serverless2019 10-21 Java in the Age of Serverless
2019 10-21 Java in the Age of Serverless
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side Technologies
 
Orpos and store practices
Orpos and store practicesOrpos and store practices
Orpos and store practices
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
websphere - Understanding web sphere performance
websphere - Understanding web sphere performancewebsphere - Understanding web sphere performance
websphere - Understanding web sphere performance
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
 
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
 
enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdf
 
Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)
 

Mehr von Fahad Golra

Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage CFahad Golra
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Fahad Golra
 
Seance 2 - Programmation en langage C
Seance 2 - Programmation en langage CSeance 2 - Programmation en langage C
Seance 2 - Programmation en langage CFahad Golra
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Tutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyTutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyFahad Golra
 
Tutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyTutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyFahad Golra
 
Tutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyTutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyFahad Golra
 
Deviation Detection in Process Enactment
Deviation Detection in Process EnactmentDeviation Detection in Process Enactment
Deviation Detection in Process EnactmentFahad Golra
 
Meta l metacase tools & possibilities
Meta l metacase tools & possibilitiesMeta l metacase tools & possibilities
Meta l metacase tools & possibilitiesFahad Golra
 

Mehr von Fahad Golra (9)

Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Seance 2 - Programmation en langage C
Seance 2 - Programmation en langage CSeance 2 - Programmation en langage C
Seance 2 - Programmation en langage C
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Tutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyTutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital Photography
 
Tutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyTutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital Photography
 
Tutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyTutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital Photography
 
Deviation Detection in Process Enactment
Deviation Detection in Process EnactmentDeviation Detection in Process Enactment
Deviation Detection in Process Enactment
 
Meta l metacase tools & possibilities
Meta l metacase tools & possibilitiesMeta l metacase tools & possibilities
Meta l metacase tools & possibilities
 

Kürzlich hochgeladen

4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxRosabel UA
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 

Kürzlich hochgeladen (20)

4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptx
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 

Lecture 1: Introduction to JEE

  • 1. Introduction to Java Platform, Enterprise Edition (JEE) Fahad R. Golra ECE Paris Ecole d'Ingénieurs - FRANCE
  • 2. Course Details • Contents • 10 sessions of 3 hours each • 50% theoretical, 50% practical ! • Assessment • Assignment - 20% • Course Project - 20% • Surprise Quiz - 10% • Final Exam - 50% 2 Introduction to Java Platform, Enterprise Edition
  • 3. Course Contents • JEE technology overview • Servlets • JSP, Expression Language • Maven, JSTL • Web Sockets • Web Services • EJB, JPA, Hibernate • Java Servlet Faces 3 Introduction to Java Platform, Enterprise Edition
  • 4. Lecture 1 - JEE Overview • Multilayer architecture • Transaction Processing • 1-Tier, 2-Tier, 3-Tier & N-Tier architecture • JEE Containers • JEE architecture • JEE APIs • JEE Packaging 4 Introduction to Java Platform, Enterprise Edition
  • 5. Multilayered software architecture • A multilayered software architecture is a software architecture that uses many layers for allocating the different responsibilities of a software product. ! • 'Layer' represents the orientation of the different physical or conceptual elements that make up an entire software solution ! • 'Tier' represents the physical layout of the various mechanisms in a system's infrastructure 5
  • 6. 3 Layers of Information System 6 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 7. Presentation Layer • Controls how the information system presents information to external entities and accepts it from them. ! • External entities are users (UI) or other information systems (API) 7 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 8. Application Logic Layer • The program • Business process • Business logic • Business rules 8 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 9. Resource Management Layer • Implements the resource manager ! • Takes care of ACID properties ! • We will discuss them in coming slides 9 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 10. Transaction Processing • Business Transaction • Interaction in real world • Usually between enterprise & person or between enterprises • Information processing that is divided into individual, indivisible operations, called transactions • Performs function on (shared) database ! • Online Transaction Processing (OLTP) • Runs a collection of transaction programs online 10 Introduction to Java Platform, Enterprise Edition
  • 11. The ACID Properties • A set of properties that guarantee that transactions are processed reliably • Atomicity • Consistency • Isolation • Durability 11 Introduction to Java Platform, Enterprise Edition
  • 12. Atomicity • All (commit) or nothing (abort) • "all or nothing": if one part of the transaction fails, the entire transaction fails • Example: transfer money between two bank accounts ! • Must handle situations including power failures, errors, and crashes 12 Introduction to Java Platform, Enterprise Edition
  • 13. Consistency • Each transaction takes valid states to valid states: • Satisfy integrity constraints, triggers ! • Sometimes the only notion of “valid” state is “a state that could have been produced by executing a sequence of transactions 13 Introduction to Java Platform, Enterprise Edition
  • 14. Isolation • Each transaction behaves as if it were executed in isolation at some instant in time ! • AKA Serializability • Ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially ! • Consistency + Isolation implies the data remains consistent even when multiple transaction programs execute concurrently 14 Introduction to Java Platform, Enterprise Edition
  • 15. Durability • The effect of a committed transaction will not be lost • Even in the event of power loss, crashes, or errors ! • So data must be on stable storage before commit ! • Usually done with a log (or journal) that must be forced before commit and used in case of crash recovery 15 Introduction to Java Platform, Enterprise Edition
  • 16. Resource Manager • How ACID transactions are implemented • Allocate resources to program executing a transaction e.g. a locked record is a resource ! • Reclaim resources in appropriate state on commit or abort ! • Handled at “Resource Management Layer” 16 Introduction to Java Platform, Enterprise Edition
  • 17. Top down design 1. define access channels and client platforms 2. define presentation formats and protocols for the selected clients and protocols 3. define the functionality necessary to deliver the contents and formats needed at the presentation layer 4. define the data sources and data organization needed to implement the application logic 17 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 18. Bottom up design 1. define access channels and client platforms 2. examine existing resources and the functionality they offer 3. wrap existing resources and integrate their functionality into a consistent interface 4. adapt the output of the application logic so that it can be used with the required access channels and client protocols 18 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem Note: Used for Legacy Systems
  • 19. 1-Tier Architecture • System is necessarily monolithic • May be highly efficient ! • No stable service interface API • Problem of Legacy Systems 19 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer Client informationsystem
  • 20. 2-Tier Architecture • Added flexibility in presentation layer • e.g. multiple specialised presentation layers add no complexity to application ! • Encouraged stable, published APIs • So clients could be developed 20 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer informationsystem clientserver
  • 21. 2-Tier Architecture disadvantages • A single server doesn’t scale 21 Introduction to Java Platform, Enterprise Edition
  • 22. 2-Tier Architecture disadvantages • Integration of multiple services must be done at client 22 Introduction to Java Platform, Enterprise Edition
  • 23. 3-Tier Architecture • Scalability at application layer • Multiple application servers ! • Application Integration • Do it in the middle tier ! • Encourage stable, published APIs for resource management 23 Introduction to Java Platform, Enterprise Edition presentation layer application logic layer resource management layer informationsystem clientservermiddleware
  • 25. N-Tier architecture (Inductivity) 25 3-Tier 4-Tier 5-Tier
  • 26. Enterprise application development considerations • Distributed computing protocols (RMI, CORBA, IIOP) • Load balancing • Persistence, back-end integration • Transaction processing • Clustering • Runtime re-deployment, Server restarting • Multi-threading • Resource pooling • Security, performance, optimization • ….. 26 Introduction to Java Platform, Enterprise Edition
  • 27. Java Editions • Java Platform Micro Edition: • Mobile devices, set-top boxes etc • Restricted form of Java ! • Java Platform Standard Edition: • Core libraries, what most people use in standard Java programming ! • Java Platform Enterprise Edition: • Complete server-side enterprise-class development and deployment platform 27 Introduction to Java Platform, Enterprise Edition
  • 28. JEE • Stands for “Java, Enterprise Edition” ! • It is a collection of standards • JDBC, JNDI, JMX, JMS ! • It is a component technology • Enterprise JavaBeans ! • It is an “application server” • Following in the footsteps of Component Transaction Monitors 28 Introduction to Java Platform, Enterprise Edition
  • 29. JEE Containers • JEE Infrastructure is divided into logical domains called containers which host components. • A container supports services related to security, transaction management, Java Naming and Directory Interface (JNDI) lookups, and remote connectivity • The container also manages some of the connectors because it is responsible for triggering events and instantiating components • The container also manages non-configurable services such as enterprise bean and servlet life cycles, database connection resource pooling, data persistence, and access to the Java EE platform APIs 29 Introduction to Java Platform, Enterprise Edition
  • 31. Java EE Server • The runtime portion of a Java EE product. A Java EE server provides EJB and web containers. 31 Introduction to Java Platform, Enterprise Edition
  • 32. Enterprise JavaBeans (EJB) Container • Manages the execution of enterprise beans for Java EE applications. Enterprise beans and their container run on the Java EE server. 32 Introduction to Java Platform, Enterprise Edition
  • 33. 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. 33 Introduction to Java Platform, Enterprise Edition
  • 34. Application Client Container • Manages the execution of application client components. Application clients and their container run on the client. 34 Introduction to Java Platform, Enterprise Edition
  • 35. Applet Container • Manages the execution of applets. Consists of a web browser and Java Plug-in running on the client together. 35 Introduction to Java Platform, Enterprise Edition
  • 36. JEE Architecture • JEE specifications are interested in the activities: • Development • Deployment • Execution ! • Components to develop the code of the different elements of an application • Web components • Business logic components • Containers to host the different components of an application • Web container • Application client container • The supporting services for cross functional aspects • Security, transactions, ... • Communications infrastructure 36 Introduction to Java Platform, Enterprise Edition
  • 37. JEE APIs • An application programming interface (API) specifies a software component in terms of its operations, their inputs and outputs and underlying types. ! • Its main purpose is to define a set of functionalities that are independent of their respective implementation 37 Introduction to Java Platform, Enterprise Edition
  • 38. JEE APIs • JEE APIs can be divided into two broad categories: ! • Components • Business logic components • Presentation logic components ! • Services • Infrastructure services • Communication services 38 Introduction to Java Platform, Enterprise Edition
  • 39. JEE APIs - Components • Business logic components: • Enterprise JavaBeans ! • Presentation logic components • Servlets • JSP ! • These components are: • Configured via Deployment Descriptors • Deployed into containers 39 Introduction to Java Platform, Enterprise Edition
  • 40. JEE APIs - Infrastructure Services • JDBC (Java DataBase Connectivity) is an API for accessing relational databases. • JNDI (Java Naming and Directory Interface) is an API to access naming services and business directories such as DNS, NIS, LDAP, etc. • JTA / JTS (Java Transaction API / Java Transaction Services) is an API that defines standard interfaces with a transaction manager. • JCA (Java EE Connector Architecture) is an API to connect to the enterprise information system (and Legacy systems) • JMX (Java Management Extension) provides tools for managing and monitoring applications, system objects, devices (e.g. printers) and service oriented networks. 40 Introduction to Java Platform, Enterprise Edition
  • 41. JEE APIs - Communication Services • JAAS (Java Authentication and Authorization Service) is an API for the managing authentication and access rights. • JavaMail is an API for sending email. • JMS (Java Message Service) provides asynchronous communication capabilities (called MOM Middleware Message Object) between applications. • RMI-IIOP (Remote Method Invocation over Internet Inter-ORB Protocol) is an API that allows synchronous communication between objects. 41 Introduction to Java Platform, Enterprise Edition
  • 42. JEE Packaging • Client application • jar archive • Web • Gathers servlets and JSP and the resources required to execute them (classes, tag libraries, images, ...) • war archive + web.xml (optional in some cases) • EJB • Gathers EJBs and their components (classes) • jar archive + ejb-jar.xml • Enterprise Application • ear archive (includes several jar and war modules) + application.xml 42 Introduction to Java Platform, Enterprise Edition
  • 44. Types of clients • Fat client (Thick client) means a graphical client application running on the operating system of the user. A thick client generally has advanced processing capabilities and can have a sophisticated graphical interface. • Thin client refers to an application accessible via a web interface (HTML) can be viewed using a web browser, where all the business logic is processed on the server side. • Rich client (smart client) provide a graphical interface, described with a grammar description based on XML syntax, that allows a user's local applications to interact with server-based applications through the use of Web services. 44 Introduction to Java Platform, Enterprise Edition
  • 45. Application Servers • An application server is a server-side application execution environment ! • It supports all the features that allow multiple clients to use the same application ! • Application servers can provide: • Only a web container (eg Tomcat) • Only an EJB container (eg JBoss, Jonas, ...) • Both these containers (eg Websphere, Weblogic, …) 45 Introduction to Java Platform, Enterprise Edition
  • 46. 46 Introduction to Java Platform, Enterprise Edition