Entwurf eines Dienstes zur Dokumentenverwaltung auf Basis von Web Services

Größe: px
Ab Seite anzeigen:

Download "Entwurf eines Dienstes zur Dokumentenverwaltung auf Basis von Web Services"

Transkript

1 Technische Universität Dresden Fakultät für Informatik Institut für Systemarchitektur Professur für Rechnernetze Entwurf eines Dienstes zur Dokumentenverwaltung auf Basis von Web Services Belegarbeit Name Jan Häußler Matrikelnummer Eingereicht am Verantwortlicher Hochschullehrer Wissenschaftliche Betreuerin Prof. Dr. Alexander Schill Dipl.-Inform. Iris Braun

2 Selbständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig verfasst, diese noch nicht anderweitig zu Prüfungszwecken vorgelegt, keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie wörtlichen und sinngemäße Zitate als solche gekennzeichnet habe. Dresden, Jan Häußler i

3 Inhaltsverzeichnis 1 Web Services Einführung WSDL Komplexe Datentypen Interfaces Binding Service und Endpoint Modularisierung Zusammenfassung SOAP Das SOAP Nachrichtenformat UDDI Plattformen J2EE NET J2EE versus.net Ressource Description Framework RDF-Modell RDF-Schema Web Ontology Language Anwendungen Dublin Core Metadata Initiative RSS Dokumenten-Management-Systeme Einführung Dokumente Dokumenten-Management-Systeme Funktionsbereich Eingabe Funktion Dokumenteneingang Funktion Indizieren Funktionsbereich Ablage Funktion Verwaltung Funktion Archivierung Funktionsbereich Ausgabe Funktion Recherche Funktion Reproduktion Funktionsbereich Administration Vorhandene Implementierungen ii

4 3.6.1 STS.net Saperion AG Klassifizierung Entwicklung des Dienstes Anforderungsanalyse Grundlegende Strukturen Dokumente und Dokumenten-Management Indizierung Retrieval Zugriffs-Management Monitoring Features Entwurf Ontologien Package doc.documentmanager Package doc.retrievalmanager Package sys.accessmanager Package sys.monitormanager Package sys.toolmanager Fazit und Ausblick Anhang Verwendete Software iii

5 Abbildungsverzeichnis 1.1 Das Web Service Modell Message Exchange Pattern [Dhe05] Das SOAP Nachrichtenformat Das J2EE Schichtenmodell Die Komponenten des.net Frameworks Funktionsbereiche eines Dokumenten-Management-System Grundschema Retrievalfunktion Use Case: Dokument einladen Use Case: Check-Out Use Case Check-In Use Case: Suche Übersicht Dokument-Ontologie Klassendiagramm: Document-State-Beziehung Klassendiagramm: DocumentManager-Schnittstellen Klassendiagramm: RetrievalManager-Schnittstelle Klassendiagramm: AccessManager-Schnittstelle Klassendiagramm: MonitorManager Klassendiagramm ToolManager Klassendiagramm: DocumentManager Klassendiagramm: AccessManager WSDL: AccessManager-Schnittstelle iv

6 Tabellenverzeichnis 1.1 Fault Generation Rules UDDI Kernkomponenten Gegenüberstellung J2EE und.net Container-Elemente des RDF-Modells Klassen des RDF-Schemas Eigenschaften des RDF-Schemas Elemente des Dublin Core Metadata Element Set Ausgewählte Elemente der RSS 2.0 Spezifikation Porter-Stemming Algorithmus Einfache Anwendungsfälle des Dokument-Lebenszyklus Ausführliche Anwendungsfälle des Dokument-Lebenszyklus Anwendungsfälle für die Indizierung Anwendungsfälle für das Retrieval Anwendungsfälle für das Zugriffs-Management Anwendungsfälle für das Zugriffs-Management (2) Anwendungsfälle für das Monitoring Anwendungsfälle für zusätzliche Features v

7 Quellcodeverzeichnis 1.1 Grundstruktur WSDL Dublin Core in RDF/XML Dokument-Ontologie: doc:document WSDL: checkouturi WSDL: adddocumenttocontainer vi

8 Abkürzungsverzeichnis API BCL BPEL4WS BPML CI CLI CLR CLS CTS DCMI DM DMS EAI ECM ECMA EJB FCL HTML HTTP IDM IIS J2EE JDBC JMS JNDI JRE JSP MEP MIME MOM MSIL NCI OCR OWL RAID RDF RDFS RPC SOAP UDDI Application Programming Interface Base Class Libary Business Process Execution Language for Web Services Business Process Management Language Coded Information Common Language Infrastructure Common Language Runtime Common Language Specification Common Type System Dublin Core Metadata Initiative Dokumenten Management Dokumenten-Management-Systeme Enterprise Application Integration Enterprise Contentent Management European Computer Manufacturers Association Enterprise Java Beans Framework Class Libary Hypertext Markup Language Hypertext Transfer Protocol Integriertes Dokumenten-Management Internet Information Server Java 2 Enterprise Edititon Java Database Connectivity Java Message Service Java Naming and Directory Interface Java Runtime Enviroment Java Server Pages Message Exchange Pattern Multipurpose Internet Mail Extensions Message-orientated-Middleware Microsoft Common Intermediate Language Non Coded Information Optical Character Recognition Web Ontology Language Redundant Array of Inexpensive / Independent Disks Resource Description Framework RDF-Schema Remote Procedure Call Simple Object Access Protocol Universal Description, Discovery and Integration vii

9 UML URB URI URL VB VM W3C WfMS WSCI WSDL WSFL XML XMLP Unified Modeling Language UDDI Business Registries Uniform Resource Identifier Uniform Resource Locator Visual Basic Virtual Machine World Wide Web Consortium Workflow-Management-Systemen Web Service Choreography Interface Web Service Description Language Web Services Flow Language extensible Markup Language XML Protocol viii

10 Motivation Das Ziel dieser Arbeit soll der Entwurf eines Dienstes auf Basis der Web Service Technologie sein. Die Idee Web Services für ein Dokumenten-Management-System (DMS) einzusetzten ist nicht neu und wurde in Teilen schon von einigen Anbietern aufgegriffen. Größtenteils jedoch ist dies nur eine Erweiterung zu bestehenden Altsystemen und kein vollständig mit dieser Technik realisiertes System. Die Vorteile der serviceorientierten Implementierung eines DMS sind folgend aufgezeigt. Die vom System zur Verfügung gestellten Schnittstellen können von unterschiedlichsten Clients genutzt werden. Dabei ist es irrelevant ob die Informationen, die der entfernte Methodenaufruf liefert, auf einem Handy, einem SmartPhone oder mit einem Webbrowser (Thin Client) bzw. einem Thick Client auf einem Computer dargestellt werden. Die Verantwortlichkeiten für die eigentliche Präsentation liegt individuell bei jedem Service-User. Die Präsentationsschicht wurde sozusagen ausgelagert. Das der Service-Provider dem Serivce-User eine Standardlösung für die Dartsellung anbieten kann, sei dahingestellt. Die Anzeige eines vollständigen Dokuments auf einem Handy ist sicherlich nicht praktikabel. Um den Dienst dessen ungeachtet benutzen zu können wäre es denkbar, das Dokument im DMS zu suchen und sich den Ablageort in einer Favoritenliste zu einem schnelleren Wiederauffinden zu speichern. Des weiteren sind die Informationen über einige Dokumenten-Attribute, zum Beispiel die letzte Änderung oder die vorliegende Version für den Anwender hinreichend genug. Sollen bestehende (Alt-)System bzw. andere Web Services um Funktionen, welche der DMS-Dienst anbietet, erweitert werden, ist die Integration bzw. Komposition der Dienste ebenso möglich. Somit könnte beispielsweise eine kostenintensive Neuanschaffung oder eigene Implementierung gespart werden. Das DMS selbst kombiniert eigene einfache Dienste, um komplexere zur Verfügung stellen zu können. Dieses Konzept erlaubt weiterhin jedem Service-User, ein DMS zusammenzustellen, was an seine individuellen Bedürfnisse angepasst ist. So können die Funktionen Verwendung finden, welche als notwendig erachtet werden und aus Sicht des Anwenders überflüssige Funktionalitäten brauchen nicht genutzt werden. Entsprechend wird sich das in der Abrechnung widerspiegeln. Somit entfallen aufwendige Anpassungen eines DMS beim Kunden, wenn dieser sich selber die Funktionen zusammenstellen kann.

