Hace tiempo, en esta entrada en el blog, abordaba un tema que creo que es de vital importancia si queremos implantar SOA con éxito en nuestra empresa: antes de aplicar SOA debemos aplicar los conceptos de orientación a objetos.

Además de por las razones mencionadas en la anterior entrada del post, cncapsulación de los datos y desacoplamiento, creo que es necesario hacer hincapié en otra propiedad, que es natural en la orientación a objetos y muy necesaria en la orientación a servicios: la visión de una entidad de negocio como un conjunto de atributos y un comportamiento asociado, que es ni más ni menos que un objeto.

Cojamos cualquier entidad de negocio, por ejemplo la de “viaje” en una web de viajes por internet. De forma natural, además de asociar al viaje determinados atributos, como fecha de partida, fecha de vuelta, precio, etc. le asociamos “comportamiento” o acciones que puedo hacer con esa entidad.

Por ejemplo, un viaje lo puedo reservar, lo puedo pagar y lo puedo anular. Y esas son operaciones (en orientación a objetos se llaman métodos o mensajes pero eso es lo de menos) que forma parte consustancial con la entidad. No puedo tener los atributos por un lado y las operaciones por otro.

¿Qué tiene que ver esto con la orientación a servicios? pues a que si vemos así las entidades de nuestro negocio (atributos + comportamiento) es casi natural identificar el servicio. Esto es, habrá un servicio de negocio que podríamos llamar “gestionar Viaje” con tres operaciones:

  • reservar (fechaHasta, fechaDesde, destino)
  • pagar(localizadorViaje)
  • anuar(localizadorViaje)

Si no tenemos en cuenta este concepto, bastante sencillo e intuitivo, de que una entidad de negocio está formada por atributos y comportamiento, en el paso a servicio lo pasaremos francamente mal.

Comparte este artículo:
Share