Mondrian (informática)
Da Wikipédia, a enciclopédia livre
Da Wikipédia, a enciclopédia livre
Mondrian é uma linguagem de programação de scripting desenvolvida pela Universidade de Utrecht para uso em aplicações na Internet. É considerada uma mistura de Haskell e Java.[1]
É possível escrever para a plataforma .NET utilizando a linguagem Mondrian.[2]
É uma máquina para suportar consultas OLAP(On-Line Analytical Processing) escrita em Java. Executa consultas que lhe são submetidas na linguagem MDX (multi-dimensional expressions ou expressões multidimensionais) lendo dados de um sistema de gerenciamento de banco relacional e apresentando o resultado no formato XMLA.
Utiliza JDBC para conexões com os SGBD (Sistemas de Gerenciamento de Banco de Dados). Ele precisa ser disponibilizado em um servidor de aplicações J2EE.
Inclui um serviço Web que recebe consultas dimensionais em MDX e retorna os resultados no formato XMLA. Este formato de saída é processado por seus clientes OLAP, clientes que são responsáveis pela interface OLAP com os usuários, na forma de páginas Web.
Os esquemas em Mondrian são representados através de arquivos XML. É possível editar o arquivo XML com qualquer editor de texto, ou utilizar um plug-in do eclipse que facilita a criação de esquemas.
O Mondrian executa as consultas e as retorna sem uma saída definida. Para visualizar as consultas é necessário utilizar junto com o Mondrian um outro software de código aberto, o JPivot39, que é uma biblioteca de tags em JSP40. Através do JPivot é possível escrever scripts na forma de JSP, utilizando comandos específicos e gerando saídas gráficas para as consultas OLAP.
Os scripts JSP possui as consultas na linguagem MDX alem de tags relativas a sintaxe JSP. Estes scripts são executados através de um browser, que submete o script a um servidor Web, e esse servidor por sua vez submeterá a consulta ao Mondrian, que realizará a consulta, utilizando o banco de dados relacional. A consulta retornada será processada pelo Mondrian através das camadas dimensional e estrela, e o resultado enviado a camada de apresentação, representada pelo JPivot, que transforma o resultado que uma página Web.
A combinação Mondrian/Jpivot se mostrou uma alternativa bastante interessante, pois torna possível a visualização de gráficos e tabelas, facilitando assim, o uso da ferramenta por usuários finais.
É uma linguagem funcional.
Funcionalidade - Servidor; Linguagem de desenvolvimento - Java; Linguagem de Consulta MDX; Linguagem de Retorno dos resultados - XMLA; SGBD suportado - JDBC (todos); Servidores OLAP Suportados - Não se Aplica; Clientes OLAP - Openl, Jpivot; Sistema Operacional - Independente (JVM); Rolap, Molap, Holap - Rolap; Licença - CPL (Common Public License - v 1.0).
Alto desempenho, análise interativa de volumes grandes ou pequenos de informação.
Esse software auxilia a construção de figuras quadráticas na tela bastando para isso escolher ações de um menu, através do "mouse". Essas ações são armazenadas e transformadas em um procedimento. Esse procedimento pode ser convertido em um item do menu e usado na construção de outras figuras.
Em relação a arquitetura, o servidor OLAP Mondrian possui quatro camadas: Apresentação, Dimensional, Estrela e Armazenamento.
A camada de apresentação determina o que o usuário final vê em seu monitor, e como ele pode interagir para fazer novas consultas. Há muitas maneiras de apresentar conjuntos de dados multidimensionais, incluindo Pivot Tables (um recurso que permite a uma tabela fazer um agrupamento dinâmico), gráficos estáticos em diversos formatos (pizza, linha, barra, etc.) e ferramentas avançadas de visualização, tais como mapas interativos e gráficos dinâmicos. Estas ferramentas podem ser escritas em interface Java Swing (Usado para criação de aplicativos gráficos em Java) ou JSP (Java Server Pages). Os gráficos podem ser montados em formatos como JPEG ou GIF.
A camada dimensional analisa gramaticalmente, valida e executa consultas MDX. Um transformador de consultas (query transformer) permite que a aplicação manipule as consultas existentes, ao invés de construir uma nova instrução MDX para cada solicitação.
A camada estrela é responsável por apresentar valores relacionados a determinados níveis de informação. Estes valores podem ser resultados de uma consulta ao banco de dados, ou ser o resultado de muitas consultas armazenadas em memória. É responsabilidade desta camada obter os valores, seja qual for a sua origem.
A camada do armazenamento é um sistema de gerenciamento de banco de dados relacional. Ela é responsável por fornecer os dados referenciados nas consultas.
Todos estes componentes podem existir em uma mesma máquina, ou podem ser distribuídos entre várias máquinas, sendo que as camadas dimensional e estrela, que compreendem o servidor Mondrian, devem estar na mesma máquina. A camada de armazenamento pode estar em uma outra máquina, acessada através de conexão remota, com o uso de drivers JDBC (Conjunto de classes e interfaces para interação com qualquer banco de dados relacional).
Como mencionado anteriormente, o Mondrian é um servidor OLAP de código aberto, considerado um dos principais componentes da plataforma Pentaho de Business Intelligence. Usualmente, ele funciona como um conector entre um front-end OLAP, baseado em Java, e um banco de dados relacional – ele funciona como um conector JDBC para OLAP, gerando queries SQL para o banco de dados e processando os dados resultantes.
Para instalar o servidor Mondrian com as suas configurações padrão e os seus acessórios, deve-se seguir os seguintes passos:
Java (que pode ser o Apache Tomcat, por exemplo). O aplicativo mesmo está compilado e empacotado dentro do arquivo mondrian.jar.
Um programa "Hello world" em linguagem Mondrian:
package demo.hello; import mondrian.lang.*; main = putStr "Hello world";
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.