11 1 Web Services Dieses Kapitel wird eine Zusammenfassung der Technologie der Web Services geben. Fernerhin werden die einzelnen Komponenten erläutert und ein Überblick über die zur Implementierung zur Verfügung stehenden Plattformen und ein anschließender Vergleich dieser gegeben. 1.1 Einführung Die Technologie des Web Service mit den Basiskomponenten WSDL als Schnittstellenbeschreibungssprache, SOAP als Nachrichtenübertragungsformat und UDDI für die Publikation des Services finden im Besonderen Verwendung bei Anwendungen, die über das Internet oder Intranet kommunizieren. Dabei lassen sich nicht nur browserbasierte Anwendungen realisieren. Genauso kann die Integration der Web Services auf der Funktionsebene einer nichtbrowserbasierten Anwendung erfolgen. [Ebe03] beschreibt den Begriff der Web Services folgendermaßen: Ein Web Service ist eine durch einen URI eindeutig identifizierte Softwareanwendung, deren Schnittlstellen als XML-Artefakte definiert, beschrieben und gefunden werden können. Ein Web Service unterstützt die direkte Interaktion mit anderen Sotfwareagenten durch XML-basierte Nachrichten, die über Internetprotokolle ausgetauscht werden. Abbildung 1.1 gibt einen Überblick des Web Service Modells. Die einzelnen Komponenten werden in den nachfolgenden Kapiteln näher erläutert. Durch die Verwendung von bereits etablierten Standards, wie HTTP oder XML ensteht eine offene Architektur zur Kommunikation zwischen verschiedenen Systemen unabhängig von der verwendeten Programmiersprache und Plattform. Durch die Verwendung von HTTP als Transportprotokoll ist eine Kommunikation über Firewalls hinweg möglich, denn Port 80 wird regelmäßig zum Browsen im Internet verwendet. Die Anwendungsgebiete der serviceorientierten Web Services liegen hauptsächlich im B2B-Bereich (Business-To-Business) um Geschäftsprozesse über Unternehmensgrenzen hinweg ausführen zu können. Weiteres Potential liegt in der Enterprise Application Integration (EAI) und im Grid-Computing. 1.2 WSDL Die Web Service Description Language (WSDL) ist ein XML Schema zur Beschreibung der Schnittstelle eines Web Services und wie mit ihnen interagiert wird. Ur- 1

12 1.2 WSDL WSDL Registry Recherchieren UDDI Publizieren UDDI Service- User Kommunikation SOAP / HTTP Service- Provider Abbildung 1.1: Das Web Service Modell sprünglich von IBM, Microsoft und Ariba entwickelt, wurde es im März 2001 der Web Services Description Working Group des W3C 4 zur Quasi-Standardisierung übergeben. Die aktuell vorliegende Version des Working Draft 5 vom August 2004 spezifiziert WSDL 2.0 und ist inhaltlich in drei Teile gegliedert: WSDL 2.0 Core Language (Part 1) beschreibt die Eigentliche Spezifikation für WSDL. Darin wird die Sprache für die Beschreibung der Funktionalität definiert. [W3C04g] WSDL 2.0 Predifined Extensions (Part 2) beschreibt die Erweiterungen für die Web Services. [W3C04h] WSDL 2.0 Bindings (Part3) definiert wie WSDL in Verbindung mit SOAP 1.2 und HTTP benutzt wird. [W3C04i] Die Grundstruktur eines WSDL-Dokuments hat in der XML-Darstellung den in Listing 1.1 gezeigten Aufbau. Die Funktionalität wird in WSDL in zwei Teilen definiert. Im ersten Teil wird die abstrakte Funktionalität mit den Elementen types, operation und interface beschrieben. Der zweite Teil behandelt die eigentliche Service-Implementierung und kein Standard, lediglich eine Diskussionsnotiz 2

13 1.2 WSDL 1 < definitions targetnamespace =" xs: anyuri " > 2 < documentation / >? 3 [ <import / > < include / > ]* 4 <types / >? 5 [ < interface / > < binding / > < service / > ]* 6 </ definitions > Listing 1.1: Grundstruktur WSDL definiert den konkreten Service. Die dafür verwendeten Elemente sind binding, service und endpoint Komplexe Datentypen Das types-element beinhaltet die in den Nachrichten verwendeten komplexen Datentypen. Einfache Datentypen wie string, integer, float, etc. werden bereits vom XML Schema zur Verfügung gestellt Interfaces Ein Interface beschreibt eine Sequenz von Nachrichten die ein Service senden und/oder empfangen kann. Diese Nachrichten sind innerhalb von operation-elementen gruppiert. Ein Interface kann über das optionale extends-attribut von einem oder mehreren Interfaces erben. Das operation-element muss eindeutig bzgl. seines name-attribut identifizierbar sein. Sie sind sozusagen die Methoden, welche von einem Service aufgerufen werden können. Innerhalb der Methoden werden Eingangs- (input) und Ausgangsnachrichten (output)definiert. Die Abfolge der Nachrichten wird dabei durch das pattern-attribut, welches ein eindeutiges Message Exchange Pattern (MEP) referenziert, festgelegt. Zur Zeit existieren acht MEPs, die in [W3C04h] definiert und in Abbildung 1.2 dargestellt sind. Tritt während des Nachrichtenaustausches ein Fehler auf, werden folgende drei Fault Generation Rules zur Anzeige verwendet Binding Durch die binding-komponente wird das konkrete Datenformat und Protokoll für jede Operation eines interface definiert. Die in [W3C04i] definierten möglichen Protokolle sind SOAP und HTTP und werden mit Hilfe des Attributes type spezifiziert. Es kann eine beliebige Anzahl von Bindungen für ein Interface oder eine Operation beschrieben werden. Soll die Bindung für ein Interface erfolgen, muss zusätzlich noch das interface-attribut eine definierte Komponenten referenzieren. 3

14 1.2 WSDL A A Client Server Client Server In-Only (No Faults) Robust-In-Only (Message Triggers Fault) Client Server Client Server A Out-Only (No Faults) A Robust-Out-Only (Message Triggers Fault) A A Client Server Client Server B In-Out (Fault Replaces Message) B-optional In-Optional-Out (Message Triggers Fault) B B-optional Client Server Client Server A Out-In (Fault Replaces Message) A Out-Optional-In (Message Triggers Fault) Abbildung 1.2: Message Exchange Pattern [Dhe05] 4

