Präsentation herunterladen
Veröffentlicht von:Adalheid Wuebker Geändert vor über 10 Jahren
1
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter
2
Management von Schnittstellen-Informationen
Consultants Schwerpunkt CORBA Hobby OTS Webservices natuerlich interessant
3
Agenda Einführung XML Metadata Interchange Format
Vom Code zur Information Integrationszentrum Metadaten Zusammenfassung Einführung : Kurze Motivation webservices kennt jeder, deshalb nur kurz TA-Grundlagen
4
Wo sind IT Informationen ?
In Fachkonzepten, Datenbankmodellen, Repositories, Programmcode, UML-Modellen und in den Köpfen der Mitarbeiter ! Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
5
Wie liegen die Informationen vor ?
Fachkonzepte : textuell, auf Papier. Datenbankmodelle : elektronisch, standardisiert. Repositories : elektronisch, proprietär. Programmcode : praktisch kaum zu nutzen. Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
6
UML-Modelle Elektronisch. Dateizentriert. Proprietär. Schwer auswertbar. oder im XMI Format ! Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
7
Agenda Einführung XML Metadata Interchange Format
Vom Code zur Information Integrationszentrum Metadaten Zusammenfassung Einführung : Kurze Motivation webservices kennt jeder, deshalb nur kurz TA-Grundlagen
8
XML Metadata Interchange Format
Erster Vorschlag wurde am 6. Juli 1998 von DSTC, IBM, Oracle, Platinum und Unisys eingereicht. Implementierung des IBM XMI-Toolkits seit dem 30. Juli 1999. Version 1.1 ist seit dem 03. Februar 2000 offiziell von der OMG verabschiedet. Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
9
XMI Scope Konsequenter Metadaten-Ansatz.
Selbstbeschreibung der Metainformation. Herstellerunabhängiges Format. XML-basiert. UML-Daten sind nur ein möglicher Einsatzbereich. Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
10
Das XMI Metamodell Ebene 0 : Auftrag ‘4711’ Ebene 1 : Objekt ‘Auftrag’
Ebene 2 : UML Ebene 3 : MOF Ebene 3++ : MOF ! Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
11
UML DTD Abbildung der bekannten Diagrammtypen : Klassendiagramme,
Use-Case-Diagramme, Sequenzdiagramme, Aktivitätsdiagramme, ...
12
XMI und seine Mit- / Gegen-Spieler
WSDL Web Service Description Language UDDI Universal Description, Discovery and Integration WfMC XPDL XML Process Definition Language *.MDL Rational Roses proprietäres Format Begeisterungsmaximum Gartner < und > RPC gibt’s seit Jahrzehnten das Bewaehrte uebernehmen starre Kopplung wird gelockert UDDI vs. Naming / Trading
13
Tools ( kleine Auswahl )
Rational Rose TogetherJ ArgoUML MagicDraw Repositories
14
Agenda Einführung XML Metadata Interchange Format
Vom Code zur Information Integrationszentrum Metadaten Zusammenfassung Einführung : Kurze Motivation webservices kennt jeder, deshalb nur kurz TA-Grundlagen
15
Informationsgehalt von ‘Code’ (1)
class Account : public virtual POA_simple1::Account { String_var m_id; Double m_oldamount; Double m_amount; simple1::Customer_var m_customer; public: virtual Double balance ( ) throw ( SystemException ); virtual Boolean transfer ( Double amount, simple1::Account_ptr other ) throw ( SystemException); virtual Boolean change ( Double amount ) };
16
Informationsgehalt von ‘Code’ (2)
class Account : public virtual POA_simple1::Account { String_var m_id; Double m_oldamount; Double m_amount; simple1::Customer_var m_customer; public: virtual Double balance ( ) throw ( SystemException ); virtual Boolean transfer ( Double amount, simple1::Account_ptr other ) throw ( SystemException); virtual Boolean change ( Double amount ) }; Implementierung. Attribute. Vererbungs-Beziehungen. Nutzungs-Beziehungen. Methodensignaturen. Exceptions.
17
Informationsgehalt von ‘Code’ (3)
class Account : public virtual POA_simple1::Account { String_var m_id; Double m_oldamount; Double m_amount; simple1::Customer_var m_customer; public: virtual Double balance ( ) throw ( SystemException ); virtual Boolean transfer ( Double amount, simple1::Account_ptr other ) throw ( SystemException); virtual Boolean change ( Double amount ) }; Implementierung. Attribute. Vererbungs-Beziehungen. Nutzungs-Beziehungen. Methodensignaturen. Exceptions. Schnittstelle
18
Separation von Interface / Implementation
Trennung von internen Implementierungsdetails und allgemein verbindlicher Schnittstelle Trennung von konkreter Lösung und unveränderlichen Anforderungen Trennung nach Sichtbarkeitsbereichen
19
XMI-UML-Modell Package ‚Foundation.Core‘, View ‚Backbone‘
24
Ein einfaches Modell Simple.mdl Simple.mdl xmiToolkit Simple.xmi
25
XMI Beispiel
26
Transformation ‚XMI zu Code‘ (1)
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl=' <xsl:output method="text" media-type="text/plain"/> <xsl:template match="/"> // Test-Methoden <xsl:apply-templates select="//Foundation.Core.Class </xsl:template> <xsl:template match="Foundation.Core.Class"> <xsl:variable name="className" select="Foundation.Core.ModelElement.name" /> <xsl:apply-templates select=".//Foundation.Core.Operation ]"> <xsl:with-param name="className" select="$className" /> </xsl:apply-templates> Selektion der Klassen
27
Transformation ‚XMI zu Code‘ (2)
<xsl:template match="Foundation.Core.Operation"> <xsl:param name="className" /> <xsl:variable name="methodName"><xsl:value-of select="$className" />::<xsl:value-of select="Foundation.Core.ModelElement.name" /></xsl:variable> /* * Test fuer Methode : '<xsl:value-of select="$methodName" />' */ cout << "<xsl:value-of select="$methodName" />() = " << <xsl:value-of select="$methodName" />( <xsl:for-each select=".//Foundation.Core.Parameter and <xsl:variable name="idref" <xsl:variable name="type" select="//Foundation.Data_Types.Primitive <xsl:choose> <xsl:when test='$type="String"'> "TEST" </xsl:when> <xsl:when test='$type="Long"'> 123 <xsl:otherwise> // Fehler, Unerwarteter Typ eines Parameter </xsl:otherwise> </xsl:choose> <xsl:if test="position() != last()">, </xsl:if> </xsl:for-each>) << endl; </xsl:template> </xsl:stylesheet> Selektion der Methoden und Parameter
28
Transformation ‚XMI zu Code‘ (3)
// Test-Methoden /* * Test fuer Methode : 'Auto::holeGeschwindigkeit' */ cout << "Auto::holeGeschwindigkeit() = " << Auto::holeGeschwindigkeit( ) << endl; * Test fuer Methode : 'Auto::setzeFhrgstNr' cout << "Auto::setzeFhrgstNr() = " << Auto::setzeFhrgstNr( 123 Erzeugter Code
29
Agenda Einführung XML Metadata Interchange Format
Vom Code zur Information Integrationszentrum Metadaten Zusammenfassung Einführung : Kurze Motivation webservices kennt jeder, deshalb nur kurz TA-Grundlagen
30
Komplexe Strukturen ... Sockets Screen Down- scrape load file ORB
Trans- action Message queue Sockets ORB RPC CICS gateway APPC
31
... vereinfachen Integrations- Infrastruktur
32
Hub’n’Spoke Technische Anpassung Ort Betriebssystem Programmiersprache
Inhaltliche Anpassung Semantik Format Abstraktion / Spezialisierung Nabe
33
Realisierung einer ‘Speiche’
1. Umsetzung der Daten in ein Document. 2. Transformation mittels XSLT. 3. Transport der serialisierten, transformierten Daten ( z.B. mit CORBA, RMI, COM+ ). 1 2 3 Nabe
34
Datenbeschaffung Abbilden einer Struktur in ein Baum ‘per Hand’ .
Generierung des Adapters aus vorhandenen Modellen. Zugriff auf Daten aus einer JDBC-DB mittels XLE. Extraktion von Daten aus beliebigen Textquellen ( z.B. HTML ) mit JEDI. Zugriff auf die vorhandenen Metadaten. 1 2 3 Nabe
35
Transformation Einsatz von XSLT
Umsetzung von Inhalten: ‘Wahr’ -> ‘true’ Umbenennung von Knoten und Attributen: ‘Versicherter’ -> ‘Kunde’ Umstrukturierung von Dokumenten: ‘Adresse’ -> ‘Lieferanschrift’ und ‘Rechnungsanschrift’ 1 2 3 Nabe
36
Transport Transport durch Standard-Middleware ( z.B. CORBA )
Sprach- und Betriebssystemunabhängigkeit. Transparenter Transportmechanismus. Höherwertige Dienste stehen bereit ( z.B. Security-Service ). Transaktionssicherheit bei Einsatz eines OTS. 1 2 3 Nabe
37
Schnittstellen verwalten
Informations- Infrastruktur
38
Informations-Marktplatz
SW-Entwicklung Schnittstellen- Team Altsysteme XMI (UML ) Data Warehouse Standards Business Partner Qualitätssicherung
39
Anzahl der Schnittstellen
Nutzen Effizienz der IT Potential Vorteile / Vorsprung aufgrund von konsequenten Schnittstellen-Management Lost Opportunity Ohne durchgängige Integrationslösung Anzahl der Schnittstellen
40
XML = Flüssige Informationen
Standardisiert durch W3C. Flexibles Format. Validierbar. Standards zum Selektieren und Transformieren. XML-Datenbanken.
41
XSLT Transformationen
Doku XMI (UML ) IDL WfMC Code DDL WSDL
42
XMI Flow
43
XMI Flow . <Behavioral_Elements.State_Machines.StateVertex.outgoing > <Behavioral_Elements.State_Machines.Transition xmi.idref = 'ID bc' /> </Behavioral_Elements.State_Machines.StateVertex.outgoing> <Behavioral_Elements.State_Machines.StateVertex.incoming > <Behavioral_Elements.State_Machines.Transition xmi.idref = 'ID bd' /> </Behavioral_Elements.State_Machines.StateVertex.incoming>
44
XMI Flow JavaControl:
45
Agenda Einführung XML Metadata Interchange Format
Vom Code zur Information Integrationszentrum Metadaten Zusammenfassung Einführung : Kurze Motivation webservices kennt jeder, deshalb nur kurz TA-Grundlagen
46
Zusammenfassung XMI ist anerkannter OMG-Standard für Metadaten.
Breite Tool-Unterstützung ( von OpenSource bis Kommerziell ). Zukunftssicheres Metamodell. XML bietet eine große Basis an Werkzeugen zur Verarbeitung der Informationen. Integrationsmedium für eine große Anzahl von Informationsquellen. Basis für eine umfassende Meta-Informationsbasis ! end Q (HP), Q (others).
47
Resourcen XML Metadata Interchange (XMI) version 1.1 : XML Cover Pages (XMI) : Mario Jeckle : Transforming XMI to HTML : MagicDraw KLuP
48
Fragen ... ... jetzt ... ...später :
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.