20
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 Illustra CreationDate:3/27/08

A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

A Brief Introduction to Java Enterprise Edition Platform

(JEE)

Juan Manuel GimenoJosep Maria Ribó

{jmgimeno,josepma}@diei.udl.cat

Title:(by-sa.eps) Creator:Adobe Illustrator(R) 8.0 CreationDate:3/27/08 4:27 PM

Page 2: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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 low-

level details

Page 3: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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)

Page 4: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 5: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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)

Page 6: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 7: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 8: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

… and alternatives

● A new way og developing enterprise applications using lightweight frameworks● Struts● Spring● Hibernate

Page 9: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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.

Page 10: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 11: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

History of the Specification

Page 12: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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).

Page 13: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 14: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 15: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

Relationships between containers

Page 16: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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)

Page 17: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

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

Page 18: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

Clients and servers

Page 19: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

Services provided by containers

Page 20: A Brief Introduction to Java Enterprise Edition Platform (JEE)ocw.udl.cat/enginyeria-i-arquitectura/plataformes... · A little bit of history JEE was born in May 1998 as Project JPE

Bibliography

● A.Gonçalves, “Beginning Java EE6 Platform with Glassfish 3”, Apress (2009)

● The Java EE 6 Tutorial, Volume I