Dopo anni di disegno e sviluppo di applicazioni in Java, mi ritrovo a dover sviluppare un applicativo web con interfacciamento verso uno strato di webservices interni , completamente in .net .
Dopo lo sconforto iniziale di dover iniziare da capo a muovermi all’interno di una piattaforma tecnologica da zero, inizio a cercare documentazione utile allo scouting delle tecnologie utilizzabili.
Scenario di test
Il progetto di test che voglio mettere in piedi si basa su una web-application molto semplice.
Si tratta di fornire dati ad un utente sulla base di un suo codice e parametri di input.
La prima maschera è la raccolta dei dati utente , in questo caso Username e password.
Una volta autenticato l’utente si propone la lista di delle funzioni disponibili:
- Estratto Movimenti
- Dati Anagrafici
Estratto Movimenti prevede la selezione di un filtro per data, e l’ottenimento di dati fiscali e con la possibilità di vedere il dettaglio delle singole operazioni effettuate dall’utente.
Dati Anagrafici prevede l’ottenimento del dettaglio dei dati anagrafici dell’utente.
Questo per quanto riguarda il front-end che andremo ad implementare.
Per il backend, i dati sono forniti direttamente tramite da alcuni webservices .
Quello che dobbiamo andare a costruire è tutto lo strato di interfacciamento tra la web-application, e i servizi, cercando di separare le funzionalità e la responsabilità, al fine di ottenere un’infrastruttura modulare che ci permetta di lavorare velocemente con i mock e creare semplici test case per monitorare le varie fasi di sviluppo e test di regressione. Uno dei punti fondamentali su cui pongo l’attenzione è il low coupling tra i vari strati che compongono l’intera soluzione.
Identificazione delle tecnologie
La web application verrà realizzata in ASP.NET utilizzando la metodologia MVC 2 , mentre lo strato di Business Logic verrà realizzata esponendo dei servizi, tramite WCF (Windows Communication Foundation) che oltre a fare da agent verso i webservice, implementeranno la business logic sui dati.
Il webservice che esporrà i dati allo strato di Business Logic sarà un webservice puro.
Per questo test, utilizziamo il framework 3.5 e visual studio 2010