SOA

Una chiacchierata introduttiva a GraphQL @CodemotionIT

Siete curiosi di scoprire cosa sia GraphQL e perché sia Facebook che GitHub sembra non ne possano più fare a meno? Venerdì 10 marzo, alle 14, sarò ospite di un webinar gratuito, organizzato da Codemotion, durante il quale faremo una chiacchierata introduttiva a GraphQL, ponendo l’accento sulla interessante relazione che ci può essere con un’architettura SOA. GraphQL and Microservice Architecture Come possiamo progettare la comunicazione tra UI e back-end quando quest'ultimo è composto da decine (se non di più) di Microservices? Abbiamo la giusta separazione e autonomia lato back-end, ma tutto alla...

posted @ Monday, March 6, 2017 7:26 AM | Feedback (0)

Non date nomi prematuramente, sempre per quella storia del linguaggio

Fate un favore a voi stessi, non fate la corsa al nome (parafrasando la corsa all’oro). Torno sull’argomento importanza del linguaggio perché mi sto rendendo conto che noi tecnici siamo governati dalla frenesia del mettere in ordine, dalla necessità di trovare nel più breve tempo possibile il posto giusto per le cose. Questa stessa frenesia ci spinge, quando modelliamo, a dare molto rapidamente un nome alle cose anche se spesso non abbiamo ancora compreso a fondo. Mai errore fu più grave Modellare, o per dirla in termini Domain Driven Design identificare i boundary, è l’attività più difficile...

posted @ Wednesday, February 1, 2017 10:04 AM | Feedback (0)

Il linguaggio è importante.

Alessandro Melchiori da qualche settimana millanta che avrebbe scritto dei post inerenti all’argomento Services UI Composition, ecco millanta :-D Forza Ale pubblica qualcosa! Per cercare di smuovere ancora un po’ le acque sto preparando una nuova sessione che al momento è così definita: Tutti i nostri aggregati sono sbagliati Inizia sempre tutto bene, il requisito è semplice e l'implementazione procede senza intoppi. Poi i requisiti aumentano e ci ritroviamo con una strana sensazione allo stomaco e con la necessità di introdurre alchimie tecnologiche che non ci piacciono, ma non sappiamo...

posted @ Friday, January 6, 2017 10:28 AM | Feedback (0)

Services UI Composition: la ricerca, maledetti utenti

Una delle cose su cui ho stressato molto a Codemotion durante il workshop “Microservices development deep dive” e forse ancora di più nella maratona di 50 minuti all’evento KLab è quanto sia rischioso, in un sistema distribuito, condividere dati: All’aumentare della condivisione perdiamo facilità di evoluzione. La ricerca sembra essere uno di quegli argomenti/requisiti che può essere risolto solo ed esclusivamente con un calderone unico in buttare dentro tutto ciò che è cercabile. Ma è veramente così? Quando Google arrivò ed educò gli utenti che una ricerca poteva essere semplice e non...

posted @ Friday, December 9, 2016 5:05 PM | Feedback (0)

Services UI Composition: le scritture. In anteprima con @klabcommunity

Ieri a WPC 2016 ho avuto il piacere di parlare di Services UI Composition, tante domande e una bella discussione a seguire. Ovviamente la domanda più gettonata era: OK, tutto bello…ma quando devo scrivere? L’utente in moltissimi casi non deve solo leggere dati, ma ci deve anche interagire, manipolando le informazioni che sono “sparse”sui vari servizi. Il vero segreto non è la tecnologia ma la conoscenza profonda dei processi di business È necessario spendere tempo, tanto tempo, per comprendere a fondo come sono modellate le interazioni nella realtà, quali informazioni sono...

posted @ Wednesday, November 30, 2016 8:11 AM | Feedback (0)

Services UI Composition: IT/Ops

La domanda di Fabio mi spinge a trattare subito IT/Ops: immagina una ui che vede dal canale di lettura una projection di nome SuperOrder che è un mix di quello che server side avviene a fronte dell'evento dal canale di scrittura di OrderUpdated\Created and CustomerUpdated\Created e dalle quali viene creata una denormalizzazione che confluisce in SuperOrder tutto chiaro, il “problema” è che se scegliamo Services UI Composition come strada una projection risultato un mix tra quello che succede in servizi diversi non esiste, a meno che non ci sia uno specifico caso d’uso...

posted @ Wednesday, November 16, 2016 7:52 AM | Feedback (0)

“fat event”: cosa sono e perché crediamo ci servano

Abbiamo toccato per la prima volta il problema quando abbiamo parlato della differenza tra eventi ed eventi di dominio per tornarci, grazie a Roberto, con un approfondimento e infine per lanciare la stoccata finale: I fat event non esistono. Non abbiamo però mai detto che cosa sia un fat event. Cosa sono Un esempio vale mille parole, nel mondo Pub/Sub delineato da SOA un evento è (in pseudo codice json) una cosa del tipo: {    Id: ‘invoicePaidEvent/some-weird-unique-id’,    InvoiceId: ‘the paid...

posted @ Wednesday, October 19, 2016 10:17 AM | Feedback (6)

Services UI Composition: GraphQL

Quando abbiamo parlato di tecniche di recupero delle informazioni abbiamo introdotto il concetto di proxy. GraphQL sembra essere la soluzione di tutti i mali :-) permettendovi di fare due cose, che voglio approfondire: Implementare il concetto di “proxy” come lo abbiamo descritto liberarvi del male assoluto che rappresentato dal versioning delle API REST pubbliche Mentre il primo punto continua a farmi storce il naso, il secondo è in linea con la mia convinzione che i fat events non esistono. Appena iniziamo a parlare di scritture in un modello distribuitoci ritorneremo....

posted @ Monday, October 17, 2016 8:00 AM | Feedback (7)

Services UI Composition – materiale

In effetti mi sono dimenticato anche questo :-) Di materiale ce ne è già un po’, sparso: Microservices Workshop, esercizi: https://github.com/Particular/Workshop.Microservices, il repo ufficiale del workshop, gli esempi in quanti tali sono ridotti all’osso e per certi aspetti un po’ lontani da un progetto reale; Composite-UI-Sample: https://github.com/mauroservienti/Composite-UI-Sample, la prima bozza che ha dato inizio a tutto; Services-UI-Composition: https://github.com/mauroservienti/Services-UI-Composition, un lungo e corposo lavoro di evoluzione della prima bozza finalizzato a costruire un esempio molto real world; Post in questa serie: SOA service...

posted @ Wednesday, September 28, 2016 9:35 AM | Feedback (0)

"Microservices development deep dive" @CodemotionIT in Milan: Saga

Volete capire come progettare e gestire i cosiddetti “long running busness process”  in un mondo basato su Microservices in maniera affidabile ed efficace? Workshop: Microservices development deep dive. Il programma, parte 3: Saga Il workshop è diviso in 4 macro-blocchi, ogni blocco corredato da esempi ed esercizi. La terza parte evolve dalla sessione precedente introducendo il concetto di “long running business process” o se vogliamo, in maniera più volgare, workflow; affronteremo quindi, dal punto di vista architetturale prima e tecnologico poi, concetti come Saga, Orchestrator e Workflow al fine di comprendere a fondo come coordinare...

posted @ Tuesday, September 27, 2016 9:13 AM | Feedback (0)

Full SOA Archive