Tecnologie di implementazione. Corso di ingegneria del software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tecnologie di implementazione. Corso di ingegneria del software"

Transcript

1 Tecnologie di implementazione Corso di ingegneria del software

2 Sommario Principali architetture dei sistemi distribuiti Component based software engineering Componenti Comunicazione nei processi distribuiti Middleware Applicazioni distribuite per il web Oggetti distribuiti Servizi distribuiti

3 Architetture dei sistemi distribuiti Tecnologie per architetture Client server A oggetti distribuiti A servizi distribuiti

4 Component based software engineering (CBSE) Component based software engineering (CBSE) Definizione [È il processo di definizione, implementazione e integrazione o composizione di componenti indipendenti debolmente accoppiati, nei sistemi] È nata come approccio basato sul riutilizzo per lo sviluppo di sistemi software

5 Elementi fondamentali Componenti indipendenti Standard dei componenti Middleware Un processo di sviluppo

6 Componente Definizione : Una parte modulare, utilizzabile e sostituibile di un sistema che comprende l implementazione es espone una serie di interfacce [OMG] È un elemento costitutivo del software

7 Altre definizioni Un elemento software che si conforma a un modello di componente, che può essere consegnato indipendentemente e composto senza modifiche secondo uno standard di composizione [Councill e Heineman, 2001] Un unità di composizione soltanto con interfacce definite per contratto e dipendenze esplicite di contesto. Un componente software può essere consegnato indipendentemente ed è soggetto a composizione da terze parti [Szyperski,2002]

8 Caratteristiche dei componenti Standardizzato Ogni componente deve essere conforme a un modello di componente standardizzato che definisce interfacce, metadata,documentazione, Indipendente Non deve essere necessario utilizzare altri componenti specifici Il codice sorgente non è disponibile, quindi il componente non deve essere compilato Componibile Tutte le interazioni avvengono attraverso interfacce pubbliche Deve fornire accesso esterno alle sue informazioni Consegnabile È binario, non deve essere compilato Documentato Deve essere specifica la sintassi e la semantica di tutte le interfacce del componente

9 Punti di vista Il significato del termine componente differisce a seconda del punto di vista dell ingegnere del software che lo utilizza Orientato agli oggetti Un componente contiene un insieme di classi che collaborano fra loro Modulo (vista convenzionale) Ruoli svolti Componente di controllo Componente di dominio Componente dell infrastuttura Orientata al processo Catalogo di componenti software esistenti, componenti progettuali o di codice disponibile

10 Middleware Definizione : Una classe di tecnologie software progettate per gestire l eterogeneità e la complessità nei sistemi distribuiti Si tratta di uno strato software posto tra il sistema operativo ed il software applicativo che fornisce un livello di astrazione di programmazione distribuita Sostanzialmente si tratta di un meccanismo di comunicazione tra processi (IPC) The classical definition of an operating system is the software that makes the hardware useable. Similarly, middleware can be considered to be the software that makes a distributed system programmable. Just as a bare computer without an operating system could be programmed with great difficulty, programming a distributed system is in general much more difficult without middleware, especially when heterogeneous operation is required. Likewise, it is possible to program an application with an assembler language or even machine code, but most programmers find it far more productive to use high-level languages for this purpose, and the resulting code is of course also portable. [David E. Bakken]

11 Comunicazione tra processi Tecnologie software che consentono a diversi processi la comunicazione mediante scambio di dati ed informazioni È supportata dai sistemi operativi multitasking per consentire lo scambio di dati ed informazioni tra processi anche in ambiente distribuito Si tratta di meccanismi disponibili a diversi livelli pipe socket memory mapped file chiamata di procedura remota scambio di messaggi mailbox Può essere realizzata a basso livello a livello di linguaggio di programmazione a livello applicativo mediante software (middleware: DBMS, Web server application server, ecc.)

12 Categorie di middleware Remote procedure call (RPC) Nelle architetture client server Remote data access Fornisce servizi simili al RPC utilizzato per accedere a basi di dati remote tramite costrutti SQL Message oriented middleware (MOM) Astrazione del mailbox Transaction Processing monitor Consente di eseguire transazioni in un sistema distribuito Distributed Object Invocazione di un oggetto remoto nello spazio di indirizzi dell oggetto chiamante

13 Modelli di componenti È la definizione degli standard per l implementazione, la documentazione e la consegna del componente Sono disponibili molti modelli di componenti, i più noti: OMG Corba: Microsoft.NET Sun Enterprise Java beans

14 Osservazioni: Strumenti software Il successo o il fallimento del CBSE è legata alla disponibilità di software middleware

15 Microsoft COM (component object model) e OLE ( object linking and embedding) DCOM (distributed COM) deriva da COM e OLE con l aggiunta di Microsoft transaction server e Active directory supporta eterogeneità nell uso dei linguaggi ma non a livello di sistema operativo e di fornitore COM+ generazione successiva di DCOM che semplifica notevolmente la programmazione SOAP framework basato su XML e HTTP, ha specifiche pubbliche e fornisce eterogeneità a livello di linguaggio e fornitore.net ha eterogeneità di linguaggio e fornitore rispetto ai goal stabiliti

16 OMG Corba: Common Object Request Broker Architecture Standard per oggetti distribuiti Rappresenta il middleware più largamente diffuso offre eterogeneità di linguaggi di programmazione e implementazioni dei fornitori CCM (corba component model)

17 Sun RMI: remote method invocation Permette ad oggetti eseguiti su macchine virtuali diverse (eseguite su computer diversi) di comunicare per mezzo di chiamate a metodi remoti Java beans: Componenti software riusabili Enterprise javabeans

18 Implementazione di applicazioni client /server per il web Applicazione web Definizione: Un applicazione web è un sistema che permette ai propri utenti di eseguire una logica di business con un browser web [Conallen, 2000]

19 Caratteristiche generali La logica di business può risiedere sul server e/o sul client Un applicazione web è un tipo di sistema Client/server con un sito web Un browser internet presenta le pagine web fornite dal server web Le pagine web possono essere statiche o dinamiche Oppure una pagina può essere un modulo che l utente può riempire: form

20 Application server Un applicazione web può includere un server applicativo application server per gestire la logica applicativa e monitorare lo stato dell applicazione Il monitoraggio dello stato è un attività importante che permette di tenere traccia delle azioni dei clienti collegati

21 Tecniche di monitoraggio Memorizzare nel browser un indicatore cookie: Una breve stringa di caratteri che rappresenta lo stato di un utente collegato Timeout di sessione: È possibile imporre un timeout sull attività di un utente collegato: ad es. se l utente non è attivo per 15 minuti il server si disconnette dal client» (il cookie può essere rimosso dalla macchina client) Permette al server web o applicativo di migliorare il monitoraggio nel caso di un numero elevato si utenti collegati

22 Script e applet Sono usati per rendere dinamica la pagina client. Uno script è un programma interpretato dal browser Un applet è una componente compilata che si esegue nel contesto del browser ma ha solo un limitato accesso alle altre risorse del computer client (per ragioni si sicurezza)

23 Pagine server Definizione: Pagina server una pagina web che ha script eseguiti dal server Ha accesso a tutte le risorse del server database Gestisce le sessioni con i client Imposta i cookie nel browser Costruiscono le pagine client (ossia i documenti pagina dagli oggetti business del server e li invia al client)

24 Accesso ai dati Per permettere a script nelle pagine server di accedere al database sono usate librerie standard Tecnologie impiegate: Open Database Connectivity ODBC Java Database Connectivity JDBC Remote Data Objects RDP ActiveX data Objects ADO

25 Tecnologie La tecnologie del server Può basarsi su pagine HTML (HyperText Markup Language) contenenti script quali ASP Active Server Pages o JSP Java Server Pages La tecnologia delle pagine web Può essere costruita su script client (JavaScript o VBScript) Documenti XML (extensible markup Language), applet Java, controlli JavaBeans o ActiveX

26 BCE Pattern BCE 1. suddivide la logica di un applicazione in 3 categorie mutuamente esclusive: Boundary Control Entity 2. consente una guida all identificazione e alla rappresentazione: dei confini tra il sistema e i suoi attori dell informazione usata dal sistema della logica di controllo del sistema

27 Classi Boundary Identificate mediante lo stereotipo<<boundary>> Le classi Boundary 1. Descrivono gli oggetti che rappresentano l interfaccia tra attore e sistema ossia delimitano il confine del sistema. 2. Isolano il sistema dai cambiamenti dell ambiente esterno consentendo usabilità e interfacciamento con altri sistemi.

