A notícia já tem alguns dias, mas a Oracle anunciou a aquisição da Tangosol, empresa especialista em soluções data grid, nomeadamente com o seu produto Coherence que permite transacções distribuídas de alta performance. Antes de mais, aproveito para dar a conhecer um pouco este produto que já investiguei um pouco, mas que não tive oportunidade de utilizar em projectos reais em Portugal, um pouco devido à dimensão.
O Tangosol Coherence é uma solução de gestão de dados in-memory em ambientes distribuídos, integra graciosamente com a maioria dos servidores aplicacionais (p.e. OracleAS, JBoss, Weblogic e Websphere) e é independente da datasource (pode ser uma base de dados, um webservice ou um qualquer sistema legacy). Permite-nos gerir de forma transparente o acesso e gestão de dados sobre conjuntos de máquinas, garantindo alta performance – tal como clientes real-time – e integridade de dados, sem grande esforço do utilizador.
O principal ponto do produto é o mecanismo de caching distribuído. Suporta caching Read-Through, Write-Through, Refresh-Ahead e Write-Behind, sendo que as duas últimas podem ter grandes impactos de performance. Pode-se ler uma explicação destas políticas de caching aqui. Temos também sub-produtos, nomeadamento o Coherence Web, que permite fazer caching de sessões HTTP de fo
rma fácil e incrivelmente eficiente e performante.
O ponto seguinte do produto é a sua implementação de transacções distribuídas. Chama-se Extreme Transaction Processing e em conjunto com a cache write-behing, faz transacções in-memory, sendo assim mais rápido e obtendo uma menor latência.
Existem 3 edições do Coherence: Caching, Application e Data grid. O primeiro foca-se em mecanismos de cache, o segundo engloba as potencialidades do primeiro e ainda controle trasaccional e o último engloba todas as funcionalidades das outras versões, adicionando capacidades de computação, interacção realtime, sistema orientado a eventos e outras propriedades mais avançadas.
Em suma, é o produto líder nesta área, especificamente em ambientes J2EE e é aclamado como um dos poucos produtos java realmente pensados e tecnicamente a roçar a perfeição.
Coloca-se a questão de como se integrará isto tudo como os produtos middleware da oracle, nomeadamente com o Oracle TimesTen – uma base de dados in-memory adquirida pela Oracle há uns tempos atrás, altamente performante, para ser utilizada como caching local para aplicações – e com o Oracle TopLink – o Coherence integra bem com Hibernate, Toplink e pojo's mas prevê-se maior integração com o Toplink. No site da oracle dão algumas ideias sobre esta integração nos pdf's de ajuda, mas nada de muito concreto.
Fica então a esperança de poder vir a utilizar este produto cá na nossa terra, mesmo em sistemas tempo-real e de elevada garantia transaccional como sistemas bancários, de companhias aéreas,
etc.