DotNetCampania Workshop: SOA, Messaggi e Microservices

Le moderne applicazioni software necessitano di architetture avanzate per poter garantire requisiti quali
la scalabilità, modularità, manutenibilità. Soprattutto la richiesta della scalabilità ha portato all'idea di applicazioni che utilizzino un insieme di "microservizi" pubblicabili in maniera indipendente ma in grado di comunicare tra loro tramite scambio di messaggi.

L'associazione culturale DotNetCampania ha organizzato per il 16 Ottobre 2015 a Napoli presso ReWork (
isola E2, Centro Direzionale) una giornata completamente gratuita dedicata ai Messaggi e ai Microservizi nella quale speaker di rilievo internazionale ci introdurranno a questa nuova architettura.

Si partirà con una rivisitazione dei concetti base di SOA e delle trappole da evitare in un'architettura orientata ai servizi. Nel secondo talk, Alessandro Melchiori ci illustrerà un caso reale di applicazione finanziaria in cui il crescere della complessità ha spinto al passaggio da un approccio classico CRUD verso uno orientato ai messaggi, sfruttando i principi di  Domain Driven Design, CQRS ed Event Sourcing. Toccherà, poi, a Mauro Servienti introdurci ad un'architettura basata su Messaggi ed Enterprise Service Bus.

Dopo pranzo, verrà affrontata una possibile soluzione al problema della distribuzione dei microservizi: i container e i loro sistemi di gestione (Docker). Vedremo, poi, come cambia la progettazione di una user interface che dipenda da un insieme di microservizi autonomi. E' un problema? E se lo è, come possiamo affrontarlo?

La chiusura toccherà al nostro socio Emanuele Garofalo che ci parlerà di un'altra applicazione 
reale basata su DDD, CQRS e Service Bus.

Accorrete numerosi e prestate attenzione agli annunci che verranno fatti riguardanti le future attività di DotNetCampania!


LA PARTECIPAZIONE ALL’EVENTO E’ GRATUITA MA E’ NECESSARIO REGISTRARSI
https://www.eventbrite.com/e/dotnetcampania-workshop-soa-messaggi-e-microservices-tickets-18777674530

 

Orario: 09:00 - 09:30

Registrazione

Orario: 09:30 - 09:45

Keynote

Orario: 09:45 - 10:45

Introduzione a SOA

SOA è sulla bocca di tutti da tanto, forse troppo tempo, e nel tempo ognuno ha implementato, o creduto di implementare SOA nel modo giusto. Obiettivo di questa sessione è ripartire dalle basi cercando di capire a fondo quali sono i concetti fondanti di SOA, perché e quando una Service Oriented Architecture è essere fondamentale ma soprattutto quali sono le trappole architetturali che dobbiamo evitare il più possibile.

Speaker Mauro Servienti Alessandro Melchiori

Orario: 10:45 - 11:45

FROM CRUD to message: a true story

Quando un progetto inizia tutto sembra semplice: dai requisiti all'implementazione. E quindi lo sviluppo inizia nel modo piu' semplice possibile: ovvero gestendo il "mondo" con operazioni CRUD. Ma cosa succede quando il business cresce? O quando emergono complessita' nascoste? Questo talk e' la storia vera di un grosso progetto in ambito finanziario e di come abbiamo migrato da un approccio CRUD-oriented verso un mondo di messaggi, sfruttando i principi di Domain Driven Design, CQRS ed Event Sourcing, trasformando un sistema monolitico in un sistema geograficamente distribuito, utilizzando, tra le altre cose, MongoDB e RabbitMQ.

Speaker Alessandro Melchiori

Orario: 11:45 - 12:00

Coffee Break

Orario: 12:00 - 13:00

SOA e un'architettura basata su messaggi

Una delle possibili implementazioni di un'architettura Service Oriented (SOA) è basata su messaggi e enterprise service bus, obiettivo di questa sessione è analizzare in dettaglio che cosa sia un'architettura basata su messaggi, perché sia una buona strategia per implementare SOA quali sono i vantaggi e gli eventuali problemi

Speaker Mauro Servienti

Orario: 13:00 - 14:15

Pausa Pranzo

Orario: 14:15 - 15:15

Thinking in containers: Azure e Docker

Un'architettura a microservices ha il grosso vantaggio di decomporre la complessita' di un sistema in piccole porzioni funzionalmente autonome, che cooperando tra di loro concorrono alla funzionalita' complessiva. "Sposare" un'architettura del genere nasconde pero' delle insidie che noi dev, tendenzionalmente, sottovalutiamo. Una tra tutte la fase di deploy: comporre, coordinare e far interagire al meglio le varie parti del nostro sistema non e' cosa da poco. In questo scenario i container (e Docker per la loro gestione) potrebbero diventare presto i nostri migliori amici.

Speaker Alessandro Melchiori

Orario: 15:15 - 16:15

Service UI Composition

Una volta che abbiamo la nostra implementazione di SOA ci scontriamo molto rapidamente con un interessante problema, tutta l'infrastruttura dei servizi è autonoma e disaccoppiata peccato che la UI sia inevitabilmente conscia di ogni servizio diventando responsabile di accoppiamento e assenza di autonomia. In questa sessione cercheremo di capire se quello che stiamo affrontando sia un problema e se lo è cosa possiamo fare per risolverlo.

Speaker Mauro Servienti

Orario: 16:15 - 16:30

Coffee Break

Orario: 16:30 - 17:30

F24ZZ: DDD, CQRS e Service Bus in produzione scalabili e pronti al cambiamento

Capita all'inizio di un progetto di non conoscerne a pieno il dominio e non poterne prevedere l'evoluzione. F24 ZeroCode al primo giorno in cui è stato presentato al gruppo di lavoro non doveva essere niente di più che un contenitore di deleghe F24. Dopo il nostro primo event-storming avevamo già 4 contesti. Andando avanti nel ciclo di sviluppo le cose si sono, come spesso accade, evolute. Dietro l'idea c'era un mondo di altre opportunità da esplorare. In questa sessione vedremo come Domain Driven Design ci ha aiutato ad uscirne indenni e quali tecnologie ci hanno permesso di rispondere ai nostri requisti funzionali e non.

Speaker Emanuele Garofalo

Orario: 17:30 - 18:00

Q&A e Chiusura lavori

Speaker