Java UNO Wrapper

Effiziente Java-Entwicklung für für LibreOffice & OpenOffice durch UNO Wrapper Klassen

Motivation

Die in LibreOffice & OpenOffice integrierte UNO-API erlaubt es, das Office-Paket durch Eigenentwicklungen zu erweitern und zu steuern. Um die freie Wahl der Programmiersprache zu ermöglichen, verfolgt die UNO-API von LibreOffice & OpenOffice einen sehr generischen Ansatz. Die speziellen Vorteile der Java-Entwicklung (einheitliche Nomenklatur, Methodentransparenz, Typsicherheit, Compile time safety u.a.) können daher nicht vollständig ausgenutzt werden.

Das von .riess applications entwickelte Programmierwerkzeug bringt den gewohnten Komfort durch eine Java UNO Wrapper Schicht zurück. Die generischen Elemente werden in konkrete Elemente (Wrapper Klassen) verpackt. Diese werden von dem eingebauten Generator automatisch beim Zugriff auf die UNO API erzeugt. Das mitgelieferte Handbuch beschreibt die Integration in Ihre Entwicklungsumgebung und macht Sie in einem Schritt für Schritt Beispiel mit der Java UNO Wrapper Technologie vertraut. Die Bereitstellung von mehr als 150 vorgenerierten Wrapperklassen für die wichtigsten Elemente beschleunigt die Entwicklung eigener Anwendungen nochmals erheblich.

Hinweis

Der JUW wird in eigenen Projekten in Absprache mit Kunden eingesetzt, eine Weitergabe erfolgt nur auf Anfrage.

Der JUW ist ab den Versionen OOo 3.2 und LibO abgekündigt, bis auf weiteres und bis zu einer Versionsstabilität von OOo und LibO findet keine Weiterentwicklung oder Support statt.

Architektur

Vorteile

Der Java UNO Wrapper bietet gegenüber einer nativen UNO-Nutzung folgende Vorteile:

  • vollständige Command-Completion in Java-IDEs (z.B. Eclipse)
  • Typsicherheit bei Property-Zugriffen und keine queryInterface-Aufrufe mehr
  • Möglichkeit der Erzeugung von JavaDoc aus den Wrapper-Klassen
  • Instanziieren von Services mittels dedizierter Factory-Methoden (damit Korrektheit zur Übersetzungszeit)
  • Weiterverwendung der Wrapper-Objekte als Parameter

Erfahrungen

In den bisherigen Einsätzen wurden folgende Erfahrungen gemacht:

  • über 50% weniger Code
  • bis zu 10-mal kürzere Entwicklungszeiten
  • Reduzierung der Laufzeitfehler um 90%
  • Einfacherer Start durch Auslieferung der 100 wichtigsten Wrapperklassen