Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML Ursprünglich zur besseren logischen Strukturierung von Dokumenten vorgesehen. Wird aber zunehmend in anderen Anwendungsfeldern genutzt, z.B. zur Beschreibung.

Ähnliche Präsentationen


Präsentation zum Thema: "XML Ursprünglich zur besseren logischen Strukturierung von Dokumenten vorgesehen. Wird aber zunehmend in anderen Anwendungsfeldern genutzt, z.B. zur Beschreibung."—  Präsentation transkript:

1 XML Ursprünglich zur besseren logischen Strukturierung von Dokumenten vorgesehen. Wird aber zunehmend in anderen Anwendungsfeldern genutzt, z.B. zur Beschreibung von Komponenten und deren Schnittstellen. XML Grundlagen oMängel von HTML : -Statische, nicht erweiterbare Menge von Markup-Elementen (Tags) -Unzureichende Trennung von Layout und Inhalt oXML basiert auf auf dem SGML (Standard Generalized Markup Language) Standard (echte Untermenge). oXML beschreibt die logische Struktur von Dokumenten auf der Basis von Markup-Elementen ohne dabei Informationen zum Layout zu liefern. Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

2 XML 2 Formen von XML Dokumenten Document Type Definition ( DTDs ) -Sind auf einer Metaebene angesiedelt und beschreiben, wie eine XML-Instanz aussehen soll ( Struktur eines Benutzerhandbuchs für ein Kraftfahrzeug ). -Auch die Syntax von HTML wird durch eine DTD beschrieben XML-Instanzen -Beinhalten die Nutzdaten ( Benutzerhandbuch selbst ). -In der Regel gemäß einer DTD strukturiert -Es ist aber möglich Instanzen zu erzeugen die nicht durch eine DTD beschrieben werden. Diese müssen jedoch gewissen allgemeinen Regeln genügen ( well-formed documents) -Dokument das mit einer DTD assoziert ist und den darin formulierten Einschränkungen genügt, wird gültig (valid) genannt. Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

3 XML Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung ... ] > Beispiel eines DTD

4 XML Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung Ausblick Fuer die Zukunft ist zu erwarten, dass diese Entwicklung weiter gehen wird Beispiel einer XML-Instanz

5 XML XML ist kein Standard, der alleine steht, sondern es gruppieren sich eine Reihe von anderen Technologien und Standards um XML. In vielen Bereichen werden Standard-DTDs definiert, um z.B. den Datenaustausch zwischen verschiedenen Marktteilnehmern zu erleichtern. Manche dieser Standards haben für die Kommunikation zwischen Komponenten Bedeutung. Es sind : XSLT ( Extensible Stylesheet Language Transformations ) -Zur Transformation von XML-Dokumenten der Struktur A in XML- Dokumente der Struktur B. -Kann benutzt werden um verschiedene Sichten auf ein XML-Dokument zu definieren oder um eine interne Darstellung in einem Standard (z.B. BMEcat) zu überführen. XSL ( Extensible Stylesheet Language ) -Weiterentwicklung von DSSSL ( Document Style Semantics & Specification Language ) und der CSS (Cascading Style Sheets). -Definiert ein Vokabular von XML-Tags, das zum Zweck der geräte- unabhängigen Darstellung entwickelt wurde (formatting objects) -XML-Dokumente nach der XSL-Spezifikation aufformatierungstechnische Aspekte fokussiert. -Transformation von Dokumente die einer DTD X in Dokumente die XSL genügen wird durch XSLT durchgeführt. Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

6 XML BMEcat -Ist Initiative des Bundesverbands für Materialwirtschaft, Einkauf und Logistik. -In diesem Standard wird einheitliches Datenformat für den elektronischen Austausch von Katalogdaten. -Ist in einer Reihe XML-DTDs definiert ( ) XMI -Von der OMG definierten Standard, in dem XML zur Beschreibung und zum Austausch von Meta-Informationen verwendet wird. -In der Spezifikation wird eine umfangreiche DTD definiert, die das UML- Metamodell der OMG beschreibt. Dadurch wird ein Austausch zwischen UML-Modellierungswerkzeuge möglich. Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

7 XML XML als Kommunikationsprotokoll zwischen Komponenten Es bestehen Überlegungen, XML zur Kommunikation zwischen Komponenten einzusetzen (z.B. könnte man IIOP ( Internet Inter- ORB Protocol ) durch XML-Dokumente ersetzen die durch HTTP übertragen werden ). Wichtigstes Kriterium ist jedoch Performanz ( es wäre z.B. nicht sinnvoll die oben genannte Ersetzung durchzuführen ) Bei der Kommunikation über Firewalls in heterogenen Netzen oder bei der Kopplung unterschiedlicher Komponentenstandards wie CORBA und DCOM ist ist es jedoch eventuell sinnvoll, entfernte Methodenaufrufe über XML durchzuführen Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

