automazione ii n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
AUTOMAZIONE II PowerPoint Presentation
Download Presentation
AUTOMAZIONE II

Loading in 2 Seconds...

play fullscreen
1 / 34

AUTOMAZIONE II - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

AUTOMAZIONE II. MES ARCHITETTURA SOFTWARE SERVICE-ORIENTED. Redazione a cura dell'Ing. Letterio Zuccaro ( zuccaro@dis.uniroma1.it ). STRUTTURA DEL NUCLEO TEMATICO. ARCHITETTURA SOFTWARE ENTERPRISE SERVICE ARCHITECTURE (ESA) WEB SERVICES. MES Architettura Software. Requisiti.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'AUTOMAZIONE II' - adolph


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
automazione ii

AUTOMAZIONE II

MES

ARCHITETTURA SOFTWARE

SERVICE-ORIENTED

Redazione a cura dell'Ing. Letterio Zuccaro (zuccaro@dis.uniroma1.it)

struttura del nucleo tematico
STRUTTURA DEL NUCLEO TEMATICO

ARCHITETTURA SOFTWARE

ENTERPRISE SERVICE ARCHITECTURE (ESA)

WEB SERVICES

requisiti
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
architettura approccio application centered
Architettura: approccio Application-centered

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 database centered
Architettura: approccio Database-centered

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à

mes sistemi database centered
MES: sistemi Database-centered

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)

  • Adapters e servizi (software) sono necessari per l’interfacciamento con altri sistemi (ERP, SCADA...)
enterprise service architecture
Enterprise Service Architecture

User Interface 3

Interface 3

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!

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

vantaggi esa
Vantaggi ESA

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.

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

funzioni base
Funzioni base

User Interface 3

Interface 3

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)

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

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

data layer
Data layer

User Interface 3

Interface 3

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.

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

application layer business objects and methods
Application layer: business objects and methods

User Interface 3

Interface 3

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 7330022 010 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

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

process mapping
Process mapping

User Interface 3

Interface 3

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.

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

interfacce utente
Interfacce utente

User Interface 3

Interface 3

Caratteristica fondamentale dei MES che abilita l’interazione col sistema

Applicazioni:

Controllo della produzione

  • Impostazione parametri di controllo

Configurazione dell’interfaccia

  • Scelta layout grafico mediante fogli di stile (logo, colori, fonts)

Presentazione dei dati raccolti

  • Definizione campi da visualizzare, ordinamento tabelle, etc.

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

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

Data layer

Basic functions

interfacce utente web based
Interfacce utente Web-based

User Interface 3

Interface 3

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

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

interfacce
Interfacce

User Interface 3

Interface 3

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

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Basic functions

interfacce con la produzione
Interfacce con la produzione

User Interface 3

Interface 3

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

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

  • 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 indipendence Supporto al networking
    • Semplice da configurare Accesso parallelo ai dati forniti dal server OPC

Data layer

Basic functions

interfacce con i sistemi ad alto livello erp
Interfacce con i sistemi ad alto livello (ERP)

User Interface 3

Interface 3

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

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

Problemi:

Nessuna standardizzazione

Nessuna garanzia di protezione da accessi non autorizzati

Soluzioni:

Creazione di viste (raccolta di dati) ad-hoc accessibili previa autenticazione

Basic functions

interfacce con i sistemi ad alto livello erp1
Interfacce con i sistemi ad alto livello (ERP)

User Interface 3

Interface 3

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.

User Interface 2

Interface 2

User Interface 1

Interface 1

Process mapping

Business objects and methods

Data layer

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:

Standardizzazione Scambio di dati sulla rete Internet

Indipendenza dalla piattaforma Funzionalità on-line Facilità di espandibilità

Soddisfano tutti i requisiti necessari per una comunicazione service-oriented

Basic functions

motivazioni
Motivazioni

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

service oriented architecture
Service-Oriented-Architecture

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

web services
Web Services

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

standards
Standards

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

attori
Attori

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

Steps:

Il Service Provider realizza il WS e lo pubblica in un registro UDDI gestito dal Service Broker

Il Service Requester ricerca il WS nel registro UDDI del Broker

Il Service Requester recupera dall’UDDI il documento WSDL che definisce l’interfaccia del servizio

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

benefici nell utilizzo dei web services
Benefici nell’utilizzo dei Web Services

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.

mes e web services
MES e Web Services

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

web vs web services
Web vs Web Services

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

esempio codice fiscale
Esempio Codice Fiscale

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/1.1 200 OK

Content-Type: text/xml; charset=utf-8

Content-Length: 78

<?xml version="1.0" encoding="utf-8"?>

<string xmlns="http://webservices.dotnethell.it/CodiceFiscale">RSSMRA12E09H501G</string>

esempio codice fiscale1
Esempio Codice Fiscale

SOAP Request

POST /codicefiscale.asmx HTTP/1.1

Host: webservices.dotnethell.it

Content-Type: application/soap+xml; charset=utf-8

Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<CalcolaCodiceFiscale xmlns="http://webservices.dotnethell.it/CodiceFiscale">

<Nome>Mario</Nome>

<Cognome>Rossi</Cognome>

<ComuneNascita>Roma</ComuneNascita>

<DataNascita>09/05/2012</DataNascita>

<Sesso>M</Sesso>

</CalcolaCodiceFiscale>

</soap12:Body>

</soap12:Envelope>

esempio codice fiscale2
Esempio Codice Fiscale

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=utf-8

Content-Length: 78

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<CalcolaCodiceFiscaleResponse xmlns="http://webservices.dotnethell.it/CodiceFiscale">

<CalcolaCodiceFiscaleResult>RSSMRA12E09H501G</CalcolaCodiceFiscaleResult>

</CalcolaCodiceFiscaleResponse>

</soap12:Body>

</soap12:Envelope>

SOAP Response

riferimenti
Riferimenti

Jürgen Kletti,

Manufacturing Execution System – MES

Springer, 2010

Capitoli: 5