Me ha tocado integrar en un sitio Web un TPV Virtual de una entidad bancaria española cualquiera.

Hace años, en mi anterior trabajo, vi cómo funcionaba el tema … el funcionamiento era sencillo pero chapucero, y nada previsible. Eran otros tiempos y sólo se valoraba que funcionasen las cosas sin importar cómo… también es cierto que los estándares Web de la época eran otros y bastante anticuados…
Por eso, cuando me he puesto con esto en Septiembre del 2006, esperaba encontrar grandes mejoras. Esperaba encontrar un uso extensivo de los servicios Web, de WDSLs, esquemas XML y de todas esas cosas tan complicadas, aburridas y previsibles cuyo uso se ha generalizado en los últimos años.

Pero NO! eso era demasiado esperar. Me he encontrado con los mismos métodos chapuceros de integración. Un POST por allí, campos hidden mágicos por allá que contienen fechas, números y texto en el formato el-que-a-mi-me-de-la-gana….

A decir verdad, sí que ha habido alguna mejora, pero se la podían haber ahorrado: Un servicio Web SOAP de un sólo método que toma como parámetro una CADENA que contiene un XML (cuyo formato se especifica en un DTD!), y que devuelve otra CADENA con otro XML del DTD: Señores de *******, ¿Para q c*j*nes quieren vds. un SOAP si solo lo usan para añadir un poquito de parafernalia por delante y por detrás al mensaje XML? ¿Por qué no dan WSDLs y XSDs com Deu mana y así facilitar el trabajo de los que implementamos aplicaciones contra sus penosamente diseñados sistemas?
Lo peor es que te instan a usar su “”"”WSDL”"”" en plan “Los comercios que deseen desarrollar un servicio SOAP deben ajustarse a esta WSDL. A partir de ella y, mediante herramientas de generación automática de código, se puede desarrollar el esqueleto del servidor SOAP de forma cómoda y rápida“. Collons! si el WSDL solo contiene un “cadena Metodo(Cadena parametro)”!

Es tan “2000′ish” todo esto…

¿ Es sólo la banca española la que acaba de entrar en el siglo 21 mientras los demás llevamos 6 años definiendo estándares, buenas prácticas y patrones de diseño de sistemas de integración? ¿ O la de fuera es igual? Que mal.