La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit.

Presentazioni simili


Presentazione sul tema: "Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit."— Transcript della presentazione:

1 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – AUTOMAZIONE II MES ARCHITETTURA SOFTWARE SERVICE-ORIENTED Redazione a cura dell'Ing. Letterio Zuccaro

2 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – ARCHITETTURA SOFTWARE ENTERPRISE SERVICE ARCHITECTURE (ESA) WEB SERVICES STRUTTURA DEL NUCLEO TEMATICO

3 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – MES Architettura Software

4 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Requisiti Il software che caratterizza un MES deve rispondere ai seguenti requisiti: - Mapping completo di tutte le funzioni richieste dal sistema ERP al quale è interfacciato per garantire integrazione orizzontale - Disponibile come software con le seguenti proprietà - Struttura modulare - Estendibilità secondo le esigenze dell’utente seguendo standard attuali - Moduli adattabili non solo ai processi ma anche ai requisiti dell’utente - Supporto di interfacce standard tra i livelli

5 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – L’applicazione controlla sia le operazioni sul database (accesso, inserimento, cancellazione) che la logica applicativa (business logic) del sistema. Il database agisce solo come supporto di memorizzazione dei dati. PRO Sviluppo mediante linguaggi ad alto livello (Java or.Net) Aggiornamenti semplici per la struttura poco complessa dei dati CONTRO Errori nell’applicazione possono compromettere la consistenza dei dati Funzioni tipiche di un DBMS, come consistenza dei dati in cache e gestione delle transazioni, devono essere integrate attraverso un uso massicio di multithreading Sistemi con elevati volumi di dati ne risentono in termini di performances Architettura: approccio Application-centered

6 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Il database non è utilizzato solo per memorizzare i dati, ma costituisce il punto cardine dell’intero sistema. Gran parte della logica applicativa è gestita attraverso di esso. Tutte le operazioni relative ai dati sono gestite attraverso il DBMS in un linguaggio di programmazione nativo (SQL) sotto forma di stored procedures. PRO Transazioni e consistenza dei dati a carico del DBMS. Il data model è definito dall’applicazione favorendo un accesso più semplice da parte di sistemi esterni Garantisce migliori performances per sistemi che si devono confrontare con un elevato volume di transazioni CONTRO Complessità Architettura: approccio Database-centered

7 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma –  Database, cuore del sistema Online database per interrogazioni realtime Archive database per memorizzazioni a lungo termine  Funzioni base, come elaborazione e organizzazione di dati complessi in tabelle, sono implementate nel database  Funzioni più elaborate, come business logic e compiti amministrativi (autenticazione utenti, gestione presenze) sono gestite mediante un’entità esterna (application server)  Application server necessario anche per l'interfaccia utente (Web server, per soluzioni MES Web-based) MES: sistemi Database-centered  Adapters e servizi (software) sono necessari per l’interfacciamento con altri sistemi (ERP, SCADA...)

8 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – MES Enterprise Service Architecture (ESA)

9 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – I moderni sistemi MES sono orientati alla cosiddetta "business service architecture" o “enterprise service architecture” (ESA). Tale architettura si struttura in livelli Una ragione importante per la scelta di questa architettura è che durante il ciclo di vita di un sistema MES possono nascere nuove esigenze che devono essere attuate in un processo continuo, virtualmente senza fine. Il MES deve essere pronto ai cambiamenti! Enterprise Service Architecture Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

10 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – La piena integrazione orizzontale è realistica e i costi molto più bassi I processi possono essere mappati sotto forma di flussi di lavoro workflow grafici fornendo chiarezza, trasparenza e sicurezza E‘ molto più semplice modificare le sequenze del processo rispetto alle soluzioni classiche, anche in fasi successive. Vantaggi ESA Monolithic Introduzione nuova funzionalità comporta modifiche a componenti esistenti Alterazioni al sistema ESA Nuova funzionalità utilizza oggetti e metodi già presenti Non intacca il sistema

11 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Funzioni software indipendenti dalla specifica funzionalità ma che concorrono alla realizzazione della stessa. Garantiscono separazione tra l’applicazione MES e le componenti tecnologiche alla base di ogni sistema IT. Database indipendence. Supporto di diversi DBMS (Oracle, Microsoft SQL Server, IBM databases). Platform indipendence. Sistemi Microsoft Windows, Linux e derivati. Forniscono: - Servizi di comunicazione (TCP/IP, Bus) - Moduli per funzioni tipiche di un MES (visualizzazione diagrammi, acquisizione, storage e verifica dei dati) Funzioni base Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3 - Partizionamento del database per accessi realtime (OLTP) e disponibilità a lungo termine dei dati. - Supporto alle interfacce (Web services, OPC, Excel export or XML export...) - Funzioni di logging, monitoring e tracing (ad es. per rilevare faults)

