APIfication, con questo termine sempre più "di moda" identifichiamo uno strumento che consente di valorizzare maggiormente le API, rendendo disponibili funzionalità e dati come servizio, lo riteniamo sempre più importante, in un'ottica di digital transformation, soprattutto in area banking e finance.
Un approccio più moderno all’integrazione API riduce il time-to-market, velocizza l'adozione di nuove tecnologie e crea nuovi flussi di entrate, aumentando la crescita dei ricavi.
L'APIfication può aiutare a creare con più facilità offerte integrate di vendita e marketing con i partner e a fornire prodotti e servizi più velocemente. In questo appuntamento numero 5 di WSO2 ITALIA SMART TALK ti raccontiamo come evolvere il vostro business! Scrivi a sales@profesia.it per conoscere i numerosi progetti di successo
1 of 25
Download to read offline
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
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
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
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
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