ASP.NET Dynamic Data

ASP.NET Dynamic Data consente di creare applicazioni Web basate sui dati facilmente estensibili ed orientate allo sviluppo R.A.D. L’attributo “Dynamic” è dovuto al fatto che il sistema inferisce in fase di esecuzione l’aspetto e il comportamento, sulla base della definizione delle entità presenti nello schema del database e derivando da questo il comportamento dell’interfaccia utente. Questa operazione è detta scaffolding, ovvero una tecnica di generazione automatica delle pagine Web per ogni tabella del database. Lo scaffolding consente di creare automaticamente un sito Web per la visualizzazione e la modifica dei dati sulla base dati. È possibile personalizzare facilmente gli elementi di scaffolding o crearne di nuovi per eseguire l’override del comportamento predefinito.

È anche possibile abilitare il comportamento dinamico nelle applicazioni Web nuove o esistenti senza utilizzare lo scaffolding. In tale caso, è necessario specificare in che modo e in quali situazioni Dynamic Data deve inferire gli elementi dell’interfaccia utente dall’origine dati senza utilizzare lo scaffolding per l’intero sito Web.

Come mostrato in Figura 2.2, l’architettura di Dynamic Data contiene i seguenti livelli:

  • Il livello di presentazione, che contiene gli elementi utilizzati per creare l’interfaccia utente per la visualizzazione e la modifica delle entità di dati.
  • Il livello dei dati, che contiene il modello dati che rappresenta le entità del database, come i tipi CLR.

Il livello del mapping per l’origine dati, che contiene gli elementi appartenenti a CLR ma utilizzati da Dynamic Data. Questi elementi sono tecnologie quali LINQ to SQL e ADO.NET Entity Framework, utilizzate per generare modelli dati.

ASP.NET Dynamic Data

ASP.NET Dynamic Data consente di creare applicazioni Web basate sui dati facilmente estensibili ed orientate allo sviluppo R.A.D.

Dynamic Data supporta le opzioni di progettazione seguenti:

  • Creazione di un sito Web utilizzando lo scaffolding: Attraverso l’analisi del modello dati viene generato dinamicamente il sito in base alle informazioni dei metadati. Le funzionalità CRUD vengono fornite in automatico per ogni tabella.
  • Adozione del comportamento dinamico per singoli controlli data oriended, quali i controlli GridView e ListView, all’interno di in un sito Web ASP.NET esistente. Ciò consente di utilizzare funzionalità di Dynamic Data semplificando lo sviluppo e mantenendo la retrocompatibilità con il lavoro svolto. In pratica questo approccio consiste nell’impiegare i componenti presenti all’interno del framework in relazione al proprio contesto applicativo.
  • Adozione di Dynamic Data all’interno di un sito Web ASP.NET, sia esso nuovo o preesistente; è possibile aggiungere funzionalità di Dynamic Data ed elementi di scaffolding a un sito Web standard. In questo caso si introducono elementi di scaffolding. Questo approccio costituisce un buon compromesso tra le funzionalità di scaffolding e la possibilità di implementare soluzioni custom.

 

È possibile personalizzare il livello di presentazione, modificando i modelli predefiniti o creando modelli nuovi per visualizzare i dati e applicare logiche particolari.

Per la presentazione dei dati, è possibile personalizzare il comportamento di Dynamic Data per tabelle o campi singoli in base al modello dati o allo schema di database. In questo caso, la personalizzazione è specifica a seconda del livello a cui si deve agire. Ad esempio, è possibile personalizzare l’interfaccia utente per un singolo campo dati, oppure creare un modello di pagina personalizzato o addirittura utilizzare modelli di entità per eseguire il rendering di una singola tabella. È possibile modificare l’aspetto e il comportamento di singoli campi di dati tramite gli attributi dello spazio dei nomi System.ComponentModel.DataAnnotations, all’interno della descrizione dello schema. È inoltre possibile personalizzare il comportamento di un’applicazione, in modo da creare una particolare validazione.

I PRO di ASP.NET Dynamic Data

  • Facile da imparare
  • Si basa su tecnologie standard
  • Adotta pattern ben definiti
  • Permette l’integrazione con applicazioni già esistenti
  • Supporta l’approccio Design-First e Database-First
  • Beneficia di un framework di supporto vasto e maturo
  • Permette il deploy tramite gli strumenti nativi del framework .net
  • Permette di implementare soluzioni ibride esponendo i singoli componenti utilizzati

I CONTRO di ASP.NET Dynamic Data

  • Si basa su tecnologie proprietarie
  • Occorre sostenere costi di licenza indiretti (licenza sistema operativo, ambiente di sviluppo)
danielefontani

Actually CTO in Sintra Consulting s.r.l, I'm senior developer and architect specialized on portals, intranets, and others business applications. Particularly interested in Agile developing and open source projects, I worked on some of this as project manager and developer. My experience include: Frameworks \Technlogies: .NET Framework (C# & VB), ASP.NET, Java, php, Spring Client languages: XML, HTML, CSS, JavaScript, Angular.js,Angular. jQuery Platforms: Sharepoint,Liferay, Drupal Databases: MSSQL, ORACLE, MYSQL, Postgres

Lascia un commento