XML Binding APIs XML Beans & JAXB
|
|
|
- Sylvia Hochberg
- vor 7 Jahren
- Abrufe
Transkript
1 XML Binding APIs XML Beans & JAXB Folie 1
2 Agenda 1. Einleitung 2. XMLBeans Einführung Quiz und Übung 3. Java Architecture for XML Binding (JAXB) Einführung Quiz und Übung 4. Reflexion XMLBeans vs. JAXB: Gemeinsamkeiten und Unterschiede sinnvolle Einsatzgebiete Folie 2
3 1. Einführung XML-Binding APIs Ansatz: Generierung von Java-Datenstrukturen aus XML Schemata Ziel: effiziente Verarbeitung von XML-Daten keine generische Low-Level-Verarbeitung von XML-Daten (SAX, DOM)...sondern: automatisierte Abbildung des durch das Schema definierten Models in Java-Datenstrukturen Typsicherheit übernehmen Persistenz-Aufgaben (Marshalling, Unmarshalling) Einsatzgebiete Verarbeitung von XML-Daten in Standardformaten (international -gültige, branchenspezifische...) Folie 3
4 2. XML Beans Folie 4
5 2. XMLBeans: Was ist/sind XMLBeans? Inhaltlich XMLBeans is a technology for accessing XML by binding it to Java types. -- Apache Foundation Mit XMLBeans ist die Generierung von Java-Datentypen aus einem Schema und ein einfacher, JavaBean-artiger Zugriff auf Daten eines XML-Instanz-Dokuments möglich Organisatorisch Ein Projekt der Apache Foundation bzw. Teil von deren XML Projekt (daher auch unter Apache Lizenz) XMLBeans wurde ursprünglich innerhalb von BEA s Weblogic Workshop Team entwickelt und 2003 an die Apache Foundation übergeben Projektseite: Folie 5
6 2. XMLBeans: Features Generierung von Java-Datentypen aus einem XML Schema unterstützt vollständige XML Schema Spezifikation objektbasierte Sicht auf XML-Daten ohne Verlust des Zugriffs auf die originäre, native XML-Struktur Integrität eines XML Instanz Dokumentes bleibt gesichert (z.b. Reihenfolgen von Elementen, Leerzeichen, Tabs), da XML Daten als solche im Speicher gehalten werden performanter Zugriff auf XML Daten aus Java heraus Folie 6
7 2. XMLBeans: Zugriffsarten 1. Generierung von Java Datentypen aus einem XML Schema Kompilierung eines Schemas zu Java-Interfaces und implementierenden Klassen 2. Verwendung eines Cursor-Modells, durch das ein XML Infoset traversiert werden kann Zerlegung eines XML-Instanz-Dokumentes in Tokens Durchwandern und Manipulation mittels Cursors ermöglicht Verarbeitung von XML Daten ohne Kenntnis eines Schemas 3. Unterstützung des W3C DOM Folie 7
8 2. XMLBeans: Java-Datentypen aus XML Schema XML Schema Java Interfaces Schema Compiler implementierende Klassen Folie 8
9 2. XMLBeans: Was geschieht beim Kompilieren? Aus einem XML Schema werden Java Interfaces und deren Implementierung generiert Enthaltene Elemente und Attribute eines Schema-Elements werden zu Attributen einer Java-Klasse Eingebaute Schema Datentypen werden auf einfachen Java -Datentypen sowie XMLBeans-Datentypen gemappt Komplexe Typen werden zu Java Interfaces verarbeitet Zugriff auf enthaltene Elemente und Attribute über Methoden im JavaBean-Style, z.b. getxy(), setxy(), addxy(), removexy(), isxy() Generierung der Methoden abhängig von der Kardinalität im XML Schema Detailliertere Erläuterung der Kompilierung später Folie 9
10 2. XMLBeans: Live-Demo in Eclipse Beispiel-Schema: Buchbestellungen (bestellung.xsd) aus übersetztem Teil 0 der W3C Schema-Spezifikation [ Folie 10
11 2. XMLBeans: Typen-Generierung I Resultierendes API besteht generell aus zwei Arten von Daten Eingebaute (built-in) Typen, die die Typen der Schema Spezifikation widerspiegeln Z.B. XmlString, XmlDecimal, XmlInt Zugriff daneben auch über native Java-Datentypen möglich Typen, die aus selbst-abgeleiteten Schema-Typen generiert werden neue Interfaces und deren Implementierung als Klassen Alle Typen erweitern XmlObject, das diverse Methoden und eine enthaltene Factory-Klasse vererbt Folie 11
12 2. XMLBeans: Typen-Generierung II Mapping der 46 Datentypen aus XML Schema : Vererbungs -hierarchie in XML Schema durch eingebaute Typen (Xml<Typ>) abge-bildet bequemer Zugriff über native Java -Typen möglich Folie 12
13 2. XMLBeans: Typen-Generierung III Package-Namen: aus Namespace-URI generiert Interfaces: z.b. org.tempuri.xy) benannte Typen werden zu neuen, benannten Interfaces lokal benannte Typen (benannte Typen innerhalb eines benannten Typs) werden zu inneren Interfaces des Typs, innerhalb dessen Typ sie definiert wurden anonyme Schema-Typen werden zu inneren Interfaces der Typen, innerhalb derer sie definiert wurden Folie 13
14 2. XMLBeans: Typen-Generierung IV Sonderfall: abgeleitete, simple Typen = Typen, die aus den 46 Typen von XML Schema gebildet und modifiziert wurden durch a) Einschränkungen b) Vereinigungen (Unions) c) kommagetrennte Listen hier werden die im Schema spezifizierten Modifikationen auch in der Implementierung der generierten Interfaces durchgesetzt Durchsetzung der im Schema spezifizierten Kardinalitäten etc.: später beim Thema Validierung Folie 14
15 2. XMLBeans: Generierte Methoden I Methoden für Elemente und Attribute, die einzeln vorkommen können Für XML-Schema-Datentypen* generiert werden: Type getxy() void setxy(type newvalue) XmlType xgetxy() void xsetxy(xmltype newvalue) XmlType addnewxy() Falls Element leer sein darf (nillable="true") boolean isnilxy() void setnilxy(boolean nillable) Falls Element oder Attribut optional (Element mit minoccurs="0"; Attribut mit use="optional") boolean issetxy() void unsetxy() Type: nativer Java-Typ XmlType: XMLBeans-Typ (nur falls XY simplem Schema-Typ entspricht) *für xs:any-bereiche werden keine Zugriffsmethoden generiert! Folie 15
16 2. XMLBeans: Generierte Methoden II Methoden für Elemente, die mehrfach vorkommen können (maxoccurs > 1 oder ="unbounded") List<Type> getxylist() Type[] getxyarray() XmlType[] xgetxyarray() void setxyarray(type[] newvalues), void xsetxyarray(xmltype[] newvalues) int sizeofxyarray() Type getxyarray(int index) XmlType xgetxyarray(int index) boolean isnilxyarray(int index) void setnilxyarray(int index) void setxyarray(type newvalue, int index) void xsetxyarray(xmltype newvalue, int index) void addxy(type newvalue) XmlType addnewxy() void removexy(int index) void insertxy(int index, Type newvalue) XmlType insertnewxy(int index) Type: nativer Java-Typ XmlType: XMLBeans-Typ (nur falls XY simplem Schema-Typ entspricht) Folie 16
17 2. XMLBeans: XML Object Pendant zum Schema-Typ xs:anytype Ober-Interface aller eingebauten und generierten Typen vererbt wichtige Funktionalität Factory-Klasse zur Erstellung neuer Instanzen leere Instanzen : Factory.newInstance() Instanzen aus Datei, Stream : Factory.parse(File f), Factory.parse (Stream s) Erstellung von XmlCursors: newcursor() Rückgabe von DOM-Nodes: getdomnode() Ausführung von XPath- und XQuery-Ausdrücken: selectpath(string expr) bzw. execquery(string expr) Folie 17
18 2. XMLBeans: Live-Demo in Eclipse Vergleich des Mappings der Datentypen Folie 18
19 2. XMLBeans: Instanz-Dokumente an Klassen binden Aufruf einer der Methoden der Factory-Klasse: z.b. newinstance(), parse(file f) Folge: 1. Aus einem Instanz-Dokument wird im Arbeitsspeicher ein Graph von Java-Objekten abgelegt, die Instanzen der aus dem Schema kompilierten Interfaces bzw. deren Implementierung sind. 2. Zusätzlich wird das gesamte XML Infoset des XML-Instanz -Dokuments zum Durchwandern und zur Manipulation bereitgestellt. Folie 19
20 2. XMLBeans: Architektur von XMLBeans [ Folie 20
21 2. XMLBeans: Arbeiten mit XMLBeans 1. Java Datentypen aus Schema generieren Commandline: scomp out <zieldatei> <schema> In Java mit der Klasse org.apache.xmlbeans.impl.tool.schemacompiler mittels Ant-Task 2. Instanziierung der Java-Repräsentation eines XML-Dokuments mittels einer Factory-Methode z.b. XYDocument.Factory.parse(File f) Auslesen / Manipulation des XML-Dokuments mittels generierter Methoden (get(), set(), add() usw.) Folie 21
22 2. XMLBeans: XmlCursors Zerlegung eines Instanz-Dokuments in sog. Token für Element-Beginn/-Ende, Attribute, Kommentare usw. Navigiert werden kann mittels einer Instanz von XmlCursor Instanziierung: Aufruf der Methode newcursor() auf einem beliebigen Objekt, das von XmlObject ableitet (auch auf Document-Objekten) N.B.:Cursor gelten Dokument-weit, egal, wo (=in welcher Schachtelungstiefe) sie erstellt werden Cursors ermöglichen Durchwandern eines Instanz-Dokuments auf Basis der Tokens Manipulation der Instanz-Dokuments (Einfügen von Elementen, Attributen, Element-Inhalten usw.) Ausührung von XQuery und XPath-Ausdrücke Folie 22
23 2. XMLBeans: XmlCursors Token-Typen 9 Token Typen STARTDOC ENDDOC START END TEXT ATTR NAMESPACE COMMENT PROCINST <?xml version= 1.0 encoding= UTF-8?> <!-- Order summary --> <?xml-stylesheet type= text/xsl href= order.xslt?> <WidgetOrder batchid= 3DJ xmlns= org.shipping > <Order id= 12 > <item><name>some Widget</name></item> </Order> </WidgetOrder> Start-Tag Verarbeitungsanweisung End-Tag Ende Namespace-Attribut Kommentar Text-Inhalt des eines Dokuments Elements Abfrage des Token-Typs mit folgenden Methoden auf einer Cursor-Instanz: currenttokentype() oder is<token-typ>() adaptiert von: Folie 23
24 2. XMLBeans: XmlCursors Navigation Typische Methoden zum Navigieren tonexttoken(), tofirstchild(), tochild(int index), tonextsibling() ACHTUNG: auch wenn die Methoden-Namen nach DOM -Verarbeitung klingen, liegt hier ein etwas anderes Datenmodell zugrunde! die jeweilige Methode versucht nur, ein der Anforderung (z.b. Kind, Geschwister) entsprechendes Token zu finden falls gefunden, wird Cursor vor dieses bewegt und die Methode gibt true zurück falls nicht gefunden, gibt Methode false zurück Folie 24
25 2. XMLBeans: XmlCursors Manipulation Methoden zur Manipulation von Instanz-Dokumenten Einfügen von Elementen: beginelement(string elementtyp, String uri) Cursor anschließend zwischen Start- und Ende-Tag Hinzufügen von Attributen: insertattribute(string attributname, String uri) insertattributewithvalue(string attributname, String wert) Hinzufügen von Text-Inhalt: insertchars(string inhalt) Cursor steht anschließend hinter eingefügtem Inhalt Folie 25
26 2. XMLBeans: XmlCursors Reflektion I Vorteile: ein Instanz-Dokument kann ohne Kenntnis eines Schemas interpretiert und manipuliert werden geringerer Ressourcen-Verbrauch als bei Verarbeitung mittels DOM Nachteile: man interpretiert ein Instanz-Dokument auf sehr niedriger Ebene (prinzipiell lediglich String-Zerlegung und Zuordnung von Token -Typen) Validierung findet bei Manipulation des Instanz-Dokuments NIE statt (auch nicht falls Schema vorhanden) Folie 26
27 2. XMLBeans: XmlCursors Reflektion II Mögliche Anwendungsgebiete: Schema-unabhängige Verarbeitung ein eigenes Schema befindet sich noch in der Entwicklung Verarbeitung Resultate von XPath- und XQuery-Abfragen Handling von Bereichen, die im Schema mit xs:any definiert sind diese Bereiche können beliebige, wohgeformte XML-Instanz -Dokumente enthalten es werden dafür keine Zugriffsmethoden (Getter/Setter etc.) generiert Folie 27
28 2. XMLBeans: Live-Demo in Eclipse kurze Vorführung der XMLCursor Lesen und modifizieren Folie 28
29 2. XMLBeans: XQuery und XPath-Ausdrücke ausführen I XmlBeans-API bietet 2 Methoden und 2 Klassen, auf deren Instanzen sie ausgeführt werden können: 1. XmlObject[] XmlObject.selectPath() gibt Array von XmlObject- bzw. Unterklassen-Instanzen zurück 2. void XmlCursor.selectPath() speichert eine Liste von Selektionen des Instanz-Dokuments in einem Attribut der XmlCursor-Instanz Selektionen können durchlaufen und abgefragt werden mit Methoden wie tonextselection(), toselection(int index) N.B.: nach Verarbeitung der Selektionen die Methode clearselections() aufrufen (sonst trackt Cursor die Selektionen permanent live im Instanz-Dokument) die selectpath()-methoden arbeiten generell mit Referenzen auf das aktuelle Instanz-Dokument Folie 29
30 2. XMLBeans: XQuery und XPath-Ausdrücke ausführen II XmlBeans-API bietet 2 Methoden und 2 Klassen, auf deren Instanzen sie ausgeführt werden können: 1. XmlObject[] XmlObject.execQuery() gibt ein Array von Instanzen des Typs XmlObject bzw. einer Unterklasse zurück 2. XmlCursor XmlCursor.execQuery() gibt eine Instanz von XmlCursor zurück, die am Beginn eines neu erstellten Instanz-Dokumentes steht, das die Abfrage-Ergebnisse enthält (Navigation wie üblich mit XmlCursors) Resultate der execquery()-methoden sind aus dem Instanz -Dokument kopierte XML-Fragmente (und keine Referenzen) XPath- und XQuery-Abfragen setzen APIs wie Saxon im Classpath voraus Folie 30
31 2. XMLBeans: Validierung Wann wird validiert? bei Generierung des Schemas zu Java-Datentypen: immer bei der Verarbeitung von XML Instanz Dokumenten: implizit: nie! explizit möglich: on request : Aufruf der Methode validate(), die einen Boolean zurückgibt wird von XmlObject vererbt echte Validierung findet statt on the fly : beim Erzeugen einer Dokument-Instanz im Speicher mittels Factory-Methode Parameter vom Typ XmlOptions übergeben Methodenaufruf setvalidateonset() auf XmlOptions-Instanz aktiviert Validierung on the fly aber: keine echte Validierung, eher ein Debugging-Tool (Apache Foundation) Folie 31
32 2. XMLBeans: Live-Demo in Eclipse Kurzbeispiel: Validierung Folie 32
33 2. XMLBeans: Tools-Übersicht Aufruf dumpxsb inst2xsd scomp scopy sdownload sfactor svalidate validate xpretty xsd2inst xsdtree xmlbean ant task Name XSB File Dumper Instance to schema tool Schema compiler Schema copier Schema downloader Schema factoring tool Streaming Instance validator Instance validator XML pretty printer Schema to instance tool Schema type hierarchy printer Funktion Stellt die Inhalte einer xsb-datein in menschenlesbarer Form dar Generiert XML Schema aus XML Instanz Dateien Kompiliert ein Schema zu XMLBeans-Class-Files und Metadaten Kopiert ein Schema aus einer angegebenen URL in eine angegebene Datei Verwaltet einen Datei namens xsdownload.xml, die als Index aus dem Web heruntergeladener und lokal gecachter XSD-Files fungiert. Führt refactoring durch, indem es in einem Set von Schemata vorkommende redundante Definitionen herausfiltert und durch Imports ersetzt. Validiert eine Schema-Definition und Instancen innerhalb eines Schemas Validiert eine Instanz gegen ein Schema Gibt spezifiziertes XML hübsch auf der Konsole aus Gibt eine XML Instanz vom globalen Element aus unter Verwendung eines übergegebenen Schemas Gibt eine Vererbungshierarchie der in einem Schema definierten Typen aus Ant Task, der ein set von XSD- und/oder WSDL-Dateien zu XMLBean Typen kompiliert (Ant-Pendant zu scomp) Aufruf via Commandline oder aus programmatisch aus Java heraus Folie 33
34 2. XMLBeans: weitere Funktionalitäten Typen-Generierung anpassen Kompilier-Vorgang kann durch eine Konfigurationsdatei gesteuert werden z.b. lassen sich Package-Namen, Prä- und Suffixe der generierten Interfaces und implementierenden Klassen definieren Reflektion des Schemas Schema Type System API ermöglich Reflection der generierten Typen und des zugrundeliegenden Schemas Einstieg: Interface org.apache.xmlbeans.schematypesystem Annotationen mit Bookmarks Lesezeichen (=selbst implementierte Klassen mit beliebigen Attributen) lassen sich mit einem XmlCursor an Positionen innerhalb eines Instanz-Dokumentes heften Folie 34
35 2. XMLBeans: Literatur Quellen XMLBeans Documentation Online: im XMLBeans-Paket enthalten unter \docs\guide XMLBeans API Online: im XMLBeans-Paket enthalten unter \docs\reference Weiterführende Quellen, Tutorials, Interna etc. Online: Folie 35
36 2. XMLBeans Soweit so gut... Fragen? Folie 36
37 Quiztime Folie 37
38 3. JAXB Folie 38
39 3. JAXB: Was ist JAXB? Inhaltlich: Java Architecture for XML-Binding The Java Architecture for XML Binding (JAXB) provides a fast and convenient way to bind between XML schemas and Java representations, making it easy for Java developers to incorporate XML data and processing functions in Java applications. (Sun, Java Web Services Tutorial) Organisatorisch wurde im Rahmen des Java Community Processes (JCP) entworfen JAXB 1.0 als JSR (Java Specification Request) 31 JAXB 2.0 als JSR 222 Referenzimplementierung von SUN seit JSE 1.6 im JDK enthalten Ursprung: Java Web Services (Referenzimplementierung in Glassfish / SUN Application Server) Folie 39
40 3. JAXB: Features: Generierung von Java-Datentypen aus einem XML Schema unterstützt vollständige XML Schema Spezifikation objektbasierte Sicht auf XML-Daten bequemer & performanter Zugriff auf XML Daten aus Java heraus Diverse XML-parsing APIs verwendbar: DOM, StAX, SAX Folie 40
41 3. JAXB: Aufbau JAXB besteht aus: schema compiler: generiert aus einem XML Schema eine Menge abgeleiteter Java Datenstrukturen diese Abbildung kann in einer XML-basierten Binding-Sprache angepasst werden Datentypen-Mapping, Package, Im Schema selbst oder getrennte Datei schema generator: bildet eine Menge vorhandener Java-Datenstrukturen auf ein abgeleitetes XML Schema ab dieses Mapping wird durch Java-Annotationen beschrieben binding runtime framework: ermöglicht lesende (unmarshalling) und schreibende (marshalling) Zugriffe auf XML-Instanzdokumente sowie Validierung Folie 41
42 3. JAXB: Aufbau Folie 42
43 3. JAXB: Live-Demo Schema Compile mit xjc Folie 43
44 3. JAXB: Schema to JAVA Packages und enthaltene Klassen Java Klassen: Name abgeleitet aus Name des XML-Elements/Typs oder aus Binding-Deklaration <xs:type name="bestellungtyp" wird zu BestellungTyp.java eine ObjectFactory-Klasse, die Instanzen der an das XML-Schema gebundenen Java-Klassen zurückliefern kann ObjectFactory objfactory = new ObjectFactory(); BestellungTyp bt= objfactory.createbestellungtyp() Ausnahme: Für Top-Level-Elemente (z.b. Bestellung) werden keine Klassen erzeugt, sie sind jedoch instanziierbar über create -Methoden der Object-Factory JAXBElement<BestellungTyp> b = objfactory.createbestellung(bestellungtyp bt); Folie 44
45 3. JAXB: Schema to JAVA Mapping eigener Elemente und Typen Pro benanntem XML-Schema Typ eine Klasse Innere anonyme Schema-Typen werden zu inneren Klassen der Typen, innerhalb derer sie definiert wurden (Name der inneren Klasse == Name des Elementes, das vom anonymen Typ ist) <xsd:complextype name="warentyp > <xsd:sequence> <xsd:element name="buch" minoccurs="0" maxoccurs="unbounded > <xsd:complextype> public class WarenTyp{... public static class Buch{... } } Folie 45
46 3. JAXB: Mapping von Schema-Typen nach Java Standard-Mappings alle i.f. beschriebenen Standard-Mappings können durch eine Binding-Deklaration überschrieben/verändert werden Simple Schema-Typen Typen: typischerweise als Properties einer Java-Klasse abgebildet Basis-Typen aus Java-Packages Collections Folie 46
47 3. JAXB: Mapping von Schema-Typen nach Java XML Schema Type xsd:string xsd:integer xsd:int xsd.long xsd:short xsd:decimal xsd:float xsd:double xsd:boolean xsd:byte xsd:qname Java Data Type java.lang.string java.math.biginteger int long short java.math.bigdecimal float double boolean byte javax.xml.namespace.qname Folie 47
48 3. JAXB: Mapping von Schema-Typen nach Java XML Schema Type xsd:datetime xsd:base64binary xsd:hexbinary xsd:unsignedint xsd:unsignedshort xsd:unsignedbyte xsd:time xsd:date xsd:g* xsd:anysimpletype Java Data Type javax.xml.datatype.xmlgregoriancalendar byte[] byte[] long int short javax.xml.datatype.xmlgregoriancalendar javax.xml.datatype.xmlgregoriancalendar javax.xml.datatype.xmlgregoriancalendar java.lang.object Folie 48
49 3. JAXB: Mapping von Schema-Typen nach Java XML Schema Type xsd:duration xsd:notation Java Data Type javax.xml.datatype.duration javax.xml.namespace.qname falls kein sinnvolles Mapping von XML Schema Datentypen auf Java -Datentypen gefunden werden kann, wird die Klasse JAXBElement verwendet, die Methoden zum Setzen des Namens und Werts des Objektes bereitstellt Folie 49
50 3. JAXB: Schema nach JAVA User defined bindings Inline Bindungskonfiguration Namespace und Version im Root-Element <xsd:schema jaxb:version="2.0 xmlns:jaxb= xmlns:xsd=" Bindungskonfiguration in Schema-Element <xsd:annotation> <xsd:appinfo> <jaxb:... /> </xsd:appinfo> </xsd:annotation> Folie 50
51 3. JAXB: Schema nach JAVA User defined bindings Beispiel für Inline-Bindungskonfiguration <xsd:schema jaxb:version="2.0 xmlns:jaxb=" xmlns:xsd=" <xsd:complextype name="warentyp"> <xsd:annotation> <xsd:appinfo> <jaxb:class name="waren" /> </xsd:appinfo> </xsd:annotation> <xsd:sequence> Folie 51
52 3. JAXB: Schema nach JAVA User defined bindings Externe Bindungskonfiguration Namespace und Version im root-element <jaxb:bindings schemalocation="best.xsd jaxb:version="2.0 xmlns:jaxb= xmlns:xsd=" Bindungskonfiguration für Schema-Element <jaxb:bindings node="xpath-ausdruck"> <jaxb:... /> </jaxb:bindings> Folie 52
53 3. JAXB: Schema nach JAVA User defined bindings Beispiel für externe Bindungskonfiguration <jaxb:bindings schemalocation="best.xsd"jaxb:version="2.0 xmlns:jaxb= xmlns:xsd=" <jaxb:bindings <jaxb:class name="waren" /> </jaxb:bindings> Aufruf mittels xjc d <Dir> schema.xsd -b <ext.b.file> Folie 53
54 3. JAXB: Schema nach JAVA User defined bindings Globale Bindungskonfiguration (<jaxb:globalbindings...>) Bereiche: globale Einstellungen für das Schema und alle referenzierten Schemas Verwendung: ermöglicht z.b. Aufzählungen anzupassen, isset -Methoden zu generieren Einstellungen: collectiontype=... (z.b. java.util.vector) generateissetmethod= true / false Folie 54
55 3. JAXB: Schema nach JAVA User defined bindings Schema Bindungskonfiguration (<jaxb:schemabindings>) Bereiche: Schema-Ebene alle Elemente in diesem Schema Verwendung: ermöglicht z.b. die Anpassung von Package- oder Typ-Namen Einstellung: <jaxb:package name= neuer.name /> <jaxb:namexmltransform> <typename suffix=... prefix=... /> </jaxb:namexmltransform> Folie 55
56 3. JAXB: Schema nach JAVA User defined bindings Bindings für Typen und Elemente (<jaxb:class>) Bereiche: Typen und Elemente Verwendung: ermöglicht z.b. das Anpassen des Namens der generierten Klasse Einstellungen: name= NeuerName Folie 56
57 3. JAXB: Schema nach JAVA User defined bindings Property Bindings (<jaxb:property>) Bereiche: Java-Bean Eigenschaften Verwendung: ermöglicht, z.b. den Namen anzupassen, JAXBElement zu erzeugen Eigenschaften name= neuername generateelementproperty= true / false Folie 57
58 3. JAXB: Binding Prozess Schema Compiler Schema Generator Folie 58
59 3. JAXB: Live-Demo Mashalling / Unmarshalling Folie 59
60 3. JAXB: Marhallung Unmarshall JAXBContext context = JAXBContext.newInstane( packagename ); Unmarshaller unmarshaller = context.createunmarshaller(); JAXBElement<typ> element = (JAXBElement<typ>)unmarshaller.unmarshall(File f); Typ t = element.getvalue(); Folie 60
61 3. JAXB: Unmarshalling Marshall JAXBContext context = JAXBContext.newInstane( packagename ); Marshaller marshaller = context.createmarshaller(); Marshaller.marshall(JAXBElement<typ> element, File f); Folie 61
62 3. JAXB: Java to Schema Schemagen-Tool Command-Line-Tool {JAVA_HOME}\bin\schemagen.exe /.sh Aufruf schemagen src/ Programmatisch context.generateschema(fileoutputresolver format); Folie 62
63 3. JAXB: Java to Schema Java Data Type java.lang.string java.math.biginteger java.math.bigdecimal java.util.calendar java.util.date javax.xml.namespace.qname java.net.uri javax.xml.datatype.xmlgregoriancalendar XML Schema Type xs:string xs:integer xs:decimal xs:datetime xs:datetime xs:qname xs:string xs:anysimpletype Folie 63
64 3. JAXB: Java to Schema Java Class javax.xml.datatype.duration java.lang.object java.awt.image javax.activation.datahandler javax.xml.transform.source java.util.uuid XML Data Type xs:duration xs:anytype xs:base64binary xs:base64binary xs:base64binary xs:string Folie 64
65 3. JAXB: Java to Schema Mapping eigener Klassen Bindung anpassbar über JAXB-Annotations Annotierbare Java-Programm-Elemente: Felder, Properties, Klassen, Enums, Packages Dokumentation: package javax.xml.bind.annotation Folie 65
66 3. JAXB: Java to Java-Elemente: Felder, Properties Verwendung: bindet ein Feld oder ein Property an eine XML -Element-Deklaration Eigenschaften: name: String namespace: String required: boolean(false minoccurs=0) type: Class defaultvalue: String( default=... ) Folie 66
67 3. JAXB: Java to Java-Elemente: Klassen, Enums Verwendung: bindet eine Klasse oder Enum an einen XML-Typ Reihenfolge der Unterelemente bestimmbar Eigenschaften name: String namespace: String proporder: String[] ( <xsd:sequence>; leeres Array <xsd:any>) Folie 67
68 3. JAXB: Java to Java-Elemente: Klassen, Packages Verwendung: bestimmt, welche Felder und Properties(JavaBean -konforme Felder) an XML-Deklarationen gebunden werden Eigenschaften: XmlAccessType.FIELD: bindet alle Java- Elemente ungeachtet ihrer Sichtbarkeit XmlAccessType.NONE: bindet keines der Java-Elemente XmlAccessType.PROPERTY: bindet alle Properties XmlAccessType.PUBLIC_MEMBER: Default, bindet alle public Felder und Properties Folie 68
69 3. JAXB: Java to Java-Elemente: Felder, Properties Verwendung: schließt ein Feld oder eine Property von der Bindung aus (z. B. um Namenskonflikte aufzulösen) Folie 69
70 3. JAXB: Java to Java-Elemente: Felder, Properties Verwendung: bindet ein Feld oder eine Property an eine XML -Attribut-Deklaration Eigenschaften name: String namespace: String required: boolean(true use= required ) Folie 70
71 3. JAXB: Live-Demo Schema-Generierung aus Java Datenstrukturen Folie 71
72 3. JAXB: 1.0 vs. 2.0 JAXB 1.0 JAXB 2.0 Schema nicht vollständig unterstützt Schema vollständig unterstützt - JAXB Annotations Schema to Java - Schema to Java generiert Interfaces und Implementierungen dieser Objekte der generierten Interfaces werden mit Hilfe der Klasse ObjectFactory erzeugt Validierung wird beim Unmarshalling unterstützt sowie Aufruf von validate() möglich Schema to Java Java to Schema Schema to Java generiert einfache Java-Bean Klassen mit JavaDoc und JAXB-Annotations Objekte können direkt von den generierten Klassen instanziiert werden Validierung Marshalling & Unmarshalling Folie 72
73 3. JAXB: Quellen Sun Microsystems Inc.: The Java Web Services Tutorial Java Architecture for XML Binding (JAXB) Unofficial JAXB Guide JAVA SE 1.6 API packages: javax.xml.bind.* Folie 73
74 4. Reflexion Folie 74
75 4. Reflexion: XMLBeans vs. JAXB Gemeinsamkeiten - Erzeugung von Klassen (und Interfaces) aus XML-Schema Unterschiede - JAXB erlaubt Schemagenerierung aus Java Klassen - JAXB verwendet (fast) ausschließlich Java-Datentypen Folie 75
76 4. Reflexion: Sinnvolle Einsatzgebiete Typisiertes Datenmodell durch xml-schema spezifiziert (z.b. als Industriestandard oder Branchenstandard) Als Persistenzschicht... Folie 76
77 Vielen Dank für die Aufmerksamkeit! Folie 77
Java API for XML Binding
Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden
JAXB 2.0. Samuel Michaelis, Wolfgang Schmiesing. Ein Programmiertutorial für die Java Architecture for XML Binding ISBN
JAXB 2.0 Samuel Michaelis, Wolfgang Schmiesing Ein Programmiertutorial für die Java Architecture for XML Binding ISBN 3-446-40753-7 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40753-7
JAXB. Java Architecture for XML Binding.
JAXB Java Architecture for XML Binding http://jaxb.java.net Warum JAXB? JAXB ist eine schnelle und einfache Methode, um ein XML Schema mit einer Java Repräsentation zu verbinden. Damit ist es sehr einfach,
WebServices -reloaded-
WebServices -reloaded- Jan Krüger Bielefeld Bioinformatics Service Institute of Bioinformatics CeBiTec Bielefeld University [email protected] 3 Juli 2007 Übersicht Motivation Was sind WebServices?
XSD - XML Schema Definition
XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? 1 1.1 XSD Dateien und Anwendungen....................
Angewandte Softwareentwicklung Serialisierung
Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik [email protected] http://mmberg.net
Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008
Programmieren II SAX Dr. Klaus Höppner DOM Hochschule Darmstadt SS 2008 JAXB 1 / 21 2 / 21 SAX SAX (Simple API for XML) ist eine ereignisorientierte Methode zum Parsen von XML-Dateien. Dies bedeutet, das
Peter Huster
//@author: Peter Huster 1 2 Hervorgegangen aus JCP mittlerweile Bestandteil von Java (6) Java Klassen werden mit jeder Menge an Annotation bestückt um JAXB mit Informationen zu füttern Schema-Compiler
JAXB 2.0. Ein Programmiertutorial für die Java Architecture for XML Binding. von Samuel Michaelis, Wolfgang Schmiesing. 1. Auflage
JAXB 2.0 Ein Programmiertutorial für die Java Architecture for XML Binding von Samuel Michaelis, Wolfgang Schmiesing 1. Auflage JAXB 2.0 Michaelis / Schmiesing schnell und portofrei erhältlich bei beck-shop.de
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
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
Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire
Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Java für C++ Programmierer
Java für C++ Programmierer Alexander Bernauer [email protected] Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?
Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen
Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale
Web Service Entwicklung mit Java. Sven Lindow
Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services
Axis2, CXF und JAX-WS RI im Vergleich
Axis2, CXF und JAX-WS RI im Vergleich predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de [email protected] Inhalt Einführung Die Standards: JAXB, JWS, JAX-WS Axis2 CXF JAX-WS RI /
Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06
Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und
Bean-Mapping mit MapStruct
Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much [email protected] www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000
7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
Handbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
Asynchrone Webservices mit Axis 1.x in Java
Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich
Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder [email protected].
Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder [email protected] Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object
Auszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
XML DTD und Schema von Thomas Mangold
XML DTD und Schema von Thomas Mangold Inhalt: Zweck kurze Übersicht über den Aufbau Gemeinsamkeiten und Unterschiede Grundelemente Schema vs. DTD Beispiel Definitieren eines Schemas Links 15.05.2002 XML-Seminar
Einstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Einführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht
Prof. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 [email protected]
Web Services Java Praktikum SS 2010 [email protected] 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de
CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...
Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/
XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.1 The use of a camel image in association with Perl is a trademark of
Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm [email protected] [email protected] www.jeckle.
Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm [email protected] [email protected] www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache
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
XMLBeam. Einfach XML-Handling. W3L AG [email protected]
1 XMLBeam Einfach XML-Handling W3L AG [email protected] 2015 2 Inhaltsverzeichnis Was ist XMLBeam XML lesen XML schreiben Weitere Features zurück 3 Was ist XMLBeam Java Library ohne Abhängigkeiten Vereinfacht
XML in der Oracle Datenbank
XML in der Oracle Datenbank Oracle XML DB Eine kurze Einführung Gruppe A Michaela Geierhos Galina Hinova Maximilian Schöfmann AGENDA Warum XML in einer Datenbank? Was bietet die Oracle XML DB? Unterschiedliche
Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
Einführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
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
AuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
5. Übung zur Vorlesung Service-orientierte Architekturen
5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter
Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team
Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer
Java Generics & Collections
Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes
Einführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Programmierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
Vererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
Komponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
Installation und Benutzung AD.NAV.ZipTools
Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: [email protected] Die Komponente
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
Einstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
Architektur des agimatec-validation Frameworks
Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen
Der MyCoRe-URI-Resolver
by Thomas Scheffler, Wiebke Oeltjen, Jens Kupferschmidt 2015-06-16 Der URI-Resolver in MyCoRe ist eine Erweiterung des Standard-URI-Resolvers und gestattet innerhalb der MyCoRe- Anwendung den einfachen
Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
Szenario 3: Service mit erweiterter Schnittstelle
2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich
1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.
Gliederung Document Object Model (DOM) Level 2 HTML Specification 1. Einführung Spezifikation 2. DOM Module Levels, Core, Überblick 3. DOM Intern Funktionsweise, Parser 4. DOM Level 2 HTML Eigenschaften,
Java - Webapplikationen
Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje
Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
Spring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
Abschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
Ferhat Ayaz. XML mit C++
Ferhat Ayaz XML mit C++ Inhaltsverzeichnis Einleitung 11 Teil I XML-Grundlagen 15 i XML im Schnellkurs 17 I.I WasistXML? 18 1.2 Was ist XML nicht? 18 1.3 Der Aufbau eines XML-Dokuments 19 1.4 XML-Deklaration
XML Informationsmodelle
XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination
Eclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler [email protected] PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MySQL, phpmyadmin & SQL. Kurzübersicht
MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen
Java Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
Java Web Services Metadata JSR-181
Java Web Services Metadata JSR-181 Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Albertus-Magnus-Str.
Auszug aus Axis2 Schulung
Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr
CORBA. Systemprogrammierung WS 2006-2007
CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA
Jens Kupferschmidt Universitätsrechenzentrum
Einordnung der Metadaten im MyCoRe Projekt Connection to other databases Data presentations MyCoResearch over instances Classifications Metadate and search Derivate User and access rights GUI Workflow
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden
Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive
JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel [email protected]
JSP JSTL JEE Vorlesung Teil 6 Ralf Gitzel [email protected] 1 Übersicht Ralf Gitzel [email protected] 2 Übersicht Wiederholung / Vertiefung JSTL Grundlagen JSTL Basisbefehle Templates über JSTL
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
Programmierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata
Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Versuchsziele XML-Dateien für eine vorgegebene DTD-Datei erstellen können. XML-Dateien
XML-Technologien. XML-Parser. Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010
XML-Technologien XML-Parser Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010 XML-Technologien Inhalt Das Document Object Model (DOM) Simple API for XML Vergleich
Javakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
JAX-RS 2.0 REST mit Java EE 7
Enterprise Java, Web Services und XML JAX-RS 2.0 REST mit Java EE 7 Java User Group Darmstadt 13. Juni 2013 http://www.frotscher.com [email protected] Vorstellung Freiberuflicher Softwarearchitekt und
Themen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
Seminar: mobile GIS Austausch von Geodaten
Seminar: mobile GIS Austausch von Geodaten Tobias Wallura 30. Juni 2011 Tobias Wallura Austausch von Geodaten 30.06.2011 1 / 31 Agenda 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente
Einstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
Objekt-Orientierte Programmierung
Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
Präsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:
Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java
Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Standardisierung durch die ECMA und ISO Short Introduction to C# C# (C
C# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
Java Web Services. Seminarunterlage. Version 4.03 vom
Seminarunterlage Version: 4.03 Version 4.03 vom 2. Januar 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
