LeonciniJBoss ESB

Transcript

LeonciniJBoss ESB
JBoss ESB
Un caso d'uso italiano:
La Porta di Dominio per la Cooperazione Applicativa
Andrea Leoncini – JBoss
Stefano Linguerri - Pro-netics
[email protected] – JBoss
[email protected] - Pro-netics
Agenda
✔
JBoss ESB le SOA e la Porta di Dominio
✔
Le specifiche CNIPA per la Porta di Dominio
✔
Focus sulla Busta di eGov
[email protected] – JBoss
[email protected] - Pro-netics
SOA – Scegliamo una definizione
 Service Oriented Architecture (SOA) is an architectural style for
implementing business processes as a set of loosely-coupled services.
 Servizi
 Macro funzioni
 Basso accoppiamento
 Collaborano tramite messaggi
 Messaggi
 Perche' non c'e' bisogno che entrambi i sistemi siano attivi
 Perche' i messaggi si possono trasformare
 Perche' si puo' ottenere un throughput relativamente maggiore
 Perche' si puo' garantire il delivery
 Enterprise Service Bus
[email protected] – JBoss
[email protected] - Pro-netics
JBoss ESB
✔
Message delivery
✔
JMS (JBossMQ, JBoss Messaging, ActiveMQ, MQSeries, Oracle AQ)
✔
✔
✔
Transformation
✔
Smooks, XSLT, Java, Groovy, StringTemplate
Registry
✔
JAX-R (Scout)
✔
✔
✔
Recipient List/Static routing
Orchestration
✔
Business Process Management (jPDL)
✔
✔
UDDI (jUDDI)
Routing
✔
Content-based routing
✔
✔
FTP, SOAP, HTTP, email, database, shared file system
Web Services Orchestration (WS-BPEL)
Web services
Rules services
[email protected] – JBoss
[email protected] - Pro-netics
La Porta di Dominio
✔
Ci sono casi in cui, nella Pubblica Amministrazione, alcuni sistemi con cui vengono
gestite le istruttorie di alcune pratiche hanno necessita' di interagire con i sistemi di altre
Aziende o Istituti pubblici.
ASL YJK
ASys
Ist. XYZ
SysB
[email protected] – JBoss
[email protected] - Pro-netics
La Porta di Dominio
✔
✔
Tuttavia questi sistemi possono essere di varia natura e si pone il problema di far
interagire i sistemi secondo un protocollo comune
Le Aziende o Istituti della Pubblica Amministrazione che decidono di integrare i sistemi
possono sottoscrivere un accordo di servizio secondo le specifiche CNIPA per la
Cooperazione Applicativa.
ASL YJK
ASys
Ist. XYZ
Diff. Sistemi e protocolli
SysB
[email protected] – JBoss
[email protected] - Pro-netics
La Porta di Dominio
PdD
Inbusta messaggio
ASL YJK
msg
ASys
PdD
Egov over HTTP/s
sbusta messaggio
Ist. XYZ
msg
SysB
[email protected] – JBoss
[email protected] - Pro-netics
La Porta di Dominio
PdD
PdD
Egov over HTTP/s
Inbusta messaggio
ASL YJK
sbusta messaggio
Ist. XYZ
msg
msg
msg
msg
CSys
ESys
msg
msg
ASys
DSys
FSys
BSys
msg
SysB
[email protected] – JBoss
[email protected] - Pro-netics
PdD, SOA e JBoss ESB
PdD
Receiver – http/s
Esterno:
Infrastruttura Pubblica
Altri Enti
Sender – http/s
JBoss ESB
msg
ESB
ESB
Service
Service
ESB
Service
ESB
Service ESB
Service
msg
msg
ESB
Service
ESB
Service ESB
Service
Sistemi Legacy
Web Apps
ERP
Mail
WS/Soap
[email protected] – JBoss
[email protected] - Pro-netics
Busta egov
Il trasporto delle informazioni applicative
Le specifiche della busta di e-gov
[email protected] – JBoss
[email protected] - Pro-netics
Busta di egov
I messaggi scambiati tra Enti e PA
sono racchiusi in una mesaggio e-Gov
Le specifiche riguardano
esclusivamente la definizione degli elementi di
carattere infrastrutturale.
Gli enti o le PA in gioco nello scambio sono
totalemente autonome nella
definizione del contenuto.
[email protected] – JBoss
[email protected] - Pro-netics
Busta di egov: pdd
Il messaggio contiene i dati necessari
alle Porte di Dominio per le funzioni di gestione
del messaggio:
Affidabilità
Sicurezza
Tracciamento
Erogazione servizi
ecc.
[email protected] – JBoss
[email protected] - Pro-netics
Busta di egov: pdd
Sicurezza nelle interazioni tra le Porte di Dominio:
Identificazione
Autenticazione
Autorizzazione
Confidenzialità
Non ripudio
Indirizzamento delle richieste
Logging ed auditing delle interazioni
Affidabilità
Trasparenza temporale
[email protected] – JBoss
[email protected] - Pro-netics
Busta di egov: firma
Tutti i meccanismi di gestione della sicurezza
devono essere implementati in accordo alle
raccomandazioni WSI Basic Security Profile
la firma garantisce la fonte di provenienza
presente nel messaggio
Il messaggio mantiene il suo valore anche quando
attraversa più server intermedi o nelle
trasmissioni multiple.
[email protected] – JBoss
[email protected] - Pro-netics
Busta egov: struttura
La busta di egov è costituita dall'uso della specifica
SOAP 1.1 con estensioni
Il messaggio è rappresentato da una struttura
SOAP composta da due parti.
Header
Body o Corpo
Attachment opzionali
[email protected] – JBoss
[email protected] - Pro-netics
Busta di egov: struttura
Nell'Header devono essere contenuti i set di
informazioni minime della specifica egov.
è prevista la possibilità di inserire una o più firme
digitali (una per ogni elemento firmato)
Nel Body ci sono i riferimenti
agli altri blocchi dati o i dati applicativi inclusi.
[email protected] – JBoss
[email protected] - Pro-netics
Busta egov: schema
SOAP:Envelope
SOAP:Envelope
SOAP:Header
SOAP:Header
Intestazione XML egov
Intestazione XML egov
WSSE security
WSSE security
SOAP:Body
Contenuto applicativo XML
SOAP:Body
Descrizione XML
Contenuto applicativo
in attach
[email protected] – JBoss
[email protected] - Pro-netics
Busta egov: ProfiloCollaborazione
L'elemento ProfiloCollaborazione definisce la modalità di comunicazione
per la richiesta del servizio:
EGOV_IT_MessaggioSingolo: (OneWay) richiesta di servizio senza
attendere alcuna risposta.
EGOV_IT_ServizioSincrono: il chiamante invia la richiesta e rimane
in attesa della risposta.
EGOV_IT_ServizioAsincronoSimmetrico: il chiamante invia la
richiesta, la risposta può essere inviata in un tempo successivo dal
pdd che espleta il servizio.
EGOV_IT_ServizioAsincronoAsimmetrico: richiesto il servizio, in un
tempo successivo il richiedente richiede lo stato di esecuzione della
propria richiesta alla pdd erogante (polling).
[email protected] – JBoss
[email protected] - Pro-netics
ServizioSincrono
Richiesta
e-gov
Risposta
e-gov
Porta
Di
Dominio
[email protected] – JBoss
[email protected] - Pro-netics
ServizioAsincronoSimmetrico
Richiesta
e-gov
Porta
Di
Dominio
Destinataria
Porta
Di
Dominio
Mittente
Servizio
Ricezione
Risposte
Risposta
e-gov
Elaborazione
asincrona
[email protected] – JBoss
[email protected] - Pro-netics
ServizioAsincronoAsimmetrico
Richiesta
e-gov
Porta
Di
Dominio
Destinataria
Richiesta
stato
e-gov
Porta
Di
Dominio
Mittente
Risposta
e-gov
Elaborazione
asincrona
[email protected] – JBoss
[email protected] - Pro-netics
MessaggioSingolo
Porta
Di
Dominio
Richiesta
e-gov
HTTP 200 ok
Modalità one-way
[email protected] – JBoss
[email protected] - Pro-netics
JBoss ESB – Un caso d'uso italiano
La Porta di Dominio per la Cooperazione Applicativa
GRAZIE!
[email protected] – JBoss
[email protected] - Pro-netics