Una de las mejores características de SOA es el desacoplamiento:

la única ligazón que existe entre dos servicios o dos piezas de software es el interfaz o contrato del servicio.

¿Como podemos sacar partido de esto para simplificar los desarrollos dentro de la empresa? Con los servicios técnicos.
En la era pre-SOA los frameworks de empresa proporcionaban (en el mejor de los casos) las utilidades que necesitaban los desarrollos. Me refiero a aquellas funcionalidad técnicas y reutilizables por todos los desarrollos de la compañía: por ejemplo, envío y recepción de email, SMS, fax, acceso al directorio de usuarios corporativo, etc. Etc.
El hacer esto desde el framework tiene un gran inconveniente: el acoplamiento con la aplicación. Si se incorpora una nueva funcionalidad al , la aplicación tiene que actualizarse a la nueva versión, con el coste y riesgo que esto supone. Además no todas las aplicaciones pueden actualizarse al mismo ritmo, por lo que tendremos varias versiones simultáneas del framework en producción, con el problema de mantenimiento correspondiente.
Con el uso de los servicios técnicos esto ya no sucede ya que se puede actualizar de manera transparente para la aplicación cliente. Además todos los clientes pueden usar la misma versión del servicio técnico por lo que tendremos una única versión en producción.
Otro de los beneficios de los servicios técnicos es la reducción de los skills o conocimientos que los equipos de desarrollo deben tener sobre un API o estándar en concreto, como por ejemplo el protocolo SMTP (javamail en la plataforma Java) permitiendo que se concentre en la lógica de negocio y que se más fácil encontrar programadores en el mercado ya que sus requisitos no serán tan altos.
Además, gracias al desacoplamiento de los servicios técnicos pueden evolucionar de manera independiente y también de manera transparente a los desarrollos de negocio. Por ejemplo, podríamos pasar de implementar el protocolo SMTP a Webdav sin que el equipo de desarrollo ni siquiera se de por enterado.

En mi opinión:

la construcción de servicios técnicos es una buena medida para ahorrar costes, tiempo de desarrollo y skills técnicos en los desarrollos dentro de la empres

¿Tu opinión?

Comparte esta entrada:
Share