what’s new in j2ee 1.4 sean c. sullivan portland java users group february 2004

61
What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Upload: chrystal-robyn-johnson

Post on 28-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

What’s new in J2EE 1.4

Sean C. SullivanPortland Java Users GroupFebruary 2004

Page 2: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Evolution of the J2EE platform

EJB 1.0March 1998

Servlets 2.1November 1998

JSP 1.0September 1999

J2EE 1.2December 1999

J2EE 1.3September 2001

J2EE 1.4November 2003

1998 1999 20012000 2002 2003

Page 3: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Evolution of the J2EE platform

EJB 1.0March 1998

Servlets 2.1November 1998

JSP 1.0September 1999

J2EE 1.2December 1999

J2EE 1.3September 2001

J2EE 1.4November 2003

1998 1999 20012000 2002 2003

Page 4: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Agenda

• J2EE 1.4

• J2EE 1.4 SDK

• Adventure Builder

Page 5: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Application Server

Client J2EE Server

Database

Browser

ApplicationClient

Container

ApplicationClient

Web container

Servlet JSP

EJB container

EJB EJB

Page 6: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE 1.4 specification

246 pages

Page 7: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE 1.4 technologies

• Servlets 2.4

• JSP 2.0

• EJB 2.1

• JMS 1.1

• JTA 1.0.1B

• JTS 1.0

• JMX 1.2• J2EE Management API 1.0• J2EE Deployment API 1.1

• JCA 1.5• JAXR 1.0• JAX-RPC 1.1• SAAJ 1.2• JACC 1.0• JavaMail 1.2

Page 8: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE 1.4 and Web Services

“The Java 2 Platform, Enterprise Edition version 1.4 is the most complete Web services platform ever.”

source: http://java.sun.com/j2ee/1.4/download-dr.html

Page 9: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Support for web services

• SOAP

• SOAP with Attachments

• WSDL

• UDDI

• SOAP transport– HTTP– HTTPS

• WS-I Basic Profile 1.0

Page 10: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Web service example

Web servicesclient

Stock quoteweb service

Page 11: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Web service example

“SUNW”

Web servicesclient

Stock quoteweb service

Page 12: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Web service example

“SUNW”

5.24Web services

clientStock quoteweb service

Page 13: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Web Services for J2EE (JSR-921)

98 pages

Page 14: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JSR-921

• Client programming model

• Server programming model– Web service endpoints– Service implementation beans

• Defines deployment requirements for J2EE web services

Page 15: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Web Service API’s

• SAAJ 1.2

• JAX-RPC 1.1

• JAXR 1.0

Page 16: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

SAAJ 1.2 specification

125 pages

Page 17: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

SAAJ 1.2

• a low-level API for producing and consuming SOAP 1.1 messages

• package: javax.xml.soap

Page 18: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

javax.xml.soap

• SOAPMessage

• SOAPMessageFactory

• SOAPEnvelope

• SOAPHeader

• SOAPHeaderElement

• SOAPBody

• SOAPBodyElement

• SOAPPart

• AttachmentPart

• SOAPElement

• SOAPElementFactory

• SOAPConnection

• SOAPConnectionFactory

• SOAPException

Page 19: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAX-RPC 1.1 specification

167 pages

Page 20: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAX-RPC 1.1

• an API for building– web services– web service clients

• JAX-RPC is dependent upon SAAJ

# - Remote Procedure Call

Page 21: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAX-RPC packages

• javax.xml.rpc

• javax.xml.rpc.encoding

• javax.xml.rpc.handler

• javax.xml.rpc.handler.soap

• javax.xml.rpc.server

• javax.xml.rpc.soap

Page 22: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

SAAJ versus JAX-RPC

“Most developers will not use the SAAJ API, but will use the higher-level JAX-RPC API instead.” (Sun, J2EE 1.4 Tutorial)

Page 23: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAXR 1.0 specification

119 pages

Page 24: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAXR 1.0

• standard API for accessing XML registries

