One Day - Enterprise application

sabato 25 maggio 2019

Il nostro main event del 2019, in continuità con la precedente edizione, sarà focalizzato sullo sviluppo di applicazioni Enterprise. Non si parlerà solo di codice, ma anche di metodologie, strumenti per l'organizzazione del team e soprattutto condivideremo esperienze.

L'evento si svilupperà in un'intera giornata. Si inizierà con una veloce sessione di benvenuto per poi dividersi in due track parallele per un totale di 10 sessioni.
Si chiuderà con una sessione che coinvolgerà tutti gli speaker al termine della quale verranno estratti alcuni gadget per i partecipanti.

La partecipazione alla conferenza è (come al solito) gratuita e, grazie al supporto del nostro sponsor, verrà offerto a tutti i partecipanti un coffee break a metà mattina e il pranzo.

Visualizza / scarica l'agenda della giornata

Preview Agenda XeOneDay

Di seguito i dettagli delle sessioni.

 

Sessioni

09:00 - 09:30

XE
Intro

09:30 - 10:30

Ivano Modenin & Paolo Galfione
(Track 1) From Legacy to MAD - Come passare dallo sviluppo Legacy a un Modern Application Development senza impazzire

E' molto probabile che aziende nate da almeno 10 anni abbiano delle applicazioni legacy ancora operative.

Per chi ne fa il proprio core business, la cosa rischia di diventare un dramma se non si trova una via graduale per passare dal vecchio modo di lavorare a quello nuovo.

Non esiste un percorso sicuro e valido per tutti, ma seguire una strada già tracciata può aiutare a raggiungere più facilmente la propria meta.

Vi raccontiamo la nostra esperienza e di come abbiamo trasformato la nostra applicazione legacy in una moderna e agile enterprise application.

Metodologie, strumenti, passi falsi e successi.

Scarica presentazione e demo

 


09:30 - 10:30

Andrea Dottor & Marco Bortolin
(Track 2) Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente

Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.

Scarica presentazione e demo (link nella presentazione)


10:30 - 10:50
Coffee Break

10:50 - 11:50

Gian Maria Ricci
(Track 1) Gestire i rilasci automatici con Azure DevOps

In questa sessione verrà mostrato come gestire i rilasci con Azure Devops, mostrando il percorso che, partendo dal codice, passando per le build arriva alle fasi di rilascio con la gestione delle pipeline di rilascio. Vedremo quindi come si può automatizzare il deploy nei vari ambienti sia del codice applicativo ma anche delle modifiche di servizi accessori, come database.

Scarica presentazione e demo


10:50 - 11:50

Mirco Vanini
(Track 2) Modernizing Enterprise Apps

Quale futuro si prospetta per le tue applicazioni WPF e Windows Form? Come posso utilizzare le nuove funzionalità di Windows 10 in questa tipologia di applicazioni ?
In questa sessione vedremmo come .NET e Visual Studio semplificano la modernizzazione graduale delle applicazioni esistenti con le funzionalità di Windows 10. Verrà illustrato come utilizzare UWP XAML Islands per migliorare le applicazioni WPF e Windows Form con funzionalità moderne, come utilizzare le nuove funzionalità di containerizzazione di MSIX e come utilizzare .NET Core 3 nelle applicazioni desktop.

Scarica presentazione e demo


12:00 - 13:00

Lorenzo Barbieri
(Track 1) Azure Security, come rendere sicura una soluzione ibrida PaaS/IaaS

E’ importante sapere anche le applicazioni più solide portate su Azure possano essere soggette a problemi. Vedremo quali sono le strade per mantenere una soluzione disponibile, come accorgersi rapidamente dei problemi e soprattutto come porvi rimedio. In termini di architetture cloud, fondamentalmente, valuteremo gli approcci di “Design for failure” e “fault injection”, provando ad ottenere il massimo risultato con il minimo uso di "sforzo".

Presentazione disponibile su SlideShare


12:00 - 13:00

Daniele Morosinotto
(Track 2) Frontend solutions for Enterprise App

