jueves, 16 de mayo de 2013

WCF - 3. Objetivos de un Servicio Web

Los objetivos de SOA se pueden resumir en:

  • Las fronteras son explícitas: Cuando creamos un servicio y lo ponemos a disposición para su consumo, no sabemos ni quien ni cómo se va a consumir éste. Puede ser un sistema en nuestra red local, o puede ser una aplicación remota al otro lado del mundo; el consumidor igual tiene que consumir el servicio atravesando un cortafuegos o a través de un proxy. Cuando se define un servicio hay que tener en cuenta que consumirlo puede ser muy costoso ya sea en ancho de banda, tiempo o gestiones de seguridad. Por eso hay que definir el interfaz público de manera concisa y mantenerlo al mínimo ya que cuanto mas amplio sea, mayor coste de mantenimiento requiere. A su vez, ningún detalle de las operaciones internas deben filtrarse al lado público. Al igual que un país, un servicio debe tener bien definidas sus fronteras y las normas con las que opera.
  • Los servicios son autónomos: Un servicio debe depender de sí mismo. Cuando se diseña un servicio, hay que considerar que no se despliega en un entorno infalible. Hay muchos factores alrededor que pueden causar una falla. Un cambio de localización, un acceso erróneo, tanto si es intencionado como fortuito no deben causar una caída del servicio. Por ello, se deben minimizar las dependencias externas, y esto se consigue mediante un correcto desacoplamiento.
  • Se deben compartir contratos: Teniendo en cuenta que un servicio puede ser una operación costosa, es muy importante limitar al máximo cualquier cambio en las condiciones bajo las que se ofrece un servicio. Para dejar constancia de estas condiciones y garantizar una estabilidad, se debe acordar un contrato entre las partes. Para no imponer restricciones en la implementación de las operaciones, se conviene establecer los contratos para ello por medio de interfaces.
  • Adaptable a las políticas externas: Un servicio se puede desplegar en distintos entornos, con distintas políticas de seguridad, fiabilidad y rendimiento. Los servicios deben poder adaptarse a estos entornos dispares sin mucho esfuerzo, y sin la necesidad de rediseñar el sistema.
La idea detrás de SOA es permitir la integración de sistemas de manera flexible, fácil, fiable y escalable. 

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 Colombia de Creative Commons

No hay comentarios:

Publicar un comentario