8 Scripting JavaScript Entwickelt von Brendan Eich, Netscape, erstmalig in Navigator 2 Bekannte Nutzung: -In HTML-Seiten enthalten -Interpretation durch Web-Browser Heute aufgeteilt in Core JavaScript, Client-side JavaScript, Server-side JavaScript ECMAScript = Core JavaScript-Spezifikation Client-side JavaScript kann unabhängig vom Browser als normale Sprache genuzt werden Server-side JavaScript für dynamische Web-Seiten (DB, Mail usw.) als Alternative zu CGI-Skripten und ASP Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

9 Scripting VB Script Microsoft-Version für komplexere HTML-Seiten Teilmenge von Visual Basic Verarbeitung nur im Internet Explorer bzw. anderen MS-Produkten Jscript Microsoft-Version des ECMAScript (JavaScript) Spricht ActiveX-Controls, Automation Server und Java Applets an Nur durch Web-Browser oder Web-Server zu nutzen Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

10 Scripting – Zusammenfügen von Komponenten Ansatz Verbinden von systemnahen Programmkomponenten durch syntaktisch und konzeptuell einfache(re) Sprache Interpretation statt Kompilation Vorteile: -Flexibilität, kurze Entwicklungszyklen, Prototyping Bekannte Namen Perl -Starke String-Verarbeitung (Reguläre Ausdrücke) Tcl Tool command language -Erweiterbarkeit durch: Alles ist ein String Python -Objektorientiert, lesbarer, Programmieren im Großen Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung Script C, C++, Ada etc.

11 Ursachen für den Erfolg des Scriptings Füllen von Lücken -Variable, administrative Aufgaben ggf. wiederholt und organisationsoptimiert -Beispiel: File-System, Textdateien, Streams-Konzept: Reguläre Ausdrücke als effizientes Mittel sed, awk, perl, tcl Mängel in üblichen Programmiersprachen -Beispiel: Bibliotheken für reguläre Ausdrücke in C -Beispiel: Dynamisches Speichermanagement (malloc/free, new/delete ?) -Ausrichtung zu sehr auf langlebige Programme (z.B. C UNIX, Cobol PPS) Compiler, Portabilität nicht immer erforderlich oder gewünscht Schnelle Anpassung an neue Anforderungen -Beispiel: Perl-Script auf WWW-Servern -Beispiel: TK für GUIs unter X Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

12 Konzept -Script wird über Schnittstelle als Parameter übergeben Anwendungsszenario -Client-spezifische Verarbeitung Vorteil -Komponente wird programmierbar Nachteile -Sicherheit wohldefinierte Schnittstelle aber nicht wohldefiniertes Verhalten der Komponenten Design by Contract beeinträchtigt Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung Einbettung von Script-Interpretern in Komponenten Tcl

13 Diskussion Scripting Unlike mainstream component programming, scripts usaually do not introduce new components, but simply wire existing ones. Scripts can be seen as introducing new behaviour but no new state. C. Szyperski Verständlichkeit der Syntax fraglich (z.B. perl, sed) Häufig benutzt Metapher Kleber(Glue), Interpretation: -Script ruft Komponente spezifisch parametriert auf -Komponente liefert spezifisches Ergebnisformat (möglichst auf einheitlicher Basis, z.B. String oder White-Space-formatierter Datei) -Script bearbeitet Zwischenergebnis -Script ruft Komponente auf -usw. Scripting schafft keine neuen Komponenten?! Scripting macht einzelne Komponenten flexibler (Beispiel: Tcl-Interpreter einbetten) -Aber: Funktionalität vs. Wartbarkeit, Sicherheit, Design by Contract Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung

14 Zusammenfassung Objektorientierung setzt sich zwar durch, hat bisher nicht den erhofften Grad an Wiederverwendung erbracht Komponenten als nächst größere Objekte identifiziert Scripting relevant für administrative und prototypische Anwendungen Techniken zur Entwicklung und Nutzung von Componentware vorhanden (siehe Folgevorträge) Komponenten als natürliche Nachfolger der Modularisierung und Objektorientierung Komponenten erfordern technischen Support (Indexierung, Retrieval, Standards) Methoden zur Beherrschung komplexer Systeme stehen nach wie vor aus Schnittstellen zwischen den Technologien 2. Komponentenbasierte Software Entwicklung


Herunterladen ppt "XML Ursprünglich zur besseren logischen Strukturierung von Dokumenten vorgesehen. Wird aber zunehmend in anderen Anwendungsfeldern genutzt, z.B. zur Beschreibung."

Ähnliche Präsentationen


Google-Anzeigen