jueves, 5 de diciembre de 2013

SOA (II) 4 Capacidades básicas que debe ofrecer una Infraestructura de soporte SOA


Decíamos en nuestro post anterior que una implementación SOA puede consistir en una combinación de tecnologías , productos , API, soporte extensiones de infraestructura , y varias otras piezas . La cara real de una arquitectura orientada a los servicios desplegados es única dentro de cada empresa, sin embargo, se caracteriza por la introducción de nuevas tecnologías y plataformas que apoyan de manera específica la creación , ejecución y evolución de SOA.
Una Infraestructura de soporte a una Arquitectura SOA debe cubrir 4 Capacidades Básicas para cubrir el ciclo de vida de los Servicios a los que va a dar soporte.
1) Capacidades de Creación. En este punto encontramos instrumentos para crear servicios consumibles desde diferentes puntos de la infraestructura a través de un bus de servicios empresariales (ESB en sus siglas en Ingles).
Deberá contener componentes capaces de interactuar con diferentes aplicaciones y extraer entidades comunes entre ellas, tanto a nivel de consulta como para permitir actualizar estas entidades en un momento dado también en las aplicaciones
2) Capacidades de Conexión. Uno de los elementos más importantes de una infraestructura SOA es el bus de servicios empresariales, columna vertebral del consumo de servicios, conteniendo las siguientes responsabilidades:

  • Composición de servicios. La composición de servicios es la pieza fundamental para poder vertebrar servicios desde la óptica de negocio a partir de servicios de menor representatividad e incluso servicios de carácter puramente técnico.
  • Reutilización. El bus de servicios, y siguiendo con las responsabilidades que una arquitectura SOA delega en el bus, será la base de la reutilización de servicios. Por ese motivo es de vital importancia que exista un registro de servicios donde poder consultar el contrato de estos mismos y así poder evaluar su ampliación / creación / composición
  • Balanceo y alta disponibilidad. El bus de servicios se ha de encargar de administrar la alta disponibilidad, y en concreto, el balanceo. Mediante esta posibilidad, se podrá gestionar de manera transparente la alta disponibilidad.
  • Seguridad.  El bus de servicio habrá de actuar como proxy de seguridad, permitiendo el traspaso transparente de credenciales entre proveedores y consumidores de servicios.
  • Calidad. El bus de servicios es el lugar clave donde poder extraer diferentes KPI. Estos KPI serán posteriormente explotados el Componente BAM para generar reportes de valor para optimizar los procesos y recibir feedback de la plataforma para negocio.
3) Capacidades de Composición . Otro punto importante, conjuntamente con el bus de servicios, es el servidor de procesos, que permitirá tener procesos complejos a partir de la composición de procesos más sencillos. Este es también un punto importante de crecimiento de la plataforma en conjunción con otras potentes plataformas como son los BPM “Human Centric”.


4) Capacidades de Gobierno. Uno de los dominios más importantes y a la vez justificadores de una arquitectura SOA es el gobierno de la infraestructura. Para ello es importante tener
  • Mecanismos para gestionar la reutilización de servicios. Nos permitirá organizar, promover y documentar los servicios para su posterior explotación.
  • También es necesario tener un componente especializado en la gestión de identidades para permitir un traspaso de la identidad dentro de la plataforma y de esta manera 






martes, 12 de noviembre de 2013

ce n'est pas un projet


René François Ghislain Magritte (n. 21 de noviembre de 1898 en Lessines, Bélgica- 15 de agosto de 1967, en Bruselas, Bélgica) fue un pintor surrealista
Conocido por sus ingeniosas y provocativas imágenes, pretendía con su trabajo cambiar la percepción precondicionada de la realidad y forzar al observador a hacerse hiper sensitivo a su entorno.
Magritte dotó al Surrealismo de una carga conceptual basada en el juego de imágenes ambiguas y su significado denotado a través de palabras, poniendo en cuestión la relación entre un objeto pintado y el real
Fuente : Wikipedia


Genial cuadro que define a la perfección el surrealismo de Magritte. La imagen refleja evidente e inequívocamente la representación de una pipa, pero en cambio su leyenda, el texto asociado a la imagen, niega tal realidad aniquilándola con una afirmación contraria.

Mi pequeña aportación a la corriente surrealista:


Esto no es un proyecto ... es un  juego de imágenes ambiguas, que ponen en cuestión la relación entre un objeto pintado y lo real ;)

jueves, 7 de noviembre de 2013

SOA (I) : Estrategia TIC de soporte al Negocio


Los negocios exigen crear aplicaciones cada vez más complejas, en menos tiempo y con menor presupuesto. En muchos casos crear estas aplicaciones requiere de funcionalidades ya antes implementadas como parte de otros sistemas. Ante esta situación los arquitectos de software se enfrentan a dos opciones:
  • Tratar de reutilizar la funcionalidad ya implementada en otros sistemas. Una labor difícil de realizar, debido a que estos no fueron diseñados para integrarse o se elaboraron para plataformas y/o tecnologías incompatibles entre ellas. También incluimos la dificultad que se encuentran en las organizaciones en el entendimiento entre el Negocio y las TIC.
  • Re-implementar la funcionalidad requerida. Aunque implica más tiempo de desarrollo, es en a mayoría de los casos la más fácil y segura.

