confused-880735_640

Durante estos años he estado trabajando con la suite de SOA de uno de los mayores fabricantes de software a nivel mundial… digamos que los productos son de los más caros del mercado, sin embargo la productividad deja mucho que desear.

El desarrollo de servicios es complicado y costoso, en tiempo y esfuerzo, aunque por supuesto no es sólo culpa de una herramienta en concreto. Pero es curioso que una de estos suites, hace tiempo vendidos como lo más de lo más en cuanto a IDEs de desarrollo no logren acortar los tiempos del desarrollo, más bien al contrario.

El primer problema que nos encontramos es que estas herramientas son muy especializadas y bastante complejas. Llegar a conocer sus tripas y sobre todo sus worksarounds o ñapas lleva bastante tiempo. Como consecuencia vemos que los expertos escasean bastante.

El segundo problema es que estas herramientas de alto nivel, ocultan el código que generan por debajo. En principio esto está muy bien, pero en la práctica puede resultar en que nadie sabe muy bien qué es lo que hace cuando le das a salvar y generar el desplegable…. es como una especie de magia que genera una caja negra, muy negra, en la que no se puede atisbar muchas veces qué es lo que tiene dentro, y mucho menos llegar a modificar lo que ha generado si nos encontramos un problema.

El tercer problema que veo es la falta de herramientas de pruebas de verdad. Algunas de estas suites ni siquiera permiten hacer pruebas unitarias. Para testear la funcionaliad más pequeña hace falta “levantar” todo el entorno de desarrollo y hace falta un maquinón para hacerlo.

En muchas ocasiones he estado tentado en dejar esta herramienta de lado y hacer el desarrollo directamente en lenguaje Java… puede parecer una barbaridad pero te vas dando cuenta que el 90% de las cosas que hay que hacer son siempre las mismas y son bastante sencillas. Me refiero claro al clásico mantenimiento de entidad (alta, baja, consulta y modificación) propia de un desarrollo empresarial normal.

Debido a todo esto, hay algunos proyectos en los que no se quiere hacer con SOA porque se tarda mucho o es muy complejo. Por supuesto, no se entra en el fondo de si SOA es apropiado o merece la pena para la empresa. Esta resistencia a abordar el proyecto SOA se debe en muchas ocasiones a la falta de productividad de las propias herramientas.

Así pues, en definitiva, piensa bien con que tipo de IDEs o herramientas de desarrollo vas a utilizar para tu proyecto. Puede que el éxito o el fracaso dependa de ello.

Anuncios