28 Classi Control Identificate mediante lo stereotipo <<Control>> Le classi Control 1. Descrivono gli oggetti che percepiscono gli eventi generati dall utente e che controllano l esecuzione di un processo di business. 2. Gestiscono le interazioni tra collezioni di oggetti pertanto coordinano il comportamento delle classi entity e ne usano i contenuti. 3. Sono indipendenti dall ambiente esterno, in quanto non subiscono modifiche in seguito al cambiamento di tale ambiente e non sopravvivono all interazione cui prendono parte.

29 Classi Entity Identificate mediante lo stereotipo <<Entity>> Le classi Entity 1. descrivono gli oggetti che rappresentano le entità del dominio applicativo. 2. sono classi passive in quanto: i loro oggetti non avviano mai l interazione solitamente sopravvive alla singola interazione 3. accedono direttamente al database per la raccolta dei dati da elaborare.

30 BCDE L approccio BCE richiederebbe almeno un punto di accesso al DB per ogni classe Entity il che comporterebbe almeno due svantaggi: scarso Information Hiding in caso di elevato numero di classi Entity Complesità nella comunicazione tra classi Entity e database in caso di database avente struttura differente da quella delle classi Entity (eg. DB Relazionale) Soluzione BCDE (Boundary Control Database Entity) introduce le classi Database che furniscono l interfaccia tra classi entity e database

31 BCE

32 Architettura di un Applicazione web a tre strati Tier 1 Tier 2 Tier 3 pagine HTML Browser pagina HTML Web Server Servlet Applicazione HTTP TCP IP Internet HTTP TCP IP Internet TCP IP Livello di presentazione protocollo accesso rete protocollo accesso rete Livello della logica di business protocollo accesso rete Livello Dati

33 Architettura n-tier Mediante un architettura n-tier la logica dell applicazione può essere maggiormente differenziata e suddivisa in base alla sua funzionalità. È possibile stratificare la logica di una generica applicazione in 5 aree distinte: User Presentation Business Integrator Data Layer

34 Architettura n-tier http Application server Database Sistemi legacy http http rete http orb orb Thin client applicazioni web browser HTML applet java script rete Web server servlet JSP ASP componenti CORBA componenti DCOM componenti EJB DBMS Servizi comuni connettività a database naming e directory service gestione delle transazioni comunicazione remota CORBA DCOM RMI

35 Architettura n-tier User Interface costituita da un interfaccia utente, ad esempio un web browser, che gira attraverso un firewall oppure un applicazione a finestre per Windows. Presentation Logic definisce ciò che l interfaccia utente deve mostrare e come devono essere soddisfatte le richieste dell utente. Business Logic modella i ruoli dell applicazione, spesso attraverso l interazione con lo schema dei dati. Infrastructure Service sono funzionalità aggiuntive, necessarie da alcuni componenti dell applicazione, ad esempio un supporto alle transazioni. Data Layer è la fonte di immagazzinamento dei dati.

36 Java EE La Java Enterprise Edition 1. deriva dalla piattaforma precedente realizzata dalla Sun la J2SE (java 2 Standard Edition) e da java2ee ( java 2 enterprise edition) 2. Aggiunge tra le sue potenzialità la possibilità di unire componenti a livello enterprise mantenendo il sistema stabile e sicuro. 3. Attualmente java EE 6

37 Enterprise applications Software che fornisce funzionalità di supporto alla business logic di un impresa, generalmente di tipo commerciale con lo scopo di migliorare produttività ed efficienza I servizi offerti sono generlamente business oriented: shopping online, pagamento online catalogazione interattiva, CRM, ERP, HR management, manufacturing, EAI, Enterprise form automation ecc. Requisiti necessari: scalabilità, robustezza, efficienza Generlamente sono applicazioni con interfacce verso altre applicazioni enterprise gestite in maniera centralizzata

38 Vantaggi Requisiti derivanti della scelta di una piattaforma legata a Java come sistema di sviluppo. Applicazioni lato-server affidabilità, scalabilità, sicurezza portabilità. Applicazioni web-based Efficienza tempi di risposta ad una richiesta http devono essere minimi Sicurezza maggiore è l utenza che è prevista per il sito maggiore deve essere la sicurezza che regola accessi e logica dell applicazione. Integrabilità capacità di combinare tecnologie recenti e vecchie, adattandosi il più possibile ai sistemi già presenti migliorandone le funzionalità;

