Sei sulla pagina 1di 14

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework Dott. Carlo Luzi 18 Giugno

18 Giugno 2009

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework Dott. Carlo Luzi 18 Giugno

Introduzione

Tecnologie Base

Scopo del Progetto

Trasformazione

Conclusioni

Realizzare un ambiente di trasformazione di linguaggi

INPUT: Business Process Execution Language (BPEL) OUTPUT: codice Java eseguibile

Tecnologie coinvolte nella trasformazione

Modelli strutturati con Eclipse Modeling Framework (EMF) openArchitectureWare (oAW), framework di generazione XSD EMF
Modelli strutturati con Eclipse Modeling Framework (EMF)
openArchitectureWare (oAW), framework di generazione
XSD
EMF
WSDL
BPEL
BPEL
oAW
Java
di generazione XSD EMF WSDL BPEL BPEL oAW Java Generazione di codice Java da sorgenti BPEL

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Scopo del Progetto

Trasformazione

Conclusioni

Realizzare un ambiente di trasformazione di linguaggi

INPUT: Business Process Execution Language (BPEL) OUTPUT: codice Java eseguibile

Tecnologie coinvolte nella trasformazione

Modelli strutturati con Eclipse Modeling Framework (EMF) openArchitectureWare (oAW), framework di generazione XSD EMF
Modelli strutturati con Eclipse Modeling Framework (EMF)
openArchitectureWare (oAW), framework di generazione
XSD
EMF
WSDL
BPEL
BPEL
oAW
Java
di generazione XSD EMF WSDL BPEL BPEL oAW Java Generazione di codice Java da sorgenti BPEL

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

L’Eclipse Modeling Framework (EMF)

I modelli sono specificati con

EMF può generare codice che opera sulle istanze dei modelli

Diagrammi di

Funzioni lettura, scrittura,

classe UML

creazione e cancellazione

XML Schema

Serializzazioni

Java annotato

Deserializzazioni

Serializzazioni Java annotato Deserializzazioni Generazione di codice Java da sorgenti BPEL utilizzando
Serializzazioni Java annotato Deserializzazioni Generazione di codice Java da sorgenti BPEL utilizzando

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

L’Eclipse Modeling Framework (EMF)

I modelli sono specificati con

EMF può generare codice che opera sulle istanze dei modelli

Diagrammi di

Funzioni lettura, scrittura,

classe UML

creazione e cancellazione

XML Schema

Serializzazioni

Java annotato

Deserializzazioni

Serializzazioni Java annotato Deserializzazioni Generazione di codice Java da sorgenti BPEL utilizzando
Serializzazioni Java annotato Deserializzazioni Generazione di codice Java da sorgenti BPEL utilizzando

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

Il Business Process Execution Language (WS-BPEL)

Linguaggio standard OASIS basato su XML

Specifica iterazioni tra Web Service

Esporta informazioni con interfacce WSDL

Il progetto BPEL di Eclipse fornisce

Un Editor grafico GEF per lo sviluppo Modelli EMF per la specifica 2.0 Validatore dei modelli EMF

Modelli EMF per la specifica 2.0 Validatore dei modelli EMF Generazione di codice Java da sorgenti

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

Il Business Process Execution Language (WS-BPEL)

Linguaggio standard OASIS basato su XML

Specifica iterazioni tra Web Service

Esporta informazioni con interfacce WSDL

Il progetto BPEL di Eclipse fornisce

Un Editor grafico GEF per lo sviluppo Modelli EMF per la specifica 2.0 Validatore dei modelli EMF

EMF per la specifica 2.0 Validatore dei modelli EMF Generazione di codice Java da sorgenti BPEL

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

Modelli Ecore per la Trasformazione

Conclusioni Modelli Ecore per la Trasformazione EMF lavora con modelli Ecore I modelli principali sono

EMF lavora con modelli Ecore

I modelli principali sono contenuti in tre componenti

org.eclipse.bpel.model

bpel.ecore

messageproperties.ecore

partnerlinktype.ecore

org.eclipse.wst.wsdl

wsdl.ecore

org.eclipse.xsd

xsd.ecore
xsd.ecore

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

Modelli Ecore per la Trasformazione

Conclusioni Modelli Ecore per la Trasformazione EMF lavora con modelli Ecore I modelli principali sono

EMF lavora con modelli Ecore

I modelli principali sono contenuti in tre componenti

org.eclipse.bpel.model

bpel.ecore

messageproperties.ecore

partnerlinktype.ecore

