professionisti del software life cycle
Midrange Modernization Conference
modernizzare le applicazioni sviluppate per AS/400:
la proposta Microsoft per i Partner
la migrazione di codice COBOL
AS/400 verso il mondo .NET
professionisti del software life cycle
agenda
•
•
•
•
•
introduzione
la migrazione delle applicazioni
le applicazioni COBOL
la “roadmap”
le principali tecnologie a supporto del
processo di migrazione
• conclusioni
-2-
professionisti del software life cycle
chi è bizlogica
• un’azienda focalizzata su processi e
tecnologie attinenti il software lifecycle
• partner italiano di aziende come
Relativity Technologies, Fujitsu
Computer Systems (ex Fujitsu
Software), Borland (Segue Software:
soluzioni di test)
• esperienze in progetti di trasformazione
di applicazioni legacy
-3-
professionisti del software life cycle
la migrazione delle applicazioni
• a chi si rivolge:
tutte quelle situazioni in cui sono presenti
piattaforme applicative e/o architetturali in
produzione da tempo, e per le quali esista una
esigenza (generica) di miglioramento di risultati,
performance, funzioni, utilizzo da parte
dell’utente, meccanismi e cicli di manutenzione,
fino a ipotesi di ammodernamento di basi dati,
interfacce, environment o ambienti applicativi
-4-
professionisti del software life cycle
legacy migration
• la soluzione si basa sul recupero della
conoscenza dell’applicazione, e la conseguente
creazione di componenti
• tali componenti, una volta creati, possono
avere diverse destinazioni, secondo le diverse
scelte architetturali, adeguandosi di fatto alle
piattaforme tecnologiche target
• la soluzione può avere diverse articolazioni
con vantaggi che, secondo le scelte effettuate,
sono di tipo economico, di efficace impiego
delle risorse, e di minor rischio
-5-
professionisti del software life cycle
rifare, emulare, o migrare?
• nella necessità di sviluppare da zero una
nuova applicazione, oggi quasi nessuno
orienta la propria scelta su COBOL o RPG
• anche se esistono da tempo versioni object
oriented dei compilatori, tutti gli environment
più evoluti e attuali contemplano l’utilizzo di
linguaggi diversi
• nel caso della piattaforma .NET di Microsoft, è
possibile la convivenza tra linguaggi diversi,
come C#, J# e VB, e, soprattutto, COBOL e
RPG, rendendo possibile e vantaggioso il
recupero del codice
-6-
professionisti del software life cycle
le scelte possibili
sostituzione
sostituzione delle applicazioni e
dei sistemi esistenti con soluzioni
di mercato (es. sistemi ERP)
rischio:
costo:
tempo:
valore:
medio/alto
alto
lungo
elevato

emulazione
modernizzazione di tipo “tattico”,
con il supporto di layer software
di emulazione
rischio:
costo:
tempo:
valore:
basso
contenuto
breve
basso
rifacimento
conversione e/o riscrittura delle
applicazioni in linguaggi/ambienti
moderni (J2EE, .NET)
rischio:
costo:
tempo:
valore:
alto
alto
lungo
elevato

rischio:
costo:
tempo:
valore:
basso
medio
medio
elevato




migrazione
migrazione delle applicazioni (o di
parti di esse) verso un ambiente
moderno (.NET) mantenendo i
linguaggi esistenti (COBOL e
RPG)



