Architekturen für verteilte Internetdienste

Größe: px
Ab Seite anzeigen:

Download "Architekturen für verteilte Internetdienste"

Transkript

1 1 Überblick Architekturen für verteilte Internetdienste Übung 1: Grundlagen XML-APIs für Java SAX DOM Java: JDOM, dom4j, StAX Validierendes Parsen XML Transformationen Java Remote Method Invocation (RMI) Java Beans Java Management Extensions 2 XML-APIs für Java 3 Simple API for XML (SAX) Konzept Herstellerunabhängige Schnittstelle (API) z.b. Java API for XML Processing (JAXP) für DOM und SAX Beliebige Implementierung Auswahl zur Laufzeit: System Properties und Factories Packages: javax.xml, org.xml, org.w3c Konzept Ereignisorientiertes Parsing: XML-Elemente lösen Ereignisse aus Push von Elementen des Dokuments an definierte Callback-Handler Ergebnis: Zustandsloser Stream ohne Navigationsmöglichkeit Hier vorgestellte Parser APIs Simple API for XML (SAX): Stream Pushing Document Object Model (DOM): Baum von Dokument-Elementen JDOM/dom4j: DOM à la Java Streaming API for XML (StAX): Stream Pulling (Cursor) Handler Dokumentinhaltsbehandlung (ContentHandler) Fehlerreaktion (ErrorHandler) DTD-Manipulation (DTDHandler) Entity-Referenzauflösung (EntityResolver) Aktueller Parser im Java SDK: Apache-Xerces