15 1.2 WSDL Regel Fault Replace Message Message Trigger Fault No Faults Beschreibung Jede Nachricht, außer der ersten kann durch eine Fehlermeldung ersetzt werden. Diese wird zum Aufrufenden zurück geschickt. Jede Nachricht (auch die erste) kann eine Fehlernachricht verursachen. Ist der Pfad zum Aufrufenden nicht bekannt, kann die Nachricht auch verworfen werden. Es werden keine Fehlernachrichten ausgegeben. Tabelle 1.1: Fault Generation Rules Diese Bindungen werden innerhalb eines Endpunktes (endpoint) explizit umgesetzt. Bei der HTTP-Bindung kann über das method-attribut die Methode angegeben werden. Dieses definiert ob die Nachricht über POST oder GET übertragen wird. Wird keine Methode angegeben, wird standardmäßig HTTP GET verwendet Service und Endpoint Zu der Beschreibung eines Dienstes finden die Komponenten service und endpoint Gebrauch. Ein service setzt sich aus mehreren Endpunkten zusammen und wiederum jeder Endpunkt ist mit einer Bindung assoziiert. Die drei verschiedenen Wege, über die ein Service ansprechbar ist (SOAP, HTTP POST und HTTP GET), worden in der Bindung definiert und in diesem Schritt erfolgt nur noch die Definition der Adresse Modularisierung Um die WSDL-Datei lesbarer und strukturierter zu gestalten und um die Wiederverwendbarkeit der einzelnen Teile zu erhöhen, bietet die Spezifikation zwei Methoden an: Das include-element eignet sich, um Elemente eines anderen URI in demselben Namensraum anzugeben. Wohingegen bei dem import-element die Ressourcen aus verschiedenen Namensräumen stammen können Zusammenfassung Normalerweise kommt ein Benutzer eines Web Service nicht mit den WSDL-Dokumenten in Berührung. Auch Entwickler von Web Services können auf existierende Tools zur Erzeugung von WSDL-Definitionen zurück greifen. Aber es gibt auch Ansätze mit denen aus WSDL-Dateien Programmierschnittstellen, sozusagen Bottom-Up, erzeugt werden können. 5

16 1.3 SOAP Die Grenzen von WSDL sind klar zu erkennen. So ist es nicht möglich, mehrere Web Services miteinander zu kombinieren oder komplexere Kommunikationen als Request-Response aufzubauen. Als Abhilfe dazu werden verschiedene Ansätze vorgeschlagen, auf die in der vorliegenden Arbeit nicht weiter eingegangen werden soll: WSFL, XLANG, BPEL (eine Weiterentwicklung auf Basis von WSFL und XLANG), BPML und WSCI. 1.3 SOAP Das Simple Object Access Protocol oder kurz SOAP ist ein Protokoll zum Austausch strukturierter Informationen in einer verteilten, dezentralisierten Umgebung. (Vgl. [Leb03]) Im Bereich der Web Services wird es für die Kommunikation im Rahmen eines Aufrufs genutzt. Die Basis bildet wiederum XML, weshalb SOAP auch als XML Protocol (XMLP) oder XML over HTTP bezeichnet wird. Die aktuell vorliegende Version 1.2 wurde im Juni 2003 vom W3C standardisiert. Diese SOAP-Norm wird in zwei Dokumenten beschrieben: Part 1: Messaging Framework [W3C03b] Part 2: Adjuncts [W3C03c] Zur eigentlichen Übertragung der SOAP-Nachrichten kann ein beliebiges Transportprotokoll verwendet werden. In der Praxis wird dazu überwiegend HTTP eingesetzt. Eine Übertragung über SMTP (SOAP over Mail) ist ebenso möglich. (Vlg. [W3C03a]) Das SOAP Nachrichtenformat Das SOAP Nachrichtenformat lässt sich in drei Hauptblöcke einteilen, die in Abbildung 1.3 veranschaulicht werden. Der SOAP Envelope kennzeichnet den Anfang und das Ende der SOAP Nachricht, bildet also eine Art virtuellen Umschlag für die anderen zwei Komponenten. Der SOAP Header ist optional und kann einen oder mehrere Header Block beinhalten. Diese tragen die Attribute der Nachricht oder definieren sogenannte Qualities of Service (QoS) für die Nachricht. Also Informationen, die nicht direkt als Anwendungsdaten zu charakterisieren sind und Angaben darüber spezifizieren, wie die Nachricht zu verarbeiten ist. Dazu gehört beispielsweise Transaktionsidentifikatoren, Authentifizierungs- oder Abrechnungsinformationen. 6

17 1.4 UDDI SOAP Envelope SOAP Header Header Block Header Block SOAP Body Message Body Abbildung 1.3: Das SOAP Nachrichtenformat Der SOAP Body muss zwingend vorhanden sein und enthält einen oder mehr Message Body die die eigentliche Nachricht tragen die zwischen zwei Kommunikationspartnern ausgetauscht wird. 1.4 UDDI UDDI steht für Universal Description, Discovery and Integration und ist der Verzeichnisdienst für Web Services der auf eine Initiative von IBM und Microsoft zurück zu führen ist. Mit SOAP und WSDL gehört dieser Dienst zu den drei Technologiesäulen im Umfeld von Web Services. Die aktuell vorliegende Version [CHvR04] wurde im Okober 2004 von der UDDI-Arbeitsgruppe des OASIS 6 Konsortium veröffentlicht. Für die Rolle eines Dienstanbieters (Service-Provider) wird UDDI verwendet um seinen Web Service bekannt zu machen, wohingehend auf der Seite des Dienstnutzers (Service-User) das Verzeichnis genutzt wird um einen seinen speziellen Anforderungen genügenden Web Service zu finden. Prinzipiell verfolgt UDDI drei Ziele: 1. Die Bereitstellung einer Datenstruktur für die effiziente Suche nach einem Web Service

18 1.4 UDDI 2. Die Möglichkeit, allgemeine und spezielle Web Service Informationen inklusive der technischen Zugriffsspezifikationen zu finden und bereitzustellen. 3. Die Definition einer Schnittstelle um Kommunikation zwischen Clients und UDDI-Registries zu ermöglichen. Die UDDI-Registries stellen den eigentlichen Verzeichnisdienst dar. In dieser erweiterbaren Datenbank können Clients Web Service-Informationen publizieren oder nach vorhanden Einträgen recherchieren. Es wird in zwei Arten von Registries unterschieden (Vgl. [Ebe03]). Die öffentlichen Registries sind der Allgemeinheit, meist nach einer kostenlosen Anmeldung, zugänglich und können zur Veröffentlichung und/oder zur Suche nach einem Service genutzt werden. Die privaten Registries werden beispielsweise nur in einem Firmen-Intranet für in diesem verfügbare Dienste aufgesetzt und sind nicht für die Öffentlichkeit zugänglich. Zur Definition eines Begriffes in diesem Sinne wurde ebendfalls die Bezeichnung UDDI Business Registries (URB) geprägt. Die Datenstruktur ist XML-geprägt und kann in folgende Kategorien eingeteilt werden: 1. White Pages enthalten die allgemeinen Informationen über einen Dienstanbieter (Unternehmen), wie Adresse, Telefonnummer oder Kontaktpersonen und sind wie ein Telefonbuch aufgebaut. 2. Yellow Pages sind vergleichbar mit den Gelben Seiten bzw. dem Branchenverzeichnis. Über die Art eines Dienstes kann ein bestimmter Anbieter herausgesucht werden. 3. Green Pages beinhalten die technischen Informationen eines Web Services, wie z.b. die URI, die WSDL-Beschreibung oder die textuelle Beschreibung des Dienstes. Das in XML beschriebene Datenmodell von UDDI stellt sechs Kernelemente bereit, die in Tabelle 1.2 aufgelistete sind. Auf die zur Kommunikation der Clients mit den UDDI-Registries geschaffenen Schnittstellen können diese in folgenden sechs Formen zugreifen: 1. UDDI Inquiry API für das Absetzen und Beantwortung von Suchanfragen und zur Ermittlung von Details. 2. UDDI Publishers API zum Modifizieren und Löschen von vorhanden und Hinzufügen von neuen UDDI Einträgen 8

