Thursday, June 17, 2010

Is Microsoft abandoning XML/A?

Microsoft are deprecating Native XML Web Services in SQL Server 2008, and if I understand the productmanagerese correctly, that means that they are abandoning XML for Analysis (XML/A) as an interface to Microsoft Analysis Services.

(I may be mistaken. Can someone who is closer to Microsoft's roadmap clarify how OLAP applications on non-Windows systems are supposed to access Microsoft Analysis Services?)

UPDATE, 2010/6/18 09:50 PDT: It turns out that I am mistaken, and I received several comments pointing this out. The real story is that Microsoft is deprecating native XML access to SQL Server (the relational database, not the OLAP server). I have left the rest of the blog post as I originally wrote it, but please read it in the light of the new evidence.

But if true, that would be a worrying development for those of us who want to build interoperable OLAP applications. (In particular, those with clients on non-Windows platforms such as Linux.)

It's funny; Microsoft was the leading company pushing web services back in 2000. Everyone thought that it was too verbose a protocol for passing large data sets around, but Microsoft had a big problem to solve — its aging DCOM infrastructure — and pushed it through.

I was at a meeting in Redmond (in 1999, if memory serves) when Microsoft launched XMLA. The SQL Server OLAP Services team demoed the interoperability by showing a Java program running on Solaris (or possibly Linux... my memory is fading...) connecting to a Microsoft OLAP Services server. They joked that they could have been fired for having a non-Windows machine in the building. But nevertheless they made their point: XMLA was interoperable, and that was unprecedented among OLAP applications at the time.

Soon afterwards Microsoft started using compressed XML for its XMLA calls and responses, thereby reducing the problem. Unfortunately their compression technology was proprietary, so the rest of us had to carry on using uncompressed SOAP calls. It gave Microsoft's drivers an unfair advantage over other drivers attempting to talk to Analysis Services.

It's ironic that Microsoft should abandon a standard that they created, and which has been astoundingly successful. I suspect that they have gotten tired of maintaining it when their own drivers use more efficient, proprietary wire protocols.

If Microsoft is deprecating XMLA, I doubt that it will disappear for some years to come, but it is bound to be a concern for people building applications now that they intend to be running for several years.

Of course, one thing people can do to insulate themselves from the future is to build their OLAP applications in Java using olap4j. Whatever net protocol Microsoft adopts to replace XMLA, we will keep the olap4j driver for Analysis Services working, so you shouldn't need to change your application.

Likewise, if you are building your application in JavaScript, consider using Roland Bouman's excellent xmla4js library.


chris said...

Hi Julian,

You're mistaken. This isn't XMLA, this is a SQL Server relational database feature and nothing to do with Analysis Services. XMLA is still going strong...


rpbouman said...

Thanks for mentioning xma4js!

yeah it would be a real pity if XML/A would be deprecated. Like you say though, I expect XML/A support won't be dropped overnight by OLAP vendors though.

If they do, I'm hoping for a new standard based on REST/JSON

rpbouman said...

I just read the page behind the MS link you posted.

Frankly I don't think this is about XML/A, only about the SOAP-support built-in the SQL Server database engine (which probably wasn't a good place for it anyway)

Amyn said...

I just got back from the Microsoft BI conference and did not hear anything about abandoning XMLA there. In fact, the world of XMLA is growing stronger. At Simba, we now have extended our MDX Provider for Oracle OLAP to support XMLA as well as ODBO. We have not yet released the Oracle XMLA Provider but we have been doing a lot of testing and it works with Microsoft Reporting Services as well as our Simba O2X driver which also allows connectivity from Excel to Mondrian.

Julian Hyde said...

Thanks chris, Roland and Amyn for your comments. I was mistaken, and I have added a paragraph to the blog post explaining the real facts.

As you can tell, open APIs are a matter of some importance to us in the open source community, and we tend to get passionate if we think we are losing them. The lack of an official XMLA specification in recent years, combined with Microsoft's use of a closed technology for compressing XMLA requests, has served to heighten our paranoia.

Like everyone who has expressed an opinion on this thread, I hope that XMLA will be with us for years to come.


Mosha said...

I agree with Chris and Amyn's assessment. The article you cited has nothing to do with XMLA.

P.S. It was Linux, not Solaris in that 10 years old demo. Setting up Linux was easy part, making Java work was a drag :)

Julian Hyde said...

Thanks for the clarification, Mosha. Glad they didn't fire you ten years ago for that minor transgression. :)