Service Oriented Architecture Benefici per lICT e il Business Roma, 13 Gennaio 2009 Giovanni...

Preview:

Citation preview

Service Oriented ArchitectureBenefici per l’ICT e il Business

Roma, 13 Gennaio 2009

Giovanni Peruggini

gianni.peruggini@gmail.com

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