SlideShare ist ein Scribd-Unternehmen logo
1 von 27
PROGETTO MIGROS: PROGETTAZIONE E SVILUPPO DEGLI
STRUMENTI DI TRANSCODIFICA DELLE COMPONENTI
CLIENT E SERVER DEI SISTEMI LEGACY
Tesi di laurea in Software Engineering
UNIVERSITÀ DEL SALENTO
FACOLTÀ DI INGEGNERIA
CDL MAGISTRALE IN
INGEGNERIA INFORMATICA
RAMO APPLICATIVO
Relatore: Chiar.mo Prof. Luca MAINETTI
Correlatore: Ing. Andrea PANDURINO
Controrelatore: Prof. Roberto PAIANO
Laureando: Giacomo RUSSO
Matricola: 10083137
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Migrazione di un LIS
• L’approccio consigliato per ridurre i costi di gestione del LIS è la
reingegnerizzazione: intraprendere un processo di migrazione
dal sistema source verso un'architettura target (fondata su
tecnologie allo stato dell'arte e conforme ai principi di qualità
del software moderni), riprogettando ogni componente del LIS.
• Bisogna far sì che le tecniche di analisi e transcoding del codice
legacy siano le attività guida nell’ambito di un processo di
migrazione di un LIS:
– costituiscono le attività preliminari che determinano in gran parte l’esito di
un progetto di migrazione.
• Transcoding: l’insieme di operazioni di lettura automatica,
analisi e conversione del codice in un altro linguaggio di
programmazione, in modo che il codice risultante mantenga la
stessa funzionalità del codice di origine.
2/25
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Parsing e generazione del codice
• La transcodifica di codice legacy
prevede le fasi:
– Lexing: riconoscimento dei simboli;
– Parsing: riconoscimento delle
espressioni;
– Generazione: traduzione delle
espressioni nel codice target.
• Due possibili approcci:
– Compiler compilers: basate su una
grammatica formale che definisce le
modalità di lexing e parsing (JavaCC,
Java Tree Builder, NacaTrans);
– Tecnologie model-driven: basata sulla
lettura di modelli e su regole per
trasformare ciascun elemento in
codice (Model-to-Text), (Eclipse
Modeling Framework, Acceleo).
3/25
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Parsing e generazione del codice
• I transcoder generalmente eseguono il loro compito prendendo
come input l’intero codice sorgente legacy, in maniera olistica.
• Evoluzione: partizionare il processo di transcoding,
permettendogli di funzionare su sottoinsiemi più piccoli
dell’intero codice (gruppi di file, singoli file, singole procedure),
detti Migration Unit.
• In questo modo è possibile condurre più «batch» di
transcodifica, ognuno indipendente dall’altro, potendo costruire
l’architettura target risultante assemblando i vari risultati
ottenuti (da qui l’utilità di utilizzare un’architettura target
component-oriented).
4/25
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Parsing e generazione del codice
• I transcoder generalmente eseguono il loro compito
prendendo come input l’intero codice sorgente legacy, in
maniera olistica.
• Evoluzione: partizionare il processo di transcoding,
permettendogli di funzionare su sottoinsiemi più piccoli
dell’intero codice (gruppi di file, singoli file, singole
procedure), detti Migration Unit.
• In questo modo è possibile condurre più «batch» di
transcodifica, ognuno indipendente dall’altro, potendo
costruire l’architettura target risultante assemblando i vari
risultati ottenuti.
5/25
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Generazione di codice secondo
MDA
• Il paradigma Model-driven Architecture di OMG
prevede l’utilizzo di trasformazioni Model-to-Text per
generare codice a partire dalla modellazione di un
dominio.
• Le trasformazioni Model-to-Text sono definite
tipicamente in maniera statica: ad ogni elemento del
modello corrisponde un solo tipo di generazione.
• Evoluzione: consentire la scelta a run-time della
particolare trasformazione con cui deve essere
generato un elemento del modello (mapping rule).
• La trasformazione è personalizzabile ed estendibile
da parte del progettista.
• Applicazione di questa tecnica alla generazione di
una UI, data la descrizione della User Experience.
6/25
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Rich Internet Application
• Le Web Application approssimano sempre meglio le
tradizionali applicazioni desktop, offrendo un'alta
reattività e una User Experience ricca.
• Gli ultimi anni hanno visto l'affermazione in questo
ambito delle tecnologie di tipo RIA (Rich Internet
Application).
• Utilizzo di RIA come target della migrazione di LIS.
• Metodologie di progettazione di RIA:
– Rich – IDM: progettazione del dialogo utente –
sistema nell’ambito di una RIA;
– RUX – Method: trasformazione di modelli della UX in
modelli astratti di intefaccia, che a loro volta saranno
tradotti in interfacce utente RIA concrete. È
integrabile con la metodologia Rich-IDM e ben si
presta al paradigma del Model-Driven Engineering.
7/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Il processo di migrazione
8/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Il processo di migrazione
9/25
Ambito del lavoro di tesi
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Obiettivi
• Obiettivo: progettazione e realizzazione di una suite di strumenti di
traduzione da codice legacy a:
– componenti integrabili in architettura SCA (per quanto concerne lo strato di
business logic del LIS);
– componenti grafici integrabili in un client RIA (per quanto concerne lo
strato di presentation del LIS);
• Granularità della migrazione: One-to-One: ad ogni procedura COBOL
dovrà corrispondere un componente SCA, ad ogni form del client dovrà
corrispondere un componente RIA .
• Il risultato del transcoding dovrà inoltre essere adatto al deploy su una
moderna architettura enterprise, composta da:
– Data layer, basato su tecnologie di tipo Object-Relational Mapping;
– Service layer, organizzata secondo un’architettura di tipo SCA che espone
Web Services;
– Presentation layer, basato su un client RIA.
• La componente client da migrare sarà generata in base alle
informazioni ottenute da un reverse engineering della User Experience
del LIS.
10/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Architettura logica
• Due strumenti di transcodifica da
progettare: uno per la componente server,
uno per la componente client
11/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Architettura logica
• Due strumenti di transcodifica da
progettare: uno per la componente server,
uno per la componente client
12/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Transcoder COBOL - Java
• I suoi compiti sono:
– il preprocessing dei file COBOL;
– l’analisi dei file sorgente preprocessati;
– navigazione della struttura semantica del codice al
fine di collezionare le informazioni per costituire
delle Migration Unit;
– esportazione dei risultati dell’analisi e del codice
preprocessato.
– transcodifica dei file COBOL in linguaggio Java, in
modalità 1 ad 1, in accordo ai risultati dell’analisi.
• Svolge un transcoding basato su unità indipendenti
di codice (Migration Unit) da poter migrare
separatamente, invece del classico transcoding
«olistico», in cui la conversione è fatta passando in
input l’intero codice sorgente.
13/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Transcoder COBOL – Java:
COBOL Preprocessor
14/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Transcoder COBOL - Java
15/25
Singleton
Strategy
Strategy
INTRODUZIONE
STATO
DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Transcoder COBOL – Java:
Transcoder
• NacaTrans: traduttore COBOL - Java,
traduce in classi Java che impiegano la
libreria di runtime NacaRT.
• È stato progettato per tradurre ogni linea
di codice COBOL con esattamente una
linea di codice Java, in modo che il
sorgente risultante sia il più simile possibile
al codice originale (codice Java Raw).
• Questa è una scelta progettuale che
permette ad un’azienda di salvaguardare il
capitale umano dei programmatori COBOL,
permettendo di riaddestrarli solo per il
mantenimento di questo tipo di codice.
16/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Transcoder COBOL – Java:
Transcoder
17/25
• NacaTrans svolge già una transcodifica COBOL – Java,
però il suo impiego pone vincoli stringenti sul codice
convertito risultante:
– NacaTrans non è in grado di tradurre il 100% del codice COBOL in
input,, occorre perciò intervenire per aumentare la portata di
traduzione del tool;
– NacaTrans genera classi Java il cui uso è limitato nell’ambito
dell’ambiente di runtime di Naca (NacaRT);
– NacaTrans non supporta la modalità di traduzione One-to-one;
• Si è quindi modificato lo strumento in modo da:
– estendere la portata della generazione;
– Generare codice idoneo ad essere eseguito in un ambiente meno
restrittivo;
– introdurre il supporto alla migrazione One-to-one.
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Generatore RIA UI
18/25
• Il suo compito è:
– Leggere le regole di trasformazione
(mapping rules);
– Caricare il modello della User Experience
indicato;
– Convertire ogni elemento del modello Rich
– IDM nel corrispondente elemento di
output specificato nella mapping rule;
– Avviare la generazione del codice relativo a
ciascun componente di output, utilizzando il
suo metodo di generazione.
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Generatore RIA UI
19/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Generatore RIA UI
20/25
Singleton
Strategy
Facade
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Implementazione dei componenti
dell’applicazione
• Tecnologie utilizzate:
– Transcoder COBOL – Java: JavaCC 5.0,
Java Tree Builder 1.3.2, NacaTrans 1.2;
– Generatore RIA UI: Eclipse Modeling
Framework Core (Juno release),
Acceleo 3;
– Componenti server migrati: NacaRT
1.2;
– Componenti client migrati: Microsoft
Silverlight 3 (con Code Behind in C#);
21/25
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Case study: migrazione di un’applicazione
COBOL CICS di gestione clienti
22/22
Segue un filmato del case study
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Case study: migrazione di un’applicazione
COBOL CICS di gestione clienti
23/22
Segue un filmato del case study
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Case study: migrazione di un’applicazione
COBOL di gestione clienti
24/25
COBOL Java (basato su NacaRT)
1000-PROCESS-CUSTOMER-MAP.
*
PERFORM 1100-RECEIVE-CUSTOMER-MAP.
PERFORM 1200-EDIT-CUSTOMER-DATA.
IF VALID-DATA
PERFORM 1300-GET-CUSTOMER-
RECORD
END-IF.
IF VALID-DATA
SET SEND-DATAONLY TO TRUE
PERFORM 1400-SEND-CUSTOMER-MAP
ELSE
SET SEND-DATAONLY-ALARM TO
TRUE
PERFORM 1400-SEND-CUSTOMER-MAP
END-IF.
protected void $1000ProcessCustomerMap() {
//
mRT.perform($1100ReceiveCustomerMap);
mRT.perform($1200EditCustomerData);
if (mRT.is(validData)) {
mRT.perform($1300GetCustomerRecord);
}
if (mRT.is(validData)) {
mRT.moveTrue(sendDataonly);
mRT.perform($1400SendCustomerMap);
}
else {
mRT.moveTrue(sendDataonlyAlarm);
mRT.perform($1400SendCustomerMap);
}
}
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Case study: migrazione di un’applicazione
COBOL di gestione clienti
25/25
Rich-IDM XMI Silverlight XAML
<richidm:Diagram xmi:id="_diagram0"
xmi:version="2.0">
<containsContextView name="CV0"
xmi:id="_diagram1"
xmi:type="richidm:ContextView">
<containsUserExperienceCores
name="pnlMain" xmi:id="_diagram2"
xmi:type="richidm:UserExperienceCore">
<containsRiaPageElements
xmi:id="_diagram3"
xmi:type="richidm:ContentRiaPageElement
">
<hasRiaHandle name=""
refersToRiaPageElement="_diagram14"
xmi:id="_diagram4"
xmi:type="richidm:RiaHandle"/>
<StackPanel x:Name="LayoutRoot">
<StackPanel.Background>
<RadialGradientBrush>
<GradientStop Color="#FF9ED1DE"
Offset="0.647"/>
<GradientStop Color="#FF85ABA1"
Offset="1"/>
</RadialGradientBrush>
</StackPanel.Background>
<sdk:Frame Width="600" BorderThickness="1"
BorderBrush="#FF494949">
<sdk:Label Content="Contact
Maintenance"
FontFamily="Verdana" FontSize="12"
FontWeight="Bold" Foreground="#FF00358B"/>
<sdk:Label Content="Contact
number..."
FontFamily="Verdana" FontSize="12"
FontWeight="Bold" Foreground="#FF00358B"/>
INTRODUZIONE
STATO DELL’ARTE
OBIETTIVI
PROGETTAZIONE
REALIZZAZIONE
DELL’APPLICAZIONE
CONCLUSIONI
Conclusioni
• Si è sviluppato con successo:
– uno strumento per l’analisi e la traduzione di codice
COBOL in Java, generando delle classi conformi ad
una Service Component Architecture (componente
server);
– uno strumento per l’analisi e la traduzione di modelli
Rich-IDM in Silverlight (componente client).
• Ampie possibilità di estensione degli strumenti e
possibilità di adattarli all’uso con altri linguaggi
source e target o ad ambienti a linguaggio misto,
cambiando opportunamente le grammatiche
formali e le trasformazioni Model-to-Text.
• Utilizzo esclusivo di tecnologie Open Source.
• Modalità di transcodifica per Migration Unit e
progettazione conforme al paradigma Model-Driven
Architecture.
26/25
GRAZIE DELLA
CORTESE ATTENZIONE

Weitere ähnliche Inhalte

Andere mochten auch

Presentation for faculty awareness about Quality Management System and Accred...
Presentation for faculty awareness about Quality Management System and Accred...Presentation for faculty awareness about Quality Management System and Accred...
Presentation for faculty awareness about Quality Management System and Accred...Ahmedani Shoaib
 
Uloga društva u razvoju transplantacionog i donorskog programa
Uloga društva u razvoju transplantacionog i donorskog programaUloga društva u razvoju transplantacionog i donorskog programa
Uloga društva u razvoju transplantacionog i donorskog programaMedical school Novi Sad
 
Texto dos dedos aos dados
Texto dos dedos aos dadosTexto dos dedos aos dados
Texto dos dedos aos dadosteacherpereira
 
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...Medical school Novi Sad
 
Catalogo electrodomesticos 2014
Catalogo electrodomesticos 2014Catalogo electrodomesticos 2014
Catalogo electrodomesticos 2014Ricardo Delgado
 
Darcey and chebs2
Darcey and chebs2Darcey and chebs2
Darcey and chebs2lozme
 
тула конкурс семья года 2014
тула конкурс семья года 2014тула конкурс семья года 2014
тула конкурс семья года 2014channa1971 Pronchewa
 

Andere mochten auch (11)

Foto muro con_encofrado_metalico
Foto muro con_encofrado_metalicoFoto muro con_encofrado_metalico
Foto muro con_encofrado_metalico
 
Presentation for faculty awareness about Quality Management System and Accred...
Presentation for faculty awareness about Quality Management System and Accred...Presentation for faculty awareness about Quality Management System and Accred...
Presentation for faculty awareness about Quality Management System and Accred...
 
Uloga društva u razvoju transplantacionog i donorskog programa
Uloga društva u razvoju transplantacionog i donorskog programaUloga društva u razvoju transplantacionog i donorskog programa
Uloga društva u razvoju transplantacionog i donorskog programa
 
Texto dos dedos aos dados
Texto dos dedos aos dadosTexto dos dedos aos dados
Texto dos dedos aos dados
 
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...
Fizioterapija u sportu - Specifičnosti fizikalnog lečenja i funkcionalnog osp...
 
Reyes Magos
Reyes MagosReyes Magos
Reyes Magos
 
E1
E1E1
E1
 
Guy Smith, NFU
Guy Smith, NFUGuy Smith, NFU
Guy Smith, NFU
 
Catalogo electrodomesticos 2014
Catalogo electrodomesticos 2014Catalogo electrodomesticos 2014
Catalogo electrodomesticos 2014
 
Darcey and chebs2
Darcey and chebs2Darcey and chebs2
Darcey and chebs2
 
тула конкурс семья года 2014
тула конкурс семья года 2014тула конкурс семья года 2014
тула конкурс семья года 2014
 

Ähnlich wie Progetto MigrOS: progettazione e sviluppo degli strumenti di transcodifica delle componenti client e server dei sistemi legacy

Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfFlorence Consulting
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Alexander Minichino
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality CodeDaniele Mondello
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ CodeDaniele Mondello
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]gioacchinolonardo
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...Emerasoft, solutions to collaborate
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAndrea Bozzoni
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLIntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLmatteo_gentile
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
 
