Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Utile e sostenibile

505 views

Published on

Talk at Xe.Net

Published in: Technology
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Utile e sostenibile

  1. 1. utile e sostenibileLarchitettura di unapplicazione in un mondo basato su servizi: cosa fare e cosa non fare
  2. 2. Mauro ServientiMicrosoft MVP - Visual C#Qualcuno sostiene che io sia un «architetto»in realtà ci provo e basta …quindi sempre «mason»sono…che poi…c’è anche qualcuno che sostieneche gli architetti non esistono…//milestone.topics.itmauro@topics.itAppassionato di: ALM e metodologie agili Who’s Mauro?
  3. 3. Avviso ai naviganti• È un mondo «nuovo» anche per il sottoscritto – Lo stile della presentazione non la ciccia…in parte anche la ciccia :-)• Tutto quello che dirò a prescindere da come lo dirò sono un set di linee guida non la verità assoluta, linee guida che devono essere calate nel contesto del progetto; – Insomma…non sono il dottore :-P• Attenti al simbolino del «take away»:
  4. 4. • Verità e Assiomi (…pretenzioso l’amico);• Perché mai un servizio?• A-to-mi-co;• Il bagaglio…per un viaggio;• …un viaggio specifico; Agenda…? :-)
  5. 5. • i servizi si usano se servono non perché fa figo; – Questa è molto minimal…;• l’atomicità deve essere garantita sempre, magari non si può parlare di transazioni, ma l’atomicità (anche apparente) delle operazioni ci deve essere sempre; – Il driver è il bisogno del nostro utente;• ogni volta che attraversate un confine c’è un costo notevole valutate bene cosa portate con voi; – Lo stige è un viaggio senza ritorno… :-)• cercare di essere vagamente generici (ad esempio esponendo in maniera banale la CRUD) non serve a nulla; – Provate a chiedere all’ufficio postale se vi cerca un indirizzo…
  6. 6. Vi ricorda qualcosa?• Boundaries are Explicit – Viaggiando attraversate dei confini…ben noti;• Service compatibility is determined based on policy: – Quando chiedete qualcosa a qualcuno sapete cosa chiedere oppure sapete cosa chiedere per sapere cosa chiedere… :-)• Services share schema and contract, not class – …non mi viene un esempio… :-/• Services are Autonomous: – Se sostituite l’impeigato allo sportello cosa cambia?
  7. 7. • Verità e Assiomi (…pretenzioso l’amico);• Perché mai un servizio?• A-to-mi-co;• Il bagaglio…per un viaggio;• …un viaggio specifico; Agenda…? :-)
  8. 8. Security/policyil front-end non deve poter accedere alla base dati;
  9. 9. Più di un’applicazione fruisce dei nostri dati;
  10. 10. Dobbiamo poter scalare orizzontalmente(ed è costoso e/o complesso scalare orizzontalmente un database)
  11. 11. Dobbiamo aggregare fonti dati eterogenee al fine direnderle fruibili a diverse applicazioni senza spalmaresu ogni applicazione la complessità dell’aggregazione
  12. 12. …e bla bla bla…sicuramente ci sono unamontagna di buonissimi motivi… Motivi e Bisogni
  13. 13. • Verità e Assiomi (…pretenzioso l’amico);• Perché mai un servizio?• A-to-mi-co;• Il bagaglio…per un viaggio;• …un viaggio specifico; Agenda…? :-)
  14. 14. • L’utente ha il suo concetto di atomicità;• Il modello mentale dell’utente è sacro;• Ogni volta che si attraversa un confine le transazioni sono il male; A-to-mi-co…
  15. 15. Nel modello mentaledell’utente letransazioni nonesistono;Non si può appendereun quadro intransazione… Quindi?!?!?!
  16. 16. the user-mental-model way (1)• compensazione: 1. Ciò che non ha effetti collaterali (abbandono); 2. Ciò che è cancellabile in maniera definitiva; 3. Ciò che è per forza transazionale (orticello);• Preparo tutti i documenti per la pratica edilizia;• Avvio la richiesta della pratica edilizia;• …non trovo nulla che debba essere «transazionale»; Take away
  17. 17. the user-mental-model way (2)• messaggio & fotografia; 1. Inserisco un’operazione; 2. Inserisco un’operazione contraria; 3. Faccio una fotografia, cancello le operazioni fatte (se serve) e ricomincio;• La contabilità funziona così…da sempre; Take away
  18. 18. …and least but not last… Idempotenza Se cercate di ripresentare la stessa praticaedilizia più volte non è che vi costruiscono più case… Take away
  19. 19. Le transazioni servono perché abbiamo a che fare con un database relazionale la cui struttura dei dati ha un’atomicità molto diversa (e spesso obbligata) dal modello mentale dell’utente. Questo ci porta, da pigri, a giovare delle transazioni…anche fuori dall’orticello.…la cruda realtà…
  20. 20. • Verità e Assiomi (…pretenzioso l’amico);• Perché mai un servizio?• A-to-mi-co;• Il bagaglio…per un viaggio;• …un viaggio specifico; Agenda…? :-)
  21. 21. Credo sia chiaro a tutti che sono sciatori….è tutto in dipendenza del viaggio…
  22. 22. Quanti viaggi ci sono?
  23. 23. Avrebbe senso lostesso bagaglio?
  24. 24. Aggregate…che non vuol dire aggregate• I confini devono essere netti, altrimenti le spezie si mischiano;• Ci sono delle spezie che sono il risultato di un mix…ma sono delle nuove spezie diverse;• Brutalmente detto significa che avete più rappresentazioni dello stesso dato per «use case» diversi…ma è veramente lo stesso dato? Take away
  25. 25. • Verità e Assiomi (…pretenzioso l’amico);• Perché mai un servizio?• A-to-mi-co;• Il bagaglio…per un viaggio;• …un viaggio specifico; Agenda…? :-)
  26. 26. Ho detto sciatori?….scusate intendevo alpinisti.…un viaggio specifico
  27. 27. Produrreste mai questo?
  28. 28. Allora perché fate questo?public interface IApplicationService{ void Save( DomainEntity entity );}Che cosa manca di fondamentale?
  29. 29. It’s all about state
  30. 30. • Cosa, Perché e Come rappresentano le intenzioni; • Save( Object ) non dichiara nulla delle intenzioni, o magari non dichiara abbastanza; • ChangeCustomerAddress è molto più esplicativo; • La generalizzazione porta inevitabilmente alla perdita di controllo; • I contratti di un servizio sono il posto sbagliato per generalizzare altrimenti finite con il chiedere l’indirizzo al postino;criminal intent Take away
  31. 31. …a meno che…Piccolo spazio pubblicità… «messaggi»
  32. 32. …è un mondo dificile… «duale»
  33. 33. duale: lettura• la “catena” delle operazioni che portano il dato a chi ne ha bisogno, nella forma in cui ne ha bisogno, deve essere il più corta possibile;• Più la catena è lunga più si tende a generalizzare: – Limiti: che portano a sacrificare la qualità a favore dei costi; – Con i servizi i costi sono già alti quindi sacrificare è solo controproducente; – l’unica cosa che ha molto senso inserire nella pipeline di lettura è la Take away security;
  34. 34. duale: scrittura• La scrittura ha molto senso che segua una strada diversa, con servizi diversi; – Con tutta la «pipeline» che serve;• Fondamentale, in scrittura, è cambiare punto di vista, non più in termini di “salva questo grafo di oggetti” ma in termini di “porta il tuo (del servizio) grafo dallo stato in cui è a questo nuovo stato”; – CQRS e Event Sourcing;• Snapshop e ChangeSet – abbiamo una situazione nota (uno Snapshot) e dato un set di modifiche (ChangeSet) vogliamo passare ad una nuova situazione nota; Take away
  35. 35. 2 aggregate…?!?!?…per una cosa sola…!!!
  36. 36. per l’utente è uno solo• Costa? moltissimo; – Skill; – Codice, tanto codice (ma noi abbiamo i tool);• Costa? pochissimo; – Sul medio-lungo termine; – È molto più manutenibile; – È molto più flessibile; Take away
  37. 37. Andiamo a mangiare… Domande? Welcome to the DDD World.

×