Web Information Systems. Sistemi Informativi Aziendali A.A. 2012/2013

Documenti analoghi
Web Information Systems. Sistemi Informativi Aziendali A.A. 2012/2013

Web Information Systems. Sistemi Informativi Aziendali A.A. 2012/2013

Protocolli e architetture per WIS

RESTful Services. Sistemi Informativi Aziendali A.A. 2012/2013

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

JSON JavaScript Object Notation. Sistemi Informativi Aziendali A.A. 2012/2013

Maps. a.k.a, associative array, map, or dictionary

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Argomenti. Architetture web Livelli, server, standard, protocolli HTTP (Hypertext Transfer Protocol) Percorso 7 Architetture Web 2

Architettura Connettore Alfresco Share

Architetture Web I Server Web e gli Standard della Comunicazione

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Siti web centrati sui dati (Data-centric web applications)

Architetture Web I Server Web e gli Standard della Comunicazione

Applicazioni web centrati sui dati (Data-centric web applications)

A review of some Java basics. Java pass-by-value and List<> references

N.E.A.T. ( Neutral Environment Application Tools )

IP TV and Internet TV

Architetture di sistema

Laboratorio di Applicazioni Internet Anno Accademico 2005/2006

Architetture di sistema

Tito Flagella - Il protocollo HTTP

1 Vincenzo de Stefano SAP e Servizi Web

simplesoad SERVICE ENGINEER

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 9 Distribuzione dei contenuti

Web applications (WA)

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

venerdì 31 gennaio 2014 Programmazione Web

MOC10982 Supporting and Troubleshooting Windows 10

Flavio De Paoli

Ipertesto (testo + link a risorse)

Piattaforme Software Distribuite. Roberto Beraldi

Presentazione del corso

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A

Sistemi operativi e tipi di dati estremamente ETEROGENEI. Differenti livelli di possibile interazione con gli applicativi proprietari.

ECONOMIA AZIENDALE PER LA NET ECONOMY. Seminario di Laboratorio di E-Commerce. 16 Novembre Economia aziendale per la net economy

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont)

Introduzione ai Web Services Alberto Polzonetti

Introduzione Kerberos. Orazio Battaglia

IBM SmartCloud Le regole per la Sicurezza nel Cloud Computing: la visione di IBM

Architetture per le applicazioni web-based. Mario Cannataro

Trusted Intermediaries

Il Protocollo HTTP e la programmazione di estensioni Web

The project.

Marco Raimondo WebSphere Business Development, IBM Italia

Lezione di Basi di Dati 1 18/11/ TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Capitolo 16 I servizi Internet

CALENDARIO CORSI SEDE DI PISA Valido dal 01/06/2015 al 31/08/2015

Introduzione a AJAX - Asynchronous Javascript And Xml

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS

MOC10775 Administering Microsoft SQL Server 2012 Databases

Sistemi Distribuiti Corso di Laurea in Ingegneria

Progetto E-CLIL. Anno scolastico

Web Services in Eclipse. Sistemi Informativi Aziendali A.A. 2011/2012

In rete. I computers si parlano in modalità: Peer to Peer (P2P) o... Client/server

Codice Corso Titolo Corso Durata Ore totali Microsoft Sistemi Operativi Windows Server 2008 Windows Server 2003 Windows 7

Introduzione all ambiente di sviluppo

Introduzione al corso. Tecniche di Programmazione A.A. 2015/2016

APPENDICE 4 AL CAPITOLATO TECNICO

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Sommario APPUNTI WEB SERVER E PHP

Concetti base. Impianti Informatici. Web application

Architetture Web Protocolli di Comunicazione

Librerie digitali. Cos è una libreria digitale? Introduzione. Cos è una libreria digitale? Cos è una libreria digitale? Cos è una libreria digitale?

AJAX (Asynchronous JavaScript and XML)

Programmazione in Rete

Programmare server. Request to to a a Dynamic Site Site

L evoluzione delle Applicazioni Distribuite

Tecniche Multimediali

Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML

D B M G Il linguaggio HTML

Le tecnologie software Internet

Telematica II 7. Introduzione ai protocolli applicativi

La tecnologia per le applicazioni Web

World Wide Web. Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML. Il Successo del Web. Protocolli di accesso

CORSO MOC6439: Configuring and Troubleshooting Windows Server 2008 Application Infrastructure

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