19 1.5 Plattformen 3. UDDI Security API zur Durchführung von Authentifikationen. 4. UDDI Replication API zur Replikation und Synchronistation von UDDI-Elementen verschiedener UDDI-Knoten. 5. UDDI Custody and Ownership Transfer API ermöglicht die Übergabe von Verantwortlichkeiten zwischen zwei UDDI-Knoten eines UDDI-Verbandes. 6. UDDI Subscription API ermöglicht die weitere Eintragung von Web Service Anbietern. Die wohl wichtigste API für den Nutzer ist die UDDI Inquiry API. Diese ermöglicht eine einfache Abfrage von Web Service Informationen. Komponente businessentity businessservice bindingtemplate tmodel Beschreibung Enthält Informationen über das Unternehmen, wie Name, Kontaktdaten angebotene Services, etc. Enthält eine Beschreibung eines Web Services oder einer zusammenhängenden Gruppe dieser auf nicht-technischer Ebene, wie Beschreibung und Klassifikationsinformationen. Neben diesen optionalen Argumenten muss ein Name, ein eindeutiger Schlüssel sowie der Schlüssel des Anbieters aufgeführt werden. Repräsentiert einen individuellen Web Service und enthält die technischen Informationen, welche eine Applikation zur Bindung und Interaktion mit diesem benötigt. Beschrieben wird demnach der Zugangspunkt eines Services mit dem obligatorischen Schlüssel für die Bindung und den Schlüssel des Web Services. Steht für das technische Modell des Dienstes und fasst die detaillierten Service-Informationen zusammen. Dieser generische Container enthält einen eindeutigen Schlüssel zur Identifikation und einen Namen. Zusätzlich können eine Beschreibung oder ein externer Verweis auf eine Beschreibung enthalten sein. Tabelle 1.2: UDDI Kernkomponenten 1.5 Plattformen Die zwei ausgereiftesten Plattformen, die zur Implementation eines Web Services zur Verfügung stehen sind die Java 2 Enterprise Edititon (J2EE) und.net von Microsoft. 9

20 1.5 Plattformen J2EE Die Java 2 Enterprise Edition ist eine Java-Teilspezifikation für eine ganze Palette von Middleware-Diensten. Mit dieser Spezifikation wird ein allgemeiner Rahmen zur Verfügung gestellt um unternehmensweite, 3-tier Anwendungen mit modularen Komponenten zu entwickeln. J2EE erleichtert die Implementierung von serverseitigen Anwendungen durch die Bereitstellung von Werkzeugen, Diensten und Entwurfstrukturen. Interoperabilität von Softwarekomponenten unterschiedlicher Hersteller sollen durch klar definierten Schnittstellen zwischen den Komponenten und Schichten gewährleistet werden. Der Java Quellcode wird beim Kompilieren in maschinenunabhängigen Bytecode übersetzt, welcher dann zur Laufzeit durch eine Virtual Machine (VM) in die für den jeweiligen Prozessortyp und Betriebssystem geeignete Maschinencode interpretiert wird. Dieses Konzept ermöglicht eine plattformunabhängige, also unabhängig von dem Betriebssystem und der Hardware, Entwicklung von Java-Anwendungen. Die wichtigsten J2EE APIs sind folgend aufgelistet: Java Naming and Directory Interface (JNDI) ein Namens- und Verzeichnisdienst zum Referenzieren entfernter Objekte oder zum Lookup gebundener Objekte. Enterprise Java Beans (EJB) serverseitige Anwendungskomponenten welche die Geschäftslogik einer Anwendung implementieren. Java Server Pages (JSP) zum Einbinden von Java-Quellcode in ein HTML- Seite. Java Message Serivce (JMS) für die asynchrone Nachrichtenverteilung in Messageorientated-Middleware-Systemen (MOM-Systeme). Java Database Connectivity (JDBC) zum Zugriff auf relationale Datenbanken mit SQL. Java Transaction API (JTA) zur Steuerung der Transaktionsverwaltung. u.v.m. Abbildung 1.4 gibt einen kleinen Überblick über das J2EE Schichtenmodell. J2EE war bis zur Veröffentlichung von.net der einzige Ansatz zur Realisation von Web-Anwendungen, der es zu einer Marktreife und einer starken Verbreitung gebracht hat ([BRW03]). Mit dem Erscheinen der Web Service Technologie wurde das J2EE Framework um hinreichende Komponenten erweitert. Insbesondere wird seit 10

21 1.5 Plattformen Enterprise Information System-Schicht Browser Applet Applet- Container Servlet EJB ERP- Systeme Datenbank JSP Web- Container Darstellungsschicht Geschaeftslogikschicht EJB- Container Legacy- Systeme Abbildung 1.4: Das J2EE Schichtenmodell daher der Umgang mit XML und auf XML basierende Technologien umfassend unterstützt. Besondere Erwähnung sollen nach [New02] folgende Komponenten finden: Java API for XML (JAXP) bietet Hilfe zur Bearbeitung (Parsen und Transformieren) von XML-Dokumenten. Unterstützt beide Parserstandards DOM und SAX. Java API for XML-Registries (JAXR) definiert Schnittstellen und Klassen zum Zugriff auf Registries (UDDI Registries, ebxml Registries). SOAP with Attachements API for Java (SAAJ) zum versenden von XML- Dokumenten über das Internet. Java API for XML-based RPC (JAX-RPC) steuert für Remote Procedure Calls (RPC) das Mapping von SOAP und WSDL-Spezifikationen auf Java Klassen. Java Architecture for XML Binding (JAXB) to bind an XML schema to a representation in Java code Zur Implementierung von Java-Anwendungen stehen verschiedene Werkzeuge, wie 11

