Definición Código de Compensación

Siempre me ha resultado curioso el comprobar que algo que llevas haciendo desde hace tiempo,a alguien se le ha ocurrido ponerle un nombre (¿cómo llamáis al cacharro que usan en las heladerí­as para hacer las bolas de helado para los cucuruchos? Yo lo llamaba “hacedor de bolas”, hasta que a un amigo se le ocurrió bautizarlo como “Chilaguillo”). Esta misma sensación la ha tenido leyendo teorí­a de patrones de diseño y de repente decir, anda, pero si esto lo llevo haciendo de hace tiempo, no sabí­a que era un patrón. Bueno, para ser sinceros, me ha pasado más veces con los anti-patrones que con los patrones 🙂
Esta semana, en el curso de Biztalk, me ha vuelto a pasar,  resulta que una de las opciones que incluye la herramienta es la de incorporar actividades de compensación, algo que, vení­a haciendo desde tiempo atrás, sin saber que tení­a ese nombre.
Un código o una acción de compensación se puede contemplar cuando estamos realizando una incursión en un entorno no transaccional, donde aplicamos cambios sobre diferentes orí­genes de datos. Si en alguno de los puntos se produce un error, podrí­amos no disponer de la posibilidad de volver todo al estado inicial de forma automática y con total seguridad de que se va a hacer de forma correcta (lo que serí­a una transacción de base de datos por ejemplo, o utilizando el componente de transacciones distribuidas de Microsoff el MSDTC).
Si no lo podemos resolver de forma automática, algo tendremos que hacer para que nuestro conjunto de datos no quede en un estado inconsistente. ¿Y qué podemos hacer? Pues muy fácil, compensar el error 🙂
Por poner un ejemplo algo gráfico, imaginaos una aplicación donde al pulsar un botón de “Iniciar Proceso” se lleven a cabo una serie de acciones que implican la creación de ciertos registros a través de servicios web pertenecientes a diferentes proveedores. Podrí­a darse el caso que alguno fallara, cuando una llamada a un servicio anterior ya ha sido confirmada. En ese caso, en el bloque “catch” correspondiente, tendrí­amos que comprobar cuál ha sido la llamada que ha fallado e intentar volver a su estado inicial las acciones que ya tení­amos confirmadas. Nos irí­a estupendo por ejemplo con contar métodos dentro de los mismos servicios web que nos permitieran volver atrás la acción (si hemos hecho una inserción, pues disponer de un método para hacer el borrado). Aunque también caben otro tipo de compensaciones que aunque a primera vista no parezcan muy elaboradas pueden dar muy buenos resultados, como enviar un e-mail a un administrador indicando en que punto del proceso se ha producido el fallo, o incorporar una entrada en el monitorizador de eventos del servidor para que salte la alerta automáticamente a los responsables del sistema, resolviendo el usuario el problema de forma manual.
Un saludo.
Miguel.

Definición de Abstracción

Siguiendo los capí­tulos de la saga de definiciones de términos que utilizamos comunmente en el gremio, hoy toca ver qué dice el Diccionario de la Lengua Española sobre la palabra “Abstracción”, esa palabra que tenemos todo el dí­a en la boca, que muchas veces exigimos, y que en ocasiones, tantas veces es dificil aplicar.
abstracción.
(Del lat. abstractĭo, -ōnis).
1. f. Acción y efecto de abstraer o abstraerse.
abstraer.
(Del lat. abstrahĕre).
1. tr. Separar por medio de una operación intelectual las cualidades de un objeto para considerarlas aisladamente o para considerar el mismo objeto en su pura esencia o noción.
2. intr. Prescindir, hacer caso omiso. Abstraer DE examinar la naturaleza de las cosas. U. t. c. prnl.
3. prnl. Enajenarse de los objetos sensibles, no atender a ellos por entregarse a la consideración de lo que se tiene en el pensamiento.

Definición de Soporte

Añado una nueva definición de la Real Academia Española respecto a una palabra más de las que normalmente utilizamos en el ámbito del desarrollo de software. En su dí­a, empezamos este grupo de posts hablando de “Eventos”.
Soporte
(De soportar).
1. m. Apoyo o sostén.
2. m. Heráld. Cada una de las figuras que sostienen el escudo.
3. m. Quí­m. Sustancia inerte que en un proceso proporciona la adecuada superficie de contacto o fija alguno de sus reactivos.
4. m. Telec. Material en cuya superficie se registra información, como el papel, la cinta de ví­deo o el disco compacto.
Añado también como complemento la definición de “Soportar”, ya que me ha hecho especial gracia.
Soportar
(Del lat. supportāre).
1. tr. Sostener o llevar sobre sí­ una carga o peso.
2. tr. sufrir (‖ aguantar, tolerar).
Fuente: https://www.rae.es
Saludos.
Miguel.

Definición de Evento

En el gremio de la informática y del desarrollo de software utilizamos muchas palabras de forma totalmente normal, comíºn y hasta a veces gratuita, pero, ¿conocemos toda la extensión de la palabra?

Evento (fuente https://www.rae.es)

(Del lat. eventus).

1. m. Acaecimiento

2. m. Eventualidad, hecho imprevisto, o que puede acaecer.

3. m. Cuba, El Salv., Méx., Períº, Ur. y Ven. Suceso importante y programado, de í­ndole social, académica, artí­stica o deportiva.

a cualquier, o a todo, ~.

1. locs. advs. En previsión de todo lo que pueda suceder.

2. locs. advs. Sin reservas ni preocupaciones.