39 Architettura java EE La piattaforma Java EE è una piattaforma a componenti che si basa su un architettura n-tier il sistema è fortemente modulare ed espandibile. suddivisione logica di un applicazione: 1. Presentation: interfaccia utente 2. Business: la logica applicativa 3. Data Layer: contiene i dati necessari all applicazione

40 Container Il concetto fondamentale che sta alla base della piattaforma EE è quello di "container". I container rappresentano ambienti che forniscono servizi aggiuntivi alle applicazioni in esecuzione e che sono standardizzati nelle specifiche EE. Alcuni esempi di servizi offerti dai container sono: gestione delle richieste di un eventuale Client gestione del multi-thread supporto alle transazioni collegamento ad altri componenti in altri tier collegamento a database gestione della sicurezza etc

41 Web/EJB container L'architettura Java EE definisce due tipi di container: 1. i Web container: forniscono un ambiente di esecuzione per Servlet e JSP (Java Server Pages) 2. gli EJB container: forniscono un ambiente di esecuzione per Enterprise Java Bean (EJB)

42 Web container Il Web container rappresenta il front-end sul Web di un'architettura Java EE 1. Gestisce le richieste http provenienti dal Web 1. riceve la richiesta del Client 2. esegue le azioni opportune per soddisfare tale richiesta 3. restituisce la risposta al Client stesso invocando uno dei componenti che sono al suo interno: Servlet e JSP 2. Gestisce il multithreading, anche a livello di "pool di thread: Garantendo così 1. buone prestazioni 2. facilità di sviluppo 3. Gestisce la politica di sicurezza consente di autenticare gli utenti che accedono al servizio consentendo o meno l'accesso a determinate risorse.

43 EJB Container L'EJB container fornisce un ambiente di esecuzione per Enterprise Java Bean, che sono i componenti che realizzano la logica applicativa del sito. Le specifiche relative a questi componenti descrivono appunto come questi debbano interfacciarsi con il substrato software fornito dal container.

44 Pattern BCE e Java secondo il paradigma BCE, la logica di un applicazione web basata su java2 è divisa in tre livelli logici fondamentali: Client Tier Application client Web client Middle Tier Web container: Jsp/Servlet EJB container: Enterprise javabean EIS Tier Enterprise information system (RDBMS,ERP, Legacy systems)

45 Client tier I componenti client possono essere di due tipi: Web client Application client

46 Web client Un Web client si compone di due parti: 1. una pagina web dinamica scritta in linguaggi come HTML e XML, generata da componenti all interno del livello Web 2. un browser Web in grado di visualizzare le pagine ricevute dal Server. All interno della pagina è possibile che vi sia un applet, una piccola applicazione scritta in linguaggio Java, eseguita dalla Java Virtual Machine (JVM) installata sul browser.

47 Application client funziona all interno di una macchina Client e consente all utilizzatore di gestire lavori che richiedono un interfaccia utente molto ricca ha un aspetto grafico (GUI) creato tramite le classi di Swing e AWT di Java, è comunque possibile utilizzare una comune interfaccia su linea di comando. ha accesso diretto ai bean del livello Business se i requisiti dell applicazione lo autorizzano, il client può generare una connessione HTTP ad una servlet che sta girando nel livello Web.

48 Comunicazione al livello client la comunicazione al livello client avviene con i livelli intermedi racchiusi tutti all interno del Server. Il client comunica con il livello Business e con quello Web direttamente o, nel caso di un client funzionante in un browser, tramite pagine JSP o applet. L applicazione J2EE può essere costruita sulla base di due client diametralmente opposti un browser-based client e un application client la scelta dipende dal compromesso che si vuole seguire: lasciare molte funzionalità al client, e quindi rimanere più vicino possibile all utente dare più funzionalità possibili al server per alleggerire il lavoro della macchina Client.

49 Middle Tier Contiene due elementi distinti : Jsp/Servlet Enterprise javabean

50 Servlet/jsp Servlet: è una classe Java che dinamicamente elabora azioni di richiesta informazioni e costruisce delle risposte adeguate. pagina JSP è un documento di testo che fornisce un approccio più naturale nella creazione di concetti statici. All interno di una pagina JSP possiamo trovare del codice HTML, del codice Java o chiamate a classi Java già compilate e pronte per essere utilizzate. Servlet e jsp sono intercambiabili Vantaggio delle pagine JSP: non è necessario eseguire la loro compilazione, in quanto il Web Browser interpreta il codice Java al suo interno.

