Una domanda interessante su cui mi sono imbattuto:
Supponiamo che un'applicazione java crei un modello di dati, converta questi dati in un oggetto json con due campi e li carichi su un server:
{
"FirstName": "Foo",
"LastName": "Bar"
}
Ora una tecnologia diversa, ad esempio js, php, ecc. sul server deve elaborare i dati.
Entrambe le parti sono ben testate contro una serie di test unitari, ma l'integrazione naturale tra linguaggi e tecnologie diverse è difficile da testare in profondità.
Esiste un principio o una tecnica noti in grado di convalidare i dati su entrambe le estremità? Voglio dire, diciamo che c'è un contratto che dice che LastName
non deve , in ogni caso essere di < 2 caratteri in dimensioni. Questa è una regola aziendale che è un vincolo rigido sui dati.
Ora l'implementazione java ha un bug o semplicemente trascurato il requisito di LastName
. Entrambi i lati completano i test unitari ma falliscono duramente durante l'integrazione.
Esiste una tecnica che consente di specificare tali regole tra le lingue? Non sto parlando del rigetto del tempo di esecuzione dei dati malformati, ma piuttosto della coerenza su entrambi i lati di un'applicazione.