In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
Pink elephant webinar: how ITSM maturity enables or disables your transformat...Axios Systems
In this webinar on Wednesday, November 28th @11:00ET, Troy DuMoulin from Pink Elephant and Kevin Patterson from Axios Systems share their views and personal experience of how ITSM Process and Service Management Cultural Maturity are key enablers to achieve the goals of digital transformation. https://hubs.ly/H0fJn4J0
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
Pink elephant webinar: how ITSM maturity enables or disables your transformat...Axios Systems
In this webinar on Wednesday, November 28th @11:00ET, Troy DuMoulin from Pink Elephant and Kevin Patterson from Axios Systems share their views and personal experience of how ITSM Process and Service Management Cultural Maturity are key enablers to achieve the goals of digital transformation. https://hubs.ly/H0fJn4J0
Building Business & IT Architecture Roadmaps with ArchiMate & TOGAFCorso
Building effective Business and IT Architecture Roadmaps and aligning your business strategy and IT capability with current and future-state architectures with ArchiMate and TOGAF.
Learn about:
• Transition planning
• Milestones with visual status
• Heatmaps and gap analysis
• Lifecycle states
• And more...
Corso webinar slides. Presented on Thursday 25th September 2014 by Larry Wallendorf, Global Pre-Sales Manager Enterprise Architecture at Corso.
Defining the business value proposition of EA and PPM
Eliminating project risks
Accelerating project execution
Managing project and architecture inter-dependencies
Delivering realized value
Improving collaboration of Architecture and PMO
Personally designed (content + graphics design), officially accredited IQBBA® CFLBA (Certified Foundation Level Business Analyst) courseware.
Trademarks are properties of the holders, who are not affiliated with courseware author.
Understand the importance of having the Integration Strategy, Roadmap and Architecture that will drive and meet the Enterprise Digital Transformation goals and objectives.
The STATT (Strategic Technical Application Techniques and Tactics) methodology from Kellton Tech helps your organization to successfully lay down a Digital Reference Architecture that addresses
Digital Transformation Strategy and Roadmap
High-Speed IT of Digital Systems through DevOps
Multi-Speed IT Integration and Connectivity Architecture through CI/CD
Bi-Modal IT Considerations for Digital Innovation
Digital Reference Architecture Process, Methodology and Outcomes
Digital IT Trends - API based Connectivity, Structured and Unstructured Big Data Analytics, Micro-services and more
Solution Architecture tips & tricks by Roman ShramkovJavaDayUA
In this presentation we will cover:
* What is Solution Architecture and how it differs from other architectures
* What is good and what is bad for SA, tips & tricks from our experience
This presentation describes systematic, repeatable and co-ordinated approach to agile solution architecture and design. It is intended to describe a set of practical steps and activities embedded within a framework to allow an agile method to be adopted and used for solution design and delivery. This approach ensures consistency in the assessment of solution design options and in subsequent solution design and solution delivery activities. This process leads to the rapid design and delivery of realistic and achievable solutions that meet real solution consumer needs. The approach provides for effective solution decision-making. It generates options and results quickly and consistently. Implementing a framework such as this provides for the creation of a knowledgebase of previous solution design and delivery exercises that leads to an accumulated body of knowledge within the organisation.
Domain Model e SOA (Service Oriented Architecture)DotNetMarche
In un mondo che è sempre più orientato ai servizi è fondamentale comprendere l’interazione tra il concetto stesso di servizio e un’architettura fortemente Domain Driven. In questo scenario lo sviluppatore si trova ad affrontare scelte talvolta difficili, come ad esempio decidere come esporre all’esterno il proprio Domain Model oppure capire se e quanto le tecnologie a supporto dell’interoperabilità debbano influire il modello implementativo del nostro Domain Model. In questa sessione si cercherà di capire quali sono i principi di design che possono venire in aiuto nella progettazione di architetture SOA, come ad esempio l'inversione di controllo o la programmazione orientata agli aspetti e si esamineranno i tool che possono aiutarci ad implementare correttamente un modello a servizi.
Building Business & IT Architecture Roadmaps with ArchiMate & TOGAFCorso
Building effective Business and IT Architecture Roadmaps and aligning your business strategy and IT capability with current and future-state architectures with ArchiMate and TOGAF.
Learn about:
• Transition planning
• Milestones with visual status
• Heatmaps and gap analysis
• Lifecycle states
• And more...
Corso webinar slides. Presented on Thursday 25th September 2014 by Larry Wallendorf, Global Pre-Sales Manager Enterprise Architecture at Corso.
Defining the business value proposition of EA and PPM
Eliminating project risks
Accelerating project execution
Managing project and architecture inter-dependencies
Delivering realized value
Improving collaboration of Architecture and PMO
Personally designed (content + graphics design), officially accredited IQBBA® CFLBA (Certified Foundation Level Business Analyst) courseware.
Trademarks are properties of the holders, who are not affiliated with courseware author.
Understand the importance of having the Integration Strategy, Roadmap and Architecture that will drive and meet the Enterprise Digital Transformation goals and objectives.
The STATT (Strategic Technical Application Techniques and Tactics) methodology from Kellton Tech helps your organization to successfully lay down a Digital Reference Architecture that addresses
Digital Transformation Strategy and Roadmap
High-Speed IT of Digital Systems through DevOps
Multi-Speed IT Integration and Connectivity Architecture through CI/CD
Bi-Modal IT Considerations for Digital Innovation
Digital Reference Architecture Process, Methodology and Outcomes
Digital IT Trends - API based Connectivity, Structured and Unstructured Big Data Analytics, Micro-services and more
Solution Architecture tips & tricks by Roman ShramkovJavaDayUA
In this presentation we will cover:
* What is Solution Architecture and how it differs from other architectures
* What is good and what is bad for SA, tips & tricks from our experience
This presentation describes systematic, repeatable and co-ordinated approach to agile solution architecture and design. It is intended to describe a set of practical steps and activities embedded within a framework to allow an agile method to be adopted and used for solution design and delivery. This approach ensures consistency in the assessment of solution design options and in subsequent solution design and solution delivery activities. This process leads to the rapid design and delivery of realistic and achievable solutions that meet real solution consumer needs. The approach provides for effective solution decision-making. It generates options and results quickly and consistently. Implementing a framework such as this provides for the creation of a knowledgebase of previous solution design and delivery exercises that leads to an accumulated body of knowledge within the organisation.
Domain Model e SOA (Service Oriented Architecture)DotNetMarche
In un mondo che è sempre più orientato ai servizi è fondamentale comprendere l’interazione tra il concetto stesso di servizio e un’architettura fortemente Domain Driven. In questo scenario lo sviluppatore si trova ad affrontare scelte talvolta difficili, come ad esempio decidere come esporre all’esterno il proprio Domain Model oppure capire se e quanto le tecnologie a supporto dell’interoperabilità debbano influire il modello implementativo del nostro Domain Model. In questa sessione si cercherà di capire quali sono i principi di design che possono venire in aiuto nella progettazione di architetture SOA, come ad esempio l'inversione di controllo o la programmazione orientata agli aspetti e si esamineranno i tool che possono aiutarci ad implementare correttamente un modello a servizi.
Epic.NET: Processes, patterns and architecturesGiacomo Tesio
Epic.NET is a framework composed of a process, a set of patterns and a set of architectural constraints for applications that need to follow the Domain Driven Design principles.
Quando un'entità può essere considerata valida? Come effettuare la validazione? Lo scopo della sessione è quello di illustrare e condividere alcune considerazioni relative a diversi approcci, facendo distinzione tra validazione "costante", quindi strettamente legata alle entità, e quelle che invece sono le validazioni appartenenti ad un contesto specifico. Verrà presentato l'approccio "always-valid" e messo a confronto con il classico metodo "IsValid()".
This is my presentation at DDD eXchange New York, about Event Storming and the broader concept of Model Storming and the various modeling and problem solving techniques that we've been experimenting in the last months.
Collecting requirements or understanding a large system seems such a long and demanding activity. We can do al lot better than this: unlimited modelling space and all the key stakeholder in the same room, with some special spice. :-)
Domain-Driven Design has never been so efficient. This is where DDD meets Kanban, TOC and Management 3.0.
This set of design patterns are related to Enterprise Patterns. In it you can find, J2EE, Presentation, Business & Integration Patterns (such as: ApplicaCon Controller, Data Transfer Object (DTO), Business Object (BO) & Data Access Object (DAO) among others ...)
Biznology è una società di ingegneria informatica che offre servizi di consulenza e supporto per la progettazione e lo sviluppo di applicazioni per sistemi informativi di differenti dimensioni e complessità.
L’approccio metodologico e la profonda conoscenza delle architetture IT caratterizza tutte le attività di consulenza dei professionisti che operano con Biznology.
Biznology nasce dalla fusione delle parole business e technology.
Noi riteniamo che i risultati veramente apprezzabili in ambito ICT si possano ottenere solo se si riesce ad avere una completa visione d’insieme che coniuga la prospettiva del business con le tecnologie ed il governo delle infrastrutture IT.
Proponiamo soluzioni ed interventi il cui successo si basa fondamentalmente sulla capacità di individuare le vere esigenze di business e sul creare valore attraverso l’uso delle giuste tecnologie ed il miglioramento dei sistemi informativi.
Biznology, precedentemente Master Reseller per l’Italia della soluzione ASF, si posiziona ora come divisione focalizzata su problematiche di application integration nel perimetro delle attività Talend Italia ed affianca la distribuzione di questi prodotti ai già citati servizi di consulenza in ambito Project/Program Management, IT Governance, Enterprise Architecture e supporto per la progettazione e lo sviluppo di sistemi informativi aziendali.
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
Common software architectures are full of well-established assumptions. But some of them are flawed, no longer valid or relevant. Changing the rules of the game using DDD, CQRS and Event Sourcing can lead to systems which are more scalable, maintainable and performing. And which are fun to code as well.
CQRS, ovvero: 2 stack, uno per "leggere" e l'altro per "scrivere". Se per "scrivere" abbiamo l'imbarazzo della scelta (Domain Model, Command, Event Sourcing, ...) per leggere, invece, apparentemente c'è poco da dire. "Apparentemente", appunto. Parliamone :-)
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...DotNetMarche
Come è nata l'esperienza della community romana di Host e come siamo riusciti ad essere riconosciuti da Airbnb. Cosa stiamo imparando, cosa funziona, gli errori da non fare.
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...DotNetMarche
4 iscritti al meetup. Nessun commento al post. 1 solo speaker (che poi è tuo cugino). Se sai di cosa sto parlando allora significa che conosci la stretta allo stomaco che si prova quando la tua comminity è silenziosa quanto un cimitero. Ma è davvero la fine? Oppure un community leader può diventare il Dottor Frankenstein di turno e ribaltare la situazione? In questo talk vedremo come basarci sulle metriche per analizzare cosa non sta funzionando nella tua tribù e alcuni consigli azionabili per "resuscitare" l'entusiasmo dei suoi membri.
Vedremo come sfruttare le potenzialità di WPF per realizzare applicazioni diverse dalle classiche LOB (Line of Business applications), basandosi su 3D e Natural User Interface.
Cos'è la UI Composition e che problemi può risolvere
Perchè MVVM e WPF sono importanti per la UI Composition
Il concetto di 'region' e 'UI Injection'
Analisi del toolkit PRISM di Microsoft e cosa comporta realizzarsene uno in proprio.
Cos'è la UI Composition e che problemi può risolvere
Perchè MVVM e WPF sono importanti per la UI Composition
Il concetto di 'region' e 'UI Injection'
Analisi del toolkit PRISM di Microsoft e cosa comporta realizzarsene uno in proprio.
In questa sessione verranno analizzate alcune pagine ASP.NET che verranno sottoposte a refactoring per aumentarne la modularità e comprensibilità del codice, nonchè favorire la testabilità delle funzioni core.
Si presenteranno techiche e strumenti che è possibile utilizzare in modo da avere un approccio più razionale ed 'ordinato' nella stesura del codice. Le pratiche ed i concetti illustrati sono di carattere generale, quindi liberamente applicabili ad ogni tipologia di applicazione.
In questa sessione a quattro mani introdurremo alcuni dei refactorings più comuni e più facilmente applicabili nell'utilizzo quotidiano, e vedremo come risolverli in maniera facile, veloce ed indolore utilizzando ReSharper e pochi colpi di tastiera.
Incidentalmente, inseriremo nel mentre un pò di patterns e di Test-Driven Development, perchè "se non è testato, allora non funziona"
"It's all about simplicity": perchè le applicazioni basate su Javascript sono spesso complesse, farraginose e difficilmente manutenibili quando è possibile renderle semplici, eleganti e funzionali?
In questa sessione a quattro mani vedremo per prima cosa come sfruttare Javascript al meglio, utilizzando i prototipi, i namespaces, gli oggetti, gli eventi, le chiusure e le altre mille funzionalità di un linguaggio di programmazione troppo spesso sottovalutato.
Ci soffermeremo poi su jQuery per analizzare il suo contributo nel semplificare task normalmente tediosi come la manipolazione del DOM, la gestione degli eventi, la programmazione asincrona (AJAX) e le problematiche di compatibilità cross-browser.
In questa sessione 'hands-on' suddivisa in tre parti, vedremo come, codice alla mano, è possibile realizzare applicazioni business tramite Silverlight, cercando inoltre di renderle compatibili con WPF (Windows Presentation Foundation) in modo da riutilizzare ciò che è stato sviluppato
Ci focalizzeremo su questioni come:
- architettura del progetto
- realizzazione di interfacce utente
- interazione con il Data Layer e servizi in generale
- multitargetting Silverlight / WPF
-integrazione dell'applicazione principale con moduli / plugin, tramite pattern MVP e MVC (per semplificare il porting su WPF)
- modularità ed inversione di controllo
Asp.NET MVC è un nuovo framework per lo sviluppo di applicazioni web alternativo al modello webform. Questo consente di utilizzare il pattern MVC per lo sviluppo di applicazioni Asp.NET, permettendo quindi una miglior separazione delle responsabilità che a sua volta porta ad una maggior manutenibilità, riusabilità e facilità nel testing.
La sessione illustrerà i motivi che hanno portato alla nascita di Asp.NET MVC e le sue caratteristiche fondamentali.
Agenda:
- Storia dei framework MS per lo sviluppo web
- Introduzione a Asp.NET MVC
- Vantaggi di Asp.NET MVC
- Il pattern MVC
- Hello MVC: DEMO
- Componenti di MVC: Routing, Controller, Model, View
Nello sviluppo software il termine “test” assume molti significati;
le tipologie di test sono infatti numerose, ma tutte hanno un unico scopo: provare che il software realizzato sia attinente alle specifiche e non presenti bug.
Tra tutti i test, quelli unitari rappresentano senza dubbio la categoria più interessante per lo sviluppatore, dato che sono dedicati alla verifica di piccole porzioni di
codice e sono spesso scritti nello stesso linguaggio usato per realizzare il software.
Agenda:
- Introduzione ai concetti base del testing
- Test unitari
- Librerie xUnit ed automazione dei test
- Alcuni pattern standard per test unitari
Un altro building block del Framework 3.0 si chiama CardSpace ed ha l'ambizione di risolvere uno dei problemi più ricorrenti della quasi totalità delle applicazioni sia internet sia intranet: l'autenticazione utente.
I problemi correlati all'autenticazione sono di diversa natura: da una parte la difficoltà dell'utente nel gestire elenchi di username e password, dall'altra la sempre crescente necessità di evitare l'hacking delle password, o ancora la tipologia di informazioni che un utente vuole rivelare di sé a seconda del contesto, fino ad essere anche un semplice utente anonimo; ed infine la necessità di contemplare autorità di autenticazioni differenti a seconda del contesto.
Se nel passato Passport ha fallito la sua missione, CardSpace affronta in modo totalmente differente il problema rendendosi fruibile cross-browser e cross-platform per costruire un sistema universale di identificazione nel pieno rispetto della privacy.
Con il Framework 3.0 esordisce in Windows una nuova infrastruttura che permette agli sviluppatori di creare, grazie ad un designer, una rappresentazione visuale di una logica applicativa.
In questa introduzione vedremo come il ruolo di Workflow Foundation sia analogo a quello di un linguaggio che con i suoi statement provvede i mattoncini base per costruire un algoritmo. Una particolare attenzione verrà riposta nel prezioso meccanismo dei servizi del runtime di Workflow Foundation e naturalmente sulle Activity, il mattone fondamentale di questa infrastruttura.
2. About me:
Giancarlo Sudano (alias janky)
Software Architect in Objectway
Fondatore di GUISA
www.guisa.org
Blog su Ugidotnet:
http://blogs.ugidotnet.org/janky
Email:
giancarlo.sudano@gmail.com
giancarlo.sudano@objectway.it
7. Business Modeling
Use Case Model
Processo di
vendita
(testo)
Processo
d’Ordine
(testo)
Business Modeling
Domain Model
Order
Custome
r
Product
1
1..*
1..*
Business Requirement
Gli Use case, i termini, i
concetti ispirano il
Domain Model
8. Software Design
Business Modeling Software Design
Domain Model Object Model
Order
Custome
r
Product
1
1..*
1..*
I concetti del Dominio
ispirano nomi e
comportamenti delle classi
del software
9. Design del Domain Layer
Classificazione fatta da Fowler [PoEAA 2004]
Transaction Script:
Principalmente il layer sarà modellato con delle procedure che prendono
l’input dal layer di presentation, li processano e eventualmente trasmettono
manipolazioni sui database.
Table Module:
Serie di classi che gestiscono la logica di business
per tutte le righe sul database di una particolare entità.
Domain Model:
Serie di classi ispirate al modello analitico che gestiscono
sia stato che comportamento. Una singola istanza rappresenta una singola entità.
10. Riepilogo delle definizioni
• Modello analitico: concettualizzazione del problema di
business
• Domain Layer: Strato di software che rappresenta
l’implementazione del modello analitico
• Domain Layer patterns: metodologie per implementare i
problemi di business
– Transaction script
– Table Module
– Domain Model
12. ...tutto cominciò...
• Formalizzazione fatta da Eric Evans 2003/04 nel
suo libro
“Domain Driven Design:
Tackling Complexity In The Heart Of Software”
• Scopo del libro:
– “…To describe and build a vocabulary about the very art
of domain modeling…”
14. Domain Driven Design: Definizione
La DDD è un mindset, cioè una serie di principi e
priorità, atte ad accelerare la progettazione software
che ha a che fare con domini di particolare
complessità.
15. Presupposti per la nascita di DDD
• Il modello analitico (cioè il risultato del lavoro degli
analisti) è uno strumento di sola comprensione.
• Un analista poi può usare UML per la visualizzazione del
modello stesso.
• Il modello non porterà nessun dettaglio implementativo
ai fini di non inquinare la comprensione.
16. Quindi...
• l'implementazione di un modello molte volte può
allontanarsi notevolmente dalla sua iniziale descrizione.
• La Domain Driven Design è una disciplina di
progettazione atta quindi a tenere costantemente
vicini/connessi il modello analitico che il modello
implementativo.
20. Entity Value Object
Semantica Semantica di Reference:
Una Fattura, un Ordine, un Cliente
Semantica di Valore:
Un Indirizzo, una Coordinata 3D, un
Numero Complesso
Life cycle Indipendente Coincidente con l’oggetto a cui
appartiene
Uso Una Entity tende a memorizzare uno
stato, esporre comportamenti e
coordinare altre entity/value object
associati
Un value object tende a memorizzare
uno stato
Uguaglianza Basata sull’identità.
Cioè dal confronto di uno (o più)
attributi specifici che la
rappresentano univocamente.
Basata sul confronto di tutti i suoi
attributi.
Rappresentazione nel
modello Object
Oriented
Una Classe Una Classe (o uno Struct)
Rappresentazione nel
modello relazionale
Una (o più) tabelle Una (o più) colonne di una tabella
21. Troppa logica nelle entity?
In generale si tende ad aggiungere solo i metodi
essenziali ad una entity.
Inserire troppa logica all’interno di una entity:
+ Complessità
- Manutenibilità
- Chiarezza, Espressività
22. Service
Una classe Service modella, non tanto una entità di dominio,
ma una regola di business
Qualcosa che il software “deve fare” (operazione) e che non
necessariamente coincide con uno stato
23. Business Rules
Restrictions:
Un cliente non può inserire più di tre richieste d’ordine caricate sul suo credit account.
Heuristics:
Gli ordini di un cliente con uno stato preferenziale verranno evasi immediatamente.
Computations:
Il volume di ordini annuale di un cliente deve essere calcolato dal totale delle vendite chiuse entro la
chiusura dell’anno fiscale aziendale.
Inference:
Un cliente deve essere considerato preferenziale se ha almeno 5 ordini superiori a 1000 euro.
Timing:
Un cliente verrà archiviato se non effettua ordini per 36 mesi consecutivi.
Triggers:
Quando un ordine è stato spedito, una notifica di “Send advance” deve essere notificata ad una serie di
sottoscritti
24. Tipi di Services
Tipologie di Servizi Esempi
Infrastrutturali •Spedizione di una Mail
•Persistenza di una entity in uno storage
•Tracciamento delle operazioni di una
Entity
Applicativi (o di
dominio)
•Trasferimento di valuta tra conti bancari
•Approvazione di un Ordine d’acquisto
•Validazione di Entity a fronte di una
operazione di business
25. Come distribuire logica tra
Service e Entity?
Una Entity con troppe responsabilità rischia di perdere in
chiarezza concettuale.
Entity troppo cariche sono di difficile manutenzione,
refactoring e testing.
Le operazioni di business, sono spesso legate ad altre
entity. Esprimere queste operazioni come metodo di una
Entity, aumenta la sua dipendenza da altri oggetti
27. Factory
Responsabilità di creare e assemblare oggetti
particolarmente complessi.
La logica di creazione di grafi immersa nel costruttore
stesso, potrebbe non essere una “buona idea”.
28. Repository
Responsabilità del ciclo di vita delle Entity.
Responsabilità infrastrutturali di persistenza quali Identity
Map, Cache.
34. • Dominio
Requisiti più alti
– Domain Model quanto più indipendente da tutte le altre parti del sistema.
– E’ buona norma rendere il DM facilmente testabile, modificabile.
– Minimizzare la dipendenza anche dalle API di .NET.
• Presentation Layer
– Riutilizzo più pesante del codice tra una Presentation Layer ed un altro
– Migliorare le capacità di Test delle View e della logica di Flusso
• Servizi:
– Distinzione tra servizi infrastrutturali e applicativi
35. Isolamento: Layering
User Interface (Presentation Layer)
Responsible for presenting information to the user and
interpreting user commands.
Application Layer
This is a thin layer which coordinates the application
activity. It does not contain business logic. It does not
hold the state of the business objects, but it can hold
the state of an application task progress.
Domain Layer
This layer contains information about the domain. This
is the heart of the business software. The state of
business objects is held here. Persistence of the
business objects and possibly their state is delegated to
the infrastructure layer.
Infrastructure Layer
This layer acts as a supporting library for all the other
layers. It provides communication between layers,
implements persistence for business objects, contains
supporting libraries for the user interface layer, etc.
36. Soluzione
Presentation
UI Process
Business Logic
Data Access
Coordina le attività
dell’applicazione.
Non contiene logica di
business.
Non gestisce lo stato delle
Entity, ma gestisce lo stato
dell’applicazione e dei
progresso dei task
Può eseguire Processi di
Business e Servizi in
seguito a comandi dalla UI
o a Eventi Esterni
37. Confusioni sui nomi di layer?
Presentation
UI Process
Business
Data Access
Presentation
Controller/
Mediator
Domain
Data Access
Presentation
Application
Controller
Domain
Data Source
Presentation
Application
Domain
Infrastructure
=
=
=
=
Brown Martin Fowler Eric Evans
DNA, J2EE
Presentation
...
Business
Data Access
38. Soluzione
Presentation
UI Process
Data Access
Business Rules
Entity (detto anche Core)
Security Service Altri Service
Business Process
Validations
39. Soluzione
Presentation
UI Process
Data Access
Business Rules
Entity (detto anche Core)
Security Service Altri Service
Business Process
Validations