<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 danno Invio di una denuncia di fatti dannosi per il pubblico erario alla Corte dei conti 2. Prenotazione Documenti Prenotazione di documenti presenti nel fascicolo di un procedimento al quale si ha diritto di accesso 3. Consultazione storia del giudizio Accesso alla storia di un giudizio nel quale si è coinvolti 4. Consultazione giudizio Accesso alle informazioni di un giudizio nel quale si è coinvolti 5. Consultazione Banca Dati delle Sentenze Consultazione 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 Udienza Accesso 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
Perchè SOA? 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
Modern Composite Application Development
Il ruolo della SOA e la roadmap di progetto 28 maggio 2010 Sperimentazione (Progetto @p@) Progetto Pilota (Progetto SOLe Fase I) Change Management (Diffusione e Formazione) Analisi di mercato (Workshop / PoC) Governance dei Servizi (Progetto SOLe fase II) SOA come carburante del motore dell Innovazione
Organizzazione del gruppo di lavoro Progetto SOLe chi siamo Direzione del progetto Soa competence center Area Analisys Area Infrastrutture
SOA competence center 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
Deliverable del 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
L approccio di progetto seguito 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
Architettura concettuale Internet ApplicazioneJEE Web front-end Virtualizzazione WS client Gestione workload Monitoraggio SLA Sicurezza WS1 WSA WSB WSZ Oracle Bus Process Server workflow Orchestrazione servizi Web s Protocollo Servizi SISP WS1 WS1 WS1 WS1 WS1 WS1 Archiviaz. Doc. Posta Lista udienze PEC Ruolo udienza BDS... Basi di dati SOLe SISP Provisioning utenze Controllo accessi
Architettura di riferimento Insieme di principi, linee guida, best practice come riferimento dell intera progettazione e realizzazione Infrastruttura SOA condivisa, non dedicata a SOLe Application Server per i WS wrapper BUS BPEL Process Manager Ruolo centrale del 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 BUS (OSB) Oracel BPEL Process Manager Oracle Beehive Oracle database
Oracle Fusion Middleware SOA Stack DESIGN DESIGN SECURE SECURE MANAGE MANAGE MONITOR MONITOR PATTERN PATTERN DETECTION DETECTION BUSINESS BUSINESS VISIBILITY VISIBILITY JDEV POLICY MANAGER EM CEP BAM ADAPTERS & B2B ERP MAINFRAME SERVICES DB PARTNERS EVENTS REGISTRY & REPOSITORY
Architetture orientate ai servizi Requisiti e tendenze 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 Webs? Infrastruttura integrata per servizi, eventi e processi
Oracle SOA Suite Architettura logica Presentation s Virtualization Location Transparency Decoupling B2B Oracle Bus Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability CEP / BAM Web-based console SOA Operation 1 2 3 Registry Repository IDE SOA Developer Java Human Workflow Rules BPEL BPMN /Event/Process Infrastructure Assembly SOA Composites apps Document Management
Oracle SOA Suite Architettura logica Virtualization Location Transparency Decoupling Presentation s B2B Oracle Bus Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability CEP / BAM Web-based console SOA Operation 1 2 3 Registry Repository IDE SOA Developer Java Human Workflow Rules BPEL BPMN /Event/Process Infrastructure Assembly SOA Composites apps Document Management
Approccio infrastrutturale condiviso Agilità e scalabilità in una architettura a servizi Presentation Process Logic Data Clients Browser Application Client Portal WSRP WSRP Process Web s Web s Data Data Identity/ Policy Mainframes Databases Process Web s Adapter Legacy App Mobile Web App Web s Infrastructure Management Messaging s Data & Adapter s Security s User Interaction s Process s Custom s Registry Meta-data Repository Monitoring Composition Tools
Oracle Bus Connettività per ambienti eterogenei Clients Application Client HTTP/SOAP Oracle Bus Messaging Protocolli eterogenei WS-RM Enterprise s Application Client Application Client Application Client JMS FTP REST Formati diversi Paradigmidi comunicazione eterogenei TUX MQ EJB Application Client EJB JCA Protocolli WS,JMS,DB,FTP,JAVA Formati XML,non-XML,Binary. Paradigmi di comunicazione Request/response Synchronous and asynchronous One-to-many, many-to-one Pub-sub Mix-and-match (e.g. sync-to-async)
Oracle Bus Virtualizzazione dei servizi Clients Application Client SOAP JMS Proxy Oracle Bus IDE build deploy Web-based console virtualization transport switching pooling Caching Versioning
Oracle Bus Sicurezza a livello infrastrutturale Clients Application Client HTTP/SOAP Authentication [Basic] Role-based authorization Proxy Oracle Bus HTTPS/SOAP [X.509] Encryption, signing JMS [SSL] Enterprise s Security Framework 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 Bus Console di amministrazione 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 SOA Suite Architettura logica Virtualization Location Transparency Decoupling Presentation s Oracle Bus Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability B2B CEP / BAM Web-based console SOA Operation 1 2 3 Registry Repository IDE SOA Developer Java Human Workflow Rules BPEL BPMN /Event/Process Infrastructure Assembly SOA Composites apps Document Management
Oracle SOA Suite Processi e composizione di servizi 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 Suite Processi e composizione di servizi 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 Protocollo Document Manager <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> Posta Certificata BPEL source
Oracle BPEL Process Manager Processi e composizione di servizi Fornisce nativamente: Integrazione con 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 (email,sms,im...) Motore di regole inferenziale Protocollo Document Manager Notification service <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> Posta Certificata BPEL source
Oracle BPEL Process Manager Integrazione con Monitoring Integrazione real time con cruscotto di monitoraggio
Oracle BPEL Process Manager Benefici principali 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 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 SOA Suite Architettura logica Virtualization Location Transparency Decoupling Presentation s Oracle Bus Connectivity-Security-Routing-SLA-QoS-Transformation-Scalability B2B CEP / BAM Web-based console SOA Operation 1 2 3 Registry Repository IDE SOA Developer Java Human Workflow Rules BPEL BPMN /Event/Process Infrastructure Assembly SOA Composites apps Document Management
Oracle SOA Governance Delivery efficiente di applicazioni SOA 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 Intelligence DESIGN JDEV SECURE POLICY MANAGER EM MANAGE MONITOR PATTERN DETECTION CEP BUSINESS VISIBILITY BAM ERP MAINFRAME SERVICES DB PARTNERS EVENTS Oracle SOA Suite SOA ARTIFACT LIFECYCLE MANAGEMENT REG/REP
Architect Oracle SOA Governance Harvesting iterativo nel ciclo di vita SOA Definizione servizi Target Metadata BPA Composite Composite WSDL XSDs Code Proxy Implementazione e configurazione servizi Bus Owners Single View of Assets Definition Artifact Management SOA Designers and Developers Policy Attachment Proxy Pipeline Runtime Metrics Registry Repository Harvesting Gestione e monitoraggio SOA Lifecycle Mgmt Test-Collaudo-Esercizio IT Operations SLA Management Consumer Provisioning & Contracts Production Staging Policy Enforcement Integration Testing
Applicazioni SOA su Oracle Application Grid Scalabilità ed affidabilità on demand Applicazione 1 SOA Svc 1 Applicazione 2 Applicazione 3 SOA Svc 3 SOA SOA Svc Svc 2 SOA SOA Svc Svc SOA SOA Svc Svc 4 SOA SOA Svc Svc 5 Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Risorsa Application Grid Risorsa