Download A Brief Introduction to Java Enterprise Edition Platform (JEE)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
A Brief Introduction to Java
Enterprise Edition Platform
(JEE)
Juan Manuel Gimeno
Josep Maria Ribó
{jmgimeno,josepma}@diei.udl.cat
Title:(by-sa.eps)
Creator:Adobe Illustrator(R)
CreationDate:3/27/08 4:27 P
What do we mean by Platform?
●
When a programmer has to handle collections
●
●
●
Doesn't start by developing a hash table
Uses the Collections API in the Standard Edition of
Java (JSE)
When a programmer needs a transactional,
secure, interoperable, distributed application
●
Doesn't start by developing the low-level plumbing
●
Uses the Enterprise Edition of Java (JEE)
●
Focuses the efforts in the problem not in the lowlevel details
A little bit of history
●
●
●
JEE was born in May 1998 as Project JPE
(Java Professional Edition)
J2EE1.2 was released in Dec 1999 as an
umbrella specification consisting on 10 JSRs
(Java Specification Request)
Starting with J2EE1.3 the specification was
developed by the Java Community Process
(JCP)
J2EE1.2
●
Focus on distributed systems
●
●
CORBA was the competitor
Enterprise Java Beans (EJBs)
●
Remote stateful and stateless service objects
●
Entity EJBs (persistence objects) optional
●
Built on Remote Method Invocation-Internet Inter
ORB Protocol (RMI-IIOP)
●
Servlets and Java Server Pages (JSP)
●
JMS for messaging
J2EE1.3
●
First to be developed by the Java Community
Process (JCP) under JSR58
●
Entity beans now are mandatory
●
XML deployment descriptors for EJBs
●
●
Introduced local interfaces passing arguments
by reference
J2EE Connector Architecture (JCA) introduced
to connect Java EE to EIS (Enterprise
Information Systems)
J2EE1.4
●
●
JSR 151
Added support for Web Services as EJB2.1
could be invoked over SOAP/HTTP
●
Timer service created
●
Better support for
●
Management
●
Deployment
But there were problems ...
●
●
Systems created with J2EE
●
Too complicated
●
Development time out of proportion
J2EE component model
●
Heavy-weight
●
Difficult to test
●
Difficult to deploy
●
Difficult to run
… and alternatives
●
A new way og developing enterprise
applications using lightweight frameworks
●
Struts
●
Spring
●
Hibernate
Java EE 5
●
JSR 244
●
Inspired in open source frameworks
●
●
●
●
Based on a POJO (Plain Old Java Object)
programming model
Metadata can be defined by annotations and
XML descriptors optional
Java Server Faces (JSF) introduced
JAX-WS 2.0 replaced JAX-RPC as the SOAP
web services API.
Java EE 6
●
●
JSR 316
Annotations, POJO programming,
configuration-by-exception (even for web tier)
●
JPA 2.0
●
New JAX-RS 1.1 (RESTfull web services)
●
Deprecation of some APIs (by prunning)
●
Profiles: web profile
●
Dependency injection
History of the Specification
Java Community Process (JCP)
●
●
●
Open organization created in 1998 involved in
the definition of the future versions and features
When the need for a new component or API is
identified, the spec lead creates a JSR and
forms a group of experts
This group has to deliver
●
A specification
●
A reference implementation (RI)
●
A Technology Compatibility Kit (TCK).
Standards
●
●
Java EE is an umbrella specification that
bundles together other JSRs
Java EE standards implemented by
●
Commercial () or open-source solutions
●
No locking to an implementation
●
Portable with minor changes
Architecture
●
●
●
Java EE is a set of specifications implemented
by diferent containers
Containers are runtime environments that
provide certain services to the components
they host
The components use well-defined contracts to
communicate
●
with the Java EE infrastructure
●
With other components
Relationships between containers
Components
●
The java EE runtime defines four types of
components that an implementation must
support
●
●
●
Application clients and applets are components that
run on the client
Java Servlets, JSP and JSF are components that
run on the server (web container)
Enterprise Java Beans EJB are business
components that run on the server (ejb container)
Containers
●
●
The Java EE Server provides underlying
services in the form of a container for every
component type
Each container has a specific role, supports a
set of APIs and offer services to components
●
●
Security, database access, transaction handling,
naming directory, resource injection, …
Because all these services are provided, the
programmer can concentrate on the business
problem at hand
Clients and servers
Services provided by containers
Bibliography
●
●
A.Gonçalves, “Beginning Java EE6 Platform
with Glassfish 3”, Apress (2009)
The Java EE 6 Tutorial, Volume I