WSO2: differenze tra le versioni
(Creata scheda introduttiva WSO2) |
(Aggiunte note sistemistiche, installazione e esempio deployment.toml) |
||
| Riga 55: | Riga 55: | ||
* pubblicazione API verso partner o applicazioni mobile | * pubblicazione API verso partner o applicazioni mobile | ||
* riduzione dell'accoppiamento diretto tra frontend e sistemi interni | * riduzione dell'accoppiamento diretto tra frontend e sistemi interni | ||
== Aspetti tecnici sistemistici == | |||
Dal punto di vista sistemistico, WSO2 viene installato di solito su: | |||
* VM Linux dedicate | |||
* container Docker | |||
* cluster Kubernetes quando serve scalabilita o gestione cloud-native | |||
Nelle installazioni tradizionali su VM, e comune trovare il prodotto sotto percorsi come: | |||
* `/opt/wso2/wso2mi-4.5.0` | |||
* `/opt/wso2/wso2am-4.5.0` | |||
In pratica il layout tipico comprende: | |||
* binari applicativi del prodotto | |||
* file di configurazione `deployment.toml` | |||
* keystore e truststore del runtime | |||
* log applicativi sotto `repository/logs/` | |||
* esecuzione dietro reverse proxy o load balancer | |||
Operativamente, i punti da presidiare sono: | |||
* runtime Java e relativa memoria JVM | |||
* certificati TLS e truststore | |||
* porte esposte solo dove serve | |||
* utente di servizio dedicato | |||
* rotazione log, backup e monitoraggio | |||
* eventuale database esterno per componenti che lo richiedono, come API Manager | |||
== Dove si configura == | |||
Per i prodotti piu comuni della famiglia WSO2, il file centrale di configurazione e normalmente `deployment.toml`. | |||
Percorsi tipici: | |||
* `MI_HOME/conf/deployment.toml` per Micro Integrator | |||
* `API-M_HOME/repository/conf/deployment.toml` per API Manager | |||
In produzione e buona pratica: | |||
* non pubblicare direttamente tutte le porte del prodotto verso Internet | |||
* mettere WSO2 dietro Nginx, Apache o un load balancer | |||
* centralizzare TLS, logging e controllo accessi | |||
* tenere separati dev, test e produzione | |||
== Esempio minimo di configurazione == | |||
Esempio illustrativo per una installazione WSO2 Micro Integrator su VM Linux. | |||
<pre> | |||
# /opt/wso2/wso2mi-4.5.0/conf/deployment.toml | |||
[server] | |||
hostname = "mi01.gazzi.local" | |||
[transport.passthru_http] | |||
listener.enable = true | |||
listener.parameters.port = 8280 | |||
[transport.passthru_https] | |||
listener.enable = true | |||
listener.parameters.port = 8243 | |||
</pre> | |||
Questo esempio mostra solo il minimo per capire la logica: | |||
* `server.hostname` definisce l'hostname esposto dal runtime | |||
* `transport.passthru_http` abilita il listener HTTP | |||
* `transport.passthru_https` abilita il listener HTTPS | |||
In un ambiente reale si aggiungono anche: | |||
* certificati e truststore | |||
* proxy o load balancer davanti al servizio | |||
* parametri JVM | |||
* configurazioni di sicurezza, autenticazione e database secondo il componente usato | |||
== Note sistemistiche pratiche == | |||
* Se il ruolo della macchina e integrazione interna, spesso si espone solo il reverse proxy e non tutte le porte native WSO2. | |||
* Se si usa API Manager, documentare sempre database, hostname pubblici, keystore e policy gateway. | |||
* Se si usa Micro Integrator, documentare endpoint backend, sequence, proxy service, retry e timeout. | |||
* Prima di aggiornare versione o certificati, prevedere backup config e finestra di rollback. | |||
== Fonti ufficiali == | |||
* [https://mi.docs.wso2.com/en/latest/reference/config-catalog-mi/ WSO2 Integrator: MI Configuration Catalog] | |||
* [https://apim.docs.wso2.com/en/latest/reference/config-catalog/ WSO2 API Manager Configuration Catalog] | |||
== Vantaggi == | == Vantaggi == | ||
Versione attuale delle 12:13, 19 mar 2026
WSO2 e una piattaforma open source usata per integrazione applicativa, gestione API, autenticazione e orchestrazione di servizi. In pratica serve quando piu sistemi devono parlarsi in modo ordinato, sicuro e tracciabile.
Cos'e WSO2
WSO2 non e un singolo prodotto isolato, ma una famiglia di componenti software pensati per collegare applicazioni, esporre API e gestire identita digitali.
Gli scenari piu tipici sono:
- integrazione tra applicazioni interne ed esterne
- esposizione controllata di API REST o SOAP
- autenticazione centralizzata e Single Sign-On
- mediazione tra protocolli, formati o sistemi diversi
- controllo traffico, sicurezza e monitoraggio delle chiamate
Come funziona in pratica
L'idea di base e mettere un livello intermedio tra client e servizi backend.
Schema logico tipico:
- un client invia una richiesta
- WSO2 riceve la richiesta
- applica policy, autenticazione o trasformazioni
- inoltra la chiamata al backend corretto
- restituisce la risposta nel formato previsto
Questo permette di non esporre direttamente i sistemi interni e di concentrare in un punto unico logiche come sicurezza, rate limiting, routing, logging e trasformazione dei messaggi.
Componenti piu comuni
API Manager
Usato per pubblicare, proteggere e governare API. Permette di definire:
- autenticazione
- quote e throttling
- analytics
- catalogo API per sviluppatori
Micro Integrator / Integration
Usato per creare flussi di integrazione tra sistemi. E utile quando bisogna:
- chiamare piu backend in sequenza
- trasformare payload XML o JSON
- instradare richieste in base a condizioni
- collegare database, servizi HTTP, code o sistemi legacy
Identity Server
Usato per identity and access management. Serve per:
- Single Sign-On
- OAuth2 / OpenID Connect / SAML
- federazione identita
- gestione utenti, ruoli e policy di accesso
Dove ha senso usarlo
WSO2 ha senso quando l'ambiente non e composto da una sola applicazione semplice, ma da piu sistemi che devono interoperare.
Casi tipici:
- portali che parlano con piu backend
- integrazione tra ERP, CRM, applicazioni web e servizi esterni
- centralizzazione login e autorizzazioni
- pubblicazione API verso partner o applicazioni mobile
- riduzione dell'accoppiamento diretto tra frontend e sistemi interni
Aspetti tecnici sistemistici
Dal punto di vista sistemistico, WSO2 viene installato di solito su:
- VM Linux dedicate
- container Docker
- cluster Kubernetes quando serve scalabilita o gestione cloud-native
Nelle installazioni tradizionali su VM, e comune trovare il prodotto sotto percorsi come:
- `/opt/wso2/wso2mi-4.5.0`
- `/opt/wso2/wso2am-4.5.0`
In pratica il layout tipico comprende:
- binari applicativi del prodotto
- file di configurazione `deployment.toml`
- keystore e truststore del runtime
- log applicativi sotto `repository/logs/`
- esecuzione dietro reverse proxy o load balancer
Operativamente, i punti da presidiare sono:
- runtime Java e relativa memoria JVM
- certificati TLS e truststore
- porte esposte solo dove serve
- utente di servizio dedicato
- rotazione log, backup e monitoraggio
- eventuale database esterno per componenti che lo richiedono, come API Manager
Dove si configura
Per i prodotti piu comuni della famiglia WSO2, il file centrale di configurazione e normalmente `deployment.toml`.
Percorsi tipici:
- `MI_HOME/conf/deployment.toml` per Micro Integrator
- `API-M_HOME/repository/conf/deployment.toml` per API Manager
In produzione e buona pratica:
- non pubblicare direttamente tutte le porte del prodotto verso Internet
- mettere WSO2 dietro Nginx, Apache o un load balancer
- centralizzare TLS, logging e controllo accessi
- tenere separati dev, test e produzione
Esempio minimo di configurazione
Esempio illustrativo per una installazione WSO2 Micro Integrator su VM Linux.
# /opt/wso2/wso2mi-4.5.0/conf/deployment.toml [server] hostname = "mi01.gazzi.local" [transport.passthru_http] listener.enable = true listener.parameters.port = 8280 [transport.passthru_https] listener.enable = true listener.parameters.port = 8243
Questo esempio mostra solo il minimo per capire la logica:
- `server.hostname` definisce l'hostname esposto dal runtime
- `transport.passthru_http` abilita il listener HTTP
- `transport.passthru_https` abilita il listener HTTPS
In un ambiente reale si aggiungono anche:
- certificati e truststore
- proxy o load balancer davanti al servizio
- parametri JVM
- configurazioni di sicurezza, autenticazione e database secondo il componente usato
Note sistemistiche pratiche
- Se il ruolo della macchina e integrazione interna, spesso si espone solo il reverse proxy e non tutte le porte native WSO2.
- Se si usa API Manager, documentare sempre database, hostname pubblici, keystore e policy gateway.
- Se si usa Micro Integrator, documentare endpoint backend, sequence, proxy service, retry e timeout.
- Prima di aggiornare versione o certificati, prevedere backup config e finestra di rollback.
Fonti ufficiali
Vantaggi
- separa integrazione e sicurezza dalla logica applicativa dei singoli sistemi
- aiuta a standardizzare accessi e API
- rende piu semplice monitorare il traffico
- facilita riuso e governance delle integrazioni
- evita di duplicare logiche di autenticazione o mediazione in ogni applicazione
Limiti e attenzione operativa
- introduce complessita rispetto a integrazioni dirette molto semplici
- richiede governance chiara su API, versioni e policy
- se configurato male puo diventare un punto critico unico
- va documentato bene: endpoint, credenziali tecniche, mapping e dipendenze
In sintesi
WSO2 e utile come strato di integrazione e governo dei servizi. Non sostituisce le applicazioni di business, ma le collega, le protegge e ne rende piu ordinata l'esposizione verso utenti, frontend o sistemi esterni.
Note operative
- Se usato in un progetto reale, documentare sempre flussi, endpoint, autenticazione e dipendenze.
- Distinguere chiaramente ambiente dev, test e produzione.
- Se la piattaforma viene adottata in modo stabile, creare pagine dedicate per installazione, deployment, backup e troubleshooting.