51 JSP È un estensione della tecnologia delle servlet Si usa quando la maggior parte del contenuto inviato al client è testo statico e markup e solo una piccola parte del contenuto viene generata dinamicamente con del codice java

52 Servlet Si usano quando una piccola parte del contenuto che viene inviato al client è testo statico o markup Alcune servlet non producono contenuto, ma eseguono compiti per conto dle client e invocano altre servlet o JSP per fornire una risposta Implementa l interfaccia Servlet, i cui metodi sono invocati automaticamente ( dal contenitore di servlet)

53 Enterprise Bean Questa parte del sistema si occupa di risolvere le problematiche vere e proprie di un applicazione. Tutto ciò è gestito dagli Enterprise JavaBean presenti al suo interno: un Enterprise Bean riceve dati dai programmi client e se necessario li elabora. Si occupano di operazioni complesse quali l interrogazione di un database i dati vengono inviati al database per essere mantenuti, oppure compiono il percorso inverso, tornano cioè al client che li ha richiesti per essere eventualmente presentati all utente. un Enterprise Bean può recuperare dati memorizzati all interno del database, elaborarli e in seguito inviarli al programma client che li ha richiesti.

54 Dinamica Come il livello Client anche il livello Web può avere componenti JavaBean in grado di prendere gli input dell utente e indirizzarli poi ad altri JavaBean residenti nel livello Business per essere elaborati Esistono due tipi di collegamento che esistono il livello web all interno del livello server e il livello Client.

55 EIS Tier Enterprise Information System Contiene software per la gestione generale del sistema infrastrutture di sistema come mainframe per la gestione dei processi di transazione database per la memorizzazione.

56 Esempio

57 Modelli architetturali Lo sviluppo di applicazioni di diversa complessità porta alla definizione di due modelli architetturali: 1. modello per piccole e semplici applicazioni, consigliato per applicazioni statiche. 2. architettura indicata per lo sviluppo di applicazioni che usano componenti come Servlet e Bean

58 Osservazioni Il passaggio dal primo al secondo modello avviene quando lo sviluppatore si trova in presenza di cambiamenti, aggiornamenti o espansioni dell applicazione. È meglio non considerare il primo modello se non in caso di applicazioni molto piccole e statiche, ma riferirsi direttamente al secondo in cui: 1. un servlet controlla la comunicazione del cliente 2. i Bean gestiscono la Business logic dell applicazione 3. nelle pagine JSP risiede la presentazione o visualizzazione dei dati, risiede principalmente in pagine JSP.

59 microsoft Tecnplogie proprietarie Asp Asp.Net (per applicazioni e servizi web) C# J# (visual basic.net) Ruby Ecc.

60 ASP (Active Server Page) ASP è un linguaggio di programmazione per la creazione di pagine web dinamiche che su piattaforma Windows affinché il codice ASP possa essere interpretato, c'è bisogno che il Web server utilizzato sia un server Active X come ad esempio IIS o Personal Web Server (anche se per quest ultimo ci sono alcune limitazioni di utilizzo). Esistono anche versioni per Netscape Enterprise, Lotus Domino, Solaris. E moduli aggiuntivi, scritti in Java, per server Unix (Linux, Novell, Sun, Macintosh, HPUX, SGI, SCO,Dec Alpha, IBM OS/2, RS/6000, AS/400, S/390, Apache, FastTrack/Enterprise servers, Sun WebServer, Java WebServer,IIS, WebSphere and Lotus Domino). Il linguaggio supporta il concetto di variabile che in questo caso non deve essere necessariamente dichiarata. Active Server Page permette di sfruttare le variabili di tipo, cioè variabili che possono contenere qualsiasi tipo di valore ad eccezione di vettori o matrici. Una variabile può essere globale (dichiarata al di fuori di procedure), locale (dichiarata all interno di procedure), di sessione (disponibile per tutte le pagine), di applicazione (disponibile per un applicazione richiesta da un utente). ASP mette a disposizione la possibilità di gestire collezioni di dati, statiche o provenienti da form, eventualmente possono essere definiti array multidimensionali. ASP mette a disposizione del linguaggio di scripting 7 diversi oggetti che, grazie ai loro metodi, consentono il controllo del server e della comunicazione server-client. Questi oggetti, che sono detti oggetti built-in, vengono automaticamente istanziati all'inizio dell'esecuzione di ogni pagina.