A pesar de que no sea la más acertada a largo plazo, la segunda opción es la más escogida. Esto trae como resultado:
  • Funcionalidad replicada en varias aplicaciones.
  • Dificultad de migración de los sistemas internos, al haber múltiples conexiones desde sistemas que dependen de estos para su funcionamiento.
  • Al no haber una estrategia de integración de aplicaciones, se generan múltiples puntos de fallo, que pueden detener la operación de todos los sistemas muy fácilmente.Un modelo así, por lo general no escala muy bien.
Consecuencias :
  • Pobre respuesta al cambio. 
  • Las aplicaciones siguen siendo concebidas desde un principio como islas independientes.

 SOA es una estrategia  TIC de Soporte al Negocio 

El acrónimo SOA proviene del inglés Service-Oriented Architecture. Se trata de un modelo de arquitectura que caracteriza el procedimiento para crear y usar los diversos procesos, reunidos en forma de servicios, que configuran un determinado Proceso de Negocio (Un proceso de negocio se puede ver como un conjunto estructurado de tareas, que contribuyen colectivamente a lograr los objetivos de una organización.)


Esta arquitectura define y proporciona el marco normativo de interoperabilidad entre los sistemas de información que forman el mapa de sistemas de la organización y la participación en los procesos de negocio se lleve a cabo con total independencia de la plataforma hardware-software sobre la que trabajan

Algunas de sus principales características:
  • uso de estándares internacionales
  • análisis de los procesos de negocio de la organización (BPM)
  • diseño y publicación de un catálogo de servicios de negocio e infraestructura, que deben ser encapsulados y reutilizables
  • orientación a eventos de negocio (EDA), que disparan la orquestación de los servicios mediante mensajería asíncrona y listas de suscripción
  • unificación de la semántica del negocio
  • creación de un equipo de expertos SOA y de negocio (centro de excelencia, oficina de gobierno SOA, etc), que cíclicamente revise cada avance y posibles mejoras, y ejecute la gobernanza
  •  monitorización de los procesos de negocio.

Una implementación SOA puede consistir en una combinación de tecnologías , productos , API, soporte extensiones de infraestructura , y varias otras piezas . La cara real de una arquitectura orientada a los servicios desplegados es única dentro de cada empresa, sin embargo, se caracteriza por la introducción de nuevas tecnologías y plataformas que apoyan de manera específica la creación , ejecución y evolución de SOA. 

martes, 5 de noviembre de 2013

"The buck stops here". ¿Y la Responsabilidad donde?


Hay un famoso aforismo utilizado por Truman , "The buck stops here"; La bola termina aquí, transliterado: Asumir la responsabilidad total de una acción, en alusión a la expresión "to pass the buck" que transliterado significa “pasar la bola”


Quiere decir que la última responsabilidad recae sobre el Presidente.



Me pregunto si existe un expresión similar en español. La expresión en inglés "The buck stops here" significa mucho más que "es mi responsabilidad" o "sobre mí recae toda la responsabilidad" o "yo soy el principal responsable". Tiene mucho más fuerza que eso. Y no encuentro su similar en español. Tal vez no exista, pero quizás sea algo del estilo: “la persona responsable es”  o “el que realmente es responsable es” o.. “el peso de la responsabilidad recae en”

Veamos qué dice la R.A.E sobre la palabra “Responsabilidad”

responsabilidad.
1. f. Cualidad de responsable.
2. f. Deuda, obligación de reparar y satisfacer, por sí o por otra persona, a consecuencia de un delito, de una culpa o de otra causa legal.
3. f. Cargo u obligación moral que resulta para alguien del posible yerro en cosa o asunto determinado.
4. f. Der. Capacidad existente en todo sujeto activo de derecho para reconocer y aceptar las consecuencias de un hecho realizado libremente.
~ subsidiaria.
1. f. Der. responsabilidad que entra en juego en defecto de la directa y principal de otra persona.
de ~.
1. loc. adj. Dicho de una persona: De posibles y digna de crédito

Y Cuando vamos a buscar sinónimos,

responsabilidad
  • compromiso, obligación, deber, cometido, tarea, carga, competencia, incumbencia 
  • madurez, sensatez, juicio, seriedad

'responsabilidad' aparece también en las siguientes entradas:
Inflexiones de 'responsabilidad' (n): fpl: responsabilidades

La verdad, no me aclara mucho el tema…

