DESIGN, ARCHITETTURA E PROCESSO
     PER REALIZZARE EFFICACI
 SERVICE ORIENTED ARCHITECTURE
           Francesco Cirillo
                CEO
             XPLabs SRL
Obiettivi:
 Creare Architetture Orientate ai Servizi senza dipendere dalle tecnologie
 Strutturare applicazioni in modo più efficace
 Definire criteri per scegliere il Processo
 Definire criteri per organizzare il Team
Il Contesto:
 Business Case -> Use Case
 Capacità di crescita

         •Presto e frequentemente sul mercato
         •Cambiamento requisiti funzionali
              •Flessibilità
              •Estensibilità
         •Cambiamento requisiti non funzionali
              •Scalabilità
              •Affidabilità
              •Manutenibilità
Il Problema – Cosa succede se:
 Si devono integrare nuove tecnologie?
 Dobbiamo aggiungere nuove funzionalità di business?
 Si rompe un nodo della nostra architettura...
 Passiamo da 10 a 10x1.000 utenti concorrenti? ...
L'Architettura Narcisista:
L'Architettura Narcisista:
I Principi:
 Separation of Concern
 Sostituibilità
 Distribuzione delle responsabilità
Separare le parti funzionali da quelle non funzionali:
Attenti al Super Narcisista:
Il Problema – Cosa succede se:
 Si devono integrare nuove tecnologie?
 Dobbiamo aggiungere nuove funzionalità di business?
 Si rompe un nodo della nostra architettura...
 Passiamo da 10 a 10x1.000 utenti concorrenti? ...
Arrivare ai Servizi:
Il Narcisista dallo psicologo di Jacobson:
Arrivare ai Servizi:
Arrivare ai Servizi:
Il Problema – Cosa succede se:
 Si devono integrare nuove tecnologie?
 Dobbiamo aggiungere nuove funzionalità di business?
 Si rompe un nodo della nostra architettura...
 Passiamo da 10 a 10x1.000 utenti concorrenti? ...
Organizzare l'architettura fisica in modo distribuito:
Organizzare l'architettura fisica in modo distribuito:
Organizzare l'architettura fisica in modo distribuito:
 La filosofia della distribuzione
 Per n servizi...
 Opzioni di architettura

          •Costi
          •Trade-off tra Quality of Service
Il Problema – Cosa succede se:
 Si devono integrare nuove tecnologie?
 Dobbiamo aggiungere nuove funzionalità di business?
 Si rompe un nodo della nostra architettura...
 Passiamo da 10 a 10x1.000 utenti concorrenti?
Organizzare il Back-End per la scalabilità:
 Transaction Load
 Transaction Scope
 Read-Write Ratio
Scalare i Servizi più usati:
Il Problema – Cosa succede se:
 Si devono integrare nuove tecnologie?
 Dobbiamo aggiungere nuove funzionalità di business?
 Si rompe un nodo della nostra architettura...
 Passiamo da 10 a 10x1.000 utenti concorrenti?
Il Processo - Costruire in modo Agile:
 Partire da un nucleo
 Simulare i clienti concorrenti
 Aggiungere strati non funzionali
 Integrare funzionalità
Il Processo - Costruire in modo Agile:
 Partire da un nucleo
 Simulare i clienti concorrenti
 Aggiungere strati non funzionali
 Integrare funzionalità
Il Team – Costruire con responsabilità incrementali:
 Per Servizio
 Per tipo di requisito
Conclusioni:
 Creare Architetture Orientate ai Servizi prescinde dalle tecnologie
 Strutturare applicazioni in modo più efficace

          •Trade-off -> Equilibrio
 Processi più “Agili”
 Team più “responsabili”
Domande?

20060627 SOA @JavaConference2006 Milano-IT [ITA]

  • 1.
    DESIGN, ARCHITETTURA EPROCESSO PER REALIZZARE EFFICACI SERVICE ORIENTED ARCHITECTURE Francesco Cirillo CEO XPLabs SRL
  • 2.
    Obiettivi:  Creare ArchitettureOrientate ai Servizi senza dipendere dalle tecnologie  Strutturare applicazioni in modo più efficace  Definire criteri per scegliere il Processo  Definire criteri per organizzare il Team
  • 3.
    Il Contesto:  BusinessCase -> Use Case  Capacità di crescita •Presto e frequentemente sul mercato •Cambiamento requisiti funzionali •Flessibilità •Estensibilità •Cambiamento requisiti non funzionali •Scalabilità •Affidabilità •Manutenibilità
  • 4.
    Il Problema –Cosa succede se:  Si devono integrare nuove tecnologie?  Dobbiamo aggiungere nuove funzionalità di business?  Si rompe un nodo della nostra architettura...  Passiamo da 10 a 10x1.000 utenti concorrenti? ...
  • 5.
  • 6.
  • 7.
    I Principi:  Separationof Concern  Sostituibilità  Distribuzione delle responsabilità
  • 8.
    Separare le partifunzionali da quelle non funzionali:
  • 9.
    Attenti al SuperNarcisista:
  • 10.
    Il Problema –Cosa succede se:  Si devono integrare nuove tecnologie?  Dobbiamo aggiungere nuove funzionalità di business?  Si rompe un nodo della nostra architettura...  Passiamo da 10 a 10x1.000 utenti concorrenti? ...
  • 11.
  • 12.
    Il Narcisista dallopsicologo di Jacobson:
  • 13.
  • 14.
  • 15.
    Il Problema –Cosa succede se:  Si devono integrare nuove tecnologie?  Dobbiamo aggiungere nuove funzionalità di business?  Si rompe un nodo della nostra architettura...  Passiamo da 10 a 10x1.000 utenti concorrenti? ...
  • 16.
  • 17.
  • 18.
    Organizzare l'architettura fisicain modo distribuito:  La filosofia della distribuzione  Per n servizi...  Opzioni di architettura •Costi •Trade-off tra Quality of Service
  • 19.
    Il Problema –Cosa succede se:  Si devono integrare nuove tecnologie?  Dobbiamo aggiungere nuove funzionalità di business?  Si rompe un nodo della nostra architettura...  Passiamo da 10 a 10x1.000 utenti concorrenti?
  • 20.
    Organizzare il Back-Endper la scalabilità:  Transaction Load  Transaction Scope  Read-Write Ratio
  • 21.
    Scalare i Servizipiù usati:
  • 22.
    Il Problema –Cosa succede se:  Si devono integrare nuove tecnologie?  Dobbiamo aggiungere nuove funzionalità di business?  Si rompe un nodo della nostra architettura...  Passiamo da 10 a 10x1.000 utenti concorrenti?
  • 23.
    Il Processo -Costruire in modo Agile:  Partire da un nucleo  Simulare i clienti concorrenti  Aggiungere strati non funzionali  Integrare funzionalità
  • 24.
    Il Processo -Costruire in modo Agile:  Partire da un nucleo  Simulare i clienti concorrenti  Aggiungere strati non funzionali  Integrare funzionalità
  • 25.
    Il Team –Costruire con responsabilità incrementali:  Per Servizio  Per tipo di requisito
  • 26.
    Conclusioni:  Creare ArchitettureOrientate ai Servizi prescinde dalle tecnologie  Strutturare applicazioni in modo più efficace •Trade-off -> Equilibrio  Processi più “Agili”  Team più “responsabili”
  • 27.