JMS e Web services nello sviluppo di architetture EDA e SOA. Jürgen Assfalg. 28 febbraio 2006

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JMS e Web services nello sviluppo di architetture EDA e SOA. Jürgen Assfalg. 28 febbraio 2006"

Transcript

1 JMS e WebServices nello sviluppo di architetture EDA e SOA 28 febbraio Contesto Temi Integrazione di applicazioni di scala enterprise caso di studio WS Applicazioni enterprise Architetture Evoluzione delle tecnologie SW EAI (Enterprise Applications Integration) SOA / EDA JMS 2

2 Per finalizzare l'uso della tecnologia alla soluzione di un problema reale, si consideri la gestione di un procedimento amministrativo, quale il rilascio di autorizzazione per trasporti eccezionali: La Provincia rilascia l'autorizzazione per il transito di convogli eccezionali lungo gli itinerari delle strade regionali e provinciali, nonché lungo le strade comunali previa acquisizione di nulla-osta del Comune territorialmente competente, se trattasi di percorso misto che riguarda sia strade regionali e/o provinciali sia comunali, oppure quando il percorso richiesto interessi più comuni [http://www.provincia.fi.it/] 3 Front-office (interazione con l'utente) Avvio del procedimento presentazione dell'istanza tramite modulo generalità del richiedente periodo e percorso previsti per il trasporto caratteristiche del mezzo ulteriori dichiarazioni Conclusione del procedimento rilascio dell'autorizzazione percorso costi 4

3 Nell'interazione tra Amministrazione e utente, un aspetto importante nella gestione del procedimento è la protocollazione di documenti in arrivo e in partenza registrazione del documento oggetto, argomento, mittente, destinatari,... assegnazione di un numero di protocollo numero progressivo (unico per ogni anno), data, classfica,... archiviazione del documento del cartaceo eventualmente anche digitalizzazione e archiviazione elettronica 5 Back-office Le attività svolte dietro le quinte dagli addetti al procedimento sono molteplici, e comprendono: esame dell'istanza verifica vincoli (ponti, gallerie, cantieri) sulle parti di percorso di propria competenza calcolo degli oneri eventuale richiesta nulla-osta ad altri Enti (es. Comuni interessati dal percorso) produzione dell'autorizzazione 6

4 Formalizzazione del problema: protocollo Inizialmente si intende realizzare un servizio software che consenta sia agli addetti allo sportello (front-office) sia alle varie applicazioni presenti nell'amministrazione una protocollazione unificata dei documenti Tipicamente le Amministrazioni dispongono di un'applicazione (il protocollo informatico) che, raccogliendo i dati tramite opportune maschere, consente agli addetti di registrare di documenti Quali sono le tecnologie per rendere disponibile il servizio anche alle applicazioni? 7 Insieme di tecnologie software progettate per consentire l'interazione tra applicazioni Per garantire un'elevata interoperabilità, le diverse componenti sono normate da organismi di standardizzazione (es. W3C, OASIS, WS-I,...) 8

5 Principali componenti SOAP (http://www.w3.org/tr/soap/) definisce come avviene il trasporto dei messaggi Web Service Description Language - WSDL (http://www.w3.org/tr/wsdl) definisce il formato dei messaggi, ovvero la struttura dell'informazione UDDI definisce indici e relativi criteri di ricerca per catalogare e cercare web services 9 Piattaforma Java Development Kit (http://java.sun.com/j2se/1.4.2/) linguaggio Java, VM Tomcat 5.0.x (http://tomcat.apache.org/) application server Axis 1.2.x (http://ws.apache.org/axis/) insieme di strumenti per l'implementazione di WS e relativi clients in Java Nota: si sono volutamente prese in considerazione versioni non troppo recenti, per garantire una maggiore stabilità dell'intera piattaforma 10

6 Axis prevede una modalità elementare per la realizzazione di Web Services, che prevede i seguenti passi: definizione di una classe che realizza il servizio installazione della classe su Axis Una volta realizzato il servizio sarà possibile consultarne il file WSDL in questo caso generato automaticamente da Axis descrive il formato dei messaggi accettati e prodotti dal servizio, nonché le operazioni previste accedervi tramite opportuno client 11 Implementazione della logica del servizio nel seguito è riportata una semplice classe, che realizza la logica elementare del servizio di protocollo, consentendo: la registrazione di un documento del documento si specifica l'oggetto il servizio restituisce il numero di protocollo associatogli la ricerca del documento, ovvero dell'oggetto associato ad un determinato numero di protocollo sono previsti meccanismi di sincronizzazione per garantire che il registro di protocollo sia tenuto correttamente anche in regime di concorrenza (es. sequenza di numeri strettamente monotona) 12

7 public class ProtocolloElementare { public int registra( String oggetto ) { return _registra( oggetto ); } public String cerca( int numero ) { return _cerca( numero ); } private static int _registra( String oggetto ) { int c; synchronized ( registro ) { } contatore++; registro.put( new Integer( contatore ), oggetto ); c = contatore; return c; } [...segue...] 13 [...] private static String _cerca( int numero ) { } String o; synchronized ( registro ) { } o = (String) registro.get( new Integer( numero ) ); return o; private static int contatore = 0; private static HashMap registro = new HashMap(); } 14

8 Operativamente, una volta scritto il file con la classe appena vista, per l'installazione è necessario copiare il file sorgente nella cartella di Axis %TOMCAT_HOME%\webapps\axis dove %TOMCAT_HOME% è la cartella in cui è stato installato Tomcat cambiare l'estensione da.java a.jws ProtocolloElementare.jws Per verificare la corretta installazione del servizio è sufficiente accedere alla pagina ipotizzando che Tomcat sia in ascolto sulla porta della macchina da cui si accede, e che Axis sia installato nella cartella sopra indicata 15 Per consultare il file WSDL si può selezionare il collegamento ipertestuale riportato nella pagina sopra, oppure accedervi direttamente all'indirizzo 16

9 WSDL è un formato XML per descrivere il servizio in termini di formato dei messaggi scambiati utilizzando anche XML Schema operazioni definite sull'endpoint ( terminale ) binding, ovvero come avviene l'aggancio al protocollo di trasporto (SOAP) indirizzo a cui è raggiungibile il servizio nel seguito è riportato il file WSDL prodotto automaticamente da Axis per il servizio elementare di protoccolo 17 messaggi endpoint 18

10 19 Tutto sommato facile... ma... la realizzazione del servizio si è ridotta alla scrittura di una classe Java il file WSDL, richiesto per ogni Web Service, è stato prodotto automaticamente da Axis quest'approccio non è sempre utilizzabile es. la classe deve appartenere al package predefinito manca il client per il servizio 20

11 Il procedimento generale è diverso: definizione di un servizio e delle operazioni, cioè definizione di un'interfaccia: + registra( : String ) : Protocollo + cerca( : int ) : String NOTA Rispetto alla prima implementazione del protocollo, che restituiva un intero, in questo caso si prevede un tipo definito ad hoc (Protocollo), che oltre al numero conterrà anche l'anno. Un tale tipo di dato non è previsto dagli standards XML Schema e SOAP (mentre lo sono, ad esempio, interi e stringhe), e quindi dovrà essere adeguatamente trattato 21 creazione del file WSDL qualora non si sia ancora esperti di WSDL si può sempre ricorrere a Java2WSDL (uno strumento fornito insieme ad Axis), che crea un file WSDL a partire da una classe o un'interfaccia Java java org.apache.axis.wsdl.java2wsdl --style document --use LITERAL -o protocollo.wsdl -l"http://localhost:10080/axis/services/wsservizio" -n "urn:protocollo" -p"protocollo" "urn:protocollo" protocollo.wsservizio in generale, l'editing diretto di un file WSDL risulta comunque essere un'attività abbastanza pesante, per cui si raccomanda l'uso di un editor XML o degli strumenti presenti negli ambienti di sviluppo integrati (es. Eclipse, con i plugins del progetto WTP) 22

12 generazione delle classi Java java org.apache.axis.wsdl.wsdl2java -s -p protocollo.wsdl protocollo.wsdl dato il file WSDL, il programma WSDL2Java del pacchetto Axis provvede a generare tutte le classi accessorie per realizzare, in maniera trasparente al programmatore, il collegamento tra client e server, secondo i protocolli previsti per lo specifico servizio (es. SOAP, HTTP,...) 23 In generale, WSDL2Java può generare per ogni tipo: una classe Java ed eventuale holder per ogni porttype: un'interfaccia Java per ogni binding una classe stub una classe skeleton un modello (template) per l'implementazione per ogni service: un'interfaccia Java del servizio un'implementazione del servizio (locator) 24

13 25 Server disponendo già di una classe che realizza la logica del registro di protocollo (la classe ProtocolloElementare, vista in precedenza), l'implementazione del Web Service si riduce al completamento della classe WSProtocolloSoapBindingImpl in maniera tale da adattare la classe esistente alla nuova interfaccia richiesta, cioè WSServizio v. anche design pattern Adapter 26

14 public class WSProtocolloSoapBindingImpl implements WSServizio { public Protocollo registra( String oggetto ) throws java.rmi.remoteexception { int numero = r.registra( oggetto ); Protocollo p = new Protocollo(); p.setnumero( protocollo ); p.setanno( 2006 ); return protocollo; } public String cerca( int numero ) throws java.rmi.remoteexception { return r.cerca( numero ); } static ProtocolloElementare r = new ProtocolloElementare(); } adattamento 27 Installazione del servizio copiare le varie classi sull'application server attivare il servizio su Axis utilizzando gli strumenti forniti con il pacchetto Axis java org.apache.axis.client.adminclient deploy.wsdd il formato WSDD (Web Sevice Deployment Descriptor), specifico del pacchetto Axis, serve per indicare al server informazioni utili per la configurazione del servizio operazioni e relativi parametri classe che implementazione il servizio mappatura dei parametri complessi 28

15 WSDD <deployment [...] > <service name="wsprotocollo" provider="java:rpc" style="rpc" use="encoded"> [...] <parameter name="wsdlserviceelement" value="wsservizioservice"/> <parameter name="wsdlserviceport" value="wsprotocollo"/> <parameter name="classname" value="protocollo.wsdl.wsprotocollosoapbindingimpl"/> <parameter name="wsdlporttype" value="wsservizio"/> <operation name="registra" qname="operns:registra" [...] returntype="rtns:protocollo"> <parameter qname="in0" type="tns:string"/> </operation> [...] <typemapping xmlns:ns="urn:protocollo" qname="ns:protocollo" type="java:protocollo.wsdl.protocollo" serializer="org.apache.axis.encoding.ser.beanserializerfactory" deserializer="org.apache.axis.encoding.ser.beandeserializerfactory" [...] /> [...] 29 Client (statico) l'accesso al servizio dal client richiede l'uso di un oggetto WSServizioServiceLocator, (classe generata automaticamente dallo strumento WSDL2Java di Axis), che serve per ottenere il riferimento al proxy locale del servizio stabilito il contatto con il servizio attraverso un oggetto locator, l'accesso al servizio avviene semplicemente invocando i metodi di un oggetto (il proxy, appunto) che implementa l'interfaccia WSServizio, senza curarsi di ciò che sta dietro 30

16 WSServizioService service = new WSServizioServiceLocator(); String endpointurl = "http://localhost:10080/axis/services/wsprotocollo"; WSServizio port = service.getwsprotocollo( new URL( endpointurl ) ); for ( int i = 0; i < numeroprove; i++ ) { String o = "prova " + i; int n = port.registra( o ).getnumero(); numeri[ i ] = n; } for ( int i = numeroprove; i > 0; i-- ) { int n = numeri[ i - 1 ]; String o = port.cerca( n ); } 31 Alternative al client statico Dynamic Proxy il proxy viene generato dinamicamente quando si accede al servizio; funziona finché non cambia la signature dei metodi usati dal client Dynamic Invocation si accede alle operazioni del servizio tramite chiamate standard Call call = (Call) service.createcall(); call.settargetendpointaddress( endpoint ); call.setoperationstyle( opstyle ); call.setoperationuse( opuse ); call.addparameter( new Qname( "http://ws", "numero"), XMLType.XSD_INT, ParameterMode.IN ); call.setoperationname( "cerca" ); call.setreturntype( XMLType.XSD_STRING ); 32

17 Per definire un Web service è utile capire alcuni dettagli relativi alla formattazione dei messaggi, sia a livello di definizione in WSDL che di trasmissione con SOAP WSDL prevede due parametri STILE (binding con SOAP) RPC DOCUMENT WRAPPED Java2WSDL: -y, --style <argument> USE (nella codifica del messaggio SOAP) ENCODED LITERAL Java2WSDL: -u, --use <argument> 33 Per comprendere gli effetti delle diverse combinazioni dei valori dei due parametri si può esaminare sia il file WSDL, sia il traffico SOAP tra client e server Per l'analisi del traffico si può utilizzare un'altro strumento di Axis: TCPMon java org.apache.axis.utils.tcpmon 9080 localhost il programma realizza un proxy TCP, che raccoglie tutto il traffico indirizzato alla porta locale 9080, lo registra, e quindi lo indirizza alla porta di localhost; analogamente per il traffico di ritorno è necessario cambiare l'indirizzo dell'endpoint fornito al client 34

18 Client richiesta risposta inolrata TCPMon richiesta inolrata risposta Server 35 Document - literal 36

19 ==== Request ==== POST /axis/services/wsprotocollodl HTTP/1.0 Header HTTP Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.2.1 Host: localhost:9080 Cache-Control: no-cache Pragma: no-cache SOAPAction: "" Content-Length: 302 <?xml version="1.0" encoding="utf-8"?> Messaggio SOAP <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <soapenv:body> Corpo messaggio SOAP <in0 xmlns="urn:protocollo">prova 1</in0> </soapenv:body> </soapenv:envelope> 37 ==== Response ==== HTTP/ OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Date: Mon, 27 Feb :42:38 GMT Connection: close <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <soapenv:body> <registrareturn xmlns="urn:protocollo"> <anno>2006</anno> <numero>1</numero> </registrareturn> </soapenv:body> </soapenv:envelope> 38

20 RPC - encoded 39 ==== Request ==== [...] <ns1:registra soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:protocollo"> <in0 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">prova 1</in0> </ns1:registra> [...] 40

21 ==== Response ==== [...] <ns1:registraresponse soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:protocollo"> <registrareturn href="#id0"/> </ns1:registraresponse> <multiref id="id0" [...] xsi:type="ns2:protocollo" [...]> <anno href="#id1"/> <numero href="#id2"/> </multiref> <multiref id="id1" [...] xsi:type="xsd:int" [...]>2006</multiRef> <multiref id="id2" [...] xsi:type="xsd:int" [...]>1</multiRef> [...] 41 Wrapped - literal 42

22 ==== Request ==== [...] <registra xmlns="urn:protocollo"> <in0>prova 1</in0> </registra> [...] <in0 xmlns="urn:protocollo">prova 1</in0> ==== Response ==== [...] <registraresponse xmlns="urn:protocollo"> <registrareturn> <anno>2006</anno> <numero>1</numero> </registrareturn> </registraresponse> [...] <registrareturn xmlns="urn:protocollo"> <anno>2006</anno> <numero>1</numero> </registrareturn> 43 Document-literal messaggi SOAP più leggeri consente uso strumenti per XML (es. validazione) flessibilità nella definizione del servizio maggiori oneri per lo sviluppatore (XML Schema!) Wrapped-literal supera limite di un solo parametro in document-literal, accorpando più parametri in uno solo RPC-encoded Obsoleto le altre combinazioni irrilevanti 44

23 alternative SwA (SOAP with Attachments) con MIME il messaggio che transita è composto da più parti MIME multipart/related: la prima contiene la busta SOAP, le altre gli allegati. Buona interoperabilità Axis lo supporta JWSDP di SUN lo supporta WS-I ( WS-I Attachments Profile 1.0 ) Microsoft NON prevede supporto per SwA in.net. 46

24 L uso di SwA può essere descritta direttamente nel documento WSDL che descrive il web service che utilizza l invio e la ricezione di allegati. Server Message req = MessageContext.getCurrentContext().getRequestMessage(); Attachments msgatts = req.getattachmentsimpl(); AttachmentPart parts[] = new AttachmentPart[ msgatts.getattachmentcount() ]; Iterator it = msgatts.getattachments().iterator(); for ( int i = 0; it.hasnext(); i++) parts[ i ] = (AttachmentPart) it.next(); [...] DataHandler dh = parts[ 0 ].getdatahandler(); InputStream in = dh.getinputstream(); 47 Client Service service = new Service(); call = (Call) service.createcall(); call.settargetendpointaddress( endpoint ); call.setoperationstyle( opstyle ); call.setoperationuse( opuse ); call.addparameter( new Qname( "http://ws", "nome"), XMLType.XSD_STRING, ParameterMode.IN ); call.addparameter( new QName("http://ws", "length"), XMLType.XSD_INT, ParameterMode.IN ); call.setoperationname( "uploadattachmentswa" ); call.setreturntype( XMLType.AXIS_VOID ); DataHandler attachmentfile = new DataHandler( new FileDataSource( file ) ); call.setproperty( Call.ATTACHMENT_ENCAPSULATION_FORMAT, Call.ATTACHMENT_ENCAPSULATION_FORMAT_MIME); call.addattachmentpart( attachmentfile ); call.invoke( new Object[] { "Allegato.pdf", new Integer( filesize ) } ); call.removeallparameters(); 48

25 WS-Attachments con DIME (Direct Internet Message Encapsulation) unico formato supportato da Microsoft. DIME prevede un meccanismo di impacchettamento molto più efficiente del MIME. più veloce di SwA. Bassa interoperabilità sia DIME che WS-Attachments sono delle IETF Internet Drafts abbastanza datate (luglio 2002) nessuno sta portando avanti il processo di standardizzazione 49 Microsoft supporta solo DIME in.net tramite il pacchetto WSE (Web Services Enhancements). SUN lo supporta con SAAJ Axis lo supporta L uso di WS-Attachments può essere descritta direttamente nel documento WSDL che descrive il web service che utilizza l invio e la ricezione di allegati. 50

26 MTOM (SOAP Message Transmission and Optimization Mechanism) si basa su XOP (XML-binary Optimized Packaging) Working Draft della W3C tratta l'ottimizzazione dell invio di dati binari in un documento XML MTOM è anch essa una Working Draft della W3C 51 L invio di un documento come allegato è conveniente dimensione del documento non influisce su quella del messaggio SOAP: i tempi di creazione e parsing sono pressoché costanti con l aumentare della dimensione del documento il documento non deve essere codificato (come avviene invece con Base64 nel corpo) Tuttavia la non compatibilità degli standard SwA e WS-Attachments può limitare l interoperabilità 52

27 Conformità WSDL delle interfacce messaggi SOAP conforme con standards SwA e WS-Attachments servizio sviluppato con Axis opera in modo trasparente con entrambi gli standard dalla interfaccia Java di un servizio che riceve allegati, Axis non riesce a generare automaticamente una descrizione WSDL corretta del servizio Non conformità interoperabilità secondo WS-I Basic Profile Applicazioni aziendali, o anche sistemi informativi, oppure ancora elaborazione dati [M.Fowler, PoEA] Grandi quantità di dati persistenti Accesso concorrente da parte di più utenti Numerose maschere per immissione dati Spesso sono integrate con altre applicazioni 54

28 In molti casi le applicazioni nascono per soddisfare ben precise necessità di automazione di singole unità di un'organizzazione (dipartimenti), ovvero hanno lo scopo di replicare sul calcolatore consolidate procedure manuali 55 In questo scenario le applicazioni rappresentano lo strumento attraverso il quale si eseguono tutte le attività associate alla diverse fasi lungo cui si sviluppa una determinata procedura. Poiché tali applicazioni affrontano in profondità un determinato problema, si dice che hanno natura verticale. 56

29 Evoluzione delle architetture monolitiche incorporano tutte le routine per la gestione e la manipolazione dei dati non offrono altre aperture se non l'interfaccia utente 57 client/server, o a 2 livelli client: presentazione server: sorgente dati (DBMS) Database Server SQL Client Client GUI Business logic GUI Database logic Business logic Database logic 58

30 Vantaggi architettura semplice Svantaggi ridotta scalabilità richiede elevata larghezza di banda difficoltà di manutenzione logica applicativa distribuita (fat client) logica applicativa nel DBMS (stored procedures) 59 Quando la complessità della logica applicativa (regole, validazione, calcoli) è cresciuta, si sono identificati 3 livelli: Presentazione dei dati all'utente, ma anche ad un programma Dominio incorpora la logica applicativa Sorgente dati gestisce la persistenza dei dati 60

31 Client GUI Client GUI Middle-tier server Business logic Database logic Database Server RPC, DCOM, SQL 61 Solo lo sviluppo del web, e quindi la necessità di evitare la replicazione della logica di dominio in diverse interfacce, ha fatto decollare lo sviluppo delle architetture a 3 (o più) livelli In generale, si possono concepire applicazioni a N livelli. Tuttavia, le architetture a 2 o 3 livelli coprono la maggior parte delle applicazioni 62

32 Componenti in esecuzione su differenti nodi in maniera concorrente Cooperazione tra i componenti per lo svolgimento di compiti complessi Vantaggi: riusabilità dei componenti scalabilità del sistema (load balancing) condivisione di risorse alta disponibilità (fail-over) 63 La realizzazione di un sistema di applicazioni distribuite richiede un approccio differente da quello utilizzato per i sistemi centralizzati, in termini sia di architetture che di tecnologie 64

33 Protocolli e ed architetture client/server TCP/IP RPC Ambienti ad oggetti distribuiti da classi a componenti RMI DCOM CORBA EJB 65 Oggetti/componenti distribuiti presentano (anche solo per considerazioni relative alle prestazioni) una granularità meno fine rispetto alle classi un'interfaccia definita e relativamente stabile (non controllando sempre sia il client che il server) Limitati ad una singola organizzazione (o addirittura ad una sua sede) a causa di prestazioni sicurezza 66

34 Nasce dalla necessità di consolidare e aggregare il patrimonio informativo (es. data mining, data warehousing,...) integrare le procedure (es. cooperazione applicativa,...) adeguare i sistemi informativi alle misure organizzative in atto (es. fusioni, riorganizzazioni,...) maggiore competitività (es. riduzione dei tempi,...) 67 Diversi scenari: Business to consumer (B2C) utilizzata da soggetti esterni all'organizzazione es. commercio elettronico, prenotazione voli,... Business to business (B2B) scambio dati senza intervento umano es. gestione magazzino, pagamento elettronico Back-end eseguita periodicamente senza input diretto es. telecomunicazioni, invio newletter 68

35 Integrazione di applicazioni (Enterprise Application Integration, o EAI) e sistemi distribuiti sono tematiche diverse, che tuttavia si possono incontrare 69 Operazione complessa, che coinvolge ogni livello di un sistema informativo l'integrazione dei processi che realizzano le logiche aziendali deve guidare l'integrazione delle applicazioni le applicazioni devono agevolare lo scambio e l'elaborazione delle informazioni necessarie allo svolgimento dei processi punto di partenza è quindi un'attività di BPE/BPR modellazione e gestione dei processi (combinazione di attività, procedure, organizzazioni, informazioni richieste e prodotte, strumenti richiesti in ogni fase 70

36 A livello delle applicazioni, lo scopo è quello di mettere insieme dati e funzionalità di un'applicazione con quelli di un'altra. Per consentire l'integrazione delle applicazioni è necessario realizzare, oltre a quella dei processi, l'integrazione dei dati Identificazione, catalogazione e modelllazione dei dati, quindi possono essere condivisi/distribuiti tra DBMS 71 Per raggiungere una completa integrazione dei dati è necessario adottare degli standards, che promuovano la condivisione e la distribuzione dell'informazione COM+/DCOM, CORBA, EDI, JavaRMI, XML Per completare l'integrazione dei sistemi, devono essere integrate le piattaforme, ovvero le architetture, l'hardware, il software e l'infrastruttura telematica Processi e strumenti che consentano ai sistemi di comunicare in maniera ottimale e sicura 72

37 Principali architetture per la realizzazione di sistemi distribuiti: Service-Oriented Architecture (SOA) Event-Driven Architecture (EDA) Le architetture SOA ed EDA definiscono Quali sono i componenti ed i loro ruoli Le interfacce presentate da ogni componente Le modalità di interazione 73 SOA è un approccio alla progettazione client/server che prevede un accoppiamento lasco fra fornitori di servizi (service providers) e consumatori di servizi (service consumers). come anche per classi e componenti, l'obiettivo di SOA è il riuso di software, ad un livello di granularità ancora meno fine (riducendo quindi ulteriormente le dipendenze), ovvero ad un livello di astrazione più alto. netta separazione fra l'interfaccia e l'implementazione del servizio 74

38 l'interfaccia definisce un contratto tra fornitore e consumatore, e deve essere pubblica e vincolante per le parti definita a livello sintattico tramite un apposito linguaggio (IDL nel caso di Corba, WSDL nel caso di Web Services,...) progettazione per interfacce non è un concetto nuovo (può essere efficacemente applicato anche alla programmazione OO, ma nel momento in cui si travalicano i limiti di un'applicazione o addirittura di un'organizzazione esso è molto più vincolante l'implementazione realizza la logica applicativa ( business logic ), seguendo un approccio di tipo black-box 75 Nella pratica i servizi possono essere implementati: sviluppando un modulo ex-novo incapsulando un modulo software preesistente v. pattern Adapter componendo una serie di moduli preesistenti v. pattern Facade gli ultimi due consentono riuso di componenti 76

39 Ruoli: consumatore, fornitore e registro Fornitore espone una interfaccia documentata Interazioni sono tipicamente di tipo request / reply Interazioni 1:1 tra fornitore e consumatore delega dei ruoli (un fornitore può essere a sua volta un consumatore) utile un maggiore disaccoppiamento client/server find-bind-invoke (o Client-Dispatcher-Server) 77 Vantaggi: sviluppo incrementale di un sistema informativo riuso di componenti esistenti sviluppo a basso costo di nuove applicazioni (se esistono già i servizi è sufficiente comporli) chiarezza della topologia dell'applicazione (la trasparenza è imposta ad un livello più basso) 78

40 Limitazioni maggiore complessità (progetto interfaccia, stub/skeleton,... => non è vero che SOA è ingegneria del software semplice) altri falsi miti: indipendenza dalla tecnologia (per i singoli servizi, ma non per l'infrastruttura!) o dal venditore non ha senso per applicazioni in ambito locale che hanno vita breve non è raccomandato per applicazioni che richiedono un'interazione asincrona ed unidirezionale 79 Web Services sono lo strumento oggi più usato per la realizzazione di sistemi distribuiti con architettura SOA Web Services applicano i principi SOA: impongono Web Services Description Language (WSDL) per la definizione delle interfacce impongono SOAP come standard per il formato dei messaggi lasciano libertà nella scelta dei protocolli di comunicazione: HTTP, SMTP, FTP, etc. 80

41 Web Services rappresentano la soluzione che garantisce maggiore interoperabilità, e comportano oneri di gestione ridotti esistono implementazioni per numerosi linguaggi e piattaforme, e quindi consentotno il riuso di componenti già esistenti comunque, la relazione tra SOA e Web Services non è biunivoca WS rappresentano una possibile tecnologia per SOA, ma non sono l'unica; viceversa, possono essere utilizzati per implementare anche architetture diverse i WS hanno avuto e avranno ancora un ruolo non indifferente nella diffusione di SOA 81 Publish & Subscribe pubblicatore rileva cambiamenti di stato notifica i cambiamenti direttamente ai sottoscrittori 82

42 Message Oriented Middleware (MOM) consente la cooperazione applicativa secondo un modello EDA funzionalità di un Message Server scambio dei messaggi persistenza (database o file testuali) affidabilità del trasferimento filtraggio dei messaggi per ottimizzare la distribuzione 84

43 richiede standardizzazione dei messaggi realizza collegamenti 1:m (senza binding) il modulo sorgente (source) non fa (non può fare) alcuna ipotesi sulla destinazione (sink) il routing è determinato dalla destinazione e dal contenuto del messaggio per implementare nuove logiche è sufficiente aggiungere/rimuovere sorgenti e/o destinazioni 85 SOA Interazione req[/res] (bidirezionale) sincrona tipico, non necessario transazioni un nodo fa una richiesta per chiedere un'elaborazione il nodo chiamante conosce il chiamante (comunicazione diretta) e dipende da questo relazione 1:1 routing gestito dal client flusso lineare in una gerarchia di moduli interrogazione transazione composta EDA pubblicazione evento (unidirezionale) asincrona elaborazioni che si sviluppano nel tempo nodo genera un evento a seguito completamento elaborazione il nodo che genera evento non conosce chi lo processerà (comunicazione indiretta) relazione m:n routing determinato dal destinatario flussi asincroni e paralleli aggiornamento elaborazione multi-fase 86

44

45 89 ctx = new InitialContext(); Topic topic = (Topic) ctx.lookup( "topic" ); TopicConnectionFactory tcfactory = (TopicConnectionFactory) ctx.lookup( "tcf" ); ctx.close(); TopicConnection tconn = tcfactory.createtopicconnection(); TopicSession tsession = tconn.createtopicsession( true, 0 ); TopicPublisher tpublisher = tsession.createpublisher( topic ); TextMessage m = tsession.createtextmessage(); for ( int i = 0; i < N; i++ ) { m.settext( "Messaggio " + i ); tpublisher.publish( m ); } tsession.commit(); Topic publisher 90

Ultimo aggiornamento sett13

Ultimo aggiornamento sett13 Ultimo aggiornamento sett13 INDICE 1. Invio singolo SMS tramite richiesta POST/GET HTTP...3 1.1 - Messaggi singoli concatenati...4 2. Invio multiplo SMS tramite richiesta POST/GET HTTP...4 2.1 - Messaggi

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

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

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo.

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo. In una rete di ampie dimensioni, ciascuna sottorete (es. LAN, WAN) è connessa ad altre sottoreti tramite router. Internet è un insieme di reti connesse tra loro. Essenzialmente, in una rete alcune macchine

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO REGIONE BASILICATA PROCEDURA NEGOZIATA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, REALIZZAZIONE E GESTIONE DEL SISTEMA INTEGRATO SERB ECM DELLA REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06)

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute DNS: Domain Name System I name DNS Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP ( bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1

Dettagli

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS Introduzione La nostra soluzione sms2biz.it, Vi mette a disposizione un ambiente web per una gestione professionale dell invio di

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Appunti di Antonio Bernardo

Appunti di Antonio Bernardo Internet Appunti di Antonio Bernardo Cos è Internet Internet può essere vista come una rete logica di enorme complessità, appoggiata a strutture fisiche e collegamenti di vario tipo (fibre ottiche, cavi

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library

Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library A. Bardelli (Univ. Milano Bicocca), L. Bernardis (Univ.

Dettagli

1. Il Servizio. 2. Protocollo SMS-Server

1. Il Servizio. 2. Protocollo SMS-Server 1. Il Servizio 2. Protocollo SMS-Server 3. Protocollo HTTP Post e Get 3.1) Invio di SMS di testo 3.2) Invio di SMS con testo in formato UNICODE UCS-2 3.3) Simulazione di un invio 3.4) Possibili risposte

Dettagli

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless La configurazione degli indirizzi IP Configurazione statica, con DHCP, e stateless 1 Parametri essenziali per una stazione IP Parametri obbligatori Indirizzo IP Netmask Parametri formalmente non obbligatori,

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

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

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

Architettura di un sistema informatico 1 CONCETTI GENERALI

Architettura di un sistema informatico 1 CONCETTI GENERALI Architettura di un sistema informatico Realizzata dal Dott. Dino Feragalli 1 CONCETTI GENERALI 1.1 Obiettivi Il seguente progetto vuole descrivere l amministrazione dell ITC (Information Tecnology end

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Microsoft Innovation Center Roma. Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia

Microsoft Innovation Center Roma. Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia Microsoft Innovation Center Roma Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia Il MIC Roma Cos è Uno dei risultati dei protocolli di intesa tra il Ministero della Pubblica Amministrazione e l

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

Voice Over IP NAT Traversal

Voice Over IP NAT Traversal Voice Over IP Traversal Giorgio Zoppi zoppi@cli.di.unipi.it Tecnologie di Convergenza su IP a.a.2005/2006 VoIP Traversal 1 57 Tecnologie di Convergenza su IP Che cosa è il (Network Address Translation?

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP Reti di Calcolatori IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP D. Talia RETI DI CALCOLATORI - UNICAL 6-1 Applicazioni di Rete Domain Name System (DNS) Simple Network Manag. Protocol (SNMP) Posta elettronica

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Asset sotto controllo... in un TAC. Latitudo Total Asset Control

Asset sotto controllo... in un TAC. Latitudo Total Asset Control Asset sotto controllo... in un TAC Latitudo Total Asset Control Le organizzazioni che hanno implementato e sviluppato sistemi e processi di Asset Management hanno dimostrato un significativo risparmio

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Configurazione avanzata di IBM SPSS Modeler Entity Analytics Configurazione avanzata di IBM SPSS Modeler Entity Analytics Introduzione I destinatari di questa guida sono gli amministratori di sistema che configurano IBM SPSS Modeler Entity Analytics (EA) in modo

Dettagli

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP. Configurazione di indirizzi IP statici multipli Per mappare gli indirizzi IP pubblici, associandoli a Server interni, è possibile sfruttare due differenti metodi: 1. uso della funzione di Address Translation

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

CA Asset Portfolio Management

CA Asset Portfolio Management CA Asset Portfolio Management Guida all'implementazione Versione 12.8 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Documentazione tecnica

Documentazione tecnica Documentazione tecnica Come spedire via Post 1.1) Invio di Loghi operatore 1.2) Invio delle Suonerie (ringtone) 1.3) Invio di SMS con testo in formato UNICODE UCS-2 1.4) Invio di SMS multipli 1.5) Simulazione

Dettagli

Gestire le informazioni con un sorriso sulle labbra

Gestire le informazioni con un sorriso sulle labbra Gestire le informazioni con un sorriso sulle labbra Enterprise Content Management vi semplifica la vita Enterprise-Content-Management Gestione dei documenti Archiviazione Workflow www.elo.com Karl Heinz

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013. Versione 1.1

SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013. Versione 1.1 SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013 Versione 1.1 INDICE 1. INTRODUZIONE 4 1.1 DEFINIZIONI 4 2. MODALITÀ DI EMISSIONE DELLE FATTURE ELETTRONICHE

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

Principali caratteristiche piattaforma web smsmobile.it

Principali caratteristiche piattaforma web smsmobile.it SmsMobile.it Principali caratteristiche piattaforma web smsmobile.it Istruzioni Backoffice Post get http VERSION 2.1 Smsmobile by Cinevision srl Via Paisiello 15/ a 70015 Noci ( Bari ) tel.080 497 30 66

Dettagli