In questo speech esploreremo le REST API più interessanti e curiose pubblicamente disponibili. Dopo una introduzione utile a fissare concetti di base e prerogative, vedremo come “consumarle” con Delphi costruendo accattivanti applicazioni client.
In queste slide verrà visto come collegare i servizi offerti dalle mobile service in azure. Ci saranno inoltre due semplici progetti (una chat e una to-do list) che sfruttano il data storage delle mobile services
Slide della sessione "Creare un Information Radiator in Delphi" per ITDevCon 2017. Si parla della creazione di un pannello informativo basato su Raspberry Pi 3 e Android, e programmato con Delphi e FireMonkey.
In questo speech esploreremo le REST API più interessanti e curiose pubblicamente disponibili. Dopo una introduzione utile a fissare concetti di base e prerogative, vedremo come “consumarle” con Delphi costruendo accattivanti applicazioni client.
In queste slide verrà visto come collegare i servizi offerti dalle mobile service in azure. Ci saranno inoltre due semplici progetti (una chat e una to-do list) che sfruttano il data storage delle mobile services
Slide della sessione "Creare un Information Radiator in Delphi" per ITDevCon 2017. Si parla della creazione di un pannello informativo basato su Raspberry Pi 3 e Android, e programmato con Delphi e FireMonkey.
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
Dal 2015 gli utilizzatori di Power BI hanno potuto analizzare dati in real-time grazie all'integrazione con altri prodotti e servizi Microsoft. Con streaming dataflow, si porterà l'analisi in tempo reale completamente all'interno di Power BI, rimuovendo la maggior parte delle restrizioni che avevamo, integrando al contempo funzionalità di analisi chiave come la preparazione dei dati in streaming e nessuna creazione di codice. Per vederlo in funzione, studieremo un caso specifico di streaming come l'IoT con Azure IoT Central.
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
Dal 2015 gli utilizzatori di Power BI hanno potuto analizzare dati in real-time grazie all'integrazione con altri prodotti e servizi Microsoft. Con streaming dataflow, si porterà l'analisi in tempo reale completamente all'interno di Power BI, rimuovendo la maggior parte delle restrizioni che avevamo, integrando al contempo funzionalità di analisi chiave come la preparazione dei dati in streaming e nessuna creazione di codice. Per vederlo in funzione, studieremo un caso specifico di streaming come l'IoT con Azure IoT Central.
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.
Evento: https://www.xedotnet.org/eventi/one-day-enterprise-application/
"Alla ricerca della formula magica". Presentazione usata per il ciclo di webinar su traduzione e adattamento di siti web per AITI Emilia Romagna, novembre-dicembre 2016.
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
Questa sessione tratterà delle implementazioni di architetture robuste e scalabili, in scenari di sviluppo applicativi rientranti nella tipologia dei Software as a Service. In particolare vedremo come accopiare le feature e le necessità del SaaS con servizi propri presenti su Azure; con focus su web, servizi mobili, data, e notification.
Dopo una breve introduzione dei concetti di base legati all'Internet of Things, durante questa sessione si fornirà una panoramica degli strumenti che Microsoft mette a diposizione degli sviluppatori per creare le proprie soluzioni IoT: Windows 10 for IoT e alcuni servizi di Azure quali Event Hubs e Stream Analytics. Si utilizzerà un semplice esempio di telemetria per mostrare la realizzazione pratica di uno scenario end-to-end per la trasformazione dei dati provenienti da un sensore in informazioni utili per effettuare analisi e/o prendere decisioni.
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#DotNetCampus
Visto il successo dello scorso anno, anche quest’anno il DotNetCampus ospita un Cert Path dedicato a chi vuole avvicinarsi al mondo delle certificazioni di prodotto e di tecnologia Microsoft. Microsoft, così come altre importanti aziende sul mercato, propone diversi percorsi di certificazione che ognuno può intraprendere, anche in autonomia, per guadagnare competenza e ottenere un riconoscimento. Una certificazione è generalmente un titolo che si ottiene dopo uno o più esami conseguiti con successo in un centro di formazione abilitato. Nel Cert Path vogliamo spiegarvi come affrontare alcuni esami di base per ottenere il titolo di MCP (Microsoft Certified Professional).
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONSDotNetCampus
Visto il successo dello scorso anno, anche quest’anno il DotNetCampus ospita un Cert Path dedicato a chi vuole avvicinarsi al mondo delle certificazioni di prodotto e di tecnologia Microsoft. Microsoft, così come altre importanti aziende sul mercato, propone diversi percorsi di certificazione che ognuno può intraprendere, anche in autonomia, per guadagnare competenza e ottenere un riconoscimento. Una certificazione è generalmente un titolo che si ottiene dopo uno o più esami conseguiti con successo in un centro di formazione abilitato. Nel Cert Path vogliamo spiegarvi come affrontare alcuni esami di base per ottenere il titolo di MCP (Microsoft Certified Professional).
Visto il successo dello scorso anno, anche quest’anno il DotNetCampus ospita un Cert Path dedicato a chi vuole avvicinarsi al mondo delle certificazioni di prodotto e di tecnologia Microsoft. Microsoft, così come altre importanti aziende sul mercato, propone diversi percorsi di certificazione che ognuno può intraprendere, anche in autonomia, per guadagnare competenza e ottenere un riconoscimento. Una certificazione è generalmente un titolo che si ottiene dopo uno o più esami conseguiti con successo in un centro di formazione abilitato. Nel Cert Path vogliamo spiegarvi come affrontare alcuni esami di base per ottenere il titolo di MCP (Microsoft Certified Professional).
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DotNetCampus
Amministrare Team Foundation Server può diventare un lavoro a tempo pieno, viste le complessità che può raggiungere. In questa sessione vedremo una raccolta di casi reali - basati sull'esperienza diretta - spaziando dalle attività più comuni fino alle situazioni estreme di una grande infrastruttura, quali strumenti utilizzare e soprattutto quali sono le best practice da tenere in considerazione.
Cosa ci aspetta in Visual Studio 2015 e Team Foundation Server 2015? La nuova versione della piattaforma di ALM e' in arrivo, con molte nuove funzionalita' per sviluppatori e non. In questa sessione faremo una panoramica di cio' che ci arrivera'a con la nuova release, con tutte le novita' per sviluppo, metodologie e DevOps.
La continuous integration, ovvero un insieme di pratiche di sviluppo atte a rilasciare frequentemente le modifiche al nostro codice, può essere applicata anche a SQL Server. In questa sessione andremo a descrivere come mettere sotto controllo del codice sorgente i nostri database in un'ottica di teamwork e, successivamente, a capire come automatizzare il processo di test unitario al fine di prevenire regressioni e correggere quanto prima bug.
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATADotNetCampus
Scopri come utilizzare Azure Machine Learning, un servizio cloud che consente alle aziende, università, centri di ricerca e sviluppatori di incorporare e sfrutturare nelle loro applicazioni funzionalità di apprendimento automatico e analisi predittiva su enormi set di dati. Tramite Azure ML Studio possiamo creare, testare, attuare e gestire soluzioni di analisi predittiva e apprendimento automatico nel cloud tramite un qualunque web browser. Durante la sessione si darà un saggio attraverso un esempio di analisi predittiva sul Flight Delay.
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDotNetCampus
In questa sessione verrà mostrato in che modo la soluzione Microsoft per la VDI (Virtual Desktop Infrastructure) e la virtualizzazione delle applicazioni con App-V ci aiutano a creare una nuova modalità di lavoro, per un’impresa efficiente e al passo coi tempi! La gestione dinamica dei desktop e delle applicazioni velocizza e ottimizza l’infrastruttura IT, permettendo così di rispondere in maniera agile alle mutevoli esigenze aziendali.
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREDotNetCampus
L’ Infrastructure as a Service è la possibilità di creare macchine virtuali nel Cloud, senza dover affrontare i costi legati all'acquisto di nuovo hardware, con il vantaggio della flessibilità e del Pay-as-Use. Durante questa sessione vedremo come creare le Virtual Machine su Microsoft Azure, come gestirle e come metterle in comunicazione con la propria infrastruttura. Creeremo quindi un Hybrid Cloud e ne valuteremo tutti i vantaggi.
Tutte le novià sulla nuova versione di SharePoint racchiuse in una sola singola sessione. Cosa è cambiato e come, cosa non cambierà e cosa non ci sarà più saranno i tre pilastri su cui costruiremo il pianodi avvicinamento a SharePoint 2016 previsto per la seconda parte del prossimo anno.
Di progetti fatti con Arduino se ne sono visti tanti, e tanti se ne continuano a vedere. Se ne vedono un po' meno con Netduino, il microcontrollore che gira con il .NET Micro Framework. In questa sessione vedremo come il nostro giocattolino può diventare un dispositivo di input per il nostro computer. Costruiremo un semplice circuito, e useremo Netduino per raccogliere i dati dall'ambiente esterno e inviarli ad un'applicazione Windows Store.
Microsoft Band e' uno dei piu' innovativi e cross platform smartwatch sul mercato. Recentemente sono stati rilasciati SDK per le principali piattaforme mobile. In questa sessione vedremo come interagire con lo smartwatch da applicazioni Windows Phone e Windows Store.
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!DotNetCampus
Unity3D 4.6 introduce un nuovo sistema di layout per creare interfacce grafiche per la gestione dei menu che permette in modo semplice e veloce di creare tutto quello che non è parte del gioco ma è indispensabile per l'experience dell'utente. Parleremo di interfacce utente nello spazio dello schermo con o senza prospettiva, supporto per l'allineamento perfetto dei pixel, controlli integrati e personalizzati, callback per i controlli dell'interfaccia con il nuovo persistent delegate system.
In questa sessione vedremmo una panoramica degli strumenti messi a disposizione per lo sviluppo nativo su Windows Phone 8.1. Verrà posta particolare attenzione al suo utilizzo per lo sviluppo di applicazioni ibride (C# / C++) che hanno la necessità di riutilizzare algoritmi sviluppati su piattaforme desktop.
Milioni di notifiche con Azure Notification Hub Manda milioni di notifiche ai tuoi utenti Windows, Android e iOS con poche righe di codice tramite Azure Notification Hub. Costruisci il tuo servizio di notifiche push multipiattaforma, scalabile e facile da implementare e gestire. E gratuito fino ad 1 milione di notifiche al mese.
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSDotNetCampus
I Mobile Services di Microsoft Azure rappresentano la soluzione cloud più completa e pratica per gestire diversi scenari, dal login nell'applicazione fino alla gestione dei dati in cloud. Per integrarli nelle nostre applicazioni Xamarin.Forms, però, sono necessari alcuni accorgimenti. Mostreremo come collegare applicazioni Xamarin.Forms ai Mobile Services, gestire le tabelle dati, validare e modificare i dati con gli script, gestire l'autenticazione degli utenti con i Mobile Services.
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTDotNetCampus
Windows 10 è la piattaforma alla base di tutte le tecnologie presenti e future di Microsoft, nella quale giocano un ruolo fondamentale le Universal Windows app. Nel corso di questa sessione vedremo come sviluppare un'applicazione in grado di girare su computer, telefoni, tablet, console e nel mondo IOT e come ottimizzarle per massimizzare le similitudini e gestire le differenze.
3. Consulente, project manager e trainer dal 1996
Oltre 40 certificazioni Microsoft conseguite
Microsoft Certified Solutions Master – SharePoint
Focalizzato su .NET e SharePoint dal 2002
Autore di 10 libri su XML, SOAP, .NET,
LINQ e SharePoint
• Microsoft SharePoint 2013 Developer Reference, Microsoft Press
• Build Windows 8 Apps with Microsoft Visual C# and
Visual Basic Step by Step, Microsoft Press
• Microsoft SharePoint 2010 Developer Reference, Microsoft Press
Speaker alle principali conferenze IT
Chi sono
6. Quasi ogni applicazione
Consuma dati (CRUDQ)
Lavora grazie ai dati
Svolge operazioni transazionali
• Garantendo la consistenza e l’integrità dei dati
Ma le Windows Store App e WinRT supportano l’accesso ai
database?
No! E allora come m*n#*ia faccio?!
L’esigenza primordiale
7. Elementi base di Windows Runtime in .NET
.NET for Windows 8 Apps
BCL
HTTP
XML
Serialization
WCF
10. Correva l’anno 2000 D.C. e qualcuno diceva
Pensate il vostro software «orientato ai servizi»
Prevedete uno strato di presentazione «sottile»
Lasciate logiche e dati server-side
• Esposti tramite servizi
Service Oriented Architecture
11. File locale (XML, CSV, ecc.)
SQLite for Windows 8
WCF/SOAP Service
OData
REST + POX/JSON/RSS/ATOM
Azure Service (SOAP/REST)
Brokered WinRT Component
Sorgenti consumabili
12. Strumenti disponibili
Local Storage
• Alla rimozione della App i file vengono cancellati
User’s folders
• Occorre specifica capability e file type declaration
• Ma in caso di App Uninstall i file permangono
Roaming Storage?
• No! Troppo poco spazio (100KB)
File locali
15. Occorre gestire manualmente la sincronizzazione con la parte server
Sempre che esista una parte server ...
I dati sono sul device dell’utente
Va bene per dati di reference
Non va bene per dati «business» … come gestiamo BYOD?
Non si sposa con l’idea di avere i dati everywhere/on every device
A meno di non fare a mano dei meccanismi di resync
Va bene comunque per file di dati di piccole dimensioni
Non pensate di metterci dentro 1M di clienti e 10M di ordini ...
Limiti
17. In ottica SOA sono una delle scelte migliori
Binding
BasicHttpBinding
NetTcpBinding
NetHttpBinding
CustomBinding
Serializzatori disponibili
DataContractSerializer
DataContractJsonSerializer
XmlSerializer
WCF/SOAP Service
18. Supporta
Transport Security (HTTPS/SSL)
Transport with Message Credentials
Transport Credential Only
Sicurezza
Client Credentials
None
Basic
Digest
Negotiate
NTLM
Windows
Username (Message Security)
Windows (Transport Security)
19. Sicurezza integrata da abilitare in AppManifest
Richiede «Enterprise authentication» capability
Non supporta wsHttpBinding
Non supporta wsFederationHttpBinding
Non supporta connessioni in entrata
WCF Client e non WCF Service
Ma abbiamo NetHttpBinding ...
Limiti
21. OData = Open Data Protocol
www.odata.org
OData 4.0 è uno standard OASIS! (News - 17/3/2014)
In Windows Store Apps richiede add-on
WCF Data Services 5.6.0 RTM
Poi si consuma come un normale servizio WCF
Add Service Reference ...
OData
22. Possiamo usare sicurezza del trasporto
HTTP/HTTPS
Basic/Digest/Windows
Possiamo usare sicurezza ASP.NET
Con FBA o WIF in WS-Federation Passive
Via WebAuthenticationBroker
Possiamo usare OAuth (vedi dopo ...)
Eventualmente con Microsoft Azure ACS
Sicurezza
25. È comunque Service Oriented
Service non vuol dire solo SOAP!
Per molte App «veloci» è più semplice
Se non ci sono grandi pretese di protocollo/sicurezza
Possiamo usare gli stessi servizi anche da
HTML5/JavaScript
jQuery
iPad/iPhone/iOS in genere
Android
REST + POX/JSON/RSS/ATOM
26. Cambiano radicalmente il paradigma e i protocolli
OAuth è lo standard di riferimento
WinRT offre WebAuthenticationBroker
Utile non solo per OAuth, ma perché inventare la ruota ...
Si ragiona in termini di
Repository dati esterno (Facebook, SharePoint 2013, ecc.)
Autenticazione dell’utente
Autenticazione dell’applicazione
Autorizzazione che l’utente concede all’applicazione rispetto al Repository
In scenari web-based è la direzione ormai intrapresa
Sicurezza
27. Disponibile per side-loaded Windows Store App
A partire da Windows 8.1 Update
Comunicazione con il “desktop” classic
SQL Compact, SQL Express, ecc.
Riuso “estremo” del codice legacy in Windows Store App
Brokered WinRT Component Project Template
http://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e
Brokered WinRT Component
28. Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
paolo@devleap.com
Grazie