SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Implementazione di una soluzione a
microservizi: benefici organizzativi ed economici
Balint Maschio( Monrif )
MoM 2016
Meeting on Microservices
Cosa devo aspettarmi da questa presentazione?
• Cosa vedrò
• Strutture informatiche generali nel mondo dell’editoria
• Processi specifici in Monrif
• Problemi e soluzioni adottate
• Impatti e vantaggi delle soluzioni adottate
• Tools e metodologie per lo sviluppo
• Pipeline e progetti futuri
• Cosa non vedrò
• Codice di nessun tipo ( Jolie o altro )
• Sofismi software
• Strutture dati o diagrammi di DB
Strutture informatiche generali nel
mondo dell’editoria
• Anche per un prodotto a «bassa» tecnologia
c’è bisogno di una azienda ad alta densità
tecnologica.
• Il reparto IT è coinvolto in tutti gli aspetti
della vita di una azienda editoriale
• Aree di competenza dell’ IT
• Software per la produzione del giornale
• Software per la distribuzione del
giornale
• Software per la gestione amministrativa
• Software per gestione dei
clienti/collaboratori
• Software per la gestione delle versioni
on-line
Processi specifici in Monrif
• Anche in Monrif sono presenti molti dei
gruppi software della precedente slide
• Software per la produzione del giornale
• Hermes 11
• Software per la distribuzione del giornale
• SDQ
• Software per la gestione amministrativa
• SAP
• Software per gestione dei collaboratori
• Bordero /Portale Collaboratori
• Software gestione versione On-line
• Polopoly
• E-commerce
• InEdicola
Hermes11/Polopoly
SDQ
Inaz
Bordero
Sap
InEdicola Giornale on-line
Monrif ed i microservizi
La necessità di procedere ad una razionalizzazione dei processi in ottica
microservizi è stata evidenziata circa a meta del 2015 ragionando in questi
termini
 Accesso ai dati dei diversi software in maniera rapida ed standardizzata
 Linearizzazione dei processi di scambio dati unificando sotto un’unica
tecnologia gli scambi dei dati
 Eliminazione per quanto possibile di processi asincroni o che coinvolgono
manipolazione di files di scambio
Monrif e Jolie
Una relazione che è partita piano ma che sta crescendo:
 Jolie entra in azienda alla fine del 2014 come un prodotto specifico di
connessione tra SAP e Arxivar ( JSap Italiana Software)
 Luglio 2015 Jolie viene messo in tecnological evaluation con altre
tecnologie tra cui Talend e vince la sfida
 Ottobre 2015 La presenza di Jolie in azienda viene messa in discussione a
causa di divergenze con il fornitore Arxivar ma al subentro del nuovo
fornitore (Horsa) la validità della soluzione Jolie viene confermata
Monrif e Jolie
 Fine 2015: Primo progetto Jolie sviluppato interamente in Monrif che comprende
l’integrazione con SAP ed un flusso di gestione della manutenzione impianti.
 Inizio 2016: Monrif prosegue l’investimento su Jolie acquistando da ItalianaSoftware
la piattaforma Jolie Enterprise e formando all’interno 3 risorse ( corso di 3 giorni)
 Primavera 2016: Ampliamento del progetto Arxivar con maggiori funzionalità
 Estate 2016 : Progetti in parallelo che coinvolgono
 Gestione Risorse
 Gestione Collaboratori
 Ampliamento del progetto Manutenzione
 Marketing
 Fine 2016: Di fronte all’aumento delle implementazioni Jolie e dell’espansione della
