1 [Framework di sviluppo – I Progetti Spago e Spagic] 2.5 Italia License Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi A.A. 2007-2008 www.math.unipd.it/~ruffatti/ Frameworks di sviluppo Java EE e SOA I progetti Spago e Spagic Testimonianza di: Gianfranco Boccalon [email protected]
35
Embed
Frameworks di sviluppo Java EE e SOA I progetti …ruffatti/docs/2008_10_Framework_J2EE...Consente lo sviluppo di applicazioni Web, l’integrazione con infrastrutture esistenti e
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
2[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Introduzione ai Framework
• COS’E’ UN FRAMEWORK
Un framework è un’applicazione “semi-completa”,
riutilizzabile che può essere specializzata per produrre
applicazioni specifiche
• VANTAGGI
– Modularità
– Riusabilità
– Estensibilità
– Inversione del Controllo
3[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Spago
• DEFINIZIONE:
SPAGO è un framework J2EE, sviluppato secondo il pattern
architetturaleMVC , che fornisce una soluzione per lo
sviluppo di applicazioni “multicanale/multiprotocollo” e
l’integrazione di servizi.
Consente lo sviluppo di applicazioni Web, l’integrazione con
infrastrutture esistenti e la pubblicazione di servizi su canali
diversi.
4[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
Esistono molti framework Open Source per lo sviluppo di applicazioni Web, alcuni dei quali molto specializzati su determinate fasi dello sviluppo (disegno dell’interfaccia grafica, sviluppo della logica di business, etc).
Confronto con altri framework
JavaServer Faces
5[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
� L’evoluzione di Spago è inoltre indotta dai nuovi progetti che ne faranno uso (il primo è SpagoBI, una piattaforma per la Business Intelligence)
� Esiste una roadmap evolutiva di Spago sul sito
http://spago.eng.it
Il futuro di Spago
6[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
Goals
� Capabilities� Efficiency of all the actors involved in
�� SOA/BPM Governance : Support Collaborative Activities� Pragmatic approach : bridge from BPMN to different and alternative engines
10[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
Goal: Enterprise Monitoring
� Real Time SOA/BPM Management and Runtime Governance
� SLA Monitoring: SLA correlates system, process and business
�� SOA/BPM Governance : Support Collaborative Activities� Pragmatic approach : Enterprise Monitor with support of different engines/technologies
DataDataWarehouseWarehouse
MetaDBMetaDB(real time)
11[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
Spagic & Eclipse STP Intermediate Model
� Bridges different SOA Platforms
� Facilitates interoperability between editors
BPMNBPMNEditorEditor
SCASCAEditorEditor
…………EditorEditor
Analytics
Analytics
SCASCApluginplugin
WorkflowWorkflowpluginplugin
SpringSpringpluginplugin
BPELBPELpluginplugin
JBIJBIpluginplugin
ETLETLpluginplugin
EclipseEclipseBPEL editorBPEL editor
TalendTalendOpen St.Open St.
WorkflowEditor
SCASCAEditorEditor
SCASCAContainerContainer
J2EEJ2EEContainerContainer
WorkflowWorkflowEngineEngine
J2EE/JBIJ2EE/JBIContainerContainer
BPELBPELEngineEngine
JBIJBIContainerContainer
Third parties
Third parties
MetaDBMetaDB
Spagic StudioSpagic Studio EnterpriseEnterpriseMonitorMonitor
Eclipse Modeling Framework
Meta M
odelM
eta Model
12[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
Spagic collaboration & partnership
DataDataWarehouseWarehouse
MetaDBMetaDB(real time)
� Nova Orchestra
� Nova Bonita
� Jasmine
� Talend Open Studio� JBossESB
� JBPM (BPEL & Workflow)
� PeTALS
� ServiceMIX
� Eclipse IM
ESBNode
BPELBPEL WorkflowWorkflow
ETLETL JBI & SCA SAJBI & SCA SA
ESBnode
CommunicationCommunicationLayerLayer
BPM LayerBPM Layer SOA/ESB LayerSOA/ESB Layer
Listener
Listener
13[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl The Agile ESB
Standards Based
Flexible
Reliable
Breadth of connectivity
� Standards based
� Flexible
� Reliable
� Breadth of
Connectivity
The Agile ESB
Courtesy of IONA Technologies
14[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemix
15[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl Java Business Integration
JBI 1.0: architecture���� Standards Based
Flexible
Reliable
Breadth of connectivity
Courtesy of IONA Technologies
16[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl Java Business Integration
JBI 1.0: WSDL messaging model
� Abstract model� Concrete model
� Service providers� Service Consumers
���� Standards Based
Flexible
Reliable
Breadth of connectivity
Courtesy of IONA Technologies
17[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl Java Business Integration
JBI 1.0: Normalized Message Router
� Normalized Message
� Runtime Endpoint Activation
� Delivery Channel
� Service Invocation using MEPs
� Addressing Endpoints
���� Standards Based
Flexible
Reliable
Breadth of connectivity
Courtesy of IONA Technologies
18[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl Java Business Integration
JBI 1.0: Invocation example
���� Standards Based
Flexible
Reliable
Breadth of connectivity
Courtesy of IONA Technologies
19[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemixl Java Business Integration
JBI 1.0: Packaging
� META-INF/jbi.xml
� Components
� Shared Libraries
� Service Units
� Service Assemblies
���� Standards Based
Flexible
Reliable
Breadth of connectivity
Courtesy of IONA Technologies
20[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Apache Servicemix
22[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ l Belgian Success Storyl Context of the project – Goals
� Goals
● Improve communication between Belgium’s French Community and other actors
● Implement SOA
� Use Case : pupils registration
� Before : various communication ways (paper documents, mails, excel sheets, …)
Context
Architecture
Development
Administration
Stress Tests
����
Courtesy of IONA Technologies
23[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/l Asynchronous mode l Belgian Success Story
� Asynchronous communication● JMS between SMX-CAS and SMX-WORK
● polling to retrieve responses
Context
Architecture
Development
Administration
Stress Tests
����
Courtesy of IONA Technologies
24[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Riferimenti
25[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Esercitazioni
Le esercitazioni consistono nel contribuire, tramite invio di codice, a estensioni di Spago o correzioni di errori conosciuti.
Tutte le richieste di miglioramento e di correzione sono censitenel tracking system (JIRA) di Spagic, a cui si accede previa registrazione (libera).
26[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Tracking System
Il tracking system di Spagic è accessibile all’URL http://spagoworld.org/ecm/faces/public/guest/, sotto la voce Tracker.
Il sito è accessibile dopo aver effettuato il login.
27[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Tracking System
Nel tracking system sono censite tutte le richieste di miglioramento o di correzione. Non tutte le richieste sono oggetto delle esercitazioni.
28[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Esercitazioni
Le possibili esercitazioni sono censite sotto la voce Project Summary->Open, il che significa che sono chiari i requisiti ma non è ancora stata assegnata l’attività.
29[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Esercitazioni
Le possibili esercitazioni sono le seguenti:
• SPAGIC-131: Optimize the creation of the queue connection in the class AuditingExchangeASyncListener: it should performed only once, since it supports concurrent use (abbastanza semplice)
• SPAGIC-106: Add to the process instance properties the server location where the instance is executing (mediamente complessa)
• SPAGIC-102: If the database is not available, the ODE listener doesn't allow the process execution (molto semplice)
• SPAGIC-77: Implement Synchronizer as Servicemix-beancomponent (molto complessa)
30[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
31[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
32[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
33[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/
34[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Esercitazioni
Il codice può essere scaricato dal forge di OW2:
http://forge.objectweb.org/projects/spagic
o direttamente dall’SVN di OW2:
svn://svn.forge.objectweb.org/svnroot/spagic
Il codice presente sull’SVN di Eclipse non è necessario per le esercitazioni:
svn://dev.eclipse.org/stp/org.eclipse.stp.model
35[Framework di sviluppo – I Progetti Spago e Spagic]2.5 Italia License
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi LiberiA.A. 2007-2008www.math.unipd.it/~ruffatti/ Esercitazioni
Deve essere inviata la patch contenente il codice della contribuzione: la patch è un file di testo creato automaticamente che contiene le differenze tra il codice “ufficiale” e il codice contenente la contribuzione.Viene creata con gli strumenti dell’ambiente di sviluppo.
I commenti nella contribuzione devono essere in inglese.
Se possibile deve essere mantenuta la retrocompatibilità della contribuzione con il codice esistente sviluppato con Spagic.