Progettare e realizzare applicazioni con Visual Studio.NET Enterprise Architect Francesco Albano Senior Developer Evangelist.NET Developer & Platform.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

“Niente di Nuovo” Mercatino dell’Usato
VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Windows Server 2003 Active Directory Diagnostica, Troubleshooting e Ripristino PierGiorgio Malusardi IT Pro – Evangelist Microsoft.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
ASP .NET & Web Service: Introduzione
Giorgio Quaranta ISV Account Manager
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Office System 2007: il licensing dei prodotti server.
Windows Server 2003 SP1 Security Configuration Wizard PierGiorgio Malusardi IT Pro Evangelist Microsoft.
Miglioramento della protezione dei dati mediante SQL Server 2005 Utilizzo della crittografia di SQL Server 2005 per agevolare la protezione dei dati Pubblicato:
Introduzione ad Active Directory
Consumare Web Service Andrea Saltarello
3/27/2017 2:27 AM ©2005 Microsoft Corporation. All rights reserved.
Training Microsoft Visio Marzo, 2006
Sharepoint Gabriele Castellani
| | Microsoft Certificate Lifecycle Manager.
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
Introduzione al datawarehouse
PHP.
Sistema di gestione flussi documentali
Connessione con MySQL.
una interfaccia internet per il sistema Momis
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
OUTLINE Riprogettazione del database del portale Web della Facoltà di Ingegneria Sviluppo di una applicazione WEB DB : HOMEPAGE DOCENTI Architettura multilivello.
Acquisti OnLine Progetto
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
Architettura Three Tier
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Struttura dei sistemi operativi (panoramica)
Gestione Commesse SOLUTIONS. Design goals Miglioramento dellinterfaccia Più flessibilità operativa Supporto delle raccomandazioni dellInternational Accounting.
Job improvements SOLUTIONS. Design goals Miglioramento dellinterfaccia Più flessibilità operativa Supporto delle raccomandazioni dellInternational Accounting.
Item Tracking in NAV 5.0 SOLUTIONS. Item Tracking Perchè cambiare Problemi delle release precedenti –Difficoltà di utilizzo –Non perfetta integrazione.
Daniel Stoilov Tesi di Laurea
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Architettura Java/J2EE
Ing. Enrico Lecchini BetaTre S.r.l.
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Gestimp IV Il pacchetto software GESTIMP© di Isea S.r.l., di seguito indicato con GESTIMP©, permette di gestire la supervisione e la telegestione di impianti.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Sistemi Informativi sul Web
Un problema importante
Microsoft Office System Introduzione a XML in Office 2003.
IBM Lotus Notes e Domino
Programma di Informatica Classi Seconde
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
N4N Platform Architecture PA Inside outlook.
PART 3: DATA ANALYSIS THROUGH OMNIFIND. Il cliente: una sorgente importante di informazioni Mercato iper-competitivo, altamente caotico. Cliente al centro.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Certificati e VPN.
By: Powered by:. Tecnologia Microsoft La soluzione CCAnalyzer utilizza la tecnologia OLAP (On Line Analytical Processing) di Microsoft presente nel software.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Servizi Internet Claudia Raibulet
 Primo livello: Field Management. A questo livello le informazioni sono relative ai dispositivi di campo  Secondo livello:
4/18/ :18 AM.
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Eprogram informatica V anno.
Architetture software
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
1 OpenACS Quasi tutte le applicazioni Web hanno gli stessi fabbisogni 1.Rappresentare persone e relazioni 2.Controllare l’accesso a funzionalità e dati.
FatIn: Fatturazione Interventi Applicazione di facile utilizzo che permette la prenotazione, la gestione e la fatturazione di interventi e prestazioni.
Transcript della presentazione:

Progettare e realizzare applicazioni con Visual Studio.NET Enterprise Architect Francesco Albano Senior Developer Evangelist.NET Developer & Platform Strategy Division Microsoft Italy

Agenda Panoramica di Duwamish Architettura di Duwamish Obiettivi di progettazione I diagrammi UML Gli Enterprise Template User Services Layer Data Access Layer Business Logic Layer Flusso dell'Applicazione

