Piattaforme Software Distribuite Roberto Beraldi
Programma Applicazioni oggi Cloud computing Python Javascript Php Mobile app(cenni)
Esame Progetto individuale Scritto
Introduzione
Ecosistema applicazioni distribuite Enterprise Social Based Geo-based Mobile Web based.
Tecnologie Piattaforme Linguaggi Protocolli REST Sviluppo
Scrivereapplicazionidistribuiteoggi RETE DATI INTERNET
Scrivereapplicazionidistribuiteoggi RETE DATI INTERNET RETE TELEFONICA FISSA
Scrivereapplicazionidistribuiteoggi RETE DATI INTERNET RETE TELEFONICA MOBILE RETE TELEFONICA FISSA
Scrivereapplicazionidistribuiteoggi RETE DATI INTERNET RETE TELEFONICA MOBILE RETE TELEFONICA FISSA
Nuovepossiblità: QRCode QR-reader Internet codifica URI QR-code
Esempio: annunci immobiliari
Altroesempio
Applicazioni mobili
Realtà aumentata Posizione, accelerometro, giroscopio
Geo based Informazioni correlate al contesto, per esempio alla posizione attuale GPS, Triangolazione, IP provider
Altro esempio: videosorgeglianza
Applicazionidistribuite
Applicazionidistribuite
Applicazionidistribuite
jj Applicazionidistribuite
Applicazionidistribuite
Applicazionidistribuite
Applicazionidistribuite
Decompozioneverticale: client/server
DecomposizioneOrizzontale: peer2peer
PiattaformeSW distribuite Insiemeditool per lo sviluppoe l esecuzione di applicazioni distribuite
Big view SW SW Distributed applications run on Remote Comm Distributed System Local Comm OS Socket Socket Comm OS virtualizes Resources CPU Memory HW device C M D Higher abstractions : -Process (threads) - File, Virtual Memory -Active role (not need control SW, which is embedded ) -Receive and respond to external events (interrupts) -passive role -need to be controlled
Esempio, stack completo SW1 Protocol SW2 Remote Communication OS1 OS2 HW1 HW2
Esempio Client Protocol Server GET POST HEAD PUT DELETE TRACE OPTIONS CONNECT rosso= No side-effect sul server
Esempio Client Protocol Server Status Line Header Body
Esempiomapping tecnologico(1/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML mod_php
Esempiomapping tecnologico(2/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML Embedded Objects mod_php
Esempiomapping tecnologico(3/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML +JS mod_php
Altroesempio Container Servlet HTTP HTML Legacy Server Tomcat
Esempio: Altervista
Web API Client Application Mediante una WEB API si fornisce Un interfaccia programmatica verso Servizinormalementefruitida unapersona mediante un broweser INRTENET WEB-API Più popolari
Web API
Esempio: Google apis
Web API Web URL (standard HTTP methods) web brower HTTP Rest,XML-RPC,etc HTTP (Web API) Application Programmatic Service Access (many methods)
Esempio: Applicazionimashup(1/2) Client AJAX Python.. JSON-RPC Web API Web API Web API Server Server Server
Esempio: Applicazionimashup(2/2) CLIENT s=a.method(par 1 ) z=b.method(s,par 2 ) API WEB Provide A Provider B
Esempio: Applicazionimashup(2) WEB API XML-RPC HTTP SOAP -Server Web - mashupper (e.g.,dynamic pages Php)
Service OrientedArchitecture
Service OrientedArchitecture Silos applicativi Architettura orientata ai servizi Architettura verticale No comunicazione fra applicazioni
Esempio: Workwflowapplications Chiama WS che implementa Attività 1 BPEL Un attività è realizzata come servizio
Interoperabilità Client Application (Tecnologia A) Client Application (Tecnologia B) Client Application (Tecnologia C) Sicurezza OAuth 2 WEB-API.
Esempio: Google calendar
Dropbox is a free (up to 2GB), web-based cloud storage mechanism file backup service data sharing Data sync among different clients Mobile applications Windows Linux MAC REST / JSON.mp3.avi.jpg Freemium business model iphone ipad Blackberry
Architetture SW di un applicazione Silos SoA Mashup P2P
Domande?