Soluciones Holísticas para InterNet
Avances tecnológicos
Inicio/ Entornos de trabajo/ Avances tecnológicos
Avances tecnológicos
Fruto del enfoque de intentar cubrir las necesidades de nuestros clientes hemos tenido, en algún caso, de abrir caminos en la tecnología disponible, dado que en su momento la existente no permitía realizar lo que nuestros clientes necesitaban, alguno de estos casos son los siguientes:
  • Metodología para hacer las localizaciones multilenguaje las aplicaciones, una metodología prácticamente idéntica se integría en una release posterior de JAVA.
  • Metodología para manejar datos asíncronos, una metodología muy similar se integría en un release posterior de JAVA, esta se explica un poco más adelante. Nos referimos a una estructura genérica de software que facilita el trabajo con fuentes de datos externas a cada aplicación que tienen un tiempo de respuesta indefinido.). Leer más
  • Grid Computing.
Con el objetivo de responder a los requisitos más exigentes de capacidad de cálculo hemos adaptado el módulo de motor de computación de INvSIGHT para que pueda operar en modo grid computing (computación en paralelo). Leer más
  • Metodología para manejar la gestión del cambio:
    Estructura genérica de software que informa de los cambios que han ocurrido en cualquier parte de un sistema para que se consideren inmediata y automáticamente en cualquier otra parte de la aplicación u otras aplicaciones a las que afecte, inclusive estando en ordenadores remotos.). Leer más
SOFTWARE DE APOYO - Grid computing

Con el objetivo de responder a los requisitos más exigentes de capacidad de cálculo hemos adaptado el módulo de motor de computación de INvSIGHT para que pueda operar en modo grid computing (computación en paralelo).
De este modo la aplicación es susceptible de manejar los cálculos en múltiples ordenadores en red que tengan capacidad de proceso ociosa.
Esto permite reducir significativamente los tiempos de proceso. Lo cual es un requisito imprescindible para muchas tareas que requieren elevada capacidad de cómputo, piensese por ejemplo en gestión de riesgos de mercado, gestión de riesgos de crédito, valoración de productos complejos, valoraciones estocásticas de pasivos actuariales (pólizas).
Esta capacidad permite abaratar significativamente los costes de la infraestructura hardware necesaria.

SOFTWARE DE APOYO - Gestión de Cambios

El ámbito en el que se gestionan los cambios abarca desde una aplicación, un ordenador concreto en el que pueden estar ejecutándose varias instancias de la misma aplicación, o toda una red de ordenadores en la que puede encontrarse un número indeterminado de instancias del programa.
El framework se basa en el mecanismo de propagación de cambios observado en los seres vivos:
Existen ciertas entidades capaces de producir cambios: células sensibles al dolor, al calor, etc. que producen cambios eeléctricos en el sistema nervioso, glándulas que generan cambios hormonales en el sistema circulatorio...
Otras entidades se sensibilizan ante ciertas señales, de forma que es como si mostraran especial interés en determinados tipo de señales o cambios. Así diferentes órganos son sensibles a distintas hormonas que controlan su funcionamiento.
Entre unos y otros existe un mecanismo de transporte de las señales: el sistema nervioso, el sistema linfático, el sistema circulatorio...
De manera similar, con el ChangeMgmt framework, un objeto existente dentro de un programa puede tener asociado cierto número de emisores, que generan cambios muy concretos, informando de modificaciones en su estado. Por otra parte, ciertos objetos pueden mostrar su sensibilización hacia cambios concretos, con independencia de quién los emita, haciendo uso de receptores configurados para reaccionar ante esos cambios.
Los cambios son entonces enviados por los emisores a un sistema de propagación de cambios que los hace llegar a los receptores interesados. El sistema de propagación de cambios puede ser tan complejo como toda una red de clientes/servidores distribuída por ordenadores situados en cualquier lugar geográfico.
Uno de los puntos fuertes de este framework es la entidad Cambio.
Por una parte, los emisores envían cambios muy concretos, con información que permite a los receptores saber si tienen que activarse o no, además de información que ayuda al objeto receptor del cambio a reaccionar.
Por otra parte, los receptores se configuran haciendo uso de la misma entidad Cambio, rellenando sus campos según interese, con más o menos datos. Es decir, el receptor utiliza en realidad patrones de cambio para configurarse, de forma que el patrón puede ser desde totalmente concreto (lo que haría que se produzcan menos activaciones) a muy abstracto (lo que puede producir gran nmero de activaciones del receptor). La activación de un receptor se produce por la comparación del Cambio recibido con los patrones de cambios con los que el receptor ha sido configurado.

SOFTWARE DE APOYO - Gestión de Datos Asíncronos

Cuando un programa realiza un cálculo, bien sea para imprimir el resultado en pantalla, o para devolverlo como cálculo intermedio a otra entidad del programa, normalmente necesita un conjunto de datos con los que operar. Es posible que algunos de estos datos no estén disponibles en la aplicación, por lo que debería consultarse a una fuente externa (aplicación, base de datos local o remota). Una consulta de este tipo puede tener un tiempo de respuesta impredecible, por lo que no sería conveniente bloquear al programa hasta que obtuviera cada dato que tenga que ser consultado a una fuente externa. Se necesita, pues, un modo de trabajo asíncrono con estas fuentes de datos (de ahí el nombre de este framework) frente al modo de trabajo síncrono. Lo normal, modo síncrono, es que un programa:
Pida un dato que se le devuelve inmediatamente.
Opere con el dato y lleve a cabo una acción con el resultado: devolverlo, imprimirlo, guardarlo en una base de datos...
En contraposición, el modo de trabajo asíncrono que proponemos con AsynchDataSrc se basa en:
Petición de un dato.
Si ese dato va a tardar en estar disponible un tiempo intedeterminado, obtendremos una especie de resguardo de haber pedido el dato. Este resguardo se puede combinar con otros que hayamos podido obtener de otras peticiones similares, o de peticiones síncronas, para implementar qué queremos que se haga con ellos.
Cuando los datos asíncronos están disponibles se ejecutaría automáticamente aquello que implementamos en el punto anterior.
Ejemplo:
Acción principal: Decidir si me voy a la montaña.
Datos necesarios:
-Estado del tiempo: fuente Instituto Meteorológico Nacional.
-Estado de las carreteras: fuente Dirección General de Tráfico.
Implementación:
Decidir si me voy a la montaña devuelve un Resguardo
resguardoIMN= obtenerPrediccionTiempo;
resguardoDGT= obtenerPrediccionCarreteras;
Devuelve un nuevo resguardo que combina de la siguiente manera los anteriores:
si (el valor de resguardoDGT es "bueno" y el valor de resguardoIMN es "bueno")
-> el valor de este nuevo resguardo es "SI"
En otro caso
-> el valor de este nuevo resguardo es "NO"
Con el modo síncrono de trabajar el programa preguntaría "te vas a la montaña?" y se quedaría esperando a que se le respondiera.
Vemos que en este caso, al hacer la pregunta lo que se devuelve es un resguardo, por lo que el programa puede utilizarlo para decir qué quiere que se haga con el valor de la respuesta cuando esté disponible (por ejemplo, preparar los esquíes si el valor es "SI") y seguir haciendo otras cosas, habiendo dejado la tarea programada y pendiente.
>> Contacte con nosotros


>> Historias de éxito