22 1.5 Plattformen beispielsweise ANT, JUnit JavaDoc, sowie die kostenlose integrierte Entwicklungsumgebung Eclipse 7, zur Verfügung NET Der Begriff.NET steht für die Microsoft Plattform zur Entwicklung von Web Services und wurde Mitte 2000 das erste Mal geprägt. Im Oktober 2000 wurden Teile bei der Europäischen Standardisierungsorganistation ECMA 8 eingereicht..net umfasst folgende Komponenten um Informationen, Systeme und Geräte miteinander zu verbinden ([Gra03]):.NET Services sind verschiedenen Services, welche durch Microsoft als Hoster angeboten werden..net Enterprise Server umfasst die hauseigenen Server von Microsoft, wobei keine technischen Änderungen gegenüber den Vorgängern vorgenommen, sondern sie lediglich mit einem.net-logo versehen worden sind..net Framework entpricht der Plattform zur Entwicklung von Web Services.NET Development Tools die integrierte Entwicklungsumgebung Visual Studio.NET mit dem.net Framework. Unterstützt werden alle.net-fähigen Programmiersprachen. Das Konzept der.net-plattform ist ähnlich zu Java/J2EE. Die Common Language Infrastructure (CLI) stellt die Basis zur Ausführung von Programmen, welche mit unterschiedlichen Sprachen entwickelt wurden (bspw. C#, Visual Basic,... ), dar. Mit Hilfe eines entsprechenden Compilers wird das.net-programm zunächst in die Microsoft Common Intermediate Language (MSIL) übersetzt. Zur Laufzeit, quasi Just-in-Time (JIT), wird diese MSIL-Darstellung in nativen Code für den jeweiligen Prozessor übersetzt, wodurch die Sprachneutralität und trotzdem effizienter Code realisiert werden. Um sprachübergreifende Programme erstellen zu können reicht MSIL alleine nicht aus. Darüber hinaus muss noch eine gemeinsames Typsystem definiert werden. Dieses ist nötig um ein gemeinsames Verständnis für die in den einzelnen Programmiersprachen verwendeten Datentypen zu erreichen. Mit dem Common Type System (CTS) wird in.net dieses Ziel erreicht und sogar noch ein Schritt weiter gegangen. Die sprachübergreifende Integration ermöglicht es, Vererbungsbeziehungen zwischen Klassen zu beschreiben, welche in verschiedenen Sprachen programmiert European Computer Manufacturers Association 12

23 1.5 Plattformen VB C# u.v.a..net Klassenbibliothek Compiler Compiler Compiler IL Code CLR Compiler Laufzeitdaten Betriebssystem Abbildung 1.5: Die Komponenten des.net Frameworks worden sind. Um die Interoperabilität sicher zu stellen, genügt es bereits eine Teilmenge der CTS, die so genannte Common Language Specification (CLS), zu erfüllen. Die gemeinsame Klassenbibliothek, die so genannte Base Class Libary (BCL) oder auch Framework Class Libary (FCL) bildet die Basis für die Anwendungsentwicklung in allen.net-programmiersprachen. Sie ist in Namensräumen (Namespaces) organisiert und gehört inklusive der zugehörigen Dokumentation zum Lieferumfang des kostenlosen Software Develop Kit (SDK) oder zur kostenpflichtigen integrierten Enwicklungsumgebung (IDE) in Form des Microsoft Visual Studion.NET. Die Abbildung 1.5 zeigt die Komponenten des.net Frameworks. Für die dynamische Generierung von Web-Seiten steht ASP.NET, eine Weiterentwicklung der Active Server Pages (ASP), zur Verfügung. Der Zugriff auf Informationsquellen, wie relationale Datenbanken, wird in der.net-welt mit Hilfe von ADO.NET realisiert. Die angestrebte Plattformunabhängigkeit von.net ist so umgesetzt und wohl auch von Microsoft so verstanden worden, dass.net auf verschiedenen Windows- Varianten laufen kann. Demnach ist diese offiziell nicht wirklich gegeben. Das Open- 13

24 1.5 Plattformen Source-Projekt Mono 9 will eine tatsächliche Plattformunabhängigkeit des.net Framework erreichen und entwickelt eine quelltextoffene Implementierung für Unix- Derivate und Windows, auf Basis der ECMA-Standards für CLI und C#. Für weitergehende Informationen zum Mono Projekt wird die Webseite bzw. [SW05] empfohlen. Eine weitere Initiative zum Erstellen und Ausführen von CLI-Applikationen gibt das dotgnu Project 10 mit dem aktuellem Release des DotGNU Portable.NET in der Version J2EE versus.net Die fundamentalsten Unterschiede beider Plattformen sind nach [KBS03a], die Plattformunabhängigkeit, die unterstützten Programmiersprachen und die Anzahl der Lösungsanbieter. Unterschiede sind auch in der Standardisierung zu finden. Während J2EE vollständig standardisiert wurde, legt Microsoft lediglich die Teilspezifikationen CIL und C# des.net-framework einem offiziellen Gremium vor. Die Tabelle 1.3 gibt eine Übersicht der relevantesten Unterschiede. Das Konzept des Applikationsservers, welches dem Entwickler von Java-Anwendungen einiges an Arbeit abnimmt, ermöglicht es sich im Schwerpunkt auf die Geschäftslogik der Anwendung zu konzentrieren. Durch das serverseitige Komponentenmodell der EJBs muss dieser sich nicht mehr mit der Verarbeitung von Transaktionen nach dem ACID 12 -Prinzip, dem Remoting oder den Zugriff auf Datenbanken auseinander setzen..net bietet diese Funktionalität ebenfalls, jedoch die Grenzen zwischen Betriebssystem, Framework und Webserver sind fließend, so das eine Portierung auf andere Betriebssystem schwierig ist. (Vgl. [SM02],[Gra03]) Ein wesentlicher Vorteil der.net-technologie ist die native Unterstützung für XML, WSDL, SOAP und UDDI, welche es dem Benutzer relativ leicht macht, einen ersten Web Service zu implementieren und zu veröffentlichen. J2EE wurde lediglich um die XML und Web Service Technologie erweitert und ist nicht grundlegend, wie.net, für diesen Technologieansatz entworfen worden. Das Potential der Mono-Initiative ist immens und ermöglicht schon heute die Portierung zahlreicher Anwendungsarten. Jedoch sind rechtliche Schritte von Microsoft atomicity, consistency, isolation, durability 14

25 1.5 Plattformen Parameter J2EE.NET Allgemein Industriestandard eine Sprache, viele Anbieter Produkt-Suite viele Sprachen, ein Anbieter Sprachen Java C#, VB, C++, Java, J#,... Komponentenmodell Enterprise Java Beans.NET Web Services; COM+ Interpreter JRE (Java TM Runtime CLR (Common Language Enviroment) Runtime) Anbieter BEA, IBM, SUN, Orcale, Microsoft... Betriebssystem UNIX, Windows, Linux,... Windows Mono-Initiative zur Portierung auf Linux Browser beliebig, mit Java-Support beliebig Webserver Beliebig MS IIS Webserver- JSP, Servlets ASP.NET Komponenten Datenbank-Zugriff JDBC ADO.NET Verzeichnisdienst beliebig, über JNDI Active Directory Tabelle 1.3: Gegenüberstellung J2EE und.net 11 gegen diese Implementierung möglich, da auch Teile nachprogrammiert werden, die nicht der Standardisierung unterliegen. (Vgl. [SW05]) Eine Entscheidung für eine der beiden Plattform kann nur schwierig getroffen werden. Beide Ansätze habe Befürworter und Gegner. Anhand der Fakten kann nicht immer eine Technologie favorisert werden. Beide haben ihre Stärken und Schwächen. So bietet.net einen leichteren Einstieg für die ersten Schritte mit der Web Service Technologie. Bezüglich der Flexibilität und der Plattformunabhängigkeit, ausgenommen dem Mono Projekt, wäre J2EE der Vorzug zu geben. Die Koordinierungsund Beratungsstelle der Bundesregierung für Informationstechnik, kurz KBSt 13 gibt nach [KBS03b] J2EE aufgrund dieser Argumente den Vorrang

26 2 Ressource Description Framework Das Ressource Description Framework (RDF) [W3C04b] ist ein Modell zur Beschreibung von Objekten und Ressourcen und wurde 1999 erstmals dem W3C vorgelegt. Das RDF gibt eine Struktur vor und bildet somit den Rahmen zur Präsentation verschiedener Metadatenformate. Diese wiederum können als DTD, XML-Schema oder RDF-Schema definiert werden. Die Beschreibung des Frameworks erfolgt üblicherweise in Form einer XML-Sprache oder in einem graphischen Modell. 2.1 RDF-Modell Die Informationen dieses Modells sind in so genannten Statements oder Assertions zusammen gefasst. Ein Statement (eine Aussage) besteht aus einem Tripel zusammengesetzt aus den Komponenten Subjekt, Prädikat und Objekt. Jede dieser Ressourcen wird durch eine URI identifiziert. Das Objekt einer Aussage kann einen literalen Wert enthalten oder eine andere Ressource sein. Das Prädikat einer Aussage definiert die Eigenschaft einer Ressource (Properties) und ist selbst eine Ressource, welche durch Referenzierung von weiteren RDF-Angaben verwendet werden kann. Die Aussage selber ist ebenfalls eine Ressource, welche von weiteren Aussagen verwendet werden kann. Diese Aussagen über Aussagen werden in RDF als Reification bezeichnet. RDF-Syntax Das syntaxneutrale Datenmodell kann u.a. mit Hilfe von gerichteten Graphen dargestellt werden. Zur Identifizierung erfolgt die Beschriftung der Knoten und gerichteten Kanten mit einer URI, wobei Subjekt und Objekt durch Knoten und die Prädikate mittels Kanten repräsentiert werden. Modelliert werden können nur binäre Beziehungen. Werden mehrwertige Beziehungen von Ressoucren benötigt, oder ist eine Bezeichnung eines Knoten mit einer URI nicht zweckmäßig, werden Hilfsknoten, so genannte blank nodes in den Graphen eingefügt. Darüber hinaus ist eine Darstellung des RDF-Modells in maschinenlesbarer Form notwendig. Dafür stehen beispielsweise die Notation 3 (N3) oder die RDF/XML-Form zur Verfügung, welche unter Zuhilfenahme eines Parsers serialisiert werden können. Container Um gleichartige Beschreibungen zusammenzufassen wird die Funktionalität der Container benötigt. Dazu stehen in RDF die in Tabelle 2.1 aufgelisteten Container-Elemente zur Verfügung. Ein Container kann beliebig viele Elemente enthalten, wobei der Alt-Container mindestens ein Element beinhalten muss. 16

27 2.2 RDF-Schema Element rdf:seq rdf:bag rdf:alt Beschreibung Definiert eine geordnete Liste von Ressourcen. Definiert eine ungeordnete Liste von Ressourcen. In dieser Multimenge können Elemente auch doppelt vertreten sein. Definiert eine Menge von alternativen Ressourcen. 2.2 RDF-Schema Tabelle 2.1: Container-Elemente des RDF-Modells Das RDF-Schema (RDFS) [W3C04a] ermöglicht es, ein Typenmodell, ähnlich dem Klassenprinzip der Objektorientierung, für die RDF-Tripel zu spezifizieren. So ist es möglich Klassen, Eigenschaften und einfache Beziehungen der Aussagen zu beschreiben um so eine Begriffshierarchie bzw. Taxonomien 14 zu bilden. Ein wichtiges Konzept des Klassenprinzips, welches hier eine explizite Erwähnung finden sollen, sind die Klasse-Unterklasse- bzw. Eigenschaft-Untereigenschaft-Beziehungen oder auch der Vererbungsmechanismus. Dabei sind alle Untereigenschaften in der Obereigenschaft enthalten aber nicht umgekehrt. Des weiteren gilt (Vgl. [Abe03]): Ist eine Klasse A Unterklasse von B und eine Klasse B Unterklasse von C, so ist A eine Unterklasse von C (so genannte Transitive Hülle) Ist R eine Ressource einer Instanz von A, so ist R auch eine Instanz von B und C. Das RDF-Schema kennt die in Tabelle 2.2 gezeigten Klassen, wobei die Klassen rdfs:resource, rdfs:property und rdfs:class in [EE04] als die zentralen Klassen bezeichnet werden. Daneben werden in der Tabelle 2.3 die Eigenschaften genannt, die das RDFS kennt. 2.3 Web Ontology Language Die Web Ontology Language (OWL) wurde entwickelt um die in vielen Fällen nicht ausreichende Modellierung von Vokabularen mit Hilfe von RDF-Schemara abdecken zu können. OWL ist demnach eine Erweiterung von RDF, dessen erster Sprachentwurf im Juli 2002 als Working-Draft und im Oktober 2004 als Empfehlung (Recommendation) publiziert wurde [W3C04c, W3C04e, W3C04d, W3C04f]. OWL existiert in drei Gattungen (OWL Lite, OWL DL und OWL Full), die für jeweils unterschiedliche Benutzergruppen gestaltet wurden. Sie unterscheiden sich in der Mächtigkeit und somit auch in ihrer Komplexität des Vokabulars und sind aufwärtskompatibel. Somit gelten nach [W3C04c] folgende Aussagen, jedoch nicht deren Umkehrung : 14 Klassifikationssysteme, bzw. Systematiken des Klassifizierens 17

28 2.3 Web Ontology Language Klasse Beschreibung rdfs:resource Die Oberklasse aller Ressourcen, eine Instanz von rdfs:class rdfs:class Die Oberklasse aller im RDFS definierten Klassen rdfs:literal In dieser werden alle literalen Werte definiert (Strings, Integer,... ). Diese Literale können plain oder typed sein. rdfs:datatype Die Oberklasse aller Datentypen. rdfs:xmlliteral Alle XML-Datentypen werden in dieser Oberklasse zusammengefasst. rdfs:property Die Oberklasse aller RDF-Eigenschaften Tabelle 2.2: Klassen des RDF-Schemas Eine legale OWL Lite Ontologie ist eine legale OWL DL Ontologie. Eine legale OWL DL Ontologie ist eine legale OWL Full Ontologie. Das primäre Entwurfsziel der Entwicklung ist der Grundgedanke des evolutionären Wachstums der Ontologien. So sollen Ontologien zum einem öffentlich zugänglich sein und zum sich zum anderem sich auf Datenquellen und Ontologien beziehen können. Dies setzt eine Kompatibilität zwischen OWL und Beschreibungs- und Modellierungsstandards wie XML, RDF und UML voraus. Um die Interoperabilität der verschiedenen Ontologien oder Versionen von Ontologien gewährleisten zu können, müssen Inkonsistenzen automatisch erkannt und verarbeitet werden. Ferner ist eine exakte Versionssteuerung notwendig, um Inkompatibilität zu Vorgängerversionen zu vermeiden. Das Klassenkonzept baut auf dem von RDF auf. So ist owl:class eine Unterklasse von rdfs:class und die rdfs:subclassof-eigenschaft wird direkt übernommen. Überhaupt werden einige Konstrukte aus der RDF-Elementmenge übernommen. Nennenswert wäre beispielsweise rdf:range, rdf:domain und rdf:type. Eigenschaften in OWL werden als Untereigenschaften von rdf:property definiert. Die zur Verfügung stehenden Elemente hierzu sind owl:objectproperty und owl:datatypeproperty. Objekteigenschaften beschreiben Relationen zwischen Instanzen von zwei Klassen, wohingehend Datentypeigenschaften sich auf RDF-Literale sowie XML-Schema Datentypen beziehen. Mit Hilfe von OWL können komplexe Beziehungen zu Klassen und Eigenschaften beschrieben werden. Zum Beispiel sind die Eigenschaftscharakteristiken (Property Characteristica) (TransitiveProperty, SymmetricProperty, FunctionalProperty, inverseof 18

29 2.3 Web Ontology Language Eigenschaft rdfs:range rdfs:domain rdf:type rdfs:subclassof rdfs:subpropertyof rdfs:label rdfs:comment rdfs:seealso rdfs:isdefinedby Beschreibung Beschränkt den erlaubten Wertebereich, bei denen die Eigenschaft genutzt werden darf. Beschränkt die Klassen, bei denen die Eigenschaft genutzt werden darf. Definiert die Zugehörigkeit der Ressource als Instanz zu einer Klasse. Kennzeichnet die Zugehörigkeit einer Klasse zu einer Oberklasse. Definiert die Zugehörigkeit einer Eigenschaft zu einer Obereigenschaft. Nennt den menschenlesbaren Namen einer Ressource. Bezeichnet den menschenlesbaren Kommentar einer Ressource. Spezifiziert zusätzliche Informationen zu einer Ressource. Verweist auf eine definierte Ressource. Tabelle 2.3: Eigenschaften des RDF-Schemas und InverseFunctionalProperty) ein Hilfsmittel um Schlussfolgerungen über Eigenschaften (Property) treffen zu können. Einschränkungen einer Eigenschaft (Property Restrictions) werden im Kontext einer owl:restriction mit der im Elemente owl:onproperty spezifizierten Eigenschaft getroffen. Unter anderem kann auf diese Weise die Kardinalität 15 owl:cardinality definiert werden. Damit Ontologien mit anderen zusammengesetzt werden können (Mapping von Ontologien) um somit die logischen Schlussfolgerungen zu maximieren, ist es wiederum notwendig Äquivalenzen zwischen Klassen bzw. Eigenschaften abzubilden (owl:equivalentclass bzw. owl:equivalentproperty). Somit können zwei unabhängig voneinander entwickelte Ontologien, welche dieselbe Klasse bzw. Eigenschaft referenzieren, miteinander kombiniert werden. 15 die quantitative Ausprägung eines Merkmals 19

30 2.4 Anwendungen 2.4 Anwendungen Dublin Core Metadata Initiative Die Dublin Core Metadata Initiative 16 (DCMI) ist eine Organisation, die sich engagiert, um die Verbreitung von interoperablen und domänenunabhängigen Metadaten- Standards und Metadaten-Vokabularen zu fördern. Diese Standards und Vokabulare sollen Ressourcen so beschreiben, dass intelligente Suchmaschinen bzw. Agenten in der Lage sind, Informationen im World Wide Web einfacher zu finden. Um diese Interoperabilität zwischen den verschiedenen Metadaten-Mengen zu gewährleisten bzw. zu unterstützen werden von der DCMI grundlegende Strukturen definiert. Ein Beispiel hierfür ist der Dublin Core, welcher eine Menge von Eigenschaften zur Beschreibung von Dokumenten, Datenquellen, etc. definiert. Dublin Core Element Set Insgesamt bietet der Dublin Core Element Set [DCM04] 15 Elemente zur Beschreibung von Ressourcen, welche in Tabelle 2.4 aufgezeigt werden. Wird dieser so genannte einfache Dublin Core um diverse DC-Elemente u.a. zur Verfeinerung und die Encoding Schemes [DCM05] erweitert, spricht man vom qualifizierten Dublin Core [EE04]. Ursprünglich wurde der Dublin Core unabhängig von RDF entwickelt, mittlerweile jedoch hat dieser Standard die Entwicklung von RDF beeinflusst und wird heute oft mit Hilfe von RDF dargestellt. In der RDF/XML-Darstellung des einfachen Dublin Core werden nur in dem Element rdf:description die Dublin-Core-Elemente in beliebiger Reihenfolge und Häufigkeit verwendet. Da im einfachen Dublin Core keine Verschachtelungen oder Container erlaubt sind, müssen für beispielsweise mehrere Autoren eines Dokumentes das Creator-Element entsprechend oft verwendet werden. Der qualifizierte Dublin Core hingegen erlaubt es, Verfeinerungen und Kodierungsschemata bei der Beschreibung von Ressourcen zu verwenden. Somit ist die Verwendung von Multimengen, Sequenz und Alternativen, also den bekannten Containern aus dem RDF, wieder möglich. Die Dublin-Core-Darstellung in RDF/XML für diese Arbeit könnte wie in Listing 2.1 aussehen RSS Die Darstellung von so genannten RSS-Feeds basiert seit der Version 2.0 nicht mehr auf RDF, das Protokoll soll an dieser Stelle aber trotzdem erwähnt werden

31 2.4 Anwendungen Element Beschreibung Title Bezeicnet den Namen der Ressource. Creator Gibt den Hauptverantwortlichen/Ersteller der Ressource an. Subject Beschreibt den Inhalt einer Ressource, häufig mit Hilfe von Schlagwörtern. Description Enthält den verbalen Überblick einer Ressource in verschieden möglichen Formaten, bspw. als Freitext oder als Inhaltsverzeichnis. Publisher Definiert den Herausgeber, verantwortlich für die Veröffentlichung der Ressource an. Contributor Person, Institution oder Service welche(r) einen Beitrag zur Ressource leistet. Date Spezifiziert das Datum eines Ereignisses für die Ressource. Denkbare Zeitpunkte wären Erstellungs-, Veröffentlichung-, oder Änderungsdatum. Type Definiert die Einordnung in eine Taxonomie. Format Beschreibt das physische Format einer Ressource. Identifier Wird zur eindeutigen Indentifizierung benötigt. Source Gibt die Quelle von der die Ressource abgeleitet wurde an. Language Kennzeichnet die Sprache in der die Ressource verfasst ist. Empfohlen wird die Verwendung der ISO639, welche die Abkürzungen in 2- oder 3-Buchstaben-Sprachcodes definiert. Relation Nennt verwandte Ressourcen. Coverage In diesem Element wird die Ausdehung oder Bereich des Inhaltes einer Ressource angegeben. Rights Definiert die allgemeinen Eigentumsrechten bzw. die Copyright-Bestimmungen. Tabelle 2.4: Elemente des Dublin Core Metadata Element Set 21

32 2.4 Anwendungen 1 <? xml version =" 1.0 "?> 2 < rdf:rdf 3 xmlns:rdf =" http: // /1999/02/22 - rdf - syntax -ns#" 4 xmlns:dc =" http: // purl. org /dc/ elements /1.1/ "> 5 < rdf: Description 6 rdf:about =" http: // www. inf.tu - dresden.de /~ jh / beleg /"> 7 < dc:title > 8 Entwurf eines Dienstes zur Dokumentenverwaltung auf Basis von Web Services 9 </ dc:title > 10 < dc: description > 11 http: // www. inf.tu - dresden.de /~ jh / beleg / inhalt. xml 12 </ dc: description > 13 < dc:subject >Web Service ; DMS ; RDF </ dc:subject > 14 < dc:date > </ dc:date > 15 < dc:language >de </ dc:language > 16 < dc:creator >Jan Haeussler </ dc:creator > 17 </ rdf: Description > 18 </ rdf:rdf > Listing 2.1: Dublin Core in RDF/XML Der Begriff, für den die Abkürzung RSS steht, variierte im Laufe der unterschiedlichen RSS-Versionen. Beginnend mit der Version 0.9x des XML-basierten Kommunikationsprotokolls wurde dieses als Rich Site Summary bezeichnet. Darauf folgte Version 1.0, in welcher der Begriff RDF Site Summary verwendet wurde. In der aktuellen Version 2.0 des Protokolls [Cen] wird RSS als Really Simple Syndication benannt. Entwickelt wurde das plattformunabhängige, XML-basierte Protokoll RSS um Nachrichten und andere Informationen, welche auf eine Webseite dargestellt werden können, in einem maschinenlesbaren Format auszutauschen. Der Aufbau von RSS ist auf die Darstellung und den Transport von Informationen angelegt und frei, im Gegensatz von HTML, von jeglichen Layout- und Design-Komponenten. Zahlreiche Portale und online-nachrichten bieten bereits die Funktionalitäten von RSS an, beispielsweise oder Moderne Web-Browser, bspw. Firefox 17 können die RSS-Feeds als ein Lesezeichen importieren, so dass der Nutzer immer über die aktuellsten Entwicklungen des abonnierten RSS-Feeds Bescheid weiß, ohne das er die Webseite besuchen muss. Darüber hinaus gibt es noch integrierte Lösungen für gängige Terminverwaltungsprogramme (Kontact, MS Outlook) diverse Stand-Alone-Lösungen (Free RSS Reader 18 ), so genannte News-Aggregators, mit denen RSS-Feeds gelesen und synchronisiert werden können

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung.

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. RDF Containers Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. Ein Container ist eine Ressource, die andere Ressourcen oder Literale enthält

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht Semantic Markup für die Dokumentenklassifizierung Seminarvortrag von Mirko Pracht Ziel des Vortrags Aufbau digitaler Bibliotheken Verbesserung Informationssuche Semantic Markup Gliederung 1. Grundlagen

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

3.5 OWL: WEB Ontology Language (1)

3.5 OWL: WEB Ontology Language (1) 3.5 OWL: WEB Ontology Language (1) 3.5.1 OWL-Syntax (Teil 1) A) Namensräume / RDF-Tag: Die OWL-Syntax basiert auf XML, XML-Schema, RDF und RDFS. Daher sind die zugehörigen Namensräume am Anfang des Quelltextes

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