infrastruttura, Monrif acquista da Italiana Software un ulteriore licenza per JCloud
Perché JOLIE e no Talend
• Talend è sicuramente un ottimo prodotto con molti punti forza ma
alcuni punti che non lo rendono cosi adatto ai microservizi
• Necessaria la conoscenza di un framework complesso
• Necessaria una infrastruttura considerevole con la relativa gestione
• JOLIE dal suo canto
• Non è un framework ma un linguaggio
• Non richiede particolari infrastrutture o containers
• Ha un vero paradigma a microservizi.
Classi di microservizi (come li vediamo in Monrif)
• Classi di microservizi
• Di interfaccia di dato
• Quei microservizi che interfacciano una base dati esponendo operazioni
CRUD per una o più tabelle o espongono operazioni di interfacciamento
con views o stored procedures (Rosso)
• Di interfaccia funzionale
• Quei microservizi che espongono operazioni per integrare software
esterni attraverso interfacce ben definite o attraverso chiamate in
sequenza agli stessi (Giallo)
• Di orchestazione
• Quei microservizi che implementano flussi aziendali orchestrando le
operazioni esposte da altri servizi Jolie (Verde)
Progetto di integrazione Arxivar
(Documentale)
RFC Server
Workflow
Mapper
Arxivar
Service
SAP
RFC
Client
A
R
X
V
A
R
ArchiveLink
Connettore
Cubo
File Importar
Recovery
Service
HTTP
SOAP
Document
Updater
HTTP
Che carichi può supportare
Lettura Singolo Documento Scrittura Singolo
documento
Aggiornamento
Stato Documento
Numero di
doumenti al
mese
ArchiveLink 1 1 500*
RFC Server 1 1800*
Workflow 1 1
Mapper 1
RFC Client 2 2
Document Updater 1 500*
Arxivar Service 1 (4) 1(6)
Cubo Connector 1 300*
File Importar 1 5000*
Progetto di integrazione Arxivar/Upgrade
 L’architettura a microservizi ha permesso di inserire nuovi microservizi
con estrema facilità
 Cubo Connector due giornate uomo ( con la definizione di interfaccia e test )
 Test anche condotti indipendentemente dal chiamante
 File Importer una 2 giornate uomo
 Questo perché non devo validare il flusso a valle del chiamante perché
