Enterprise Service Bus 020007F7

23
INTEGRAZIONE DI SERVIZI ENTERPRISE SERVICE BUS

Transcript of Enterprise Service Bus 020007F7

Page 1: Enterprise Service Bus 020007F7

INTEGRAZIONE DI SERVIZI

ENTERPRISE SERVICE BUS

Page 2: Enterprise Service Bus 020007F7

SERVICE ORIENTED ARCHITECTURE

Nell’accezione classica, è possibile esporre una serie di Web Services per permettere ai vari client di interrogare i sistemi informativi aziendali attraverso la rete. Le specifiche di tali servizi sono definite dal produttore e riguardano: • formato dei dati (sia in ingresso che in uscita); • protocollo di comunicazione; • sicurezza.

2

Page 3: Enterprise Service Bus 020007F7

SERVICE ORIENTED ARCHITECTURE (2)

3

CLIENT APPLICATION

CLIENT APPLICATION

CLIENT APPLICATION

SERVICES

COMPONENTS

C1

C2

C3

INTERNET

Page 4: Enterprise Service Bus 020007F7

SERVICE ORIENTED ARCHITECTURE (3)

In un’architettura SOA classica, il produttore definisce la metodologia di accesso ai propri dati, specificando tutto il necessario. È ovvio che, ad un cambio di tali specifiche, i client devono adeguarsi. È altresì necessario che i client si adeguino alla tecnologia con la quale tali servizi sono esposti.

4

Page 5: Enterprise Service Bus 020007F7

ENTERPRISE SERVICE BUS

Un Enterprise Service Bus permette di adottare meccanismi più versatili nell’implementazione di un’architettura SOA. In particolare, permette il totale disaccoppiamento delle tecnologie tra produttore e consumatore, e permette di mantenere intatte le comunicazioni anche in caso di cambiamenti nel produttore stesso.

5

Page 6: Enterprise Service Bus 020007F7

ENTERPRISE SERVICE BUS (2)

6

Client systems and users

Applications Servers

Mobile Client

Servers

Commerce Servers

Web Services

Java messaging systems IBM MQ Servers, etc.

Legacy, mainframe and

minicomputer installations

Database Servers

ENTERPRISE SERVICE BUS

Email Servers

Web Services

Page 7: Enterprise Service Bus 020007F7

I VANTAGGI

Utilizzando un Enterprise Service Bus possiamo ottenere: • Service Location Transparency; • condivisione di servizi e dati sia all’interno dell’azienda che

all’esterno; • separazione tra i servizi di business e le implementazioni;

7

Page 8: Enterprise Service Bus 020007F7

SERVIZI DI BUSINESS vs. IMPLEMENTAZIONE

Servizio di Business: funzionalità di alto livello fornita dall’azienda al cliente finale. Definisce il formato di input e di output dei dati; Implementazione: parte della logica necessaria per portare a termine un servizio di business.

8

Page 9: Enterprise Service Bus 020007F7

9

SERVIZI DI BUSINESS vs. IMPLEMENTAZIONE (2)

Business Services exposed to client as a service name and specified input and output structures (i.e through WSDL)

Business Service Def PlaceTrade

WSDL

Java

Client Application

PlaceTrade

saveTradeOrder

Enterprise Service Bus

Service Provider

Implementation Services are coded within the Service Providers (i.e. thourgh Java/EJB)

Page 10: Enterprise Service Bus 020007F7

CARATTERISTICHE

10

Enterprise Service Bus

Routing

Message Enhancement

Security

Service Monitoring

Transaction Management

Protocol Transformation

Process Choreography

Message Transformation

Message Processing

Service Orchestration

Page 11: Enterprise Service Bus 020007F7

CARATTERISTICHE (2)

Routing: capacità di smistare una richiesta verso un particolare service provider seguendo criteri deterministici; Message Transformation: capacità di convertire la struttura ed il formato del payload della richiesta effettuata dal client nel formato effettivamente gestibile dal service provider; Message Enhancement: capacità di aggiungere, modificare o eliminare l’informazione contentuta in un messaggio in modo da renderlo compatibile con il service provider;

11

Page 12: Enterprise Service Bus 020007F7

CARATTERISTICHE (3)

