Schweizer IT Professional und TechNet Blog

Schweizer IT Professional und TechNet Blog

Erstellen von Office Dokumenten in einem Linux/Java Server Umfeld, dank OpenXML

Erstellen von Office Dokumenten in einem Linux/Java Server Umfeld, dank OpenXML

  • Comments 1
  • Likes

Normalerweise zeigen wir Ihnen auf, wie toll die Microsoft Plattform end-to-end integriert ist, um z.B. aufzuzeigen wie einfach und elegant man mit Office Dokumenten und Sharepoint arbeiten kann (mit Workflow Unterstützung und Integration von Backend-Daten via BDC, etc., etc.).

Obwohl dies natürlich eine super schöne Sache ist, stellen wir Ihnen heute dieses Proof-of-Concept Beispiel vor, welches dank dem neuen Office Dokument Format OpenXML Microsoft Office Dokumente interoberabel oder vollständig kompatibel mit einem Server Umfeld macht, welches KEINE EINZIGE Microsoft Komponente beinhaltet (in unserem Demo Umfeld ist dies ein Linux Server (Redhat Linux) mit Apache Webserver, Tomcat JSP und einer MySQL Datenbank) -- siehe auch die folgende Graphik:

clip_image001

Die Idee ist, dass man via einer JSP-Webapplikation Daten-Bausteine aus einer MySQL Datenbank für Dokumente lädt (1; Generate Document), das Dokument dann auf den Desktop runterladen kann (2; Download) und mittels Microsoft Office Word 2007 bearbeitet. Nach den Aenderungen und Ergänzungen des Dokumentes (3; Edit Document) wird es mittels einem Web-Upload Funktion auf den Server geladen (4; Upload). Wenn alles in Ordnung ist, dann kann das Dokument "publiziert" werden (5; Publish to Web) was das Dokument als HTML output zur Verfügung stellt und somit durch irgendeinen Browser wieder dargestellt werden kann (6; view in Browser).

 

1. Generate Document:

Laden der Dokument Bausteine aus MySQL und Darstellen dieser Informationen in einem Web Formular (Daten können hier bereits angepasst/verändert werden).
image
2. Download Document:

Durch klicken von "Generate Document" werden in diesem Beispiel die Bausteine in XML-Files geschrieben gemäss OpenXML und diese XML Files werden mittels ZIP zusammengeführt und dann umbenannt in Filename.docx (das "x" steht ja für xml, also ein Doc in XML Format) - diese Lösung verwendet NICHT das Office Objekt Modell.
image
3. Edit Document:

Jetzt wird das Dokument innerhalb von Office Word 2007 editiert. Dieses Dokument beinhaltet Bilder, ein Wasserzeichen und auch das Change Revision Tracking ist eingeschaltet (dies ist ein "Flag" innerhalb eines der XML Files)
image
4. Upload Document:

Zurück in der Webapplikation wird das Dokument mittels "Upload Document" wieder zurück auf den Server geladen. Wir sehen hier sehr schön, dass auch innerhalb der Linux Server Umgebung die Microsoft Office Word spezifischen Properties ersichtlich sind -- dank OpenXML sind diese nicht mehr Bestandteil des binären Formates .doc, sondern "öffentlich" erkennbar in den XML-Dateien des docx ZIP files.
image
5. Document auf dem Server

So präsentiert sich das OpenXML Dokument nun auf dem Server -- das Change Revision Tracking erscheint auch hier sehr schön
image
   
Beispiel Dokument:

Durch einfaches Umbenennen des .docx Filenamens zu .zip kann das File mittels ZIP geöffnet werden und die verschiedenen XML-Files sind jetzt ersichtlich.
image

 

Dieses Beispiel hat Ihnen hoffentlich aufgezeigt, dass es sehr wohl möglich ist Microsoft Office Dokumente in einem totalen "Nicht-Microsoft-Server-Umfeld" einzusetzen. Natürlich benötigt diese Lösung einigen Programmieraufwand und deshalb muss jeder Kunde selber entscheiden, was schlussendlich die Beste und kostengünstigste Lösung mit dem besten Benefit ist. Vorbei ist aber dank OpenXML die Problematik, dass Microsoft Office Dokumenten, wegen der binären Filestruktur ausserhalb der Office Applikationen schwierig zu manipulieren sind.

Mehr Informationen über OpenXML finden Sie übrigens:

Users Get to Decide their Document Formats
Introducing the Microsoft Office 2007 Document Format
2007 Office System Sample: Manipulating Office Open XML Formats Files

Comments
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment