Sviluppare servizi web con WebApi e odata
|
|
- Elisa Bonfanti
- 8 anni fa
- Visualizzazioni
Transcript
1 Sviluppare servizi web con WebApi e odata malta@vevy.com Articoli e codice: Blog: Profilo MVP:
2 Il Web Service «In principio era SOAP» Le quattro regole SOA di WCF I confini sono espliciti Definiti da un contratto, il loro attraversamento ha un costo I servizi sono autonomi Il contratto consente l'evoluzione dell'implementazione Sono pubblici solo lo schema e contratto Il formato neutro XML consente di sopravvivere alle tecnologie Le policy determinano capacità e requisiti del servizio
3 REST REpresentational State Transfer È uno stile architetturale Un'astrazione, una modalità di interazione con un Sistema Usa HTTP in toto come protocollo applicativo Impone un design stateless ogni richiesta è auto-descrittiva il client è detentore dello stato delle richieste Impone un basso accoppiamento ("loosely-coupled") il client conosce solo l'entry-point del server
4 Il «maturity level» di Leonard Richardson Livello 1 Molti Uri, singolo verb Livello 3 Hypermedia Livello 2 Molti Uri, molti verb Macchina a stati dell'applicazione CRUD SOAP (POST) Livello 0 Singolo Uri, singolo verb SOAP (POST)
5 Hypermedia Hypermedia as the engine of application state (HATEOAS) Il cambio di stato avviene eseguendo le 'request' reperite nelle 'response' del server sotto forma di Hyperlink Le risposte del server NON sono le entità Le risposte descrivono lo stato applicativo Le risposte contengono le entità
6 SOAP vs REST Contratto rigido problemi di versioning Metadati del servizio Descrive le policy Indicato quando basso numero di client client omogenei (.net, java, ) protocollo diverso da HTTP Hypermedia style scoperta dinamica Requisiti di un client HTTP ed entry-point Indicato quando alto numero di client client eterogenei client poco potenti (IoT) portabilità del servizio su altre piattaforme
7 Perché HTTP Permette alta scalabilità È un protocollo disconnesso È molto veloce Interamente implementato in kernel mode (HTTP.SYS) Non è (solo) un protocollo di trasporto ma anche un protocollo applicativo Lo standard descrive la semantica e i codici di ritorno L'infrastruttura IT è la stessa delle pagine web I Proxy per le politiche di Caching Gli apparati di routing e load balancing La security ha una lunga storia alle spalle (SSL)
8 Chi ha detto che http è 'lento'? 100 Persons con 1K blob 500 Persons senza blob GetPersons(100) scheme elapsed basichttp 5,719 wshttp 2,097 net.tcp 1,655 net.pipe 1,666 RIAsoap 5,972 GetPersons(100) scheme elapsed basichttp 5,829 wshttp 2,052 net.tcp 1,562 net.pipe 1,454 RIAsoap 5,706 GetPersons(500) scheme elapsed basichttp 8,353 wshttp 6,865 net.tcp 5,920 net.pipe 5,875 RIAsoap 8,476 GetPersons(500) scheme elapsed basichttp 8,387 wshttp 6,898 net.tcp 5,942 net.pipe 5,843 RIAsoap 8,563 MVCjson 88,848 WebAPIjson 82,198 * WebAPIbson 2,617 WebAPIxml 2,571 MVCjson 88,621 WebAPIjson 3,502 * WebAPIbson 1,762 WebAPIxml 2,634 MVCjson 8,537 WebAPIjson 4,932 * WebAPIbson 2,275 WebAPIxml 2,266 MVCjson 8,414 WebAPIjson 4,248 * WebAPIbson 4,719 WebAPIxml 2,266 (*) standard json (*) json.net (*) standard json (*) json.net
9 ASP.NET WEBAPI
10 WebAPI WebAPI è un framework per costruire servizi HTTP Si appoggia allo stack di asp.net Permette lo sviluppo di servizi REST Un servizio WebApi NON è automaticamente REST È flessibile e pluggabile Offre una pipeline semplice da espandere Usa concetti consolidati in asp.net MVC asp.net routing per mappare un URL ad un controller (classe) e action (metodo della classe controller)
11 Ciclo di vita di una richiesta pipeline WebAPI Client Request HTTP Server URI routing Execution Response URL Header Body (*) Verb /Values/1 Controller: ValuesController Action: Get Parameter: 1 HTTP Status code Headers Body
12 Configurazione 1. Global.asax.cs (modificato dal template) public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); } } 2. WebApiConfig.cs (generato dal template) Abilita due diverse possibilità di routing public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.maphttpattributeroutes(); // abilita gli attribute } } config.routes.maphttproute( // aggiunge una route secondo un pattern name: "DefaultApi", routetemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );
13 Gestire la request Grazie al routing vengono individuati La classe del controller Il nome della action (nome del metodo) da eseguire Il suffisso "Controller" è aggiunto per convenzione public class OrdersController : ApiController { public IHttpActionResult Get() { var ctx = new NorthwindContext(); var list = ctx.orders; return Ok(list); } }
14 Le tabelle di routing Possono essere mappati dalle tabelle di routing Occhio al nome O anche con l'attributo [FromBody] Possono essere aggiunti altri routing config.routes.maphttproute( name: "DefaultApi", routetemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // public IHttpActionResult Get(long id) // PUT api/customers/5 public void Put(string id, [FromBody]Customer updatedcustomer) config.routes.maphttproute( name: "api2", routetemplate: "api/special/{action}"); public class SpecialController : ApiController { [HttpGet] public HttpResponseMessage Add(int x, int y) { var result = x + y; var response = this.request.createresponse( HttpStatusCode.OK, result); return response; } }
15 Attributi di Routing Abilitato via config.maphttpattributeroutes(); Eseguito via attribute: RoutePrefix e Route [RoutePrefix("api/Demo")] public class RafController : ApiController [Route("raf1")] public IHttpActionResult Get() Oppure direttamente sulla action specificando anche i parametri [Route("Orders/{id}/details")] public IEnumerable<Order> GetDetailsByOrder(int id) {... } Supporta numerosi formati tra cui le regex
16 Action È possibile rinominare le action [ActionName("NuovoNomeMetodo")] Oppure escluderle dalla selezione delle Action [NonAction] Il parametro di ritorno può essere Il type CLR desiderato IHttpActionResult HttpResponseMessage public class ResponseMessageResult : IHttpActionResult { public ResponseMessageResult(HttpResponseMessage response); public HttpResponseMessage Response { get; } public virtual Task<HttpResponseMessage> ExecuteAsync(CancellationToken ct); }
17 Verb I verb sono fondamentali perché rispondono alla semantica HTTP GET and HEAD devono solo leggere sono soggetti a cache! GET, HEAD, PUT and DELETE sono idempotenti La loro ripetizione non provoca la riesecuzione del comando POST Non è idempotente usato per le insert ha senso inserire più volte Associare un verb ad una action [HttpGet], [HttpPost], etc. [AcceptVerbs("GET", "HEAD")]
18 Errori, exceptions e HTTP Gli status code descrivono anche gli errori Le exception lato server sono convertite in errori HTTP È possibile aggiungere un messaggio all'errore HTTP/ Not Found Content-Type: application/json; charset=utf-8 Date: Thu, 09 Aug :27:18 GMT Content-Length: 51 { "Message": "Product with id = 12 not found" } Usando CreateResponse + HttpError var msg = string.format("product with id = {0} not found", id); HttpError err = new HttpError(msg); return Request.CreateResponse(HttpStatusCode.NotFound, err); Usando CreateErrorResponse var msg = string.format("product with id = {0} not found", id); return Request.CreateErrorResponse(HttpStatusCode.NotFound, msg);
19 Request controller action authoriz. IHttpControllerSelector Dato un HttpRequestMessage ritorna HttpControllerDescriptor IHttpActionSelector Dato un HttpControllerContext ritorna HttpActionDescription Principali Estendibilità IValueProvider IActionValueBinder IModelBinder binding IActionFilter OnActionExecuting Action filter Conversione in json, xml, o altro media type IExceptionFilter IActionFilter OnActionExecuted Response Formatting Exception filter Action filter Esecuzione
20 MediaTypeFormatter MediaTypeFormatter è la classe astratta per serializzare una response in qualsivoglia format I formatter già presenti nella pipeline: Json.net e Xml formatter bson e molti altri su nuget Uno nostro formatter custom derivando questa classe La scelta avviene dietro una negoziazione standard HTTP Il client manda un header "accept" Il server risponde con un "content-type"
21 OWIN & KATANA
22 OWIN, uno standard per unificare lo stack dei component web in.net Consente di eseguire le applicazioni su una moltitudine di differenti host Application OWIN middleware authentication, signalr,... OWIN Katana selfhost Katana IIS Nowin
23 Device + Services + + OWIN +...
24 ODATA
25 odata odata è un'insieme di specifiche create per esporre dati Hypermedia 'Active Record' CRUD Definizione della forma degli URI Molti Uri Operazioni di tipo CRUD per agire Singolo Uri sulle entità e le loro relazioni Il formato di uscita può essere AtomPub o Json Esiste già un ecosistema di client che usano questo protocollo Tra questi MS Office Excel e PowerQuery (ex PowerPivot) Per creare servizi che espongono odata: Microsoft ha deprecato i WCF Data Services Sta maturando lo stack odata per le WebAPI
26 Le version di odata odata v3 è un protocollo creato da Microsoft le cui specifiche sono rilasciate pubbliche odata v4 è stato ceduto a OASIS che lo ha standardizzato Differenze: La v4 introduce breaking-changes rispetto alla v3 La v4 semplifica molti costrutti La v3 è ancora la più diffusa tra i client esistenti La v3 e v4 possono co-esistere (namespace differenti)
27 Crazy Versioning Namespace versioning Microsoft.OData.Core ODataLib v4.0 Microsoft.Data.OData ODataLib v3.0 System.Web.OData OData v4.0 System.Web.Http.OData OData v3.0 A partire dalla v4 Extension methods spostati in System.Web.OData.Extensions MapODataRoute MapODataServiceRoute QueryableAttribute EnableQueryAttribute Se mischiate, l'errore più probabile è un HTTP 406 Su nuget i package si distinguono facilmente:
28 Endpoint dei metadati Totale antitesi con la filosofia Hypermedia Schema in format XML che descrive Entity (type system) EntitySet (collection di entity) Action (funzioni che cambiano lo stato dei dati) Da non confondersi con le Action di WebApi Function (funzioni readonly) Complex type (entity di appoggio a funzioni e action) Permette l'auto-generazione di client
29 La CRUD di odata GET Esegue la request di una collection, un singolo element o una proprietà risponde con il body e 200 (OK) POST Inserisce una singola entità risponde con 204 (no content) PUT modifica una singola entità risponde con 204 (no content) MERGE / PATCH modifica parziale di una singola entità risponde con 204 (no content) DELETE cancellazione di una singola entità risponde con 200 (OK)
30 Filtrare i dati ($filter) La QueryString definisce la query CompanyName) eq true numerosi operatori applicabili alla query Le query vengono tradotte in Expression Tree di Linq Il metodo si limita a ritornare un IQueryable<T> L'expression finale verrà tradotta in query SQL dall'orm Vantaggi principali: Query dinamiche Si evitano problem di SQL Injection Paginazione dei dati evitando così di stressare il DB
31 odata $filter cheat sheet espressioni [eq, ne], [lt, le], [gt, ge] $filter=name eq 'raf' or, and, not date day, month, year hour, minute, second matematica add, sub, mul, div, mod (+, -, *, /, %) $filter=price add 1 lt 10 (price+1) <10 round(price) floor(price) ceiling(price) Date date, time, totaloffsetminutes, now maxdatetime, mindatetime, totalseconds year, month, day hour, minute, second, fractionalseconds stringhe substringof('raf', name) eq true startswith(name, 'Raf') eq true endswith(name, 'ele') eq true indexof(name, 'Raf') eq 0 length(name) gt 0 replace(name, 'R', 'r') eq \"raf\" substring(name, 5) eq \"ele\" substring(name, 2, 2) eq \"ff\" tolower(name) eq \"raffaele\" toupper(name) eq \"RAFFAELE\" trim(name) \"raf\" concat('x', 'Raf') eq \"XRaf\" contains(name,'ff') Tipi isof cast Geo geo.distance, geo.intersects, geo.length Lambda any, all
32 Non solo filtri Operazione Operatore Esempio Count di un EntitySet (collection) $count Ordinamento $orderby asc/desc $orderby=name%desc Paginazione Formato del payload Proiezione Espansione grafo $top $skip $format $select $expand
33 odata e SOA Devices Servizi odata REST Data Access Layer Data Data Store Hidden Data Store tier Nota: ogni triangolo e' un set di servizi di una applicazione che usa gli stessi dati
34 Domande?
Introduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno
DettagliLezione 1 Introduzione
Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software
DettagliIl Protocollo HTTP e la programmazione di estensioni Web
Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);
DettagliOpen Web Studio un altro modo per sviluppare rapidamente con DotNetNuke. Roberto Caporale roberto@bizcomit.it
Open Web Studio un altro modo per sviluppare rapidamente con DotNetNuke Roberto Caporale roberto@bizcomit.it Cos e OWS Un modulo di DotNetNuke Un ambiente di sviluppo Rad Un framework estendibile Cos era?
DettagliNicolò Carandini HTTP, Web Services e RestSharp (II parte) 1
Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1 HTTP, Web Services e RestSharp Dopo aver descritto nella prima parte di quest articolo 1 le basi su cui poggia la comunicazione nel Word Wide
DettagliProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni
Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi
DettagliScaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»
Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti
DettagliWEB API API. Una interfaccia che permette a un programma software di interagire con altro software. Investopedia
WEB API Vittorio Maniezzo - University of Bologna - API Un insieme di funzioni o procedure che permettono la creazione di applicazioni che accedono a funzionalità o dati di un sistema operativo, di una
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliPresentazione di Cedac Software
Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliIl Web-Service SDMX dell ISTAT
Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento
DettagliProtocollo di metadata harvesting OAI-PMH Lavoro pratico 2
Docente: prof.silvio Salza Candidato: Protocollo di metadata harvesting OAI-PMH Open Archive Initiative OAI (Open Archive Initiative) rendere facilmente fruibili gli archivi che contengono documenti prodotti
DettagliCasi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009
tesi di laurea Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Chimenti Matr. 534/1940 OBBIETTIVI
Dettagliappunti delle lezioni Architetture client/server: applicazioni client
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente
DettagliApplicazioni web centrati sui dati (Data-centric web applications)
Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento
DettagliComponenti Web: client-side e server-side
Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente
DettagliGestione degli indirizzi
Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
DettagliSiti web centrati sui dati (Data-centric web applications)
Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente
DettagliIl Web-Service SDMX dell ISTAT
Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...
DettagliLuca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client
Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un
DettagliDBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)
(DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni
DettagliBreve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
DettagliOverview su Online Certificate Status Protocol (OCSP)
Overview su Online Certificate Status Protocol (OCSP) Introduzione di Nicola Ferrini MCT MCSA MCSE MCTS MCITP La revoca dei certificati digitali consiste nel rendere non più valido un certificato prima
DettagliLa rivoluzione di ASP.NET Core nel mondo delle Web API
La rivoluzione di ASP.NET Core nel mondo delle Web API Raffaele Rialdi Senior Software Architect Microsoft MVP Consultant - Speaker - Teacher @raffaeler https://github.com/raffaeler http://iamraf.net raffaeler@vevy.com
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliSeminario di Sistemi Distribuiti RPC su SOAP
Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliProgettazione e Implementazione di API WebSocket per il Gateway Dog
Corso di Laurea in Ingegneria Informatica Tesi di Laurea Magistrale Progettazione e Implementazione di API WebSocket per il Gateway Dog Relatori: Fulvio Corno Luigi De Russis Candidato: Teodoro Montanaro
DettagliProgettoSMS. Manuale Gateway Web Services
ProgettoSMS Manuale Gateway Web Services Indice Indice... 2 Introduzione... 3 http Web Services... 4 Risposta... 4 Descrizione delle costanti... 5 AnswerRecipientType... 5 ErrorID... 5 ProtocolType...
DettagliCorso Sviluppatore servizi per il Web (WCF) Lezione 01
01 Introduzione Introduzione alla tecnologia WCF Premessa Il corso su WCF di cui state leggendo la prima lezione, vi guiderà alla scoperta di questa nuova tecnologia introdotta da Microsoft per venire
DettagliStack protocolli TCP/IP
Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti
DettagliGestione degli indirizzi
Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol
DettagliFacoltà di Farmacia - Corso di Informatica
Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito
DettagliJava Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet
Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML
DettagliSeminario di Sistemi Distribuiti: RPC su SOAP
Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO
DettagliIl Paradigma REST per lo sviluppo di applicazioni Web 2.0
tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.
DettagliCLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon CloudFront
Community - Cloud AWS su Google+ Amazon Web Services Servizio Amazon CloudFront Oggi vedremo il servizio di Amazon CloudFront per la distribuzione di contenuti statici tramite CDN. Hangout 08 del 03.03.2014
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
DettagliCorso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database
Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti
DettagliLaboratorio di Information Retrieval SOLR. Marco Rossetti rossetti@disco.unimib.it. Based on Emanuele Panzeri s slides panzeri@disco.unimib.
Laboratorio di Information Retrieval SOLR Marco Rossetti rossetti@disco.unimib.it Based on Emanuele Panzeri s slides panzeri@disco.unimib.it 19/12/2014 SOLR Search Engine Apache SOLR 1 è una piattaforma
DettagliInteroperabilità e cooperazione applicativa tra sistemi informativi
Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community
DettagliBibliografia: Utenti e sessioni
Bibliografia: Utenti e sessioni http: protocollo stateless http si appoggia su una connessione tcp e lo scambio nel contesto di una connessione si limita a invio della richiesta, ricezione della risposta.
DettagliSMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited 2015 http://www.yousms.it
SMS API Documentazione Tecnica YouSMS HTTP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione
DettagliGli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1
Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliClient e Server comunicano tramite il protocollo SOAP.
In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura
DettagliCome si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.
www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere
DettagliIntroduzione. Dicom in Oracle 11g: gestione e vantaggi
Introduzione Dicom in Oracle 11g: gestione e vantaggi Agenda Lo scenario del sistema sanitario moderno Cosa è DICOM? Gestione in Oracle dei dati DICOM Vantaggi Lo scenario Per molti anni utilizzo di carta
DettagliGartner Group definisce il Cloud
Cloud Computing Gartner Group definisce il Cloud o Cloud Computing is a style of computing in which elastic and scalable information technology - enabled capabilities are delivered as a Service. Gartner
DettagliSviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012
+ Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali
DettagliSicurezza nelle reti
Sicurezza nelle reti Manipolazione indirizzi IP 1 Concetti Reti Rete IP definita dalla maschera di rete Non necessariamente concetto geografico Non è detto che macchine della stessa rete siano vicine 2
DettagliGroups vs Organizational Units. A cura di Roberto Morleo
Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU
DettagliSicurezza delle applicazioni web: protocollo HTTP
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina Aristide Fattori
DettagliCreare client statici
Client statico Creare client statici Un client statico crea, a partire dal WSDL di un servizio, un insieme di classi di supporto client-side (stub) Sono necessari solo 2 passi: 1. parsing del WSDL pubblicato
DettagliIndice generale. Introduzione...xi. Gli autori...xv. Che cos è un server PostgreSQL...1
Introduzione...xi Contenuti del libro... xi Di cosa avete bisogno... xii A chi si rivolge questo libro... xii Convenzioni... xii Feedback dei lettori... xiii Supporto... xiii Scaricare il codice di esempio...
Dettagli2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011. Andrea Carnevali R&D Director GESINF S.r.l.
2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011 Andrea Carnevali R&D Director GESINF S.r.l. Il progetto 2G è il nome della piattaforma che consentirà l evoluzione tecnologica
DettagliCorso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini
Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la
DettagliLaboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014
Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage
DettagliIl CMS Moka. Giovanni Ciardi Regione Emilia Romagna
Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.
DettagliANTISPAM PLAYNET (nuova Piattaforma) In questa piccola guida vogliamo mostrarvi come creare regole di BlackListe e Whitelist per
www.playnet.it agg. Documento 1/03/2007 ANTISPAM PLAYNET (nuova Piattaforma) Il modulo Instant Antispam di Playnet utilizza diversi sistemi e tecnologie: - Filtro Bayesiano - SpamAssassin - Analisi dei
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliTecniche di progettazione e sviluppo di applicazioni mobile
Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it
DettagliEsercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.
Esercitazione Formato di compitini e compiti: domande ed esercizi "closed book" Esercitazione - 1 Domanda 1 In una comunicazione di rete tra due host, quale è il client e quale è il server. Necessario:
DettagliManuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]
Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...
DettagliHackathon Developers User Guide
Hackathon Developers User Guide Indice 1. Descrizione del Framework IoT...2 1.1 Informazioni fornite dalla filiera Alimentare...3 1.2 Interfaccia Applicativa...6 1.2.1 Richiesta di Sottoscrizione dati...7
DettagliMicrosoft Access. Microsoft Access
Microsoft Access E. Tramontana E. Tramontana 1 Microsoft Access Un Database è una collezione di dati relazionati e strutturati MS Access è uno strumento per la gestione di Database Consente di archiviare
DettagliIntroduzione al Simple Cloud API
Introduzione al Simple Cloud API by Enrico Zimuel Senior Consultant & Architect Zend Technologies enrico@zend.com Mi presento Dal 2008 Senior Consultant e Architect presso Zend Technologies Software Engineer
DettagliConnessione di reti private ad Internet. Fulvio Risso
Connessione di reti private ad Internet Fulvio Risso 1 Connessione di reti private ad Internet Diffusione di reti IP private Utilizzo di indirizzi privati Gli indirizzi privati risolvono il problema dell
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliDATABASE. www.andreavai.it
Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni
DettagliCONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...
CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5
DettagliPersonalizzazione Stampe
Personalizzazione Stampe Validità: Dicembre 2013 Questa pubblicazione è puramente informativa. 24 ORE SOFTWARE non offre alcuna garanzia, esplicita od implicita, sul contenuto. I marchi e le denominazioni
DettagliDo-Dots Protocollo di comunicazione
Do-Dots Protocollo di comunicazione Ultimo aggiornamento 10 maggio 2011 rev3 Spiegazioni 10/05/2011 rev2 Primo aggiornamento con attuali comandi 03/05/2011 rev1 - Stesura iniziale 14/05/2010 DOCUMENTO
DettagliInteGrazIone con MICrosoFt DYnaMICs. mailup.com
InteGrazIone con MICrosoFt DYnaMICs mailup.com PreMessa Il CrM Microsoft Dynamics v4 è tra le principali soluzioni di gestione aziendale integrate. Questo documento presenta le modalità di interazione
DettagliARCHIVIAZIONE DOCUMENTALE NEiTdoc
ARCHIVIAZIONE DOCUMENTALE NEiTdoc PROCESS & DOCUMENT MANAGEMENT La documentazione può essere definita un complesso di scritture prodotte da entità pubbliche o private nell espletamento della loro attività,
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
Dettaglisito web sito Internet
Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile
DettagliProgettoSMS. Manuale Gateway FTP Text
ProgettoSMS Manuale Gateway FTP Text Indice Indice 2 Introduzione 3 ftp Text 4 Risposta 4 SendMessage 5 Risposta positiva a SendMessage 5 Esempi SendMessage 6 Esempio 1: 6 Esempio 2: 6 Esempio 3: 7 GetMessageStatus
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliMANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)
MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) Questo documento contiene le informazioni necessarie per l interfacciamento con il gateway SMS di SMSSmart. Il suo utilizzo è riservato ai clienti che abbiano
DettagliCombattere lo spam con MDaemon e SPF
MDaemon Combattere lo spam con MDaemon e SPF Abstract... 2 Cos è SPF... 2 Configurazione di SPF in MDaemon... 3 Attivare SPF in MDaemon 7... 3 Attivare SPF in MDaemon 8... 4 Attivare SPF in MDaemon 9...
DettagliAgenda. DBS01 Reports for your app: Reporting Services pros and cons. Gestione del ciclo di vita di un report ARCHITETTURA REPORTING SERVICES
Agenda DBS01 s for your app: ing Services pros and cons Marco Russo marco@devleap.com Architettura ing Services Modalità server Modalità locale Limitazioni di ing Services Viewer Come usare RDLC Limitazioni
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
Dettagli@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita
Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta
DettagliOPC XML Data Access Specification. http://www.opcfoundation.org/
OPC XML Data Access Specification http://www.opcfoundation.org/ Perché OPC si è mosso verso i WS? OPC DCOM-based era legato ad una piattaforma e ad una tecnologia specifica Ci sono applicazioni in cui
DettagliIntroduzione alla programmazione Http lato server in Java
Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url
DettagliDESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE INTRODUZIONE SINGLETON. Scopo dei design pattern creazionali
DESIGN PATTERN CREAZIONALI DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it
DettagliNon si deve fare ALCUN riferimento alla parte specifica di JDBC.
Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si
DettagliProduct Shipping Cost Guida d'installazione ed Utilizzo
Guida d'installazione ed Utilizzo Installazione Per installare il modulo è sufficiente copiare la cartella app del pacchetto del modulo nella cartella principale dell'installazione di Magento dove è già
DettagliPRACTICAL DEVELOPMENT OF A WEB SERVICE
PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo
DettagliReti di Telecomunicazione Lezione 6
Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server
DettagliFirewall applicativo per la protezione di portali intranet/extranet
Firewall applicativo per la protezione di portali intranet/extranet Descrizione Soluzione Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI)
DettagliWeb e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif
Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al
Dettagliwww.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS
www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS Introduzione La nostra soluzione sms2biz.it, Vi mette a disposizione un ambiente web per una gestione professionale dell invio di
DettagliUna metodologia di progettazione di applicazioni web centrate sui dati
Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si
Dettagli