Il progetto SOLe e la SOA di Corte dei Conti:...
Transcript of Il progetto SOLe e la SOA di Corte dei Conti:...
<Insert Picture Here>
Il progetto SOLe e la SOA di
Corte dei Conti: innovazione
e servizi al cittadino
R. Melchionda, Corte dei Conti
A. Esposito, L. Saetta, Oracle
Roma, Forum PA, 17-20/05/2010
Agenda
• Gli obiettivi del progetto SOLe
– Fornire servizi e conoscenza
– Innovazione
• Un approccio nuovo
– Metodo
– Tecnologie
• L’architettura della soluzione
• Le tecnologie del progetto
Corte dei Conti
• Funzioni di controllo
– Sulla gestione del bilancio statale
– Sulla gestione finanziaria degli enti cui lo stato contribuisce
– Sugli equilibri di bilancio delle autonomie locali
• Funzioni di giurisdizione
– Contabilità pubblica
• Responsabilità dei contabili ed agenti pubblici per i “valori”
perduti
– Pensioni
SOLe: due obiettivi
Esogeno:
�per i cittadini e le amministrazioni
Endogeno:
�per l’IT di Corte dei Conti
Gli obiettivi del progetto SOLe (1)
• “Esogeno”: creare un portale unico per “fornire al cittadino servizi e conoscenza”– Per cittadini, professionisti, Pubbliche amministrazioni
– Semplificare e potenziare l’interazione con CDC
• Favorire l’efficacia
– Nuovi servizi
– Facilitare l’interazione
• Favorire l’efficienza
– Uso di internet
– Uso della PEC
– Riuso delle funzionalità informatiche esistenti
SOLe: servizi forniti
1. Invio segnalazione dannoInvio di una denuncia di fatti dannosi per il pubblico erario alla Corte dei conti
2. Prenotazione DocumentiPrenotazione di documenti presenti nel fascicolo di un procedimento al quale si ha diritto di accesso
3. Consultazione storia del giudizioAccesso alla storia di un giudizio nel quale si è coinvolti
4. Consultazione giudizioAccesso alle informazioni di un giudizio nel quale si è coinvolti
5. Consultazione Banca Dati delle SentenzeConsultazione dei testi dei provvedimenti emessi dalle Sezioni Giurisdizionali della Corte dei conti
6. Consultazione del calendario delle udienze
Calendario delle udienze previste in una sezione della Corte dei conti
7. Consultazione del Ruolo Udienza Accesso al Ruolo udienza di una sezione per una specificata data
8. Consultazione del Verbale UdienzaAccesso all’estratto dei Verbali d’udienza pubblicati
Gli obiettivi del progetto SOLe (2)
• Un obiettivo “endogeno”– Innovazione
– Introduzione di un cambiamento di paradigma nella realizzazione delle soluzioni applicative
• SOA
• Web service per consentire il riuso delle funzionalità delle applicazioni esistenti come parti di processi più ampi
• Processi come orchestrazione di servizi
– Per garantire una più ampia inter-operabilità tra i diversi sistemi
– Per avere una migliore governance sul ciclo di vita del sw applicativo
• SOA : paradigma architetturale affermato per la realizzazione di progetti complessi– Riuso delle funzionalità esistenti
– Flessibilità ed agilità per il futuro
• SOA è un iniziativa strategica– Non limitata ad un singolo progetto
• In CDC due declinazioni:– Composite Application
– SOA based integration
• Integrazione SIAP – Remedy
Perchè SOA ?
Modern Composite Application Development
28 maggio 2010
�Analisi di mercato
�(Workshop / PoC)
�Sperimentazione
�(Progetto @p@)
�Progetto Pilota
�(Progetto SOLe Fase I)�Change Management
�(Diffusione e Formazione)
�Governance dei Servizi
�(Progetto SOLe fase II)
Il ruolo della SOA e la roadmap di progetto
SOA come carburante del motore dell’Innovazione
Progetto SOLe – chi siamo
�Area
�Business Analisys
�Direzione del progetto
�Soa competence center
�Area Infrastrutture
Organizzazione del gruppo di lavoro
• Un team centrale, cross-progetti, che si occupa di– Architettura cross progetti
– Infrastruttura SOA
– Policy
– Processi
• Il team – Contribuisce a stabilire una comune comprensione di cosa sia la SOA
– Supporta i team di progetto
– Favorisce la Cross-fertilization
Abilita e supporta la diffusione dell’iniziativa SOA
SOA competence center
• Reference architecture;
• Definizione dell’infrastruttura SOA condivisa, di
produzione;
• Documento Policy per il ciclo di vita dei servizi
• Workshop sui prodotti e le tecnologie
• Supporto all’attuazione delle policy
Deliverable del SOA Competence Center
• Definizione delle regole per la SOA governance
• Identificazione delle funzionalità per fase I
• Analisi delle funzionalità del SISP per definizione
dell’esistente
• Disegno e validazione del modello canonico
• Progettazione dei servizi
• Progettazione dei processi
• Progettazione UI
• Realizzazione e collaudo
L’approccio di progetto seguito
Architettura
concettuale
Virtualizzazione
Gestione workload
Monitoraggio SLA
Sicurezza
ApplicazioneJEE
Oracle Service Bus
WS1
WS1
WSBWSA
Web front-end
WSZ
Internet
Servizi SISP
�Lista udienze
�Ruolo
udienza
�BDS
�...
WS client
WS1
Process Server
WS1 WS1WS1 WS1
Web Services �Protocollo
�Archiviaz. Doc.
�Posta
�PEC
�Provisioning utenze
�Controllo accessi
workflow
Orchestrazione servizi
Basi di dati
�SOLe
�SISP
Architettura di riferimento
• Insieme di principi, linee guida, best practice come riferimentodell’intera progettazione e realizzazione
– Infrastruttura SOA condivisa, non dedicata a SOLe
• Application Server per i WS wrapper
• Service BUS
• BPEL Process Manager
– Ruolo centrale del Service Bus
• Tutte le interazioni passano per esso
• Strumento fondamentale per il service management
– Processi come orchestrazione di servizi
• Fondamentale per la flessibilità futura
– Importanza dell’interoperabilità
• Abilitare il riuso
– Modello canonico dei dati
• Indipendenza dei processi dalla logica interna dei silos applicativi
Le tecnologie Oracle
• Oracle Weblogic Server
– Web front-end
– Application server per i servizi JAX-WS
– L’engine per OSB e BPEL PM
• Oracle Service BUS (OSB)
• Oracel BPEL Process Manager
• Oracle Beehive
• Oracle database
BAM
BUSIN
ESS
BUSIN
ESS
VISIBILIT
Y
VISIBILIT
YPA
TTER
N
PATTER
N
DETECTION
DETECTION
CEPEM
MANA
GE
MANA
GE
MONIT
OR
MONIT
OR
POLICYMANAGER
SECU
RE
SECU
RE
JDEV
DESIG
N
DESIG
N
ERP MAINFRAME SERVICES EVENTS
REGISTRY
&
REPOSITORY
PARTNERSDB
ADAPTERS & B2BADAPTERS & B2B
Oracle Fusion Middleware SOA StackSOA Stack
Trend di Mercato Sfide Oracle SOA Suite
Gli strumenti SOA sono
diventati sempre più evoluti
Le potenzialità sono spesso
accompagnate da
un'eccessiva complessità
� Strumenti per lo sviluppo
più semplici e produttivi
Le applicazioni SOA si
diffondono sempre più ed
hanno assunto
un'importanza cruciale
Requisiti sempre più
stringenti in termini di alta
disponibilità e scalabilità
� Perfomance e scalabilità
eccezionali
Le applicazioni SOA sono
sempre più distribuite
Come vengono protetti e
tracciati i dati in ambiente
altamente distribuiti?
� Singolo ambiente di
gestione e monitoring
Le interazioni asincrone e
gli eventi richiedono
capacità di elaborazione più
sofisticate ed in tempo reale
Come rendere la gestione
degli eventi semplice come
SOAP e i WebServices ?
� Infrastruttura integrata
per servizi, eventi e
processi
Architetture orientate ai serviziRequisiti e tendenze
Service/Event/Process Infrastructure
BusinessRules
BusinessRulesJavaJava
BPEL
BPMN
BPEL
BPMNHumanWorkflow
HumanWorkflow
Oracle Service BusConnectivity-Security-Routing-SLA-QoS-Transformation-Scalability
Service
Business
Service 1
ServiceServiceDocument
Management
Business
Service 2
Business
Service 3
Registry
Repository
Service Virtualization
Location Transparency
Decoupling
Business Service Assembly
SOA Composites apps
Web-basedconsole
IDE
SOA Operation
SOA Developer
Presentation
Services
B2B
CEP / BAM
Oracle SOA SuiteArchitettura logica
Service/Event/Process InfrastructureService/Event/Process Infrastructure
BusinessRules
BusinessRulesJavaJava
BPEL
BPMN
BPEL
BPMNHumanWorkflow
HumanWorkflow
Oracle Service BusConnectivity-Security-Routing-SLA-QoS-Transformation-Scalability
ServiceService
Business
Service 1
Business
Service 1
ServiceServiceServiceService
Document
Management
Document
Management
Business
Service 2
Business
Service 2Business
Service 3
Business
Service 3
Registry
Repository
Registry
Repository
Service Virtualization
Location Transparency
Decoupling
Business Service Assembly
SOA Composites apps
Web-basedconsole
IDE
SOA Operation
SOA Developer
Presentation
Services
Presentation
Services
B2BB2B
CEP / BAMCEP / BAM
Oracle SOA SuiteArchitettura logica
Logic Presentation
Application
Client
Browser
Clients
Data
Legacy App
Mainframes
Databases
Identity/
Policy
Process
Portal
WSRP
WSRP
Process WebServices
WebServices
Data
Adapter
Data
WebApp
Process
WebServices
Mobile
Approccio infrastrutturale condiviso Agilità e scalabilità in una architettura a servizi
Service Infrastructure
MessagingServices
Data & AdapterServices
SecurityServices
UserInteractionServices
BusinessProcessServices
Meta-data
Repository
Service
Registry
Service Management
Monito
ring
Compositio
n Tools
CustomServices
WebServices
Application
Client
Service
Clients
Oracle Service Bus Enterprise
Services
Service
Application
Client
Application
Client
Application
Client
HTTP/SOAP
JMS
FTP
REST
EJBApplication
Client
WS-RM
TUX
MQ
EJB
JCA
Service
Service
Service
Service
Protocolli eterogenei
Service Messaging
• Paradigmi di comunicazione
– Request/response
– Synchronous and asynchronous
– One-to-many, many-to-one
– Pub-sub
– Mix-and-match (e.g. sync-to-async)
Formati diversi
Paradigmidi comunicazione
eterogenei
• Protocolli
– WS,JMS,DB,FTP,JAVA…
• Formati
– XML,non-XML,Binary….
Oracle Service BusConnettività per ambienti eterogenei
Caching
Versioning
Web-basedconsole
poolingOracle Service Bus
BusinessService
Proxy
virtualization
IDE
build
deploy
SOAP
transport switching
JMS
Oracle Service BusVirtualizzazione dei servizi
Application
Client
Service
Clients
HTTPS/SOAP
[X.509]
Encryption,
signing
JMS [SSL]
HTTP/SOAP
Authentication
[Basic]
Role-based
authorizationApplication
Client
Service
Clients
Oracle Service Bus Enterprise
Services
Service
Service
Security Framework
Proxy Business
• Sicurezza a livello di trasporto
–HTTP, HTTPS, JMS + SSL
• Sicurezza a livello di messaggio (WS-Security)
–Autenticazione con security tokens (Username, X.509, SAML)
– Integrità dei messaggi con firma digitale
–Confidenzialità dei messaggi con cifratura XML
• WS-Policy
• Autorizzazione Role-based di accesso ai servizi
• Console access security
Oracle Service BusSicurezza a livello infrastrutturale
• Service health
– N° di Alerts per Severità
– Intervalli di aggregazione configurabili
• Alerts personalizzati
– E’ possibile definire condizioni personalizzate
per situazioni critiche
• Ruoli di sicurezza estendibili– I ruoli base sono preconfigurati
– L’amministratore può modificare/aggiungere
nuovi utenti ai diversi ruoli
• Metriche sui servizi
– Tempi di risposta
– N° messaggi ed errori
Oracle Service BusConsole di amministrazione
Oracle Service Bus
Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability
Oracle Service Bus
Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability
ServiceServiceServiceServiceServiceService
Document
Management
Document
Management
Registry
Repository
Registry
Repository
Service Virtualization
Location Transparency
Decoupling
Business Service Assembly
SOA Composites apps
Web-basedconsole
IDE
SOA Operation
SOA Developer
Presentation
Services
Presentation
Services
B2BB2B
CEP / BAMCEP / BAM
Oracle SOA SuiteArchitettura logica
Service/Event/Process Infrastructure
BusinessRules
BusinessRulesJavaJava
BPEL
BPMN
BPEL
BPMNHumanWorkflow
HumanWorkflow
Business
Service 1
Business
Service 2
Business
Service 3
– Problema: Strumenti diversi, Frammentazioine dei metadati ,Versioning, Test, Difficile
gestione dei servizi composti
– Requisito: Aumentare la produttività dello sviluppo
• Drag & Drop
• Visuale
• Deployment semplificato
• Facile versioning
• Basato sullo standard SCA
Oracle SOA SuiteProcessi e composizione di servizi
<process>
<!-- Partner Links Section: services -->
<partnerLinks>
<partnerLink name="service-name" .../>
</partnerLinks><!-- Process Variables
Section: message data --><variables>
<variable name="var-name"
messageType="type"/></variables>
<!-- ORCHESTRATION LOGIC -->
<!-- Activity Flow Section:
activities --><sequence name="main">
<receive .../>
<assign><copy><from...><to...></copy></assign>
<reply .../>
</sequence></process>
• BPEL è un linguaggio per la composizione di un insieme discreto di servizi in un processo end2end
– Maturo, standard (OASIS) – Ampia adozione a livello mondiale
• Oracle BPEL gestisce nativamente– Esecuzione del flusso– Esecuzione dei servizi– Errori e compensazioni– Persistenza e stati– Processi short e long running– Versioni dei processi
BPEL source
Protocollo
Document
Manager
Posta
Certificata
Oracle SOA SuiteProcessi e composizione di servizi
<process>
<!-- Partner Links Section: services -->
<partnerLinks>
<partnerLink
name="service-name" .../></partnerLinks>
<!-- Process Variables
Section: message data --><variables>
<variable name="var-name" messageType="type"/>
</variables>
<!-- ORCHESTRATION LOGIC -->
<!-- Activity Flow Section: activities -->
<sequence name="main"><receive .../>
<assign><copy><from...><to...></copy></assign>
<reply .../></sequence>
</process>
• Fornisce nativamente:
– Integrazione con Service Bus
– Connettività eterogenea tramite adapters
– Interazione degli utenti con i processi
– Applicazione Web per la gestione delle worklist
– Gestione di utenti,gruppi e carichi di lavoro
– Servizio notifiche multicanale (e-mail,SMS,IM.....)
– Motore di regole inferenziale
BPEL source
Protocollo
Document
ManagerPosta
Certificata
Oracle BPEL Process ManagerProcessi e composizione di servizi
Notification
service
Integrazione real time con cruscotto di monitoraggio
Oracle BPEL Process ManagerIntegrazione con Business Monitoring
� Utilizzare uno standard significa evitare il lockin di un vendor
� Semplicità nel comporre/riaggregare i servizi aziendali sotto forma di processi con un approccio grafico e dichiarativo
� Ogni processo/composizione diventa automaticamente un nuovo servizio riutilizzabile ed esponibile sul Service Bus
� Visibilità e trasparenza su modelli e stato dei processi
� Affidabilità e persistenza degli stati permettono di gestire in maniera semplice anche carichi critici
Oracle BPEL Process ManagerBenefici principali
Oracle Service Bus
Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability
Oracle Service Bus
Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability
ServiceServiceServiceServiceServiceService
Document
Management
Document
Management
Registry
Repository
Registry
Repository
Service Virtualization
Location Transparency
Decoupling
Business Service Assembly
SOA Composites apps
Web-basedconsole
IDE
SOA Operation
SOA Developer
Presentation
Services
Presentation
Services
B2BB2B
CEP / BAMCEP / BAM
Oracle SOA SuiteArchitettura logica
Service/Event/Process InfrastructureService/Event/Process Infrastructure
BusinessRules
BusinessRulesJavaJava
BPEL
BPMN
BPEL
BPMNHumanWorkflow
HumanWorkflow
Business
Service 1
Business
Service 1Business
Service 2
Business
Service 2Business
Service 3
Business
Service 3
• Visibilità e accesso
– Harvesting automatico degli asset SOA verso Enterprise Repository
– Relazioni tra assets per analisi di impatto
• Discovery e utilizzo de servizi a runtime
– Riuso dei servizi
• Sicurezza e Gestione unificata
– Gestione policy
– Tracciamento end2end delle applicazioni
• Gestione automatizzata del ciclo di vita
– Promozione assets da Repository al Registry per sviluppo-test-esercizio
• Analisi e reportistica personalizzata
– Oracle Business Intelligence
BAM
BUSIN
ESS
BUSIN
ESS
VISIBILIT
Y
VISIBILIT
YPA
TTER
N
PATTER
N
DETECTION
DETECTION
CEPEM
MANA
GE
MANA
GE
MONIT
OR
MONIT
OR
POLICYMANAGER
SECU
RE
SECU
RE
JDEV
DESIG
N
DESIG
N
ERP MAINFRAME SERVICES EVENTS
REG/REP
PARTNERSDB
SOA A
RTIFA
CT
SOA A
RTIFA
CT
LIFEC
YCLE
LIFEC
YCLE
MANA
GEME
NT
MANA
GEME
NT
Oracle SOA Suite
Oracle SOA GovernanceDelivery efficiente di applicazioni SOA
Registry
Repository
Single View of Assets
Architect
Definizione servizi
Business
Owners
Runtime Metrics
• Composite
• WSDL
• XSDs
• Code
• Proxy…
Proxy Pipeline
SOA Designers
and Developers
Implementazione e
configurazione serviziService Bus
Lifecycle Mgmt
• Target
Service
Metadata
• BPA
Composite
Artifact Management
StagingIntegration
Testing
Test-Collaudo-Esercizio
Policy Enforcement
ProductionIT Operations
Gestione e monitoraggio
SOA
SLA Management
ConsumerProvisioning& Contracts
Policy Attachment
Harvesting
Oracle SOA GovernanceHarvesting iterativo nel ciclo di vita SOA
Service Definition
Applicazione 2
Applicazione 3Applicazione 1
Applicazioni SOA su Oracle Application GridScalabilità ed affidabilità on demand
SOA Svc 2 SOA Svc 3 SOA Svc 4
Application Grid
SOA Svc 2 SOA Svc 3 SOA Svc 4 SOA Svc 5SOA Svc 5SOA Svc 3
Risorsa
Risorsa
Risorsa
Risorsa Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
Risorsa
SOA Svc 1