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.

 

Sessioni

09.00 - 09.30

XE
Intro

09.30 - 10.30

Paolo Galfione
(Track 1) Hai un'applicazione legacy e ti sei accorto che il mondo è andato avanti? La nostra esperienza.

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.


10.30 - 10.50
Coffee Break

10.50 - 11.50

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.


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.


12.00 - 13.00

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.


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.


13.00 - 14.10
Pranzo

14.10 - 15.10

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

Stateless all the thing, they say. In the last few years we’ve been brainwashed: design stateless systems, otherwise they cannot scale, they cannot be highly available, and they are hard to maintain and evolve. In a nutshell stateful is bad. However complex software systems need to do collaborative processing, that is stateful by definition. Stateless myth busted! Collaborative domains deal with long business transactions and need to interact with distributed resources. The traditional distributed transactions approach, even if tempting, is a time bomb. This is when Sagas come into play. Sagas allow to model complex collaborative domains without the need for distributed transactions and/or orchestration across multiple resources. Join Mauro on a journey that aims to disclose what sagas are, how they can be used to model a complex collaborative domain, and what role they play when it comes to designing systems with failure and eventual consistency in mind. (It’s all right, I know we’re you’ve been)


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.


15.20 - 16.20

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".


15.20 - 16.20

Gianluca Hotz
(Track 2) SQL Server Extended Events

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.


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.