Configuración del caché de Coherence en OSB 12.2.1

Es muy común que nos encontremos con un dilema recurrente, los servicios de utilidad, altamente reutilizados que únicamente obtienen datos de alguna fuente, como por ejemplo los servicios de catálogos, y que la información que proveen no cambia con demasiada frecuencia, ¿Deberían siempre ejecutarse para llegar hasta la fuente de datos? O ¿Deberíamos implementar un mecanismo de replicación/retención de datos para evitar esta situación?

En mi experiencia, la respuesta por muy obvia que parezca, siempre ha causado polémica, y no solo porque involucra varios retos técnicos a resolver, sino que además, en arquitecturas multicapas, que regularmente son administrados por equipos de trabajos diferentes, surge la pregunta ¿Dónde es el mejor lugar para implementar este mecanismo? Y sobre todo ¿De quién es responsabilidad mantener la información sincronizada?

Personalmente creo que depende mucho de la arquitectura global que se tiene y de las herramientas tecnológicas de las que se dispone, considero que el lugar óptimo donde debería estar situado es lo más cercano a la interface que lo expondrá, es decir, si se trata de una aplicación web, implementada por ejemplo con Angular o React, bien pudiera usarse una instancia ligera de almacenamiento de datos, tal como Elasticsearch, o bien, si la aplicación es estilo MVC, podrías hacer uso del caché del servidor web. De igual forma, si tus opciones son limitadas, Weblogic y OSB proveen la capacidad de almacenar en Caché los resultados de invocaciones previas a los servicios. En este artículo encontrarás un poco del funcionamiento interno de este mecanismo, así como también, cómo habilitarlo para tus servicios.

Existe una forma de implementar el almacenamiento en caché off-heap. Internamente, la función de caché de resultados utiliza Oracle Coherence como estrategia de implementación. Oracle Coherence es un producto sofisticado de In-Memory Data Grid incluido en la licencia de OSB. Proporciona diversas implementaciones de memoria de caché incorporadas que se pueden utilizar para almacenar los datos. Una de estas implementaciones se llama Elastic Data y se utiliza para almacenar datos de manera transparente a través de la memoria dinámica de acceso aleatorio (DRAM) y los dispositivos basados ​​en disco. Está especialmente afinado para tomar ventaja de los dispositivos basados ​​en disco de alta velocidad tales como discos de estado sólido (SSD), y permite velocidades cercanas a las de memoria, mientras realiza almacenamiento y lectura de datos de SSD, todo esto sin necesidad de incrementar el número de Managed Servers en el dominio SOA.

Sigue leyendo el artículo completo en Oracle Technology Network

Hasta pronto!

Comentarios

Publicar un comentario

Entradas más populares de este blog

OWSM and WS-Security: Username Token Authentication for SOAP and REST Services in OSB 12c.

¿Qué es un Enterprise Service Bus y por qué usarlo?