• supports UDDI and ebXML registries

Page 25: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JAXR packages

javax.xml.registry• Connection• RegistryService

javax.xml.registry.infomodel• RegistryObject• Service• ServiceBinding

Page 26: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Servlet 2.4 specification

330 pages

Page 27: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

What’s new in Servlet 2.4?

• javax.servlet.ServletRequestListener

• javax.servlet.ServletRequestEvent

• javax.servlet.ServletRequestAttributeListener

• javax.servlet.ServletRequestAttributeEvent

Page 28: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

What’s new in Servlet 2.4?

• improved servlet filter mapping– REQUEST– FORWARD– INCLUDE– ERROR

• SingleThreadModel is deprecated

Page 29: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JSP 2.0 specification

JSP 1.0 -- 112 pagesJSP 1.1 -- 158 pagesJSP 1.2 -- 268 pagesJSP 2.0 -- 478 pages

Page 30: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JSP 2.0

• javax.servlet.jsp.ErrorData• javax.servlet.jsp.JspContext• javax.servlet.jsp.el.FunctionMapper• javax.servlet.jsp.el.VariableResolver• javax.servlet.jsp.el.Expression• javax.servlet.jsp.el.ExpressionEvaluator• javax.servlet.jsp.tagext.DynamicAttributes• javax.servlet.jsp.tagext.JspTag• javax.servlet.jsp.tagext.SimpleTag• javax.servlet.jsp.tagext.SimpleTagSupport• javax.servlet.jsp.tagext.TagAdapter• javax.servlet.jsp.tagext.FunctionInfo• javax.servlet.jsp.tagext.JspFragment

Page 31: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JSP Expression Language

<input name=city value=“${location.city}”>

<input name=state value=“${location.state}”>

<input name=zip value=${location.zip}”>

Example

Page 32: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

EJB 2.1 specification

646 pages

Page 33: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

What’s new in EJB 2.1?

• support for web services

• EJB Timer service

• more generalized architecture for message driven beans

• EJB QL enhancements

• new deployment descriptor elements

Page 34: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

EJB Timer Service

• enables you to schedule timed notifications

• single event timers

• interval timers

Page 35: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

EJB Timer Service API

• javax.ejb.EJBContext– method: getTimerService

• javax.ejb.TimerService

• javax.ejb.TimedObject

• javax.ejb.Timer

• javax.ejb.TimerHandle

Page 36: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JMS 1.1 specification

140 pages

Page 37: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

What’s new in JMS 1.1?

JMS 1.1 gives you the ability to use queues and topics in the same transaction

Page 38: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JMS API

Common interfaces

Point-to-point Pub/sub

ConnectionFactory QueueConnectionFactory TopicConnectionFactory

Connection QueueConnection TopicConnection

Destination Queue Topic

Session QueueSession TopicSession

MessageProducer QueueSender TopicPublisher

MessageConsumer QueueReceiver,

QueueBrowser

TopicSubscriber

Page 39: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JCA 1.5

490 pages

Page 40: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JCA system contracts

• Connection management (JCA 1.0)

• Security management (JCA 1.0)

• Transaction management (JCA 1.0)

• Lifecycle management (JCA 1.5)

• Work management (JCA 1.5)

• Transaction inflow (JCA 1.5)

• Message inflow (JCA 1.5)

Page 41: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Management API 1.0

214 pages

Page 42: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Management API

• defines the J2EE Management Model

• management events– event notification

• state management– start, startRecursive, stop

• performance monitoring– runtime statistics

Page 43: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Management events

• j2ee.object.created

• j2ee.object.deleted

• j2ee.state.starting

• j2ee.state.running

• j2ee.state.stopping

• j2ee.state.stopped

• j2ee.state.failed

• j2ee.attribute.changed

Page 44: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Management packages

• javax.management.j2ee

• javax.management.j2ee.statistics

Page 45: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Deployment API 1.0

96 pages

Page 46: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE Deployment packages

• javax.enterprise.deploy.model

• javax.enterprise.deploy.shared

• javax.enterprise.deploy.shared.factories

• javax.enterprise.deploy.spi

• javax.enterprise.deploy.spi.exceptions

• javax.enterprise.deploy.spi.factories

• javax.enterprise.deploy.spi.status

Page 47: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Deployment descriptors

• J2EE 1.2 and J2EE 1.3:– defined by DTD’s

• J2EE 1.4:– defined by XML Schema (XSD)

Page 48: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

DTD’s and Schemas

• application-client_1_4.xsd• application_1_4.xsd• connector_1_5.xsd• ejb-jar_2_1.xsd• j2ee_1_4.xsd• j2ee_jaxrpc_mapping_1_1.xsd• j2ee_web_services_1_1.xsd• j2ee_web_services_client_1_1.xsd• jsp_2_0.xsd• web-app_2_4.xsd• web-jsptaglibrary_2_0.xsd• xml.xsd

• application-client_1_3.dtd

• application_1_3.dtd

• connector_1_0.dtd

• ejb-jar_2_0.dtd

• web-app_2_3.dtd

• web-jsptaglibrary_1_2.dtd

J2EE 1.3 J2EE 1.4

Page 49: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

web.xml - J2EE 1.3

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web

Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>

<web-app> <display-name>helloworld</display-name> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>org.pjug.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping></web-app>

Page 50: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

web.xml - J2EE 1.4

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"

xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>helloworld</display-name> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>org.pjug.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping></web-app>

Page 51: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Review: J2EE 1.4 technologies

• Servlets 2.4

• JSP 2.0

• EJB 2.1

• JMS 1.1

• JTA 1.0.1B

• JTS 1.0

• JMX 1.2• J2EE Management API 1.0• J2EE Deployment API 1.1

• JCA 1.5• JAXR 1.0• JAX-RPC 1.1• SAAJ 1.2• JACC 1.0• JavaMail 1.2

Page 52: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Not part of J2EE 1.4

• JSTL

• JavaServer Faces

• JDBC RowSets (JSR-114)

• JAXB

• Java Data Objects

• JNLP

• JMX Remote API (JSR-160)

• STAX (JSR-173)

• JCACHE (JSR-107)

• Portlets (JSR-168)

• JWSDL (JSR-110)

Page 53: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

J2EE 1.4 SDK

• J2EE 1.4 Application Server

• Schema files– <J2EE_HOME>/lib/schemas

• Command line tools

• Sample applications

Page 54: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

App server admin console

Page 55: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

SDK command line tools

• appclient

• asadmin

• asant

• capture-schema

• deploytool

• jspc

• package-appclient

• verifier

• wscompile

• wsdeploy

Page 56: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Adventure Builder demo

Page 57: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Open source projects

Tomcat 5.0– http://jakarta.apache.org/tomcat

Apache Axis– http://ws.apache.org/axis/

Apache Geronimo– http://incubator.apache.org/

ObjectWeb– http://www.objectweb.org/

Page 58: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

For more information

• http://java.sun.com/j2ee/

• http://java.sun.com/webservices/

• http://java.sun.com/blueprints/enterprise/

• http://www.jcp.org/

Page 59: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Backup slides

These additional slides are backup material.

Page 60: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

JACC 1.0

• javax.security.jacc.PolicyConfiguration

• javax.security.jacc.PolicyContextHandler

• javax.security.jacc.EJBMethodPermission

• javax.security.jacc.EJBRoleRefPermission

• javax.security.jacc.PolicyConfigurationFactory

• javax.security.jacc.PolicyContext

• javax.security.jacc.WebResourcePermission

• javax.security.jacc.WebRoleRefPermission

• javax.security.jacc.WebUserDataPermission

Page 61: What’s new in J2EE 1.4 Sean C. Sullivan Portland Java Users Group February 2004

Not covered in this presentation

• JMX 1.2

• JTA

• JTS

• JavaMail