the objectweb j2ee platform jonas 4...

29
www.objectweb.org Java Open Application Server The Objectweb J2EE Platform JOnAS 4 Preview Third ObjectWeb Consortium Conference, 20-21 November 2003 François Exertier [email protected]

Upload: others

Post on 13-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org

Java Open Application Server

The Objectweb J2EE Platform

JOnAS 4 Preview

Third ObjectWeb Consortium Conference, 20-21 November 2003

François [email protected]

Page 2: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D2 - 20/11/2003

J2EE Architecture

ServletsJSPs

EJBs

WEB Container

EJB Container

J2EE Application Server

JDBC

JMS

JTA

JCA

JAAS

JavaMail

JNDI

rmiApplets

html

Browser

http

DBrmi

EISpublic static void main(…) {

Client Container

rmi

Java Application

Page 3: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org

JOnAS Introduction&

Current Status

Page 4: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D4 - 20/11/2003

JOnAS: Availability and Requirements

!Available at:–jonas.objectweb.org

" tgz or exe (windows installer) packages:#JOnAS binary or source#JOnAS-Tomcat-Axis#JOnAS-Jetty-Axis

!Requirements# jdk1.3, jdk 1.4 (Sun, IBM, BEA JVMs)

!Supported Environments# Operating Systems :

– Solaris, AIX, Windows, Linux, HP-UX, etc.# Databases :

– PostgreSQL, MySQL, Oracle, SQL Server, DB2, Access, Objectstore, Interbase, InstantDB, Sybase, Informix, Versant, etc.

Page 5: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D5 - 20/11/2003

JOnAS as an ObjectWeb Integration Platform

CMP 2.0 impl.2.1JORM

Communication protocol "switcher" and clustering EJB

1.5.5CAROL

JDO impl. (+ connector)0.9.7.5SPEEDODatabase ClusteringC-JDBCLogging Wrapper1.6.3MonologTransaction ManagersoonJOTMCMP 2.0 impl. (EJB-QL)1.2.6MEDOR

JMS Implementation3.6.2JORAMJeremie as optimized RMI3.0JONATHAN

Used forVersion in JOnAS 3.3

ObjectWeb Project

Page 6: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D6 - 20/11/2003

JOnAS also uses Apache Components

HTML formatting of On-line doc and tests results

2.5.1Xalan

XML parsing1.5Digester (*)

HTTP server/clustering2APACHE

XML parsing2.5.0Xerces

Template based code generation (GenIC, Newbean)

1.2VelocityWeb container4.1.27TomcatJonasAdmin console1.0.2STRUTSHTTP Clusteringmod_jkLogging1.2.8Log4j

Web Services engine1.1AXISBuild tool1.5.4ANT

Used forVersion in JOnAS 3.3

Apache Project

(*) and related commons packages: beanutils, collections, logging, modeler

Page 7: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D7 - 20/11/2003

JOnAS Features [1/3]

!J2EE"Web and EJB containers

# EJB 2.0 support– entity beans (BMP, CMP), session beans, with local/remote interfaces, message-driven beans– security (EJB permissions)– Transactions (JTA 1.0, 2-phase commit)

# Servlet/JSP support through Tomcat or Jetty"All J2EE services available: JDBC, JMS (JORAM, SwiftMQ, MQSeries),

JavaMail, Transaction, Security, …"EAR files deployment: using the JOnAS Ear service, at

configuration time or at runtime (admin tools)"J2EE environment: “java:comp/env” for both Web and EJB

components, and for Java Clients"J2EE Connector architecture support

#possibility to deploy J2EE CA compliant Resource Adapters

Page 8: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D8 - 20/11/2003

JOnAS Features [2/3]

!JMX based management" + Web GUI (Struts)

!Web services"AXIS integration"Web Services Endpoints and Clients deployment

!Clustering"At HTTP (Web) and RMI (EJB) levels

!JOnAS Services"possibility to launch services required by a J2EE application"Most of the components of the JOnAS server are pre-defined JOnAS services (TM,

JMS, JMX, ...)"User defined services

!Scalability/Optimizations"Pooling: connections (JDBC, JMS, J2EE CA, …), instances (any kind of EJBs),

threads, JDBC PreparedStatements …"Activation/Passivation"Data access optimizations (cache, shared, isModified, prefetching)"Communication optimization (Jeremie, …)

Page 9: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D9 - 20/11/2003

JOnAS Features [3/3]

!Interoperability"Through Web Services"Between Application servers (RMI/IIOP)"With CORBA

!Multi-protocol support"Through CAROL ObjectWeb project: RMI/JRMP, RMI/IIOP, JEREMIE, CMI

!Enhanced configuration and deployment facilities"ejb-jars, wars, ears directories (autoload directories)"Deployment from the admin console or automatic"JONAS_BASE: possibility to define several application environments (for

configuration and deployment)!Security

