Progetto e realizzazione di un software in ambiente Web per l’integrazione di applicazioni basato...

Post on 05-Jul-2015

331 views 2 download

description

Ledion Spaho - slide prelaurea

Transcript of Progetto e realizzazione di un software in ambiente Web per l’integrazione di applicazioni basato...

Progetto e realizzazione di un software in Progetto e realizzazione di un software in ambiente Web per l’integrazione di ambiente Web per l’integrazione di

applicazioni basato su WCFapplicazioni basato su WCF

Università deglidegli studi di Trieste

C.d.L.S. in Ingegneria InformaticaC.d.L.S. in Ingegneria Informatica

applicazioni basato su WCFapplicazioni basato su WCF

Laureando:

Ledion SPAHO

Relatore:

chiar.mo prof. Maurizio Fermeglia

Struttura della presentazioneStruttura della presentazione

� Introduzione

� L’integrazione

� L’applicazione

� Ricapitolazione

� Demo

� Conclusioni

� DI3 : software già in uso sviluppati ad-hoc

◦ N applicativi desktop

◦ N Database

ProblemaProblema

•Ingestibile (manutenzione)•Inefficiente (DB e funzioni ridondanti)•Poco user-friendly (diverse UI)•Scarsa scalabilità (app. 2 tier isolate)

◦ N Database •Scarsa scalabilità (app. 2 tier isolate)•Rischio di Legacy System (WinForm non sono più supportati)

� Nessuna possibilità di usarle da remoto (internet)

� -||- -||- -||- comunicazione tra loro (isolate)

� Integrare/unificare il lavoro svolto dagli altri studenti

� Ricoprire gli obiettivi del dipartimento

ObiettiviObiettivi

� Separare logicamente le funzionalità in diverse aree di preoccupazione

� Comunicazione agevole con gli altri SW presenti e futuri

� Essere facilmente estendibile

Motivi e SoluzioneMotivi e Soluzione

� Motivi :

◦ la possibilità di estendere e migliorare il sistema preesistente

◦ l’accessibilità dei servizi via Web

� Soluzione : Integrazione

◦ scambio di informazioni tra SI eterogenei ed autonomi

◦ sviluppare le attività aziendali e mantenere certe risorse e app. già presenti)

� Integrazione = Ristrutturazione che funzioni oggi e getta le basi per affrontare le sfide di domani.

� Web Server IIS 7.0

� MS SQLServer 2008R2

-------------------------------------

Vincoli e Scelte progettualiVincoli e Scelte progettuali

-------------------------------------

� .NET Framework 4

� C# & Asp.NET

� EntityFramework

� WCF RIA Services

� DynamicDataControl

� AjaxControlToolkit

� Servizi WCF che incapsulano la logica di business di un'applicazione

DomainServices, un pattern che permette scalabilitàDomainServices, un pattern che permette scalabilità

•Incapsulamento del Business Logic

•CRUD

•Validazione dei dati d’input

•UnitTest Code

•Sicurezza (Auth. Roles SSL)

•Paginazione / Raggruppamento / Filtro

•Queries Parallelizabili

•Riunisce Web & RIA

I casi d’usoI casi d’uso

Consultazione Sostanze ChimicheConsultazione Sostanze Chimiche

Prelievo ReagentePrelievo Reagente

Autocomplete/Suggest

Filtro

Restituzione ReagenteRestituzione Reagente

Archivio OrdiniArchivio Ordini

OrdiniOrdiniDettaglio Ordine

Filtro

Compilazione del doc. nuovo ordine Compilazione del doc. nuovo ordine

1. Estremi2. Utente – Fornitore3. CdC / Commessa; Fondo4. Lista di prodotti5. @ al fornitore e/o 5. @ al fornitore e/o

anteprima stampa • Una copia del doc. viene

salvata sul server, i dettagli dell’ordine nel DB

Area AdminArea Admin

Gestione ReagentiGestione Reagenti

Filtro

Autocomplete/Suggest

Sostanze

Reagenti

ScaffoldingScaffolding

� Integrazione e modifiche sul DB

� Riusabilità/riscrittura della logica applicativa

◦ Wrap & re-engineer, Rip & replace

Riassunto del lavoro svoltoRiassunto del lavoro svolto

� Progettazione e sviluppo di una interfaccia grafica Web ex novo

◦ WebForms, AJAX, DynamicData (Scaffolding)

----------------------------------------------------------------------------------------------

� DB: ~ 30 tables 5 SP 25 views

� ~ 10.000 linee di codice,

� diversi linguaggi: programming, query, markup, style e scripting

◦ Asp.NET, C#; SQL (DDL DML & T-SQL), LINQ; HTML, XML; CSS; JavaScript

� N app. 2-Tier => 1 app. 3-Tier (possibilità di ulteriore estendibilità)

� ‘Spaghetti’ code => ‘Lasagne’(strati) & ‘Ravioli’(moduli) code

� Silos Information => Consumo & esposizione di servizi

I miglioramentiI miglioramenti

� Unificazione di authn, authz, roles; aggiunta la registrazione

◦ utente – ruolo in relazione 1:n

� Aumento dell’ User eXperience (grazie all’AJAX)

� (The last but not the least) Scaffolding

L’evoluzione futura possibileL’evoluzione futura possibile

1. Integrazione P2P => complessità & costi di manutenzione

2. Sistema ERP => unica applicazione che copre tutti i requisiti

3. SOA => far coesistere i sistemi eterogeneni tra di loro

DEMODEMO

Gli obiettivi prefissati sono stati raggiunti :

� Il sistema è accessibile facilmente da chiunque e dovunque

� Reso/Prelievo non necessita la compilazione di moduli cartacei

ConclusioniConclusioni

� Situazione del magazzino in real-time consultabile via Web

� Gestione e consultazione dell’archivio degli ordini agevolmente

� Compilazione in modo più semplice e rapido del documento necessario alla richiesta delle merci o dei servizi

� Sviluppi futuri

◦ Bug Fixing

◦ L’importazione dei dati reali del magazzino

◦ Aggiungere ‘Frasi F’ : Precauzioni di conservazione (non obbligatoria)

Sviluppi & MiglioramentiSviluppi & Miglioramenti

◦ Aggiungere/Integrare altre funzionalità nel sistema(quando necessario)

� Possibili miglioramenti

◦ L’uso dei protocolli crittografici durante l’autenticazione

◦ Uso della firma digitale ai documenti d’ordine inviati ai fornitori

Grazie per l’attenzioneGrazie per l’attenzione