Enterprise Service Bus 020007F7
Transcript of Enterprise Service Bus 020007F7
INTEGRAZIONE DI SERVIZI
ENTERPRISE SERVICE BUS
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
SERVICE ORIENTED ARCHITECTURE (2)
3
CLIENT APPLICATION
CLIENT APPLICATION
CLIENT APPLICATION
SERVICES
COMPONENTS
C1
C2
C3
INTERNET
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
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
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
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
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
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)
CARATTERISTICHE
10
Enterprise Service Bus
Routing
Message Enhancement
Security
Service Monitoring
Transaction Management
Protocol Transformation
Process Choreography
Message Transformation
Message Processing
Service Orchestration
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
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
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
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
ARCHITETTURA Un ESB può essere scomposto in quattro componenti: • Mediator; • Service Registry; • Orchestrator; • Rules Engine.
15
Mediator Service Registry
Rules Engine Orchestrator
ARCHITETTURA (2) • Orchestrator: Process Orchestration.
• Rules Engine: Routing; Message Transformation; Message Enhancement.
• Service Registry: Service Mapping.
16
• Mediator: Protocol Transformation; Transaction Management; Security.
IL MERCATO
17
18
APPLICAZIONE DI UN ESB AL MANUFACTURING
UN CASO PRATICO
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
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
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
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
CONTATTACI
VUOI SAPERNE DI PIÙ?