@2011 Politecnico di Torino 1

01KTF CV. Architetture distribuite per i sistemi infomativi aziendali. Presentazione del corso

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

La presente raccolta è pubblicata sotto Licenza CC-By-SA (Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 2.

Architetture Applicative Il Web

Missione e Company Profile

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Web applications con. breve introduzione. 23/10/12 Davide Zedda ITC Levi

Enterprise Application Servers

GESTIONE IMMOBILIARE REAL ESTATE

Tecnologie di Sviluppo per il Web

Terminologia per gli ipertesti sul web

Progetto di Applicazioni Software

Università degli Studi di Parma Dipartimento di Fisica La sicurezza aziendale a 360 Il problema della sicurezza aziendale

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

MEGA Advisor Architecture Overview MEGA 2009 SP5

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

INTRODUZIONE AD OMNET++

Strumenti e tecnologie Geo-web

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

Appunti di Sistemi A cura del prof. ing. Mario Catalano. Internet e il Web

Transcript:

Web Information Systems

Sommario 1. Definizione 2. Ambiti applicativi 3. Architetture di riferimento 2

Definizione Web Information Systems

Definizione Web Information System (WIS) La comunicazione tra macchine e utenti avviene sulla rete Internet pubblica o su una rete privata basata sugli standard Internet (VPN) L accesso alle informazioni e ai servizi è supportato da programmi per la gestione dell interfaccia utente noti come browser. Cap. 3 Pag. 93 4

Attori Company Company Public service User User 5

Modelli di collaborazione B2B (business to business ): collaboration among companies B2C (business to consumer ): on-line shops C2C (consumer to consumer ): auctions, buy-sell notices Government to business : on-line taxes, services to companies Government to citizens : on-line taxes 6

Ambiti applicativi Web Information Systems

Esempi On-line shops of consumer goods On-line auctions Thematic portal (links, user community, latest news) Distribution of components or raw materials Services (bank, finance, insurance, travel, consultancy, ) Publications (newspapers, encyclopedias, press agencies, ) 8

Complessità organizzativa e di sistema Una possibile classificazione Negoziazione automatica Integrazione catena del valore - marketspace Monitoraggio workflow evoluti e condivisi CRM - SCM Aste on-line Siti e portali standard B2C Tipo di relazione B2B p. 101 9

Livelli di complessità Siti informativi Chi siamo / Prodotti / Servizi / Contatti Newsletter, Giornale, Blog, Siti dispositivi Scelta prodotto, configurazione, acquisto Sistemi gestionali CRM, SCM, ERP, MRP, Sistemi autonomi Negoziazione, transazione, monitoraggio Portali, marketplace, marketspace Aggregazione di più aziende/prodotti correlati 10

Architetture di riferimento Web Information Systems

Evoluzione delle architetture web http://www.evolutionoftheweb.com 12 Architetture Web Percorso 7

Architettura ad N livelli Browser Internet infrastructure Web Server Application Server Database Server Client Ciascun livello ha un ruolo ben definito Uno o più server implementano ciascun livello I server possono condividere lo stesso hardware La comunicazione tra i livelli avviene attraverso meccanismi di rete 3 rd party services 13 Architetture Web Percorso 7

Architettura generale Internet Server(s) Client Storicamente, un browser web Ma anche: Applicazione Mobile Applicazione Desktop Altra applicazione server 14 Architetture Web Percorso 7

General Architecture 15

Components One or more connections to the Internet by means of an Internet Service Provider (ISP). One or more servers implementing each tier/level of the architecture. One or more physical networks for interconnecting the servers. One or more network devices (router, firewall, switch) which implement communication and security policies. 16

Definition Server may be defined as: Logical definition: A process that runs on a host that relays information to a client upon the client sending it a request. Physical definition: A host computer on a network that holds information (eg, Web sites) and responds to requests for information 17

Web server Manages the HTTP protocol (handles requests and provides responses) Receives client requests Reads static pages from the filesystem Activates the application server for dynamic pages (server-side) Provides an HTML file back to the client One HTTP connection for each request Multi-process, Multi-threaded or Process pool 18

Example Internet Web server HTML files Client URL http request path display page http response send HTML browser TCP/IP server file system 19

Adopted standards URL (uniform resource locator) for finding web pages HTML (hyper text markup language) for writing web pages GIF (graphics interchange format) for images HTTP (hyper text transfer protocol) for client-server interaction TCP/IP (transmission control protocol over internet protocol) for data transfer 20

URL RFC 2396 http://www.w3.org/addressing/ http://elite.polito.it/~corno/index.html DNS URI Rewriting 130.192.5.26 TCP /home/corno/public_html/index.html File system Contact server HTML file contents 21

URI Basics Scheme Hostname http://www.sadev.co.za/users/1/contact Query Scheme Hostname Query http://www.sadev.co.za?user=1&action=contact http://rob:pass@bbd.co.za:8044 Scheme Userinfo Hostname Port https://bbd.co.za/index.html#about Scheme Hostname Query Fragment Architetture Web Percorso 7 22

HTTP protocol RFC 2616, RFC 2617 http://www.w3.org/protocols GET /~corno/index.html HTTP/1.0 Accept: text/html Accept: image/gif User-Agent: CornoSoft SuperBrowser 9.45 HTTP/1.0 200 OK Date: Monday, 01-Jan-2001 00:00:00 GMT Server: Apache 1.3.0 MIME-Version: 1.0 Last-Modified: 31-Dec-2000 Content-type: text/html Content-lemgth: 3021 <HTML>... 23

Performance measures Latency: time required for providing a 0 byte http page. Includes the server activation time, the request decoding time, the file access time, the transmission time and the time for closing the connection. Unit of measure: http/s or s/http Throughput: maximum speed at which infinite-sized pages can be sent. Unit of measure: Bytes (Mbytes)/s #Requests / s 24

Delay time T = Latency + ByteHTML / Throughput This equation is valid if: The other architecture elements (I/O subsystem, network,...) are not overloaded The web server has not yet reached its maximum workload Example: Latency: 0,1s ByteHTML: 100kBytes Throughput: 800kBytes/s T= 0,1s+ 100KBytes / 800KBytes/s =0,225s 25

Static web transaction Browser Web server t 0 t 1 t 2 t 3 t 6 t 7 t 8 t 9 t 0 t 1 Disk access t 4 t 5 26 server response time network transfer time total response time user think time

Architettura generale del web Server web (Apache, IIS) HTM File HTML Schermo Browser Mouse/ Tastiera i n t e r n e t File Immagini IMG Applicazione web (ASP, PHP, JSP, ) Motore Layout IMG HTM 27

The most adopted web servers Source: http://news.netcraft.com/ http://news.netcraft.com/archives/2014/03/03/march-2014-web-server-survey.html Architetture Web Percorso 7 28

Application server Dynamic page generation Manages the site business logic It's the middle tier between the client browser and the data residing on a database Implements the session mechanisms Different technologies and architectures are available 29

Dynamic web transaction Internet Web server Application Client URL display page http request & POST data http response command send parameters HTML logic browser TCP/IP server application 30

Adopted standards HTTP-POST for sending user-specified data CGI (common gateway interface), ISAPI (internet information server application programming interface), server-side script, java servlet for integrating application logic into web servers ASP (active server pages), PHP, PERL as new languages for application development 31

URL (HTTP GET) http://www.cad.polito.it/pap/pap.pl?author=corno Application Parameters CPU Disk Libraries HTML 32

Dynamic web transaction Browser Web server t 0 t 1 t 2 t 3 t 6 t 7 t 8 t 9 t 0 t 1 Application server t 4 t 5 33 application time total server time total response time

Database server Stores the data on which the application server works. Executes the queries issued by the application server: Updates the stored data Inserts new data Provides back query results The most frequent/complex queries can be implemented internally as stored procedures (pre-compiled queries with parameters) 34

Example Internet Web server Application Database Client URL http & POST command parameters query display page http send HTML data browser TCP/IP server application database 35

Adopted standards Cookies for storing the state of a session Java, JavaScript, ActiveX, Flash to program the user interface on the browser SQL (structured query language), ODBC (open database connectivity) to access data bases 36

Database server Queries are almost always in SQL SELECT * FROM table;... Often adopts the relational database model Other models can be used Object model Triple model The most advanced/complete solutions are called Transaction servers 37

Database-driven transaction Browser Web server Application server Database server 38 t 1 t 8 t 0 t 9 t 3 t 6 t 2 t 7 t 4 t 5 application time database time total server time total response time t 0 t 1

Example (PHP) The application composes the query <?php $query = SELECT doc_id FROM key_doc_index, keywords WHERE key_doc_index.key_id = keywords.id AND keywords.key = $_REQUEST[ query ]; ; The query is sent to the db-server and a rowset containing the results is returned $rowset = mysql_query($query); { while($row = mysql_fetch_row($rowset)) //elaborate data }?> The application elaborates the data 39

Architettura generale del web Server web (Apache, IIS) HTM File HTML Schermo Motore Layout Browser Mouse/ Tastiera i n t e r n e t File Immagini IMG Applicazione web (ASP, PHP, JSP, ) SQL Server database DBMS IMG HTM Data base 40

Architettura generale del web Server web (Apache, IIS) HTM File HTML IMG Schermo Motore Layout CSS Browser DOM HTM Mouse/ Tastiera Motore Javascript HTM JS i n t e r n e t File Immagini IMG Fogli di stile CSS CSS Javascript JS Applicazione web (ASP, PHP, JSP, ) SQL Server database DBMS Data base 41

Web 2.0 Web applications support social interaction models Peer exchange and user-contributed content instead of rigid publisher/reader pattern Online communities Rich, dynamic, interactive user interfaces Integration of contents across web sites (mashups) 42

Rich-Client Asynchronous Transactions Internet Web server Application Database Client-side Application Client http URL DOM display page events runtime browser 43 XML/JSON http & POST http TCP/IP command send server application database parameters HTML query data

Adopted standards Dynamic HTML: DOM, Javascript, CSS JavaScript, Flash to handle a runtime environment on the browser DOM (XHTML Document Object Model) to allow on-the fly modification of the web page CSS 2.1 to modify attribute and handle objects AJAX: Asynchronous Javascript and XML XMLHttpRequest for asynchronous communication to the server Data transfer formats: JSON, XML, RDF, RSS, Atom, FOAF,... Mash-up technology 44

Rich-client transaction Browser t 0 t 1 t 8 t 9 t 0 t 1 Runtime Web server t 2 t 3 t 6 t 7 Application server t 4 t 5 Database server 45

Architettura generale del web Server web (Apache, IIS) Dati XML, JSON HTM File HTML IMG Schermo Motore Layout CSS Browser DOM HTM Mouse/ Tastiera Motore Javascript HTM JS XML, JSON i n t e r n e t File Immagini IMG Fogli di stile CSS CSS Javascript JS Applicazione web (ASP, PHP, JSP, ) SQL Server database DBMS Data base 46

Architettura generale del web Server web (Apache, IIS) Dati XML, JSON HTM File HTML IMG Schermo Motore Layout CSS Browser DOM HTM Mouse/ Tastiera Motore Javascript HTM JS i n t Questo è e sufficiente per il sito di ricette r di cucina della nonna n ma nella File e realtà mondo enterprise Javascript è Immagini t molto più complesso XML, JSON IMG Fogli di stile CSS CSS JS Applicazione web (ASP, PHP, JSP, ) SQL Server database DBMS Data base 47

The real word is different... The users Functionality Flexibility Portability Reliability Security Integrity Maintenance Performance Scalability Costs Maintenance Development times Interactions with existing systems Interactions with the physical world 48

E-business architectures Web Servers Application Servers Database Servers N-tier Site Third-party services Ads Payment Authorization Certification The Internet 49

Sito informativo completo 50

Ricordiamo i sistemi legacy 51

Sito dispositivo schema tipico 52

Interagire con altri fornitori L Application Server deve richiamare funzionalità presenti su un sito esterno Servizi dispositivi (es. pagamenti) Servizi informativi (es. stock quotes) Servizi di sicurezza (es. autenticazione) La pagina web contiene delle sezioni provenienti da siti diversi Approccio a portale, le sezioni sono indipendenti (es. igoogle) Approccio applicativo, le sezioni interagiscono e condividono dati (mashup) 53

Licenza d uso Queste diapositive sono distribuite con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 2.5 Italia (CC BY-NC-SA 2.5) Sei libero: di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera di modificare quest'opera Alle seguenti condizioni: Attribuzione Devi attribuire la paternità dell'opera agli autori originali e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera. Non commerciale Non puoi usare quest'opera per fini commerciali. Condividi allo stesso modo Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa. http://creativecommons.org/licenses/by-nc-sa/2.5/it/ 54