Einführung in Adobe InDesign CS5 Server

Transcription

Einführung in Adobe InDesign CS5 Server
ADOBE® INDESIGN® CS5 SERVER
EINFÜHRUNG IN ADOBE
INDESIGN CS5 SERVER
© 2010 Adobe Systems Incorporated. All rights reserved.
Einführung in Adobe InDesign CS5 Server
Technischer Hinweis Nr. 10123
If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be
used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval
system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems
Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license
agreement.
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems
Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content
contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation
of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright
owner.
Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.
Adobe, the Adobe logo, InDesign, and Version Cue are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other
countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Mac OS is
a trademark of Apple Computer, Incorporated, registered in the United States and other countries. Java is a trademark or registered trademark of Sun Microsystems,
Incorporated in the United States and other countries. All other trademarks are the property of their respective owners.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are
“Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software
Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1
through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government
end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein.
Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S.
Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246,
as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, a
s amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding
sentence shall be incorporated by reference.
Inhalt
Terminologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Skripte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Windows-Dienst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
launchd-Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Leistung und Skalierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installieren von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Systemanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Ausführen des Installationsprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
CJK-Funktionssatz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Installieren des InDesign Server Windows-Dienstes (nur Windows) . . . . . . . . . . . . . . . . . 10
Installieren des InDesign Server-SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Ausführen von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
InDesign Server-Argumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Starten von InDesign Server von der Befehlszeile aus . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Starten von InDesign Server für die Verwendung mit SOAP . . . . . . . . . . . . . . . . . . . . . . 14
Starten von InDesign Server für die Verwendung mit CORBA . . . . . . . . . . . . . . . . . . . . . 14
Starten von einem anderen Programm oder Skript aus . . . . . . . . . . . . . . . . . . . . . . . . . 15
Ausführen mehrerer InDesign Server-Instanzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Beenden von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Konfigurieren des InDesign Server Windows-Dienstes . . . . . . . . . . . . . . . . . . . . . . . . . 16
Konfigurieren eines launchd-Daemons für InDesign Server unter Mac OS . . . . . . . . . . . . . 18
Integration von InDesign Server über SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts . . . . . . . . . . . 21
Integration von InDesign Server über Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Schreiben einer Java-Komponente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Ausführen einer InDesign Server-Java-Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Integration mit InDesign Server über ein Zusatzmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3
Inhalt
Integration mit InDesign Server über COM (nur Windows). . . . . . . . . . . . . . . . . . . . . . . . . . 27
Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Integration von InDesign Server über LBQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Handhabung von Fehlermeldungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Zugreifen auf Fehler und Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Umleiten von Fehlern und Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Nächste Schritte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
InDesign Server-Skripterstellung, Zusatzmodule und Java . . . . . . . . . . . . . . . . . . . . . . 30
JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
CORBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Häufig gestellte Fragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Kann ich sowohl einen SOAP-Anschluss als auch eine IOR-Datei festlegen,
wenn ich den Server starte? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Gibt es ein Verzeichnis aller Objekte und Methoden in der InDesign Server-Java-API? . . . . . 32
Gibt es ein Verzeichnis aller Klassen und Methoden in der Skript-DOM von
InDesign Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Wie rufe ich mein eigenes Zusatzmodul von der InDesign Server-Java-API aus auf? . . . . . . . 32
Kann ich mit InDesign Server kommunizieren, wenn ich es weder für SOAP noch für
CORBA starte? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Wie gebe ich einen Wert von meinem Skript an den SOAP-Client zurück? . . . . . . . . . . . . . 33
4
Einführung in Adobe InDesign CS5 Server
Einführung in Adobe InDesign CS5 Server
Terminologie
Einführung in Adobe InDesign CS5 Server
In diesem Dokument erhalten Sie einen Überblick über Adobe® InDesign® Server. Es wird
beschrieben, wie InDesign Server in einer einfachen Umgebung installiert und ausgeführt wird
und wie Sie über externe Komponenten mit InDesign kommunizieren können.
InDesign Server wird von Systemintegratoren und Lösungsentwicklern verwendet, um
serverbasierte Lösungen für Veröffentlichungen zu erstellen. Sie können sich InDesign Server
als eine InDesign-Version ohne Benutzeroberfläche vorstellen. Es ist auf der gleichen
Codebasis aufgebaut wie die Desktop-Version von InDesign, wurde aber an die
Serververwendung angepasst. Die Anpassung beinhaltet den Support mehrerer Instanzen,
Fehlererfassung und -protokollierung sowie Kommunikation über SOAP und CORBA.
Wie das Desktop-Gegenstück bietet InDesign Server eine funktionsreiche Entwicklungsumgebung.
Die Software unterstützt offene Standards, wie z. B. XML, und ist hochgradig skriptfähig und
erweiterbar. InDesign Server kann durch Verwendung der APIs in den SDKs der InDesignProdukte und InDesign Server erweitert werden. Diese APIs können verwendet werden, um C++Zusatzmodule, Java™-Komponenten, JavaScript-Skripten, AppleScript-Skripten und VBScriptSkripten zu erstellen.
Terminologie
In diesem Abschnitt finden Sie eine Definition der Begriffe, die in diesem Dokument
verwendet werden:
z
Ant – Another Neat Tool, ein auf Java basierendes Programmierungswerkzeug.
z
Client – Ein Modul, das Dienste von einem Server in einem verteilten Computersystem
anfordert.
z
CORBA – Common Object Request Broker Architecture, ein sprachunabhängiges, verteiltes
Objektmodell.
z
COM – Component Object Model, eine Technologie, die das Zusammenspiel von Anwendungen
und Komponenten fördert.
z
IDS – InDesign Server.
z
IOR-Datei – Interoperable Object Reference-Datei. Diese wird von CORBA und den Clients
verwendet, um ein Objekt im CORBA-Objektmodell zu identifizieren.
z
IPv6 – Internet Protocol Version 6, der Nachfolger von IPv4. IPv6 wird von InDesign CS4
Server und höher unterstützt.
z
Auftragswarteschlange – Ein Mechanismus, der abgeschickte Aufträge in Warteschlangen stellt,
sie asynchron ausführt und eine Möglichkeit bietet, den Auftragsstatus später zu prüfen.
z
Lastverteilung – Das Verteilen von Aufträgen auf mehrere Instanzen und Server je nach
Verfügbarkeit.
z
LBQ – Eine Add-On-Komponente, die bei InDesign CS5 Server neu eingeführt wurde und für
mehrere IDS-Instanzen Aufträge in Warteschlangen stellt und Lastverteilung durchführt.
Einführung in Adobe InDesign CS5 Server
5
Einführung in Adobe InDesign CS5 Server
Roadmap
z
ORB – Object Request Broker, ein Softwareelement, von dem das CORBA-Objektmodell
implementiert wird.
z
<SDK> – Der Pfad, unter dem Sie das InDesign Server-SDK installiert haben.
z
Server – Der Dienstleister in einem verteilten Computersystem.
z
Shell-Fenster – Ein Befehlszeilen-Fenster. Unter Windows® verwenden Sie die Eingabeaufforderung
(im Ordner „Zubehör“ des Startmenüs). Unter Mac OS® verwenden Sie das Dienstprogramm
„Terminal“ (in „/Programme/Dienstprogramme“).
z
SOAP – Simple Object Access Protocol, ein XML-basiertes Protokoll für den Austausch von
Meldungen zwischen Programmen und Plattformen. InDesign Server unterstützt
verschiedene Versionen von SOAP: die branchenüblichen SOAP-Versionen 1.1 und 1.2 (RPC
und doc/lit) und WSDL 1.1.
z
WSDL – Web Service Description Language, ein XML-basiertes Format zur Beschreibung,
wie auf einen Webdienst zugegriffen werden kann und welche Vorgänge dieser durchführt.
Roadmap
Die nachfolgenden Abschnitte beschreiben das Arbeiten mit und Erweitern von InDesign Server.
Dokumentation
Die SDKs von InDesign Server und InDesign-Produkten enthalten Dokumentation und
Beispielcode, die das Erweitern von InDesign Server erklären und veranschaulichen. Beide
SDKs können von adobe.com heruntergeladen werden. Die in diesem Dokument genannten
Dokumente sind in den SDKs zu finden.
Skripte
Wie InDesign bietet InDesign Server Skriptsupport für JavaScript, AppleScript und VBScript.
Schreiben eines Skripts
Wenn Sie lernen möchten, InDesign Server-Skripten zu schreiben, lesen Sie die folgenden
Dokumente:
6
z
Adobe InDesign CS5 Scripting Tutorial
z
Adobe InDesign CS5 Scripting Guide
z
Adobe InDesign CS5 Server Scripting Guide
z
Außerdem können Sie über das Hilfemenü in Adobe ExtendScript Toolkit CS5 auf den
InDesign CS5 Object Model Viewer zugreifen.
Einführung in Adobe InDesign CS5 Server
Roadmap
Ausführen eines Skripts
InDesign Server stellt eine einzige SOAP-Methode bereit, RunScript, über die ein Skript an
InDesign Server gesendet wird. Die Installation von InDesign Server umfasst einen einfachen
SOAP-Client, SampleClient, den Sie zur Ausführung von Skripten verwenden können. Siehe
„Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts“ auf Seite 21.
SampleClient wurde in C++ programmiert. Sein Quellcode und entsprechende Projektdateien
sind im Produkt-SDK von InDesign enthalten. Das InDesign Server-SDK umfasst andere
Client-Projekte, die in verschiedenen Sprachen programmiert sind, darunter Java, C#, PHP,
VB.NET und Flex.
Java
Schreiben einer Java-Komponente
InDesign Server bietet eine Java-API, die über CORBA mit InDesign Server kommuniziert.
Weitere Informationen finden Sie unter „Integration von InDesign Server über Java“ auf
Seite 24 und Working with Adobe InDesign CS5 Server Java.
C++
Schreiben eines C++-Zusatzmoduls
InDesign Server ist in C++ geschrieben und bietet Support für C++-Zusatzmodule, die mit der
InDesign C++-API entwickelt wurden. Weitere Informationen finden Sie unter „Integration
mit InDesign Server über ein Zusatzmodul“ auf Seite 26, Adobe InDesign CS5 Programming
Guide und Adobe InDesign CS5 Server Plug-in Techniques.
Aufrufen eines Zusatzmoduls von einem Skript oder von Java aus
Um ein Zusatzmodul von einem Skript oder von Java aus aufzurufen, muss das Zusatzmodul
skriptfähig sein. Weitere Informationen finden Sie im Kapitel „Scriptable Plug-in Fundamentals“
im Adobe InDesign CS5 Programming Guide.
Um ein Zusatzmodul von Java aus aufzurufen, müssen Sie außerdem die Java-API-JAR-Datei
(InDesignServerAPI.jar) und das CORBA-Zusatzmodul wie im Dokument Regenerating the
Adobe InDesign CS5 Server Java API beschrieben neu generieren.
COM
InDesign Server veröffentlicht eine COM-Typenbibliothek, mit der COM-Komponenten mit
Schnittstelle zu InDesign Server entwickelt werden können. COM-Komponenten können in
verschiedenen Programmiersprachen entwickelt werden. In diesem Dokument unter
„Integration mit InDesign Server über COM (nur Windows)“ auf Seite 27 wird kurz auf die
Verwendung von Visual Basic und C# eingegangen.
Einführung in Adobe InDesign CS5 Server
7
Einführung in Adobe InDesign CS5 Server
Installieren von InDesign Server
Windows-Dienst
Sie können InDesign Server über einen Windows-Dienst verwalten. Um den Dienst
verwenden zu können, müssen Sie zunächst InDesignServerService installieren (siehe
„Installieren des InDesign Server Windows-Dienstes (nur Windows)“ auf Seite 10). Sie können
dann InDesignServerService mit dem InDesign Server Microsoft Management Console-SnapIn konfigurieren.
launchd-Daemon
Unter Mac OS können Sie InDesign Server über einen launchd-Daemon verwalten.
Anweisungen zur Konfiguration eines Daemons finden Sie unter „Konfigurieren eines
launchd-Daemons für InDesign Server unter Mac OS“ auf Seite 18.
Leistung und Skalierbarkeit
Dokumentation zu Leistung und Skalierbarkeit von InDesign Server sowie entsprechende
Werkzeuge finden Sie im InDesign Server-SDK.
Installieren von InDesign Server
Bevor Sie InDesign Server installieren, überprüfen Sie Ihr System, um sicherzustellen, dass es
den relevanten Anforderungen entspricht. Führen Sie dann das Installationsprogramm aus, das
vom ESD (Electronic Software Download; Elektronisches Software-Downloadprogramm) zur
Verfügung gestellt wird. Nach der Installation können Sie InDesign Server von der Befehlszeile
ausführen (wie unter „Ausführen von InDesign Server“ auf Seite 11 beschrieben). Beachten
Sie, dass die Eingabe der Seriennummer für InDesign Server beim ersten Start über die
Befehlszeile durch Übergabe des Arguments „-serialnumber“ erfolgt.
Systemanforderungen
Eine detaillierte Auflistung der Systemanforderungen für InDesign Server finden Sie in der
Datei „Bitte lesen“ der Anwendung.
Wenn Sie den InDesign Server Windows-Dienst ausführen möchten, ist Microsoft .NET
Framework Version 2.0 oder höher erforderlich.
Wenn Sie in Java programmieren und auf die InDesign Server Java-API zugreifen, ist das JDK
(Java Development Kit) 1.6.0 oder höher erforderlich.
8
Einführung in Adobe InDesign CS5 Server
Installieren von InDesign Server
Ausführen des Installationsprogramms
Sobald Sie das InDesign Server-ESD heruntergeladen und extrahiert haben, können Sie das
Installationsprogramm ausführen, indem Sie auf das Symbol des Programms doppelklicken.
Folgen Sie den Anweisungen auf dem Bildschirm. Während der Installation können Sie festlegen,
wo Sie InDesign Server installieren möchten, oder den Standardspeicherort verwenden.
Unter einer 64-Bit-Edition von Windows wird standardmäßig die 64-Bit-Version von InDesign
Server installiert. Sie können aber auch die 32-Bit-Version von InDesign Server installieren.
Unter einem 32-Bit-Betriebssystem kann nur die 32-Bit-Version von InDesign Server
installiert werden.
CJK-Funktionssatz
InDesign Server führt den Textsatz auf der Grundlage des aktivierten Funktionssatzes durch:
Latein (Englisch) oder Japanisch (CJK). Unter Windows wird der aktivierte Funktionssatz über
die Registrierungseinstellungen festgelegt. Unter Mac OS gibt es für beide Funktionssätze
jeweils eine separate Anwendung.
Beim Installieren von InDesign Server auf einer englischen Version von Windows wird
standardmäßig der Funktionssatz „Latein“ verwendet. Beim Installieren von InDesign Server
beispielsweise auf einer chinesischen Version von Windows wird standardmäßig der
Funktionssatz „CJK“ verwendet. Wenn beim Installieren von InDesign Server auf einer
englischen Version von Windows Chinesisch als Installationssprache gewählt wird, wird
standardmäßig der Funktionssatz „CJK“ verwendet.
Sie können den Standard-Funktionssatz ändern, indem Sie regedit ausführen und die
folgenden Schlüssel ändern. (Passen Sie die Versionsnummer entsprechend an.)
32-Bit-Anwendung unter 32-Bit-Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\InDesign Server\<version>
64-Bit-Anwendung unter 64-Bit-Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\InDesign Server\<version>
32-Bit-Anwendung unter 64-Bit-Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\InDesign Server\<version>
Setzen Sie den Schlüssel für die Funktionssatz-Ländereinstellung auf 400 (Latein) bzw. 401 (CJK).
Die Einstellung ist nach dem nächsten Start von InDesign Server aktiviert.
Firewalls
Alle Firewalls, die zwischen dem Computer (Server) mit InDesign Server und den Clients des
Servers bestehen, müssen entsprechend konfiguriert werden, damit die Clients Verbindungen
zum Server herstellen können. Weitere Informationen finden Sie in der Dokumentation zu der
Firewall. Sie können sich jedoch auch an Ihren Netzwerk-Systemadministrator wenden.
Einführung in Adobe InDesign CS5 Server
9
Einführung in Adobe InDesign CS5 Server
Installieren von InDesign Server
Installieren des InDesign Server Windows-Dienstes (nur Windows)
Der InDesign Server Windows-Dienst überwacht angegebene Instanzen von InDesign Server
und startet sie neu, wenn sie beendet werden oder der Computer neu gestartet wird. Er leitet
InDesign Server-Meldungen zum Windows-Ereignisprotokoll weiter und ermöglicht so ein
lokales und externes Abrufen der Meldungen. Instanzen von InDesign Server können mit
einem Benutzernamen und einem Kennwort, die sich von denen des aktuellen
Computerbenutzers unterscheiden, konfiguriert werden.
Der InDesign Server Windows-Dienst kann entweder mit dem InDesign Server-Installationsprogramm oder über die Befehlszeile installiert werden. Wenn Sie das Installationsprogramm
verwenden, führen Sie einfach das InDesign Server-Installationsprogramm aus und wählen Sie
die entsprechende Option, um die Dienst-Dateien für InDesign Server zu installieren. Bei
einer Installation über die Befehlszeile wechseln Sie zu dem Ordner, in dem Sie InDesign
Server installiert haben, und führen Sie folgenden Befehl aus:
InDesignServerService /install
Um den InDesign Server Windows-Dienst mit Hilfe der Befehlszeile zu deinstallieren,
wechseln Sie zum Ordner von InDesign Server und führen Sie folgenden Befehl aus:
InDesignServerService /install /u
Die zweite Komponente des InDesign Server Windows-Dienstes ist das InDesign ServerService Management Console-Snap-In. Bei der Installation des Dienstes über das InDesign
Server-Installationsprogramm wird das Snap-In automatisch installiert. Bei der Installation des
Dienstes über die Befehlszeile muss das Snap-In manuell installiert werden. Gehen Sie dazu
wie nachfolgend beschrieben vor.
Um das Snap-In auf einem 32-Bit-Computer zu installieren, führen Sie folgenden Befehl aus:
regsvr32 InDesignServerMMC.dll
Auf einem 64-Bit-Computer führen Sie folgenden Befehl aus:
regsvr64 InDesignServerMMC64.dll
Die Deinstallation des InDesignServerMMC-Snap-In entspricht im Wesentlichen der
Installation, jedoch ist ein zusätzliches Befehlszeilenargument erforderlich:
regsvr32 InDesignServerMMC.dll /u
— oder —
regsvr64 InDesignServerMMC.dll /u
Informationen zur Konfiguration des Snap-In finden Sie unter „Konfigurieren des InDesign
Server Windows-Dienstes“ auf Seite 16.
Installieren des InDesign Server-SDK
Das InDesign Server-SDK enthält Beispiele, Skripten und Dokumentation für InDesign Server.
Das InDesign Server-SDK kann von adobe.com heruntergeladen werden. Sie können den
Ordner mit dem SDK nach dessen Einrichtung verschieben.
10
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Ausführen von InDesign Server
Sie können InDesign Server von der Befehlszeile oder von einem anderen Programm oder
Skript aus starten. Bei allen Methoden können Sie Befehlszeilenargumente verwenden, die
steuern, wie InDesign Server ausgeführt und konfiguriert wird.
InDesign Server-Argumente
Mit den InDesign Server-Befehlszeilenargumenten lassen sich verschiedene Aspekte von
InDesign Server konfigurieren. Die Befehlszeile hat folgende Syntax (die Argumente werden in
Tabelle 1 beschrieben):
InDesignServer [argumente]
TABELLE 1 Befehlszeilenargumente für InDesign Server
Argument
Beschreibung
-configuration name
Optional. Legt den Konfigurationsnamen für diese Instanz von InDesign Server
fest. name muss ein im aktuellen System gültiger Ordnername sein. Dieser wird
von InDesign Server verwendet, um den Konfigurationsordner zu erstellen, in
dem private Daten, Cache- und Konfigurationsdateien abgelegt werden. Der
Standardname lautet „configuration_noport“ oder „configuration_n“, wobei „n“
der Anschlussnummer (bei angegebenem Argument „-port“) entspricht.
Speicherort des Konfigurationsordners: Unter Windows:
C:\Dokumente und
Einstellungen\<benutzername>\Anwendungsdaten\
Adobe\InDesign Server\<version>\<sprache>\
Unter Windows Vista und Windows Server 2008:
C:\Users\<username>\AppData\Roaming\Adobe\InDesign
Server\<version>\<sprache>\
Beim Ausführen mit dem Windows-Dienst wird der Konfigurationsordner hier
erstellt: Unter Windows:
C:\Dokumente und Einstellungen\All
Users\Anwendungsdaten\ Adobe\InDesign
Server\<version>\<sprache>\
Unter Windows Vista und Windows Server 2008:
C:\ProgramData\Adobe\InDesign
Server\<version>\<sprache>\
Unter Mac OS wird der Konfigurationsordner hier erstellt:
/Users/<benutzername>/Library/Preferences/Adobe
InDesign Server/<version>/<sprache>/
Einführung in Adobe InDesign CS5 Server
11
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
12
Argument
Beschreibung
-[no]console
Optional. Nur Windows. Dies erstellt ein neues Konsolenfenster (eine BefehlsShell) und leitet „stderr“ und „stdout“ dorthin um. Wenn „-noconsole“ angegeben
ist, werden „stdout“ und „stderr“ an das Terminal (bzw. Fenster) gesendet, in dem
InDesign Server gestartet wurde. Dieses Argument ist nützlich, wenn der
Microsoft Visual Studio-Debugger verwendet wird, um ein InDesign ServerZusatzmodul, das Sie entwickeln, zu debuggen, weil der Debugger standardmäßig
Daten, die in „stderr“ und „stdout“ ausgegeben werden, verwirft. Dies kann auch
nützlich sein, wenn InDesign Server aus einer anderen Anwendung, wie z. B.
einem Anwendungsserver, gestartet wird. Dieses Argument kann nur mit
InDesignServer.exe verwendet werden, nicht mit InDesignServer.com.
Die Standardeinstellung ist „-noconsole“.
-[no]errorlist
Optional. Steuert, ob InDesign Server Skriptfehler aus SOAP-Aufrufen im
Speicher speichern soll. Die Fehlerliste wird nicht automatisch gelöscht. Wenn
die zulässige Anzahl von Fehlern überschritten ist, gehen neue Fehler verloren.
Die Standardeinstellung ist „-noerrorlist“.
-help
Optional. Zeigt kurze Beschreibungen aller Argumente an.
-iorfile filepath
Für Java/CORBA erforderlich, ansonsten optional. Dieses Argument teilt
InDesign Server mit, in welchen Ordner die Datei geschrieben werden soll, die die
IOR des Anwendungsobjekts enthält. Die IOR in dieser Datei wird von einem
Client verwendet, um einen Verweis auf das Anwendungsobjekt von InDesign
Server zu erstellen. Sie können sich dies als Cookie vorstellen, den der ClientCode verwendet, um auf das Anwendungsobjekt von InDesign Server
zuzugreifen. Alle Serverinstanzen benötigen eine eindeutige IOR-Datei. Mehrere
Clients greifen auf einen bestimmten Server zu, indem sie die IOR-Datei für
diesen Server verwenden. Die IOR wurde in die angegebene Datei geschrieben,
wenn InDesign Server folgende Meldung ausgibt: „[server] Writing IOR to ...“
-LogToApplicationEventLog
Optional. Unter Windows leitet dieses Argument die Konsolenausgabe von
InDesign Server in das Anwendungsprotokoll der Windows-Ereignisanzeige um.
Die Ausgabe kann in der Ereignisanzeige der Computerverwaltung angezeigt
werden. Unter Mac OS sollte dieses Argument verwendet werden, wenn InDesign
Server als launchd-Daemon genutzt wird. Die Ausgabe kann mit dem
Dienstprogramm „Konsole“ angezeigt werden.
-maxerrors number
Optional. number legt die maximale Anzahl von Skriptfehlern aus SOAPAufrufen fest, die InDesign Server im Speicher speichern soll. Der Standardwert
ist 10.000.
-pluginpath path[,path]
Für Java/CORBA erforderlich, ansonsten optional. Dieses Argument weist den
Server an, sämtliche Zusatzmodule im angegebenen Ordner und den
entsprechenden Unterordnern zu laden. Durch Angabe des installierten
Unterverzeichnisses „server/corba“ wird das CORBA-Zusatzmodul für InDesign
Server geladen und aktiviert. path bezeichnet einen relativen Pfad zum InDesign
Server-Installationsordner (z. B. verweist „Server/Corba“ auf den Ordner
„C:\Programme\Adobe\Adobe InDesign CS5 Server\Server\Corba“). Verwenden
Sie keinen absoluten Pfad. Das CORBA-Zusatzmodul wurde geladen, wenn
InDesign Server folgende Meldung ausgibt: „[server] ApplicationIOR: ...“
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Argument
Beschreibung
-port number
Für SOAP erforderlich, ansonsten optional. Dies ist die Anschlussnummer, die
InDesign Server verwendet, um SOAP-Anforderungen von Client-Anwendungen
zu bearbeiten. Wenn keine Nummer festgelegt ist, wird kein Anschluss verwendet
und SOAP-Anforderungen können nicht verarbeitet werden. Allen Instanzen von
InDesign Server, die auf dem gleichen System ausgeführt werden, muss jeweils
eine eindeutige Anschlussnummer zugewiesen sein, wenn SOAP aktiviert wird.
Die Anschlussnummer muss eine positive ganze Zahl sein.
-[no]previews
Optional. Legt fest, ob beim Import von Bildern Vorschaubilder erstellt werden
sollen. Die Standardeinstellung ist „-nopreviews“.
-[no]seh
Optional. Nur Windows. Legt fest ob SEH (Structured Exception Handling,
strukturierte Handhabung von Ausnahmen) verwendet werden soll.
Die Standardeinstellung ist „-seh“.
-[no]sendcrashlogs
Nur Mac OS. Sendet automatisch Protokolle von Abstürzen an Adobe.
Die Standardeinstellung ist „-nosendcrashlogs“.
-serialnumber number
Gibt die Seriennummer für die Anwendung ein. Dieses Argument muss nur ein
Mal zum Freigeben der Anwendung verwendet werden.
Starten von InDesign Server von der Befehlszeile aus
1. Öffnen Sie in dem System, auf dem InDesign Server installiert ist, ein neues Shell-Fenster.
Verwenden Sie unter Windows die Eingabeaufforderung, unter Mac OS das Dienstprogramm
„Terminal“.
2. Wechseln Sie in den Ordner, in dem InDesign Server installiert ist. Unter Windows enthält
der Ordner die Anwendung „InDesignServer.com“. Unter Mac OS enthält der Ordner das
Anwendungspaket „InDesignServer.app“. Beispiel:
Windows:
cd "c:\Programme\Adobe\Adobe InDesign CS5 Server\"
Mac OS:
cd '/Applications/Adobe InDesign CS5 Server/'
3. Führen Sie den folgenden Befehl aus. (Unter Windows wird standardmäßig „InDesignServer.com“
ausgeführt. Es richtet Pfade ein und führt „InDesignServer.exe“ aus.)
InDesignServer
4. InDesign Server zeigt seine Startmeldungen im Shell-Fenster an. Wenn InDesign Server
bereit ist, wird die Meldung „[server] Server Running“ angezeigt. Während InDesign Server
ausgeführt wird, werden Meldungen und Fehler im Shell-Fenster angezeigt, sodass Sie das
Fenster verwenden können, um InDesign Server zu überwachen.
Einführung in Adobe InDesign CS5 Server
13
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Starten von InDesign Server für die Verwendung mit SOAP
Wenn in Ihrem Workflow Skripten zur Kommunikation mit InDesign Server zum Einsatz
kommen, umfasst der Workflow vermutlich auch das Übermitteln der Skripten an InDesign
Server über SOAP. Damit die Kommunikation mit InDesign Server über SOAP möglich ist,
müssen Sie beim Starten von InDesign Server das Argument „-port“ angeben. Im folgenden
Beispiel müssen Sie „12345“ durch die tatsächliche Anschlussnummer ersetzen.
InDesignServer -port 12345
Unter den Startmeldungen von InDesign Server sollte auch folgende Meldung angezeigt
werden:
„[soap] Servicing SOAP requests on port 12345.“
Dies weist darauf hin, dass InDesign Server zum Empfangen von SOAP-Anforderungen bereit ist.
Starten von InDesign Server für die Verwendung mit CORBA
Wenn in Ihrem Workflow Java zur Kommunikation mit InDesign Server verwendet wird,
müssen Sie InDesign Server für die Verwendung mit CORBA starten. Die InDesign Server-JavaAPI verwendet das Corba Support-Zusatzmodul, um mit InDesign Server zu kommunizieren.
Diese Kommunikation wird durch die Verwendung einer Textdatei erleichtert, die eine IORZeichenfolge zur eindeutigen Identifizierung eines Objekts in CORBA enthält.
Sobald die InDesign Server-Instanz initialisiert ist, schreibt sie die IOR für das
Anwendungsobjekt in die angegebene Textdatei. Durch Verwenden der IOR in der IOR-Datei
kann ein Client ein Proxyobjekt für das Anwendungsobjekt von InDesign Server instanziieren.
Um InDesign Server für die Verwendung mit CORBA zu starten, fügen Sie der Befehlszeile die
Argumente -iorfile und -pluginpath hinzu. Der mit -pluginpath festgelegte Pfad ist relativ zum
Installationsordner von InDesign Server. Beim Starten erstellt InDesign Server die angegebene
Textdatei und schreibt die IOR seiner Anwendung in diese Datei. Für den Dateipfad müssen
Zugriffsrechte zum Schreiben vorliegen. Ersetzen Sie im folgenden Beispiel „c:\ior.txt“
(Windows) bzw. „~/ior.txt“ (Mac OS) durch den gewünschten Dateipfad.
Windows:
InDesignServer -iorfile c:\ior.txt -pluginpath Server\Corba
Mac OS:
InDesignServer -iorfile ~/ior.txt -pluginpath Server/Corba
Unter den Startmeldungen von InDesign Server sollten auch folgende Meldungen angezeigt
werden:
„[server] ApplicationIOR:...“
„[server] Writing IOR to ...“
Diese weisen darauf hin, dass InDesign Server zum Empfangen von CORBA-Befehlen bereit ist
und dass Sie über die angegebene Datei auf die Anwendungs-IOR von InDesign Server
zugreifen können.
14
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Starten von einem anderen Programm oder Skript aus
InDesign Server kann als Prozess von einem anderen Programm oder Skript aus gestartet
werden. Beachten Sie unter Windows, dass InDesign Server in der Regel über
„InDesignServer.com“ statt über „InDesignServer.exe“ ausgeführt wird. Die .com-Version
unterscheidet sich von der .exe-Version darin, dass sie die erforderlichen Pfade zum omniorbOrdner einrichtet, der von der InDesign Server-CORBA-Implementierung benötigt wird. Die
.exe-Version richtet diese Pfade nicht ein. Daher müssen Sie den omniorb-Ordner u. U. manuell
zur Umgebungsvariablen „PATH“ hinzufügen, bevor Sie „InDesignServer.exe“ starten.
Ausführen mehrerer InDesign Server-Instanzen
Wenn Ihre Site ein hohes Aufkommen an InDesign Server-Anforderungen hat, können Sie den
Durchsatz erhöhen, indem Sie mehrere Instanzen von InDesign Server auf dem gleichen
System ausführen. Als allgemeine Faustregel für die maximale Anzahl von InDesign ServerInstanzen auf einem Computer addieren Sie den Wert 1 zu der Anzahl von Prozessoren auf
dem Computer. Weitere Informationen finden Sie unter Adobe InDesign Server CS5
Performance and Scalability im InDesign Server-SDK.
Um mehrere Instanzen auszuführen, müssen Sie jeder Instanz einen eindeutigen
Konfigurationsnamen geben. Verwenden Sie dazu das Argument -configuration und legen Sie
für jede Instanz einen eindeutigen Namen fest. Wenn Sie InDesign Server von der Befehlszeile
aus ausführen, müssen Sie jede Instanz in einem eigenen Fenster ausführen.
Starten Sie von einem Shell-Fenster aus die erste Instanz, indem Sie folgende Zeile ausführen:
InDesignServer -configuration myIDS1
Öffnen Sie dann ein neues Shell-Fenster und führen Sie folgende Zeile für die zweite Instanz aus:
InDesignServer -configuration myIDS2
Ausführen mehrerer Instanzen über SOAP
Wenn Sie Anwendungen nutzen, die über SOAP mit InDesign Server kommunizieren, müssen
Sie jeder Instanz von InDesign Server eine eindeutige Anschlussnummer zuweisen. In den
folgenden Beispielen müssen Sie das Argument -configuration nicht festlegen, da InDesign
Server einen Konfigurationsnamen auf der Grundlage des angegebenen Anschlusses erstellt
(siehe „InDesign Server-Argumente“ auf Seite 11). Die folgenden Beispiele erstellen die
Konfigurationsnamen „Konfiguration_18383“ und „Konfiguration_18555“.
Die erste Instanz wird mit der folgenden Befehlszeile ausgeführt:
InDesignServer -port 18383
Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:
InDesignServer -port 18555
Optional können Sie jeder Instanz einen eindeutigen Konfigurationsnamen geben, allerdings
ist für die Verwendung von SOAP immer noch eine eindeutige Anschlussnummer
erforderlich. Beispiel:
InDesignServer -configuration myIDS3 -port 18777
Einführung in Adobe InDesign CS5 Server
15
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Ausführen mehrerer Instanzen über CORBA
Wenn Sie Anwendungen nutzen, die über Java/CORBA mit InDesign Server kommunizieren,
müssen Sie jeder Instanz in InDesign Server eine eigene IOR-Textdatei und einen eigenen
Konfigurationsnamen zuweisen. Die folgenden Beispiele erstellen eindeutige IOR-Textdateien
und Konfigurationsnamen für jede Instanz.
Unter Windows wird die erste Instanz mit der folgenden Befehlszeile ausgeführt:
InDesignServer -configuration myIDS1 -iorfile c:\IDS\ior_1.txt
-pluginpath Server/Corba
Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:
InDesignServer -configuration myIDS2 -iorfile c:\IDS\ior_2.txt
-pluginpath Server/Corba
Unter Mac OS wird die erste Instanz mit der folgenden Befehlszeile ausgeführt:
InDesignServer -configuration myIDS1 -iorfile /IDS/ior_1.txt
-pluginpath Server/Corba
Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:
InDesignServer -configuration myIDS2 -iorfile /IDS/ior_2.txt
-pluginpath Server/Corba
Beenden von InDesign Server
Es gibt mehrere Möglichkeiten zum Beenden von InDesign Server:
z
Drücken Sie im Fenster der Eingabeaufforderung (bzw. „Terminal“ unter Mac OS), in dem
InDesign Server gestartet wurde, die Tastenkombination Strg+C (Windows) bzw. Ctrl+C
(Mac OS).
z
Senden Sie ein Skript an InDesign Server, das InDesign Server über das quit-Ereignis der
Anwendung beendet. Im folgenden JavaScript-Beispiel wird InDesign Server beendet, ohne
geöffnete Dokumente zu speichern:
app.quit(SaveOptions.no);
z
Wenn die InDesign Server-Instanz über den InDesign Server Windows-Dienst gestartet
wurde, können Sie den Dienst anhalten und so sämtliche Instanzen von InDesign Server
beenden, die über diesen Dienst gestartet wurden.
Konfigurieren des InDesign Server Windows-Dienstes
Der InDesign Server Windows-Dienst kann über die Kategorie „Dienste“ der WindowsComputerverwaltung gestartet, angehalten und konfiguriert werden. Diese kann gestartet
werden, indem Sie entweder mit der rechten Maustaste auf „Arbeitsplatz“ > „Verwalten“
klicken oder im Startmenü „Verwaltung“ > „Computerverwaltung“ wählen. Wählen Sie im
Dialogfeld „Computerverwaltung“ zunächst „Dienste und Anwendungen“ und dann „Dienste“.
Doppelklicken Sie in der Liste der Dienste auf „InDesignServerService“. Dadurch wird ein
Eigenschaften-Dialogfeld geöffnet, in dem Sie den Dienst starten, beenden oder anhalten und
die Anmeldung sowie die Startmethode des Dienstes ändern können.
16
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Microsoft empfiehlt, auf der Registerkarte „Anmelden“ eine Einstellung mit möglichst
eingeschränkten Rechten zu wählen, ohne dass die Funktionalität des Dienstes beeinträchtigt
wird. Der Dienst muss mindestens über Lese- und Schreibzugriff auf den Ordner „Dokumente
und Einstellungen“ sowie auf den Pfad mit den Dokumenten verfügen, über die der Server
gesteuert wird. Außerdem muss er in der Lage sein, einen Anschluss zu öffnen und
Registrierungseinstellungen zu lesen. „Lokales Systemkonto“ verfügt über weitreichendere
Rechte als das Benutzerkonto „LocalService“. Daher sollten Sie zunächst versuchen, „dieses
Konto“ auf „LocalService“ zu setzen (z. B. „NT AUTHORITY\LocalService“).
Auf der Registerkarte „Wiederherstellen“ sollten Sie die Einstellung „Keine Aktion
durchführen“ beibehalten. So haben Sie auch weiterhin die Möglichkeit, den Dienst neu zu
starten, falls er abstürzt. Wenn der Dienst ordnungsgemäß funktioniert, hat er bereits
Instanzen von InDesign Server mit den angegebenen Anschlüssen/Konfigurationen gestartet.
Wenn der Dienst dann abstürzt und die Instanzen von InDesign Server weiterhin aktiv sind,
versucht die neue Instanz des Dienstes, neue Instanzen von InDesign Server zu starten. Dies
schlägt aber fehl, da die Anschlüsse/Konfigurationen bereits verwendet werden. Diese
Einstellungen haben keinen Einfluss darauf, wie der Dienst reagiert, wenn Instanzen von
InDesign Server abstürzen. Dieses Verhalten wird über die Registrierungseinstellungen
„MaximumFailureCount“, „MaximumFailureIntervalInMinutes“ und „TrackFailures“ unter
„HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS5ServerWinS
ervice“ konfiguriert.
InDesign Server Console Management-Snap-In
Die zweite Komponente des Windows-Dienstes ist das InDesign Server Console ManagementSnap-In. Um das Snap-In einer Verwaltungskonsole hinzuzufügen, doppelklicken Sie im
Installationsordner von InDesign Server auf die Datei „InDesignServerService.msc“. Sie können das
Snap-In einer Verwaltungskonsole auch manuell hinzufügen. Führen Sie dazu die WindowsAnwendung „mmc.exe“ aus und wählen Sie „Datei“ > „Snap-In hinzufügen/entfernen“. Es wird
eine Liste aller verfügbaren MMC-Snap-Ins angezeigt. Wenn keine Liste angezeigt wird, klicken Sie
auf „Hinzufügen“. Wählen Sie „InDesignCS5ServerService“ aus der Liste, um es der aktuellen
Konsole hinzuzufügen. Schließen Sie das Dialogfeld „Snap-In hinzufügen/entfernen“.
Um der Konsole eine InDesign Server-Instanz hinzuzufügen, klicken Sie im linken Bereich der
Konsole mit der rechten Maustaste auf „InDesignCS5ServerService“ und wählen Sie „Neu“ >
„Neue InDesign Server-Instanz“. Die neue Instanz übernimmt die Ausfallparameter aus der
letzten Instanz. Ihr wird eine Anschlussnummer zugewiesen, die um 1 höher ist als der höchste
InDesignCS5ServerService-Instanzanschluss. Die Standardbefehlszeile ist leer. Um die
Konfiguration einer Instanz anzupassen (Anschlussnummer oder Befehlszeile), doppelklicken
Sie im rechten Bereich auf die Instanz. Die Befehlszeile muss wie unter „Starten von InDesign
Server von der Befehlszeile aus“ auf Seite 13 beschrieben formatiert sein. Allerdings darf das
Argument -port nicht angegeben werden, da es über den Anschlusseintrag definiert wird.
Damit auf einem Rechner mehrere InDesign Server-Instanzen ausgeführt werden können,
muss jede Instanz über einen eindeutigen Anschluss oder Konfigurationsnamen verfügen.
Diese können über die Anschluss- und Befehlszeileneinstellungen für den Dienst angepasst
werden. In der Regel müssen Sie nur die Anschluss- und Befehlszeileneinstellungen für den
Dienst bearbeiten. Allerdings gibt es einige andere Einstellungen, die über die
Registrierungseinstellungen für die Dienstinstanz geändert werden können:
Einführung in Adobe InDesign CS5 Server
17
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
z
MaximumFailureCount – Legt fest, wie oft der Dienst versucht, eine abgestürzte Instanz
neu zu starten.
z
MaximumFailureIntervalInMinutes – Legt den Zeitraum für „MaximumFailureCount“
fest. InDesign Server muss öfter als MaximumFailureCount Mal innerhalb von
MaximumFailureIntervalInMinutes Minuten abstürzen, bevor der Dienst die Versuche
zum Neustart einstellt.
z
TrackFailures – ein boolescher Wert. Bei einem Wert von 1 (Standardwert) versucht der
Dienst, InDesign Server neu zu starten; bei einem Wert von 0 tut er dies nicht.
Um diese Einstellungen zu bearbeiten, führen Sie „regedit“ aus und rufen Sie die Schlüssel unter
„HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS5ServerWinServi
ce“ auf. Für jede Instanz, die über InDesignServerService.msc oder das Console Management-SnapIn konfiguriert wurde, ist jeweils ein Schlüsselsatz vorhanden (z. B. „065c361a-0cbe-4917-bf155276b1815769“).
Konfigurieren eines launchd-Daemons für InDesign Server unter Mac OS
InDesign Server kann unter Mac OS als Hintergrundprozess (Daemon) gestartet werden, ohne
dass ein Benutzer unmittelbar eingreifen muss. Durch das Ausführen von InDesign Server als
Daemon können Sie InDesign Server zeitgleich mit dem Betriebssystem starten und festlegen,
wie bei einem Absturz reagiert werden soll.
Um den Daemon zu konfigurieren, erstellen Sie eine Konfigurationsdatei (plist) mit den
erforderlichen Einstellungen und installieren sie im gewünschten LaunchAgents- bzw.
LaunchDaemons-Ordner.
Die launchd-Konfigurationsdatei
Erstellen Sie die launchd-Konfigurationsdatei mit einem beliebigen Editor für reinen Text und tragen
Sie den XML-Inhalt wie unten beschrieben ein. Speichern Sie die Datei mit der Bezeichnung des
Daemons als Dateiname und „.plist“ als Erweiterung (z. B. „com.adobe.ids.launchd.12345.plist“). Sie
können plist-Dateien auch mit dem XCode-Dienstprogramm „Property List Editor“ bearbeiten, das
Sie unter „Developer/Applications/Utilities“ finden.
In Tabelle 2 sind die erforderlichen Einstellungen für einen InDesign Server launchd-Daemon
aufgelistet. Eine vollständige Liste der launchd-Optionen finden Sie auf der man-Seite für
launchd.
18
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
TABELLE 2 Daemoneinstellungen für InDesign Server
Label
Die eindeutige Kennung Ihres Daemons, z. B.
„com.adobe.ids.launchd.12345“
OnDemand
Dieser Wert muss auf false gesetzt sein, damit InDesign
Server nach dem Beenden oder einem Absturz wieder
gestartet werden kann.
ProgramArguments
Ein Array mit den beim Start der Anwendung angegebenen
Argumenten als Zeichenfolgen. Das erste Element des Arrays
enthält den vollständigen Pfad der Anwendung. Die übrigen
Array-Elemente enthalten die Argumente, die beim Starten
von InDesign Server über die Befehlszeile verwendet wurden.
Um die Konsolenausgabe aus InDesign Server zu aktivieren,
muss das Argument „LogToApplicationEventLog“ verwendet
werden.
RunAtLoad
Dieser Wert ist auf true gesetzt. InDesign Server wird
gestartet, wenn der Daemon beim Systemstart oder manuell
über „launchctl“ geladen wird.
BEISPIEL 1 XML-Format der plist-Datei
Das folgende Beispiel zeigt den XML-Inhalt einer plist-Konfigurationsdatei, die in InDesign
Server über SOAP mit Anschluss 12345 ausgeführt wird:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.adobe.ids.launchd.12345</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/Applications/Adobe InDesign CS5 Server/InDesignServer</string>
<string>-port</string>
<string>12345</string>
<string>-LogToApplicationEventLog</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Einführung in Adobe InDesign CS5 Server
19
Einführung in Adobe InDesign CS5 Server
Ausführen von InDesign Server
Installieren der Konfigurationsdatei
Um eine launchd-Konfigurationsdatei zu installieren, müssen Sie sie nur auf dem Rechner, auf
dem InDesign Server ausgeführt werden soll, in den entsprechenden Ordner kopieren. Wenn
Sie mehrere Instanzen von InDesign Server ausführen möchten, können Sie für jede Instanz
eine separate Daemon-Konfigurationsdatei anlegen. Bei einer typischen InDesign ServerInstallation wird Mac OS X Server ohne Benutzerkonten ausgeführt. Kopieren Sie in diesem
Fall die Konfigurationsdatei in den folgenden Ordner:
/Library/LaunchDaemons
Wenn Sie InDesign Server unter einem Benutzerkonto ausführen möchten, kopieren Sie die
plist-Datei in den LaunchAgents-Ordner im Library-Ordner des Systems oder des Benutzers
(möglicherweise mssen Sie den LaunchAgents-Ordner für den Benutzer zunächst erstellen):
/Library/LaunchAgents
/Users/<benutzername>/Library/LaunchAgents
Laden des Daemons
Führen Sie einen Neustart des Systems durch, nachdem Sie die plist-Datei in den
LaunchAgents-Ordner kopiert haben. Der Daemon wird dann automatisch geladen. Sobald
der Daemon geladen ist, wird InDesign Server unter Verwendung der Einstellungen in der
plist-Datei gestartet. Geben Sie in einem Terminal-Fenster folgenden Befehl ein, um zu
bestätigen, dass der Daemon geladen wurde:
launchctl list
Wenn die Bezeichnung Ihres Daemons aufgelistet ist, wurde er erfolgreich geladen.
Um zu bestätigen, dass InDesign Server ausgeführt wurde, lassen Sie die Liste aller aktiven
Prozesse mit der Aktivitäts-Anzeige auflisten.
Sie können den Daemon mit Hilfe des Befehls „launchctl“ manuell laden:
launchctl load /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist
Entladen des Daemons
Sie können den Daemon mit Hilfe des Befehls „launchctl“ manuell entladen. Beachten Sie
jedoch, dass die InDesign Server-Instanz durch das Entladen des Daemons nicht ebenfalls
beendet wird:
launchctl unload /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist
Um die InDesign Server-Instanz zu beenden, senden Sie ein entsprechendes Skript an
InDesign Server oder beenden Sie den Prozess mit Hilfe der Aktivitäts-Anzeige.
20
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über SOAP
Integration von InDesign Server über SOAP
InDesign Server unterstützt den SOAP-Befehl RunScript, der es Ihnen ermöglicht, ein
InDesign Server-Skript auszuführen. Sie können das Skript mit JavaScript, VBScript (nur
Windows) oder AppleScript (nur Mac OS) schreiben. Wenn Sie RunScript aufrufen, übergibt
es die Skriptdatei an InDesign Server und InDesign Server führt das Skript intern aus.
Der RunScript-Befehl ist über die InDesign Server-WSDL definiert. Sie können diese WSDL
mit branchenüblichen SOAP-Werkzeugen verwenden, um SOAP-Meldungspakete
automatisch zu erstellen. Es gibt zwei Methoden zum Anzeigen der WSDL:
z
Zeigen Sie die InDesign Server-SDK-Datei „IDSP.wsdl“ an.
z
Greifen Sie nach dem Starten von InDesign Server über HTTP auf die WSDL zu.
Verwenden Sie dazu das Argument „-port“ (z. B. „http://localhost:12345/service?wsdl“).
Informationen zum Entwickeln eines SOAP-Clients, der mit InDesign Server kommuniziert,
finden Sie unter Working with Adobe InDesign CS5 Server SOAP und in den „SampleClient“Beispielen des SDK.
Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts
InDesign Server bietet ein Beispiel für eine SOAP-Client-Anwendung: SampleClient.
SampleClient ist eine Befehlszeilenanwendung, die über den InDesign Server-SOAP-Befehl
RunScript ein Skript an InDesign Server sendet. Das Skript kann in JavaScript, AppleScript
oder VBScript geschrieben werden. SampleClient geht von folgenden Erweiterungen aus:
.applescript für AppleScript, .vbs für VBScript. Skripten mit anderen Erweiterungen werden als
JavaScript interpretiert.
Das SDK für InDesign-Produkte beinhaltet die Komponenten, die erforderlich sind, um
SampleClient zu generieren. Die Projektdatei ist abgelegt unter <SDK>/build/<plattform>/prj,
der Quellcode unter <SDK>/source/public/components/server/sampleclient.
SampleClient-Befehlszeilenargumente
Über die Argumente für SampleClient geben Sie das System an, auf dem InDesign Server
ausgeführt wird, den Anschluss für die SOAP-Kommunikation, den Namen der
auszuführenden Skript-Datei sowie an das Skript zu übergebende Argumente. Für
SampleClient gilt folgende Syntax. Die Argumente sind in der folgenden Tabelle beschrieben:
sampleclient [-host hostID:port] [-server] skript-pfad [argumente]
[-repeat anzahl_der_wdh] [-h]
Einführung in Adobe InDesign CS5 Server
21
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über SOAP
TABELLE 3 SampleClient-Befehlszeilenargumente
Argument
Beschreibung
argumente
Optional. Ein oder mehrere Name/Wert-Paare, über die Argumente an das Skript übergeben
werden. Das Format lautet argname=wert, wobei argname für den Namen des Arguments steht und
wert für dessen Wert. Trennen Sie mehrere Argumente mit Leerzeichen. Beispiel:
sampleclient -host localhost:18383 /myScript.jsx myArg="Hallo Welt"
Skripten können den Argumentwert lesen, indem sie die Methode „get“ des Objekts „scriptArgs“ im
Anwendungsobjekt verwenden. Mit dem folgenden Befehl wird z. B. das Argument myArg
abgerufen:
myArg = app.scriptArgs.get("myArg");
-h
Optional. Zeigt kurze Beschreibungen dieser Argumente an.
-host
hostID:port
Optional. Der Host, auf dem InDesign Server ausgeführt wird. hostID kann eine der folgenden
Kennungen für das System sein, auf dem InDesign Server ausgeführt wird: die IP-Adresse des
Systems, der Hostname des Systems (z. B. „ourhost.corp.company.com“) oder das Schlüsselwort
„localhost“, wenn InDesign Server auf dem gleichen Computer ausgeführt wird wie SampleClient.
Es werden sowohl IPv4- als auch IPv6-Adressen akzeptiert. port ist die Host-Anschlussnummer,
die konfiguriert wurde, um SOAP-Meldungen zu empfangen. Beispiel:
-host 10.0.0.1:18383
-host [fe80::405:2345:fe56:8901]:18383
Auf einem lokalen System:
-host localhost:18300
-repeat
22
Optional. Bestimmt, wie oft das Skript ausgeführt werden soll.
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über SOAP
Argument
Beschreibung
skript-pfad
Erforderlich. Ohne das Argument „-server“ bezeichnet skript-pfad den Pfad der Skript-Datei im
lokalen Dateisystem. Dabei kann es sich um eine absolute oder eine relative Pfadangabe (relativ zum
aktuellen Arbeitsverzeichnis) handeln. Wenn das Argument „-server“ verwendet wird, kann skriptpfad zwei Formate annehmen. Zum einen kann skript-pfad eine absolute Pfadangabe des Skripts auf
der Grundlage des Dateisystems sein, auf dem die InDesign Server-Instanz ausgeführt werden soll.
Unter Windows:
C:\<mein_skript-ordner>\mySkript.jsx
Unter Mac OS:
~/<mein_skript-ordner>/mySkript.jsx
Zum anderen kann skript-pfad auf einer vordefinierten Pfadkonstante basieren. InDesign Server
definiert zwei Pfadkonstanten: Scripts:Application und Scripts:User. Scripts:Application steht für
den Skript-Ordner der Anwendung. Speicherort: Unter Windows:
C:\Programme\Adobe\Adobe InDesign CS5 Server\Scripts\
Unter Mac OS:
/Applications/Adobe InDesign CS5 Server/Scripts/
Scripts:User steht für den Skript-Ordner des Benutzers. Speicherort: Unter Windows:
C:\Dokumente und Einstellungen\<benutzername>\Anwendungsdaten\
Adobe\InDesign
Server\<version>\<sprache>\configuration_12345\Scripts\
Unter Windows Vista und Windows Server 2008:
C:\Users\<benutzername>\AppData\Roaming\Adobe\<version>\<sprache>\con
figuration_12345\Scripts\
Unter Mac OS:
/Users/<benutzername>/Library/Preferences/Adobe InDesign
Server/<version>/<sprache>/configuration_12345/Scripts
Legen Sie Ihre Skript-Datei in einem der Skript-Ordner auf dem Rechner mit InDesign Server ab
und übergeben Sie den entsprechenden Pfad an SampleClient. Beispiel (beachten Sie, dass Sie
sowohl unter Windows als auch unter Mac OS einen Doppelpunkt (:) als Pfadtrennzeichen
verwenden müssen):
Scripts:Application:mySkript.jsx
Scripts:User:mySkript.jsx
-server
Optional. Wenn dieses Schlüsselwort festgelegt ist, wird davon ausgegangen, dass skript-pfad für
eine Datei auf dem Computer steht, auf dem InDesign Server ausgeführt wird. Andernfalls wird
davon ausgegangen, dass skript-pfad für eine Datei auf dem lokalen Computer steht, auf dem
SampleClient ausgeführt wird.
Einführung in Adobe InDesign CS5 Server
23
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über Java
Starten von SampleClient
1. Sie benötigen eine Skript-Datei, die von InDesign Server ausgeführt werden kann. Sie
können eines der Beispielskripten des InDesign Server-SDK verwenden oder ein eigenes
Skript mit Hilfe der InDesign-Skript-API schreiben. Wenn Sie ein Skript schreiben,
beachten Sie, dass InDesign Server keine Benutzeroberfläche hat. Stellen Sie daher sicher,
dass das Skript nicht mit Benutzeroberflächenkomponenten arbeitet.
2. Starten Sie InDesign Server für die Verwendung mit SOAP. Informationen finden Sie unter
„Starten von InDesign Server für die Verwendung mit SOAP“ auf Seite 14. Notieren Sie den
Host und den Anschluss, auf denen InDesign Server gestartet wird.
3. Öffnen Sie ein neues Befehlszeilenfenster (unter Windows verwenden Sie die
Eingabeaufforderung, unter Mac OS das Dienstprogramm „Terminal“).
4. Ändern Sie die Verzeichnisse in den Pfad von SampleClient:
Windows:
cd "c:\Programme\Adobe\Adobe InDesign CS5 Server"
Mac OS:
cd '/Applications/Adobe/Adobe InDesign CS5 Server'
5. Führen Sie den SampleClient-Befehl mit dem entsprechenden Host, Anschluss und
Skriptdateipfad aus. Beispiele:
If InDesign Server is running locally:
sampleclient -host localhost:18383 yourScriptPath
If InDesign Server is running on a different system:
sampleclient -host 192.168.1.100:18383 yourScriptPath
6. SampleClient zeigt Meldungen und den Rückgabewert für das Skript im Befehlszeilenfenster
an, sodass Sie es für die Überwachung verwenden können.
Integration von InDesign Server über Java
InDesign Server bietet eine Java-API, die das Skript-DOM (Document Object Model) für
InDesign Server offenlegt. Die Kommunikation zwischen der Java-API und dem Skript-DOM
wird durch CORBA erleichtert. Wenn Sie den Java-Code ausführen, ruft die Java-API die
CORBA-API auf. Die CORBA-API wiederum sendet Befehle an den InDesign Server-C++Code, der das Skript-DOM darstellt.
Die InDesign Server-Java-API ist in Form einer JAR-Datei im InDesign Server-SDK enthalten.
Diese JAR-Datei ist für das Kompilieren und Ausführen des InDesign Server-Java-Codes
erforderlich. Die API basiert zwar auf CORBA, ist jedoch ausdrücklich für Java-Empfänger
bestimmt.
Informationen zum Entwickeln einer Java-Komponente, die mit InDesign Server
kommuniziert, finden Sie unter Working with Adobe InDesign CS5 Server Java.
24
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über Java
Schreiben einer Java-Komponente
Der erste Schritt beim Zugreifen auf InDesign Server mit CORBA besteht darin, eine JavaKomponente mit Hilfe der InDesign Server-Java-API zu schreiben. Die API bietet vollen
Zugriff auf das Skript-DOM für InDesign Server. Jede Komponente des Skript-DOM für
InDesign Server ist als Java-Klasse implementiert. Diese Klassen werden dann in der Datei
„InDesignServerAPI.jar“ kombiniert.
Das InDesign Server-SDK enthält die JAR-Datei für die InDesign Server-API (<IDS
SDK>/lib/InDesignServerAPI.jar) sowie viele Java-Codebeispiele (<IDS SDK>/samples/snippets),
die die Verwendung der InDesign Server-Java-API veranschaulichen. Working with Adobe
InDesign CS5 Server Java erklärt, wie Sie die Beispiele kompilieren und ausführen.
Ausführen einer InDesign Server-Java-Anwendung
Es gibt verschiedene Methoden zum Starten einer Java-Anwendung, die mit InDesign Server
arbeitet: mit Hilfe des Java-Werkzeugs über die Befehlszeile, mit Hilfe einer JavaStartanwendung und mit Hilfe einer Webseite mit Java-Applet. Die folgende Methode
verwendet die Befehlszeile:
1. Starten Sie InDesign Server und stellen Sie sicher, dass es so eingerichtet ist, dass es
CORBA-Befehle akzeptiert. Informationen finden Sie unter „Starten von InDesign Server
für die Verwendung mit CORBA“ auf Seite 14. Notieren Sie den IOR-Dateipfad, den die
InDesign Server-Instanz verwendet.
2. Öffnen Sie ein neues Befehlszeilenfenster. (Unter Windows verwenden Sie die
Eingabeaufforderung, unter Mac OS das Dienstprogramm „Terminal“.)
3. Verwenden Sie das Java-Werkzeug in der Befehlszeile, um den Code auszuführen. Das
Argument „-classpath“ fügt die angegebenen .jar-Dateien bzw. Verzeichnisse zum
Klassenpfad hinzu. Das JRE verwendet den Klassenpfad für die Suche nach Klassen, die
aufgerufen werden. Das zweite Argument ist der Name der Klasse, deren Methode „main()“
Sie ausführen möchten. Wenn diese Klasse in einem Paket enthalten ist, stellen Sie das
Paket dem Klassennamen voran. Im unten aufgeführten Beispiel ist es das Paket
„com.adobe.ids.sdk“. Das dritte Argument, „ior.txt“, ist ein Argument zur Methode
„main()“, die aufgerufen wird. In diesem Fall verwendet InDesign Server den Dateipfad zu
der IOR-Datei.
java -classpath "..\lib\InDesignServerAPI.jar;..\lib\samples.jar"
com.adobe.ids.sdk.mySampleClass "ior.txt"
Einführung in Adobe InDesign CS5 Server
25
Einführung in Adobe InDesign CS5 Server
Integration mit InDesign Server über ein Zusatzmodul
Integration mit InDesign Server über ein Zusatzmodul
Das Entwickeln eines Zusatzmoduls für InDesign Server benötigt die gleichen grundlegenden
C++- und objektorientierten Programmier- und Designkenntnisse, wie das Entwickeln von
Zusatzmodulen für InDesign. Da InDesign Server keine Benutzeroberfläche hat wie sein
Desktop-Gegenstück, müssen viele besondere Aspekte berücksichtigt werden, wenn ein neues
Zusatzmodul erstellt oder ein vorhandenes InDesign-Zusatzmodul für die Verwendung in
InDesign Server portiert wird.
Adobe InDesign CS5 Server Plug-in Techniques beschreibt, wie Zusatzmodule geschrieben
werden, die sicher in der InDesign Server-Umgebung ausgeführt werden können. In diesem
Dokument wird außerdem die Entwicklung von 64-Bit-Zusatzmodulen erläutert.
Damit vorhandene Zusatzmodule unter InDesign Server x64 ausgeführt werden können,
müssen Sie sie in eine 64-Bit-Version umwandeln. Sie können 32-Bit-Zusatzmodule auf einem
64-Bit-Rechner verwenden, indem Sie die 32-Bit-Version von InDesign CS5 Server ausführen.
32-Bit-Anwendungen können im Emulationsmodus „WOW64 (Win32 On Win64)“ auf 64-BitPlattformen ausgeführt werden. Das Ausführen von 64-Bit-Anwendungen auf 32-BitPlattformen ist dagegen nicht möglich.
Um über Skripten oder Java mit dem Zusatzmodul zu kommunizieren, müssen Sie das Modul
skriptfähig machen. Weitere Informationen finden Sie im Kapitel „Scriptable Plug-in
Fundamentals“ im Adobe InDesign CS5 Programming Guide. Hier wird erklärt, wie Sie die API
des Zusatzmoduls durch das Skript-DOM darstellen können.
Wenn Sie auf das Zusatzmodul von einer Java-Komponente aus zugreifen möchten, müssen Sie
sowohl die Datei „InDesignServerAPI.jar“ als auch die InDesign Server-CORBA-SupportZusatzmodul-Datei neu generieren. Durch die Neugenerierung dieser Dateien werden diesen
Komponenten die Funktionen des Zusatzmoduls hinzugefügt. Der Prozess zur
Neugenerierung der Java-API-JAR-Datei und des CORBA-Support-Zusatzmoduls wird im
Dokument Regenerating the Adobe InDesign CS5 Server Java API erklärt.
Beachten Sie, dass im InDesign Server-SDK nur eine Version der Datei
„InDesignServerAPI.jar“ enthalten ist, die sowohl die 64-Bit- als auch die 32-Bit-Version von
InDesign Server unterstützt.
26
Einführung in Adobe InDesign CS5 Server
Integration mit InDesign Server über COM (nur Windows)
Integration mit InDesign Server über COM (nur Windows)
InDesign Server veröffentlicht eine COM-Typenbibliothek, mit der COM-Komponenten mit
Schnittstelle zu InDesign Server entwickelt werden können. Die Typenbibliothek enthält
Definitionen von Klassen, Methoden und Konstanten des Skript-DOM für InDesign Server.
InDesign Server basiert auf Zusatzmodulen, daher ist das Skript-DOM davon abhängig, welche
Zusatzmodule beim Starten verfügbar sind. Damit ihre Gültigkeit gewährleistet ist, wird die
Typenbibliothek für InDesign Server beim Starten erstellt bzw. aktualisiert und auf der lokalen
Festplatte gespeichert. Die generierte .tlb-Datei wird im Ordner „Application Data“ abgelegt:
C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Adobe\InDesign
Server\<version>\<sprache>\configuration_12345\Scripting
Support\<version>\Resources for Visual Basic.tlb
Unter Windows Vista und Windows Server 2008:
C:\ProgramData\Adobe\InDesign
Server\<version>\<sprache>\configuration_12345\Scripting
Support\<version>\Resources for Visual Basic.tlb
In diesen Pfadangaben steht „configuration_12345“ für den Konfigurationsnamen der
InDesign Server-Instanz, von der die Tabellendatei erstellt wurde.
Da die COM-Typenbibliothek für InDesign Server auf dem Skript-Modell mit flexibler
Typbindung von InDesign Server basiert, verwendet sie ebenfalls die flexible Typbindung.
Beachten Sie bei der Auswahl einer Sprache zur Entwicklung Ihrer COM-Komponenten, dass
sich mit größerer Flexibilität in der Typbindung auch die Kompatibilität mit der COMTypenbibliothek für InDesign Server verbessert.
Visual Basic
Am besten geeignet für die Entwicklung einer COM-Komponente für InDesign Server ist Visual
Basic 6. Neuere Versionen von Visual Basic verwenden eine engere Typbindung, wodurch sich die
Kompatibilität mit dem InDesign Server-DOM mit flexibler Typbindung verschlechtert.
Die Verwendung von Visual Basic .NET ist ebenfalls möglich, sofern Sie die
Kompilierungsoptionen „Option Explicit“ und „Option Strict“ für das Projekt deaktivieren.
Dadurch wird die enge Typbindung von VB.NET gelockert. Sie sollten außerdem vermeiden,
Variablen über die Anweisung „Dim“ zu deklarieren, da dadurch der Typ der Variablen fixiert wird.
Da Projekte nur abgeschlossen werden können, wenn Variablen über „Dim“ deklariert werden,
können Sie die Deklaration in der Regel am Anfang einer Methode mit „Dim“ durchführen und die
Dim-Anweisung dann vor der Ausführung des Codes mit „REM“ auskommentieren.
Damit Sie die COM-Typenbibliothek für InDesign Server in Ihrem Projekt verwenden
können, müssen Sie Zugriff auf die interop-DLL für InDesign Server haben. Unter .NET
erreichen Sie dies durch einen Verweis auf die .tlb-Datei. Klicken Sie mit der rechten Maustaste
auf Ihr Projekt und wählen Sie „Verweis hinzufügen“. Wechseln Sie zur COM-Registerkarte
und suchen Sie den Eintrag „Adobe InDesign CS5 Server Type Library“. Wenn dieser nicht
aufgelistet ist, müssen Sie zunächst InDesign Server auf Ihrem Rechner starten, damit
InDesign Server die Typenbibliothek erstellt.
Einführung in Adobe InDesign CS5 Server
27
Einführung in Adobe InDesign CS5 Server
Integration mit InDesign Server über COM (nur Windows)
Um einen Verweis auf eine Instanz von InDesign Server in Ihrem Code zu erstellen,
verwenden Sie die Methode „CreateObject“. Beachten Sie, dass Sie bei mehreren Instanzen mit
„CreateObject“ die InDesign Server-Zielinstanz für das Skript nicht angeben können.
Set myApp = CreateObject("InDesignServer.Application")
Um einen Verweis auf eine bestimmte Instanz von InDesign Server in Ihrem Code zu erstellen,
verwenden Sie die Methode „GetObject“ und übergeben Sie den Konfigurationsnamen der
gewünschten InDesign Server-Instanz.
Set myApp = GetObject("configuration_12345")
Weitere Informationen und Beispiele finden Sie im Ordner „<IDS SDK>/samples/“ sowie im
Dokument Adobe InDesign CS5 Scripting Guide.
C#
C# ist zum Entwickeln von COM-Komponenten weniger geeignet. Aufgrund der engen
Typbindung von C# und der flexiblen Typbindung des Skript-DOM von InDesign Server gibt
es eine Reihe von Problemen zwischen beiden Sprachen. Bei sorgfältiger Typisierung und
präziser Parameterübergabe ist es jedoch möglich, einfache COM-Komponenten für InDesign
Server zu schreiben.
Eine mögliche Lösung besteht darin, über C#-Code die Methode „doScript“ von InDesign
Server aufzurufen und eine Skript-Datei bzw. den Text eines Skripts zu übergeben. Ein Beispiel
hierfür ist „sampleclient-csharp-com“ im InDesign Server-SDK.
Beim Entwickeln komplexer Komponenten in C# können u. a. die folgenden Probleme
auftreten:
z
C# basiert auf enger Typbindung, d. h., der Typ eines Objekts muss immer bekannt sein.
Die Folge ist, dass der Typ sämtlicher Objekte, die vom Skript-DOM abgerufen werden,
deklariert sein muss. Dies ist kein Problem, solange der Typ jedes Objekts bekannt ist.
Allerdings akzeptieren viele Methoden im Skript-DOM Variablentypen bzw. geben diese
zurück und es ist nicht immer möglich, den Typ einer zurückgegebenen Variable
vorherzusehen.
z
Sie müssen beim Aufrufen von Methoden sämtliche Parameter angeben, auch wenn diese
im Skript-DOM optional sind. Das Angeben von „null“ ist nicht zulässig. Parameter
müssen vollständige Objekte sein.
z
In bestimmten Situationen kann das Arbeiten mit optionalen Parametern unmöglich sein.
Dies ist z. B. der Fall, wenn eine Methode in der Skript-DOM zulässt, dass der erste
Parameter nicht übergeben wird, sodass InDesign Server stattdessen den zweiten Parameter
verarbeitet. Mit C# ist dies nicht möglich.
Um in C# einen Verweis auf eine InDesign Server-Instanz zu erstellen, verwenden Sie die
InteropServices-Methode „Marshal.BindToMoniker“:
myApp = (InDesignServer.Application)
(System.Runtime.InteropServices.Marshal.BindToMoniker("configuration_12345"));
Weitere Informationen und Beispiele finden Sie im Ordner „samples/“ des InDesign Server-SDK.
28
Einführung in Adobe InDesign CS5 Server
Integration von InDesign Server über LBQ
Integration von InDesign Server über LBQ
InDesign Server beinhaltet die optionale Komponente LBQ, die Funktionen für das Stellen von
Aufträgen in Warteschlangen und für Lastverteilung in InDesign Server bietet. LBQ ist
vollkommen optional und für das Ausführen von InDesign Server nicht erforderlich. Es ist
eine Lösung für Lastverteilung und Auftragswarteschlangen.
LBQ bietet Lastverteilung für mehrere Instanzen von InDesign Server, die auf einem oder
mehreren Rechnern ausgeführt werden. Es verwendet JAVA und CORBA für die
Kommunikation mit diesen Instanzen von InDesign Server, sodass jede Instanz wie unter
„Starten von InDesign Server für die Verwendung mit CORBA“ beschrieben gestartet werden
muss.
Zusätzlich zur Lastverteilung und Warteschlangenbildung unterstützt LBQ folgende
Funktionen:
z
Priorisieren von Warteschlangen
z
Statussichtbarkeit
z
Protokollierung
z
Mehrere Warteschlangen
z
Bearbeiten von Aufträgen in Warteschlangen
Clients interagieren mit LBQ über eine RESTful API. RESTful API-Aufrufe werden über eine
URL-Anfrage durchgeführt. Nach Ausführen einer Anfrage wird eine XML-Antwort
zurückgegeben.
LBQ unterstützt folgende Vorgänge:
z
EnqueueJob
z
ModifyJob
z
CancelJob
z
StartQueue
z
StopQueue
z
ReinitializeQueue
z
GetVersion
z
JobStatus
z
QueueStatus
z
IDSStatus
Genaue Beschreibungen dieser Vorgänge sowie hilfreiche Informationen zur Arbeit mit LBQ
finden Sie im Dokument „Working With Load Balancing and Queueing For Adobe InDesign CS5
Server“.
Einführung in Adobe InDesign CS5 Server
29
Einführung in Adobe InDesign CS5 Server
Handhabung von Fehlermeldungen
Handhabung von Fehlermeldungen
InDesign Server protokolliert seine Meldungen und Fehler in „stderr“ und „stdout“. Diese
Fehler und Meldungen können erfasst oder umgeleitet werden.
Zugreifen auf Fehler und Meldungen
Von einem Zusatzmodul aus können Sie die C++-APIs „MessageLog“ und/oder „IErrorList“
verwenden. Dies wird im Dokument Adobe InDesign CS5 Server Plug-in Techniques erklärt.
Verwenden Sie von der Java-API aus die ErrorListError-Objekte, die im Anwendungsobjekt
enthalten sind.
Umleiten von Fehlern und Meldungen
Wenn Sie InDesign Server aus einer Anwendung heraus ausführen, können Sie „stdout“ und „stderr“
so konfigurieren, dass Meldungen von InDesign Server an Ihre Anwendung übertragen werden.
Unter Windows können InDesign Server-Meldungen in das Anwendungsprotokoll der
Windows-Ereignisanzeige umgeleitet werden, indem InDesign Server mit dem Argument
„-LogToApplicationEventLog“ gestartet wird. Wenn Sie InDesign Server vom InDesign Server
Windows-Dienst aus ausführen, werden protokollierte Meldungen automatisch in das
Anwendungsprotokoll der Windows-Ereignisanzeige umgeleitet. Das Ereignisprotokoll kann
in der standardmäßigen Ereignisanzeige der Computerverwaltung angezeigt werden.
Unter Mac OS können Sie Meldungen in die Systemkonsole umleiten, indem Sie InDesign
Server mit dem Argument „-LogToApplicationEventLog“ starten. Das Protokoll kann über das
Dienstprogramm Konsole“ eingesehen werden.
Nächste Schritte
Nachdem Sie sich mit der Vorgehensweise zum Ausführen von InDesign Server und der
Verwendung von SOAP oder Java beim Ausführen von Beispielen aus dem SDK vertraut
gemacht haben, möchten Sie u.U. die Funktionen von InDesign Server erweitern. Schreiben
Sie dazu Skripten, Zusatzmodule oder sogar Anwendungen, die InDesign in einen SatzdateiWorkflow integrieren.
InDesign Server-Skripterstellung, Zusatzmodule und Java
Um Informationen zum Schreiben von Skripten, Zusatzmodulen und Java-Komponenten für
InDesign und InDesign Server zu erhalten, installieren Sie das SDK der InDesign-Produkte
und das InDesign Server-SDK und lesen Sie folgende Dokumente:
z Adobe InDesign CS5 Server Performance and Scalability – Bietet Benchmarks und
Informationen zum Konfigurieren des Systems, um Leistung und Skalierbarkeit von
InDesign Server zu optimieren.
z
30
Adobe InDesign CS5 Programming Guide – Bietet Informationen zum Erstellen von C++Zusatzmodulen für InDesign Server.
Einführung in Adobe InDesign CS5 Server
Nächste Schritte
z
Adobe InDesign CS5 Scripting Guide – Bietet grundlegende Informationen und zahlreiche
Beispiele zum Erstellen von Skripten in InDesign. Es gibt drei Versionen dieses Dokuments:
für AppleScript, JavaScript und VBScript.
z
Adobe InDesign CS5 Server Java API Reference – Eine Javadoc-Referenz der InDesign
Server-Java-API.
z
Adobe InDesign CS5 Server Plug-in Techniques.
z
Regenerating the Adobe InDesign CS5 Server Java API.
z
Working with Adobe CS5 InDesign Server Java.
z
Working with Adobe CS5 InDesign Server SOAP.
z
Adobe Scripting von Chandler McWilliams. New York: Wiley Publishing Inc., 2003.
ISBN 0-7645-2455-0.
JavaScript
Dokumentation zur JavaScript-Sprache und Beschreibungen zur Verwendung finden Sie hier:
z
JavaScript: The Definitive Guide, 4th Edition von David Flanagan. O’Reilly, 2001.
ISBN 0-596-00048-0.
z
JavaScript Bible. 5th Edition von Danny Goodman und Michael Morrison. John Wiley and
Sons, 1998. ISBN 0-7645-57432.
z
JavaScript Programmer's Reference von Cliff Wooton. Wrox, 2001. ISBN 1-861004-59-1.
SOAP
Informationen zur Kommunikation mit SOAP finden Sie im SOAP Primer von W3C unter
http://www.w3.org/TR/soap12-part0/.
Java
Dokumentation zur Java-Sprache und Beschreibungen zur Verwendung finden Sie hier:
z
Java in a Nutshell, 5th edition von David Flanagan. O’Reilly Media, 2005.
ISBN 0-596-00773-6
z
http://java.sun.com
CORBA
Dokumentation zu CORBA und Beschreibungen zur Verwendung finden Sie hier:
z
http://www.omg.org/gettingstarted/corbafaq.htm
z
http://omniorb.sourceforge.net/ – Bietet Informationen zur von InDesign verwendeten
ORB-Implementierung, OmniORB.
Einführung in Adobe InDesign CS5 Server
31
Einführung in Adobe InDesign CS5 Server
Häufig gestellte Fragen
Häufig gestellte Fragen
Kann ich sowohl einen SOAP-Anschluss als auch eine IOR-Datei festlegen,
wenn ich den Server starte?
Ja. InDesign Server kann SOAP- und CORBA-Befehle gleichzeitig verarbeiten. Allerdings kann
dadurch die Systemleistung beeinträchtigt werden.
Gibt es ein Verzeichnis aller Objekte und Methoden in der InDesign ServerJava-API?
Ja. Eine Java-API-Referenz ist im InDesign Server-SDK enthalten.
Gibt es ein Verzeichnis aller Klassen und Methoden in der Skript-DOM von
InDesign Server?
Ja. Eine Object Model Reference für InDesign Server ist über das Hilfe-Menü in Adobe
ExtendScript Toolkit CS5 verfügbar.
Wie rufe ich mein eigenes Zusatzmodul von der InDesign Server-Java-API
aus auf?
Dazu müssen Sie die Datei „InDesignServerAPI.jar“ und das InDesign Server-Corba SupportZusatzmodul neu generieren. Informationen hierzu finden Sie im Dokument Regenerating the
Adobe InDesign CS5 Server Java API im InDesign Server-SDK.
Kann ich mit InDesign Server kommunizieren, wenn ich es weder für SOAP
noch für CORBA starte?
Ja. Sie können über AppleScript, VBScript oder COM mit InDesign Server kommunizieren,
ohne SOAP oder CORBA zu verwenden.
32
Einführung in Adobe InDesign CS5 Server
Häufig gestellte Fragen
Wie gebe ich einen Wert von meinem Skript an den SOAP-Client zurück?
In JavaScript und AppleScript ist der Rückgabewert eines Skripts der letzte im Skript
angetroffene Wert. In VBScript definieren Sie eine Variable mit der Bezeichnung
„returnValue“, um einen Rückgabewert für das Skript festzulegen. Jedes der folgenden
Beispiele gibt den Namen des Dokuments am ersten Index zurück.
JavaScript:
var documentName = app.documents.item(0).name;
documentName;
AppleScript:
tell application "InDesignServer"
set documentName to name of document 1
end tell
documentName
VBScript:
Set myApp = CreateObject("InDesignServer.Application.CS5")
documentName = myApp.Documents.Item(1).Name
returnValue = documentName
Einführung in Adobe InDesign CS5 Server
33
Einführung in Adobe InDesign CS5 Server
Häufig gestellte Fragen
34

Similar documents