"EJB permissions management"JAAS LoginModules support"Certificate based authentification"Users/Roles repository: file, Db, LDAP

!JDO

Page 10: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D10 - 20/11/2003

JOnAS Architecture

HT

TP

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

JDBC Calls

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

Appli.ear

EJB Container

JSPsServlets

WEB Container

EJBs

RMI Clients

Java

Mai

l

Man

agem

ent

GCOS

Hoo

XJC

A

Web

Ser

vice

sCAROL/Jonathan

JORAM JOTM JORM/ MEDOR

Tomcat /Jetty

Apache

AXIS

HTML Clients

DB

Page 11: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org

JOnAS 4J2EE 1.4

Page 12: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D12 - 20/11/2003

JOnAS 4: Web Services

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/JSR 109 compliance:Web Services Endpoints andWeb Services Clients Deployement

Page 13: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D13 - 20/11/2003

Web Services Support [1/2]

! J2EE 1.4 Requirements: Web Services deployment integrated in theJOnAS deployment tools

"Web Services Endpoints# « EJB session stateless » or « JAX-RPC class in the Web container » may be exposed as a Web Service

"Web Services clients#Any J2EE component (Servlet/JSP/EJB) may access external Web Services

! AXIS based implementation"AxisServlet in JOnAS Web Container for providing Web Services

Endpoints"Axis deployment/generation tools used by JOnAS

#Use of WSDL2Java for generating Client stubs#Use of Axis configuration files (server-config.wsdd, client-config.wsdd), will be generated in JOnAS 4

"A JOnAS service (« Web Services ») for running AXIS webapp and necessary tools

!Next: Integration of a WS registry (UDDI)

Page 14: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D14 - 20/11/2003

AxisServlet(AxisEngine)

WEB Container EJB Container

EJBStatelessSession

JOnAS J2EE Server

SOAP/HTTP SOAP/HTTP

JAX-RPCclass

EJB

Stubs(AxisEngine) EJB as

a WS client

Generated byAxis WSDL2Java

Web Services Support [2/2]

Web ServiceProvider

Web ServiceClient

Page 15: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D15 - 20/11/2003

JOnAS 4: EJB 2.1

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/EJB 2.1 Support:MDB Enhancements, Timer, …

Page 16: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D16 - 20/11/2003

EJB 2.1

!Timer Service: A scheduler for EJB components

!MDB support for any Messaging System (JMS, SMTP, JAXM, …), may use the EJB Timer Service

!EJB-QL enhancements (ORDER BY, aggregate functions, …)

Page 17: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D17 - 20/11/2003

JOnAS 4: Servlet 2.4 / JSP 2.0

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

EC

A

Web

Ser

vice

s

J2EE 1.4 -> Servlet2.4 / JSP 2.0:Tomcat 5

Web

Con

tain

er

Page 18: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D18 - 20/11/2003

JOnAS 4: Connector 1.5

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/ Connector 1.5 Support:Asynchronous Resource Adapters

Page 19: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D19 - 20/11/2003

J2EE CA 1.5

!Asynchronous communication"Messages can be delivered to MDBs through the Resource

Adapter (RA),"The RA is the new and standard way to plug a messaging provider

implementation (JMS, SMTP or JAXM)"A RA for JORAM will be provided

!Imported transactions from the EIS may be propagated into the application server

!Resource Adapters may do « works » by submitting « work instances » to the application server (the application server allocates threads for doing the work, since it is its job to perform threads pooling)

Page 20: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D20 - 20/11/2003

JOnAS 4: Management

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/JSR 77 Compliance:Management Model, MEJB

Page 21: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D21 - 20/11/2003

J2EE 1.4 Mgt ModelSessionBeanSessionBean

EntityBeanEntityBean

MessageDrivenBeanMessageDrivenBean

J2EEModuleJ2EEModule

J2EEApplicationJ2EEApplication

JCAResourceJCAResource

JTAResourceJTAResource

JDBCResourceJDBCResource

JMSResourceJMSResource

JNDIResourceJNDIResource

RMIIIOPResourceRMIIIOPResource

JavaMailResourceJavaMailResource

URLResourceURLResource

EJBEJB

ResourceAdapterResourceAdapter

ServletServlet

JDBCDatasourceJDBCDatasource

JDBCDriverJDBCDriver

J2EEDeployedObjectJ2EEDeployedObject

J2EEServerJ2EEServer

J2EEResourceJ2EEResource

J2EEDomainJ2EEDomain

JCAManagedConnectionFactoryJCAManagedConnectionFactory

JCAConnectionFactoryJCAConnectionFactory

JVMJVM

J2EEManagedObjectJ2EEManagedObject

StatelessSessionBeanStatelessSessionBean