già in uso
Progetto Portale manutenzione
• Poligrafici Editoriali : come qualsiasi azienda di produzione ha un estremo
bisogno di gestire in maniera efficiente gli avvisi di manutenzione
• Dopo aver concluso il progetto PM (Plant Managment in SAP) è nata l’esigenza di
fornire agli addetti alla manutenzione un punto di segnalazione di facile utilizzo
che potesse operare in maniera asincrona a SAP
• In un secondo momento è nata la necessità di fornire uno strumento di
monitoraggio della situazione degli avvisi accessibile attraverso piattaforma
mobile
Progetto Portale manutenzione
RFC Server
SAP
RFC
ClientLeorando
Maintance
Service
Leorando
Per
Android
Account
Manager
DB
HTTP (REST) HTTP(REST)
Maintance
Workflow
LDAP Service
Syncronizer
Progetto Portale manutenzione
Servizio Giornate Uomo Vantaggi
RFC Server 1 giornata uomo Flussi sincronizzati con sap
RFC Client 2 giornate uomo ( 1 ½ ABAP) Punto di raccolta dati da SAP
Maitanance Service 4 giornate uomo Servizio che gestisce le vere e
proprie richieste di manutenzione
Maintanance Workflow 2 giornate uomo Definizione dei flussi per la
manutenzione
Syncronizer 1 ½ giornata uomo Mantiene le anagrafiche
sincronizzate del portale con
quelle di SAP
Account Manager 6 giornate uomo Servizio per definire i permessi di
accesso e visibilità ( con
applicazione web di supporto)
Leonardo WebServer a microservizio
• Tradizionalmente per esporre servizi rest o applicativi Web abbiamo
bisogno di strumenti come Tomcat o GlassFish
• Rimanendo fedeli al paradigma a microservizi anche Jolie ha un
WebServer standard chiamato Leonardo
• Leonardo permette di recuperare i file necessari per la web
application (HTML, CSS )
• Leonardo permette di esporre Web Service ( Rest/Soap)
• Risultato di tutto ciò è la possibilità di utilizzare Leonardo come
espositore di servizi e delegare all’ esterno lo sviluppo delle interfacce
HTML5 o affini
Progetto Portale manutenzione
Risultati operativi
• Ha permesso a 48 utenti di operare indipendentemente da SAP
• Riduzione di licenze utilizzate
• Riduzione massiva delle problematiche della gestione utenti SAP
• Ha permesso di utilizzare le credenziali di dominio degli utenti per accedere al
portale
• Ha permesso di limitare l’area di competenza dei segnalatori guasti delimitando
le line di produzione o reparti a loro assegnati
• Ha permesso di aprire più di 3000 richieste di assistenza
• E’ previsto un aumento di richiesta ora che lo stesso meccanismo è stato
attivato anche per la manutenzione degli stabili
Progetto Hr
• La gestione personale (paghe presenze e contratti) avviene grazie INAZ un
software dedicato.
• La necessità di portare in conservazione sostituiva i LUL CU e 730 ha richiesto lo
sviluppo di un applicativo di controllo per garantire che tutti i documenti fossero
stati caricati correttamente in Arxivar ( Documentale)
• La necessità di gestire le presenze le maggiorazioni e assenze dei turnisti ha
richiesto di sviluppare un applicativo che gestisse via web l’inserimento e la
gestione delle stato autorizzativo
Controllo per archiviazione sostitutiva documenti HR
Account
Manager
DB
LDAP Service
Arxivar
Service
LeorandoA
R
X
V
A
R
HTTP(REST)
Controllo per archiviazione sostitutiva documenti HR
Impatto operativo
• Ha permesso all’operatore di caricare un file di riepilogo stampa INAZ in
maniera sicura attraverso interfaccia WEB con controllo di validità file.
• L’operatore può procedere con il caricamento di n files anche se è ancora in
corso l’elaborazione dei precedenti
• Alla fine dell’elaborazione l’operatore riceve una mail riassuntiva dei
documenti non presenti o con errori formali (numerazione inail)
• I documenti presenti sono segnati sul documentale come pronti da
archiviare
Gestione timbrature e turni
Account
Manager
DB
LDAP Service
DipendentiService
Leonardo
TimbratureService
DB
timbrature
ESB
SchedulerService
HTTP(REST)
INAZ
Gestione timbrature e turni
Output operativo sperato ( GoLive Gen 17)
• Eliminazione di file excel per gestire timbrature e turni
• Problemi di versione file corrotti autorizzazioni cartelle ecc
• Problemi di sovrascrittura e di visibilità dei dati contenuti
• Possibilità di definire ruoli e funzioni del flusso approvativo delle presenze
• Possibilità di limitare la visibilità di aree definendoli come proprietà dell’
utente
• Possibilità di modificare il flusso operativo d’approvazione in maniera
rapida quasi a livello di customizzazione
Passaggio dall’autogestione al deploy ordinato
Jolie Enterprise
JPanel
CloudNode
CloudNode
Jolie Enterprise
Risultati operativi
• Linearizzato il processo di sviluppo con gestione delle versioni in ambienti
separati ( test/ produzione)
• Parametrizzazione dei servizi attraverso interfaccia web
• Log di tutti flussi con possibilità di ricerca dei singoli eventi per ogni
microservizio coinvolto ( 70000* record alla settimana)
• Centralizzazione della gestione dell’errore con possibilità di definire
centralmente il comportamento di compensazione
Project Pipeline
• Progetto collaboratori
• Una soluzione a microservizi per gestire linearmente l’anagrafica
collaboratori con relativi contratti
• Progetto marketing
• Gestione dei di fidelizzazione del cliente e gestione del fatturazione da
portale e-commerce
• Progetto sincronizzazione dei dati clienti in un master data db ( multipli punti
di accesso per un singolo db)
RequestResponse(TypeRequest)(TypeResponse)
Domanda2@SpeakerService

Contenu connexe

En vedette

Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...italianaSoftware
 
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaIndustria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaitalianaSoftware
 
Microservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroMicroservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroitalianaSoftware
 
A Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationA Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationIMDS2014
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai MicroservicesDaniele Mondello
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureGilt Tech Talks
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
 
Communicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptCommunicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptMax Klymyshyn
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesMartin Tajur
 
Knowledge drivenmicroservices
Knowledge drivenmicroservicesKnowledge drivenmicroservices
Knowledge drivenmicroservicesMaciej Swiderski
 
Embedding Java code in a Jolie Service
Embedding Java code in a Jolie ServiceEmbedding Java code in a Jolie Service
Embedding Java code in a Jolie ServiceJolieLang
 
Running Javascript as a microservice inside of Jolie
Running Javascript as a microservice inside of JolieRunning Javascript as a microservice inside of Jolie
Running Javascript as a microservice inside of JolieJolieLang
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservicekgshukla
 
Vision of a microservice revolution
Vision of a microservice revolutionVision of a microservice revolution
Vision of a microservice revolutionJolieLang
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A ChallengeAdrian Cockcroft
 
Symfony in microservice architecture
Symfony in microservice architectureSymfony in microservice architecture
Symfony in microservice architectureDaniele D'Angeli
 

En vedette (20)

Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...
 
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaIndustria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
 
Microservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroMicroservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuro
 
A Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationA Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic Adaptation
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai Microservices
 
Git in 5 minuti
Git in 5 minutiGit in 5 minuti
Git in 5 minuti
 
About Microservices
About MicroservicesAbout Microservices
About Microservices
 
Road to Microservices
Road to MicroservicesRoad to Microservices
Road to Microservices
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architecture
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
 
Communicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptCommunicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScript
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architectures
 
Knowledge drivenmicroservices
Knowledge drivenmicroservicesKnowledge drivenmicroservices
Knowledge drivenmicroservices
 
Embedding Java code in a Jolie Service
Embedding Java code in a Jolie ServiceEmbedding Java code in a Jolie Service
Embedding Java code in a Jolie Service
 
Running Javascript as a microservice inside of Jolie
Running Javascript as a microservice inside of JolieRunning Javascript as a microservice inside of Jolie
Running Javascript as a microservice inside of Jolie
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservice
 
Vision of a microservice revolution
Vision of a microservice revolutionVision of a microservice revolution
Vision of a microservice revolution
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A Challenge
 
Symfony in microservice architecture
Symfony in microservice architectureSymfony in microservice architecture
Symfony in microservice architecture
 

Similaire à Implementazione di una soluzione a microservizi: benifici organizzativi ed economici

API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaProfesia Srl, Lynx Group
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8DotNetCampus
 
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLMySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLPar-Tec S.p.A.
 
Vincenzo cocciolo doc flow
Vincenzo cocciolo doc flowVincenzo cocciolo doc flow
Vincenzo cocciolo doc flowDOCFLOW
 
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...Babel
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
Systematica Zabbix IBM Power #reloop2
Systematica Zabbix IBM Power #reloop2 Systematica Zabbix IBM Power #reloop2
Systematica Zabbix IBM Power #reloop2 Dario Dall'Omo
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4Felice Pescatore
 
Mitech ecm 2013
Mitech ecm 2013Mitech ecm 2013
Mitech ecm 2013Mitech Srl
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Andrea Marchetti
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Andrea Marchetti
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Andrea Dottor
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...DrupalDay
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...bmeme
 

Similaire à Implementazione di una soluzione a microservizi: benifici organizzativi ed economici (20)

PMS Modernizzazione_5250
PMS Modernizzazione_5250PMS Modernizzazione_5250
PMS Modernizzazione_5250
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8
 
Erlug
ErlugErlug
Erlug
 
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLMySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Vincenzo cocciolo doc flow
Vincenzo cocciolo doc flowVincenzo cocciolo doc flow
Vincenzo cocciolo doc flow
 
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...
Dalla virtualizzazione al private cloud: Il Patronato INCA rinnova la fiducia...
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Systematica Zabbix IBM Power #reloop2
Systematica Zabbix IBM Power #reloop2 Systematica Zabbix IBM Power #reloop2
Systematica Zabbix IBM Power #reloop2
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4
 
Mitech ecm 2013
Mitech ecm 2013Mitech ecm 2013
Mitech ecm 2013
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
 

Implementazione di una soluzione a microservizi: benifici organizzativi ed economici

  • 1. Implementazione di una soluzione a microservizi: benefici organizzativi ed economici Balint Maschio( Monrif ) MoM 2016 Meeting on Microservices
  • 2. Cosa devo aspettarmi da questa presentazione? • Cosa vedrò • Strutture informatiche generali nel mondo dell’editoria • Processi specifici in Monrif • Problemi e soluzioni adottate • Impatti e vantaggi delle soluzioni adottate • Tools e metodologie per lo sviluppo • Pipeline e progetti futuri • Cosa non vedrò • Codice di nessun tipo ( Jolie o altro ) • Sofismi software • Strutture dati o diagrammi di DB
  • 3. Strutture informatiche generali nel mondo dell’editoria • Anche per un prodotto a «bassa» tecnologia c’è bisogno di una azienda ad alta densità tecnologica. • Il reparto IT è coinvolto in tutti gli aspetti della vita di una azienda editoriale • Aree di competenza dell’ IT • Software per la produzione del giornale • Software per la distribuzione del giornale • Software per la gestione amministrativa • Software per gestione dei clienti/collaboratori • Software per la gestione delle versioni on-line
  • 4. Processi specifici in Monrif • Anche in Monrif sono presenti molti dei gruppi software della precedente slide • Software per la produzione del giornale • Hermes 11 • Software per la distribuzione del giornale • SDQ • Software per la gestione amministrativa • SAP • Software per gestione dei collaboratori • Bordero /Portale Collaboratori • Software gestione versione On-line • Polopoly • E-commerce • InEdicola Hermes11/Polopoly SDQ Inaz Bordero Sap InEdicola Giornale on-line
  • 5. Monrif ed i microservizi La necessità di procedere ad una razionalizzazione dei processi in ottica microservizi è stata evidenziata circa a meta del 2015 ragionando in questi termini  Accesso ai dati dei diversi software in maniera rapida ed standardizzata  Linearizzazione dei processi di scambio dati unificando sotto un’unica tecnologia gli scambi dei dati  Eliminazione per quanto possibile di processi asincroni o che coinvolgono manipolazione di files di scambio
  • 6. Monrif e Jolie Una relazione che è partita piano ma che sta crescendo:  Jolie entra in azienda alla fine del 2014 come un prodotto specifico di connessione tra SAP e Arxivar ( JSap Italiana Software)  Luglio 2015 Jolie viene messo in tecnological evaluation con altre tecnologie tra cui Talend e vince la sfida  Ottobre 2015 La presenza di Jolie in azienda viene messa in discussione a causa di divergenze con il fornitore Arxivar ma al subentro del nuovo fornitore (Horsa) la validità della soluzione Jolie viene confermata
  • 7. Monrif e Jolie  Fine 2015: Primo progetto Jolie sviluppato interamente in Monrif che comprende l’integrazione con SAP ed un flusso di gestione della manutenzione impianti.  Inizio 2016: Monrif prosegue l’investimento su Jolie acquistando da ItalianaSoftware la piattaforma Jolie Enterprise e formando all’interno 3 risorse ( corso di 3 giorni)  Primavera 2016: Ampliamento del progetto Arxivar con maggiori funzionalità  Estate 2016 : Progetti in parallelo che coinvolgono  Gestione Risorse  Gestione Collaboratori  Ampliamento del progetto Manutenzione  Marketing  Fine 2016: Di fronte all’aumento delle implementazioni Jolie e dell’espansione della infrastruttura, Monrif acquista da Italiana Software un ulteriore licenza per JCloud
  • 8. Perché JOLIE e no Talend • Talend è sicuramente un ottimo prodotto con molti punti forza ma alcuni punti che non lo rendono cosi adatto ai microservizi • Necessaria la conoscenza di un framework complesso • Necessaria una infrastruttura considerevole con la relativa gestione • JOLIE dal suo canto • Non è un framework ma un linguaggio • Non richiede particolari infrastrutture o containers • Ha un vero paradigma a microservizi.
  • 9. Classi di microservizi (come li vediamo in Monrif) • Classi di microservizi • Di interfaccia di dato • Quei microservizi che interfacciano una base dati esponendo operazioni CRUD per una o più tabelle o espongono operazioni di interfacciamento con views o stored procedures (Rosso) • Di interfaccia funzionale • Quei microservizi che espongono operazioni per integrare software esterni attraverso interfacce ben definite o attraverso chiamate in sequenza agli stessi (Giallo) • Di orchestazione • Quei microservizi che implementano flussi aziendali orchestrando le operazioni esposte da altri servizi Jolie (Verde)
  • 10. Progetto di integrazione Arxivar (Documentale) RFC Server Workflow Mapper Arxivar Service SAP RFC Client A R X V A R ArchiveLink Connettore Cubo File Importar Recovery Service HTTP SOAP Document Updater HTTP
  • 11. Che carichi può supportare Lettura Singolo Documento Scrittura Singolo documento Aggiornamento Stato Documento Numero di doumenti al mese ArchiveLink 1 1 500* RFC Server 1 1800* Workflow 1 1 Mapper 1 RFC Client 2 2 Document Updater 1 500* Arxivar Service 1 (4) 1(6) Cubo Connector 1 300* File Importar 1 5000*
  • 12. Progetto di integrazione Arxivar/Upgrade  L’architettura a microservizi ha permesso di inserire nuovi microservizi con estrema facilità  Cubo Connector due giornate uomo ( con la definizione di interfaccia e test )  Test anche condotti indipendentemente dal chiamante  File Importer una 2 giornate uomo  Questo perché non devo validare il flusso a valle del chiamante perché già in uso
  • 13. Progetto Portale manutenzione • Poligrafici Editoriali : come qualsiasi azienda di produzione ha un estremo bisogno di gestire in maniera efficiente gli avvisi di manutenzione • Dopo aver concluso il progetto PM (Plant Managment in SAP) è nata l’esigenza di fornire agli addetti alla manutenzione un punto di segnalazione di facile utilizzo che potesse operare in maniera asincrona a SAP • In un secondo momento è nata la necessità di fornire uno strumento di monitoraggio della situazione degli avvisi accessibile attraverso piattaforma mobile
  • 14. Progetto Portale manutenzione RFC Server SAP RFC ClientLeorando Maintance Service Leorando Per Android Account Manager DB HTTP (REST) HTTP(REST) Maintance Workflow LDAP Service Syncronizer
  • 15. Progetto Portale manutenzione Servizio Giornate Uomo Vantaggi RFC Server 1 giornata uomo Flussi sincronizzati con sap RFC Client 2 giornate uomo ( 1 ½ ABAP) Punto di raccolta dati da SAP Maitanance Service 4 giornate uomo Servizio che gestisce le vere e proprie richieste di manutenzione Maintanance Workflow 2 giornate uomo Definizione dei flussi per la manutenzione Syncronizer 1 ½ giornata uomo Mantiene le anagrafiche sincronizzate del portale con quelle di SAP Account Manager 6 giornate uomo Servizio per definire i permessi di accesso e visibilità ( con applicazione web di supporto)
  • 16. Leonardo WebServer a microservizio • Tradizionalmente per esporre servizi rest o applicativi Web abbiamo bisogno di strumenti come Tomcat o GlassFish • Rimanendo fedeli al paradigma a microservizi anche Jolie ha un WebServer standard chiamato Leonardo • Leonardo permette di recuperare i file necessari per la web application (HTML, CSS ) • Leonardo permette di esporre Web Service ( Rest/Soap) • Risultato di tutto ciò è la possibilità di utilizzare Leonardo come espositore di servizi e delegare all’ esterno lo sviluppo delle interfacce HTML5 o affini
  • 17. Progetto Portale manutenzione Risultati operativi • Ha permesso a 48 utenti di operare indipendentemente da SAP • Riduzione di licenze utilizzate • Riduzione massiva delle problematiche della gestione utenti SAP • Ha permesso di utilizzare le credenziali di dominio degli utenti per accedere al portale • Ha permesso di limitare l’area di competenza dei segnalatori guasti delimitando le line di produzione o reparti a loro assegnati • Ha permesso di aprire più di 3000 richieste di assistenza • E’ previsto un aumento di richiesta ora che lo stesso meccanismo è stato attivato anche per la manutenzione degli stabili
  • 18. Progetto Hr • La gestione personale (paghe presenze e contratti) avviene grazie INAZ un software dedicato. • La necessità di portare in conservazione sostituiva i LUL CU e 730 ha richiesto lo sviluppo di un applicativo di controllo per garantire che tutti i documenti fossero stati caricati correttamente in Arxivar ( Documentale) • La necessità di gestire le presenze le maggiorazioni e assenze dei turnisti ha richiesto di sviluppare un applicativo che gestisse via web l’inserimento e la gestione delle stato autorizzativo
  • 19. Controllo per archiviazione sostitutiva documenti HR Account Manager DB LDAP Service Arxivar Service LeorandoA R X V A R HTTP(REST)
  • 20. Controllo per archiviazione sostitutiva documenti HR Impatto operativo • Ha permesso all’operatore di caricare un file di riepilogo stampa INAZ in maniera sicura attraverso interfaccia WEB con controllo di validità file. • L’operatore può procedere con il caricamento di n files anche se è ancora in corso l’elaborazione dei precedenti • Alla fine dell’elaborazione l’operatore riceve una mail riassuntiva dei documenti non presenti o con errori formali (numerazione inail) • I documenti presenti sono segnati sul documentale come pronti da archiviare
  • 21. Gestione timbrature e turni Account Manager DB LDAP Service DipendentiService Leonardo TimbratureService DB timbrature ESB SchedulerService HTTP(REST) INAZ
  • 22. Gestione timbrature e turni Output operativo sperato ( GoLive Gen 17) • Eliminazione di file excel per gestire timbrature e turni • Problemi di versione file corrotti autorizzazioni cartelle ecc • Problemi di sovrascrittura e di visibilità dei dati contenuti • Possibilità di definire ruoli e funzioni del flusso approvativo delle presenze • Possibilità di limitare la visibilità di aree definendoli come proprietà dell’ utente • Possibilità di modificare il flusso operativo d’approvazione in maniera rapida quasi a livello di customizzazione
  • 23. Passaggio dall’autogestione al deploy ordinato Jolie Enterprise JPanel CloudNode CloudNode
  • 24. Jolie Enterprise Risultati operativi • Linearizzato il processo di sviluppo con gestione delle versioni in ambienti separati ( test/ produzione) • Parametrizzazione dei servizi attraverso interfaccia web • Log di tutti flussi con possibilità di ricerca dei singoli eventi per ogni microservizio coinvolto ( 70000* record alla settimana) • Centralizzazione della gestione dell’errore con possibilità di definire centralmente il comportamento di compensazione
  • 25. Project Pipeline • Progetto collaboratori • Una soluzione a microservizi per gestire linearmente l’anagrafica collaboratori con relativi contratti • Progetto marketing • Gestione dei di fidelizzazione del cliente e gestione del fatturazione da portale e-commerce • Progetto sincronizzazione dei dati clienti in un master data db ( multipli punti di accesso per un singolo db)