image

Todas las empresas, en todas las áreas de negocio, tienen servicios…  Esto está claro…  O no?
Pues la verdad es que en mi opinión no está tan claro… Y es que muchas de las implementaciones que vemos por ahí no se pueden considerar servicios como tal.  Y es que una cosa es que tengamos un funcionalidad de negocio a la que se invoca con un XML sobre HTTP y otra muy distinta es que eso se pueda considerar un servicio… Ya sabes, no es oro todo lo que reluce ni servicio todo  lo se afirma que es un servicio…
Lo primero que debemos tener para considerar que una lógica de negocio sea un servicio es que esté desacoplada, es decir, que se pueda ejecutar en un servidor diferente a donde se ejecuta el cliente.
Otro punto a tener en cuenta es la existencia de un contrato… ¿cuál es el interfaz del servicio? ¿cuáles son los parámetros de entrada y salida? ¿cómo lo invoco?… Esto es mucho más obvio en un servicio SOAP… Si es un servicio, tiene que tener el descriptor WSDL… Y por supuesto tendrá que tener un WSDL por cada servicio… O no es lógico que si tenemos tres servicios tengamos tres ficheros WSDL de descripción del interfaz…
Además, cada servicio deberá tener su propia URL… Esa es la forma de gestionar los servicios de manera separada. Por ejemplo, en el aspecto de seguridad, si todos los servicios tienen la misma URL… ¿como se van a securizar de manera específica? Pues no al menos, con seguridad declarativa…
Por supuesto, pueden haber situaciones en los que las necesidades del negocio o de la propia arquitectura de la aplicación nos aconsejen abordar su construcción desde otro punto de vista, más allá de lo que podemos considerar como servicios.. Quizás no tengan un fichero con el contrato, quizás tengan una única URL… Pero lo que pediría en estos casos es muy simple: no les llamemos servicios por favor , eso da lugar al muchos malentendidos. Podemos llamarlos lógicas de XML sobre HTTP, podemos llamarlos ‘el típico servlet al que se le hace un POST’… pero a cada cosa lo suyo, no me aparece apropiado llamar servicio a algo que no lo es, y es que no es servicio todo lo que reluce…

Anuncios