blob: d89c6d7b3e3806d11128599c96dd587a6d444ca4 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>
<title>API-FAQ</title>
<!-- Start de-header -->
<link rel="stylesheet" href="../../../styles/de.css" media="screen" type="text/css" />
<link rel="stylesheet" href="../../../styles/de_print.css" media="print" type="text/css" />
<link rel="alternate stylesheet" title="mit Navbar" href="../../../styles/de_navbar.css" media="screen" type="text/css" />
<link rel="alternate stylesheet" title="mit Navbar4" href="../../../styles/de_navbar4.css" media="screen" type="text/css" />
<link rel="alternate stylesheet" title="mit Navbar5" href="../../../styles/de_navbar5.css" media="screen" type="text/css" />
<link rel="alternate stylesheet" title="ohne Navbar" media="screen" href="../../../styles/de_nonavbar.css" type="text/css" />
<meta http-equiv="Content-style-Type" content="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
/*<![CDATA[*/
<!--
@import url("../../../styles/de_navbar6.css");
-->
/*]]>*/
</style>
<!-- >
Kommentare zur Seite
$Id:
< -->
<!-- End de-header -->
</head>
<body>
<!-- Start Navbar -->
<ul id="navbar_de">
<li><div align="center">de-links</div></li>
<li> <a href="../../../index.html"> Hauptseite </a></li>
<li> <a href="../../../map_all.html"> Sitemap </a></li>
<li> <a href="../../../neuhier.html" title="Informationen zu OpenOffice.org, dem Softwareprodukt"> Produkt-Info </a></li>
<li> <a href="../../../kontakt.html" title="Informationen zu OpenOffice.org, der Community"> Projekt-Info </a></li>
<li> <a href="../../../downloads/quick.html" title="Software und mehr"> Download </a></li>
<li> <a href="../../index.html" title="Installationsbeschreibungen und mehr Schriftliches"> Dokumentationen </a></li>
<li>FAQ
<ul>
<li> <a href="../index.html" title="Übersicht"> FAQs </a></li>
<li> <a href="../general/index.html"> Generelle FAQ </a></li>
<li> <a href="../mainfaq/index.html"> Projekt-FAQ </a></li>
<li> <a href="../writer/index.html"> Writer-FAQ </a></li>
<li> <a href="../calc/index.html"> Calc-FAQ </a></li>
<li> <a href="../mitarbeiter/index.html"> Mitarbeiter-FAQ </a></li>
<li> <a href="../../../presse/about-presse-faq.html"> Presse-FAQ </a></li>
<li> <a href="../../howto/index.html" title="Die Begleiter für die ersten Stunden mit Literatur - Schulungsunterlagen"> Erste Schritte </a></li>
</ul>
</li>
<li> <a href="../../../probleme.html" title="Wo Hilfe nahe ist"> Support </a></li>
<li> <a href="../../howto/index.html" title="Knappe Anleitungen für die erste Benutzung"> Erste Schritte </a></li>
<li> <a href="../../../marketing/marketing.html" title="Materialien und mehr"> Marketing </a></li>
<li> <a href="../../../presse/about-presskit.html" title="Pressemitteilungen, Interviews und andere Informationen"> Presse </a></li>
<li> <a href="../../../dev/index.html" title="Informationen für Mitglieder im de.OpenOffice.org Projekt"> Mithelfen </a></li>
</ul>
<!-- End Navbar -->
<div id="body_de">
<h2>FAQ über die OpenOffice.org-API</h2>
<p>
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td>Diese <acronym xml:lang="en" lang="en" title="Frequently Asked Questions">FAQs</acronym> werden zur Zeit überarbeitet. Den aktuellen Stand können Sie im <a href="http://wiki.services.openoffice.org/wiki/DE/FAQ">Projekt-Wiki</a> einsehen.
<br />Sollten Sie hier nicht fündig geworden sein, so suchen Sie bitte im <a href="http://de.openoffice.org/doc/">Dokumentationsportal</a> und/oder im <a href="http://www.ooowiki.de/">OOo-Wiki</a> nach einer Lösung.
</td>
</tr>
</table>
<p>
<ul>
<li><a href="#languages">Welche Programmiersprachen unterst&uuml;tzt die
OpenOffice-API?</a></li>
<li><a href="#corba-idl">Was ist der Unterschied zwischen UNO IDL und
CORBA?</a></li>
<li><a href="#api-spec-size">Welchen Umfang hat die API Spezifikation?</a></li>
<li><a href="#documentation">Wie ist die API dokumentiert?</a></li>
<li><a href="#api-impl-size">Welchen Umfang hat die API
Implementation?</a></li>
<li><a href="#java-examples">Gibt es Dokumentationen oder Beispiele f&uuml;r
Java Programmierer?</a></li>
<li><a href="#not-implemented">Warum gibt es in der OpenOffice-API einige
Schnittstellen, die in keiner der OpenOffice-Komponenten auftauchen?</a></li>
<li><a href="#use-interfaces">Wie finde ich heraus, ob ich eine bestimmte
Schnittstelle der OpenOffice-API benutzen kann?</a></li>
<li><a href="#compound-docs">Existieren Schnittstellen, um kombinierte
Dokumente wie etwa Microsofts OLE zu bauen?</a></li>
<li><a href="#conflict-solving">Wie geht ihr mit Konflikten in Bezug auf
Konstruktionsfragen um?</a></li>
<li><a href="#my-role">Welche Rolle spielst du, Michael H&ouml;nnig?</a></li>
</ul>
<p><a name="languages"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Welche Programmiersprachen unterst&uuml;tzt die
OpenOffice-API?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>OpenOffice stattet die API mit UNO (Universal Network Objects) aus. Im
Moment gibt es Sprachanbindungen an Java und C++. Du kannst auch deine eigene
Sprachanbindung realisieren, und ehrlich gesagt suchen wir noch dringend einen
Freiwilligen, der eine Anbindung an C realisiert.
<p>Zus&auml;tzlich erlaubt UNO die Kontrolle durch Skriptsprachen und
Skriptumgebungen (etwa Debugger). Aktuell kann StarBASIC (syntaxkompatibel mit
VBA) die API aufrufen. Au&szlig;erdem gibt es einen Prototypen f&uuml;r Python.</p>
</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="corba-idl"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Was ist der Unterschied zwischen UNO IDL und CORBA?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>UNO IDL basiert auf CORBA IDL, aber unterst&uuml;tzt zus&auml;tzlich
<ul>
<li><img src="small_blue.gif">&nbsp;&nbsp;die Erbschaft f&uuml;r Ausnahmen und
Strukturen,<br>
<br>
</li>
<li><img src="small_blue.gif">&nbsp;&nbsp;zugewiesene Werte f&uuml;r
Aufz&auml;hlungen,<br>
<br>
</li>
<li><img src="small_blue.gif">&nbsp;&nbsp;einen neuen stereotypen "service"<br>
(kombiniert Schnittstellen und Eigenschaften).</li>
</ul>
<br>
Und es unterst&uuml;tzt im Moment nicht:
<ul>
<li><img src="small_blue.gif">&nbsp;&nbsp;Reihen als definierte Typen<br>
<br>
</li>
<li><img src="small_blue.gif">&nbsp;&nbsp;Unionen</li>
</ul>
</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="api-spec-size"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Welchen Umfang hat die API Spezifikation?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Die API besteht aus etwa 2000 Dateien, wobei jede einen Typ spezifiziert.
Ein Typ kann in diesem Zusammenhang ein Service sein, eine Schnittstelle, eine
Struktur, eine Ausnahme, eine konstante Gruppe oder eine Aufz&auml;hlung.
Alles zusammen sind dies etwa 6 MB Daten.</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="documentation"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Wie ist die API dokumentiert?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>So etwas wie eine Dokumentation gibt es innerhalb der IDL Dateien. Die
Syntax der Dokumentation basiert auf JavaDoc und verf&uuml;gt &uuml;ber einige
Erweiterungen, um Identifizierer zu markieren. Wir sind gerade dabei, einen
neuen Generator f&uuml;r diese Syntax zu entwickeln, der HTML Dokumente direkt
aus den IDLs generiert.
<p>Zus&auml;tzlich gibt es ein "programmer's manual", das die grundlegenden
Konzepte erkl&auml;rt, einige UML Diagramme der Komponentenstruktur zeigt und
eine Menge dokumentierter Beispiele der API Benutzung beinhaltet. Dieses
Handbuch benutzt zur Zeit StarBASIC als Sprache f&uuml;r die Beispiele, aber wir
arbeiten auch an einer Java Version.</p>
</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="api-impl-size"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Welchen Umfang hat die API Implementation?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Es ist fast unm&ouml;glich, das zu sagen. Derzeit sind die meisten Teile
der API nur lose mit der Kern-API verbunden. Nur neuere Komponenten
unterst&uuml;tzen die API direkt. Deshalb macht es wenig Sinn, herauszufinden,
wieviel Code die API implementiert. Je nach Perspektive k&ouml;nnen wir
m&ouml;glicherweise sagen: Das ganze OpenOffice ist eine Umsetzung der API,
gerade deshalb, weil mehr und mehr Merkmale die API anderer Komponenten
nutzen.</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="java-examples"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Gibt es Dokumentationen oder Beispiele f&uuml;r Java
Programmierer?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Im <a href="http://udk.openoffice.org/">UDK Projekt</a> findest du
Dokumentationen &uuml;ber die Sprachanbindung an Java. Es gibt einige Java
Beispiele in der <a href="http://soldc.sun.com/staroffice">StarOffice SDK</a>,
die recht hilfreich sein kann.</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="not-implemented"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Warum gibt es in der OpenOffice-API einige Schnittstellen, die in
keiner der OpenOffice-Komponenten auftauchen?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Die OpenOffice-API ist eigentlich mehr eine Spezifikation denn eine API
einer existierenden Implementation. Es gibt einige Gr&uuml;nde daf&uuml;r,
warum es Schnittstellen ganz ohne Anbindung an die API gibt:
<ol>
<li>es k&ouml;nnte eine optionale Schnittstelle innerhalb aller Dienste sein,
die ihn nutzen k&ouml;nnen, aber keiner setzt sie auch wirklich um,</li>
<li>es k&ouml;nnte eine Schnittstelle sein, die ein Konzept orthogonal macht,
aber die Dimensionen, die es anspricht, werden im Moment nicht
ben&ouml;tigt.</li>
<li>es k&ouml;nnte Teil eines Entwurfes sein, der noch nicht umgesetzt
wurde,</li>
<li>sein Fehlen k&ouml;nnte auch einfach nur ein Bug sein.</li>
</ol>
</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="use-interfaces"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Wie finde ich heraus, ob ich eine bestimmte Schnittstelle der
OpenOffice-API benutzen kann?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Such nach einem Dienst, der diese Schnittstelle ausf&uuml;hrt, dann such
nach einer Komponente, die diesen Dienst unterst&uuml;tzt. Denk auch an
optionale Schnittstellen (werden in der Ausf&uuml;hrungs-Dokumentation des
Dienstes erw&auml;hnt). Falls der Teil, den du nutzt, die Schnittstelle immer
noch nicht unterst&uuml;tzt, handelt es sich um einen Fehler. Falls Letzteres
zutrifft, berichte dem Entwickler dieser Komponente von dem Fehler. Falls es
sich um einen Spezifizierungsfehler handelt, leitet er den Fehler an den
Urheber der Spezifikation weiter.</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="compound-docs"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Existieren Schnittstellen, um kombinierte Dokumente wie etwa
Microsofts OLE zu bauen?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Innerhalb der StarOffice API existieren im Moment keine Schnittstellen zur
Schaffung von verkn&uuml;pften Dokumenten. Wir &uuml;berlegen, das Bonobo
Modell f&uuml;r diesen Zweck zu nutzen.</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="conflict-solving"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Wie geht ihr mit Konflikten in Bezug auf Konstruktionsfragen
um?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Um es ganz klar zu sagen: Die API ist als eine Spezifikation gedacht, die
ihr Hauptaugenmerk auf eine orthogonale Struktur sowie Wiederverwendbarkeit
setzt. Andererseits haben wir versucht, Java so &auml;hnlich zu sein wie
m&ouml;glich. Nutzwert von beiden Seiten, sowohl im Bereich der Umsetzung als
auch der direkten Benutzung, ist ein weiterer wichtiger Punkt. Und hier
m&uuml;ssen wir oft Kompromisse eingehen - manchmal einfach deshalb, weil es
schon eine existierende Umsetzung gibt.
<p>Falls es zu Konflikten kommt, setzen wir auf Konsens. Wir h&ouml;ren uns in
Ruhe alle Argumente an und suchen nach neuen Argumenten anstatt hastig
Entscheidungen zu treffen. Wir versuchen L&ouml;sungen zu finden, mit denen
jeder gut leben kann.</p>
</td>
</tr>
</table>
<p><img src="../../pics/dotted_line.gif"><img src=
"../../pics/dotted_line.gif"></p>
<p><a name="my-role"></a><img src="../../pics/q.gif"> <font color=
"#003399"><b>Welche Rolle spielst du, Michael H&ouml;nnig?</b></font><br>
<br>
</p>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="TOP"><img src="../../pics/arrow.gif"></td>
<td>Ich war der Chefarchitekt der StarOffice API, die nun zur OpenOffice API
wird. Meine vorrangige Verantwortung lag darin, einen gemeinsamen Weg zu
finden, Richtlinien f&uuml;r die IDLs zu erstellen und darauf zu achten, dass
diese eingehalten wurden. Desweiteren sollte ich &uuml;bertragbare
Schnittstellen finden, eine einheitliche API-Infrastruktur erstellen und auf
die Dokumentation achten.
<p>Ich bin bereit, diese Aufgaben solange weiter zu f&uuml;hren, wie ich durch
die Community darin unterst&uuml;tzt werde.</p>
</td>
</tr>
</table>
</div>
</body>
</html>