org.eclipse.wst.wsdl

wsdl.ecore

org.eclipse.xsd

xsd.ecore
xsd.ecore

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Conclusioni

Generazione di Codice con Workflow oAW

Workflow

.bpel .wsdl EMF Reader Meta Models Expand Template
.bpel
.wsdl
EMF
Reader
Meta
Models
Expand
Template

Outlet

EMF Reader Meta Models Expand Template Outlet BPEL Document Template Xpand Java Code OAW è
EMF Reader Meta Models Expand Template Outlet BPEL Document Template Xpand Java Code OAW è
BPEL Document
BPEL
Document

Template

Xpand

Java

Code

OAW è framework di generazione MDA/MDD che opera su modelli EMF Trasformazione attraverso workflow

1 Registra estensioni .bpel e .wsdl

2 Lettura istanza di un modello BPEL (documento)

3 Definizione metamodelli per generazione

4 Espansione di template in linguaggio Xpand

5 Output codice con outlet

di template in linguaggio Xpand 5 Output codice con outlet Generazione di codice Java da sorgenti
di template in linguaggio Xpand 5 Output codice con outlet Generazione di codice Java da sorgenti

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Problemi Riscontrati

Trasformazione

Conclusioni

Il BPEL Project è in incubazione

Carenza di documentazione dei plugin XSD e BPEL

I componenti XSD, WSDL e BPEL non hanno API standard

La trasformazione usa i modelli Ecore

Integrare le espressioni XPath nella trasformazione

Aggiungere una libreria al codice generato Limitare le tipologie di espressioni

Problema di accesso inter-documentale nei WSDL

Utilizzo di import Fallimento silenzioso nel riferimento ai tipi XSD

OAW utilizza spesso soluzioni ad-hoc

riferimento ai tipi XSD OAW utilizza spesso soluzioni ad-hoc Generazione di codice Java da sorgenti BPEL
riferimento ai tipi XSD OAW utilizza spesso soluzioni ad-hoc Generazione di codice Java da sorgenti BPEL

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Problemi Riscontrati

Trasformazione

Conclusioni

Il BPEL Project è in incubazione

Carenza di documentazione dei plugin XSD e BPEL

I componenti XSD, WSDL e BPEL non hanno API standard

La trasformazione usa i modelli Ecore

Integrare le espressioni XPath nella trasformazione

Aggiungere una libreria al codice generato Limitare le tipologie di espressioni

Problema di accesso inter-documentale nei WSDL

Utilizzo di import Fallimento silenzioso nel riferimento ai tipi XSD

OAW utilizza spesso soluzioni ad-hoc

riferimento ai tipi XSD OAW utilizza spesso soluzioni ad-hoc Generazione di codice Java da sorgenti BPEL
riferimento ai tipi XSD OAW utilizza spesso soluzioni ad-hoc Generazione di codice Java da sorgenti BPEL

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Possibili Futuri Sviluppi

Conclusioni

Trasformazione Model2Model intermedia

Model2 Model Model2 Code oAW Workfl ow Workfl ow XSD Single Code WSDL Model Language
Model2 Model
Model2 Code
oAW
Workfl ow
Workfl ow
XSD
Single
Code
WSDL
Model
Language
BPEL

Test librerie XSD, WSDL e BPEL

Creazione set documentale Suite di test puramente Java Collaudo singole trasformazioni con oAW

test puramente Java Collaudo singole trasformazioni con oAW Generazione di codice Java da sorgenti BPEL utilizzando
test puramente Java Collaudo singole trasformazioni con oAW Generazione di codice Java da sorgenti BPEL utilizzando

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi

Introduzione

Tecnologie Base

Trasformazione

Possibili Futuri Sviluppi

Conclusioni

Trasformazione Model2Model intermedia

Model2 Model Model2 Code oAW Workfl ow Workfl ow XSD Single Code WSDL Model Language
Model2 Model
Model2 Code
oAW
Workfl ow
Workfl ow
XSD
Single
Code
WSDL
Model
Language
BPEL

Test librerie XSD, WSDL e BPEL

Creazione set documentale Suite di test puramente Java Collaudo singole trasformazioni con oAW

test puramente Java Collaudo singole trasformazioni con oAW Generazione di codice Java da sorgenti BPEL utilizzando
test puramente Java Collaudo singole trasformazioni con oAW Generazione di codice Java da sorgenti BPEL utilizzando

Generazione di codice Java da sorgenti BPEL utilizzando l’Eclipse Modeling Framework

Dott. Carlo Luzi