ݺߣ

ݺߣShare a Scribd company logo
QUANDO CHI COSA
1 marzo Gabriele Gianoglio
weModI e Interoperabilità delle PA: da un Comune all'Europa
è solo questione di API
15 marzo Matteo Bordin Novità WSO2 APIM
29 marzo Matteo Bordin Novità WSO2 IS
19 aprile
Stefano Negri
(WSO2)
TELCO success story
3 maggio Matteo Bordin
Apification: opportunità delle organizzaioni moderne nella
post-digitalizzazione
17 maggio Gabriele Gianoglio
Autenticazione user centric: identità digitali e
modelli passwordless
31 maggio Danilo Massaglia API Asincrone
14 giugno Gabriele Gianoglio Come installare WSO2 in AWS: tips and tricks
28 giugno Daniele Dal Farra Un Caso reale: Interoperabilità nelle Utility
12 luglio Daniele Dal Farra Un Caso reale: API exposition nel mondo Finance
26 luglio Leo Antonaccio Un Caso reale: Identity Management integrato con SPID
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MODERNE NELLA POST-DIGITALIZZAZIONE
WSO2 ITALIA CLUB
Lo speaker di oggi…
Lui si definisce:
Perfezionista, curioso, coerente
Noi lo definiamo
Onesto, geniale, mai banale
Il nostro motto
« chiedi a Matteo!»
Matteo Bordin
Apification
Processo di disegno di una architettura enterprise pensata per
esporre le risorse strategicamente, attraverso l'utilizzo di API's
(Application Programming Interface)
5
6
• È il software responsabile della connessioneperla comunicazione e lo scambio di informazioni tra due app.
• L'API collegadue dispositivio programmiper facilitare lo scambio di informazioni tra di loro.
• Le specifiche API sono gli standard o i documentiprogettatiper descrivere la creazione di tali connessioni.
Application Programming Interface
7
•Creazione di token identificativi
•Limiti alle chiamate
•Utilizzo di Sniffers
•API Gateway
Api Security
8
Apification
• Costreduction
• Increased agility and incursion into differentecosystems
• Increase innovation and new business models
• Increased consumerloyalty
9
Apification
• Discovery(Objectives, definition of them, data sources and discoveries used, discovery formats, catalogs, communication and support)
• Design (Version Definitions, webhooks, event-driven, protocols, virtualization, testing, landing page, documentation, support, route map)
• Development (definitions, discovery, virtualization, database, storage, DNS, implementation, orchestration, performance testing, security, communication,
support)
• Production(process definitions and virtualization, authentication, management, plan registration, home page, first steps, documentation, codes and license
used, support, FAQs, roadmap, legal change log, monitoring and performance, tracking, security, analysis and maintenance
+
• Scope (Definition of success, sustained adoption, communication, support, virtualization, measurement and structure)
• Governance (design, test, monitoring, performance, security, observability, discovery, analysis and existing competence)
Apification process
API definition Task
API value Task
API Team Creation Task
API Standardization Task
Story Task
Who is the Developer Task
Nice to have for development team Task
Evangelization Task
API Lifecycle Task
API Management Task
APIM Architecture Task
Developer Portal Task
API Gateway Task
APIM Security Task
Analytics Task
API Testing
API Monetization Task
API CI/CD Task
APIM Customization Task
Support and Maintenance Task
Continuous Improvement Task
Api Definition
11
● Cosa devono offrire le API, non dal punto di vista tecnico ma dal punto di vista
funzionale. l’API deve abilitare l'utilizzatore ad accedere in modalità
programmatica, sicura, con una conoscenza minimale del dominio delle
funzionalità aziendali.
● Le tipologie di API, ossia macro gruppi che rappresentano caratteristiche comuni
nelle API. Le caratteristiche rappresentate dai gruppi possono essere sia di tipo
strutturale, interne, esterne, sia in ambito sicurezza, sia in ambito funzionale.
Api Team creation
12
Le principale figure normalmente utilizzatesono:
● ProductDevelopment
○ ProductManager
○ Enterprise Architect
○ Software Engineers/APIDeveloper
○ Quality Assurance
○ DevOps Engineers
● Technical support
○ Technical supportLead
○ Developersite manager
● Marketing
○ ProductMarketing manager
○ Technical writer
● Business developer
○ Business developerLead
○ AccountManager
● Evangelism
○ Evangelist
○ Community Manager
Api Standardization
Ovvero definire gli standard per la stesura delle API,
quindi determinare le regole per definirle,
la nomenclatura e la naming convention da utilizzare sia per il nome
delle API, sia per i nomi dei metodi sia per i nomi degli attributi.
14
Le fasi di evangelizzazione possono essere:
● Formazione sugli standard di APIFication
● Formazione sugli strumenti utilizzati
● Definizione di HowTo/HelloWorld example per facilitare l’approccio alle API
Api Evangelization
15
Definire il ciclo di vita dell’API significa determinare:
● gli stati base che una API deve avere
● i vincoli di cambio stato per ogni stato:
● il comportamento perogni stato
I principali stati di una API possono essere:
● Created
● Published
● Blocked
● Deprecated
● Prototype
● Retired
A questisi possono aggiungere:
● Ideation
● Design
● Development
● Testing
● Monitoring
Api LifeCycle
16
API Capability description
• definizione di user role/policy
• definizione degli endPoint e loro caratteristiche
• definizione del throttling o traffico, regolamentazione della comunicazione alle API
• definizione della sicurezza e accesso alle API
• definizione della documentazione pubblica e privata
• definizione del “developer portal”
• definizione delle metriche
• definizione dei punti di estensione delle API (policy , connector ..)
• definizione della parte runtime delle API (certificati, end point…)
Security
• definizione delle metodologie di sicurezza
• definizione delle relazioni tra API/consumer/User
Change Management
• definizione del ciclo di vita delle API
• definizione del concetto di versionamento
• definizione della relazione tra API esposta ed API implementata
Admin API
• definizione delle API necessari per il mantenimento della piattaformadefinizione delle API
per l’automatizzazione dei processi di APIFication
Analytics
• definizione dei principi di analitica
• definizione delle metriche da utilizzare
• definizione dei sistemi di alerting
Api Management
17
Disegnodell’architetturatargetdi piattaforma
● Installazione onPrem
● Installazione Cloud
● Utilizzo di gateway in modalità ibrida
● Segregazione delle API per responsabilità
● Segregazione delle API per applicazione
● Segregazione delle API per team di sviluppo
● Replicabilità della piattaforma su ambienti geograficidifferenti
● Unico punto di manutenzione
● Alta affidabilità
● Rilascio delle API in modalità canary deploy
Definizionedi tutti gli ambienti:
● sviluppo
● test&collaudo
● preproduzione
● Produzione
● Disasterrecovery
Apim Architecture
18
L’installazionedelgateway devetenere
in considerazionealcuniaspettifondamentali:
● Segregazione delle API
● Security delle API
● Scalabilità dei Gateway
Api Gateway
19
Definizione degli strumenti di analitica e
delle KPI da considerare per monitorare,
controllare ed eseguire alert in caso di
anomalie o di comportamenti di API
o infrastrutturali non conformi con gli
standard aziendali.
Api Analytics
20
Prevederetipologie diTEST :
● Performance Test
● Unit test
● Security test
● No-RegressionTest
Api Testing
21
Definizione del concetto di monetization, sia
come aspetto necessario per determinare un
riscontro monetario sul consumo delle API sia
come concetto per determinare la
suddivisione dei costi infrastrutturali
della piattaforma apificata.
Api Monetization
22
Definizionedeiprocessidi CI/CD,
pubblicazione e fruizione delle API’s:
● Deploy Process
● Maintenance Process
● Versioning
Api CI/CD
23
Definizionedelteam e metodologie di supportoall'APIFicatione delle
modalità di ingaggio delteam.
Si andrà a definire:
● come deve essere composto il team
● come deve essere ingaggiato.
● gli aspetti di interazione tra il team di supporto e il team che si occupa
di evolvere la piattaforma
● il processodi gestione della manutenzione della piattaforma
● il processodi gestione delsupporto all’utilizzo e fruizione della
piattaforma
● la formazione del team
● gli skill che il team deve avere
● i processidi ingaggio tra i fruitori della piattaforma e il team di
supporto.
Support and maintenance
wso2.com profesia.it
Thanks!
Q&A?
sales@profesia.it 011 012 03 71
24
17/05 h 14:30

More Related Content

WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MODERNE NELLA POST-DIGITALIZZAZIONE

  • 1. QUANDO CHI COSA 1 marzo Gabriele Gianoglio weModI e Interoperabilità delle PA: da un Comune all'Europa è solo questione di API 15 marzo Matteo Bordin Novità WSO2 APIM 29 marzo Matteo Bordin Novità WSO2 IS 19 aprile Stefano Negri (WSO2) TELCO success story 3 maggio Matteo Bordin Apification: opportunità delle organizzaioni moderne nella post-digitalizzazione 17 maggio Gabriele Gianoglio Autenticazione user centric: identità digitali e modelli passwordless 31 maggio Danilo Massaglia API Asincrone 14 giugno Gabriele Gianoglio Come installare WSO2 in AWS: tips and tricks 28 giugno Daniele Dal Farra Un Caso reale: Interoperabilità nelle Utility 12 luglio Daniele Dal Farra Un Caso reale: API exposition nel mondo Finance 26 luglio Leo Antonaccio Un Caso reale: Identity Management integrato con SPID
  • 4. Lo speaker di oggi… Lui si definisce: Perfezionista, curioso, coerente Noi lo definiamo Onesto, geniale, mai banale Il nostro motto « chiedi a Matteo!» Matteo Bordin
  • 5. Apification Processo di disegno di una architettura enterprise pensata per esporre le risorse strategicamente, attraverso l'utilizzo di API's (Application Programming Interface) 5
  • 6. 6 • È il software responsabile della connessioneperla comunicazione e lo scambio di informazioni tra due app. • L'API collegadue dispositivio programmiper facilitare lo scambio di informazioni tra di loro. • Le specifiche API sono gli standard o i documentiprogettatiper descrivere la creazione di tali connessioni. Application Programming Interface
  • 7. 7 •Creazione di token identificativi •Limiti alle chiamate •Utilizzo di Sniffers •API Gateway Api Security
  • 8. 8 Apification • Costreduction • Increased agility and incursion into differentecosystems • Increase innovation and new business models • Increased consumerloyalty
  • 9. 9 Apification • Discovery(Objectives, definition of them, data sources and discoveries used, discovery formats, catalogs, communication and support) • Design (Version Definitions, webhooks, event-driven, protocols, virtualization, testing, landing page, documentation, support, route map) • Development (definitions, discovery, virtualization, database, storage, DNS, implementation, orchestration, performance testing, security, communication, support) • Production(process definitions and virtualization, authentication, management, plan registration, home page, first steps, documentation, codes and license used, support, FAQs, roadmap, legal change log, monitoring and performance, tracking, security, analysis and maintenance + • Scope (Definition of success, sustained adoption, communication, support, virtualization, measurement and structure) • Governance (design, test, monitoring, performance, security, observability, discovery, analysis and existing competence)
  • 10. Apification process API definition Task API value Task API Team Creation Task API Standardization Task Story Task Who is the Developer Task Nice to have for development team Task Evangelization Task API Lifecycle Task API Management Task APIM Architecture Task Developer Portal Task API Gateway Task APIM Security Task Analytics Task API Testing API Monetization Task API CI/CD Task APIM Customization Task Support and Maintenance Task Continuous Improvement Task
  • 11. Api Definition 11 ● Cosa devono offrire le API, non dal punto di vista tecnico ma dal punto di vista funzionale. l’API deve abilitare l'utilizzatore ad accedere in modalità programmatica, sicura, con una conoscenza minimale del dominio delle funzionalità aziendali. ● Le tipologie di API, ossia macro gruppi che rappresentano caratteristiche comuni nelle API. Le caratteristiche rappresentate dai gruppi possono essere sia di tipo strutturale, interne, esterne, sia in ambito sicurezza, sia in ambito funzionale.
  • 12. Api Team creation 12 Le principale figure normalmente utilizzatesono: ● ProductDevelopment ○ ProductManager ○ Enterprise Architect ○ Software Engineers/APIDeveloper ○ Quality Assurance ○ DevOps Engineers ● Technical support ○ Technical supportLead ○ Developersite manager ● Marketing ○ ProductMarketing manager ○ Technical writer ● Business developer ○ Business developerLead ○ AccountManager ● Evangelism ○ Evangelist ○ Community Manager
  • 13. Api Standardization Ovvero definire gli standard per la stesura delle API, quindi determinare le regole per definirle, la nomenclatura e la naming convention da utilizzare sia per il nome delle API, sia per i nomi dei metodi sia per i nomi degli attributi.
  • 14. 14 Le fasi di evangelizzazione possono essere: ● Formazione sugli standard di APIFication ● Formazione sugli strumenti utilizzati ● Definizione di HowTo/HelloWorld example per facilitare l’approccio alle API Api Evangelization
  • 15. 15 Definire il ciclo di vita dell’API significa determinare: ● gli stati base che una API deve avere ● i vincoli di cambio stato per ogni stato: ● il comportamento perogni stato I principali stati di una API possono essere: ● Created ● Published ● Blocked ● Deprecated ● Prototype ● Retired A questisi possono aggiungere: ● Ideation ● Design ● Development ● Testing ● Monitoring Api LifeCycle
  • 16. 16 API Capability description • definizione di user role/policy • definizione degli endPoint e loro caratteristiche • definizione del throttling o traffico, regolamentazione della comunicazione alle API • definizione della sicurezza e accesso alle API • definizione della documentazione pubblica e privata • definizione del “developer portal” • definizione delle metriche • definizione dei punti di estensione delle API (policy , connector ..) • definizione della parte runtime delle API (certificati, end point…) Security • definizione delle metodologie di sicurezza • definizione delle relazioni tra API/consumer/User Change Management • definizione del ciclo di vita delle API • definizione del concetto di versionamento • definizione della relazione tra API esposta ed API implementata Admin API • definizione delle API necessari per il mantenimento della piattaformadefinizione delle API per l’automatizzazione dei processi di APIFication Analytics • definizione dei principi di analitica • definizione delle metriche da utilizzare • definizione dei sistemi di alerting Api Management
  • 17. 17 Disegnodell’architetturatargetdi piattaforma ● Installazione onPrem ● Installazione Cloud ● Utilizzo di gateway in modalità ibrida ● Segregazione delle API per responsabilità ● Segregazione delle API per applicazione ● Segregazione delle API per team di sviluppo ● Replicabilità della piattaforma su ambienti geograficidifferenti ● Unico punto di manutenzione ● Alta affidabilità ● Rilascio delle API in modalità canary deploy Definizionedi tutti gli ambienti: ● sviluppo ● test&collaudo ● preproduzione ● Produzione ● Disasterrecovery Apim Architecture
  • 18. 18 L’installazionedelgateway devetenere in considerazionealcuniaspettifondamentali: ● Segregazione delle API ● Security delle API ● Scalabilità dei Gateway Api Gateway
  • 19. 19 Definizione degli strumenti di analitica e delle KPI da considerare per monitorare, controllare ed eseguire alert in caso di anomalie o di comportamenti di API o infrastrutturali non conformi con gli standard aziendali. Api Analytics
  • 20. 20 Prevederetipologie diTEST : ● Performance Test ● Unit test ● Security test ● No-RegressionTest Api Testing
  • 21. 21 Definizione del concetto di monetization, sia come aspetto necessario per determinare un riscontro monetario sul consumo delle API sia come concetto per determinare la suddivisione dei costi infrastrutturali della piattaforma apificata. Api Monetization
  • 22. 22 Definizionedeiprocessidi CI/CD, pubblicazione e fruizione delle API’s: ● Deploy Process ● Maintenance Process ● Versioning Api CI/CD
  • 23. 23 Definizionedelteam e metodologie di supportoall'APIFicatione delle modalità di ingaggio delteam. Si andrà a definire: ● come deve essere composto il team ● come deve essere ingaggiato. ● gli aspetti di interazione tra il team di supporto e il team che si occupa di evolvere la piattaforma ● il processodi gestione della manutenzione della piattaforma ● il processodi gestione delsupporto all’utilizzo e fruizione della piattaforma ● la formazione del team ● gli skill che il team deve avere ● i processidi ingaggio tra i fruitori della piattaforma e il team di supporto. Support and maintenance