OWL Web Ontology Language

OWL Web Ontology Language OWL Web Ontology Language Hauptseminar Ontologien in Informatik und Linguistik SS 2007 Bianca Selzam 27.4.2007 Gliederung 1. Einleitung 2. Resource Description Framework (RDF) 3. Resource Description Framework

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Thema: Web Services. Was ist ein Web Service?

Thema: Web Services. Was ist ein Web Service? Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor. Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?

Mehr

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

Application Layer Active Network

Application Layer Active Network Folie 1 Application Layer Active Network Vortrag zur Diplomarbeit Entwicklung eines Netzwerk-Interface zur Steuerung der Datenkommunikation einer Netzwerkkarte geschrieben und gehalten von Martin Wodrich

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

Mehr

Kapitel WT:VIII (Fortsetzung)

Kapitel WT:VIII (Fortsetzung) Kapitel WT:VIII (Fortsetzung) VIII. Semantic Web WWW heute Semantic Web Vision RDF: Einführung RDF: Konzepte RDF: XML-Serialisierung RDF: Anwendungen RDFS: Einführung RDFS: Konzepte Semantik im Web Semantik

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

A361 Web-Server. IKT-Standard. Ausgabedatum: 2015-01-27. Version: 1.03. Ersetzt: 1.02. Genehmigt durch: Informatiksteuerungsorgan Bund, am 2004-09-07