12 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Responsabile della definizione della struttura del database (tabelle e campi) e dei dati (data model) in esso immagazzinati. Ogni funzionalità del MES (gestione materiali, risorse umane, gestione qualità...) è descritta tramite un data model e i dati associati sono acceduti mediante SQL Tutti i cambiamenti, modifiche e ampliamenti delle funzionalità che richiedono la persistenza dei dati interessano questo livello. Data layer Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

13 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Il livello di applicazione definisce gli oggetti e i metodi ad essi associati, permettendo al livello di process mapping di sviluppare la logica applicativa del sistema. Oggetti: "Macchina 3523 con gli attributi associati“ "Operazione con gli attributi associati “ Metodi: Funzioni che permetto di accedere e modificare gli attributi dell’oggetto (get/set) Funzioni che attivano azioni sull'oggetto, come ad esempio associare personale ad una macchina. Indipendenza dal data model Cambiamenti alle strutture di dati sottostanti non alterano oggetti e metodi già esistenti, fino a quando non viene eseguita una opportuna integrazione L’introduzione di nuove funzionalità implica la definizione di nuovi oggetti e metodi Application layer: business objects and methods Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

14 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Riproduce la logica applicativa sulla base degli oggetti e metodi dell’application layer Attraverso opportune interfacce riceve messaggi contenenti i dati che vengono trattati tipicamente mediante condizioni “if- then” facendo uso degli oggetti e metodi dell’application layer. Le condizioni “if-then” possono essere espresse graficamente mediante workflows di facile lettura e comprensione. Capacità di combinare oggetti associati a funzionalità diverse al fine di offrire servizi specifici. Process mapping Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

15 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Caratteristica fondamentale dei MES che abilita l’interazione col sistema Applicazioni: - Controllo della produzione o Impostazione parametri di controllo - Configurazione dell’interfaccia o Scelta layout grafico mediante fogli di stile (logo, colori, fonts) - Presentazione dei dati raccolti o Definizione campi da visualizzare, ordinamento tabelle, etc. Interfacce utente Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3 Tecnologie: - “Rich” client Software client MES installato su ogni macchina PC (e.s. Remote Desktop: terminale server acceduto da client remoto) Necessario se richiesta “intelligenza” per operazioni complesse lato client - “Thin” client Nessun software specifico richiesto (accesso via Web browser) Ideale per monitoraggio e visualizzazione informazioni

16 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – - AJAX (asynchronous JavaScript and XML) Combina i vantaggi di una soluzione Web leggera (nessuna applet o altri oggetti che devono essere caricati) con l'agilità di un rich client Solo i dati modificati vengono scambiati tra il client e il server, e solo gli elementi modificati nelle viste (pagine Web) sono aggiornati. Sono disponibili librerie (JQuery, Mootools) basate su questa tecnologia che contengono componenti intelligenti (ad esempio, casella di riepilogo con funzione multipla, casella di input con autocompletamento) Con l'aiuto di AJAX, è anche possibile realizzare grafici. Tuttavia, formati grafici text-base sono più adatti a questo scopo (SVG – Scalable Vector Graphics) - Adobe Flash La tecnologia più usata per il web interattivo Il formato (SWF) si basa su immagini vettoriali Offre un ottimo supporto a contenuti multimediali, adatto per animazioni e messaggi pubblicitari Interfacce utente Web-based Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

17 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Le interfacce identificano i dispositivi di comunicazione che utilizzano diverse tecnologie per lo scambio dei dati. Necessaria una standardizzazione delle interfacce I MES automatizzano i processi dei sistemi ERP traducendo i dati tecnici in ambiente MES in informazioni adatte per questo tipo di sistemi I MES sono direttamente connessi al processo di produzione (controllori macchine, sistemi a bus, lettori RFID) rendendo possibile una migliore automatizzazione dello stesso I MES si stanno affermando come piattaforma di integrazione tra isole già esistenti (come sistemi di gestione ordini, controllo qualità, distribuzione prodotti, tracciabilità dei materiali) che possono essere sfruttare come collettori di dati per il MES Interfacce Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3

