Service Oriented Architecture
Benefici per l’ICT e il Business
Roma, 13 Gennaio 2009
Giovanni Peruggini
[email protected]
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
l’esperienza dell’utente e la sua
produttività riducendo la complessità percepita
 Migliorare
 Ridurre
i costi, mitigare i rischi e aumentare la
compliance (obblighi di legge, normative interne,
etc.)
IT: Evoluzione
- Service Oriented Architecture
- Grid Computing
- Virtualizzazione
- Middleware - DB
- Standard
IT e Tecnologie
Hot Tecnologies
Enterprise Application Server
Web Services Platform
Enterprise Portal
Enterprise Service Bus
Business Integration
Business Process Mgmt.
Identity Management
Identity Provisioning
Web Services Management
Data Integration
Enterprise 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 organizzativogestionali.
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 come
applicazioni 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 SOA
Bottum-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, loosecoupling,
SOA Anatomy
Web Technology Wave 1
Web Client
User Interface
Client
HTML+HTTP
Web
Presentation
Logic
External
Application
Business
Logic
Database
Web Technology Wave 2
XML e WebServices
User Interface
Client
Web
HTML+HTTP
Presentation
Logic
XML
External
Application
Web Services
Web
Business
Logic
JDBC/SQL
Database
Web Technology Wave 3
Comprehensive SOA
Service
Presentation
User Interface/Portal/Web 2.0
HTML+HTTP+WSRP+AJAX
Service
Orchestration
Composite
Business Process
or Application
Composite
Business Process
or Application
BPEL
BPEL
WS Reliable Messaging + BPEL
Service
Construction
Composite
Service
Composite
Service
Composite
Service
BPEL/Java
BPEL/Java
BPEL/Java
WS Reliable Messaging - WS Security – WS Eventing
Resources
& Services
WebServices
WebServices
WebServices
Packaged
Application
Legacy
Application
Java
Application
WebServices/XML/SQL
Content
Database
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
complessa e affidabile
tecnologica
•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
Develop
Manage
Collaborate
Access
Extend
Collaborative Portals
Business Analytics & Activity Management
Business Process Orchestration
Enterprise Services Infrastructure
Grid Computing Infrastructure
Application
Components
Process
Components
Data
Components
Anatomia di un'infrastruttura SOA
BPA tools
MANAGEMENT
& Analyze
Model &
MONITORING
Requirements
Internet
tools
BAM
ROUTING
&Business
ORCHESTRATION
Events
Analytics
Monitoring
Process Manager (BPEL)
Human
Workflow
Native
BPEL
App Dev
Framework
Business
Rules
System
GOVERNANCE
Monitoring
Web Services
Manager
Management
DATA
Enterprise
SERVICES
Service Bus
& CONNECTIVITY
Multi
Protocol
Adapters
XSLT
Transform
ODI
Routing
B2B
Apps DB Bulk ETL Partners
Messaging
Infrastructure
Manager
BI
J2EE Application Server
SES
RFID
Security
Registry
Discovery
Policies
Ciclo di vita di una SOA
Integrate
Orchestrate
Develop
Analyze
Access
Deploy
Optimize
Manage
Secure
Business Process Analysis
Model & Analyze Requirements
1. Business
Requirements
Capture
2. Business
Process
Definition
3. Business
Activity Mapping
Enterprise Service Bus
Connect & Route
Routing
QOS
Transform
Rules
Service Component Architecture Infrastructure
WSIF
WSDL
JCA
JMS
BAPI
Business Process Manager (BPEL)
Orchestrate & Transform
4. Optimize
1. Define
2. Deploy
3. Monitor
Human Workflow
Business Process Engines
Clustering, Dehydration
Business Process
State – Audit Trail
Business Activity Monitoring (BAM)
Analyze & Optimize
Cosa è e cosa fa un BAM ?



Monitoraggio
dell’andamento del
Business
Accedibile e
interpretabile dagli
utenti
Strumentazione per
analisi e
ottimizzazione
Web Services Manager
Secure & Govern
Performance Management
Availability Management
Security Management
Event Management
Policy Definition
Web Services Manager
Enterprise Service Bus
WSIF
WSDL
JCA
JMS
BAPI
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 SOA
Il riuso
Il riuso di componenti permette di:
Ridurre la ridondanza dei servizi esistenti
Semplificare lo sviluppo del software
Benefici della SOA
Il 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 SOA
Il 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 SOA
Il 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 SOA
La composizione
Combinare funzioni predefinite (servizi)
realizzare diverse funzionalità (processi)
per
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 SOA
La 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 SOA
La composizione
Benefici
Maggiore rapidità di risposta alle esigenze e ai
cambiamenti del business
Riduzione dei costi di sviluppo e manutenzione
Benefici della SOA
Loose-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 SOA
Il loose-coupling – std IF
Effetti
Localizzare/implementare nel modo più conveniente
Fattori di scelta:




Tecnologici (wrapping su piattaforma del legacy da integrare)
Prestazionali (rete, ambiente – per es. algoritmi computingintesive 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 SOA
Il 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 SOA
Il 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 SOA
I 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 SOA
Approcci
Bottom-up
Scenari:
dai WS alla SOA
dal SOC alla SOA
Top-down
Scenari:
dall'EA alla SOE e alla SOA
Dalla 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 SOA
Infrastrutture 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 SOA
Diffusione 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 SOA
Strategia 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
Scarica

2009-01-13_-_Giovanni_Peruggini_