Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Transformation of ARIS Markup Language to EPML
Web Services und Workflow-Steuerung
XML - Aufbau und Struktur - mit Einsatz im B2B
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
MD 4/02 Hello World from CORBA ein erster Überblick.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Modellierung komplexer Realität mit Objekten
Abstrakter Datentyp in C++ I - Klasse -
Explizite und editierbare Metainformationen für Software Muster.
Software Engineering Seminar Metamodellierung
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Visualisierung objektrelationaler Datenbanken
12. Vorlesung: Aktivitätsdiagramme
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Software Architektur IV
Unified Modeling Language Repetition / Einführung zu UML
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Webservice Grundlagen
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Wenn alles so einfach wäre
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Untersuchungen zur Erstellung eines
Objektorientierte Modellierung mit UML
Reinhold Rumberger Web Services.
Seminar: Neue Ansätze der Künstlichen Intelligenz Seite 1Ulf Schneider02. Juli 2002 Ulf Schneider Neue Ansätze der Künstlichen Intelligenz: OIL Ontology.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle Semantic WebWS 08/09.
Visual Age und Rational Rose Daniel Faensen. 2 Übersicht  Integration Rational Rose und VisualAge (Forward / Reverse Engineering)  Team-Unterstützung.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Seminar Modellgetriebene Softwareentwicklung Thema 3: Metamodelle – MOF Michél Rieser Prof. Dr.-Ing. habil. Georg Paul
Software-Demo: CASE-Tool „Together“
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
MDA – Model Driven Architecture
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Objektorientierte (OO) Programmierung
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Tutorium Software-Engineering SS14 Florian Manghofer.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
November 18 Informatik Kurse
Methodische Grundlagen des Software-Engineering
1. Die rekursive Datenstruktur Liste 1
Juli 19 Informatik Kurse
 Präsentation transkript:

Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter

Management von Schnittstellen-Informationen Consultants Schwerpunkt CORBA Hobby OTS Webservices natuerlich interessant

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

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

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

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

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

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

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

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

UML DTD Abbildung der bekannten Diagrammtypen : Klassendiagramme, Use-Case-Diagramme, Sequenzdiagramme, Aktivitätsdiagramme, ...

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

Tools ( kleine Auswahl ) Rational Rose TogetherJ ArgoUML MagicDraw Repositories

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

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 ) };

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.

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

Separation von Interface / Implementation Trennung von internen Implementierungsdetails und allgemein verbindlicher Schnittstelle Trennung von konkreter Lösung und unveränderlichen Anforderungen Trennung nach Sichtbarkeitsbereichen

XMI-UML-Modell Package ‚Foundation.Core‘, View ‚Backbone‘

Ein einfaches Modell Simple.mdl Simple.mdl xmiToolkit Simple.xmi

XMI Beispiel

Transformation ‚XMI zu Code‘ (1) <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/XSL/Transform/1.0'> <xsl:output method="text" media-type="text/plain"/> <xsl:template match="/"> // Test-Methoden <xsl:apply-templates select="//Foundation.Core.Class [@xmi.id]"/> </xsl:template> <xsl:template match="Foundation.Core.Class"> <xsl:variable name="className" select="Foundation.Core.ModelElement.name" /> <xsl:apply-templates select=".//Foundation.Core.Operation [@xmi.id ]"> <xsl:with-param name="className" select="$className" /> </xsl:apply-templates> Selektion der Klassen

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 [@xmi.id and ./Foundation.Core.Parameter.kind/@xmi.value!='return']"> <xsl:variable name="idref" select="./Foundation.Core.Parameter.type/Foundation.Data_Types.Primitive/@xmi.idref"/> <xsl:variable name="type" select="//Foundation.Data_Types.Primitive [@xmi.id=$idref]/Foundation.Core.ModelElement.name"/> <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

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

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

Komplexe Strukturen ... Sockets Screen Down- scrape load file ORB Trans- action Message queue Sockets ORB RPC CICS gateway APPC

... vereinfachen Integrations- Infrastruktur

Hub’n’Spoke Technische Anpassung Ort Betriebssystem Programmiersprache Inhaltliche Anpassung Semantik Format Abstraktion / Spezialisierung Nabe

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

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

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

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

Schnittstellen verwalten Informations- Infrastruktur

Informations-Marktplatz SW-Entwicklung Schnittstellen- Team Altsysteme XMI (UML ) Data Warehouse Standards Business Partner Qualitätssicherung

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

XML = Flüssige Informationen Standardisiert durch W3C. Flexibles Format. Validierbar. Standards zum Selektieren und Transformieren. XML-Datenbanken.

XSLT Transformationen Doku XMI (UML ) IDL WfMC Code DDL WSDL

XMI Flow

XMI Flow . <Behavioral_Elements.State_Machines.StateVertex.outgoing > <Behavioral_Elements.State_Machines.Transition xmi.idref = 'ID0000000000bc' /> </Behavioral_Elements.State_Machines.StateVertex.outgoing> <Behavioral_Elements.State_Machines.StateVertex.incoming > <Behavioral_Elements.State_Machines.Transition xmi.idref = 'ID0000000000bd' /> </Behavioral_Elements.State_Machines.StateVertex.incoming>

XMI Flow JavaControl: http://sourceforge.net/projects/javacontrol

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

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 Q4 2001 (HP), Q2 2002 (others).

Resourcen XML Metadata Interchange (XMI) version 1.1 : http://www.omg.org/technology/documents/formal/xmi.htm XML Cover Pages (XMI) : http://www.oasis-open.org/cover/xmi.html Mario Jeckle : http://www.jeckle.de/xmi.htm Transforming XMI to HTML : http://www.objectsbydesign.com/projects/xmi_to_html.html MagicDraw http://www.magicdraw.com KLuP http://www.klup.de

Fragen ... ... jetzt ... ...später : kuehne@klup.de