Quando pensiamo ad una Enterprise application moderna subito ci vengono in mente vari Pattern per organizzare al meglio il nostro codice nel Backend (lavorare a layer, CQRS fino ad arrivare ai micro-servizi) ma poi quando si tratta di scrivere il Frontend come ci comportiamo? Oggi va di moda fare SPA (Single Page Application) ma come possiamo strutturarle?
In questa sessione cercherò di dare delle possibili risposte/suggerimenti su come affrontare questo problema ed organizzare al meglio anche il codice del Frontend di una Enterprise Application.

Presentazione e codice disponibili su Github


13:00 - 14:10
Pranzo

14:10 - 15:10

Mauro Servienti
(Track 1) Welcome to the (state) machine

Ultimamente ci hanno stressato come non mai che stateful è il male. Tutto deve essere stateless, altrimenti non scala, non può essere altamente disponibile, ed è complesso da manutenere ed evolvere. Nonostante questo i sistemi software complessi, essendo basati su processi collaborativi, sono per natura stateful. I processi collaborativi, noti anche come long running business transactions, necessitano di interagiscono con risorse distribuite. L'approccio tradizionale basato su transazioni distribuite, anche se allettante, è una bomba pronta ad esplodere.

Pane quotidiano per le Saghe. Le Saghe consentono di modellare sistemi complessi senza la necessità di transazioni distribuite e coordinamento esterno. Vedremo cosa sono le Saghe, come possono essere usate per modellare domini complessi, e che ruolo giocano quando progettiamo sistemi basati sui concetti di "design for failures" e "eventual consistency"

(It’s all right, I know where you’ve been)

Presentazione e codice (link nelle slide) disponibili su SlideShare

 


14:10 - 15:10

Gianluca Sartori
(Track 2) SQL Server Infernals: Worst Practices in Action

Ammettiamolo: le Best Practice sono troppe per conoscerle tutte e scegliere quali applicare per prime. Il tuo telefono suona di continuo? I tuoi utenti chiedono quel "reportino veolce" che invece ti occupa per ore e continuano a cambiarlo ogni volta che pensi sia finito? Hai mai pensato che in tempi difficili almeno evitare le Worst Practice potrebbe essere un buon punto di partenza e che puoi lasciare il lavoro di fino per un futuro migliore? Se la risposta è sì, allora questa sessione è per te: scopriremo insieme come non torturare un'istanza di SQL Server e vedremo come evitare di fare scelte che nel lungo periodo potrebbero rivelarsi meno brillanti idi quanto non sembrassero all'inizio.

Scarica presentazione


15:20 - 16:20

Andrea Boschin
(Track 1) SCRUM: Il metodo empirico come pratica di sviluppo per massimizzare risultati e qualità

In una realtà quotidiana in cui le tecnologie e i requisiti di sviluppo sono sempre meno definiti e chiari, il processo di sviluppo agile e in particolare il framework SCRUM si rivelano l’unica soluzione possibile per garantire la produzione di software aderente alle esigenze reali del cliente e al tempo stesso sfruttare le tecnologie più all’avanguardia senza perdere di vista la qualità. In questa sessione analizzeremo le motivazioni che ci dovrebbero spingere ad abbracciare il framework SCRUM e, con esso l’empirismo guidato da precise regole di ingaggio. Affronteremo così i temi più tecnici dell’implementazione del framework, degli eventi che lo caratterizzano, il backlog e il concetto di “done” per poi completare il quadro illustrando come sia possibile fare forecasting in un processo agile.

Scarica presentazione


15:20 - 16:20

Gianluca Hotz
(Track 2) SQL Server Workload Profiling

Analisi e tuning delle prestazioni di un’applicazione sono temi difficili da affrontare dovendo prendere in considerazione una moltitudine di componenti complessi che richiedono un approccio interdisciplinare. In questa sessione faremo prima una panoramica degli strumenti e delle tecniche di analisi che riguardano SQL Server, spesso uno dei componenti principali di un’applicazione, per entrare poi nel dettaglio pratico di utilizzo degli Extended Events, una funzionalità specifica per la raccolta di eventi utili sia al troubleshooting, che al tuning delle prestazioni.

Presentazione e codice disponibili su Github


16:30 - 17:30

XE
e(o)rrori indimenticabili

Abbiamo chiesto a tutti i nostri speaker di raccontarci un episodio indimenticabile... ne sentiremo delle belle.