EJBModuleEJBModule

AppClientModuleAppClientModule

StatefulSessionBeanStatefulSessionBean

WebModuleWebModule

ResourceAdapterModuleResourceAdapterModuleObjectName: OBJECT_NAMEstateManageable: booleanstatisticsProvider: booleaneventProvider: boolean

Page 22: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D22 - 20/11/2003

JOnAS 4: Security

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Web

Con

tain

er

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/JACC 1.0 Support

Page 23: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D23 - 20/11/2003

Java Authorization Contract for Containers

J2EE ContainerJ2EE Depl Tool(GenIC)

Auth.query

ProviderConfigurationSubcontract(javax.security.jacc)

Auth.result Policy Decision

and EnforcementSubcontract

Policy Provider

PolicyConfigurationSubcontractDeclarative

J2EEAuthorization

Policy

PolicyStatements

JRE Policy impl. or any other …{java.security.Permission}

DD.xml

Page 24: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D24 - 20/11/2003

JOnAS 4: Deployment

JOnAS J2EE Server

Services

Tra

nsac

tion

Secu

rity

Dat

abas

e

EJB

Mes

sagi

ng

Com

mun

icat

ion

EA

R

EJB Container

JSPsServlets

WEB Container

EJBs

Java

Mai

l

Man

agem

ent

J2E

E C

A

Web

Ser

vice

s

J2EE 1.4/JSR88 Support:Deployment API

Web

Con

tain

er

GenIC

JSR88«Driver» (APIs)

JSR88«Driver» (APIs)

Any JSR88CompliantDepl. Tool

EAR

Ishmael

Page 25: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D25 - 20/11/2003

JSR88 Driver

DeploymentFactory

ProgressObject

DeploymentManager

getTargetsgetAvailableModulesgetRunningModulesgetNonRunningModulescreateConfigurationdistributestartstopundeployisRedeploySupportedredeployreleasegetDConfigBeanVersion…

Target T1

Target T2

DeploymentConfiguration

DConfigBean

Deployment Tool

DDBean

J2EEApplicationObject

DDBean

J2EEDeployableObject

Deployer(configure,distribute,start executionof J2EE applis)

Page 26: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D26 - 20/11/2003

RoadmapJan.2005

Oct.2004

July2004

May2004

Jan. 2004

Sep.2003

Certified versionFull clusteringDomain MgtDeployment tool

JOnAS 4.2JOnAS 4.0 JOnAS 4.1

Full J2EE 1.4Tomcat 5J2EE depl APIC-JDBC

JOnAS 3.3.1

Improved performancesDevelopment tools

JOnAS 3.3JOnAS 3.3

J2EE 1.4 Web ServicesEJB 2.1 Timer ServiceCertificate authJDBC RANew mgt console completeJDO support

JOnAS 3.3.2

Page 27: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D27 - 20/11/2003

JOnAS - Workplan [1/2]

!End January 2004, JOnAS 4.0" J2EE 1.4 standard

# EJB 2.1 (MDB enhancements, …)# Management (JSR77)# J2EE CA 1.5 support# Security: JACC 1.0 support# Deployment API (JSR88)# Web Container service (Tomcat 5.x support)# Web Services: UDDI registry integration

" JOTM integration" Clustering

# C-JDBC support (doc)" J2EE CA 1.5 connectors

# JDBC RA (JDBC 3.0)# JORAM Connector

Page 28: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D28 - 20/11/2003

JOnAS - Workplan [2/2]

!May 2004, JOnAS 4.1"Certification

# Integration of all corrections"Deployment Tool (JSR88)"Web Services

# dev tools step 1"Performance: JOnAS tuning"Clustering

# JMS clustering support# EJB level failover (clustering step 4)

"Advanced Management Features# Cluster, domain management# JMX/SNMP gateway ?

Page 29: The Objectweb J2EE Platform JOnAS 4 Previewpeople.apache.org/~sgoeschl/download/jugat/2004-03-02_1.pdf · (JOnAS) - D2 - 20/11/2003 J2EE Architecture Servlets JSPs EJBs WEB Container

www.objectweb.org (JOnAS) - D29 - 20/11/2003

EJB Container

WEB Container

JCA 1.5

JDBC 3.0

JTA 1.0.1

JMS 1.1

JMX 1.2

JNDI 1.2.1

JavaMail 1.3

EJB 2.1

Servlet 2.3JSP 1.2 Tomcat 4

Joram 3.4

MX4J or Sun RI

J2EE 1.4

Servlet 2.4JSP 2.0 Tomcat 5

JACC 1.0

Web Services 1.1JAX-RPC 1.0, SAAJ 1.1, JAXR 1.0, JAXP 1.2

J2EE Deployment 1.0

JAAS 1.0

JOnAS 4: Java Compliance