2 3.1 Vorgehen SAXParserFactory erzeugt SAXParser (javax.xml.parsers) Dessen SAXReader ruft je nach Element definierte Handler auf, z.b. ContentHandler, ErrorHandler, DTDHandler, EntityResolver, Eigenen Handler von DefaultHandler ableiten und Methoden ergänzen Beinhaltet ContentHandler, ErrorHandler, DTDHandler, EntityResolver Ggf. weitere Handler ableiten und implementieren (z.b. CDATA, DTD-Elemente) Konfigurieren Validierendes Parsen, Namespace-Awareness Implementierung eines eigenen Handlers Ableitung von DefaultHandler public class MyHandler extends DefaultHandler { void startdocument() throws SAXException { void enddocument () void startelement (String namespaceuri, String sname, String qname, Attributes attrs) void endelement (String namespaceuri, String sname, String qname) void characters (char[] buf, int offset, int len) void ignorablewhitespace (char[] buf, int offset, int len) void processinginstruction(string target, String data) void setdocumentlocator (Locator l) void warning (SAXParseException e) void error (SAXParseException e) Parsen eines XML Dokuments Beispiel // Erzeugen des Handlers DefaultHandler hr = new Handler(); // und des Parsers XMLReader xr = XMLReaderFactory.createXMLReader(); // Handler registrieren xr.setcontenthandler(hr); xr.seterrorhandler(hr); // Spezifikation der einzulesenden Datei FileReader r = new FileReader( PFAD_ZUR_DATEI ); // Start xr.parse(new InputSource(r)); 3.4 Beispiel Einfaches XML <?xml version="1.0" encoding="utf-8"?> <n:data xmlns:n="urn:avid-u1"> test </n:data> Ausgelöste Events startdocument() startprefixmapping() -> n, uri=urn:avid-u1 startelement() -> n characters() -> test endelement() -> n endprefixmapping() -> n, uri=urn:avid-u1 enddocument() 1.5 Kein Event bei XML-Deklaration -> Auslesen der Daten über Locator2 Interface möglich 1.6

3 4 Document Object Model (DOM) 4.1 Vorgehen Parsing läuft automatisch durch und erzeugt DOM-Baum Speicherverbrauch wächst mit Größe des zu parsenden Dokuments Sprachunabhängige API Navigation auf Dokumentbaum von mäßig getypten Knoten => Alles ist ein Knoten (Element, Attribut, Text, ) Notwendige Typ-Prüfung Node child = data.getfirstchild(); while(child!=null) { if (child.getnodetype() == Node.ELEMENT_NODE) { Element e = (Element) child; else child = child.getnextsibling(); getnextsibling liefert nächsten Geschwisterknoten zurück (bzw. null) Auch Rückwärtsnavigation möglich: getprevioussibling 1.7 DocumentBuilderFactory erzeugt DocumentBuilder (Parser) Document per newdocument oder Parsing erzeugen Root-Element: Document.getDocumentElement() Navigation: getchildnodes, getnextsibbling, Hinzufügen von Elementen: createelement Informationen: Node-API mit nodetype, nodename,nodevalue Einfaches Beispiel <e> bla </e> <e> nodetype()=element_node, nodename()= e, nodevalue()=null bla nodetype()=text_node, nodename()= #text, nodevalue()= bla Parsen eines XML Dokuments 4.3 Wichtige Methoden Beispiel DocumentBuilderFactory factory; DocumentBuilder builder; Document doc; // Erzeugen Factory factory = DocumentBuilderFactory.newInstance(); builder = factory.newdocumentbuilder(); // Möglicher Error-Handler für Überprüfung des Dokuments builder.seterrorhandler(new org.xml.sax.errorhandler() { void warning(saxparseexception ex) { void error(saxparseexception ex) { void fatalerror(saxparseexception ex){ ); // Start doc = builder.parse(new File( PFAD_ZUR_DATEI )); 1.9 org.w3c.dom.node appendchild, removechild, gettextcontent, getparentnode, getownerdocument, getnodename/type/value, get/hasattributes, getfirst/lastchild, getnextsibling, getchildnodes org.w3c.dom.document getdocumentelement, createattribute, createelement, createtextnode, getelementsbytagname Ableitungen: org.w3c.dom.element,.attr,.comment,.text, Achtung getelementsbytagname ist transitiv => nicht auf direkte Subknoten beschränkt getchildnodes liefert alle Subknoten, nicht nur Subelemente => z.b. auch Text-Knoten (vgl. Beispiel) 1.10

4 5 JDOM Java-OOP DOM-Zugriff JSR-102: JDOM 1.0 Packages: org.jdom.** Baumdarstellung des XML Dokuments Intern: Verwendung SAX/DOM-Parser => z.b. via org.jdom.input.saxbuilder Konkrete Klassen anstelle von Interfaces => XML-Knoten nicht durch Node repräsentiert (=> spezifische Klasse) Analoge Methoden zum Manipulieren, Validieren => vgl. DOM 5.1 Beispiel Implementierung SAXBuilder builder = new SAXBuilder(true); Document doc = builder.build( PFAD_ZUR_DATEI ); // Wurzelelement Element root = doc.getrootelement(); println("element: "+root.getname()); // Attribute for (Attribute a: root.getattributes()) println("- Attribute "+a.getname()+"="+a.getvalue()); // Kinderelemente for (Element e: root.getchildren()) println("- Element "+e.getname()); 1.11 Keine lästige Typprüfung nötig => vgl. DOM dom4j Baumdarstellung des XML Dokuments Schneller/kleiner als JDOM Besonders schnelle Traversierung großer Dokumente Auf Interfaces aufbauende Implementierung XPath-Integration Leichteres Navigieren // JDOM: e.getchild("kind").getchild("enkel"); // dom4j: e.selectsinglenode("kind/enkel"); XSLT Integration => Transformation eines Dokuments Beispiel Implementierung // Erzeugen des Parsers SAXReader reader = new SAXReader(); Document document = reader.read( PFAD_ZUR_DATEI ); // Wurzelknoten Element root = document.getrootelement(); // Iterieren durch die Kinderelemente for ( Iterator i = root.elementiterator(); i.hasnext(); ) { Element element = (Element) i.next(); 1.14

5 7 Streaming API for XML (StAX) 7.1 Beispiel Streambasiertes XML-Pull-Parsing SAX: Push-Parsing (Observer Entwurfsmuster) Iterator Entwurfsmuster => Client fragt den Parser nach der nächsten vorhandenen Information Zustandsloser Strom ohne Navigationsmöglichkeit (vgl. SAX) JSR-173 Java-API unabhängig von der Implementierung Ermöglicht auch die Erzeugung von XML Dokumenten vs. SAX 1.15 Implementierung URL u = new URL( PFAD_ZUR_DATEI ); InputStream in = u.openstream(); XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader parser = factory.createxmlstreamreader(in); for (int event = parser.next(); event!= XMLStreamConstants.END_DOCUMENT; event = parser.next()) { switch (event) { case XMLStreamConstants.START_ELEMENT: case XMLStreamConstants.END_ELEMENT: System.out.println(parser.getLocalName()); break; case XMLStreamConstants.CDATA: case XMLStreamConstants.CHARACTERS: System.out.println(parser.getText()); break; parser.close(); Validierendes Parsen Möglichkeiten Document Type Definition (DTD) XML Schema 9 XML Tranformationen Extensible Stylesheet Language Transformations (XSLT) XSLT Stylesheets enthalten Transformationsanweisungen XSLT Prozessoren transformieren anhand der Stylesheets Schemavalidierung am Beispiel von SAX: DefaultHandler hr = new Handler(); XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setfeature( true); xr.setfeature( true); xr.setcontenthandler(hr); xr.seterrorhandler(hr); Java API for XML Processing (JAXP) Standard-API für XML Prozessoren: javax.xml.transform.** Einfaches Beispiel Source xmlsource = new StreamSource(xmlFile); Source xsltsource = new StreamSource(xsltFile); TransformerFactory transfact = TransformerFactory.newInstance(); Transformer trans = transfact.newtransformer(xsltsource); FileReader r = new FileReader(filepath); xr.parse(new InputSource(r)); 1.17 trans.transform(xmlsource, new StreamResult(System.out)); 1.18

6 10 Java Remote Method Invocation Fernaufrufmechanismus für Java Methodenaufruf an Objekten in anderen Java Virtual Machines => Lokal oder entfernt Erhalt der Aufrufsemantik von Java Primitive Datentypen und nicht exportierte RMI Objekte: Call-By-Value Exportierte RMI Objekte: Call-By-Reference 10.1 Serverseite Implementierung eines einfachen Hello World Beispiels Schnittstelle public interface Hello extends java.rmi.remote { public String sayhello() throws java.rmi.remoteexception; Architektur: Client Stub Remote Reference Layer Transport Layer Server Skeleton Remote Reference Layer 1.19 Implementierung der Schnittstelle public class HelloImpl extends UnicastRemoteObject implements Hello { public String sayhello() throws java.rmi.remoteexception { return Hello World! ; Serverseite 10.2 Registry und Clientseite Main-Methode: HelloImpl hello = new HelloImpl(); java.rmi.naming.rebind("//<host>:<port>/hello", hello); Codebase zum dynamischen Laden von Code am Server: System.setProperties() VM-Property: java -Djava.rmi.server.codebase=<URL> Security Manager System.setSecurityManager(new java.rmi.rmisecurity Manager()) RMI Registry <java_path>/bin/rmiregistry[.exe] Darf keinen direkten Zugriff auf Classpath der Objekte haben => Codebase würde eliminiert => Client erhält Stub ohne Codebase-Annotation Implementierung des Clients Hello hello; hello = (Hello)java.rmi.Naming.lookup("//<host>:<port>/Hello"); System.out.println(hello.sayHello()); Policy-File mit Rechten grant { //permission java.security.allpermission; permission java.net.socketpermission localhost:1099, connect, resolve, accept ; ;

7 10.3 Clientseitige Stellvertreter 11 JavaBeans Stub-Generierung rmic [-keep] HelloImpl public java.lang.string sayhello(){ if (usenewinvoke) { Object $result = ref.invoke(this, $method_sayhello_0, null, L); else { java.rmi.server.remotecall call = ref.newcall( (RemoteObject)this,operations,0,interfaceHash); ref.invoke(call); ref.done(call); Dynamische Proxies (ab Java 1.5) Implementieren beliebige Typen Generische Dispatch-Methode invoke() JVM Parameter beim Starten des Servers: -Djava.rmi.server.ignoreStubClasses=true 1.23 Nicht zu verwechseln mit Enterprise Java Beans (EJB)!!! JavaBeans API Specification Ziel: Einfaches Komponentensystem Eigenschaften Unterstützung von Introspection Unterstützung von Customization Unterstützung von Events Unterstützung von Properties Unterstützung von Persistenz (Serialization, Externalization) Eigenschaften Zugriff auf JavaBeans nur über Methoden möglich (Kapselung) Lesender Zugriff: get<property>() Schreibender Zugriff: set<property>() private int value; void setvalue(int value); int getvalue(); 11.1 Eigenschaften Indizierte Eigenschaften (Vektoren) private int[] value; void setvalue(int index, int value); int getvalue(int index); void setvalue(int values[]); int[] getvalue(); Boolsche Eigenschaften private boolean value; void setvalue(boolean value); boolean isvalue();

8 11.1 Eigenschaften Gebundene Eigenschaften void addpropertychangelistener(propertychangelistener x); void removepropertychangelistener(propertychangelistener x); 11.1 Eigenschaften Veto-Eigenschaften void addvetoablechangelistener(vetoablechangelistener x); void removevetoablechangelistener(vetoablechangelistener x); Unterstützung einschalten private PropertyChangeSupport changes = new PropertyChangeSupport(this); void addpropertychangelistener(propertychangelistener l) { changes.addpropertychangelistener(l); void removepropertychangelistener(propertychangelistener l){ Unterstützung einschalten private VetoableChangeSupport vetos = new VetoableChangeSupport(this); void addvetoablechangelistener(vetoablechangelistener l) { vetos.addvetoablechangelistener(l); void removevetoablechangelistener(vetoablechangelistener l){ void setvalue(int value){ this.value = value; changes.firepropertychange( value, oldvalue, newvalue); 1.27 public void setvalue(int value) throws PropertyVetoException { int oldvalue = this.value; vetos.firevetoablechange( value, oldvalue, value); this.value = value; Eigenschaften 11.2 Packaging Filter (Optional) void addpropertychangelistener(string propertyname, PropertyChangeListener listener); void removepropertychangelistener(string propertyname, PropertyChangeListener listener); void addvetoablechangelistener(string propertyname, VetoableChangeListener listener); void removevetoablechangelistener(string propertyname, VetoableChangeListener listener); Java Archive (JAR) Spezielles Manifest (META-INF/MANIFEST.MF) Meta-Informationen über das Archiv Name: avid/example/bean.class Java-Bean: True Depends-On: avid/example/bean2.class Explizite Spezifikation mit BeanInfo Klasse Listet Leistungen nach Außen explizit auf (Descriptoren) z.b. Zuordnung von Icons für Beans Später mehr

9 12 Java Management Extensions (JMX) JavaBeans Anwendung 12.1 Architektur JMX Instrumentation and Agent Specification, v1.2 Java auf dem Server Überwachung zur Laufzeit JMX bietet einheitliche Schnittstelle (vorher proprietäre Lösungen) Entstanden im Rahmen von JSR 3 (IBM, Bea Systems, Borland, etc.) JMX als Standard in Java 1.5 (JSR 176) Anforderungen an Anwendungen sind minimal Architektur 12.2 MBeans Instrumentation Level Zu überwachende Resourcen Repräsentiert durch MBeans Benachrichtigungsmechanismus zum Informationsaustausch zwischen MBeans Agent Level Agenten sprechen zu verwaltende Ressourcen direkt an Stellen diese entfernten Anwendungen zur Verfügung MBeans registrieren sich am MBean Server Distributed Services Level Entferntes Management: Protokoll-Adapter, Standard Konnektoren MBean Repräsentiert überwachbare Ressource Management-Schnittstelle für MBean Server Attribute Operationen Benachrichtigungen Konstruktor 4 Typen Standard MBean Dynamic MBean Model MBean Open MBean

10 12.2 MBeans Standard MBean Einfachste Möglichkeit Statisches Management Interface Suffix MBean public interface JMXTestMBean { public void sayhello(); public int getvalue(); public void setvalue(int value); 12.2 MBeans Dynamic MBean Dynamische Management Schnittstelle Implementiert javax.management.dynamicmbean public interface DynamicMBean { public Object getattribute(string attribute) throws (); public void setattribute(attribute attribute) throws (); public AttributeList getattributes(string[] attributes); public AttributeList setattributes(attributelist attributes); public Object invoke(string actionname, Object params[], String signature[])throws (); public MBeanInfo getmbeaninfo(); dmbeaninfo = new MBeanInfo(dClassName, ddescription, dattributes, dconstructors, doperations, dnotifications); MBeans Model MBean Erweiterung der Dynamic MBean Interface javax.management.persistentmbean Zusätzlich load() und store() Methoden 12.3 Beispiel Standard MBean public interface JMXTestMBean { public void sayhello(); public String getname(); Open MBean Mechanismus, neue Objekte zur Laufzeit zu verstehen und zu verwenden Implementiert javax.management.dynamicmbean Open: Signaturen basieren auf kleiner Menge Java-Typen (Void, Integer, Byte, ) Veröffentlichen OpenMBeanInfo Objekt Sofortige Verwendung ohne Neuübersetzung abhängiger Klassen 1.37 public int getvalue(); public void setvalue(int value); public static void main(string[] args) { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName("avid.u1:type=JMXTest"); JMXTest mbean = new JMXTest(); mbs.registermbean(mbean, name); // warten Thread.sleep(Long.MAX_VALUE); 1.38

11 12.4 Benachrichtigungen 12.4 Benachrichtigungen vgl. Java Beans Klasse erbt von NotificationBroadcasterSupport public class JMXTest extends NotificationBroadcasterSupport implements JMXTestMBean { public MBeanNotificationInfo[] getnotificationinfo() { String[] types = new String[] { AttributeChangeNotification.ATTRIBUTE_CHANGE ; String name; name = AttributeChangeNotification.class.getName(); String descript = "Attribute of this MBean has changed"; MBeanNotificationInfo info = new MBeanNotificationInfo(types, name, descript); return new MBeanNotificationInfo[] {info; Informationen über mögliche Notification Listener 1.39 vgl. Java Beans private long sequencenumber = 1; public void setvalue(int value) { int oldvalue = this.value; this.value=value; Notification n = new AttributeChangeNotification(this, sequencenumber++, System.currentTimeMillis(), "Value changed", "Value", "int", oldvalue, this.value ); sendnotification(n); Ausführung Wichtig: Starten mit JVM-Parameter -Dcom.sun.management.jmxremote Management mit jconsole (<JDK_HOME>/bin) 13 Aufgaben Implementierung eines einfachen SAX-Parsers Verwenden des DefaultHandler Ausgabe der Namespaces Ausgabe Präfixe Ausgabe Events Validierung Implementierung eines einfachen DOM-Parsers Ausgabe der Knotentypen Ausgabe der Attribute 1.41 Welchen Parser sollte in welcher Situation verwendet werden? z.b. bei großen Dokumenten, Zugriff über Netzwerk 1.42

12 13 Aufgaben Java RMI Implementierung eines einfachen Zeitservers: Methode gettime() gibt aktuelle Uhrzeit zurück Mit/ohne Stub-Erzeugung Variante: gettime() gibt Uhrzeitobjekt zurück Java Objekt Exportiertes Java RMI-Objekt Java Management Extensions (JMX) Beispiel aus Übung selbst ausprobieren Dynamic MBean Implementierung anschauen

Architekturen für verteilte Internetdienste

Architekturen für verteilte Internetdienste 1 Überblick Architekturen für verteilte Internetdienste Java Remote Method Invocation Java Beans Java Management Extensions Übung 2: Java RMI, Java Beans und Java Management Extensions (JMX) holger.schmidt@uni-ulm.de

Mehr

Web (Site) Engineering (WebSE)

Web (Site) Engineering (WebSE) 1 / 22 Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 2 / 22 Übersicht XML-Beispiel Zugriff

Mehr

Seminar: XML und Datenbanken

Seminar: XML und Datenbanken Seminar: XML und Datenbanken XML-Verarbeitungsmodelle und Language Bindings Christian Müller 24.01.2003 Übersicht 1 Einleitung 2 Simple API for XML (SAX) 3 Document Object Model (DOM) 4 JDOM 5 Java API

Mehr

Verarbeitung von XML mit SAX und DOM

Verarbeitung von XML mit SAX und DOM Verarbeitung von XML mit SAX und DOM Sven Peters Seminar Dokumentenverarbeitung Typeset by FoilTEX Urspünglich nur für Java SAX Simple Api for XML Peter Murray-Rust (Jumbo XML Browser) - YAXPAPI (Yet Another

Mehr

Programmieren II. Einführung in XML. Vorlesung 13. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 XML JAXP SAX DOM

Programmieren II. Einführung in XML. Vorlesung 13. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 XML JAXP SAX DOM Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 26 XML JAXP SAX DOM 2 / 26 Einführung in XML XML ist eine Auszeichnungssprache zur strukturellen Beschreibung von Dokumenten.

Mehr

Simple API for XML (SAX) Ulrich Hoffmann

Simple API for XML (SAX) Ulrich Hoffmann Simple API for XML (SAX) Ulrich Hoffmann 1 Simple API für XML (SAX) Ereignisbasierte Verarbeitung von XML Programmiersprachunabhängig: Implementierungen in Java, C++, Python,

Mehr

XML-Parser. Parser. Heutige Vorlesung. Grundlegende Architektur. Kategorien von Parser

XML-Parser. Parser. Heutige Vorlesung. Grundlegende Architektur. Kategorien von Parser Heutige Vorlesung XML- Welche XML- gibt es? Was sind ihre Vor- und Nachteile? Was sind Schema-Übersetzer? Klaus Schild, 2004 1 Klaus Schild, 2004 2 Grundlegende Architektur XML- Dokument Serialisierer

Mehr

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung XML-Beispiel B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 Zugriff auf Inhalt,

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Klaus Schild, XML Clearinghouse Verarbeitung von XML- Dokumenten

Klaus Schild, XML Clearinghouse Verarbeitung von XML- Dokumenten Verarbeitung von XML- Dokumenten Lernziele Was unterscheidet Pull- von Push-Parser? Was unterscheidet Einschritt- von Mehrschritt-Parser? Wie ordnen sich SAX und DOM bezüglich dieser Kategorien ein? Warum

Mehr

SAX Simple API for XML

SAX Simple API for XML SAX Simple API for XML Was ist SAX? SAX definiert ein API für einen Event basierten Parser Funktioniert wie ein serieller I/O Stream(kein random access) SAX Wozu? Schnelles, effizientes Lesen von XML Daten

Mehr

Semistrukturierte Daten. Teil 5: Java API for XML Processing

Semistrukturierte Daten. Teil 5: Java API for XML Processing Semistrukturierte Daten Sommersemester 2010 Teil 5: Java API for XML Processing 5.1. Überblick 5.2. SAX (Simple API for XML) 5.3. DOM (Document Object Model) 5.4. Serialisierung von XML Daten 5.5. Epilog

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

2.4 Analyse von XML-Dokumenten

2.4 Analyse von XML-Dokumenten 2.4 Analyse von XML-Dokumenten Die EXtensible Markup Language ist eine formale Beschreibungssprache für hierarchisch strukturierte Daten. Einführung in die Spezifikation von XML: Auszug aus der kf. Grammatik

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

JAVA/XML Das bhv Taschenbuch

JAVA/XML Das bhv Taschenbuch Michael Seeboerger-Weichselbaum JAVA/XML Das bhv Taschenbuch UMLJJLLLUJJ Inhaltsverzeichnis Inhaltsverzeichnis Vorwort 15 Teil I: Installation und erste Schritte 17 1 Das Konzept des Buches 19 Aufbau des

Mehr

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://download.oracle.com/javase/tutorial/reflect/index.html

Mehr

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html

Mehr

XML, FI und JSON strukturiert in Java verwenden. Wolfgang Nast

XML, FI und JSON strukturiert in Java verwenden. Wolfgang Nast XML, FI und JSON strukturiert in Java verwenden Wolfgang Nast Agenda Java und XML FastInfoset JSON Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert Branchen-unabhängig Hauptsitz

Mehr

XML. Arthur Zaczek. Nov 2015

XML. Arthur Zaczek. Nov 2015 Arthur Zaczek Nov 2015 1 XML 1.1 Definition Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung

Mehr

XML - Datei Zugriff mit Java

XML - Datei Zugriff mit Java XML in Java XML - Datei Zugriff mit Java XML in Java XML-Dateien für Experimente SAX (Simple API fort XML) STAX (Streaming API fort XML) Übung: SAX - STAX DOM JDOM und XPath Exkurs: DAO-Pattern Übung:

Mehr

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 34 Annotationen XML JAXB JAXP SAX DOM 2 / 34 Annotationen (1/3) Annoataionen sind Sprachelemente, durch welche Metadaten

Mehr

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 34 Annotationen XML JAXB JAXP SAX DOM 2 / 34 Annotationen (1/3) Annoataionen sind Sprachelemente, durch welche Metadaten

Mehr

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI 1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung

Mehr

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

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

Mehr

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 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

Mehr

XML. Arthur Zaczek. Nov /25

XML. Arthur Zaczek. Nov /25 XML Arthur Zaczek Nov 2015 1/25 XML XML 2/25 Definition Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung

Mehr

Server-Management mit JMX

Server-Management mit JMX Server-Management mit JMX Ziel dieses Vortrags JMX als Alternative zu bisherigen Monitoring-Schnittstellen vorstellen Einsatzmöglichkeiten aufzeigen Beispiele für die Umsetzung in JBF-Umgebungen betrachten

Mehr

SAX. (Simple. Application Programming Interface for XML)

SAX. (Simple. Application Programming Interface for XML) SAX (Simple Application Programming Interface for XML) Georg Kuschk 14.06.2002 Gliederung Rückblick - DOM / Nachteile Abhilfe : SAX SAX - Funktionsweise Der SAX Parser -Interface XMLReader -Interface ContentHandler

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

Verarbeitung von XML- Dokumenten

Verarbeitung von XML- Dokumenten Überblick 1. XML Verarbeitung Netzprogrammierung 11. XML Dokumente und ihre Verarbeitung Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf

Mehr

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung Matthias Bethke bethke@linguistik.uni-erlangen.de Linguistische Informatik Universität Erlangen-Nürnberg Sommersemester

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Teil 6: SAX Semistrukturierte Daten Sommersemester 2007 6.1. Überblick 6.2. ContentHandler 6.3. weitere Event Handler 6.4. XMLReader 6.5. Benutzung von SAX in JAXP 6.6. SAX-Filter 6.7. Epilog 6.1. Überblick

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

Java und XML Grundlagen, Einsatz, Referenz

Java und XML Grundlagen, Einsatz, Referenz Stephan Niedermeier Michael Scholz 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Java und XML Grundlagen, Einsatz,

Mehr

XML. extensible Markup Language. Dr. Beatrice Amrhein. www.w3.org/xml

XML. extensible Markup Language. Dr. Beatrice Amrhein. www.w3.org/xml XML extensible Markup Language www.w3.org/xml Dr. Beatrice Amrhein Inhaltsverzeichnis 1 XML Grundlagen...5 1.1 Die wichtigsten Punkte...5 1.2 XML Sprachen und Anwendungen...7 1.3 Der Aufbau eines XML Dokuments...7

Mehr

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis HANSER r 1 Einleitung 2 1.1 Über dieses Buch 3 1.2 Für wen ist das Buch gedacht? 4 1.3 Wie ist das Buch aufgebaut? 5 1.4 Konventionen

Mehr

XML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.

XML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin. XML-Parser Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.de Was bisher geschah Syntax wohlgeformter XML-Dokumente

Mehr

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/

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

Mehr

Verteilte Systeme Übung

Verteilte Systeme Übung Verteilte Systeme Übung Tobias Distler, Klaus Stengel, Timo Hönig, Christopher Eibel, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc. 7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

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

Mehr

XML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme XML-Parser Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.de Was bisher geschah Syntax wohlgeformter XML-Dokumente

Mehr

JavaBeans Property-Editoren und Customizer

JavaBeans Property-Editoren und Customizer JavaBeans Property-Editoren und Customizer J. Heinzelreiter WS 2004/05 Property-Editoren Builder Tools beinhalten Standard-Editoren für Zahlen (ganze Zahlen, Gleitkommazahlen), Strings, Auswahl von Fonts,

Mehr

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache B Java RMI B.1 1 Java 1.1 Objekte Objektorientierte Sprache Objekte beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger,

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

11 XML Programmierung

11 XML Programmierung 11 XML Programmierung Programmatische Interfaces (API) zur Manipulation von XML (DOM und JDOM) Data Binding: Abbildung von DTD/Schema auf isomorphe Datenstrukturen Strombasierte Verarbeitung Integration

Mehr

5 XML und Analyse von XML-Dokumenten

5 XML und Analyse von XML-Dokumenten 5 XML und Analyse von XML-Dokumenten Erläuterungen zu XML vom W3C: Die Extensible Markup Language (XML) ist ein einfaches und sehr flexibles, von SGML abgeleitetes Textformat. SGML := Standard Generalized

Mehr

Überblick. Verteilte Systeme Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Überblick. Verteilte Systeme Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

Seminar JMX - Java Management Extension

Seminar JMX - Java Management Extension Fachhochschule Nordwestschweiz FHNW Seminar JMX - Java Management Extension Cyrill Zadra 18. Juni 2007 Betreuer Prof. Dr. Dominik Gruntz Fachhochschule Nordwestschweiz FHNW Studiengang Informatik Klosterzelgstrasse

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565

Mehr

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

XML-Programmierschnittstellen: SAX, DOM

XML-Programmierschnittstellen: SAX, DOM XML-Programmiershnittstellen: SAX, DOM SAX: The Simple API for XML Event-Based Doument Objet Model (DOM) Baumdarstellung APIs zum Parsen, Bearbeiten und Serialisieren von XML-Dokumenten. (Weitgehend) sprahunabhängig

Mehr

Programmieren II XML. Heusch -- Ratz -- Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren II XML. Heusch -- Ratz --  Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft Programmieren II XML Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Begriffe und APIs zu XML, unabhängig von Java XML (Extensible Markup Language) XML definiert,

Mehr

Softwaretechnik 2 - XML -

Softwaretechnik 2 - XML - Softwaretechnik 2 - XML - Wirtschaftsinformatik 20.07.10 Thomas Perschke Inhalt XML Überblick: Java-API für XML JAXP Heute: SAX Ausblick: DOM Beispielszenario XSL Was ist XML? XML (Extensible Markup Language)

Mehr

Überblick. Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2. VS-Übung (SS17) Stubs & Skeletons 2 1

Überblick. Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2. VS-Übung (SS17) Stubs & Skeletons 2 1 Überblick Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2 VS-Übung (SS17) Stubs & Skeletons 2 1 Java Reflection API Übersicht Bietet die Möglichkeit, das

Mehr

Properties und Proxies

Properties und Proxies g n årà Dr. Winfried Grünewald service@grnwld.de Properties und Proxies Dr. Winfried Grünewald, Stutensee 2011 Version 0.9 2/10 1 Einleitung Die Java Entwicklungsumgebung bietet mit den Properties-Dateien

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand. Java Beans Übersicht, Eigenschaftstypen, Heutiger Stand. 1 Definition Eine Bean ist eine wieder verwendbare Softwarekomponente basierend auf der JavaBeans-Spezifikation von Sun, die sich visuell mit einem

Mehr

C Java RMI C.2 C.4. 1 Java. 1 Java (2) 1 Java (3) Objektorientierte Sprache. Objektorientierte Sprache (fortges.) Objektorientierte Sprache (fortges.

C Java RMI C.2 C.4. 1 Java. 1 Java (2) 1 Java (3) Objektorientierte Sprache. Objektorientierte Sprache (fortges.) Objektorientierte Sprache (fortges. 1 Java C Java RMI orientierte Sprache e und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. Methodenaufruf bei vorhandener referenz Übergabe von Parametern

Mehr

Konzepte von Betriebssystem-Komponenten Middleware RMI

Konzepte von Betriebssystem-Komponenten Middleware RMI Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.

Mehr

Überblick. Java Reflection API. Class-Objekte

Überblick. Java Reflection API. Class-Objekte Bietet die Möglichkeit, das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html [...] This

Mehr

VU Semistrukturierte Daten 2

VU Semistrukturierte Daten 2 181.139 VU Semistrukturierte Daten 2 XML-APIs (Teil 1) 25.4.2006 Reinhard Pichler Inhalt Einführung APIs für XML-Prozessoren (XML-Parser) DOM SAX JDOM StAX API für XSLT-Prozessoren: TrAX API für XQuery-Prozessor:

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

9. Remote Method Invocation Grundlagen der Programmierung II (Java) 9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

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 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

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II Heiko Neuweger (Alexander Goesmann) Bioinformatics Resource Facility Center for Biotechnology Universität Bielefeld Vorlesung Sommer 2010 Überblick Was ist XML und wofür

Mehr

5.5. Document Object Model - DOM. Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces

5.5. Document Object Model - DOM. Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces 5.5. Document Object Model - DOM Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces Überlick DOM DOM-Entwicklung DOM-Baumstruktur Knoten-Eigenschaften DOM Interfaces

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 13 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 12 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1 Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7 Inhaltsverzeichnis RMI Projekt gettime 1 Schritt 1: Interface Klasse definieren 1 Schritt 2: Implementation Class definieren 2 Schritt 3: RMI Compiler erstellen

Mehr

Java ist auch eine Insel

Java ist auch eine Insel 1371.book Seite 1 Mittwoch, 17. Dezember 2008 1:39 13 Christian Ullenboom Java ist auch eine Insel Programmieren mit der Java Platform, Standard Edition 6 Ich bin überall in diesem Land gewesen und habe

Mehr

Programmieren II. Arbeiten mit XML-Dokumenten. Institut für Angewandte Informatik

Programmieren II. Arbeiten mit XML-Dokumenten.  Institut für Angewandte Informatik Programmieren II Arbeiten mit XML-Dokumenten KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Grundlegendes XML (Extensible Markup Language) XML ist eine Auszeichnungssprache. Mit

Mehr

XML-Parser K. Schild, 2006 / M. Mochol 2007 1

XML-Parser K. Schild, 2006 / M. Mochol 2007 1 XML-Parser 1 Heutige Vorlesung letzte Woche XML-Schema - Datentypen - Element- und Attribut-Deklarationen - Typsubstitution heutige Vorlesung Welche XML-Parser gibt es? Was sind ihre Vor- und Nachteile?

Mehr

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 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.

Mehr

7 Remote Method Invocation (RMI)

7 Remote Method Invocation (RMI) 7 Remote Method Invocation (RMI) Verteilte Java Anwendungen; Client/Server Architektur Vorläufige Version 188 c 2005 Peter Thiemann Server: Aufgaben erstellt remote objects Objekte, deren Methoden von

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

P A X P A X. Power API for XML. DOM und SAX. PAX : Ideen und Konzepte. Wie PAX funktioniert. Wie PAX angewandt wird. WWW-Links. von Manfred Duchrow

P A X P A X. Power API for XML. DOM und SAX. PAX : Ideen und Konzepte. Wie PAX funktioniert. Wie PAX angewandt wird. WWW-Links. von Manfred Duchrow P A X Power API for XML von Manfred Duchrow P A X DOM und SAX : Ideen und Konzepte Wie funktioniert Wie angewandt wird WWW-Links 2 1 DOM (Document Object Model) Document Element Element Text Attribute

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker XML-basierter Datenaustausch in Java (2) PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 13. Mai 2013 Übersicht

Mehr

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz.  Institut für Angewandte Informatik Programmieren II Remote Method Invocation (RMI) Heusch -- Ratz KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote Method

Mehr

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 Java Beans Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 1 Agenda Was sind Java Beans? Wie funktionieren Java Beans? Objekte vs. Komponenten Mechanismen

Mehr

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3)

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3) Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3) Robert Tolksdorf und Peter Löhr Überblick 1. Aktivierung und Deaktivierung von Objekten http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html

Mehr

C Java RMI. 1 Java. Objektorientierte Sprache

C Java RMI. 1 Java. Objektorientierte Sprache Java RMI 1 1 Java Objektorientierte Sprache Objekte und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger, Adressen o.ä. Methodenaufruf bei vorhandener Objektreferenz

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker XML-basierter Datenaustausch in Java PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 6. Mai 2013 Übersicht Wiederholung:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Inhalt. Parser-Modelle. Aufgaben eines XML-Prozessors. XML-APIs und Java. Idee eines XML-Prozessors (Parsers) 181.139 VU Semistrukturierte Daten 2

Inhalt. Parser-Modelle. Aufgaben eines XML-Prozessors. XML-APIs und Java. Idee eines XML-Prozessors (Parsers) 181.139 VU Semistrukturierte Daten 2 Inhalt 181.139 VU Semistrukturierte Daten 2 XML-APIs (Teil 1) 25.4.2006 Reinhard Pichler Einführung APIs für XML-Prozessoren (XML-Parser) DOM SAX JDOM StAX API für XSLT-Prozessoren: TrAX API für XQuery-Prozessor:

Mehr

H.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications

H.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications Motivation The ed-object Approach Java RMI ed Objects in Java RMI Conclusions Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.1 1 Motivation Distributed object-oriented

Mehr

Java und XML. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2010

Java und XML. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2010 Java und XML Praktikum aus Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Java und XML Einführung in XML Merkmale von XML SAX Grundlagen, Verwendung in Java, DOM Grundlagen, Verwendung in Java, Validierung

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/15 1 / 24 2 / 24 Das Singleton Im einfachsten Fall wird ein Singleton über ein statisches Attribut

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics

Mehr