61 Implementazione di un architettura a oggetti distribuiti Richiede un middleware per gestire la comunicazione tra gli oggetti distribuiti il middleware è detto Object Request Broker (ORB) Gli oggetti possono essere implementati utilizzando linguaggi di programmazione diversi, eseguiti su piattaforme diverse e non aver bisogno di conoscere tutti i nomi degli altri oggetti del sistema

62 CORBA Standard definito da OMG Secondo lo standard un applicazione distribuita è fornita da una serie di componenti Oggetti applicativi progettati e implementati per questa applicazione Oggetti standard definiti da OMG per uno specifico dominio che coprono diversi campi finanza, commercio elettronico, servizio sanitario Servizi CORBA fondamentali che forniscono servizi distribuiti da base come gestione di directory e di protezione Funzionalità orizzontali CORBA come interfacce utente, gestione del sistema Si tratta di funzionalità comuni a molti domini di applicazione e le funzionalità sono utilizzate in diverse applicazioni

63 Elementi dello standard 1. Modello di oggetto per gli oggetti applicativi CORBA è un versione di un interfaccia incapsulata occorre un linguaggio per la descrizione delle interfacce interface definition language (IDL) 2. Mediatore di richieste degli oggetti, ORB 3. Insieme di servizi generici(directory, transazioni, persistenza) 4. Insieme di componenti comuni

64 Modello oggetto Corba Come per un qualunque oggetto, il modello considera l oggetto come un incapsulamento di attributi e servizi Gli oggetti Corba devono avere una definizione dell interfaccia separata che definisce gli attributi e le operazioni pubbliche dell oggetto

65 Comunicazione tra gli oggetti Le interfacce degli oggetti sono definite usando un linguaggio di definizione standard e language independent: Un oggetto accede ad un servizio offerto da un altro oggetto mediante l interfaccia IDL Gli oggetti corba hanno un identificatore chiamato IOR (Interoperable object reference) L orb è a conoscenza degli oggetti che richiedono i servizi e delle loro interfacce

66 Comunicazione tra oggetti L oggetto chiamante ha uno stub IDL associato che definisce l interfaccia dell oggetto del fornitore del servizio chiamato l oggetto che fornisce il servizio ha uno skeleton IDL che collega l interfaccia all implementazione dei servizi Quando un servizio è chiamato attraverso l interfaccia, lo skeleton produce una chiamata al servizio qualunque sia il linguaggio di implementazione Quando il metodo è stato eseguito lo skeleton traduce i risultati in IDL in modo che l oggetto chiamante possa accedervi. Un oggetto che fornisce servizi e utilizza servizi di altri oggetti ha sia uno skeleton che uno stub IDL per ogni oggetto che li utilizza

67 Web services Non è una tecnologia specifica per applicazioni web nonostante la presenza del termine web Il termine web sta ad indicare che usa tecnologie per il web, web server e HTTP, per fornire un insieme di servizi che possono essere invocati da altri programmi sulla rete

68 Cenni storici Il concetto di web service risale agli anni 1990 introdotta da sun con la campagna le rete è il computer L idea è quella di risolvere i problemi di business distribuendo la soluzione a problemi discreti a componenti specializzate distribuite sulla rete

69 Vantaggi La decentralizzazione del meccanismo di elaborazione comporta significativi vantaggi quando il sistema evolve poiché occorre apportare poche modifiche quando il sistema cambia

70 Standard-based web service Web service hanno un ruolo importante nell ambito della tecnologia.net Quando la tecnologia fu rilasciata, web service standardbased acquistarono notevole importanza

71 Web service e componenti Un web service è una collezione di funzioni impacchettate e pubblicate su una rete per poter essere utilizzate da altri programmi client Da un alto livello di astrazione un web service è semplicemente un altro tipo di RPC La differenza è nei concetti che il web service porta alla RPC: Così come i modelli a componenti hanno reso praticabile il riuso di componenti, così i web service rendono pratica la RPC fornendo un insieme di standard per individuare e invocare i servizi

72 Component model /service model I modelli a componenti definiscono le modalità in cui le componenti interagiscono e secondo cui possono essere individuate ed esaminate a livello di programmazione I web service definiscono un meccanismo analogo per il discovery di metadati funzionali