A361 Web-Server. IKT-Standard. Ausgabedatum: 2015-01-27. Version: 1.03. Ersetzt: 1.02. Genehmigt durch: Informatiksteuerungsorgan Bund, am 2004-09-07 Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB A361 Web-Server Klassifizierung: Typ: Nicht klassifiziert IKT-Standard Ausgabedatum: 2015-01-27 Version: 1.03 Status: Genehmigt

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Standards und Standardisierungsgremien

Standards und Standardisierungsgremien Standards und Standardisierungsgremien Begriffe Norm und Standard synonym Organisationen z.b. ISO: International Standards Organization DIN: Deutsches Institut für Normung e.v. ANSI: American National

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 06.08.2014 Version: 44] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional Server 9... 4 1.1 Windows... 4 1.1.1 Betriebssystem...

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

2 Konfiguration von SharePoint

2 Konfiguration von SharePoint 2 Konfiguration von SharePoint Server 2010 Umgebungen Prüfungsanforderungen von Microsoft: Configuring a SharePoint Environment o Configure SharePoint farms configuring inter-server communications server

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

Anleitungen zum KMG-Email-Konto

Anleitungen zum KMG-Email-Konto In dieser Anleitung erfahren Sie, wie Sie mit einem Browser (Firefox etc.) auf das Email-Konto zugreifen; Ihr Kennwort ändern; eine Weiterleitung zu einer privaten Email-Adresse einrichten; Ihr Email-Konto

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven SO A Fraunhofer-Institut für Softwareund Systemtechnik ISST Dr. Ulrich Springer Dr. Bernhard Holtkamp Dortmund, 20.01.2009

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Januar 2012 CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Motivation Modernisierung eines Systems mit

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 Neue Version: Outlook-Termine, Kontakte, Mails usw. ohne Exchange-Server auf mehreren Rechnern nutzen! Mit der neuesten Generation intelligenter

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

