magnus larsson callista enterprise ab magnus.larsson ... · title: j2ee v1.4.ppt author: magnus...

29
CADEC 2003-01-29, J2EE 1.4, Slide 1 Copyright 2003, Callista Enterprise AB Magnus Larsson Callista Enterprise AB [email protected] http://www.callista.se/enterprise J2EE 1.4

Upload: others

Post on 12-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 1Copyright 2003, Callista Enterprise AB

Magnus Larsson

Callista Enterprise AB

[email protected]

http://www.callista.se/enterprise

J2EE 1.4

Page 2: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 2Copyright 2003, Callista Enterprise AB

J2EE 1.4

? Target audience? J2EE developers and architects

? Objectives? Get a a first look at some of the

major new features in J2EE 1.4

? Non-Objectives? Learn how to use the new J2EE 1.4 features...

Page 3: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 3Copyright 2003, Callista Enterprise AB

Agenda

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 4: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 4Copyright 2003, Callista Enterprise AB

J2EE 1.4 overview

? Dates? July 16, 2002 - Public Draft? August 22, 2002 - Proposed Final Draft ? November 12, 2002 - Proposed Final Draft 2 + J2EE 1.4 RI Beta? February 2003 - Expected Final Release

? New specifications (not complete list...)? Web Services for J2EE 1.0 (JSR 109) ? J2EE Management 1.0 (JSR 77) ? J2EE Deployment 1.1 (JSR 88) ? JMX, Java Management Extensions 1.2

? Upgrades (not complete list...)? Servlet 2.4? JSP 2.0? JMS 1.1? EJB 2.1? J2EE Connector Architecture 1.5

Page 5: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 5Copyright 2003, Callista Enterprise AB

Agenda, where are we...

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 6: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 6Copyright 2003, Callista Enterprise AB

J2EE Connector Architecture 1.5

? Problem? Only support for outbound calls to EIS in v1.0

? Solution? Added support for inbound communication from EIS...

Page 7: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 7Copyright 2003, Callista Enterprise AB

J2EE Connector Architecture 1.5

? An illustrative

Use Case

Page 8: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 8Copyright 2003, Callista Enterprise AB

J2EE Connector Architecture 1.5

? Technical details

? Inbound calls delivered to Message Driven Beans

? Offloaded Connection-, 2PC-Transaction- and Security-management from the Resource Adapter as before

? Added Thread management by a WorkManager

? Message Driven Beans are abstracted by proxies

? The developer of a Resource Adapter can focus on communication with the specific EIS!!!

Page 9: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 9Copyright 2003, Callista Enterprise AB

Agenda, where are we...

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 10: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 10Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Problems? No support for

1. Multiple JMS providers

2. Non-JMS messaging systems– E.g. E-mail, SOAP or proprietary EIS systems

? Solutions1. J2EE Connector Architecture v1.5

• Provides a well defined SPI for JMS providers

2. Message Driven Beans not bound to JMS anymore• Connector Architecture ensure portability

Page 11: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 11Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Technical details? javax.jms.MessageListener not required anymore

• Can be replaced by any vendor specific listener-interface

? Listener-interface can support request/reply• Results from non-void ”on-message” methods is

handled as a reply

? javax.ejb.MesageDrivenBean still required• Traditional EJB life-cycle stuff...

? Dynamic deployment description of MDB’s• New element type <activation-config>

Page 12: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 12Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Examples: E-mail based MDB? Listener interface

package com.avendor.email;

public interface EmailListener {public void receiveMessage(javax.mail.Message message);

}

? MDBpackage com.acustomer.email;

public class EmailMDB implements javax.ejb.MessageDrivenBean, com.avendor.email.EmailListener {

public void receiveMessage(javax.mail.Message message){ String subject = message.getSubject();Address[] addresses = message.getFrom();

}}

Page 13: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 13Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Examples, cont...

? SOAP request/reply-style messaging MDB

package com.anothervendor.soap;

import javax.xml.soap.SOAPMessage;

public interface SOAPRequestResponseListener {

public SOAPMessage onMessage(SOAPMessage message);

}

Non void return valuei.e. request/reply

Page 14: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 14Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Examples

? JMS based MDB deployment descriptor

• MDB JMS ”acknowledge mode” in EJB2.0<acknowledge-mode>Auto-acknowledge</acknowledge-mode>

• MDB JMS ”acknowledge mode” in EJB2.1<activation-property><activation-config-property-name>acknowledgeMode

</activation-config-property-name><activation-config-property-value>Auto-acknowledge

</activation-config-property-value></activation-property>

Page 15: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 15Copyright 2003, Callista Enterprise AB

EJB 2.1 – Message Driven BeansJ2EE Connector Architecture Support

? Examples

? E-mail based MDB deployment descriptor

<activation-config><activation-property><activation-config-property-name>mailServer</activation-config-property-name><activation-config-property-value>m1.706.telia.com</activation-config-property-value>

</activation-property> <activation-property> <activation-config-property-name>serverType</activation-config-property-name> <activation-config-property-value>POP3 </activation-config-property-value>

</activation-property><activation-property><activation-config-property-name>messageFilter</activation-config-property-name> <activation-config-property-value>to=’[email protected]’</activation-config-property-value>

</activation-property></activation-config>

Page 16: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 16Copyright 2003, Callista Enterprise AB

Agenda, where are we...

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 17: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 17Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Problem

? Extra ”plumbing-code” required to enable EJB beans to accept Web Services calls

•Either through

–Vendor specific products

–Extra JAX-RPC-Servlets that delegates the Web Services calls to the appropriate EJB beans

» Sun WSDK» Apache AXIS

Page 18: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 18Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Solution? Enable Stateless Session Beans

to act as Web Services Endpoints

? Technical Details•Based on JAX-RPC

•A new Endpoint Interface for Session Beans

NOTE: Any EJB Bean can call a Web Service

Page 19: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 19Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Technical Details ? EJB Bean calling a Web Service

Page 20: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 20Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Technical Details? Stateless Session EJB Bean acting as a Web Service

Page 21: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 21Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Example/Demo

? ”HelloWorld” with a .NET client and an EJB-endpoint

? EJB-endpoint

•Endpoint Interface•EJB-bean Class•Deployment Descriptor tag <service-endpoint>

?”Same procedure” as for Remote and Local interfaces

? .NET client•Web Service proxy for EJB-endpoints created

as easy as if it was a C# based endpoints!

Page 22: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 22Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Example/Demo - EJB-endpoint

? Endpoint Interface

public interface HelloService extends Remote {public String sayHello(String name) throws RemoteException;

? EJB-bean Class

public class HelloServiceBean implements SessionBean {public String sayHello(String name) {return "Hello " + name + " (from HelloServiceEJB)";

}

? Deployment Descriptor tag <service-endpoint>

<session><ejb-name>HelloServiceEJB</ejb-name><ejb-class>HelloServiceBean</ejb-class><service-endpoint>HelloService</service-endpoint>

Page 23: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 23Copyright 2003, Callista Enterprise AB

EJB2.1 – Web Services

? Example/Demo - .NET client

? WebService proxy for C#

• Create ”Web Reference” in the Proxy-project based on the WSDL-file from the EJB-bean(MyHelloService.wsdl)

? C# client code (Web Forms...)

using J2eeWebServiceProxy.WebReference1;...private void Button1_Click(object sender, System.EventArgs e) {

MyHelloService hs = new MyHelloService();Label1.Text = hs.sayHello(TextBox1.Text);

}

Page 24: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 24Copyright 2003, Callista Enterprise AB

Agenda, where are we...

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 25: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 25Copyright 2003, Callista Enterprise AB

J2EE Management Specification

? Problem? J2EE vendor specific models and tools

for management and monitoring

? Solution? A common object model for manageable objects,

called J2EEManagedObject

? An API for the object model• Based on JMX and MBeans

? Enables any management tool to work with any J2EE server

• Creates an market for J2EE Management Tools• Makes is easier to change J2EE server vendor

Page 26: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 26Copyright 2003, Callista Enterprise AB

J2EE Manage- ment Specification Proposed Object Model

See next slide!

Page 27: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 27Copyright 2003, Callista Enterprise AB

J2EE Management Specification Proposed Object Model, cont...

Page 28: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 28Copyright 2003, Callista Enterprise AB

Agenda, where are we...

? J2EE 1.4 overview

? J2EE 1.4 details

? J2EE Connector Architecture 1.5

? EJB 2.1• Message Driven Beans

Connector Architecture Support

• Web Services Support

? J2EE Management 1.0

? J2EE Deployment 1.1

Page 29: Magnus Larsson Callista Enterprise AB magnus.larsson ... · Title: J2EE v1.4.ppt Author: Magnus Larsson, Callista Enteprise AB Created Date: 1/30/2003 9:57:12 PM

CADEC 2003-01-29, J2EE 1.4, Slide 29Copyright 2003, Callista Enterprise AB

J2EE Deployment Specification

? Problem? J2EE vendor specific deployment tools

? Solution? An API for deployment tools

•Relies on the J2EE Management Specification •Streamlines the deployment process

? Enables any deployment toolto work with any J2EE server•Creates an market for J2EE Deployment Tools•Makes is easier to change J2EE server vendor