Signal r to the-max
Signal r to the-maxSignal r to the-max
Signal r to the-maxDotNetCampus
 
Del furia signalr-to-the-max
Del furia   signalr-to-the-maxDel furia   signalr-to-the-max
Del furia signalr-to-the-maxDotNetCampus
 
TSQL Advanced Query Techniques
TSQL Advanced Query TechniquesTSQL Advanced Query Techniques
TSQL Advanced Query TechniquesGianluca Sartori
 

Ähnlich wie Progetto MigrOS: progettazione e sviluppo degli strumenti di transcodifica delle componenti client e server dei sistemi legacy (20)

Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdf
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
Lezioni 2009
Lezioni 2009Lezioni 2009
Lezioni 2009
 
Hadoop SAR
Hadoop SARHadoop SAR
Hadoop SAR
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ Code
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...
Emerasoft Day 2012 - TRS "Uso del metodo Cosmic e di Polarion per la gestione...
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLIntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
 
Signal r to the-max
Signal r to the-maxSignal r to the-max
Signal r to the-max
 
Del furia signalr-to-the-max
Del furia   signalr-to-the-maxDel furia   signalr-to-the-max
Del furia signalr-to-the-max
 
TSQL Advanced Query Techniques
TSQL Advanced Query TechniquesTSQL Advanced Query Techniques
TSQL Advanced Query Techniques
 

Progetto MigrOS: progettazione e sviluppo degli strumenti di transcodifica delle componenti client e server dei sistemi legacy