Mehr

Semantic Web Services

Semantic Web Services Semantic Web Services Daniel Fischer TU Chemnitz - WS 2011/12 1 Gliederung (1) Web Services (2) Semantic Web Services: Motivation (3) Ontologien (4) Technologien 1. WSDL 2. SA-WSDL 3. WSMF / WSMO 4. OWL-S

Mehr

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung Softwaretechnologien für verteilte Systeme Übung Organisatorisches Gruppen mit 3-4 Personen bearbeiten ein zugewiesenes Thema Abgabe besteht aus einer Arbeit mit 10-15 Seiten und ~30 Minuten Präsentation

Mehr

Was sind Ontologie-Editoren?

Was sind Ontologie-Editoren? Was sind Ontologie-Editoren? Kurzeinführung Protégé Sonja von Mach und Jessica Otte Gliederung Ontologie Editoren- allgemein warum nutzen wofür nutzen Probleme Marktlage Einführung in die praktische Arbeit

Mehr

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk Seminar E-Services WS 02/03 Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk WS 02/03 Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk Inhalt Einführung Discovery Problematik Standard

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Persistenzschicht in Collaborative Workspace

Persistenzschicht in Collaborative Workspace Persistenzschicht in Collaborative Workspace Mykhaylo Kabalkin 03.06.2006 Überblick Persistenz im Allgemeinen Collaborative Workspace Szenario Anforderungen Systemarchitektur Persistenzschicht Metadaten

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI? Service Was ist eine Enterprise Service Architecture und wie reagiert SAP Allgemeine Definition Was gehört in ZENOS (Service-Layer)? Business Logik ZENOS als Provider für SAP-based Services (ESA/SOA) Warum

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr