ODBO, XMLA y OLEDB for OLAP 9.0

La verdad es que pocos días me siento tan excitado como hoy. Hay veces que la información que se lee en Internet puede ser contraproducente, y me temo que he sido víctima de una de estas confusiones… ¿y dónde está la confusión? Bien… creo que será mejor que comience la historia desde el principio.
Llevaba días tratando de conectar mi base de datos Mondrian a los Office Web Controls sin éxito. ¿Por qué? Tratando de investigarlo, lei que los Office Web Control son clientes ODBO (OLE DB for OLAP) y que este es un protocolo binario y propietario de Microsoft, específicamente concebido para conectarse a Analysis Services. Bueno, esta es una verdad a medias… porque hay proveedores ODBO para otras bases de datos (por ejemplo SAP), pero esa es otra historia. Para conectar un cliente ODBO a una base de datos XMLA, es al parecer necesario un puente: el Simba O2X (http://www.simba.com/odbo-to-xmla.htm). Además, en la propia página de Simba, leí que Simba O2X no funciona con Mondrian, y que para Mondrian se está desarrollando un proyecto específico bajo el nombre de “Pentaho Spreadsheet Services” (todavía no está disponible). Vaya por Dios… Leoncio, nunca lo conseguiremos. Ya teníemos servido el clásico problema de la interoperatividad (parece mentira que pasen los años que pasen, la informática siempre se acabe enfrentando a los mismos problemas y tropezando con las mismas piedras, ¿verdad?). ¿Así que tendría que esperar a Pentaho Spreadsheet Services? Soy un ser de naturaleza impaciente… y necesitaba otra respuesta. ¿Cómo es posible que los Office Web Controls y Analysis Services no hablen el mismo idioma?
Al más puro estilo de Hollywood, me puse a espiar las conversaciones entre los Office Web Controls y Analysis Services… ¡y no podía ser! ¡Se veía XML! Bueno, todo hay que decirlo… antes de espiar este diálogo, configuré mi Analysis Services 2005 para permitir el acceso a través de HTTP, así que SQL Server y los OWC estaban hablando por HTTP, y yo estaba ahí, agazapado, escuchándolos. Entonces fue cuando vi el XML. Por cierto, para hacer accesible SQL Server Analysis Services a través de HTTP, sólo tienes que seguir estos pasos:
http://www.microsoft.com/technet/prodtechnol/sql/2005/httpssas.mspx
¿Qué significaba ese XML que NO debía estar ahi? ¿Acaso el ODBO se encapsula en XML cuando se transporta a través de HTTP?
Os voy a desvelar las respuestas….


  • El cliente OLE DB for OLAP de Analysis Services 8.0 usa un protocolo binario. Si la conexión a Analysis Services se realiza a través de HTTP, a la URL que se le proporcione al cliente OLE DB, se le añade la página “msolap.asp” y a ésta página, se postean los mensajes en un formato binario. El user Agent con el que se identifica el cliente es “Light DCube”.



  • El cliente OLE DB for OLAP de Analysis Services 9.0 es nativo XMLA al menos cuando habla con Analysis Services 9.0. Eso significa que en teoría, los Office Web Controls conectándose a través del cliente OLE DB 9.0, deberían poder hablar directamente con cualquier base de datos XML/A (por ejemplo Mondrian)

En la práctica no he conseguido comunicar Mondrian con los Office Web Controls, probablemente porque el soporte XMLA de Mondrian 2.1.1 no es tan completo como el de Analysis Services, pero el simple hecho de descubrir que el proveedo OLE DB for OLAP de Analysis Services 9.0 habla XMLA, me ha alegrado el día. Lo cierto del caso es que en ningún sitio pone que el cliente OLE DB sea XMLA… siempre se da como referencia de cliente XMLA el ADOMD.NET, de hecho en muchos sitios hablan de ADOMD como cliente XMLA y OLE DB como cliente ODBO. Pues bien, ¡ahora ya sabéis que también las aplicaciones que utilizan clientes OLE DB pueden comunicarse a través de XMLA! Si alguien de Microsoft me lee y estoy equivocado, por favor que desmienta esta barbaridad… bueno, o que la confirme. Los que sepáis de qué hablo, os alegraréis porque es una gran noticia. Los que todavía os estéis preguntando por qué me siento tan feliz hoy, tendréis que esperar a mi próximo post, que os adelanto que se titulará “XML/A es tu amigo”.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *