Servizi applicativi in Internet Prof. Alfio Lombardo.

Slides:



Advertisements
Presentazioni simili
Livello 1 - fisico linsieme dei dispositivi per il collegamento dei vari sistemi (cavi, modem, apparecchiature di tx e rx)linsieme dei dispositivi per.
Advertisements

Il livello di trasporto
Architetture dei sistemi distribuiti Prof
Modulo 5 - posta elettronica
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
STRUTTURA DEL PERSONAL COMPUTER
Web Services.
Re-engineering del wrapper XML Schema per il sistema MOMIS
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
I modelli di riferimento OSI e TCP/IP
Nuove truffe on line Frodi con carte di credito.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Architettura Three Tier
Architetture e protocolli CCITTComunicazione: trasferimento di informazioni secondo convenzioni prestabilite La comunicazione richiede cooperazione.
ESEMPI DI PRIMITIVE.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Introduzione alla programmazione lll
Struttura dei sistemi operativi (panoramica)
Marco Panella La posta elettronica Marco Panella
RISORSE WEB Internet Per un uso consapevole delle risorse della Rete
Strutture di controllo in C -- Flow Chart --
I File.
P ROGETTO PERMESSO PER SISTENT MESS AGING IN AD H O C NETWORKS Presentazione di Manuela Bassetti Corso di Reti di Calcolatori L-S AA Progetto.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Introduzione alla modellazione di sistemi interattivi
Elementi di Informatica
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
> Remote Authentication Dial In User Service
Norman SecureTide Soluzione sul cloud potente per bloccare le spam e le minacce prima che entrino all'interno della rete.
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
a Finmeccanica company Copyright © Elsag Spa All rights reserved. Sistemi di prenotazione e pagamento innovativi dei parcheggi di interscambio L.
La gestione assistenza
Modulo 1 – Reti Informatiche u.d. 4 (syllabus – 1.4.4)
Programma di fedeltà ADR con consegna automatica
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
BraDypUS è un sistema che risolve il sempre più urgente problema della corretta gestione e immagazzinamento dei dati archeologici di scavo e topografici.
Il modello di riferimento OSI
Sistemi Informativi sul Web
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
L’architettura a strati
Calcolo della Subnet Mask e i protocolli SMB e NetBIOS
FTP File Transfer Protocol
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Creato da Riccardo Nuzzone
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Reti di computer Condivisione di risorse e
Livello 3 Network (Rete)
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 5 -Amministrazione remota Ernesto Damiani Lezione 2 – SNMP.
Problemi, algoritmi e programmazione
CORSO INTERNET la Posta elettronica
Scambio Moduli Automatizzato
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
GESTIONE RETI TCP/IP l troubleshooting è necessario per risolvere molti problemi che si possono verificare all'interno di una rete, una delle aspirazioni.
Altri mezzi di pagamento. Mappe per il ripasso La funzione monetaria Consiste nella creazione di: monta cartacea: ……………… ……………… e ………… ………… (composti.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Il modello di Von Neumann
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
Le modalità attraverso le quali gli utenti interagiscono con il computer A cura di Eleonora Bilotta.
Transcript della presentazione:

Servizi applicativi in Internet Prof. Alfio Lombardo

Problematiche inerenti al livello applicativo Differenze sintattiche Differenze Semantiche

Affinchè due processi applicativi possano cooperare devono possedere: 1.Un Universo del Discorso comune 2. Uno schema concettuale 3. Un linguaggio comune cioè qualcosa di cui parlare cioè una descrizione comprensibile dell'universo del discorso cioè una sintassi comune con cui esprimere le interazioni da svolgere e gli eventi che devono accadere nell'universo del discorso

CLIENTE 10=1010 SERVENTE 10=1010 ! Conversione asimmetrica 0101

Conversione Simmetrica: Sintassi di trasferimento in Internet XDR: eXternal Data Representation (rfc 1014) Lunghezza costante Tagging implicito CLIENT Sintassi Loc. A Sintassi Trasferimen. SERVER Sintassi Loc. B Sintassi Trasferimen. Sintassi Trasferimento

Differenze semantiche Affinche due processi possano comunicare occorre definire un "universo del discorso" comune, cioè l'insieme di concetti su cui si baserà la comunicazione (semantica comune).

Universo del Discorso: esempio Oggetto: volo Attributi: n° del volo, ora partenza, ora arrivo, luogo di partenza, luogo di arrivo, n° posti in business, n° posti in economy, … Azioni: prenotazioni posti in classe x, disdetta prenotazione posti in classe x

Semantica virtuale dello FTAM

Affinchè due processi applicativi possano cooperare devono possedere: 1.Un Universo del Discorso comune 2. Uno schema concettuale 3. Un linguaggio comune cioè qualcosa di cui parlare cioè una descrizione comprensibile dell'universo del discorso cioè una sintassi comune con cui esprimere le interazioni da svolgere e gli eventi che devono accadere nell'universo del discorso

Il progetto di un protocollo Prof. Alfio Lombardo

Componenti di unentità di protocollo

Il progetto di un protocollo (1) 1.definizione delle funzioni eseguite dal protocollo ( il servizio fornito all'utente dal protocollo che si sta definendo); Service provider utente Es.1: scambio affidabile di dati di dimensione qualsiasi tra utenti remoti Es.2: accesso sicuro ai dati del proprio c/c

Il progetto di un protocollo (2) 2. La definizione delle PDUs, (la loro struttura ed eventualmente la loro codifica) utente Entità di protocollo Entità di protocollo

Il progetto di un protocollo (3) 3.gli elementi di procedura (le operazioni attraverso cui il protocollo permette lo scambio delle strutture dati per espletare le funzionalità definite nel punto 1) utente Entità di protocollo Entità di protocollo

Il progetto di un protocollo (4) 4.il "mapping" delle suddette PDU e procedure coi servizi sottostanti (come le entità scambiano le PDUs) utente Entità di protocollo Entità di protocollo Servide provider

Rappresentazione delle strutture dati: ASN1 Permette di rappresentare i dati in modo astratto ovvero di descrivere i dati in modo indipendente dalla rappresentazione concreta interna alla macchina (sintassi locale) dalla sintassi di trasferimento utilizzata per trasferire i dati all'esterno (sintassi di trasferimento). ASN1 e stata definita nellambito del livello di Presentazione OSI

On/OFF On=1volt/off=2 volt On=255 / Off=0 On=ctrl_A_D/off=Alt_K Boolean: True=On, False=Off Esempio: indipendenza dalla sintassi locale

C code: Printer::=Boolean Esempio: indipendenza dalla sintassi di trasferimento Codifica alto livello (8 bit) =true =false Codifica basso livello In rete (16 bit) =true =false In rete

Dichiarazioni di tipo [type name] ::= [type definition]. Ad esempio Married ::= BOOLEAN Dichiarazioni di valore [value name] [type name] ::= [value definition] Ad esempio single Married ::= FALSE Rappresentazione delle strutture dati: ASN1

S iniziale in out S finale Descrizione delle procedure FDT:Formal Description Techniques FSM, Finite State Machine, un insieme di stati S; un insieme di messaggi di input I; un insieme di messaggi di output O; una funzione di transizione di stato f: S in x I -> S fin ; una funzione di uscita g: S in x I -> O. Transizione (atomica) di stato

Esempio:Alternating bit protocol Entità Tx User Entità Tx New Message (dati) Pack(m,bit) Ack(bit)

New Message (dati) m=dati Pack(m,0) Start T1=20ms Wait for Ack 0 Esempio:Alternating bit protocol Entità Tx: 1/3 User Entità Tx IDLE New Message (dati) Pack(m,0) Prepare pack(m,0)

Wait for New Message New Message (dati) m=dati Pack(m,1) Start T1=20ms Wait for Ack1 Prepare pack(m,1)

S= Idle, Wait for Ack 0, Wait for New Message Wait for Ack 1 In Messages = NewMessage (), Ack( ), Timer Out Messages: Pack ( )

Extended FSM: Esempio Y m=dati bit=B

Specification Description Language (SDL) Procedure: EFSM Strutture dati: ASN1

Esempio: sistema Bancomat Block: Terminale Block: Gestore Servizio Processo Interfaccia Utente Processo Attuatore Processo Saldo Processo Controllo Funzione Processo Controllo Utente Ch3 Ch1 Ch5 Ch4 Ch6 Ch2

Esempio: Sistema di gestione di card per acquisti sistema diffuso nei grandi magazzini; consiste nel rilascio al cliente di una Card con banda magnetica con la quale: lamministrazione ha uno strumento di controllo della clientela e dei flussi di denaro che ne provengono. la clientela ha degli sconti particolari sui loro normali acquisti quando le somme degli acquisti effettuati superano una determinata soglia.

Struttura del sistema Rappresenta il terminale utilizzato dal cassiere. E collegato ad un lettore di schede magnetiche, ad un dispositivo di stampa nonché al blocco Amministrazione rappresenta il terminale remoto presente nella sede dellAmministrazione che riceve e risponde alle richieste di tutte le casse

Blocco Cassa · Gestisce il dispositivo necessario per leggere la Card dellutente. Se i dati vengono letti correttamente vengono trasferiti al terminale, altrimenti viene indicato di ripetere loperazione. Gestisce linterazione tra il cassiere ed il terminale (verosimilmente composto da tastiera e monitor) tramite il canale Ch1, comunica le richieste del cassiere al blocco Amministrazione tramite il canale Ch5, invia dei comandi al processo Lettura Card e al processo Stampa rispettivamente attraverso Ch3 e Ch4 gestisce il dispositivo di stampa del terminale Ch5

Blocco Amministrazione Riceve le richieste dal blocco Cassa, quali laccredito della spesa effettuata dal titolare di una card, gli estremi relativi ad un acquisto per della merce che un cliente chiede di restituire, ecc. Dialoga col Processo Gestione Archivi tramite Ch6. gestisce tutte le informazioni relative ai clienti, alla merce venduta, alle condizioni di garanzia o di restituzione della merce, alle statistiche e previsioni delle vendite, alle norme che regolano la vendita, ecc

Canale ::= [APPLICATION 0] CHOICE {ch1 Ch1Ch1 ch2 Ch2 ch3 Ch3 ch4 Ch4 ch5 Ch5 ch6 Ch6 ch7 Ch7}Ch2Ch3Ch4Ch5Ch6Ch7 Definizione canali

Su Ch1 (interfaccia cassiere / processo_interfaccia_cassiere): funzioneCassa: usato dal cassiere per indicare al Processo Interfaccia Cassiere quale sarà la prossima operazione che vuole effettuare ( linizio di un nuovo conteggio di articoli, la lettura della Card del cliente, ecc…); comandoConteggio: usato dal cassiere per effettuare il conteggio degli articoli oppure per visualizzare il totale dovuto dal cliente per i suoi acquisti; datiResoMerce: usato dal cassiere per effettuare un reso merce e consegnare al cliente buono spese del corrispondente importo; Messaggio: generico messaggio visualizzato sul terminale di cassa; Ch1::=[APPLICATION 1] CHOICE{ funzioneCassa[1]IMPLICIT ENUMERATED { nuovoConteggio(1), letturaCard(2), resoMerce(3), pagamentoArticoliInContanti(4)}, comandoConteggio[2] CHOICE { articoloSuccessivo[1] DatiArticolo, totale[2] INTEGER}, datiResoMerce[3] IMPLICIT SEQUENCE { datiArticolo DatiArticolo, dataAcquisto Data}, messaggio[4] IMPLICIT PRINTABLE STRING} DatiArticolo ::= SEQUENCE { codiceArticolo OBJECT ID, quantità INTEGER}

Ch2 [APPLICATION 2] ::= datiLetturaCard IMPLICIT SEQUENCE {letturaCorretta BOOLEAN, datiCard DatiCard OPTIONAL} } Su Ch2 (interfaccia dispositivo lettura card / processo_lettura_carta): datiLetturaCard: dati della card letti dal dispositivo e forniti al processo Lettura Carta; DatiCard ::= SEQUENCE {numeroCard OBJECT IDENTIFIER, titolare PRINTABLE STRING, scadenza Data}

Su Ch3 (interfaccia processo_lettura_card / processo_interfaccia_cassiere): richiestaLetturaCard: richiesta di lettura della Card inviata al Processo Lettura Carta da parte del Processo Interfaccia cassiere; rispostaDispositivoLetturaCard: invio dei dati della Card al Processo Interfaccia Cassiere parte del Processo Lettura Carta ; Ch3 ::= [APPLICATION 3] CHOICE {richiestaLetturaCard[1] IMPLICIT BOOLEAN, rispostaDispositivoLetturaCard [2] IMPLICIT SEQUENCE { letturaCorretta BOOLEAN, datiCard DatiCard OPTIONAL} }

Ch4 ::= [APPLICATION 4] CHOICE { richestaStampa[1] IMPLICIT SEQUENCE { modelloStampa ModelloStampa, datiStampa OCTET STRING }, rispostaDispositivoStampa [2] IMPLICIT ENUMERATED { stampaCorretta(0), cartaEsaurita(1), inchiostroEsaurito(2), altriProblemi(3)} } Su Ch4 (interfaccia processo_stampa / processo_interfaccia_cassiere): richiestaStampa: richiesta di stampa inviata al Processo Stampa da parte del Processo Interfaccia Cassiere; rispostaDispositivoStampa: informazioni sul funzionamento del dispositivo inviate al Processo Interfaccia Cassiere da parte del Processo Stampa; ModelloStampa ::= ENUMERATED {normale (0), finanziamento (1), buonoSpesa (2)}

Su Ch5 (interfaccia processo_Raccolta_Richieste / processo_interfaccia_cassiere): richiestaAccredito: richiesta di accredito della somma spesa del cliente, inviata al Processo Raccolta Richieste dal Processo Interfaccia cassiere; richiestaReso: richiesta di effettuare un reso merce; rispostaAccredito: indicazione dello sconto di cui attualmente può usufruire il cliente e del totale delle spese che ha effettuato finora, inviata al Processo Interfaccia Cassiere dal Processo Raccolta Richieste; rispostaReso: indicazione della possibilità di effettuare il reso merce richiesto dal cliente, inviata al Processo Interfaccia Cassiere dal Processo Raccolta Richieste; Ch5::= [APPLICATION 5] CHOICE { richestaAccredito[1] IMPLICIT SEQUENCE { importo INTEGER, datiCard DatiCard}, richestaReso[2] IMPLICIT SEQUENCE { datiArticolo DatiArticolo, dataAcquisto Data}, rispostaAccredito[3] IMPLICIT SEQUENCE { scontoAttuale INTEGER, speseTotali INTEGER}, rispostaReso[4] IMPLICIT BOOLEAN} Data ::= GENERALIZED TIME

Ch6::= [APPLICATION 6] CHOICE { aggiornaCreditoCliente[1] IMPLICIT SEQUENCE { spesaAttualeCliente INTEGER, datiCard DatiCard}, aggiornamentoEseguito[2]IMPLICIT SEQUENCE { scontoAttuale INTEGER, speseTotali INTEGER} } Su Ch6 (interfaccia processo_Raccolta_Richieste / processo_getione_archivi): aggiornaCreditoCliente:comando inviato al Processo Gestione Archivi dal Processo Raccolta Richieste per aggiornare il credito del cliente i cui dati si trovano nel database contenente le informazioni di tutti i clienti titolari della Card; aggiornamentoEseguito: messaggio di conferma dell'avvenuto aggiornamento inviato al Processo Raccolta Richieste dal Processo Gestione Archivi;

Su Ch7: (interfaccia dispositivo di stampa / processo_stampa): avvioStampa: comando inviato al dispositivo di stampa dal Processo Stampa per effettuare la stampa di uno dei tre modelli possibili; Ch7::= [APPLICATION 7] avvioStampa BOOLEAN

Macrolezione 3: Progetto di un protocollo di comunicazione I Approfondimento Macrolezione 3: Sintassi di trasferimento Macrolezione 4: Progetto di un protocollo di comunicazione II

Programma Applicativo (C code): Printer::=Boolean printer Boolean:= true Esempio: la programmazione Codifica alto livello (8 bit) =true Codifica basso livello In rete On=1volt/off=2 volt Interprete del Protocollo: True=1 volt (ON) (8 bit) true= On=255 / Off=0