18 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – I dati più importanti che un sistema MES scambia con l’impianto di produzione (macchinari, gruppi di macchine, linee di produzione) riguardano programmi di lavorazione, setpoints, istruzioni cicli macchina, contatori, segnali operativi, stato macchine, misurazioni e dati di processo. Obiettivi Raggiungere un elevato livello di automazione per aumentare l'efficienza economica e ridurre la frequenza di malfunzionamenti Ottenere una determinata qualità non solo del prodotto finito ma del processo di produzione stesso Interfacce con la produzione Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3 Tecnologie - Proprietarie Fino a qualche anno fa, per mancanza di norme, ogni costruttore di macchine sviluppava protocolli/interfacce proprietari rendendo costoso e complicato l’interfacciamento - OPC (OLE for Process Control) Interfaccia Windows-based per lo scambio di informazioni tra due sistemi Hardware indipendenceSupporto al networking Semplice da configurareAccesso parallelo ai dati forniti dal server OPC

19 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Metodologie RPC (Remote Procedure Call) I dati vengono scambiati invocando una procedura presente su un sistema remoto. Paradigma client/server Si distinguono chiamate sincrone (client ferma l’esecuzione in attesa dell’output della procedura remota) e asincrone. SAP (software gestionale) ha sviluppato un sistema proprietario di RPC (RFC - Remote Function Call), rendendo disponibili librerie software per l’interfacciamento lato MES. Database-to-database Il MES recupera i dati richiesti accedendo direttamente al database del sistema ERP, e viceversa Interfacce con i sistemi ad alto livello (ERP) Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3 Problemi: Nessuna standardizzazione Nessuna garanzia di protezione da accessi non autorizzati Soluzioni: Creazione di viste (raccolta di dati) ad-hoc accessibili previa autenticazione

20 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Metodologie File-based Un file viene scritto e letto da una cartella condivisa tra ERP e MES Il file è strutturato seguendo standards quali CSV o XML Dopo che il destinatario ha letto il file, questo viene eliminato o rinominato. Tale evento abilita una successiva trasmissione. Un esempio di questo metodo molto semplice di comunicazione riguarda la trasmissione degli ordini di produzione dal sistema ERP al MES. Gli svantaggi della soluzione generalmente sono identici ai problemi di interfaccia al database descritti in precedenza. Interfacce con i sistemi ad alto livello (ERP) Basic functions Data layer Business objects and methods Process mapping Interface 1 User Interface 1 Interface 2 User Interface 2 Interface 3 User Interface 3 Web services Utilizzando un Web service, un MES (nel ruolo di client) può trasmettere, ad esempio, una risposta relativa ad un ordine di produzione richiesto dal sistema ERP (come server) Proprietà principali: StandardizzazioneScambio di dati sulla rete Internet Indipendenza dalla piattaformaFunzionalità on-lineFacilità di espandibilità Soddisfano tutti i requisiti necessari per una comunicazione service-oriented

21 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – MES Web Services

22 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Uno dei problemi principali nell’industria è quello di integrare applicazioni informatiche sviluppate in maniera indipendente: Gran numero di tecnologie eterogenee esistenti Proliferazione di applicazioni distribuite La cosiddetta integrazione applicativa può essere considerata a diversi livelli: All’interno della stessa azienda Tra partner dell’azienda Tra l’azienda ed utenti generici L’integrazione è necessaria quando un processo coinvolge diversi sistemi informatici Sfruttare Internet come piattaforma globale di integrazione è un’opportunità notevole, soprattutto per l’integrazione tra diverse aziende Motivazioni

23 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – L'idea di base di una Service-Oriented Architecture (SOA) è quella di organizzare i processi business in servizi. Il client richiede un servizio per un'attività specifica (ossia, prenota il servizio). L’ordine viene processato da un server e il risultato (risposta dal server) viene reinviato al client. La struttura del servizio (ossia la struttura di dati per richieste e risposte) è mantenuta in un repository globale Un indirizzo univoco identifica ogni servizio erogato dal server I Web Services costituiscono un’applicazione di Service-Oriented-Architecure su piattaforma Web Service-Oriented-Architecture

24 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Three-Tier vs SOA 3-tier: SOA:

25 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Definizione del W3C (World Wide Web Consortium): "Un Web service è un'interfaccia che descrive una collezione di operazioni, accessibili attraverso una rete mediante messaggistica XML". I Web Services rappresentano una tecnica di Remote Procedure Call (RPC) con codifica dati basata su XML Caratteristiche – Interoperabilità: un WS può essere invocato da un client situato in una piattaforma tecnologica diversa da quella su cui è eseguito il servizio – Incapsulamento: gli utilizzatori di un WS sono ignari dei dettagli dell’implementazione, conoscono solo l’interfaccia – Accessibilità: un WS può essere reso pubblicamente disponibile per l’utilizzo A cosa servono i WS? Garantire a sistemi di natura differente pieno accesso a tipologie di dati eterogenei. Quando due entità si mettono d'accordo per scambiarsi una serie di informazioni e per astrarre il procedimento, si affidano ad un sistema in grado di garantire una soluzione duratura Web Services

