2. • Obiettivi e architettura
• Sviluppo RAD
– Visual Studio
– Data layer, TypeScript
• Interfaccia utente
– Template-driven, modello a oggetti di tipo XAML,
interfaccia utente con lettura e scrittura di JSON
per la composizione e l’editazione dinamica di
un’interfaccia personalizzabile
Introduzione
3. Obiettivi principali
• Progettato per il cloud
– Massima scalabilità grazie a un’ottima implementazione lato
client e a un’applicazione di tipo SPA (single page application)
– Basso consumo di banda: poche operazioni lato server
• Javascript e le viste sono caricate tramite cache, solo i dati (con o
senza changetracking) sono caricati ogni volta
• Approccio delle API incentrato sui dati e sul pieno
controllo del dominio, nello stile delle server application
targate Microsoft .Net
• Sviluppo RAD perfettamente integrato con Visual Studio
2013 e Microsoft Typescript
– Implementazione con Silverlight e HTML5: poco utilizzo di
banda, alta manutenibilità del codice
4. Obiettivi principali
• Sviluppo lato client molto simile a quello di WPF e
Silverlight, basato sul pattern Model View – View
Model
• Test driven development
• Codice scritto una sola volta e rilasciato su diversi
browser e dispositivi tramite continui miglioramenti
• Architettura scalabile e manutenibile
- Divisione netta fra comandi e query
5. Obiettivi principali
• Mercati
– Software aziendali basati sul cloud
• Da smartphone a desktop
– Linea di mercato basata su Shell container
– Linea di mercato basata su UX composer
– Bus command processor basato sulla “Internet of
everything”
– UX composer avanzato basato sulla “Internet of
everything”
– Bus command processor per l’automazione
– Elaboratore di messaggi avanzato
6. Obiettivi principali
• Sistemi di comunicazione
– HTTP/S, FTP, POP3, IMAP, SMTP, TCP/IP, UDP
– Gestione del protocollo
– REST e (opzionalmente) SOAP
• Modelli di integrazione
– EAI: Invocazione asincrona, Req-Resp, One-way, Pub-Sub
– Adattatori di applicazioni, di tecnologie, di linguaggi
– CQRS
• Interazione fra i servizi
– Grazie a WCF tutti i protocolli Web Socket sono supportati
automaticamente
7. Obiettivi principali
• Elaborazione dei messaggi
– VETO: Validate, Enrich, Transform, Operate (validare, migliorare,
cambiare, funzionare)
– Validazioni (XSD), Integrazione dei dati (WS,DB), Cambiamenti (XSLT,
MAP)
• Servizi di qualità
– BAM, ETW, tracing dell’applicazione
• Sicurezza
– SAML, OAUTH, WIF
• Validazioni
– Business Rules dinamiche, JSON e XSD
• Business Process
– Service Bus integration opzionale
– Utilizzo di Biztalk o altri BPM engines
8. Architettura
• Punti chiave
– Integrazione dell’Enterprise Service Bus
• Utilizzo di localizzatori di servizio astratti
– XML e middleware orientate ai messaggi
• Orchestrazione, Workflow, SAGAs
– Ubicazione dei servizi chiara e trasparente
• Sottoscrizioni sempre “aspect oriented”
– Sicurezza
• Logica di implemetazione dell’applicazione integrata
– Ripartizione degli elementi tramite component, Model
View-View Model, attività, workflows, BP
9. Architettura
• Sicurezza
– OAUTH2, WIF
– Basata sui claims
– Policy di sicurezza implementate tramite vincoli
• Validazioni
– Basate sulle business rules
– Ottimizzate perfettamente lato client, in maniera sia
sincrona che asincrona
– Sviluppi futuri:
• F# -> Integrazione basata su javascript e sul CLR lato server
10. SUE AGILE
Facebook - SUE AGILE
Linkedin – SUE AGILE
www.sue-agile.codearchitects.com
http://sueagile.cloudapp.net/
11. Ing. Sabino Labarile
Code Architects s.r.l.
Via Jazzitiello 15 C/D Santeramo in Colle (Bari)
www.codearchitects.com