Konzeption eines IDML Servers

  • Published on
    12-May-2015

  • View
    2.255

  • Download
    6

Transcript

  • 1.FOM Hochschule fr Oekonomie & ManagementStudienzentrum EssenMaster-Thesiszur Erlangung des Grades einesMaster of Arts (M.A.)ber das ThemaKonzeption eines IDML ServersvonPeyman PouryektaErstgutachter Professor Dr.-Ing. Torsten FinkeMatrikelnummer 198124Abgabedatum 2013-04-15

2. 2Inhaltsverzeichnis1 Einleitung........................................................................................................................................... 41.1 Sachliche Motivation................................................................................................................ 41.2 Ziele.......................................................................................................................................... 41.3 Leserkreis................................................................................................................................. 41.4 Typografische Konventionen.................................................................................................... 51.5 Literaturdiskussion................................................................................................................... 52 Grundlagen......................................................................................................................................... 62.1 Softwarearchitektur.................................................................................................................. 62.1.1 Definition........................................................................................................................ 62.1.2 Architekturmuster........................................................................................................... 82.1.3 Entwurfsmuster............................................................................................................. 102.2 Webservice............................................................................................................................. 122.2.1 Definition...................................................................................................................... 122.2.2 SOAP............................................................................................................................ 122.2.3 REST............................................................................................................................ 132.3 Grails...................................................................................................................................... 142.3.1 Einordnung................................................................................................................... 142.3.2 Groovy.......................................................................................................................... 152.3.3 Spring........................................................................................................................... 202.3.4 Konzepte....................................................................................................................... 212.3.5 Applikation................................................................................................................... 212.4 IDML...................................................................................................................................... 302.4.1 InDesign........................................................................................................................ 302.4.2 Dateiformat................................................................................................................... 322.4.3 IDMLlib........................................................................................................................ 353 Umsetzung....................................................................................................................................... 373.1 Konzept.................................................................................................................................. 373.1.1 Anforderungen.............................................................................................................. 373.1.2 Systemarchitektur......................................................................................................... 373.1.3 Webservice.................................................................................................................... 393.1.4 Process-Engine............................................................................................................. 413.2 Praktische Umsetzung............................................................................................................ 423.2.1 Systemanforderungen................................................................................................... 423.2.2 Prototyp........................................................................................................................ 423.2.3 Szenarien...................................................................................................................... 534 Schlussbetrachtung.......................................................................................................................... 61 3. 34.1 Ergebnisse.............................................................................................................................. 614.2 Bewertung.............................................................................................................................. 624.3 Blick in die Zukunft .............................................................................................................. 63Abbildungsverzeichnis........................................................................................................................ 65Abkrzungsverzeichnis....................................................................................................................... 66Literaturverzeichnis............................................................................................................................ 68Stichwortverzeichnis........................................................................................................................... 71 4. 41 EinleitungDiese Thesis beschftigt sich mit der Fragestellung, wie ein IDML-Server aufgebaut sein und ob die-ser Vorteile bringen kann. Es wird ein Konzept erstellt, auf dessen Basis ein IDML-Server entwickeltwerden kann. Durch unterschiedliche Szenarien, die mit Hilfe des IDML-Servers abgebildet werden,knnen die Vorzge eines solchen Servers aufgezeigt werden.Es folgen die sachliche Motivation, die Ziele und die Literaturdiskussion dieser Arbeit.1.1 Sachliche MotivationIn der Druck- und Medienindustrie wird zur Erstellung von Medienprodukten hufig das ProgrammAdobe InDesign (im weiteren Verlauf InDesign) verwendet. InDesign ist proprietr und das Dateifor-mat kann somit nur von InDesign verwendet werden. Ab der CS4 Version von InDesign hat das Unter-nehmen Adobe ein neues Dateiformat eingefhrt das sich InDesign Markup Language (IDML) nennt.Dieses Format ist einmal fr die Versionskompatibilitt zwischen den InDesign Versionen ab CS4verantwortlich und zum anderen fr die externe Verarbeitung von InDesign-Dokumenten. Dadurch dasIDML offengelegt wurde, knnen neue Mglichkeiten im Bereich von Automatisierungen auerhalbvon InDesign entwickelt werden. IDML ist jedoch ein komplexes Dateiformat und der Umgang damiterfordert tiefes Wissen ber InDesign und IDML. Um diese Komplexitt beherrschbar zu machen,sind Systeme notwendig, die von IDML-Spezialisten entwickelt werden und den Umgang mit IDMLzu verweinfachen. Oft kommt es in der Druck- und Medienindustrie vor, dass Kosten durch wieder-kehrende Prozesse entstehen. Hufig knnen solche Prozesse individuell durch IDML automatisiertwerden. Ein weiterer Aspekt ist, dass einfache Aufgaben oft abhngig von InDesign sind, wodurchzustzlicher Arbeitsaufwand sowie Lizenzkosten entstehen knnen. Durch den Einsatz von IDMLkann in bestimmten Bereichen eine von InDesign unabhngige und in andere Systeme integrierbareLsung geboten werden.1.2 ZieleDiese Arbeit zeigt ein Konzept auf, mit dem der Umgang von IDML-Dateien gestaltet werden kann.Der IDML-Server fungiert dabei als ein Werkzeug, welches man fr die IDML-Verarbeitung verwen-den kann. In dieser Arbeit steht der IDML-Server im Fokus. Darber hinaus soll der produktive Ein-satz eines solchen Servers dargestellt werden. Dazu werden aus der Druck- und Medienindustrie unter-schiedliche Szenarien betrachtet, die den produktiven Einsatz eines IDML-Servers besttigen sollen.1.3 LeserkreisDie Arbeit ist hauptschlich an Personen aus der Informationstechnik gerichtet, die sich mit IDMLbeschftigen und dessen Einsatzmglichkeiten betrachten wollen. Ein grundsolides Vorwissen ber 5. 5Softwareentwicklung im Bereich Java und ber Desktop-Publishing mit InDesign wird vorausgesetzt.Ein Vorwissen ber die Themen aus dem Grundlagenkapitel ist von Vorteil. Tieferes Wissen kann undsoll ber die Referenzen aus dem Literaturverzeichnis herangezogen werden.1.4 Typografische KonventionenIn dieser Arbeit wird auf die typografischen Konventionen Wert gelegt, um dem Leser das komplexeThema bestmglich zu erlutern. Folgende Konventionen werden eingehalten:Flietext: Die Schriftart fr den Flietext ist eine Times in der Gre 12 pt.Code: Groovy, HTML, XML, IDML, Grails-Kommandos, URLs, Parameter und alle Elemente,die darin verwendet werden, werden in der Schriftart Courier New mit 11 pt ausgezeichnet.Dateinamen: Datei-, Ordnernamen und Pfade werden in der Schriftart Times mit dem Stil Italicausgezeichnet.Diagramm: Die Typografie in den Diagrammen wird in Arial mit 11 pt und 8 pt ausgezeichnet.1.5 LiteraturdiskussionDer Kern dieser Thesis beschftigt sich mit der Orchestrierung der Themen aus dem Grundlagenkapi-tel zu einer Komposition - dem Konzept. Dabei wird bei den Grundlagenthemen auf ihre Kernkonzep-te eingegangen, um ein Basisverstndnis zu vermitteln.Die wichtigsten Literaturangaben dieser Arbeit beziehen sich auf den Bereich der Frameworks. Da dasGrails- und das Spring-Framework eine zentrale Rolle in dieser Konzeption spielen, wurde hier aufden Verweis der Primrliteratur besonderer Wert gelegt. Rod Johnson (Spring-Framework), GraemeRocher (Grails-Framework) und Guillaume Laforge (Groovy) sind dabei die Kpfe der jeweiligenTechnologien. Zum Thema IDML ist kaum Literatur vorhanden, deshalb wird hauptschlich mit derIDML-Spezifikation gearbeitet. Diese behandelt jedoch nicht ausreichend den Einsatz von IDML,weshalb Vorwissen ber InDesign und eine eigenstndige Motivation zur Erarbeitung von Kenntnissenim Bereich IDML vorausgesetzt wird. 6. 62 GrundlagenDieses Kapitel beschftigt sich mit den grundlegenden Themen, die fr das Verstndnis der Arbeit re-levant sind. Als Erstes wird der Begriff Softwarearchitektur beleuchtet. Hier wird vor allem erlutert,was eine Softwarearchitektur ist, welche Ziele sie verfolgt und wie diese umgesetzt werden kann.Im Kapitel 2.2 wird erlutert, was unter einem Webservice zu verstehen ist. Dabei werden die Techno-logien Simple Object Access Protocol (SOAP) und Representational State Transfer (REST) betrachtetsowie ihre Funktionsweise erlutert.Das Kapitel 2.3 beschftigt sich mit dem Grails-Framework. Hier werden die Konzepte des Frame-works erlutert. Auch die eingesetzte Sprache Groovy wird hier betrachtet und grundstzlich gezeigt,wie eine Grails-Applikation aufgebaut ist.Anschlieend wird im Kapitel 2.4 auf die IDML eingegangen. Zunchst wird erklrt, was berhauptInDesign ist. Danach wird das Dateiformat IDML betrachtet und sein Aufbau beschrieben. Danachwird auf die Mglichkeit eingegangen, wie dieses Format verarbeitet werden kann.In allen Grundlagenkapitel werden nur die wesentlichen Aspekte angesprochen. Genauere Informatio-nen knnen anhand des Literaturverzeichnisses herangezogen werden.2.1 SoftwarearchitekturIn diesem Abschnitt wird der Begriff Softwarearchitektur erlutert. Es beginnt mit der Definition desBegriffes. Dann wird auf dieArchitekturmuster und Entwurfsmuster eingegangen. Diese sind abstrakteBeschreibungen einer Lsung fr hufig vorkommende Probleme. Dabei betrachtenArchitekturmusterzum einen das gesamte System, whrend Entwurfsmuster auf sehr spezielle Probleme ausgerichtetsind.2.1.1 DefinitionSoftwarearchitektur befasst sich mit der Gestaltung und der Struktur eines Softwaresystems. Es exis-tiert eine Vielzahl an Definitionen.Philippe Kruchten erlutert den Begriff auf diese Weise:Software architecture deals with abstraction, with decomposition and composition,with style and esthetics. [Kruchten1995, S.1]Der Fokus von Kruchten liegt dabei auf Abstraktion, Zerlegung, Zusammensetzung, sthetik und Stilder Softwarearchitektur.Das Carnegie Mellon Software Engineering Institute (SEI) stellt auf seiner Webseite mehr als 100Definitionen zur Verfgung [vgl. Carnegie2012]. Anhand dieser Sammlung kann grundstzlich gesagtwerden, dass Softwarearchitektur sich mit folgenden Aspekten beschftigt: 7. 7Struktur: Eine Softwarearchitektur beschreibt die Komponenten eines Softwaresystems. Es gehthierbei nicht nur um den Aufbau, sondern auch um das Zusammenspiel, die Beziehungen und dieEigenschaften der Komponenten. Somit ist die Softwarearchitektur nicht nur der Bauplan, sondernauch der Ablaufplan des Softwaresystems. [vgl. Starke2009, S.16] Eines ihrer der Hauptziele istes, die Komplexitt eines Softwaresystems mit Hilfe einer Struktur beherrschbar zu machen.Beschreibung einer Lsung: Eine Softwarearchitektur wird in Form von Plnen realisiert. Siebeschreibt eine Lsung und besteht aus abstrakten Komponenten. Diese Plne fhren durch diekonkrete Implementierung zur Realisierung eines Systems. [vgl. Starke2009, S.16]Entwurfsentscheidungen: Eine Softwarearchitektur basiert auf Entwurfsentscheidungen. Hier-bei spielt sowohl die Wahl der Technologie, als auch die Wahl des Aufbaus von Komponenten einewichtige Rolle. [vgl. Starke2009, S.17] An dieser Stelle knnen Entwurfsmuster (design patterns)ansetzen, um eine Lsung fr bekannte Entwurfsprobleme zu bieten.bergang von der Analyse zur Realisierung: Eine Softwarearchitektur ist das Bindeglied zwi-schen der Analyse und der konkreten Implementierung des Softwaresystems. [vgl. Starke2009,S.17] Generell wird Software entwickelt, um ein bestehendes oder zuknftiges Problem zu l-sen. Dieses Problem wird im Rahmen der Analyse erfasst. Die Softwarearchitektur beschreibt dieFunktionsweise und den Aufbau des Systems, welches das Problem lst. Sie dient bei der Soft-wareentwicklung als Vorgehensmodel.Sichten: Eine Softwarearchitektur wird in unterschiedlichen Sichten dargestellt. Philippe Kruch-ten unterscheidet dabei die fnf folgenden Sichten: logical view process view development view physical view scenarioDurch die Sicht auf die Architektur aus einem bestimmten Blickwinkel kann die Architektur ge-nauer betrachtet und gestaltet werden, da andere Bereiche so ausgebl...

Recommended

View more >