Web, Cloud, Mobile e micro servizi (3)

Cloud Computing: tecnologie e problematiche

Negli ultimi anni le tecnologie e le piattaforme di cloud computing hanno destato molta attenzione nelle aziende in quanto promettono notevoli risparmi sui costi di gestione delle infrastrutture, delle piattaforme tecnologiche e delle licenze software. Gli strumenti di gestione di un cloud, inoltre, sono semplici da utilizzare e configurare e, spesso, sono forniti come applicazioni web multipiattaforma. Lo sviluppo delle applicazioni e l’estensione delle piattaforme cloud è semplificata da ambienti di sviluppo ad hoc forniti dal provider. In letteratura esistono molte definizioni di cloud computing ma tutte quante concordano sulla presenza di tre principali tipi di servizi: di Infrastruttura (IaaS), di Piattaforma (Paas) e Applicazioni fruibili direttamente (SaaS).Ma che cos'è il cloud computing? Quali reali vantaggi fornisce alle aziende? Quali tipi di piattaforma esistono? Quali standard utilizzare per l'implementazione di applicazioni in modalità cloud?

Destinatari

  • Capi progetto
  • Analisti
  • Sviluppatori
  • Chiunque sia interessato ad approfondire i concetti relativi al cloud computing

Prerequisiti

Conoscenze base sul funzionamento di Internet e delle applicazioni distribuite

Contenuti

  • Introduzione al cloud computing - cos'è il cloud computing, vantaggi, svantaggi e costi, modelli di business e valutazione del ROI, il problema della standardizzazione.
  • I principali servizi del cloud - definizioni a confronto, la definizione del NIST, architettura di riferimento e principali pattern architetturali, IaaS, PaaS, SaaS, il movimento XaaS, caratteristiche e proprietà fondamentali, modalità di deploy, scenari di utilizzo.
  • Infrastructure-as-a-Services (IaaS) - cos’è IaaS, virtualizzazione (server, reti, storage, desktop,…), architettura e funzioni di un IaaS, cosa deve fornire un IaaS, gestione dell’infrastruttura, creare un IaaS aziendale, strumenti e tecnologie a confronto.
  • Platform-as-a-Services (PaaS) - cos’è PaaS, architettura e funzioni di un PaaS, il multitenancy, gestione della piattaforma, creare un PaaS aziendale, strumenti e tecnologie a confronto.
  • Software-as-a-Services (SaaS) - cos’è SaaS, tipologie di SaaS, piattaforme per l’implementazione di SaaS, gestione ed erogazione del software, esempi di SaaS, strumenti e tecnologie a confronto.
  • The Extended Enterprise - relazione fra cloud computing, SOA, web 2.0 e mobile application
  • Migrare al cloud - processo di migrazione al cloud computing, costi nascosti del cloud computing, strumenti per il calcolo e la verifica dei costi.
  • Cenni alle problematiche di sicurezza e privacy - paure, criticità e pericoli reali, la gestione della privacy nel cloud, la gestione della sicurezza nel cloud (infrastruttura, comunicazioni, applicazioni,…), gestione delle identità, Security-as-a-Services, standard e strumenti .
  • Casi di studio ed esempi.

Durata

3 giorni

Programmazione Web con Java: corso avanzato

Lo sviluppo di applicazioni web in Java ha subito negli ultimi anni notevoli evoluzioni e le tecnologie basate su servlet e JSP non sono più sufficienti per soddisfare tutti i requisiti delle applicazioni esistenti. A disposizione degli sviluppatori ci sono numerosi framework che consentono di sviluppare applicazioni di classe enterprise sia con interfaccia web tradizionale sia con le nuove interfacce ricche e interattive. Il corso, tramite l'esposizione di esempi e casi studio, vuole fornire le basi per lo sviluppo di applicazioni java con i nuovi framework e le linee guida per la scelta degli strumenti.

Destinatari

  • Progettisti e sviluppatori
  • Prerequisiti
  • Partecipazione al corso "Programmazione Web con Java: corso base" o conoscenze equivalenti

Contenuti

  • Architettura delle applicazioni java di ultima generazione;
  • Quale pattern: MVC o EventDriven?;
  • Sviluppo di applicazioni con Java Server Faces;
  • Estensioni ricche (Ajax based) per le Java Server Faces;
  • Confronto fra i principali framework basati su JSF;
  • Il framework Struts2;
  • Architettura di un'applicazione Struts2;
  • Implementare applicazioni MVC con Struts2;
  • Il framework Spring;
  • Dependency Injection;
  • Architettura di un'applicazione Spring;
  • Implementare applicazioni MVC con Spring;
  • Le componenti per l'accesso ai dati di Spring;
  • Altre componenti utili di Spring;
  • Utilizzo del pattern DAO;
  • Confronto fra i framework;
  • Un nuovo framework MVC: Stripes;
  • Esempi e casi studio.

Durata

3 giorni

REST Oriented Architecture

Negli ultimi anni il mondo dell'Information Technology ha visto l'affermarsi di nuovi paradigmi per lo sviluppo e la fruizione di applicazioni aziendali quali la Service Oriented Architecture, il Web 2.0, il Cloud Computing e le Piattaforme Mobili. SOA aveva lo scopo principale di fornire strumenti di infrastruttura e governance per la razionalizzazione dei servizi aziendali che potevano essere esposti e fruiti, virtualmente, con qualsiasi tecnologia. Il Cloud ha lo scopo di virtualizzare le applicazioni e i servizi aziendali in modo da ottimizzare l'utilizzo delle risorse informatiche. Con l'affermarsi delle applicazioni web di ultima generazione, sia per PC (Rich Internet Application) che per Piattaforme Mobili (Rich Mobile Application) le tecnologie di esposizione dei servizi, come, ad esempio, XML e SOAP, stanno lentamente scomparendo dal WEB per essere sostituite da strumenti meno rigorosi e più flessibili come REST.Si sta configurando, quindi, la creazione di una REST Oriented Architecture (anche chiamata Web Oriented Architecture) dove le tecnologie web, basate sul protocollo HTTP stanno soppiantando tutte le altre e si pongono come collante universale per fare interoperare le applicazioni aziendali della stessa azienda o di aziende partner. Ma cos'è una REST Oriented Architecture? Su quali principi si basa? Cosa eredita da SOA? Quali sono i vantaggi e quali sono gli svantaggi? Quali strumenti sono disponibili sul mercato? Questo seminario, di carattere introduttivo, partendo dal confronto di una ROA con una SOA pone le basi per l'introduzione in azienda di una REST Oriented Architecture e per la sua connessione con altre aziende e con il Cloud.

Destinatari

  • Capi progetto
  • Analisti
  • Progettisti
  • Sviluppatori

Chiunque sia interessato ad approfondire i concetti relativi al Cloud Computing

Prerequisiti
Conoscenze base sulle SOA, sulle tecnologie internet e sulle applicazioni distribuite

Contenuti

  • Introduzione: evoluzione delle applicazioni aziendali - dal Web al Web 2.0, le Service Oriented Architecture, le Piattaforme Mobili, l'avvento del Cloud Computing, confronto fra le funzionalità, i vantaggi e gli svantaggi delle singole architetture;
  • REST Oriented Architecture - cos'è una REST Oriented Architecture, i principi su cui si basa una ROA, architettura delle applicazioni, cosa cambia nel ciclo di vita del software, cosa viene ereditato dalle architetture precedenti (punti di contatto con SOA, Web 2.0, Cloud e Mobile), realizzazione di applicazioni composite: i mashup, il problema del testing, standard, strumenti e best practices;
  • ROA e Governance - cos'è la governance, cosa cambia rispetto a SOA, gestire servizi nel mondo Web 2.0 e Cloud, standard, strumenti e best practices;
  • Le tecnologie per l'esposizione dei servizi - cenni su XML e web services SOAP - perché i Web Services di tipo SOAP sono in declino, l'avvento di REST, architettura dei servizi REST, protocolli per lo scambio dei messaggi (JSON, ATOM,...), possibili estensioni dell’architettura (WADL, JSON-P, JSON-Schema, JSON Encryption,…), strumenti per l'interrogazione del web (YQL), mashup e presentation services: strumenti e tecnologie, API o servizi? Strumenti per l’API Management, Tecnologie a confronto;
  • ROA e sicurezza - ROA eredita i problemi di sicurezza del web, quali standard? Come gestire la sicurezza di una ROA,Security as a Services.

Durata

3 giorni