En el mundo anglosajón lo dejan, a mi entender, bastante mas claro al utilizar diferentes palabras para referir la “responsabilidad” y sus matices
  • LIABILITY se corresponde con la responsabilidad propiamente dicha (en sentido jurídico).
  •  RISPONSABILITY se corresponde con el cargo, el papel, la función o la misión de alguien dentro de una organización o de un proyecto. La RISPONSABILITY (=RESPONSABILIDAD) se comparte, todos somos corresponsables en el éxito de un proyecto
  • ACCOUNTABILITY se corresponde con la responsabilidad que asume una persona o una entidad ante otra. Es decir, al hecho de que aquélla deba rendir cuentas a ésta de su labor o su actuación: Es el caso del Director de Proyecto ante su Director de Operaciones. La ACCOUNTABILITY (=ACONTABILIDAD) NO se comparte, hay un responsable último que tiene que asumir las decisiones y sus consecuencias

 Hay un responsable final y no comparte su “acontabilidad”. Porque es parte de su trabajo.

¿Proponemos sea incluida “Acontabilidad” en el diccionario de la R.A.E? ;) 

jueves, 24 de octubre de 2013

Doce caracteristicas de un Equipo de Alto Rendimiento


Un equipo es un estado de ánimo !


"Dentro de un equipo que no funciona bien,cada jugador parece peor de lo que es. Sin embargo, cuando reinan valores como el respeto, el afecto y la solidaridad, todos terminan pareciendo un poco mejor de lo que son". Jorge Valdano



Un Equipo , es un pequeño número de personas que tiene habilidades, experiencias y conocimientos complementarios, que están comprometidos con un mismo propósito y sus correspondientes metas de desempeño; comparten un enfoque común sobre la meta, y están dispuestos a rendir cuentas de manera común siendo mutuamente responsables de los resultados



Doce características de un equipo de alto rendimiento:


1. Tener un propósito claro. Todos los miembros del equipo deben saber exactamente cuál es el objetivo a alcanzar. Así sabrán cómo pueden contribuir al logro del objetivo y podrán focalizar su energía y trabajo en ello.

2. Tener una comunicación efectiva hacia adentro y hacia afuera. Un intercambio ágil de la información permite asegurar que se adoptarán oportunamente las decisiones correctas y no existirán dudas en los miembros del equipo respecto a qué deben hacer, cuándo, cómo y por qué.

3. Voluntad de aprender de los demás. Todo proyecto es una inciativa única. Por ello es importante que los integrantes del equipo tengan voluntad de aprender nuevas técnicas o métodos para ser aplicados en el proyecto. Sino, existirá la tendencia a repetir métodos de trabajo ya conocidos, los cuales no necesariamente serán los mejores.

4. Participación en el grupo. Para que los miembros del equipo del proyecto se perciban como parte de éste, es fundamental que cada uno de ellos tenga una participación activa: los miembros del equipo no solo deben tener tareas específicas a realizar, sino que deben sentirse involucrados en la discusión de los problemas y en las decisiones que se adopten.

5. Orientación a la solución de problemas. La dinámica del equipo debe tener una orientación a la solución de problemas y no a la búsqueda de culpables. Esto genera un ambiente de solidaridad y confianza que contribuye significativamente a la motivación de los miembros del equipo..

6. Búsqueda de la excelencia. No sólo en aspectos técnicos, sino también en lo referente a las relaciones entre sus integrantes y con otros involucrados, la responsabilidad por el trabajo y sus resultados.

7. Celebración de los logros. La celebración de los éxitos alcanzados es otro factor que contribuye a la motivación de los integrantes del equipo. Cuando se alcancen hitos importantes, y si estos se han logrado con la calidad esperada, el celebrar este logro como equipo hace que cada uno de los miembros de éste sienta que ha contribuido a algo bueno e importante. 

8. Involucrar a todas las personas relevantes. Cuando es necesario solucionar un problema y existen varios miembros del equipo que poseen conocimientos que pueden ayudar a solucionarlo, la tarea debe ser abordada por el equipo. Nadie es capaz de entender o resolver un problema solo.

9. Equipos multidisciplinarios para problemas multidisciplinarios. Cuando el problema se relacione con distintos ámbitos funcionales (por ejemplo, finanzas, recursos humanos y operaciones), la búsqueda de una solución debe ser abordada por un equipo que incorpore representantes de las distintas áreas funcionales.

10. Búsqueda de la innovación. El intercambio de ideas que se produce en un equipo multidisciplinario genera nuevas formas de ver y solucionar los problemas. Por ello un equipo de estas características es la mejor forma de innovar en la forma de ejecutar proyectos.

11. Descontento con el status quo. Queremos cambiar paradigmas. Si un proyecto se ejecutó siempre de acuerdo a una determinada metodología y queremos buscar nuevas y más eficientes formas de llevarlo a cabo, la capacidad innovadora de un equipo es la mejor forma de hacerlo.

12. Compromiso. Al trabajar en equipo los integrantes de éste sienten un compromiso no sólo con el trabajo a realizar, sino también con sus compañeros.