73 Altre caratteristiche Ogni web service può interagire con qualunque altro web service I web service possono essere aggregati per fornire funzionalità di alto livello I web service sono componenti software e quindi possono invocare altri web service

74 Tecnologie per web service SOAP: Simple Object Access Protocol Definisce un organizzazione per lo scambio di dati strutturati tra i webservice WSDL: Web Service Description Language Linguaggio di descrizione dei webservice che definisce come possono essere rappresentate le interfacce dei webservice UDDI: Universal Description, Discovery And Integration Descrizione, scoperta e integrazione universale Standard di ricerca che definisce come possono essere organizzate le informazioni di descrizione dei servizi utilizzate dai richiedenti dei servizi per trovarli

75 XML Gli standard per i web service si basano su XML Linguaggio di markup human and machine understandable (Skonnard e Gudgin, 2002)

76 Architetture applicative Sono architetture debolmente accoppiate dove i collegamenti ai servizi possono cambiare durante l esecuzione: Alcuni sistemi possono essere costruiti usando solamente web service altri possono comprendere web service e componenti sviluppati localmente

77 Il middleware Il middleware deve garantire la comunicazione trasparente tra gli oggetti: È richiesto a due livelli: Comunicazione logica: fornisce funzionalità che permettono agli oggetti su computer diversi di scambiarsi dati e controllare le informazioni Standard sviluppati sono CORBA, COM per facilitare la comunicazione tra oggetti su piattaforme diverse Componenti: Il middleware fornisce una base per lo sviluppo di componenti compatibili Standard come EJB, CORBA, ActiveX forniscono una base per l implementazione di componenti con metodi standard che possono essere interrogati e utilizzati da altri componenti

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

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

Siti 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

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

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

Applicazioni 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

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Presentazione di Cedac Software

Presentazione 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

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Architetture e applicazioni web

Architetture e applicazioni web Architetture e applicazioni web L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Cosa è un'applicazione web E' un particolare tipo di applicazione che si appoggia sulle tecnologie,

Dettagli

SWIM v2 Design Document

SWIM 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

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

Architetture software

Architetture software Sistemi Distribuiti Architetture software 1 Sistemi distribuiti: Architetture software Il software di gestione di un sistema distribuito ha funzionalità analoghe ad un sistema operativo Gestione delle

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Componenti Web: client-side e server-side

Componenti 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

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5 Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. 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

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario 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

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2 DIB 1 Sommario Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 2 Architettura a 3 Livelli DIB 3 Architettura a 3 Livelli Presentazione Gestione dell interazione degli

Dettagli

sito web sito Internet

sito 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

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

MODELLO 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 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

Dettagli

L evoluzione delle Applicazioni Distribuite

L evoluzione delle Applicazioni Distribuite L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

Architetture Web: un ripasso

Architetture Web: un ripasso Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Architettura MVC-2 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

Architettura MVC-2 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 Architettura MVC-2 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 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Programmazione Java Avanzata Spring - JDBC

Programmazione Java Avanzata Spring - JDBC Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

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

@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

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

L architettura MVC (Model- View-Controller) Introduzione

L architettura MVC (Model- View-Controller) Introduzione L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

SOMMARIO. www.trustonline.org. 1. Introduzione 3. 2. Caratteristiche generali della piattaforma 3. 2.1. Amministrazione degli utenti 5

SOMMARIO. www.trustonline.org. 1. Introduzione 3. 2. Caratteristiche generali della piattaforma 3. 2.1. Amministrazione degli utenti 5 www.trustonline.org SOMMARIO 1. Introduzione 3 2. Caratteristiche generali della piattaforma 3 2.1. Amministrazione degli utenti 5 2.2. Caricamento dei corsi 5 2.3. Publishing 6 2.4. Navigazione del corso

Dettagli

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Architettura MVC-2: i JavaBeans

Architettura 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

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue Tecnologia e professionalità al servizio del business, dal 1986 Programmare in ambiente Java Enterprise: l offerta Copyright 2006 Infodue S.r.l. La programmazione nell era era del Web Computing L evoluzione

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti 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

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.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

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. 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

Dettagli

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale della Logistica e della Produzione Una piattaforma per la negoziazione di servizi business to

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario 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

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

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

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli