L'indea di fare programmazione ad oggetti in COBOL (che conosco un pochino:-) ) la trovo, a di poco, TERRIFICANTE !!!
Il peggio sarebbe fare programmazione ad oggetti con l'RPG
Ma forse il "PIU' PEGGIO"/"PEGGISSIMO" e' fare Machine Learning/Artificial Intelligence in COBOL
Mi immagino: implementare l'algoritmo di back propagation (base delle reti neurali) in COBOL
Bleach!!!!!!!!
E' come usare una clava, la cara e super classica clava di Fred Flinstone, ma in qualche materiale ipertecnologico
Ok, visto che se po' fa, se po' fa.
Il trucco sta nel NON SCRIVERE il WSDL, ma farlo generare in automatico.
In pratica DEVI trovare qualche FRAMEWORK COBOL che fa TUTTO in automatico: tu TUTTO QUELLO CHE DEVI FARE e'
- definire una classe
- definire dei metodi
- ai metodi ASSEGNARE la URL a cui devono rispondere. Tra l'altro in QUESTA fase definisci anche COME i parametri vengono passati e come viene serializzato il risultato
QUESTO aspetto e' ASSOLUTAMENTE CRITICO: TUTTA la fase di serializzazione/deserializzazione e' una fase CRUCIALE ma standard che il framework dovrebbe gia' gestire.
- registrare la classe all'interno del framework.
Ci sono tutta una serie di REGOLE complicate che vanno seguite per ASSICURARE che la classe possa essere chiamata da piu' utenti contemporaneamente.
Compito del framework e' quello di fare la serializzazione e deserailizzazione dei dati e fare da dispatcher tra le classi registrate.
L'approccio TCP/IP e' anche fattibile, ma a mio avviso con la STESSA complessita': si semplifica da una parte (framework inesistente), ma si incasina dall'altra (gestione della connessione, riconessione, timeout, serializzazione e deserializzazione dei dati, ecc...)
Quindi, se tanto mi da tanto, tanto vale studiare un framework che risultera' piu' facile da usare, piu' flessibile e piu' potente.
Tra l'altro, il framework dovrebbe mettere a disposizione anche tutta l'infrastruttura che le connessioni via SSL (HTTPS), la sicurezza, ecc. Tutta robbbba tutt'altro che semplice da implementare a mano (per fare se po' fa', ....)
Tutto STO RAGIONAMENTO e' valido per praticamente QUALUNQUE linguaggi di programmazione di nuova generazione: Java, C#, PHP, ecc.
Ad esempio, per Java c'e'
- Jersey
https://eclipse-ee4j.github.io/jersey
- Spring
https://spring.io/projects/spring-w
Per C#
- ASP.NET
Ora, per cavare il mitico ragno dal buco, DEVI trovare qualcosa del genere.
COSI' hai qualche possibilita' di realizzare qualcosa in tempi" ragionevoli" (NON certo in giorni, minimo un mesetto)
Altrimenti, la vedo mooooooooolto dura.
O forse non la si vede proprio