Microservices
È tanto che non parliamo di Services Composition e mi sono appena reso conto che abbiamo lasciato il discorso in sospeso. L’ultima volta che abbiamo toccato l’argomento abbiamo delineato cosa succede quando componiamo informazioni che provengono da più servizi e lo scopo è visualizzare un singolo elemento, come ad esempio 1 prodotto. Cosa succede se dobbiamo visualizzare una lista? Sia nello screenshot di cui sopra, che nel seguente, stiamo visualizzando un insieme di elementi, tutti a loro volta frutto di un processo di composizione. Salta probabilmente subito all’occhio il potenziale problema in cui possiamo...
Ci siamo lasciati a questo punto, con una overview ancora architetturale di come funzionano le cose: Il commento di Raffaele mi da lo spunto per entrare un minimo nel tecnico: Back-end Facciamo un esempio con il mero scopo di capire come potrebbero funzionare nella realtà le cose. Marketing è un nostro sistema interno scritto in .NET che espone un’API tramite WebAPI. Sales è un’istanza di SalesForce che paghiamo profumatamente. Shipping sono i servizi del/i corriere/i espresso/i che ci forniscono servizi e li possiamo interrogare sempre tramite un’API basata su HTTP. Warehouse è...
Dopo aver introdotto ViewModel Composition e prima di parlare di UI Composition, lasciatemi approfondire un attimo la parte di composizione perché è propedeutica a quando inizieremo a parlare di scritture. La volta precedente ci siamo lasciati qui: Dicendo che ViewModel Composition è il risultato del lavoro prodotto da IT/Ops nell’orchestrare il dialogo tra client e servizi. OK, ma come? Quello che succede può schematizzato nel seguente modo Tutto inizia con il client interessato ad una risorsa che possiamo identificare con un URL, come ad esempio “/orders/1” dove 1 nel diagramma di cui...
Fino a questo momento non abbiamo fatto distinzioni tra ViewModel Composition e UI Composition, diciamo che in maniera generica abbiamo trattato di Services Composition. Abbiamo sempre usato un diagramma tipo il seguente senza mai addentrarci nei meandri di cosa succede nel client, a livello di UI. Diventa abbastanza ovvio che ci addentriamo nei meandri dello stack tecnologico, cosa che sappiamo non mi interessa, e che quindi per ora non farò. I concetti però sono la prima cosa che dobbiamo digerire. IT/Ops Nel mondo servizi/SOA si tende a etichettare con IT/Ops tutto ciò che è...
Abbiamo parlato a lungo su questo blog di Services UI Composition, in calce a questo post il dettaglio delle “puntate”. Ad inizio maggio a Bristol ho avuto il piacere di parlare proprio di questo argomento presentando il lavoro (lungo) fatto per passare da una primissima ed embrionale versione ad una finalmente solida ed utilizzabile. La prima versione era nata a supporto di un post scritto sul blog aziendale: The secret of better UI composition. La seconda versione Un secondo passaggio nasce invece come primo passo verso qualcosa di più solido, e avrà come primo scopo quello di...
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...
L’edizione romana del workshop “Microservices development deep dive” punta a rivoluzionare il vostro modo di pensare ad un aggregato, introducendo il concetto di componente autonomo. Una delle cose che affronteremo nel dettaglio, con anche tante demo, è proprio cosa significa modellazione di dominio quando si parla di servizi e componenti per SOA. Se siete quindi curiosi di capire perché come abbiamo immaginato gli aggregati fino ad oggi non è detto che sia il sistema migliore questo è il workshop che fa per voi :-) Se invece è la prima volta che sentite parlare di questo workshop, qui di...
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...
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...
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...
Full Microservices Archive