26 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Gli standard utilizzati per i WS sono tutti dialetti di XML SOAP (Simple Object Access Protocol): descrive un protocollo basato su XML che definisce i meccanismi con cui un WS è invocato ed il formato dell’input e dell’output (richiesta e risposta) WSDL (Web Service Definition Language): descrive l’interfaccia esterna di un Web Service affinché uno sviluppatore possa creare un client capace di invocarlo UDDI (Universal Discovery, Description and Integration): è un registro contenente informazioni utili per la scoperta e l’accesso ai Web Services Standards

27 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Service Provider rende disponibile il servizio e pubblica il contratto che ne descrive l’interfaccia Service Requester effettua le queries al Service Broker che questo cerca il servizio compatibile. Service Broker da info al Requester su quale servizio utilizzare e dove trovarlo Attori Steps: 1.Il Service Provider realizza il WS e lo pubblica in un registro UDDI gestito dal Service Broker 2.Il Service Requester ricerca il WS nel registro UDDI del Broker 3.Il Service Requester recupera dall’UDDI il documento WSDL che definisce l’interfaccia del servizio 4.Il Service Requester invoca il servizio e riceve la risposta Se i servizi sono usati solo localmente o in connessioni con sistemi “vicini”, come solitamente avviene nel caso dei MES, il Service Broker può essere omesso

28 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Loose Coupling (accoppiamento indipendente) Ciascun servizio esiste indipendentemente dagli altri servizi che costituiscono l’applicazione. Questo permette alle singole parti di un’applicazione di essere modificate senza toccare le aree non interessate Utilizza architetture orientate ai servizi I processi business che costituiscono un’applicazione sono separati in componenti indipendenti detti servizi. Questi servizi, interagendo con processi e macchine, riescono a creare una soluzione per i business problem. Le architetture SOA garantiscono una grande flessibilità perché è possibile modificare dinamicamente una parte di esse senza ridefinire l’intero sistema. Facilita l’integrazione L’integrazione tra business partners o ambienti diversi è garantita dall’utilizzo di formati standard per lo scambio dei messaggi. Tali standard sono, inoltre, comprensibili all’uomo e disponibili pubblicamente, e permetteno ad uno sviluppatore di vedere esattamente cosa sta accadendo nel sistema. Facilmente accessibile WS utilizzano il protocollo di trasporto già esistente e notevolmente utilizzato come HTTP, facendo leva su infrastrutture esistenti e permettendo alle info di essere richieste e ricevute in tempo reale. Benefici nell’utilizzo dei Web Services

29 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Esempi applicativi Le interfacce di collegamento tra terminali che eseguono l’acquisizione di dati macchina (MDA) o di dati di produzione (PDA) ed un server possono essere implementate in modo semplice e flessibile con i Web services. La distribuzione di informazioni sulle ore di lavoro del personale al MES da parte di un sistema di cronometraggio. Utilizzando tali dati, il MES è in grado di verificare le risorse umane effettivamente presenti. Il sistema di cronometraggio del personale costituisce il server, il MES il client seguendo il modello dei Web services MES e Web Services

30 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Web: Un browser richiede una pagina Web tramite HTTP Web Service: Un client (es. un programma Java) invoca un Web Service tramite SOAP ed HTTP Web vs Web Services

31 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – HTTP Request GET /codicefiscale.asmx/CalcolaCodiceFiscale?Nome=Mario&Cognome=Rossi&ComuneNascita=Roma&DataNascita=09/ 05/2012&Sesso=M HTTP/1.1 Host: webservices.dotnethell.it POST /codicefiscale.asmx/CalcolaCodiceFiscale HTTP/1.1 Host: webservices.dotnethell.it Content-Type: application/x-www-form-urlencoded Content-Length: length Nome=Mario&Cognome=Rossi&ComuneNascita=Roma&DataNascita=09/05/2012&Sesso=M HTTP Response HTTP/ OK Content-Type: text/xml; charset=utf-8 Content-Length: 78 RSSMRA12E09H501G Esempio Codice Fiscale

32 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – POST /codicefiscale.asmx HTTP/1.1 Host: webservices.dotnethell.it Content-Type: application/soap+xml; charset=utf-8 Content-Length: length Mario Rossi Roma 09/05/2012 M Esempio Codice Fiscale SOAP Request

33 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – HTTP/ OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: 78 RSSMRA12E09H501G Esempio Codice Fiscale SOAP Response

34 Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit à di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIS) Via Ariosto Roma – Riferimenti Jürgen Kletti, Manufacturing Execution System – MES Springer, 2010 Capitoli: 5


Scaricare ppt "Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit."

Presentazioni simili


Annunci Google