larus 10th - rampado omar
TRANSCRIPT
The Right Technology
Larus da sempre guarda con attenzione alle novità del mondo Open Source e cerca di far
progredire costantemente i progetti, aggiornandone le tecnologie, scegliendo soluzioni al passo con i tempi ma sempre contestualizzate.
Una tecnologia è buona se applicata quando e dove serve
AM vs SAM
Sia nel caso di mantenimento di sistemi legacy (Application Maintenance) o evoluzione di
software nuovi, il nostro approccio punta ad andare oltre la sola gestione dei problemi
AM vs SAM
La nostra proposta è lo Structured Application Maintenance, ossia il continuo miglioramento del
software durante il periodo di manutenzione, riducendone il debito tecnico e ottimizzando il
processo di delivery
AM vs SAM
Durante lo sviluppo delle funzionalità o correzione di bug, si deve continuare a migliorare il software.
Ci sono due aspetti su cui puntare:• Clean code
• Improve Process
CLEAN CODE“Always checks a module in, cleaner than when
you checked it out”
The faster code is the easier one!
Requirements
Solutions Benefits
● Mantenimento di una grande webapp
● Introduzione di framework come Struts e Hibernate legati da pattern standard
● Divisione in sottoprogetti e automatizzazione del building e deploy con ANT script
● Incremento della velocità di sviluppo e maggiore precisione nelle stime
● Riduzione degli errori nelle fasi di rilascio, semplificazione del processo.
PLT
Scope: TelecomunicationUse Case: SAM
Improve Process
Editors, IDE, Plugins, Scripts, Repository, WebServer, Profiling Tools, Database Tool &
Migration, Test Suite, Code Analyzer, ecc... ogni aspetto della programmazione può essere
migliorato e automatizzato. Ciò porta a spendere il proprio tempo solo a scrivere del buon codice,
riducendo sprechi e tempi morti
Fast Delivery
Il tempo del team deve essere usato per progredire. Le operazioni ripetitive vanno ridotte
al minimo e automatizzate. Siamo passati da script di build unix ad ANT, e poi a MAVEN e ora
automatizziamo il tutto con strumenti di Continuous Integration come Jenkins.
Crediamo che per fare un'installazione un paio di click siano sufficienti!
Integration
La comunicazione è importante. Anche tra i software. Grazie a framework come Spring Integration è possibile collegare il proprio
programma ad un gran numero di protocolli con il minimo sforzo, così da potersi concentrare
unicamente sul business.
Requirements
Solutions Benefits
● Flat File● Rigorosi standard di output● Tempi strettissimi ● Performance critical
● Maven● Spring Batch ● Jasper Report
● Start-up in poche ore● Features di ripartenza,
parallelismo per garantire le performace
● Standard di output pienamente rispettati
Scope: Information TecnologyUse Case: Performance
Avvisi di pagamento
Requirements
Solutions Benefits
● Input da sistemi legacy● Interfaccia web based● Output su WS* protetto
● JAXB● Spring MVC & Apache Tiles ● Spring WS & Security● JQuery
Scope: EngineeringUse Case: B2G
ECS
● Rapida integrazione con l'input legacy
● Interfaccia utente flessibile● Collegamento verso il sistema
di output subito disponibile
Test
La qualità del codice passa per i test. I sorgenti, la progettazione e l'architettura devono essere
realizzati per poter essere collaudabili. In questo modo si riducono i bug in fase di sviluppo e si
garantiscono gli interventi si manutenzione futuri.
Requirements
Solutions Benefits
● Riduzione del debito tecnico● Business Critical
● Analisi del codice con Sonar● Junit per i test
● Controllo oggettivo da parte della proprietà sulla qualità del codice
● Realizzazione incrementale di suite di test di non regressione
● Riduzione dei bug in produzione
INCONTRA
Scope: TelecomunicationUse Case: Test
ArchitectureSistemi moderni devono avere architetture
moderne.
La Service Oriented Architecture propone soluzioni che permettono di riusare, integrare e
scalare le varie parti di cui è composto un sistema informativo.
Requirements
Solutions Benefits
● Presenza di prodotti e codice proprietario
● Piano di migrazione verso tecnologie open
● Mantenimento dell'interfaccia utente
● Realizzazione step by step di servizi di business con interfaccia WS* per il backend
● Sostituzione del protocollo proprietario con adapter WS*
● Utilizzo di tool di test per i servizi (SOAP UI)
● Aumento dalla possibilità di integrazione tra i sistemi del gruppo
● Snellimento dell'infrastruttura e standardizzazione grazie al protocollo HTTP/WS*
● Codice di maggiore qualità in quanto ogni servizio è sottoposto a test individuale
Scope: RetailUse Case: SOA
Compensi Extra
Representational state transfer
Oggi vediamo nei RESTful service un'evoluzione pratica, leggera e potente della SOA.
Uno standard semplice, una rappresentazione chiara delle risorse e dei processi di business,
web oriented
Requirements
Solutions Benefits
● Sostituire l'infrastruttura legacy realizzata con prodotti MS Office
● Aumentare il controllo del processo produttivo
● Integrare il lavoro dei vari reparti
● Infrastruttura open Java/Linux/PostgreSQL
● Spring Integration per collegare le fasi di acquisizione, gestione e produzione degli ordini
● Architettura RESTful
● Riduzione dei costi di licenza e centralizzazione dei dati
● Riduzione dell'intervento manuale degli operatori
● Rapidità di sviluppo e riuso costante delle componenti anche in applicativi diversi
Scope: Services/FashionUse Case: REST
Requirements
Solutions Benefits
● Necessità di rapidi cambiamenti al software
● Semplificare l'accesso agli utenti
● Cercare velocemente le informazioni
● Jenkins per la Continuous Delivery
● Jasig Central Authentication Service
● Apache Solr come search engine
● Installazioni in 2 click● Login centralizzati ● Ricerche dei dati istantanee
e statistiche in real time sull'andamento degli ordini
Persistence
La raccolta e l'analisi dei dati è ogni giorno più importate per ogni tipo di attività. Ciò ci spinge a
ripensare alla persistenza dei dati, rendendola più varia e flessibile, grazie anche all'uso dei
database NoSQL. La cooperazione tra basi dati diverse è un tema sul quale siamo focalizzati e pensiamo potrà permettere di ottenere risultati
impensabili fino a qualche anno fa.