User Services Progetto Web realizzato come applicazione ASP.NET Progetto Web realizzato come applicazione ASP.NET Business Services Progetto Business Façade Progetto Business Façade Modellato sulla base dei casi di uso del sistema Modellato sulla base dei casi di uso del sistema Maschera la complessità delle regole delle classi dello strato business Maschera la complessità delle regole delle classi dello strato business Progetto Business Rules Progetto Business Rules Contiene le regole di business da rispettare Contiene le regole di business da rispettare Data Services Progetto Data Access Progetto Data Access Progetti Common e System Framework Common utilizzato per classi ausiliarie Common utilizzato per classi ausiliarie System Framework utilizzato per la configurazione del tracing, dell’applicazione e per la gestione degli errori System Framework utilizzato per la configurazione del tracing, dell’applicazione e per la gestione degli errori Panoramica di Duwamish I layer applicativi

Progetto Web Codice responsabile dell’interfaccia utente Codice responsabile dell’interfaccia utente Comunica con lo strato Business Façade Comunica con lo strato Business Façade Pesante utilizzo di Pesante utilizzo di Web Forms Web Forms User controls User controls Validation Controls Validation Controls Panoramica di Duwamish User Services

Componenti della logica di business realizzati come assembly.NET Si avvale di transazioni SQL Server DataSet ADO.NET Panoramica di Duwamish Business Services

Si avvale di funzionalità di ADO.NET Utilizza prevalentemente la classe SQLDataAdapter per l’accesso ai dati Utilizza prevalentemente la classe SQLDataAdapter per l’accesso ai dati Popola DataSet tipizzati disconnessi (classi che ereditano da DataSet) Popola DataSet tipizzati disconnessi (classi che ereditano da DataSet) Informazioni di connessione prelevate da web.config Informazioni di connessione prelevate da web.config I DataSet sono utilizzati per trasportare i dati tra i diversi layer I DataSet sono utilizzati per trasportare i dati tra i diversi layer Panoramica di Duwamish Data Services

Business Façade Funzioni che rispecchiano i principali casi di uso scoperti durante la fase di analisi Funzioni che rispecchiano i principali casi di uso scoperti durante la fase di analisi Effettua chiamate allo strato Business o a quello Data per conto dello strato User Effettua chiamate allo strato Business o a quello Data per conto dello strato User Maschera la complessità delle interazioni tra gli oggetti dello strato Business Maschera la complessità delle interazioni tra gli oggetti dello strato BusinessCommon Codice condiviso tra i componenti Codice condiviso tra i componenti Classi che ereditano da DataSet e specificano il formato di CategoryData, BookData, CustomerData, OrderData Classi che ereditano da DataSet e specificano il formato di CategoryData, BookData, CustomerData, OrderData System Framework Codice che fornisce all’applicazione Codice che fornisce all’applicazione Servizi di sistema o di infrastruttura Servizi di sistema o di infrastruttura Non specifico dell’applicazione Non specifico dell’applicazione Panoramica di Duwamish Layer Supplementari

Obiettivi di progettazione Requisiti Non Funzionali Availability Applicazione sempre disponibile (in teoria) Applicazione sempre disponibile (in teoria) Le scelte di implementazione Web Farm Web Farm Cosa offre al riguardo ASP.NET Cosa offre al riguardo ASP.NET Lo stato delle sessioni è memorizzabile su uno State Server Lo stato delle sessioni è memorizzabile su uno State Server Rilevamento automatico dei problemi e riavvio del server Web senza interruzione di servizio Rilevamento automatico dei problemi e riavvio del server Web senza interruzione di servizio Sostituzione di DLL senza interruzione di servizio Sostituzione di DLL senza interruzione di servizio

Maintainability Il codice dovrebbe riflettere la documentazione prodotta in fase di progettazione Il codice dovrebbe riflettere la documentazione prodotta in fase di progettazione Il codice dovrebbe essere modularizzato per facilitare la gestione da parte di gruppi differenti Il codice dovrebbe essere modularizzato per facilitare la gestione da parte di gruppi differenti Le scelte di implementazione I casi di uso rimappati nello strato Business Façade I casi di uso rimappati nello strato Business Façade Codice segmentato in 6 progetti Visual Studio modificabili in blocco o singolarmente Codice segmentato in 6 progetti Visual Studio modificabili in blocco o singolarmente Obiettivi di progettazione Requisiti Non Funzionali