-7-
professionisti del software life cycle
la migrazione
• l’esperienza dimostra che l’obiettivo è
raggiungibile, senza necessariamente rischiare
una rivoluzione
–
–
–
–
il percorso è configurabile con obiettivi intermedi
l’investimento è configurabile secondo le capacità
l’impatto sull’utente è modulabile
l’acculturamento delle risorse di sviluppo e
manutenzione è graduale
– è possibile far convivere le nuove applicazioni con le
vecchie
– la configurazione target la decide il Cliente
-8-
professionisti del software life cycle
la migrazione: vantaggi e
benefici
• se sono validi i presupposti, i vantaggi
sono:
–
–
–
–
–
–
minor tempo
migliore razionalizzazione
migliore qualità
migliore corrispondenza ai requisiti utente
minori rischi
riutilizzo degli skill
-9-
professionisti del software life cycle
a quali piattaforme e linguaggi
legacy è applicabile?
• sistemi mainframe (IBM, Unisys, Bull, …)
• sistemi centrali (AS/400–iSeries, Unix)
• applicazioni CICS, IMS, AS/400, Adabas,
ADW, APS, ADS-Online, …
• organizzazioni dati VSAM, DL/I, DB2,
DB2/400, files AS/400, Adabas, IDMS, …
• linguaggi COBOL, RPG, PL/I, Natural, …
• JCL, ECL, CL/400
• …
-10-
professionisti del software life cycle
modalità di migrazione
sistema
applicativo
legacy
modello
funzionale
documentazione
prototipo
decisione
presentation
intervista utente
1° classificazione
logica
knowledge
mining
fattibilità
re-learning
sistema
sottosistema
batch job
programma
section
decisione
dati
individuazione e
separazione logica
dei layer
livello
modello dati
analisi dati
analisi
risultati
progetto
tipo di documentazione
mappa generale, elenco dei sottosistemi
mappa, elenco dei moduli, job batch, database, schermate, ...
programmi lanciati, database acceduti, frequenza, ...
scopo, programmi chiamati, database letti o scritti, chiamato da, parametri, ...
funzionalità, chiamate esterne, section performed, condizioni verificate, variabili utilizzate...
-11-
professionisti del software life cycle
la migrazione delle DDS
Descrizione: La soluzione proposta prevede
l'adozione del tool Fujitsu NetCOBOL for
.NET unito alle suite Monarch e Visual
RPG.NET di ASNA
I Wizard forniti da Monarch consentono di
importare le DDS (Display file, Printer file) e
di convertirle automaticamente in form
ASP.NET o in classi AVR per la gestione
delle stampe, nonché di generare, partendo
da file Template RPG, il codebehind
associato alla Form
DDS (Print File )
DDS (Display File )
RPG Template
File
ASNA Monarch
VS.NET Project
AVR
class
.NET Framework
AVR
class
IIS Web Server
COBOL
component
ASP.NET Page
-12-
professionisti del software life cycle
slicing logica COBOL
COBOL
programs
Descrizione: La logica business in COBOL,
sottoposta ad un processo di slicing può
essere estrapolata in componenti (Object
Oriented) COBOL.NET, e richiamata dai
programmi RPG (codebehind) generati
Business
Rules Extraction
.NET Framework
VS.NET Project
NetCOBOL .NET
COBOL
component
COBOL
component
COBOL
component
-13-
professionisti del software life cycle
migrazione struttura dati e Data
layer
Descrizione: Il tool DataGate di
ASNA consente la migrazione
automatica della struttura dati
da AS/400 a MS SQL Server,
mentre l'isolamento degli
accessi alla base dati in un
unico componente di data layer
consente l'integrazione con le
classi COBOL
I-O DB
statements
DB AS/400
ASNA Monarch
ASNA DataGate
Data Layer
NetCOBOL .NET
COBOL
component
AVR
class
COBOL
component
COBOL
component
AVR
class
MS SQL
Server
AVR
class
-14-
professionisti del software life cycle
una visione d’insieme
DDS File
(display
file,
Print file
ecc..)
RPG
template
ASNA Visual
RPG.NET
AVR
Class
AVR
Class
Business
Rules Extraction
Web
Services
Built
application
VS.NET
Project
ASNA
Monarch
COBOL
File
.NET Framework
Fujitsu
NetCOBOL.NET
Cobol
component
Cobol
component
Data Layer
DB AS/400
ASNA DataGate
ASP.NET Page
MS SQL
Server
-15-
professionisti del software life cycle
il processo che interviene sul codice
COBOL
• esame del codice sorgente per
l’individuazione dei diversi layer:
–
–
–
–
–
Files READ & WRITE
Printer READ & WRITE
Video READ & WRITE
CALL
Using (Linkage Section)
– COMPUTE FIELD-A = …
Data Layer
Presentation Layer
Communication Layer
Business Layer
-16-
aree di attenzione
BR
1
BR
2
User
Interface
Code
Data
Data
Access
Code
BR
6
BR
5
User
Interface
Code
BR
3
Data
BR
4
Data
Access
Code
Programma COBOL monolitico
analisi degli
impatti
razionalizzazione /
refactoring
eliminazione di
codice
morto/decaduto
documentazione
partizionamento
applicazioni
Separazione logica (fisica?)
professionisti del software life cycle
rinnovo (refactoring) - COBOL
User
Presentation Interface
Layer
Code
Business
Layer
Data
Layer
BR
1
BR
2
BR
3
BR
4
BR
5
BR
6
Data
Access
Code
Data
Programma COBOL
destrutturato
-17-
professionisti del software life cycle
gli ambienti target di riferimento:
esempi di configurazione per l’integrazione con servizi centrali
.NET Framework
Web Services
OLEDB/ODBC
SQL Server
Service
Data
.NET Components
Business Components
Application
Data
Host Integration
Layer
MOM Adapter
Messages
ADO.NET
MQSeries
DRDA
AS400
iSeries
AS400 Procedures
(i.e. COBOL/400)
DB2/400
SQL
Native
Mid.
Data Transformation
& Replication
Environment (HIS)
File
Transfer
AS/400
Files
-20-
le tecnologie
professionisti del software life cycle
professionisti del software life cycle
le principali tecnologie a supporto
dei processi di migrazione
• Relativity Technologies: Modernization
Workbench
• Fujitsu Software Corp.: Dialect
Converters
• Fujitsu Software Corp.: NetCOBOL for
.NET
• ASNA: Monarch
• ASNA: Visual RPG .NET
• ASNA: Datagate
-22-
professionisti del software life cycle
la migrazione delle applicazioni
AS/400 – per componenti
Piano di
lavoro
RMW
parsing
inventory
analysis
assessment
re-learning
Source
COBOL/400
ILE COBOL
CL source
Source
RPG/400
RPG ILE
CL
RPG
COBOL
transformation
generation
Dialect
Converters
NetCOBOL
for .NET
VRPG .NET
VRPG .NET
Printer file
DDS
printer file
migration
text
print file
Display file
DDS
dispaly file
migration
ASPx pages
physical
files
logical
files
data
area
data & schema
migration
physical
files
logical
files
-23-
professionisti del software life cycle
Relativity Technologies:
Modernization Workbench
-24-
professionisti del software life cycle
Modernization Workbench: le
caratteristiche principali
• esecuzione di analisi d’impatto tramite viste a
diagramma di data flow, call map, e screen
flow per ridurre il tempo di analisi
• al cambiamento del codice sorgente
corrisponde un aggiornamento della
documentazione, che così è sempre
aggiornata
• inventario degli asset disponibili
• slicing delle business rules
• componentizzazione del codice COBOL
-25-
professionisti del software life cycle
Fujitsu: Dialect Converters
• i Dialect Converters sono strumenti che
aiutano nei processi di conversione dei
programmi sorgente sviluppati in altri dialetti
COBOL:
– IBM®, Micro Focus®, Microsoft®, e altri
• i Dialect Converters caricano il sorgente
scritto in un altro dialetto per costruire una
mappa del programma, trasformare questa
mappa e generare un sorgente in output che
risulti logicamente equivalente all'originale ma
che sia compatibile con il compilatore
NetCOBOL
-26-
professionisti del software life cycle
Fujitsu: NetCOBOL for .NET
• Fujitsu NetCOBOL for .NET è un compilatore COBOL
appositamente progettato per il Framework Microsoft
.NET
– è in grado di generare moduli in Microsoft Intermediate
Language (MSIL), che possono essere eseguiti sotto il
controllo del Common Language Runtime (CLR)
– tale environment permette di “mescolare” il codice COBOL
con qualsiasi altro linguaggio supportato in .NET (C#.NET,
VB.NET, VRPG.NET, ecc.)
– l’adozione della sintassi OO COBOL, così come il supporto
delle estensioni specifiche di .NET, consente di sviluppare
programmi in grado di sfruttare al meglio le classi del
framework
– il COBOL è definibile come script language per ASP.NET
– è “runtime free”
-27-
professionisti del software life cycle
il CLR (Common Language
Runtime) in .NET Framework
COBOL for .NET
VRPG.NET
C#.NET
Ambiente di Sviluppo:
MS Visual Studio
Just-inTime Compiler
Common Language Runtime (CLR)
.NET Framework
Win32 OS (Windows)
-28-
professionisti del software life cycle
ASNA Monarch
• Monarch
– trasforma le applicazioni iSeries ILE RPG
ed RPG/400 in applicazioni native Microsoft
.NET
– facilita l’utilizzo di programmi RPG per Web
Services
– aiuta ad identificare gli elementi per
generare applicazioni complesse
– genera oggetti MSIL per altri linguaggi .NET
-29-
professionisti del software life cycle
ASNA Monarch
•
•
•
•
il risultato è un’applicazione .NEThosted scritta in AVRpg per .NET
–
–
–
–
–
RPG source
Display files
CL
Menus
Printer files
–
–
–
si collega a iSeries
oppure a SQL Server
oppure..ad entrambi in un’unica
sessione!
iSeries to .NET
l’unica soluzione che converte da
RPG ad……..RPG!
produce applicazioni .NET che
possono dialogare con i processi
batch OS/400 con interscambio
parametri.
genera un’applicazione browserbased, pronta all’utilizzo
-30-
conclusioni
professionisti del software life cycle
professionisti del software life cycle
conclusioni
• deve esistere una forte motivazione
• le applicazioni legacy devono essere
soddisfacenti
• occorre avere deciso la configurazione target
• esiste la necessità di salvaguardare gli skill
interni
• l’obiettivo è una nuova applicazione con le
regole e i pregi di quella esistente e con
l’opportunità di una reale modernizzazione
• totale integrazione nel Framework .NET
-32-
professionisti del software life cycle
La “roadmap”
• verifica
–
–
–
–
analisi di un campione ridotto ma qualitativamente significativo di codice
intervista sui requisiti di base
verifica di applicabilità di tools e metodologie
produzione di una “pre-fattibilità” che consenta al cliente di decidere se
proseguire o meno con una stima:
• ordine di grandezza dell’impegno (tempi/costi)
• valutazione dei rischi principali
• Proof of Concept (progetto pilota)
–
–
–
–
definizione di limiti e obiettivi
pianificazione dei tempi
verifica dei requisiti
Il PoC produce:
• un test “reale” di intervento, in grado di consentire un esame tecnicamente accurato
dei risultati ottenibili
• una documentazione che riporta le esperienze fatte, le decisioni prese, i problemi
incontrati
• gli elementi utili alla redazione di una offerta finale per l’intero progetto
• la pianificazione del progetto complessivo
• una offerta economica per il progetto
• progetto
-33-
professionisti del software life cycle
documentazione
• presentazioni
• white paper
–
–
–
–
•
•
•
•
processi
metodologia
esempi di codice
Web Services
prove su campioni di codice
referenze
storie di successo
www.bizlogica.it e [email protected]
-34-
professionisti del software life cycle
Midrange Modernization Conference
modernizzare le applicazioni sviluppate per AS/400:
la proposta Microsoft per i Partner
la migrazione di codice COBOL
AS/400 verso il mondo .NET
Scarica

cobol - Microsoft