<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>
OpenXML is an ISO Standard.
It offers the key benefit of not needing the Office applications to work and generate Office document. Before, the main problem with the Office Applications Object Model was that as soon as a dialog was poped-up, the application was stuck. Moreover, someone was needed to restart the server every X hours. In other words, it was not stable, and was not designed for a server scenario. An important point regarding the security is that if a .docx file contains macros, it will not be opened by Word. Now, with OpenXML, it is a lot faster, it works on a client and on a server as well, and there is no need for Office. Eric White showed that generating a Word document with the old technique was taking 1 second per document, while generating hundred documents with OpenXML took just few seconds.
OpenXML is LINQ friendly, allowing the objects to be queriable by LINQ, but OpenXML is not a replacement for the Office Applications Object Model. Today, there is no layout or calculation support and no file conversion.
The SDK is based on the .NET 3.5 and uses the System.IO.Packaging. Moreover, it comes with different tools :
1.- OpenXMLDiff, to compare two XML documents
2.- Class Explorer to find relations between XML markups and classes
3.- Document Reflector that generates OpenXML code based on an existing document.
In his last demo, Eric shows us how to generate a Word document and directly saving it in the SharePoint document library.