Manageability Modifiche alla configurazione del sito senza riavvio Modifiche alla configurazione del sito senza riavvio Trace e log su file o nel log degli eventi Trace e log su file o nel log degli eventi Le scelte di implementazione Configurazione memorizzata in web.config Configurazione memorizzata in web.config Trace e log realizzati tramite la classe EventLog del CLR Trace e log realizzati tramite la classe EventLog del CLR Trace verso file di testo tramite le classi FileInfo e StreamWriter del CLR Trace verso file di testo tramite le classi FileInfo e StreamWriter del CLR ASP.NET mette a disposizione contatori delle prestazioni per ogni applicazione Web ASP.NET mette a disposizione contatori delle prestazioni per ogni applicazione Web Statistiche sugli oggetti Request e Response Statistiche sugli oggetti Request e Response Statistiche sulla Cache Statistiche sulla Cache Statistiche sugli errori Statistiche sugli errori Statistiche sulle transazioni Statistiche sulle transazioni Obiettivi di progettazione Requisiti Non Funzionali

Performance Eguagliare o superare le prestazioni della versione 4.0 di Duwamish Eguagliare o superare le prestazioni della versione 4.0 di Duwamish Le scelte di implementazione ASP.NET compila le pagine in eseguibili ASP.NET compila le pagine in eseguibili Utilizzo del caching sull’output delle pagine di ASP.NET Utilizzo del caching sull’output delle pagine di ASP.NET Pieno supporto per le Web Farm tramite memorizzazione dello stato delle sessioni su server esterni ed utilizzo di classi stateless Pieno supporto per le Web Farm tramite memorizzazione dello stato delle sessioni su server esterni ed utilizzo di classi stateless Obiettivi di progettazione Requisiti Non Funzionali

Reliability Gestione corretta degli errori Gestione corretta degli errori Nessuna visualizzazione all’utente finale di un errore nativo Nessuna visualizzazione all’utente finale di un errore nativo Le scelte di implementazione Gestione degli errori basata su eccezioni Gestione degli errori basata su eccezioni Supporto per le pagine personalizzate di errore di ASP.NET Supporto per le pagine personalizzate di errore di ASP.NET Obiettivi di progettazione Requisiti Non Funzionali

Scalability Scale up e scale out Scale up e scale out Le scelte di implementazione Scale up grazie al supporto di ASP.NET per le Web Garden Scale up grazie al supporto di ASP.NET per le Web Garden Scale out grazie allo stato di sessione esterno Scale out grazie allo stato di sessione esterno Accesso ai componenti locale o tramite.NET remoting Accesso ai componenti locale o tramite.NET remoting Obiettivi di progettazione Requisiti Non Funzionali

Security Richiede l’autenticazione per prevenire lo spoofing degli URL Richiede l’autenticazione per prevenire lo spoofing degli URL Le scelte di implementazione Utilizzo del supporto intrinseco di ASP.NET per l’autenticazione basata su form Utilizzo del supporto intrinseco di ASP.NET per l’autenticazione basata su form Obiettivi di progettazione Requisiti Non Funzionali

Un cliente Internet deve poter navigare nel catalogo prodotti di Duwamish Books per categoria Un cliente Internet deve essere in grado di ricercare un libro in base ai seguenti criteri: Ricerca per titolo Ricerca per titolo Ricerca per autore Ricerca per autore Ricerca per ISBN Ricerca per ISBN Ricerca per argomento Ricerca per argomento Un cliente Internet deve poter selezionare uno o più libri ed inserirli nel carrello per l’acquisto … Architettura di Duwamish Requisiti funzionali

I casi di uso sono generalmente utilizzati per: Modellare il contesto di un sistema Modellare il contesto di un sistema Modellare i requisiti di un sistema Modellare i requisiti di un sistema Esprimere i requisiti, come attività, dal punto di vista dell’utente Esprimere i requisiti, come attività, dal punto di vista dell’utente Internet Customer Customer Account Management Purchase Books Product Catalog Search I Diagrammi UML Diagrammi dei Casi di Uso

I Diagrammi UML Diagrammi di classe «uses»«uses» «uses» «uses» defaultcategoriesbook searchresultssearch I diagrammi di classe o di struttura esprimono la struttura globale del sistema, le relazioni e le caratteristiche comportamentali

I Diagrammi UML Diagrammi dei Componenti I diagrammi dei componenti sono generalmente utilizzati per: Modellare il codice sorgente Modellare il codice sorgente Modellare i rilasci degli eseguibili Modellare i rilasci degli eseguibili Modellare Ia struttura fisica delle basi di dati Modellare Ia struttura fisica delle basi di dati Modellare sistemi adattativi Modellare sistemi adattativi Un diagramma dei componenti illustra come i vari sottosistemi software vanno a comporre la struttura globale di un sistema Web Business Facade SystemFramework

I Diagrammi UML Diagrammi di Sequenza I diagrammi di sequenza sono utilizzati per: Modellare il flusso applicativo temporale Modellare il flusso applicativo temporale : Web::book : BusinessFacade::ProductSystem : DataAccess::Books GetBooksByISBN() GetBooksByAuthor() GetBooksByNaturalLanguage() GetBooksBySubject() GetBooksByTitle() GetBookById()

I Diagrammi UML Diagrammi di Deployment I diagrammi di deployment sono utilizzati per: Modellare sistemi embedded Modellare sistemi embedded Modellare sistemi client/server Modellare sistemi client/server Modellare sistemi altamente distribuiti Modellare sistemi altamente distribuiti Un diagramma di deployment illustra come sono configurati l’ hardware ed il software in un sistema DataAccess Database Server Database

I Diagrammi UML Diagrammi aggiuntivi I diagrammi di collaborazione sono utilizzati per: Modellare il flusso organizzativo Modellare il flusso organizzativo I diagrammi di stato sono utilizzati per: Modellare le relazioni tra oggetti e le transizioni di stato Modellare le relazioni tra oggetti e le transizioni di stato I diagrammi di attività sono utilizzati per: Modellare un workflow Modellare un workflow Modellare un’operazione Modellare un’operazione

I progetti software sono sempre più complessi, vasti e critici Un’architettura applicativa inefficiente può rendere tale una qualunque piattaforma Una buona architettura funziona solo se tutti rispettano le regole per implementarla Le raccomandazioni sono fini a se stesse se non lette ed utilizzate Enterprise Templates L’esigenza

Enterprise Templates Gli obiettivi Condividere la conoscenza e l ’ esperienza aziendale in fase di progettazione per: Ridurre il problema della “ Lavagna Bianca ” Ridurre il problema della “ Cabina di Pilotaggio ” Semplificare l ’ individuazione delle scelte corrette

Enterprise Template Struttura applicazion e (progetti, codice,…) Policy (TDL) Guida (contesto e html) Elementi da includere Elementi da escludere Enterprise Templates La soluzione

User Services Layer Web Forms Le pagine Web sono prodotte dinamicamente dal server Web Interfaccia utente divisa in due componenti Componenti visuali Componenti visuali Logica dell’interfaccia utente Logica dell’interfaccia utente Applicazione non dipendente dal browser Modello ad oggetti coerente Programmazione guidata dall’evento

Business Logic Layer Creazione dello strato di Business Utilizzato per incapsulare “le regole di business” in uno strato separato rispetto ai dati ed ai servizi di interfaccia Calcolo delle tasse Calcolo delle tasse Calcolo delle spese di spedizione Calcolo delle spese di spedizione Verifica del formato di un indirizzo Verifica del formato di un indirizzo Stateless Composto di classi.NET

Data Access Layer (DAL) Creazione dello strato Data Riceve le richieste dallo strato di Business Inserimento, aggiornamento, cancellazione Inserimento, aggiornamento, cancellazione Potrebbe ricevere richieste direttamente dall’interfaccia utente o dallo strato Business Façade Semplici visualizzazioni Semplici visualizzazioni Utilizza stored procedure per recuperare i dati Restituisce i dati allo strato Business /Façade

Flusso dell'Applicazione Navigazione sulle categorie User Services Layer CategoriesModule.ascx Invoca BusinessFacade.ProductSystem.GetCategories Business Façade Layer Invoca DataAccess.Categories.GetCategories Data Services Layer Invoca la Stored Procedure GetCategories SQL Server La Stored procedure GetCategories preleva i dati

Flusso dell'Applicazione Ricerca User Services Layer SearchModule.ascx Invoca BusinessFacade.ProductSystem.GetSearchItems Business Façade Layer Invoca il giusto metodo DataAccess.Books.? ? = Il nome del metodo dipende dal criterio di ricerca Data Services Layer Invoca la Stored Procedure appropriata al tipo di ricerca SQL Server GetBooksByTitle GetBooksByISBN GetBooksByAuthor …

© 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.