service oriented architecture benefici per lict e il business roma, 13 gennaio 2009 giovanni...
TRANSCRIPT
Service Oriented ArchitectureBenefici per l’ICT e il Business
Roma, 13 Gennaio 2009
Giovanni Peruggini
La Service Oriented Architecture
La SOA (Service Oriented Architecture):
• è una stategia IT
• non è una tecnologia
• viene da lontano
• è destinata alle imprese
• porta benefici
• ha dei costi
L'IT oggi nelle imprese
IT oggi: un’infrastruttura ordinaria!
IT oggi – tecnologie e standard
IT: Le fasi storiche
Prima fase: Centralità del dato
Seconda fase: centralità dell’informazione (strutturata e non strutturata)
Terza fase: centralità del processo
Cosa l'ICT deve fare per il Business
Supportare la crescita e il cambiamento del business
Mettere a disposizione la migliore tecnologia nel modo più semplice e basandosi su standard
Ridurre i costi, mitigare i rischi e aumentare la compliance (obblighi di legge, normative interne, etc.)
Migliorare l’esperienza dell’utente e la sua produttività riducendo la complessità percepita
IT: Evoluzione
- Service Oriented Architecture
- Grid Computing
- Virtualizzazione
- Middleware - DB
- Standard
IT e Tecnologie
Hot Tecnologies
Enterprise Application ServerWeb Services PlatformEnterprise PortalEnterprise Service BusBusiness IntegrationBusiness Process Mgmt.Identity ManagementIdentity ProvisioningWeb Services ManagementData IntegrationEnterprise Records Mgmt.Enterprise Content Mgmt.
Quasi tutte sono legate alla SOA !
Enterprise Architecture &
Service Oriented Architecture
EA & SOA
I termini della questione:
- Enterprise Architecture (EA)
- Services Oriented Enterprise (SOE)
- Service Oriented Computing (SOC)
- Service-Oriented Architecture (SOA)
Enterprise Architecture
Enterprise - organizzazione o parte di una organizzazione con obiettivi di business, budget, vincoli tecnologici e organizzativo-gestionali.
Enterprise Architecture – Descrizione della struttura e del comportamento dei processi di business ed organizzativi, dei sistemi informativi di un’organizzazione in termini di obiettivi e direttive stategiche.
Finalità dell'EA•Ottimizzare il Business delle imprese•Descrivere:
• Architettura del Business• Struttura organizzativa• Architettura dei processi• Gestione delle prestazioni
Dall’EA alla SOA
Implementare l'EA = adottare la SOA
Service Orientation (SO)Modello di progettazione dei processi di business comeapplicazioni composite realizzate da servizi cooperanti
Service Oriented Enterprise (SOE)Enterprise che adotta la Service Orientation
Service Oriented Computing (SOC)Paradigma computazionale basato su servizi (indipendenza, loose-coupling, interfacce standard)
Approcci alla SOA:Top-Down – dalla SOE (SO) alla SOABottum-Up – dal SOC alla SOA
Cos’è la SOA
Service-Oriented Architecture (SOA) - strategia ICT che implementa funzioni di business orchestrando servizi autoconsistenti e riusabili che iteragiscono attraverso interfacce e contratti definiti.
La SOA indirizza il riuso e l'agility
agility = capacità di rispondere alle esigenze di business con soluzioni ICT rese disponibili in tempi e modi adeguati.
Alla base della SOA vi sono i concetti del service-oriented computing.
Parole chiave:processo, servizio, orchestrazione, componentizzazione, incapsulamento, standardizzazione delle interfacce, loose-coupling,
SOA Anatomy
Web Technology Wave 1 Web Client
Presentation Logic
User InterfaceClient
HTML+HTTP
Web
ExternalApplication
Business Logic
Database
Web Technology Wave 2XML e WebServices
JDBC/SQL
Web
Web
Serv
ices Presentation
Logic
Business Logic
User InterfaceClient
HTML+HTTP
Web
ExternalApplication
XM
L
Database
Web Technology Wave 3 Comprehensive SOA
WS Reliable Messaging - WS Security – WS Eventing
WS Reliable Messaging + BPEL
DatabaseContentPackaged
ApplicationLegacy
ApplicationJava
Application
Resources& Services
CompositeBusiness Process
or ApplicationService Orchestration
BPEL BPEL
CompositeBusiness Process
or Application
Service Construction
CompositeService
BPEL/Java BPEL/Java
CompositeService
BPEL/Java
CompositeService
HTML+HTTP+WSRP+AJAX
ServicePresentation User Interface/Portal/Web 2.0
WebServices WebServices WebServices WebServices/XML/SQL
Comprehensive SOA
La SOA che una strategia si traduce in termini IT in un' architettura applicativa e per l’integrazione basata su standard in grado di:
- Rispondere alle esigenze del Business
- Massimizzare il riuso nell'IT- Business Logic e processi cablati nelle applicazioni- Dati e Contenuti esistenti da proteggere
- Ridurre i costi dell'IT (potenzialmente)
Mettere in opera una SOA richiede:- un cambiamento culturale e organizzativo - implementare una robusta infrastruttura tecnologica che rende accessibili ed utilizzabili le tecnologie
Mettere in opera una SOA
Implementare una SOA richiede:
•impiantare una infrastruttura tecnologica complessa e affidabile
•cambiare l'organizzazione dell'impresa
•aggiornare gli skill del personale
Le infrastrutture SOA disponibili si basano sui Web Services ma
usare i WS non significa avere implementato la SOA!
La SOA e i Sistemi Informativi
Business Analytics & Activity Management Business Analytics & Activity Management
Collaborative PortalsCollaborative Portals
Business Process OrchestrationBusiness Process Orchestration
Enterprise Services InfrastructureEnterprise Services Infrastructure
Grid Computing InfrastructureGrid Computing Infrastructure
ManageManageDevelopDevelop CollaborateCollaborate AccessAccess ExtendExtend
ApplicationApplicationComponentsComponents
Data Data ComponentsComponents
ProcessProcessComponentsComponents
Anatomia di un'infrastruttura SOA
J2EE Application ServerMessaging
DATA SERVICES & CONNECTIVITY
Apps
AdaptersAdapters
Partners
B2BB2B
RFID
SESSES
DB Bulk
ODIODI
ETL
Multi Protocol
RoutingXSLT
Transform
Enterprise Service BusEnterprise Service Bus
NativeBPEL
Business Rules
Human Workflow
Process Manager (BPEL)Process Manager (BPEL)
ROUTING & ORCHESTRATION
DiscoveryPolicies
Management
Security
Web Services Web Services ManagerManager
RegistryRegistry
GOVERNANCEEvents AnalyticsBusiness
MonitoringSystem
Monitoring
InfrastructureInfrastructureManagerManager
BAMBAM BIBIMANAGEMENT
&MONITORING
App DevFramework
Internet Internet toolstools
Model & Analyze Requirements
BPA toolsBPA tools
Ciclo di vita di una SOA
Develop
Orchestrate
Deploy
Secure
Access
Integrate
Manage
Analyze
Optimize
Business Process AnalysisModel & Analyze Requirements
1. Business Requirements Capture
2. Business Process Definition
3. Business Activity Mapping
Enterprise Service BusConnect & Route
Service Component Architecture Infrastructure
Routing QOS Transform Rules
WSDL JCA BAPI
WSIF
JMS
Business Process Manager (BPEL)Orchestrate & Transform
Business Process State – Audit Trail
Clustering, Dehydration
Business Process Engines
Human Workflow
1. Define2. Deploy
3. Monitor
4. Optimize
Business Activity Monitoring (BAM)Analyze & Optimize
Monitoraggio dell’andamento del Business
Accedibile e interpretabile dagli utenti
Strumentazione per analisi e ottimizzazione
Cosa è e cosa fa un BAM ?
Web Services ManagerSecure & Govern
Web Services Manager
Enterprise Service Bus
WSDL JCA BAPIWSIF
JMS
Security Management
Availability Management
Event Management
Policy Definition
Performance Management
Benefici della SOA
Promesse della SOA
La SOA offre sul piano tecnologico:• componentizzazione• Incapsulamento• separazione delle interfacce• loose-coupling
La SOA permette di disporre di componenti-programma discreti e riusabili con input e output standard che possono essere utilizzati come building blocks per assemblare applicazioni.
Benefici della SOA
Le principali caratterisitiche esibite:
abilitazione e supporto al riuso del software possibilità di combinare i servizi in più modi per
comporre applicazioni che mappano processi (composizione)
utilizzo di servizi loosely-coupled mediante interfacce standard
Benefici della SOAIl riuso
Il riuso di componenti permette di:
Ridurre la ridondanza dei servizi esistenti
Semplificare lo sviluppo del software
Benefici della SOAIl riuso
Approccio IT tradizionale- silos applicativi: stessa funzione replicata in più punti
Approccio SOA – riuso dei servizi- un unico servizio da sviluppare/manutenere usato da più processi
- nuovi processi ottenuti per composizione di servizi esistenti
Benefici della SOAIl riuso
Effetti
Riduzione costi per nuovi sviluppi
Riduzione costi manutenzione (evolutiva/correttiva) Riduzione rischi derivanti da:
difettosità del codice discontinuità di servizio
Aumento rapidità di risposta al business per: Modifiche dei processi esistenti Implementazione di nuovi processi
Benefici della SOAIl riuso
Benefici:
Rapidità d'implementazione dei nuovi processi
Riduzione dei costi di sviluppo, test e manutenzione
Riduzione dei rischi legati a: difetti d'implementazione interruzione del servizio
Benefici della SOALa composizione
Combinare funzioni predefinite (servizi) per realizzare diverse funzionalità (processi)
Superamento dal concetto di API
Orchestrazione di servizi per via dichiarativa (BPEL)
Indipendenza dal dove e come sono fatti i servizi (UDDI – WSDL)
Infrastruttura di base con servizi e funzioni comuni
Benefici della SOALa composizione
Effetti
Sviluppo e manutenzione software semplici e rapidi limitati a:
Servizi di business Processi
Alto livello di astrazione – catena di sviluppo più corta composizione servizi di business per via dichiarativa strumenti a supporto dell'analisi
Benefici della SOALa composizione
Benefici
Maggiore rapidità di risposta alle esigenze e ai cambiamenti del business
Riduzione dei costi di sviluppo e manutenzione
Benefici della SOALoose-coupling – std IF
Standardizzazione delle interfacce dei servizi
Indipendenza dalla: Localizzazione dei servizi Modalità d'implementazione (tecnologia,
piattaforma hardware e software)
Servizi come black-box indipendenti
Benefici della SOAIl loose-coupling – std IF
Effetti
Localizzare/implementare nel modo più convenienteFattori di scelta:
Tecnologici (wrapping su piattaforma del legacy da integrare) Prestazionali (rete, ambiente – per es. algoritmi computing-
intesive su piattaforme HPC) Economici (costi delle piattaforme hardware e e software) Organizzativi (fusioni aziendali, responsabilità distinte)
Minimizzazione effort per l'integrazione dei sistemi Meno software da sviluppare Disponibilità integration layer infrastrutturale Meno skill richiesti, meno tecnologie da dominare
Deployment incrementale Implementazione graduale - Servizi di wrapping del legacy
Benefici della SOAIl loose-coupling – std IF
Effetti
Integrazione di processi cross-enterprise
Apertura dell'impresa all'esterno offerta di servizi a terzi Acquisizione di servizi da terzi
Scelta tra approccio Make / Buy per il reperimento dei servizi mancanti
Possibilità di acquistare da fornitori esterni: Software (codice da deployare in house) Servizi (acceduti quando serve via rete)
Scelta approccio migliore puntuale (per servizio)
Benefici della SOAIl loose-coupling – std IF
Benefici
Riduzione dei costi di sviluppo/manutenzione
Ritorno degli investimenti rapido
Aumento della velocità di risposta al business
Aumento del grado di automazione dell'interazione tra imprese
Aumento della qualità del servizio offerto al business
Opportunità di business con la vendita di servizi
Benefici della SOAI benefici in sintesi
Rispondenza al Business Agility, risposta alle dinamiche di mercato Migliore efficienza dei processi Disponibilità delle risorse IT in base alle esigenze di business
Efficienza dei Costi Riduzione dei costi di manutenzione Riduzione degli skill e dell'effort richiesti per supportare i
cambiamenti del business Ottimizzazione del rapporto tra prezzo e prestazioni grazie alla
libertà di scelta delle piattaforme, tecnologie, localizzazione dei servizi e delle modalità di approvviggionamento
Riduzione del Rischio Innalzamento del livello qualitativo dell'IT Deployment incrementale Accelerazione dei tempi di ritorno degli investimenti
Criticità della SOA
Criticità della SOAApprocci
Bottom-upScenari:
dai WS alla SOAdal SOC alla SOA
Top-downScenari:
dall'EA alla SOE e alla SOADalla SOE alla SOA
Dopo la fase bottom-up si procede ad una risistemazione con l'approccio top-down che serve a dare organicità e coerenza al tutto
Criticità della SOAInfrastrutture tecnologiche per la SOA
I Web Services sono una tecnologia utile e importante ma non bastano per fare una SOA
Serve una infrastruttura tecnologica SOA per:
Gestione e monitoraggio dei servizi e processi Messa in sicurezza dei servizi QoS: garantire e misurare prestazioni e disponibilità Orchestrazione dei servizi di business Accesso e trasformazione dei dati Comunicazione
Criticità della SOA Tempi/Costi/Ritorni
Criticità della SOADiffusione della SOA
Nel mondo vi sono già alcuni grandi progetti:
•FEA – Organizzazioni governative U.S.•BCE (EA)•Governi europei (Francia, Germania,..)•Multinazionali (TELCO, Finance, Distribuzione)
In Italia poche esperienze di rilievo:•Finance•TELCO•Enti•.....
Criticità della SOAStrategia enterprise
Strategia Enterprise non mera scelta tecnologica
Approccio “giovane” (ma non vi è altra scelta)
Costi iniziali elevati (IT, Organizzazione, Skill)
Ritorni graduali
Impatti organizzativi forti
Benefici maggiori solo in caso di piena adozione