Thema der Bachelorarbeit
Evaluation von Nintex Workflow 2007 für die Erstellung von Workflow-Lösungen unter Microsoft SharePoint Technologien
Stichworte
Nintex Workflow 2007, K2 blackpoint beta 2, SharePoint, XML, Web Services, Workflows, InfoPath
Kurzzusammenfassung
Die Automatisierung und digitale Umsetzung von Geschäftsprozessen kann für Unternehmen einen großen wirtschaftlichen Mehrwert darstellen. Prozesse werden schneller und effizienter durchgeführt und die Kosten für den Gesamtprozess sinken. Aufwendige und nicht selten fehleranfällige Papierarbeit wird vermieden.
Um entsprechende Prozesse schnell und mit geringem Aufwand im Unternehmen unter Einbindung der Fachanwender, die das nötige interne Prozess-Know-how besitzen, einzuführen, bedarf es entsprechender Lösungen.
Diese Bachelorarbeit nimmt sich dieser Problematik an und analysiert eine 3rd-Party Lösung zur Umsetzung von Workflows auf Basis der Microsoft SharePoint Plattformen.
Title of the paper
Evaluation of Nintex Workflow 2007 for creating workflow solutions with Microsoft SharePoint technologies
Keywords
Nintex Workflow 2007, K2 blackpoint beta 2, SharePoint, XML, Web Services, Workflows, InfoPath
Abstract
The automation and digitalization of business processes is a valuable goal for companies. Processes can be handled faster and much more efficient. The total cost of ownership decreases and the complex and often error prone paper work is not necessary anymore.
Therefore it is critical to choose the right software tools which allow to integrate the process specialists in the implementation of new processes.
This thesis discusses these problems and evaluates a 3rd-party-tool for developing workflows under the Microsoft SharePoint platform.
Tagungsbeitrag
Im Rahmen der Aufgabenstellung von der Firma HanseVision wurden Teilergebnisse aus dieser Bachelorarbeit in Absprache mit dem Betreuer vorab veröffentlicht:
Jan Schwarzer, Sven Maier;
ct}l(o}Áu]^ZW}]vï-Party-Lösungen: Nintex Workflow und k2.blackpoint t Ein sPo]Z^V SharePoint Konferenz 2009, München, 12.Feb.2009;
Danksagung
Diese Bachelorarbeit markiert den Abschluss einer sehr schönen Zeit, wenn nicht sogar der schönsten Zeit meines bisherigen Lebens. Ohne einige Menschen wäre dieser Schritt allerdings niemals möglich gewesen und genau diesen möchte ich mit den folgenden Sätzen meinen Dank aussprechen.
Zu allererst möchte ich mich bei meinen Kommilitonen bedanken, mit denen ich diese schöne Zeit gemeinsam meistern konnte.
Im direkten Bezug auf diese Bachelorarbeit geht mein Dank an:
S Die Firma HanseVision GmbH
S Sven Maier von der Hansevision und meinem Erstprüfer Prof. Dr. Michael Schäfers, welche mich ausgezeichnet betreuten, S Prof. Dr. Bettina Buth, meiner Zweitprüferin, S Meinen Korrekturlesern: Ulf, Thomas und Martina
Zuletzt möchte ich mich bei meiner Familie bedanken, die mir jederzeit den Rücken freigehalten hat und mir mit Rat und Tat zur Seite stand.
Inhaltsverzeichnis
1 Einleitung 10
1.1 Motivation 11
1.2 Zielsetzung 12
1.3 Zielgruppen 12
1.4 Gliederung 12
1.5 Persönliche Anmerkungen 13
1.5.1 Begründung für Forcierung auf Microsoft 13
1.5.2 Gewonnene Erkenntnisse 13
2 Technologien 14
2.1 Extensible Markup Language (XML) 15
2.1.1 Bestandteile eines XML-Dokuments 16
2.1.1.1 Document Information Item 16
2.1.1.2 Element Information Item 16
2.1.1.3 Attribute Information Item 16
2.1.1.4 Comment Information Item 17
2.1.2 Gestaltung von XML-Dokumenten 17
2.1.3 XML-Schema-Definition (XSD) 18
2.1.3.1 Aufbau eines XSD-Dokuments 18
2.1.3.2 Einfache Datentypen 19
2.1.3.3 Komplexe Datentypen 20
2.2 Web Services 21
2.2.1 Web Service Standards 22
2.2.2 Service-oriented Architecture (SOA) 23
2.3 Microsoft Office InfoPath 2007 23
2.3.1 Formular vs. Formularvorlage 24
2.3.2 Bedarfsermittlung 26
2.3.2.1 Effiziente Teamarbeit 26
2.3.2.2 Integration in Arbeitsprozesse. 26
2.3.3 Kollaboration 26
2.3.4 Besonderheiten 26
2.4 SharePoint Plattform 27
2.4.1 Anwendungsdomänen 28
2.4.2 Themenbereiche 28
2.4.3 Varianten 29
2.4.3.1 Windows SharePoint Services 3.0 (WSS) 30
2.4.3.2 Microsoft Office SharePoint Server 2007 (MOSS) 30
2.4.3.3 Microsoft Office SharePoint Server 2007 for Search (MOSS) 30
2.4.3.4 Abgrenzung von MOSS 2007 zu WSS 3.0. 30
2.4.4 Gesamtzusammenhang 31
2.4.5 Leitfragen 32
2.4.6 Aufbau 32
2.4.6.1 Inhaltstypen 33
3 Workflow 35
3.1 Begriffe 36
3.1.1 Prozess 36
3.1.2 Geschäftsprozess 36
3.1.3 Workflow 36
3.1.3.1 Sequentieller Workflow 37
3.1.3.2 Zustandsbasierter Workflow 37
3.1.4 Workflow-Management 38
3.1.4.1 Aufgaben 38
3.1.4.2 Ziele 38
3.2 Workflow-Integration in SharePoint 39
3.2.1 Windows Workflow Foundation (WF) 39
3.3 Alternativen 39
3.4 Das Referenzbeispiel 39
3.4.1 Urlaubsantrag 40
3.4.1.1 Anforderungen 40
3.4.1.2 Szenario 40
4 Nintex Workflow 2007 42
4.1 Allgemeine Informationen 43
4.1.1 Rollen 43
4.1.2 Data Connection Libraries. 43
4.1.3 Forms Libraries 43
4.1.4 Cross Domaining 43
4.2 Das Tool. 44
4.2.1 Lizenzen 44
4.2.2 Partner und Kunden 44
4.2.3 Kollaboration 44
4.2.4 Installation 45
4.2.4.1 Voraussetzungen 45
4.2.5 Integration 46
4.2.5.1 Zentraladministration 46
4.2.5.2 Webseitenadministration 46
4.2.5.3 Benutzer-Menü 47
4.2.5.4 Settings-Menü 48
4.2.6 Entwicklungstools 48
4.2.6.1 Web Designer 49
4.2.6.2 Software Development Kit (SDK) 50
4.2.7 Reporting 50
4.2.8 Workflow-Historie 51
4.2.9 Versionierung 52
4.2.10 LazyApproval 52
4.3 Beispiel: Urlaubsantrag 54
4.3.1 Start 55
4.3.2 Zustand: Mitarbeiter 56
4.3.3 Zustand: Vorgesetzter 57
4.3.4 Zustand: Personalabteilung 64
4.3.5 Zustand: Ende 65
4.3.6 Das Formular 66
4.3.7 Testfälle zur Prüfung der Richtigkeit. 68
5 Analyse und Evaluation 70
5.1 Kategorien und Kriterien 71
5.1.1 Kriterienfindung 71
5.1.2 Kategorien 71
5.1.3 Kriterien. 71
5.1.4 Gewichtungen der Kategorien 72
5.2 Bewertungssystem 74
5.2.1 Berechnungsformel 75
5.2.2 Gewichtung der Kriterien 75
5.2.3 Rechenbeispiel 75
5.3 Evaluation und Ergebnis 76
5.4 Auswertung des Ergebnisses 77
5.4.1 Workflow-Engine 77
5.4.2 Usability 79
5.4.3 Infrastruktur 80
5.4.4 Dokumentation 81
5.4.5 Allgemeine Produkteigenschaften 82
5.4.6 Support 83
5.5 Vor- und Nachteile 84
5.6 Fazit 84
6 Alternative Workflow-Lösungen. 86
6.1 K2 blackpoint beta 2 87
6.1.1 Problematiken und Begründung für den Ausschluss 87
6.1.2 Besonderheiten 87
6.1.3 Vor- und Nachteile 87
6.2 SAP Business Workflow 88
6.3 BlueSpring BPM 89
6.4 Citrix Workflow Studio 89
6.5 GEDYS IntraWare 7 90
6.6 IBM Lotus Workflow 7 90
7 Zusammenfassung 91
8 Ausblick 92
Literaturverzeichnis 93
A Verzeichnisse 94
A.1 Abbildungsverzeichnis 94
A.2 Tabellenverzeichnis 95
A.3 Quellcodeverzeichnis 95
A.4 Formelverzeichnis 95
B Anhang 96
B.1 Testfragen 96
B.2 MOSS- und WSS-Funktionalitäten im Vergleich 97
B 3 Nintex Workflow 2007 Aktionen 99
1 Einleitung
Im Rahmen dieser Einleitung soll auf grundlegende Dinge eingegangen werden, die sich um die Beweggründe für die Evaluation von Nintex Workflow 2007 drehen.
Die Einleitung beginnt mit einer Motivation, warum es lohnend ist, sich mit diesem Thema auseinanderzusetzen. Gerade Fachanwender bzw. Entwickler können aus dieser Bachelorarbeit einen Mehrwert für die Arbeit mit SharePoint 1 bzw. Workflows unter SharePoint ziehen.
Die Zielsetzung nennt das eigentliche Ziel dieser Bachelorarbeit, woraufhin die Zielgruppen und die Verdeutlichung der Gliederung folgt. Hier soll vor allem der cRote Faden^ durch die einzelnen Kapitel beschrieben werden. Im Rahmen dieser Beschreibung soll jedes Kapitel kurz erläutert und das aufeinander aufbauen der Themen gezeigt werden.
Abschließen wird die Einleitung mit einigen persönlichen Anmerkungen, wo es weniger um die sachlichen Werte geht, als vielmehr um Erfahrungen, die während des Erarbeitens gesammelt wurden.
Als letztes noch eine Anmerkung zum Thema an sich: Im Laufe der Evaluation zeigte sich, dass die Bachelorarbeit nicht in der ursprünglich angedachten Form umgesetzt werden konnte. Da das Thema zuerst anders geplant war, als es jetzt umgesetzt wurde, wird die Begründung über den Wegfall von K2 blackpoint beta 2 2 von der Firma K2 eine wichtige Rolle spielen. Das Tool sollte im gleichen Maße Bestandteil dieser Bachelorarbeit werden, wie es jetzt Nintex Workflow 2007 geworden ist. Die genaueren Gründe werden in 6.1 K2 blackpoint beta 2 weiter erläutert.
1 SharePoint ist eine von Microsoft entwickelte Kommunikations- und Managementplattform und dient beispielsweise der gemeinsamen Zusammenarbeit an Inhalten in einem zentralen Firmenportal
2 K2 blackpoint beta 2 ist ein Konkurrenzprodukt zu Nintex Workflow 2007
10
1.1 Motivation
In den letzten Monaten wurde eines immer wieder deutlich: Viele Kunden der Firma HanseVision möchten Kompetenzen bei der Workflow-Entwicklung im eigenen Hause aufbauen und so wurde der Ruf nach möglichen und anwenderfreundlichen Lösungen immer lauter. Auch zeigte sich, dass Geschäftsprozesse zunehmend automatisiert und digitalisiert werden. D.h. sie werden nicht mehr Á]ºo]Zu]cStift und Papier^U}vvu]o^}(Á-Lösungen abgewickelt.
Da viele dieser Kunden auf irgendeine Art Software setzen (i.d.R. SharePoint), welche auf ihre jeweils eigene Art und Weise Dokumente speichert, Daten verwaltet oder Geschäftsabläufe in digitaler Form abbildet, muss eine Workflow-Lösung her, die sich in die bereits vorhandene Unternehmens-Infrastruktur integrieren lässt. In dieser Hinsicht ist Nintex Workflow 2007 nicht die einzige, aber die hier untersuchte Software, welche sich direkt in Microsoft SharePoint einbettet (siehe 4.2.5 Integration). Es werden jedoch noch Alternativen im weiteren Verlauf dieser Bachelorarbeit genannt (siehe Kapitel 6).
Es gibt eine Vielzahl von Argumenten, die motivieren, sich mit dem Thema dieser Bachelorarbeit zu befassen. Folgend die wesentlichen Beweggründe:
S Wachsender Markt
cDas SharePoint Universum wird sich weiter ausdehnen^U Z] Ko]À ^µo] (1). SharePoint erhält bei jeder neuen Version neue Features 3 , die mehr und mehr Kundenwünsche erfüllen und Geschäftsfelder abdecken. Daher werden hier immer wieder Fachleute gesucht, die sich mit SharePoint auskennen. Die Einsatzbereiche gehen über die einfache Entwicklung bis hin zum reinen Consulting.
S Große Verbreitung
Da SharePoint eine von Microsoft erstellte Software ist, hat diese entsprechende große Nachfragen - also viele Kunden, die eben diese nutzen. Das hat zur Folge, dass viele Kunden Dienstleistungen Dritter in Anspruch nehmen, damit diese dessen Wünsche umsetzen. In Deutschland werden die meisten SharePoint Projekte durch Firmen, wie die HanseVision, verwirklicht. Diese Firmen sind sehr spezialisiert und setzen ausschließlich auf Microsoft Produkte.
S Weitgreifender Support
Unter gewissen Voraussetzungen können die Support Möglichkeiten für das Arbeiten mit SharePoint und Nintex Workflow 2007 voll ausgeschöpft werden. Erstens gibt es den Microsoft Support, wenn es um SharePoint Fragen geht und zweitens bietet Nintex einen hervorragenden Support für die eigenen Produkte an. Beides sind wichtige Punkte, wenn es um die Einarbeitung in ein neues Tool und mit SharePoint in eine neue Umgebung geht.
S Hohes Umsatzpotential
Kunden, die sich mit SharePoint auseinander setzen bzw. es einsetzen, investieren i.d.R. auch entsprechende Budgets in Projekte. Daraus folgt auch für Projekte unter Nintex Workflow 2007 ein gewisses Potential, hier entsprechend Anwendung zu finden, da grundsätzlich alles in Verbindung mit SharePoint steht.
S Breites Kundenspektrum
Das Vorteilhafte an SharePoint ist, dass es eine sehr große Varianz an Kunden hat. Es gibt mittelständische, aber auch große Unternehmen, die SharePoint einsetzen. Deswegen ist hier
3 http://office.microsoft.com/de-de/getstarted/HA100738471031.aspx
11
ein Einsatz von Nintex Workflow 2007 zu prüfen, ob sich nicht ähnliche Muster ableiten lassen, wie es bei der HanseVision zurzeit der Fall ist.
1.2 Zielsetzung
Das Ziel dieser Bachelorarbeit ist es, die Praxistauglichkeit von Nintex Workflow 2007 zu prüfen und anhand dieser Evaluation eine Auswertung zu erstellen, um dann letzten Endes zu einem aussagekräftigen Ergebnis zu kommen. Durch dieses Ergebnis kann die Praxistauglichkeit von Nintex Workflow 2007 abgeleitet werden.
Die Auswertung soll zusätzlich Unternehmen im Entscheidungsprozess zu einer Lösung unterstützen und ihnen genauestens die Vor- und Nachteile von Nintex Workflow 2007 aufzeigen.
1.3 Zielgruppen
Inhaltlich konzentriert sich diese Bachelorarbeit auf zwei Zielgruppen, welche im Unternehmen etwaige Prozesse mit diesem Tool umzusetzen haben. I.d.R. wird eine Entscheidung, für oder gegen Nintex Workflow 2007, durch diese Zielgruppen gefällt - welche wären:
S Die Entwickler
S Und die Fachanwender (ohne Programmierkenntnisse)
1.4 Gliederung
Diese Bachelorarbeit gliedert sich in insgesamt acht Kapitel. Folgend soll die Gliederung bzw. der cRote Faden^ dieser verdeutlicht werden.
Die Einleitung in die Thematik wird von dem Kapitel 2 gefolgt. Das Kapitel 2 bildet eine sehr wichtige Grundlage für das Verständnis vieler eingesetzter Technologien, die sonst die meiste Zeit im Hintergrund verborgen bleiben. Als eine der grundlegendsten Technologien dient XML 4 . Daher sollen anfangs die nötigen Kenntnisse in XML vermittelt werden. Hierauf folgt die Thematik der Web Services 5 . Beide Themen gewinnen in der heutigen Zeit mehr und mehr an Bedeutung und werden im Rahmen dieser Bachelorarbeit vor allem in Verbindung mit Microsoft InfoPath 6 verwendet, welches im Anschluss verdeutlicht wird. Das Kapitel 2 schließt mit dem Themenkomplex der SharePoint Plattform ab. Das gesamte Kapitel ist gerade für einen Fachanwender interessant, da die wesentlichen Grundlagen geklärt werden.
Ähnlich verhält es sich mit dem Kapitel 3. Dieses schult das grundsätzliche Verständnis zur Thematik Workflows. Dabei geht es speziell um die damit verbundenen Fachbegriffe, als auch um die Integration von Workflows in SharePoint, etwaige alternative Lösungen und dem Referenzbeispiel, an welchem Nintex Workflow 2007 konkret vorgestellt wird. Dieses Kapitel ist für beide Zielgruppen gut geeignet.
Das Kapitel 4 soll dem Anwender das Tool an sich vorstellen, allgemeine Informationen zum Umgang mit Nintex Workflow 2007 vermitteln. Sowohl der Entwickler, als auch der Fachanwender finden hier den richtigen Einstieg in das untersuchte Tool.
Kapitel 5 beinhaltet die eigentliche Analyse und die Evaluation von Nintex Workflow 2007. Hier geht es ganz entscheidend darum, Nintex Workflow 2007 anhand von aufgestellten Kriterien zu beurteilen. Abschließen wird dieses Kapitel mit einer Auswertung der Ergebnisse und der Erklärung, warum das Tool an welcher Stelle wie benotet wurde. Ziel ist es hier, dem Leser einen
4 XML steht für Extensible Markup Language und ist eine Metasprache
5 Ein Web Service ist eine Internetanwendung, die es über international standardisierte Formalien ermöglicht, Informationen auszutauschen (via XML)
6 Microsoft InfoPath erlaubt es, digitale und regelbasierte Formulare zu kreieren
12
soliden Eindruck zu vermitteln, inwieweit Nintex Workflow 2007 in der Praxis einsetzbar ist und wo dessen Stärken und Schwächen liegen.
Nintex Workflow 2007 ist der zentrale Bestandteil dieser Bachelorarbeit, jedoch gibt es sowohl für SharePoint, als auch für andere Plattformen, Alternativen. Auf genau diese Alternativen soll im Kapitel 6 eingegangen werden.
Die Bachelorarbeit endet mit den Kapiteln 7 und 8, wo es darum geht, das bereits Gelernte wieder aufzugreifen und ausblickend ein paar Denkanstöße zu geben, an welcher Stelle aufbauend weiter gearbeitet werden kann.
1.5 Persönliche Anmerkungen
Bevor das Kapitel 2 startet, sollen in diesem Abschnitt noch ein paar persönliche Anmerkungen zur Bachelorarbeit aufgeführt werden.
1.5.1 Begründung für Forcierung auf Microsoft
Der erste wichtige Punkt dreht sich generell um die Frage, warum in dieser Bachelorarbeit ausschließlich auf Microsoft Lösungen gesetzt wurde. Dem liegen zwei grundlegende Aspekte zu Grunde:
S Die Firma HanseVision setzt ausschließlich auf Microsoft Lösungen und ist zudem zertifizierter Microsoft Gold Partner
S Das hier untersuchte Produkt setzt ausschließlich auf Microsoft Produkte, hier speziell auf die SharePoint Plattform
Der Markt zeigt eine Vielzahl von Alternativen auf. Vor allem in Bezug auf die SharePoint Plattform, gibt es Lösungen anderer großer Hersteller, wie beispielsweise von IBM (siehe Kapitel 6). Ähnlich verhält sich dieses mit Nintex Workflow 2007. Auf etwaige Alternativen wird entsprechend hingewiesen.
1.5.2 Gewonnene Erkenntnisse
Der zweite wichtige Punkt sind die gewonnenen Erkenntnisse aus dem gesamten Bearbeitungsprozess dieser Bachelorarbeit, die an dieser Stelle festgehalten werden sollen.
S Milestone Reports
Das Anlegen von wöchentlichen Milestone Reports 7 , um eigene Fortschritte im Laufe der letzten Monate gut verfolgen zu können, halfen enorm dabei, den Fortschrittsprozess dieser Bachelorarbeit immer wieder Richtung Ziel zu treiben. Auch halfen diese dabei, mit den betreuenden Professoren Wochenziele zu verifizieren, um so frühzeitig problemlösend einzugreifen.
S Lerneffekt
Aus der ganzen Phase konnten wertvolle Erfahrungen gesammelt werden, auch wenn es an der einen oder anderen Stelle nicht weiterging. Trotzdem wird das Anlegen solcher wissenschaftlicher Arbeiten in Zukunft zum Einen einfacher und zum Anderem effizienter. So ergibt sich nicht nur eine fachliche Kompetenz aus dieser Bachelorarbeit, sondern auch die Erfahrung, sich an einer umfangreichen Arbeit cgemessen^ zu haben.
7 Ein Milestone Report fasst in diesem Zusammenhang alle wichtigen Ereignisse einer Arbeitswoche zusammen und weißt zum Einen den zeitlichen Ablauf und zum Anderen die besonders guten bzw. besonders schlechten Ereignisse einer Arbeitswoche auf
13
2 Technologien
Das Thema dieser Bachelorarbeit ist eng verwoben mit vielen Lösungen aus der Microsoft Produktwelt. In diesem Rahmen ist es nicht möglich alle Facetten der verwendeten Lösungen in der vollen Tiefe zu beleuchten. Es wird jedoch ein Überblick über die wichtigsten Technologien im Kontext dieser Bachelorarbeit gegeben. Der Aufbau des vorliegenden Kapitels ist bewusst so gewählt, dass der Leser Schritt für Schritt an die Produkte herangetragen wird. Wichtig hierbei ist, einen Gesamtzusammenhang der hier beschriebenen Lösungen zu gewinnen und deren Einsatzmöglichkeiten kennenzulernen.
Da alle folgenden Inhalte dieses Kapitels, wie beispielsweise InfoPath oder die Web Services auf XML aufbauen, wird das Kapitel mit dem Thema XML eingeleitet. Geklärt werden soll hier in erster Linie, worum es sich bei XML handelt. Dazu werden sowohl der Aufbau eines XML-Dokuments besprochen, wie auch die Gestaltung und die Validierung von XML-Code.
Daraufhin wird auf den Themenbereich Web Services kurz eingegangen. Vor allem die Ursprünge und die technologiespezifischen Probleme von alternativen Lösungen sollen verstanden werden. Abschließend in diesem Abschnitt werden die aktuellen Standards besprochen und das Thema Service-oriented Architecture (SOA) angeschnitten (siehe 2.2.2 Service-oriented Architecture (SOA)).
Als nächster Themenbereich wird InfoPath angesprochen. Nachdem geklärt wurde, um was es sich hierbei handelt, wird auf die grundlegenden Formularmodi eingegangen, da dies essentiell für die tägliche Arbeit mit InfoPath ist. Diesem Anschnitt folgt eine kurze Bedarfsermittlung, der Kollaboration (siehe 2.3.3 Kollaboration) und abgeschlossen wird der Abschnitt mit einigen Hinweisen bzgl. der Besonderheiten von InfoPath.
Letztes Thema dieses Kapitels ist SharePoint, welches auch gleichzeitig der umfangreichste Abschnitt dieses Kapitels ist. SharePoint ist eine Software-Lösung, die mittlerweile in sehr vielen Bereichen der IT eingesetzt wird. Daher werden in diesem Abschnitt grundlegende Fragestellungen zu SharePoint geklärt und schwerpunktmäßig der Gesamtzusammenhang dieser Thematik, der Aufbau, die Einsatzgebiete und die Darstellung der verschiedenen Produktvarianten im Vergleich vorgestellt. Zudem werden Leitfragen besprochen, die bei der Entscheidungsfindung für eine SharePoint Lösung behilflich sein sollen.
Ziel dieses ganzen Kapitels ist es, dem Leser ein grundsätzliches Verständnis für die, in den darauf folgenden Kapiteln verwendeten, Technologien zu vermitteln. Gerade der Einstieg in die hier untersuchte Workflow-Lösung sollte sich nach diesem Kapitel, vor allem aber nach dem Abschnitt über SharePoint, einfacher gestalten. Auch sind die Code-Beispiele im XML-Abschnitt so gewählt, dass an dieser Stelle selber ausprobiert und nachprogrammiert werden kann.
14
2.1 Extensible Markup Language (XML)
XML wird zur Darstellung hierarchisch strukturierter Daten in Form von lesbaren Textdateien eingesetzt. Geschichtlich betrachtet stammt XML von der Beschreibungssprache Standard Generalized Markup Language (SGML) ab und enthält entsprechend eine Untermenge der Sprachmöglichkeiten von SGML (2).
SGML ist eine Metasprache. Das bedeutet, dass SGML in der Lage ist, eigene Sprachen zu definieren und man mit Hilfe dieser Sprache über andere Sprachen Aussagen machen kann. Ein Beispiel zur Verdeutlichung: Wenn beispielsweise in der deutschen Sprache über eine andere Fremdsprache gesprochen wird, dann ist die deutsche Sprache in diesem Falle die Metasprache und die, über die in diesem Moment gesprochene Fremdsprache, die Sprache, über welche Aussagen getroffen werden.
Was bedeutet dies im Hinblick auf XML? XML ermöglicht es, Grammatikstrukturen zu definieren (siehe Quellcode 1). Diese Grammatikstrukturen beschreiben eine Art eigene Sprache - die Metasprache, die wiederrum mit natürlich sprachlichen Informationen gefüllt wird. Diese natürlich sprachlichen Informationen repräsentieren die eben genannte Fremdsprache.
Der große Vorteil von XML gegenüber anderen Sprachen, wie beispielsweise
HTML
8
ist, dass sämtliche Elemente mit frei definierbaren Namen belegt werden können. In HTML gibt es nur vordefinierte Elemente wie
, ,
usw. In XML hingegen, können Elemente wie
Im Gegensatz zu HTML, ist XML Case-sensitive, d.h. es achtet auf die Groß- bzw. Kleinschreibung der einzelnen Elemente. Was jedoch beide gemein haben ist, dass beide Sprachen plattformunabhängig sind. Das ist natürlich dann interessant, wenn Systeme in Kommunikation treten sollen, die unterschiedliche Betriebssysteme nutzen. Ein anderes Beispiel wäre die Kommunikation von zwei Anwendungen, die in unterschiedlichen Sprachen entwickelt wurden. Auch hier ist die Anwendung von XML als Kommunikationsmedium einfach und praktikabel.
XML-Dokumente sind i.d.R. Dateitypen im XML-Format und tragen die Dateiendung
*.xml
während HTML-Dokumente die Dateiendung
*.html
haben. HTML und XML sind nicht zu
8
HTML steht für Hypertext Markup Language, welches eine Beschreibungssprache ist und der Darstellung von Informationen in einem Browser dient
15
verwechseln. Beide besitzen deren Einsatzgebiet entsprechende Eigenschaften. Während es in HTML in erster Linie darum geht, das Aussehen von Dokumenten optimal und den Wünschen des Anwenders entsprechend zu formatieren, wird in XML hingegen nur die eigentliche Struktur eines Dokumentes festgelegt. Hier wird also ganz klar die Darstellung vom Inhalt abgekoppelt. Die eigentliche Formatierung findet mittels der
Extensible Stylesheet Language (XSL)
(siehe
2.1.2 Gestaltung von XML-Dokumenten)
oder
Cascading Style Sheets (CSS)
9
statt. Auf die Cascading Stylesheets wird im Rahmen dieser Bachelorarbeit nicht weiter eingegangen.
2.1.1 Bestandteile eines XML-Dokuments
Ein XML-Dokument besteht aus genau einem
Information Set.
Ein Information Set beinhaltet alle Informationen eines Dokuments, also welche Elemente, Attribute, Kommentare usw. es enthält. Ein XML-Dokument ist somit ein Information Set mit n-beliebigen Einträgen, also konkret dessen verschiedenen Informationen.
In diesem Abschnitt sollen die wesentlichen Komponenten anhand von einfachen Beispielen erläutert werden.
2.1.1.1 Document Information Item
In
Quellcode 2
ist ein Document Information Item definiert, der äußere Rahmen bzw. die Grundkonfiguration eines XML-Dokuments. Es definiert die Version
À]}v)^íXì^
sowie das Codierungsschema
v}]vP)^hd&-ô^.
Das Codierungsschema ist beliebig wählbar.
2.1.1.2 Element Information Item
Quellcode 3
zeigt Element Information Items, welche die Struktur eines XML-Dokuments definieren, indem diese ineinander verschachtelt werden. Diese bilden das Korsett für die anfangs erklärte Objektsprache. Wie bereits im vorhergegangenen Abschnitt erwähnt, sollten die Elemente aussagekräftige Namen tragen.
2.1.1.3 Attribute Information Item
In
Quellcode 4
ist ein Attribute Information Item zu sehen, welches im Gegensatz zu den Element Information Items keine weitere Unterstrukturierungen erlaubt. D.h. diese können nicht weiter verschachtelt werden. Die Hauptaufgabe ist es, einem Element Eigenschaften zuzuweisen.
9
Cascading Style Sheets sind vor allem bekannt für die Gestaltung von HTML-Dokumenten
16
2.1.1.4 Comment Information Item
Mit Hilfe des Comment Information Items werden Kommentare in XML definiert. Ein einfaches Beispiel ist in
Quellcode 5
zu sehen.
2.1.2 Gestaltung von XML-Dokumenten
Der Vollständigkeit halber ein kurzer Überblick über XSL bzw.
XSL Transformation (XSLT)
10
: Mit Hilfe von XSL werden Layouts und Transformationen für XML-Dokumente definiert, weshalb diese häufig auch
cStylesheets^
genannt werden. Diese Definitionen können in ein XML-Dokument eingebunden werden. Wenn mit HTML bereits Erfahrungen gesammelt wurden, gestaltet sich XSL als nicht weiter schwierig. Lediglich das Einbinden der entsprechenden XML-Elemente in ein XSL-Dokument ist an dieser Stelle neu.
XSL-Dokumente werden im XML-Dokument mittels
Processing Instructions (PI)
eingebunden. Diese dienen dazu, Code aus anderen Dokumenten in einem Dokument zur Verfügung zu stellen, so dass dieses die entsprechenden Informationen verarbeiten kann. Umschlossen werden PIs immer von einem öffnenden
und einem schließenden
?>.
Ein in der Praxis sehr häufig angewandtes Beispiel einer PI ist eben das Einbinden eines XSL-Dokuments in ein XML-Dokument. Auch das Document Information Item, also der standardmäßig eingebundene Hinweis auf die XML-Version und das Codierungsschema ist eine PI. Hier ist vor allem die Definition der Codierungsschemata wichtig.
An diesem Beispiel ist gut zu sehen, wie einfach sich die Programmierung von XML-Dokumenten gestaltet, die um XSL-Dokumente erweitert werden.
In
Quellcode 6
ist ein einfaches XML-Dokument zu sehen. Farblich hervorgehoben sind die PIs, die zuvor vorgestellt wurden. Die untere der beiden PIs enthält zwei Dinge: Zum Einen den Hinweis
10
XSLT ist Teil von XSL. Mit Hilfe von XSLT ist es ferner möglich, ein Ursprungs-XML-Dokument in ein völlig neues Format zu überführen
17
darauf, dass es sich bei dem zu verarbeitenden Dokument um ein Stylesheet
xml:stylesheet
handelt und zum Anderen wird der Typ
text/xsl
und der Verweis zum XSL-Dokument
beispiel.xsl
definiert. Die eigentliche XML-Struktur ist bereits aus dem Abschnitt
2.1.1.2 Element Information Item
bekannt.
Im unteren Bereich steht der Code des XSL-Dokuments. Hier sind farblich der HTML-Code und die PI hervorgehoben. Es sei auf den kleinen Teil von
Inline-CSS-Code
11
color: red; font-weight: bold;
hingewiesen. Es ist leicht zu erkennen, wie einfach sich die Gestaltung von XML-Elementen mittels XSL in Verbindung mit HTML und CSS erweist. Mit Hilfe des Tags
xsl:value-of
wird konkret der Wert aus dem XML-Dokument gelesen: In diesem Fall der Wert aus
Person/Name,
was gleichzeitig der Suchhierarchie im XML-Dokument entspricht.
Das Ergebnis im Browser kann der
Abbildung 1
entnommen werden:
2.1.3 XML-Schema-Definition (XSD)
Ein wichtiger Bestandteil von XML sind die
Schema-Definitionen.
Mit Hilfe einer Schemasprache beschreibt XSD eigene Datentypen und Instanzen bzw. Gruppen von Instanzen, also die XML-Dokumente an sich, dieser Datentypen. XSD unterscheidet zwischen einfachen und komplexen Datentypen (siehe
2.1.3.2 Einfache Datentypen
bzw.
2.1.3.3 Komplexe Datentypen).
Wenn ein XML-Dokument eine Schema-Definition einbindet oder anders ausgedrückt, sich von einer Schema-Definition ableitet, muss es sich an die vordefinierten Regeln aus dem XSD-Dokument halten. XSD-Dokumente tragen die Dateiendung
*.xsd.
Schema-Definitionen sind immer dann ratsam, wenn es darum geht, den Informationsgehalt eines XML-Dokuments zu gewährleisten. Das hier aufgegriffene Problem ist, dass XML-Elemente frei benennbar sind und es so unter Umständen zu Kommunikationsschwierigkeiten zwischen zwei Parteien kommen kann. Ein klassischer Anwendungsfall wäre ein Web Service (siehe
2.2 Web Services),
bei welchem zwei Systeme über eben diesen in Kommunikation treten und Schnittstelleninformationen in einem XML-Dokument von einer Seite nicht eingehalten wurdenalso ein Verstoß gegen die Konventionen der Schema-Definitionen vorliegt.
2.1.3.1 Aufbau eines XSD-Dokuments
Ein XSD-Dokument enthält, wie auch ein normales XML-Dokument, ein Document Information Item (siehe
2.1.1.1 Document Information Item).
Neu hingegen ist das
11
Ein Stück Quellcode, welches nicht in einer separaten Datei ausgelagert ist
18
weiteren Elementen. In
Quellcode 7
ist dieser Bereich durch
markiert worden. Die zusätzlich farbig markierte Zuweisung, ist die Zuweisung des Standard Namensraums und wird mit der Anweisung
Æuov
)
cZWllÁÁÁXÁïX}PlîììílyD>^Zu^
definiert. Diese Zuweisung muss in jedem XSD-Dokument definiert sein.
Mit Hilfe des Attributes
xmlns:xsd
wird auf den eben definierten Namensraum verwiesen. Oder anders ausgedrückt: So wird sichergestellt, dass nur Instanzen von einem Namensraum referenziert werden. Das hat den Hintergrund, dass in einem XML-Dokument mehrere Elemente mit identischen Namen auftreten können, dadurch aber eindeutig identifiziert werden.
xsd
ist in diesem Zusammenhang ein frei gewählter Bezeichner bzw. ein so genanntes
cPräfix^,
über welches alle in einem Namensraum definierten Elemente angesprochen werden können.
Eine kurze Anmerkung noch zum Thema Validation von XSD: Zur Überprüfung von XSD-Code und dem daraus instanziierten XML-Code kann beispielsweise das einfache und hilfreiche Onlinetool
XML Schema Validator
12
von der Firma DecisionSoft genutzt werden. Das Praktische daran ist, dass sogar hilfreiche Fehlermeldungen bei einem nicht validen Dokument ausgegeben werden, was sich während der Arbeit an diesem Themenabschnitt als besonders hilfreich erwies!
2.1.3.2 Einfache Datentypen
Es gibt eine Vielzahl von einfachen Datentypen, wie in
Quellcode 8
zu sehen ist. Diese werden mit dem Element
simpleType
definiert. Je nachdem, welche Daten konkret für ein Element oder ein Attribut erwartet werden, kann auch explizit der Typ dazu angegeben werden. Das ist beispielsweise ein Vorteil gegenüber dem veralteten Standard
Documenttype Definition (DTD)
13
. Die Schreibweise für einen Typen lautet immer:
Namensraum:Typ.
Im folgenden Beispiel wird der definierte Namensraum
xsd
wieder aufgegriffen und eine Sammlung der wichtigsten Datentypen in XSD gezeigt.
Wichtig ist: Ein einfacher Datentyp kann im Vergleich zu komplexen Datentypen keine eigenen Elemente oder Attribute beinhalten. Des Weiteren leitet sich ein einfacher Datentyp immer von einem Basistypen ab. Es gibt in XSD drei erlaubte Ableitungsformen: als
Beschränkung,
als
Liste
und als
Union.
Der Typ
double
ist beispielsweise eine beschränkte Ableitung des Typs
decimal,
d.h. dieser hat einen kleineren Gültigkeitsbereich. Im folgenden Beispiel wird das Prinzip eines einfachen Datentyps verdeutlicht. Dazu wird eine Liste als Ableitungsform des XSD-Dokuments verwendet.
12
http://tools.decisionsoft.com/schemaValidate/
13
Documenttype Definitions sind eine veraltete Technologie, die ähnlich wie XSD, Regeln für ein XML-Dokument definiert
19
Sowohl im XSD-Code, als auch im XML-Code sind die wesentlichen Neuerungen bis hier farblich markiert worden.
Im oberen Bereich von
Quellcode 9
findet sich der zu validierende XML-Code, also eine mögliche Instanz des XSD-Codes. In diesem Fall ist der XML-Code eine valide Instanz, da dieser den definierten Regeln aus dem XSD-Dokument genügt.
Im unteren Bereich befindet sich der XSD-Code. Dieser macht nichts weiter, als ein Element
listItem
vom Typen
listOfStrings
und einen einfachen Datentypen
listOfStrings
zu definieren. Auf diesen einfachen Datentypen wird im Element verwiesen. Ohne ein Element kann ein einfacher Datentyp nicht dargestellt werden. Innerhalb des einfachen Datentypens wird eine Liste definiert, die sich aus
n
Strings zusammensetzen kann. Eine valide Instanz dieses XSD-Codes verhält sich also, wie der XML-Code weiter oben. Die Zeichenkette
a b c d e f
ist nicht aus Gründen der Übersicht mit
Leerzeichen
getrennt - das Leerzeichen ist ein fester Separator für Listeneinträge.
Es sei am Rande erwähnt, dass die Reihenfolge der Definitionen des Elements und des einfachen Datentypen keine Rolle spielen. Das Element
listItem
könnte genauso gut über dem einfachen Typ
listOfStrings
definiert werden.
2.1.3.3 Komplexe Datentypen
Ein komplexer Datentyp ist eine logische Gruppierung von Elementen und/oder Attributen. Dieser wird mit Hilfe des Elements
complexType
definiert. Das Vorteilhafte an den komplexen Datentypen ist, dass der Anwender dadurch in die Lage versetzt wird, Elemente ineinander zu verschachteln und so gewünschte Hierarchien im Dokument aufzubauen.
In
Quellcode 10
ist die Arbeitsweise eines komplexen Datentypens gut erkennbar. Der Code an sich bringt nicht viel Neues mit sich. Im Wesentlichen wurde hier das bekannte Beispiel aus
Quellcode 9
erweitert.
20
Arbeit zitieren: Jan Schwarzer, 2009, Evaluation von Nintex Workflow 2007 für die Erstellung von Workflow-Lösungen unter Microsoft SharePoint Technologien, München, GRIN Verlag GmbH Dieser Text kann über folgende URL aufgerufen und zitiert werden: Einbetten DOI CAM Computergestützte Fertigung Ingenieurwissenschaften - Wirtschaftsingenieurwesen Hausarbeit, 9 Seiten Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha... Für MS Word 2003 - Update 2010 Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 25 Seiten Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar... Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 35 Seiten Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb... Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 15 Seiten Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit Für MS Word 2007 - dotx Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 25 Seiten Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse... Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 20 Seiten Erstellen einer schriftlichen Hausarbeit Vorlagen, Muster, Formulare, Infobroschüren Hausarbeit, 14 Seiten Grundtechniken wissenschaftlichen Arbeitens Bibliografieren - Reden - Schr... Vorlagen, Muster, Formulare, Infobroschüren Skript, 46 Seiten Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ... Vorlagen, Muster, Formulare, Infobroschüren Ausarbeitung, 39 Seiten Jan Schwarzer's Text Evaluation von Nintex Workflow 2007 für die Erstellung von Workflow-Lösungen unter Microsoft SharePoint Technologien ist nun auf dem Buchmarkt erhältlich Jan Schwarzer hat den Text Evaluation von Nintex Workflow 2007 für die Erstellung von Workflow-Lösungen unter Microsoft SharePoint Technologien veröffentlicht Jan Schwarzer hat einen neuen Text hochgeladen Professional Microsoft SharePoint 2007 Reporting with SQL Server 2008 ... Jacob J. Sanford, Coskun Cavusoglu, Reza Alirezaei Concepts, Technologies, and Ap... Rudi Studer, Stephan Grimm, Andreas Abecker The Semantic Web: A Guide to the Future of XML, Web Services, and Know... Leo Obrst, Kevin T. Smith, Michael C. Daconta Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and ... Making Sense of XML, SOAP, WSD... Stephen Graham, Simeon Simeonov, Glen Daniels,
,
Textauszug: 11 von 101 Seiten -
nach oben
Beschreibung
Ähnliche Arbeiten
Kommentare
Neuigkeiten
So funktioniert's
Ähnliche Arbeiten
Facebook
Neuigkeiten
Bücher zum Thema
0 Kommentare