Protocol Transformation: la capacità di accettare un tipo di protocollo dal client (ad esempio, SOAP) e comunicare al service provider attraverso un protocollo diverso (ad esempio, RMI); Service Mapping: la capacità di mappare un servizio di business con la corrispondente implementazione e di fornire informazioni; Message Processing: la capacità di gestire lo stato e le richieste assicurando il delivery del messaggio di risposta al client;

12

Page 13: Enterprise Service Bus 020007F7

CARATTERISTICHE (4) Service Orchestration: esiste un coordinatore centrale (broker) che controlla l’esecuzione dei vari servizi. Offre quindi la possibilità di implementare un processo complesso, senza che i singoli servizi ne siano effettivamente a conoscenza.

13

1. Receive WEB SERVICE 1

WEB SERVICE 3

WEB SERVICE 2

WEB SERVICE n

ORCHESTRAZIONE (coordinatore)

2. Invoke

4. …n Invoke 3. Invoke

5. Reply

Page 14: Enterprise Service Bus 020007F7

CARATTERISTICHE (5)

Process Coreography: permette la collaborazione tra entità di pari livello. Tutti i partecipanti hanno conoscenza del processo che deve essere implementato e agiscono di conseguenza; Transaction Management: capacità di trattare una richiesta ad un servizio di business come una singola unità di lavoro; Sicurezza: capacità di proteggere i servizi da accessi non autorizzati

14

Page 15: Enterprise Service Bus 020007F7

ARCHITETTURA Un ESB può essere scomposto in quattro componenti: • Mediator; • Service Registry; • Orchestrator; • Rules Engine.

15

Mediator Service Registry

Rules Engine Orchestrator

Page 16: Enterprise Service Bus 020007F7

ARCHITETTURA (2) • Orchestrator: Process Orchestration.

• Rules Engine: Routing; Message Transformation; Message Enhancement.

• Service Registry: Service Mapping.

16

• Mediator: Protocol Transformation; Transaction Management; Security.

Page 17: Enterprise Service Bus 020007F7

IL MERCATO

17

Page 18: Enterprise Service Bus 020007F7

18

APPLICAZIONE DI UN ESB AL MANUFACTURING

UN CASO PRATICO

Page 19: Enterprise Service Bus 020007F7

LO SCENARIO INIZIALE

L’azienda, leader nel settore del manufacturing, oltre ad avere la gestione del processo produttivo informatizzata, deve esporre alcuni servizi di business verso l’esterno. Tali servizi andranno a movimentare anche le tabelle dell’ERP aziendale (in questo caso, SAP). In un primo approccio, i servizi esposti erano implementati secondo il canone classico di un’applicazione SOA.

19

Page 20: Enterprise Service Bus 020007F7

LA SOLUZIONE

Con la migrazione verso un Enterprise Service Bus (SAP PI), l’azienda ha centralizzato e standardizzato tutti i servizi di business esposti. In particolare, ha esposto un’unica interfaccia di comunicazione verso l’esterno, demandando al Service Bus il compito di instradare le varie chiamate verso il sistema di back – end corretto.

20

Page 21: Enterprise Service Bus 020007F7

LA SOLUZIONE | VANTAGGI

• Standardizzazione dei messaggi di ingresso e uscita che vengono scambiati;

• Disaccoppiamento tra i servizi di business e la loro effettiva implementazione: la logica risiede sui sistemi di back – end;

• Facilità di aggiunta di un nuovo servizio: è sufficiente implementare la funzione sui sistemi di back – end ed intervenire in maniera minima sull’Enterprise Service Bus;

21

Page 22: Enterprise Service Bus 020007F7

LA SOLUZIONE | VANTAGGI (2)

• Robustezza verso le evoluzioni future: visto l’alto livello di astrazione

dei messaggi scambiati, aggiungere o togliere un dato è immediato; • Miglior controllo delle richieste: è possibile monitorare facilmente lo

stato di ogni singolo messaggio; • Standardizzazione dello scambio dei messaggi tra i sistemi di back –

end, sfruttando lo stesso principio di comunicazione dei servizi esposti.

22

Page 23: Enterprise Service Bus 020007F7

CONTATTACI

VUOI SAPERNE DI PIÙ?