Home

Kopie - Institut für Wirtschaftsinformatik

image

Contents

1. Diagramme der Timing Diagramm Regie U ML 2 diagramm Em Interaktions Ubersichts Sequenz Diagramm Diagramm Klassendiagramm Objektdiagramm ES Interaktionsdiagramme Komponenten Verteil tegt ier Zustands Automat Aktivit ts Diagramm Kompositions p Use Case strukturdiagramm aketdiagramm Diagramm Strukturdiagramme Verhaltensdiagramme Abbildung 3 4 Diagramme Uml Gruhn et al 2006 S 15 Die f r diese Arbeit relevanten Diagramme werden folgend n her beschrieben Heinrich et al 2004 S 676f e Klassendiagramm Der am weitesten verbreiteteste Diagrammtyp von UML Das Klassendiagramm besteht aus Klassen Paketen Objekten und Diagrammen sowie de ren Beziehungen zu einander Aufgrund der Verwendung von Klassen und Objekten und der damit verbundenen hohen Ausdruckst rke eignet sich dieses Modell f r den Einsatz in der Umsetzung des Metamodells e Anwendungsfalldiagramm engl Use Case Diagramm Beschreibt die Interaktion des Anwenders mit der Software Diese Art der Dokumentation wird in einem Gro teil der F lle in Systemspezifikationen und Lastenheften verwendet e Aktivit tsdiagramm Beschreibt das Zusammenwirken und das Zusammenspiel ein zelner Aktivit ten sowie die daraus resultierenden Zust nde Der Einsatz dieser Diag ramme erfolgt meist in der Systemspezifikation 3 6 Common Warehouse Metamodell CWM
2. Verkauf oO Mobilnetz Verkauf Dauer F Dauer Einwahlgeb hr re Telefonis gt O Einwahlgeb hr Benutzerinteraktion durch Umsatz Telefon Be r saz sonstiges Bezeichnung Einsatz des grafischen Editors FUmsatz_ Sonstiges Mobilnetz Mobilnetz Mobilnetz O Datum_std Datum_std Datum O Monat Datum Jahr Monat Datum Jahr Datum Vorschlag durch Importprozess endg ltige Version des Benutzers Abbildung 6 7 Benutzerinteraktion durch grafischen Editor Abbildung 6 7 zeigt einen Anwendungsfall f r den Einsatz des grafischen Editors Die linke Seite der Abbildung beschreibt den Zustand des Modells nach dem Import Die rechte Seite zeigt das fertige Modell das der Benutzer durch Anwendung des grafischen Editors erstellt hat Seite 90 Entwicklung des Global Schema Architects 6 5 2 Mapping Komponenten Durch Mappings werden Heterogenit ten zwischen den verschiedenen Modellen beseitigt F r jedes mport Schema gibt es ein Mapping das es auf die Struktur des Global Schemas anpasst Es wird somit eine Vielzahl von mport Mappings eingesetzt Die Anzahl der mport Mappings muss stets der Anzahl der mport Schemas entsprechen Zus tzlich wird ein Glo bal Mapping eingesetzt welches den anderen Mappings bergeordnet ist und Konflikte zwi schen dem Global Schema und allen Import Mappings behebt Global Mapping gt Import Import Import Mapping A Schema B Mapping B Abb
3. uuesssssessensenenensnennnnnennnn nenn 146 Seite 150 Anhang B 11 3 Listingverzeichnis Listing 4 1 Beispiels MANIFEST ME Datei u een ns 56 Listing 4 2 Beispiel f r plugin xml Datei u nsuenenne ekn en 56 Listing 7 1 Validierung der Hierarchie in einer Dmenston 103 Listing 7 2 Zuweisung von Profil zum Model e ereeschen 104 Listing 7 3 Erstellung des Vorschlages f r den Import 107 Listing 7 4 Erzeugen von XML Settings String nen 116 Listing 7 5 Erzeugen des SQL MDi Ausdr ckess a5 de ued neeeated 117 Listing 7 67 Beispiel XPath Abfrage un ae kai 118 Listing 7 7 Erzeugen eines neuen Tabellenelements 0 0 0 ee eeseeeseeseeeeeeeeeceeeeseeeseeeeeeeenaes 119 Listing 7 8 SQL MDi einfaches Beispiel zu Cube Mapnpmg 121 Listing 7 9 Bestandteile eines SQL MDi Ausdrucks 122 Listing 7 10 Anbindung des Profilsa ae ana 122 Listing 8 1 Exportierte SQL MDi Datei na ein kiin 126 Listing 8 2 OLAP Abfrage f r den Inutegratonstest ce ceesseecceecceeeceseceeeeaeeeeeeeeeeseeeaes 126 Seite 151 Anhang B 11 4 Definitionsverzeichnis Definition 2 1 Analytisenes Systemi eeleren 20 Definition 2 2 Data Warehouse sci siejccgeesszects ss decthansvnnisheeeneay Rode e eege oe 20 Definition 2 3 Transaktionales SY EE 22 Dekinit10n2 4 Data Marl re ee Sree asso eens ee aa 24 Defimition Ee EE 25 Definition 2 6 EEN eegene 25 Definition 2 7 W rfel e EE 26 Ketten eegen geen ANAT eE T ESE naa TA EAE 27 REES CN 2 De
4. Das CWM ist ein von der OMG eingef hrter Standard welcher Regeln f r Beschreibung und Austausch von Metadaten eines DWs vorgibt Durch den einheitlichen Standard entstehen zwar bei der Entwicklung einer Struktur f r DWs h here Kosten und Zeitaufwand es wird Seite 48 Grundlagen modellgetriebene Entwicklung jedoch davon ausgegangen dass aufgrund der h heren Interoperabilit t zwischen verschiede nen Programmen langfristig ein besseres Ergebnis erzielt wird Chang et al 2002 S 1 ff In der Praxis werden unterschiedliche Metadaten mithilfe sogenannter meta data bridges verbunden Diese sind Programme welche Metadaten eines Produktes in die Metadaten eines anderen Produktes umwandeln F r die Erstellung ist ein fundiertes Grundwissen ber beide Metadatenkonstrukte erforderlich F r jedes weitere zu integrierende Produkt m ssen darauf hin weitere Br cken erstellt werden Durch die hohe Anzahl an verschiedenen Br cken ent steht ein System welches aufgrund der vielen unterschiedlichen Strukturen schwer zu warten und somit langfristig gesehen kostspielig ist Durch den Einsatz eines einheitlichen Metamodells dem CWM wird die Komplexit t des Metadaten Austauschs verringert Dazu wird ein Metadaten Repository eingesetzt welches durch eine Datenbank dargestellt wird In dieser Datenbank werden alle relevanten Metadaten gespeichert und den einzelnen Komponenten eines DW Systems zur Verf gung gestellt Dar aus folgend
5. Das multidimensionale Datenmodell bildet die Grundlage f r das DW als auch f r die darauf aufbauenden Data Marts und die zugreifenden OLAP Abfragen In der Literatur finden sich eine Menge Vorschl ge wie die Modellierung durchgef hrt werden sollte Doch es konnte Seite 25 Foderierte Data Warehouses sich bis zum jetzigen Zeitpunkt kein Ansatz dauerhaft in der Praxis durchsetzen Lujan Mora et al 2002 S 201 ff Grundlage des multidimensionalen Datenmodells bildet der W rfel Die Kanten des W rfels bilden die Dimensionen und der Inhalt des W rfels formt sich aus den den Fakten entnom menen Kenngr en engl Measures Die L nge einer Kante ergibt sich aus der Anzahl der Instanzen der verwendeten Dimensionen Der in Abbildung 2 3 angezeigte W rfel enth lt drei verschiedene Dimensionen und wird dementsprechend als Quader dargestellt Sollte ein W rfel nur aus zwei Dimensionen bestehen w rde in der Abbildung eine einfache Tabelle dargestellt werden Ein W rfel kann beliebig viele Dimensionen beinhalten Bauer amp G nzel 2004 S 105 Geografie ER wm Jahr k z Wy AA Monat R f b f K lt ona Le De H Ko AN w m Tag as Kal we gt so A 39 e Lal dee Za 8 LL VT es LI KL CU e ef an Cha GL 8 Dee an elias LI a BS GL RR a Rir P Kategorie Verk ufe P Familie P Gruppe Artikel Abbildung 2 3 Modell eines W rfels Bauer amp G nzel 2004 S 103
6. Schemaebene Datatype Cube D Package 1 eer 1 1 W rfelebene SEITEN m S Fact a ge Package lt Dimension R ae gt Class 1 1 Measure structured D Feature Dimensionsebene Hierachy 4 1 target parent AssociationRelationship DimensionLevel D Class 1 child source D 1 DimensionLevelAttribute Structured Feature ZN IdentifyingAttribute NonldentifyingAttribute 1 CWM core Package Abbildung 5 5 Metamodell des Werkzeuges In Abbildung 5 5 wird das in diesem Werkzeug eingesetzte Metamodell illustriert Im Ver gleich zum Metamodell von Luj n Mora et al 2002 wird in diesem Ansatz eine weitere Ab straktionsebene die Basisebene eingef hrt Die Basisebene wird dem Ansatz von Lujan Mora et al 2002 vorgelagert um Beziehungen zwischen verschiedenen Wiirfel besser darstel len zu k nnen Die Einf hrung dieser Ebene rechtfertigt sich insbesondere durch die bessere Umsetzbarkeit in EMF da dadurch Schemata explizit gespeichert werden k nnen Seite 70 Erstellung des Metamodells Folgend wird das Metamodell anhand der eingeteilten Ebenen naher beschrieben Dazu wird von der abstraktesten zur konkretesten Ebene vorgegangen l Basisebene Stellt die oberste Ebene dar und beinhaltet die verschiedenen Schemata des Projekts Jedes Schema steht f r
7. daraus ergibt sich die Notwendigkeit einer detaillierten Beschreibung Die wirtschaftliche Relevanz des Eclipse Tools Projects ergibt sich speziell aus den rechtli chen Rahmenbedingungen da der Gro teil der Unterprojekte unter der CPL bzw der EPL ver ffentlicht wurde und somit eine kommerzielle Nutzung erm glicht 4 4 1 Eclipse Modeling Framework In der Entwicklung eines Programms k nnen verschiedene Sichten auf die Problematik gefor dert werden Zur Definition eines einfachen Tatbestands kann f r einen ge bten Java Entwickler als Datenmodell der dazu passende Quelltext v llig ausreichend sein F r nicht geschulte Entwickler oder wirtschaftliche Fachkr fte ist dies jedoch zu wenig da sie aus dem reinen Code keine Information lesen k nnen Hierf r bieten sich UML Diagramme siehe Abschnitt 3 5 an da diese leicht anpassbar und verst ndlich sind Zus tzlich befriedigen sie den Wunsch von Unternehmen nach einer gr ndlichen Dokumentation F r eine konsistente Speicherung des Datenmodells welches bereits in UML und als Quelltext abgebildet ist muss Seite 57 Grundlagen Eclipse wiederum ein neues Format gew hlt werden Eine Umsetzung w re z B mit einem XML Do kument m glich Gem der oben beschriebenen Problematik muss dasselbe Datenmodell auf drei verschiede ne Arten implementiert werden Noch viel mehr muss der Entwickler ein Spezialist in den verschiedenen Bereichen sein um der Aufgabenstellung nachko
8. len Schemas in das Dimension Repository gespeichert werden Seite 80 Entwicklung des Global Schema Architects 6 3 1 5 Bereitstellung einer Schnittstelle f r Abfragen Neben den exportierten Metadaten wird eine SQL MDi Datei als Schnittstelle zu anderen Anwendungen bereitgestellt und zum berbr cken von Heterogenit t eingesetzt Die endg ltige SQL MDi Datei muss ein Zusammenschluss der in den unterschiedlichen Mapping Dateien Import und Global Mapping erzeugten SQL MDi Fragmente sein wobei eine der Syntax entsprechende Anordnung der Elemente essentiell ist In der SQL MDi Datei m ssen die Ausdr cke der Import Mappings vor den Global Mappings angef hrt werden Der beschriebene Prozess muss von einem entsprechenden Assistenten unterst tzt werden Auf Seiten des Benutzers muss als einzige Interaktion ein Name f r die zu erstellende Datei ver geben werden W hrend des Exports der SQL MDi Datei berpr ft das System die Datei auf seine syntakti sche Korrektheit Sollten Fehler auftreten m ssen dem Benutzer die entsprechenden Fehler meldungen angezeigt werden Die Validierung sowie die m glichen Fehlermeldungen wer den dem von Brunneder 2008 entwickelten SQL MDi Query Parser entnommen 6 3 2 Nicht funktionale Anforderungen Neben der Umsetzung der funktionalen Anforderungen sind auch Anforderungen an die Be schaffenheit und die Rahmenbedingungen zu kl ren Nicht funktionale Anforderungen sind ebenso wie die fu
9. Definition 2 7 Ein W rfel bildet die Grundlage f r ein multidimensionales Modell Die Kan ten des W rfels bilden die Dimensionen In den Zellen des W rfels wird zumindest eine Kenngr e abgelegt Bauer amp G nzel 2004 S 105 Seite 26 Foderierte Data Warehouses Definition 2 8 Jm OLAP Themenbereich wird unter einer Dimension eines Raums eine ausgew hlte Entit t verstanden mit der eine Auswertungssicht eines Anwendungsbereiches definiert wird und die der eindeutigen orthogonalen Strukturierung dient Bauer amp G nzel 2004 S 102 Definition 2 9 Eine Aggregationsstufe auch Aggregationsebene Hierarchiestufe oder Klas sifikationsstufe ist die Schicht welche die Granularit t eines Elements der Dimension defi niert Eine Dimension unterteilt sich in verschiedene Elemente welche als Baum verkn pft die Klassifikationshierarchie definieren Die Baumhierarchie beschreibt eine Menge von 1 n Beziehungen wobei jedes Dimensionselement bei niedriger Granularit t in mehrere Dimensi onslevel unterteilt werden kann Die h heren Aggregationsstufen beinhalten die aggregierten Werte der unteren Stufen Die Aggregationsstufe beschreibt den Verdichtungsgrad Der un tersten Aggregationsstufe werden die Werte f r die Kenngr en hinterlegt Bauer amp G nzel 2004 S 103 Eine Dimension wird in der Abbildung als ein Graph in Form eines Baumes dargestellt Die einzelnen Knoten des Baumes stellen die verschiedenen Dim
10. bestehend aus einem Repr sen tanten pro Mitglied des Konsortiums Die Repr sentanten berwachen zum einen die Errei chung einer gesunden Ausgeglichenheit zwischen Open Source und kommerziellen Interes Seite 51 Grundlagen Eclipse sen aller Mitglieder und zum anderen die technischen Aspekte wie z B die Koordination der Subprojekte Gruhn et al 2006 S 279 Im Februar 2004 wurde durch das Board of Stevens eine Umstrukturierung von Eclipse in eine not for profit Gesellschaft beschlossen Dadurch wurde Eclipse eine eigenst ndige Gesellschaft deren Ziel es ist den Nutzen der Softwareanbieter sowie der Endben tzer zu maximieren Alle entwickelten Technologien werden an die ffentlichkeit freigegeben Ec lipse Org PR 2008 4 1 1 Common Public License CPL und Eclipse Public License EPL Eclipse hat das Ziel dem Anspruch gerecht werden kommerziellen als auch Open Source Anforderungen zu entsprechen Aus diesem Grund wurde die CPL herangezogen welche eine Ver ffentlichung von auf Eclipse aufbauenden Produkten unter eigener Lizenz erm glicht D h dass aufbauend auf ffentlichen und freien Frameworks Programme erstellt und unter einer eigenen m glicherweise kommerziellen Lizenz ver ffentlicht werden d rfen Im Ge gensatz zu den meist angewandten Copyright Lizenzen werden diese im Fachbereich Copyleft Lizenzen genannt Gruhn et al 2006 S 280 Die Eclipse Public License EPL ist eine von CPL Ve
11. gt monat ersetzt 7 4 Integration des Plug ins in die Eclipse Plattform Eine genaue Beschreibung wie die Integration eines Plug ins an die Eclipse Plattform funkti oniert wurde bereits in Abschnitt 4 ausf hrlich erl utert Dieser Abschnitt besch ftigt sich daher mit der konkreten Umsetzung f r den Global Schema Architect Ein zentraler Punkt in diesem Zusammenhang ist die Anbindung des Profils an das Plug in Es m ssen alle Pfade richtig gesetzt werden um das Profil in der ausf hrbaren Version von Eclipse verwenden zu k nnen Die Anbindung erfolgt durch den Einsatz eines Extension Points welcher den Pfad f r die ben tigte Datei anzeigt lt extension point org eclipse uml2 uml generated package gt lt profile uri http www eclipse org uml gsa location pathmap MYGSA_PROFILES Gsa profile uml M2IecOGUEdyvwJLpBaS1hQ gt lt profile gt lt extension gt Listing 7 10 Anbindung des Profils Seite 122 Systemimplementierung Der in Listing 7 10 illustrierte Code befindet sich in der Datei plugin xml Im Tag profile befindet sich der Pfad zum obersten Element des UML Profils Der Ausdruck MYGSA_PROFILES repr sentiert den Pfad platform plugin org eclipse uml qgsa model der zuvor als Extension zwischengespeichert wurde Neben dem Profil werden in der plugin xml Datei auch alle Wizards des Werkzeuges angege ben um von Eclipse aufgerufen werden zu k nnen Sollte ein Element nicht in dieser Datei ang
12. 4 platform resource org eclipse uml gsa model Gsa profile uml 4 B lt lt ePackage gt gt lt Profile gt Gsa 57 lt Package Import gt UML Primitive Types 57 Package Import gt UML 2 1 2 Metamodel siet 4 lt Stereotype gt Level lt Constraint gt check_hiearchy lt Constraint gt check_dependencies lt Constraint gt check_one_identifying_attribute CH lt Property gt base Class Class E lt Property gt isTime Boolean IE lt Stereotype gt Dimension lt Extension gt Package_Dimension lt Stereotype gt Fact lt Extension gt Class_Fact lt Extension gt Class_Fact lt Extension gt Class_Level lt Stereotype gt Cube lt Extension gt Package_Cube lt Stereotype gt LevelAttribute lt Stereotype gt IdentifyingAttribute lt Stereotype gt NonldentifyingAttribute lt Extension gt Property_LevelAttribute 55 lt Profile Application gt Ecore Profile pathmap UML_PROFILES Ecore profile uml pathmap UML_LIBRARIES UMLPrimitiveTypes library uml pathmap UML_PROFILES Standard profile uml pathmap UML_METAMODELS UML metamodel uml pathmap UML_METAMODELS Ecore metamodel uml SN NB a 1 3 a SE Abbildung 7 1 UML Profil f r Global Schema Architect In Abbildung 7 1 wird das verwendete Profil dargestellt Die Erstellung und Bearbeitung des Profils erfolgt ausschlie lich ber den in Abbildung 7 1 dargestellten UML Editor F r die Umsetzung des Profils in die endg
13. Durch eine inkrementelle Erstellung der Mappings wird dem Benutzer eine schrittweise L sung der Probleme erm glicht Dies hat den Vorteil dass der Benutzer das System in separate leichter verst ndliche Teile zerlegen kann Im Zuge der Implementierung des Werkzeuges mussten jedoch in einigen Bereichen Ein schr nkungen akzeptiert werden So wurde z B die Struktur des DWs auf die Form eines Star Schemas begrenzt Ein Import von Snowflake Schemas ist demnach nicht m glich Die ordnungsgem e Funktionalit t des Global Schema Architects wurde durch den Testfall im Integrationstest berpr ft 9 2 Ausblick In diesem Abschnitt werden Erweiterungsm glichkeiten f r den Global Schema Architect vorgeschlagen um Ans tze f r eventuelle weitere Entwicklungen zu geben Seite 129 Res mee und Ausblick Der Global Schema Architect kann in einigen Stellen erweitert werden So k nnten z B die Heuristiken f r das Auslesen der Data Marts aus den verschiedenen Datenbanken spezieller auf unterschiedliche Datenbanktechnologien abgestimmt werden Diese Arbeit beschr nkt sich auf die Datenbanken MS SQL und Oracle In der Bereitstellung der Vorschl ge f r das Erstellen der Mappings ist ebenso noch Verbesse rungspotential vorhanden So k nnten die Vorschl ge beispielsweise automatische R ck schl sse aus der Struktur des globalen Schemas im Vergleich zum importierten Schema schlie en F r die Umsetzung dieses Ansatzes m sst
14. IEEE Proceedings of the 41 Hawaii International Conference on System Sciences HICSS 41 2008 2008 Betsy B Serface L Wong R UI Models Master Detail Templates Oracle Corporation http www oracle com technology tech blaf specs masterDet ail template hm letzter Abruf 10 April 2009 Seite 153 Anhang B Budinsky et al 2004 Bruck amp Hussey 2008 Bruck amp Damus 2008 Brunneder 2008 Cabibbo amp Torlone 2004 Chang et al 2002 Budinsky F Steinberg D Merks E Ellersick R Grose T J Eclipse Modelling Framework A Developer s Guide Addison Wesley 2004 Bruck J Hussey K Customizing UML Which Technique is Right for You http www eclipse org modeling mdt uml2 docs articles Cust omizing UML2 Which Technique is Right For You article html HI1t174419544 letzter Abruf 05 Februar 2009 Bruck J Hussey K Creating Robust Scalable DSLs with UML http www eclipse org modeling mdt uml2 docs tutorials Ecl ipseCon2008_ Tutorial Creating Robust Scalable DSL_ with UML files frame html letzter Abruf 05 Februar 2009 Brunneder W Entwicklung eines Parser f r SOL MDi eine multidimensional Abfragesprache f r F derierte Data Ware house Systeme Linz Osterreich 2008 Cabibbo L Torlone R On the Integration of Autonomous Data Marts Proceedings of the 16 International Conference on Scientific and Statistical Database Mangagement SSDBM 04 IEEE Seiten
15. an bereits vorgefertigten Operationen und Funktionalit ten zur Umsetzung von grafischen Elementen und Interaktionen zwischen diesen Gegebenenfalls k nnen diese durch den Be nutzer erweitert werden Eclipse GEF 2009 Die Umsetzung des GEF Frameworks baut auf dem Draw2d Framework auf Draw2d ist f r die Repr sentation von Daten entwickelt worden Dies bedeutet dass keine Funktionen damit angewandt werden k nnen Genau an diesem Punkt setzt GEF an und gibt dem Benutzer bzw dem Entwickler die M glichkeit auf einfache Art und Weise z B Drag amp Drop Funktionen umzusetzen Der Entwickler kann das Verhalten von grafischen Elementen durch Setzen von Eigenschaften definieren So ist es z B m glich einem Element die Eigenschaft ziehbar zu zuweisen GEF ist auf Basis des MVC Frameworks siehe Abschnitt 7 1 4 umgesetzt was eine strikte Trennung der verschiedenen Komponenten unterst tzt und somit dem Entwickler einfache M glichkeiten zu Erweiterung des Editors gibt Dar berhinaus wird die Wiederverwendbar keit des Codes gew hrleistet da z B eine grafische Repr sentation nicht direkt an ein Ele ment gebunden ist und somit auf ein anderes Element erneut angewendet werden kann Ec lipse GEF FAQ 2009 4 5 Zusammenfassung In diesem Kapitel wurden die grundlegenden Konzepte von Eclipse der Erstellung eines Plug ins sowie die in dieser Arbeit relevanten Frameworks auf theoretischer Basis erl utert Die Frameworks wurde
16. ber ein Projekt zu behalten Durch den Einsatz von Eclipse war eine fundierte und zeitaufw ndige Studie der zu verwen deten Technologien unumg nglich Ebenso war auch eine Einarbeitung in den modellgetrie benen Ansatz zur Entwicklung von Softwareprodukten notwendig Nach vollzogener Techno Seite 128 Res mee und Ausblick logieexploration stellte sich der Einsatz von Eclipse als gro er Vorteil heraus Durch die Im plementierung mithilfe des EMF war es m glich aus Modellen Teile des Quellcodes zu gene rieren Speziell in der fr hen Entwicklungsphase konnten so etwaige Designfehler zeitgerecht behoben werden indem der notwendige Quelltext nochmals neu generiert wurde Eclipse stellte sich f r die Umsetzung des Plug Ins als Rich Client Plattform als geeignete Basistechnologie heraus So passen sich die verschiedenen Elemente des Editors der Darstel lung des jeweiligen Betriebssystems an Im Gegensatz zu anderen Java Frameworks wie z B Swing l sst sich die Oberfl che so problemlos in das jeweilige System integrieren Ein Ziel dieser Arbeit war es eine benutzerfreundliche Oberfl che zur erstellen Der Mapping Editor wurde durch den Master Detail Ansatz auf bersichtliche Art und Weise umgesetzt Die Repr sentation der einzelnen Mappings erfolgt in tabellarischer Form Eine rein grafische L sung w rde bei steigender Anzahl an Data Marts Komplexit tsprobleme in der Darstellung der verschiedenen Zusammenh nge hervorrufen
17. derierten DW Systems bergreifender Test notwendig Integrations test In einem f derierten DW System bernimmt der Global Schema Architect die Bereitstellung der Daten f r eine ordnungsgem e Abwicklung des Abfrageprozesses welcher durch den SQL MDi Query Processor sowie durch den SQL MDi Query Parser durchgef hrt wird Demnach wird der Erfolg des Integrationstest an der Kompatibilit t mit den anderen Werk zeugen gemessen Die Interaktion erfolgt ber die vom Global Schema Architect bereitges tellten Schnittstellen Metadata Dictionary Dimension Repository und einer SQL MDi Datei welche die Heterogenit ten zwischen den einzelnen Instanzen der Datamarts berbr ckt 8 1 Aufbau und Rahmenbedingungen des Integrationstests Um die erfolgreiche Integration des Global Schema Architect in das f derierte DW System zu testen mussten sowohl der SQL MDi Query Processor als auch der SQL MDi Query Parser herangezogen werden Der Integrationstest orientierte sich an dem bereits von Rossgatter 2008 f r den SQL MDi Query Parser durchgef hrten Test Der Unterschied zum Test von Rossgatter 2008 besteht in der Bereitstellung der Daten So wurde dort das Metadata Dictionary das Dimension Repository sowie die SQL MDi Datei als gegeben angesehen W hrend des Integrationstests f r den Global Schema Architect wur den diese Elemente vom Benutzer mithilfe des Werkzeuges erstellt Um die korrekte Funktio nalit t des Global Schema Architec
18. mente des Jmport Schemas wie W rfel Dimension Dimensionsebene Fakt und Kenngr e in das Mapping geladen und daraufhin dem Global Schema zugeordnet Um das nachtr gliche Bearbeiten von Mappings zu erm glichen m ssen diese in einem ent sprechenden Format abgespeichert werden In dieser Arbeit wurde dazu XML eingesetzt Weiters m ssen auf Basis des XML Codes SQL MDi Fragmente erzeugt werden k nnen welche als Grundlage f r Export und Vorschau verwendet werden Abbildung 6 10 veran Seite 92 Entwicklung des Global Schema Architects schaulicht diesen Prozess auf abstrakter Ebene Fiir jedes zu speichernde Element sind Ab weichungen vom dargestellten Prozess m glich Einstellungen laden Ihe keine weitere Einstellung gefunden SE EEE WEE Import N XML String in Modell speichern Model weitere Einstellung gefunden vV String in Modell gespeichert XML Tag erzeugen Elemente aus XML auslesen Tag erzeugt kein weiters Element gefunden zu XML String anf gen Element gefunden String SQL MDi Fragment erzeugen angef gt XML String SQL MDi ragment erzeugt gt String gt a zu SQL MDi String anf gen SQL MDi Ausdruck erstellt Abbildung 6 10 Funktionalit t Speicherprozess Import Mapping String gespeichert In Abbildung 6 10 werden zu Beginn die Einstellungen aus der grafischen Oberfl che gela den In Anschluss werden die XM
19. 223 224 2004 Poole J Chang D Tolbert D Mellor D Common Ware house Metamodel New York USA John Wiley and Sons Inc 2002 Seite 154 Anhang B Chamoni amp Gluchowski 1998 Chamoni P Gluchowski P Analytische Informationssys Chaudhury amp Dayal 1997 Codd et al 1993 Clark amp Derose 1999 Dadam 1996 Daum 2005 Dresden OCL 2009 Eclipse EPL FAQ 2009 teme Einordnung und Uberblick In Chamoni P Glu chowski P Hrsg Analytische Informationssysteme Berlin Deutschland S 27 45 Springer 1998 Chaudhuri S Dayal U An overview of data warehouseing and OLAP technology In ACM SIGMOD Record Vol 26 Seiten 65 74 ACM 1997 Codd E Codd S Salley C Beyond Decision Support In Computerworld 27 1993 S 87 89 Clark J Derose S XML Path Language XPath http www w3 org TR xpath letzter Abruf am 08 Februar 2009 Dadam P Verteilte Datenbanken und Client server systene Grundlagen Konzepte und Realisierungsformen Springer 1996 Daum B Rich Client Entwicklung mit Eclipse 3 1 Anwen dungen entwickeln mit der Rich Client Platform dpunkt verlag Heidelberg 2005 Dresden OCL Toolkit http dresden ocl sourceforge net letzter Abruf 16 April 2009 Eclipse Public License EPL Frequently Asked Questions http www eclipse org legal eplfaq php letzter Abruf 11 Janner 2009 Seite 155 Anhang B Eclipse GEF 2009 Eclips
20. 5 Durch die Methode save wer den Einstellungen zu einem Typ im Modell abspeichert Demnach existiert f r jeden Typ eine eigene save Methode Die Speicherung der jeweiligen Einstellungen zu den Instanzen eines Typs wird in Form eines XML Ausdrucks bei dem entsprechenden Element des Map ping Schemas gespeichert Jeder f r die Repr sentation der Metaklassen verwendete Typ erbt von der Klasse NamedE lementBase welche wiederum von der BaseGenerator Klasse erbt Durch diesen Auf bau kann jeder Typ mit einem UML Modell kommunizieren Die NamedElementBase Klasse stellt notwendige Methoden und Funktionalit ten f r die Unterklassen bereit Beim Erstellen eines Objekts der Klasse NamedElementBase wird berpr ft ob die angegebene Datenquelle ein Element des UML Modells bereits einen XML Ausdruck enth lt Sollte das der Fall sein wird dieser automatisch geladen Ansonsten wird ein leerer String erzeugt Wei ters befinden sich in der Klasse NamedElementBase Methoden zum Setzen und Auslesen des XML Ausdrucks sowie zur Speicherung der nderungen im UML Modell Grundlage jeder Detailseite ist die Klasse BasicDetailPage Diese Klasse legt die Dar stellung der verschiedenen Elemente fest und stellt weitere Methoden zum Ein und Auslesen von XML Elementen bereit Zus tzlich enth lt diese Klasse drei abstrakte Methoden die durch jede Unterseite implementiert werden m ssen e createSettingsString Erzeugt eine XML Repr sentation der Ei
21. 6 Golfarelli et al 1998 S 2ff Logischer Entwurf engl Logical Design Im logischen Entwurf wird das konzeptuelle Schema in ein logisches Schema zu transformiert und die Entscheidung f r ein bestimmtes Implementierungsmodell getroffen Aus diesem Grund muss zwischen einem relationalen und einem multidimensionalen Implementierungs modell unterschieden werden In dieser Arbeit wird wie bereits erw hnt nur auf das relatio Seite 29 Foderierte Data Warehouses nale eingegangen Zus tzlich gilt es eine Entscheidung zwischen Snowflake und Star Schema zu treffen Golfarelli amp Rizzi 1998 S 8 Ein Star Schema bildet sich aus einer Faktentabelle und einer weiteren Tabelle f r jede Di mension Die Vorteile eines Starschemas gegen ber eines Snowflake Schemas liegen in der Performance wof r eine redundante Speicherung von Daten notwendig ist Chaudhury amp Dayal 1997 S 5 Die h here Performance ergibt sich aus der geringeren Anzahl an Tabellen und der damit verbundenen einfacheren Abfragen Wie man in Abbildung 2 5 erkennen kann wird beim Star Schema die Anzahl der verwendeten Tabellen minimiert Im Vergleich zum Snowflake Schema ist das Star Schema in der Regel leichter berschaubar und dadurch ber sichtlicher Mobilnetz Einwahlgeb hr Kunde Verkauf Bezeichnung re z Umsatz_Telefonie Tarif Umsatz_Sonstiges Grundgeb hr 4 SE Bezeichnung Mobilnetz Abbildung 2 5
22. Abstraktionsstufe k nnen Systeme zu sp teren Zeitpunkten mit geringem Aufwand auf neuere Technologien umgestellt werden e Systemintegration und Interoperabilit t Durch die explizite Trennung von fachli chen Konzepten und konkreter Repr sentation k nnen Schnittstellen effizienter f r die Anbindung von externen Programmen entwickelt werden Seite 43 Grundlagen modellgetriebene Entwicklung e Effiziente Softwareentwicklung In vielen Systemen besteht die M glichkeit Code automatisch aus Modellen zu generieren Durch den Einsatz von Patterns und Refe renzarchitekturen k nnen gel ste Probleme in Zukunft schneller behandelt bzw L sungen einfach an andere Systeme adaptiert werden e Dom nen Orientierung Das fachliche Dom nenwissen wird spezifisch abgegrenzt von der technischen Umsetzung gespeichert Dies bedeutet dass wichtiges Wissen von Gesch ftsprozessen im Unternehmen einfacher gespeichert und wiederverwendet werden kann Die Kenntnis ber die Gesch ftsprozesse ist in der Regel von essentiel ler Bedeutung f r jedes Softwareprojekt Die Bedeutung von Modellen steigt aufgrund ihrer kompakten Darstellung und der dennoch hohen Ausdrucksst rke kontinuierlich an Die Entwicklung der MDA wird von der OMG vorangetrieben Die OMG bem ht sich um die Einf hrung verschiedener neuer Vorgehens weisen und der damit verbundenen Vereinheitlichung des Ansatzes Gruhn et al 2006 S 23 3 3 Metamodellierung Voraussetz
23. Anzeige erfolgt mittels der dazugeh rigen View welche in der Regel auf Controller und Model zugreifen kann Durch den Controller werden Benutzerinter aktionen aufgenommen und die dazugeh rigen Aktionen auf View und Model weitergeleitet Pomberger amp Blaschek 1996 S 257 In vielen Programmiersprachen und Konzepten wird das MVC an die spezifischen Bed rfnis se angepasst Beim GEF wurde die Beziehung zwischen Model und View entfernt Somit bernimmt der Controller den kompletten Datenfluss Au erdem wurden im GEF neue Na menskonventionen vorgegeben Der Controller wird in diesem Zusammenhang als EditPart Seite 109 Systemimplementierung und die View als Figure bezeichnet In Abbildung 7 4 wird der genaue Aufbau des MVC Konzepts im Zusammenhang mit GEF grafisch dargestellt Gruhn et al 2006 S 289 Pii Sg Model Po Be EditPart Controller NS NS N N Figure SQ View NS N Abbildung 7 4 MVC f r GEF angelehnt an Gruhn et al 2006 S 290 Composite Pattern Durch die Verwendung des Composite Pattern soll dem Benutzer die M glichkeit gegeben werden aus mehreren kleinen Elementen ein gr eres Element zu formen welches wieder mit mehreren gr eren Elementen verbunden werden kann Dies bedeutet dass rekursive Bezie hungen zwischen einzelnen Elementen abgebildet werden k nnen Das Grundelement eines Composite Patterns ist eine Klasse die den Container sowie die primitiven Datentyp
24. Das Einlesen der Einstellungen f r das Global Mapping erfolgt durch die Methode getEle ments in der privaten Klasse MasterContentProvider welche sich in der Klasse ScrolledProperitesBlock befindet Aufgrund der Komplexit t des XML Ausdrucks wird xPath zum Auslesen der verschiedenen Elemente eingesetzt Diese Technologie verein facht das Auslesen von Information cube id text cl1 dimension name Listing 7 6 Beispiel XPath Abfrage Die in Listing 7 6 beschriebene Abfrage aller Dimensionsnamen in einem W rfel zeigt mit welch geringem Aufwand eine xPath Anfrage die notwendige Information bezieht Bei Ver wendung eines SAX oder DOM Parsers w re eine Vielzahl von Iterationen notwendig um dasselbe Ergebnis zu erzielen Um der Mastertabelle dynamisch Elemente hinzuf gen zu k nnen musste neben der getE lements Methode welche die bereits vorhandenen Elemente beim Laden einliest eine weitere Funktionalit t eingef hrt werden Dahingehend wurden Funktionen zum Hinzuf gen von Merge Dimensions und Merge Cubes Anweisungen erstellt Die Speicherung der dynami schen Elemente erfolgt als Klasse innerhalb des UML Modells f r das Mapping Durch die Speicherung als Klasse k nnen die Elemente beim n chsten Aufruf des Editors einfach wie Seite 118 Systemimplementierung der geladen werden Listing 7 7 beschreibt den Vorgang des Erzeugens eines neuen Merge Dimensions Tabellenelements String text Merge Dimensions
25. Die in einer Datenbank gespeicherte Information ist oft nur schwer und aufwendig abzurufen Daraus ergab sich der Wunsch der Wirtschaft nach einer performanten L sung f r die analyti sche Abfrage von Information Bauer amp G nzel 2004 S 6 Eine der erfolgreichsten Ans tze f r die L sung dieses Problems ist das Data Warehouse DW Ein DW speichert Daten aus unterschiedlichen operativen Datenbanken auf strukturierte Weise wodurch eine schnelle analytische Auswertung siehe Definition 2 2 erm glicht wird Um Einschr nkungen bzw spezielle Abfragen f r Benutzergruppen zu erm glichen werden basierend auf DWs Data Marts siehe Definition 2 4 erstellt Data Marts stellen dem Anwender eine Teilmenger der Daten zur Verf gung Aufgrund der steigenden Nachfrage nach Information stieg auch die Zahl der DWs in den Unternehmen Oft wurde bei der Erstellung keine R cksicht auf Standards oder andere im Betrieb befindliche DWs genommen wodurch unterschiedliche Strukturen in den DWs ent standen Aufgrund von z B Unternehmenszusammenschl ssen und kooperationen wurden oftmals DW bergreifende Abfragen ben tigt Bedingt durch die heterogenen Strukturen war dies jedoch nicht m glich Aus diesem Grund wurden Verfahren entwickelt um unterschiedli che DWs zu verbinden Es besteht die M glichkeit basierend auf den unterschiedlichen DWs ein neues physisches DW zu erstellen Dies ist jedoch oft mit hohen Kosten Ressourcen und Aufwand verbunden Im
26. Erkl rt Aktivit ten die auf die in der Ebene Resource angef hrten Da tenquellen ausgef hrt werden Hierzu z hlt u a der ETL Prozess oder das OLAP Modell um Daten in W rfel und Dimensionen aufzubereiten e Management Unterst tzt das t gliche Gesch ft des DW durch die M glichkeit Aufgaben engl Tasks zu planen und deren zeitliche Durchf hrung festzulegen Weiters wird das Aufzeichnen von Aktivit ten des DW sowie das Erstellen von Statistiken unterst tzt 3 7 Zusammenfassung Durch die Anwendung der modellgetriebenen Architektur entstehen neue M glichkeiten f r den Entwickler So verlagert sich die Entwicklung von neuer Software auf eine abstraktere und damit plattformunabh ngige Ebene Dadurch wird die Verst ndlichkeit f r fachlich ge schulte Experten nicht Entwickler erhalten Weiters wurden in diesem Kapitel die in dieser Arbeit eingesetzten Modellierungsprachen wie UML CWM und das zugrundeliegende MOF beschrieben Seite 50 Grundlagen Eclipse 4 Grundlagen Eclipse In diesem Kapitel wird zu Beginn auf den geschichtlichen und rechtlichen Hintergrund von Eclipse eingegangen Anschlie end wird die technische Architektur von Eclipse beschrieben Zum Schluss werden die theoretischen Grundlagen der in dieser Arbeit angewendeten Fra meworks erl utert 4 1 Eclipse und die Eclipse Foundation Eclipse ist der Name einer Open Source Gemeinde welche sich auf die Erstellung einer Ent wicklungsumgebung spezialisi
27. Global Mapping Editor 22 Bin Mapping file hor ver Merge Dimensions Dimensions List of available Dimensions MERGE DIMENSIONS el kunde AS d3 2 kunde AS d4 INTO c0 kunde AS d5 RELATE d3 svnr d4 kunde WHERE d3 svnr d4 kunde USING HIERARCHY OF d3 MATCH ATTRIBUTES d3 bezeichnung IS dd name e CONVERT ATTRIBUTES APPLY usd2Eur FOR d4 grundgebuehr DEFAULT erge Dimensions 3 Merge Dimensions 5 Merge Cubes 1 Global Cube Aliases Set operations J cl kunde AS d3 f c2 kunde AS d4 Add Dimension Reference NTO GLOBAL Dimension kunde AS d5 gt Rename Dimension Add Rename Function Relate Expression 1 RELATE d4 kunde Delete WHERE d3 svnr d4 kunde HIERACHY B Add Merge DIMENSIONS Add Merge CUBES Add Relate Function Schema Editor Code Preview Abbildung 10 13 Global Mapping Editor In Abbildung 10 13 wird der Global Mapping Editor dargestellt Auf der linken Seite des Editors sind die hinzugefiigten Elemente dargestellt Der Aufbau der rechten Seite gleicht wiederum dem Import Mapping Die Ansicht des Global Mappings unterscheidet sich zum Import Mapping durch die Verwendung von Drop Down Feldern Durch diese kann einerseits Inhalt dynamisch hinzugefiigt werden und andererseits ist so eine tibersichtliche und platz sparende Gestaltung auch bei einer Vielzahl an Ausdr cken m glich So kann eine Merge Dimensions Anweisung z B mehrere Relate Ausdriicke enthalten In den Imp
28. Grundlage des Zugriffsverhaltens in verschiedene disjunkte Untereinheiten zerteilt Die Um setzung dieses Schemas erfordert ein umfassendes Wissen ber die zuk nftigen auf der Da tenbank ausgef hrten Anwendungen Aufbauend auf der Fragmentierung wird die Allokation durchgef hrt Es werden die ver schiedenen bei der Fragmentierung erzeugten Fragmente den einzelnen Netzwerkknoten des Datenbanksystems zugeordnet Es wird zwischen einer redundanzfreien und einer Allokation mit Replikation unterschieden Der Unterschied liegt in der Anordnung von den Fragmenten Bei der redundanzfreien Allokation wird im Gegensatz zur Allokation mit Replikation kein Fragment doppelt gesichert Kemper amp Eickler 2006 S 451 Durch den Einsatz des globalen Schemas sind die Anwendungsprogramme von der physi schen Speicherung der Daten entkoppelt Dies bedeutet dass eine hohe Datenunabh ngigkeit gegeben ist und die Anwendungen nicht direkt auf die einzelnen lokalen Datenbanken zugrei Seite 33 Foderierte Data Warehouses fen m ssen Durch diesen Umstand sind Ma nahmen zur Effizienzsteigerung in der Daten bank bzw in den Datenbanksystemen m glich ohne nderungen an den Anwendungen vor zunehmen Dadam 1996 S 83 2 2 2 F derierte Datenbanksysteme Ein f deriertes Datenbanksystem besteht aus einer Menge von interagierenden aber autono men Datenbanksystemen Diese k nnen entweder aus einer einfachen Datenbank einem ver teilen Daten
29. Klassendiagramms zu bearbeiten Dies erfolgt mit dem Befehl nitialize Class Diagramm welcher im Kontextmen der uml Datei aufgerufen werden kann Durch diesen Aufruf wird in weiterer Folge eine umlclass Datei erzeugt welche die grafische Repr sentation des UML Modells darstellt Ab bildung 10 2 zeigt das Kontextmen der UML Datei sowie den Editor zum Bearbeiten der Seite 134 Anhang A 12 Package Exp Te Hierarchy 4 13 user manual Copy OC Copy Qualified Name Paste Certe V K Delete Delete Refactor Alt ShifteT gt Abbildung 10 2 Editor f r UML Modelle Die Bedienung des grafischen Editors ist einfach und selbsterkl rend aufgebaut Demnach lassen sich die Anwendungsm glichkeiten ohne explizite Beschreibung erkennen und ausf h ren Neue Elemente k nnen im Editor durch einfache Klick Anweisungen erstellt werden Hierzu muss im Men auf der rechten Seite der sogenannten Palette ein Element angeklickt werden Danach muss im Zeichenbereich des Editors an der Stelle wo das Element abgelegt werden soll ein weiterer Klick gesetzt werden Pakete Dimension und W rfel erm glichen es durch Doppelklick auf das oberste Quadrat der grafischen Darstellung deren Inhalt anzuzeigen Daraufhin wird der Inhalt des Paketes in einem neuen separaten Fenster dargestellt Zwischen den verschiedenen Fenstern kann dar aufhin in den Registerkarten von Eclipse navigiert werden Aus diesem Umstand ergibt sich der Vorteil dass
30. Plattform Alle Funktionalit ten bzw konkreten An wendungen werden in Form von Erweiterungen bzw Plug ins angef gt So wurden z B auch die Java Entwicklungsumgebung oder der Debugging Modus als Plug in umgesetzt Die An bindung erfolgt ber vom Kernel bereitgestellte Erweiterungspunkte engl Extension Points Die angebundenen Plug ins k nnen wiederum Erweiterungspunkte f r andere Anwendungen bereitstellen Gruhn et al 2006 S 280f Definition 4 2 Ein Plug in ist ein Erweiterungsmodul f r bestimmte Softwareanwendungen Die Anbindung erfolgt durch vom Grundsystem bereitgestellte Schnittstellen Die M glich keit Plug ins anzubinden deutet auf eine modulare Struktur des Grundsystems hin Aufgrund der modularen Struktur werden Eclipse oftmals die Grundlagen f r eine allgemeine Plattform f r Desktop und Rich Client Anwendung nachgesagt Seit Version 3 0 kann Ec lipse auch als eine eigenst ndige Plattform f r die Erstellung von Rich Client Plattformen eingesetzt werden Hierzu waren eine gro e Menge an Anpassungen der verschiedenen Plug ins der jeweiligen Herstellern notwendig Daum 2005 S 25f Definition 4 3 Ein Rich Client ist eine Anwendung durch welche die g ngigen grafischen Darstellungsformen eines Betriebssystems adaptiert bzw verwendet werden k nnen Somit koppelt sich der Rich Client nicht von der Erscheinung des Systems ab Eine weitere grundle gende Eigenschaft ist die Verbindung zum Server bzw die Aktivit
31. Regel direkt mit einer betrieblichen Facheinheit verbunden und daf r zust ndig die gesch ftsbedingten Prozesse des Betriebes zu unterst tzen Im Gegensatz dazu m ssen be triebliche Fragestellungen bearbeitet werden welche in operativen Systemen zu keiner befrie digenden L sung kommen was wiederum den Wunsch nach analytischen Auswertungsm g lichkeiten st rkt Gardner 1998 Definition 2 3 Transaktionale Systeme definieren sich aus der Verwaltung der Daten f r kurze und einfache Transaktionen wie Lesen Bearbeiten und L schen Bauer amp G nzel 2004 S 9 Im Kontext dieser Arbeit werden transaktionale Systeme generell als Datenbank ver wendet Um Unterschiede zwischen transaktionalen und analytischen Systemen darzustellen f hrt Bauer amp G nzel 2004 S 9ff einige Vergleiche zwischen transaktionalen und analytischen Systemen an In Tabelle 2 1 werden die wichtigsten Kriterien f r Anfragen wiedergegeben Zus tzlich zu den in Tabelle 2 1 angef hrten Abweichungen treten gro e Unterschiede im Bereich des Datenvolumens auf Transaktionale Systeme haben in der Regel ein Datenvolu men im Bereich Megabyte bis Gigabyte Im DW liegt die Datenmenge bei Gigabyte bis Tera byte Dies ergibt sich vor allem daraus dass die Daten im DW nicht gel scht werden und sich so eine gro e Menge von Daten ber einen langen Zeitraum ansammelt Auch in der Anwen derzahl bestehen nennenswerte Abweichungen So gibt es bei transaktionalen Syst
32. S R Building the data warehouse In Communica tions of the ACM Vol 41 Seiten 52 60 ACM 1998 Gamma E Helm R Johnson R Vlissides J Design Pat terns Elements of Reusable Object Oriented Software 24 Auflage Boston Addison Wesley 2002 Gamma E Nackman L Wiegand J eclipse Building Commercial Quality Plug ins 2 Auflage Stoughton Addi son Wesley 2006 Graphical Modeling Framework http wiki eclipse org index php Graphical Modeling Frame work letzter Abruf 05 Februar 2009 Eclipse Forms Rich UI for the Rich Client http www eclipse org articles Article Forms article html letzter Abruf 06 Februar 2009 Golfarelli M Maio D Rizzi S The Dimensional Fact Model A Conceptual Model For Data Warehouses In inter national Journal of Cooperative Information Systems 7 Sei ten 215 247 1998 Golfarelli M Rizzi S A methodological framework for data warehouse design In Proceedings of the Ist ACM interna tional workshop on Data warehousing and OLAP New York ACM Seiten 3 9 1998 Seite 157 Anhang B Gruhn et al 2006 Heinrich et al 2004 H semann et al 2000 Inmon 1996 JDBC 2009 Karagiannis amp Kiihn 2002 Kemper amp Eickler 2006 Lujan Mora et al 2002 Lujan Mora amp Trujillo 2003 Gruhn V Pieper D R ttgers C MDA Effektives Software Engineering mit UML 2 und Eclipse Springer Verlag Hei delberg 2006 Hein
33. SQL MDi Ausdruck des passenden Elements ersetzt Beispielsweise k nnte bei der Erstellung eines Import Mappings fiir einen W rfel folgender Ausdruck ent stehen Listing 7 8 SQL MDi einfaches Beispiel zu Cube Mapping Nachdem alle SQL Ausdriicke erstellt wurden k nnen diese durch den von Brunneder 2008 entwickelten SQL MDi Query Parser validiert werden Da dieser Parser nur eine Datei und keinen String als Eingabewert akzeptiert muss die Datei bereits vor der Validierung gespei chert werden Dies hat den Nachteil dass etwaige Fehler erst nach dem Erstellen der Datei bekannt werden Sollten Fehler auftreten wird dem Benutzer eine Pop up Nachricht angezeigt und eine og Datei erzeugt Um eine Ausgabe der Fehler in einer separaten Datei zu erm gli chen waren einige marginale Anderungen an dem SQL MDi Query Parser notwendig Im SQL MDi Query Parser werden die bei der Validierung erkannten Fehler in der Konsole aus gegeben fiir den Global Schema Architect war das jedoch nicht ausreichend Somit wurden Variablen zur Zwischenspeicherung der jeweiligen Fehlermeldungen verwendet welche im Nachhinein in die log Datei bernommen werden Damit diese nderungen durchgef hrt werden k nnen wurde die Standalone Version jene ohne grafische Benutzerschnittstelle direkt eingebunden und befindet sich im Paket at thesis Um den finalen Ausdruck wie in Listing 7 8 dargestellt zu erhalten nimmt der Global Sche ma Architect einige Ersetzung
34. Star Schema Im Zentrum eines Snowflake Schemas steht wiederum die Faktentabelle Im Unterschied zum Star Schema sind die Dimensionen jedoch in mehrere Klassifikationsstufen unterteilt Dies hat u a den Vorteil das UML oder ME R Modelle fast direkt in eine relationale Datenbank bersetzbar sind Jede Klassifikationsstufe entspricht einer Tabelle wobei jede Tabelle einen Fremdschl ssel auf eine andere benachbarte Tabelle mit einer 1 n Beziehung enth lt Durch die Normalisierung der Dimension ergibt sich eine einfachere Wartbarkeit welche jedoch wiederum Probleme mit der Performance herbeif hren kann Die Performanceprobleme erge ben sich aus der komplexeren Struktur und damit verbundenen aufwendigeren Abfragen da das Snowflake Schema eine h here Anzahl an Joins zwischen den einzelnen Tabellen voraus setzt Bauer amp G nzel 2004 S 203 Seite 30 Foderierte Data Warehouses Mobilnetz Mobilnetz Einwahlgeb hr Bezeichnung Verkauf Dauer Umsatz_Telefonie Umsatz_Sonstiges Datum Kunde Tarif Tarif Grundgeb hr Bezeichnung 4 Mobilnetz V Datum Monat Jahr Datum Monat Monat Jahr Seit 4 gt 1 Abbildung 2 6 Snowflake Schema In dieser Arbeit wird in weiterer Folge ausschlie lich auf das Star Schema eingegangen Physischer Entwurf engl Physical Design Im Mittelpunkt der Phase des physischen Entwurfs eng
35. Warehouse Metamodelle In der Literatur finden sich zahlreiche Modellierungsans tze fiir DWs Folgende werden auf grund von vielen Referenzen in anderen wissenschaftlichen Arbeiten n her betrachtet 5 2 1 The unified multidimensional metamodel Akoka et al 2006 S 1450ff versucht mehrere Ans tze der Literatur zu einem einheitlichen Metamodell zusammenzuf hren Das Metamodell muss unabh ngig von jeglicher Implemen tierung entwickelt werden und demnach auf jede Entwicklung angewendet werden k nnen Zu den Kernkonstrukten des Modells z hlen Dimensionen und Fakten welche in Abbildung 1 1 fett herausgehoben werden Dimensionen werden durch in Hierarchien abgelegte Aggre gationsebenen engl Dimensionlevel beschrieben ClassificationRelationships speichern die Beziehungen der verschiedenen Aggregationsebenen zueinander und definieren somit die Hierarchie einer Dimension Basierend auf der Hierarchie k nnen in weiterer Folge Roll up und Drill down Operationen ausgef hrt werden Eine Hierarchie besteht demnach aus einer Menge von ClassificationRelationships Eine Aggregationsebene wird durch eine Menge an Attributen definiert Diese unterteilen sich in identifizierende engl identifying und nicht identifizierende engl not identifying Attribute Seite 64 Erstellung des Metamodells MultidimensionalSchema ModelElement name Name multidimensionalSchema 1 NAN 1 een MultidimensionalSch
36. auf eine Instanz des Oracle Servers haben In die sem Beispiel hei t die Instanz maislinger Dies kann jedoch je nach Einsatz bzw In stanz der Oracle Datenbank divergieren 9 Weisen Sie beim ersten Start von Eclipse dem Projekt einen beliebigen Workspace zu Durch Ausf hrung der angef hrten Schritte haben Sie die Grundlagen f r die Anwendung des Projektes gelegt Mit dem Global Schema Architect wird die fertige Umsetzung des Rahmenbeispiels geliefert Um dieses Beispiel zu laden setzen Sie den Workspace beim Starten von Eclipse auf den Ordner Workspace Ihrer Distribution 10 1 2 Anwendung Der Global Schema Architect bietet eine Vielzahl von M glichkeiten um mit dem Werkzeug zu interagieren Dieses Kapitel gliedert sich in die vom Benutzer ausf hrbaren Anwendungs f lle e Erzeugen eines neuen globalen Schemas e Importieren eines Data Marts e Erstellen der Import Mappings e Erstellen des Global Mappings e Export der SQL MDi Datei und e Export der Metadaten Die Beschreibung der einzelnen Anwendungsfalle wird jeweils mit einem oder mehreren Screenshots bildlich unterst tzt Zus tzlich wird bei hoher Komplexit t des Anwendungsfal les ein UML Aktivit tsdiagramm bereitgestellt Seite 132 Anhang A Es wird vorausgesetzt dass der Benutzer zumindest ber ein rudiment res Wissen ber Eclip se verf gt Die Beschreibung der Anwendungsdetails von Eclipse w rde den Rahmen dieses Benutzerhandbuchs ber
37. countMergeDimensions 2 TypeMergeDimensions tmd new TypeMergeDimensions uri null root rootnew text TableItem item new TableItem t SWT NULL 4 item setData tmd 5 item setText text Listing 7 7 Erzeugen eines neuen Tabellenelements Die Besonderheit an Listing 7 7 ist das Erzeugen einer Instanz der TypeMergeDimensi ons Methode wobei der angef hrte null Wert n her erl utert werden sollte Dieser Para meter wird blicherweise f r eine schon vorhandene Klasse z B beim Starten des Editors verwendet Da in diesem Fall jedoch eine neue Klasse erzeugt werden soll kann diese folg lich noch nicht bergeben werden Im Konstruktor der Klasse TypeMergeDimensions wird daher eine neue Klasse erstellt und durch Speichern in das UML Modell bernommen 7 3 Export Komponenten Durch Export Komponenten sollte eine Interaktion mit den anderen Programmen SQL MDi Query Parser und SQL MDi Query Processor erm glicht werden Die Implementierung der einzelnen Export Komponenten bezieht sich auf die in Abschnitt 6 5 3 beschriebene Architek tur Dies funktioniert ber das Bereitstellen von Daten welche f r die Ausf hrung der ande ren Programme notwendig sind 7 3 1 Komponente Export Meta Data Um Meta Daten zu exportieren werden alle im Projekt vorhandenen UML Modelle Na menskonvention f r Dateiname import uml oder gsa uml eingelesen und darauf auf bauend die notwendigen SQL Ausdr cke erstellt W hrend dieses P
38. den Global Schema Architect eines f de rierten DW Systems zu erstellen Der Global Schema Architect musste als Werkzeug zur In tegration von unterschiedlichen Data Marts und zur Erstellung eines globalen Schemas umge setzt werden Die vom Global Schema Architect bereitgestellten Daten dienen als Eingabe werte zur Ausf hrung des Abfrageprozesses des SQL MDi Query Processors Die Schwierigkeit in der Entwicklung des Global Schema Architects bestand berwiegend darin die notwendigen durch den SQL MDi Query Processor und den SQL MDi Query Par ser geforderten Schnittstellen bereitzustellen Dar berhinaus mussten diese auf einfache und benutzerfreundliche Art und Weise umgesetzt werden Ein zus tzlicher Aufwand ergab sich aus der Forderung Eclipse als Entwicklungs und Laufzeitumgebung zu verwenden Als spezielle St rke des Global Schema Architects kann die zentrale Verwendung des Meta modells gesehen werden Durch den Einsatz eines Metamodells basieren alle Editoren auf einem einheitlichen Grundger st wodurch die Interoperabilit t zwischen den unterschiedli chen Data Marts erm glicht wird Dar berhinaus vereinfacht es die Interaktionen zwischen internen Komponenten und externen Schnittstellen Die Unterscheidung der eingesetzten Dateitypen erfolgt durch Namenskonventionen Der Einsatz dieser erm glicht es dem Benutzer den Aufgabenbereich jeder Datei leicht zu erken nen F r den Benutzer ist es dadurch einfacher den berblick
39. ee 123 8 EVALUIERUNG UND INTEGRATIONSTEST ccsccssssssssscsscscsescsssscsssssessscssssscssocssessoses 124 8 1 Aufbau und Rahmenbedingungen des Integratonstests 124 8 2 Ergebnis des Integrationstests cssscssscssrcesscccsssesscsssccescsenssessccseesessesenacees 126 9 RES MEE UND AUSBLICK cccccccsccccccccsssssscsccscccccescssscsccscccccesssescsccsccsccsseseccsccsscscesees LILO 9 1 Res mee asian EES dads 128 92 PING DNC Resse oes Soe Se Sal Se ahs Fa Pal ta Bet et Bad Sad Pale ae tat en 129 10 ANHANG Ay ER E 10 1 erte Ehe 131 10 1 1 Installation sense elle oho Feds ew ene ee et ke 131 10 1 2 AN WENGUN G2 seven sieel tested n i E EE ETEA E ETER ie EEEE RSh 132 10 1 2 1 Erzeugen eines neuen globalen Schemas ccccesesecssesesseseeeseseceeeseceesseceeaeeeceavsessevsessesaeeecnees 133 10 1 2 2 Import eines Data Marta edeeiech ed NEE ged oi ha aa a 138 10 1 2 3 Erstellen der Import Mappings ccccesccesecseesscesecesecseeseceecesecaaecseesecaecaaecseeeeeaecaaecseeeeeeaeeaeens 140 10 1 2 4 Erstellen des Global Mappings issie i ainia a EE EEA ESKER ES 143 10 1 2 5 Export der SQL MDi Datei 145 10 1 2 6 Export der Metadaten en E NE E O A E EEE EEE EEEE ER 145 10 137 Symbeleimd Schaltfl chen un ss 146 10 13 Zusammenfassung asnnennneenennnnenennnnunnennnnnnunnennnnnuunnennnnnuunennnnnuunnennnenuunennnn nun 146 11 ANHANG Busen 147 17 Abbildu ungsyverzeicbhiS nase ehe 147 1172 T
40. gestellten Anforderungen und schlie lich auf die Architektur des Werkzeuges eingegangen In Kapitel 7 wird die Systemimplementierung basierend auf der in Kapitel 6 definierten Sys temarchitektur beschrieben Im Zuge der Implementierung werden u a auch die angewandten Design Patterns detailliert beschrieben Die ordnungsgem e Einbettung des Werkzeuges in das f derierte DW System wird in Kapi tel 8 durch einen Integrationstest berpr ft In diesem Zusammenhang wird im Speziellen auf die korrekte Darstellung der Schnittstellen zu den anderen Werkzeugen eingegangen Seite 16 Einleitung Kapitel 9 schlie t die Arbeit ab und fasst nochmals die wichtigsten Erkenntnisse zusammen Zus tzlich wird ein Ausblick auf m gliche zuk nftige Erweiterungen und Verbesserungen gegeben Um eine kompakte einheitliche und saubere Trennung der wichtigsten Begriffe dieser Arbeit zu bewerkstelligen werden in den jeweiligen Kapiteln die grundlegenden Begriffe als Defini tion gekennzeichnet Eine Aufstellung aller Definitionen findet sich im Anhang Seite 17 I Grundlagen F derierte Data Warehouses Seite 19 Grundlagen modellgetriebene Entwicklung Seite 42 Grundlagen Eclipse Seite 51 Seite 18 Foderierte Data Warehouses 2 F derierte Data Warehouses In diesem Kapitel werden die theoretischen Grundlagen der bisherigen Forschung zur Umset zung von DWs beschrieben Im ersten Teil liegt der Fokus auf den Basiskenntnissen z
41. in der Detailansicht angegebenen Schaltfl chen hat der Benutzer die M glichkeit an Vorschl ge des Global Schema Architects zu gelangen Abbildung 10 10 stellt in diesem Zusammenhang beispielsweise die Auswahl der Dimensio nen in der Detailseite eines W rfels dar Seite 141 Anhang A Refrences to Dimensions aE Choose a Dimensions mobilnetz OK Cancel Abbildung 10 10 Dimensionsauswahl im Import Mapping Editor Die Information der Vorschl ge wird aus verschiedenen Datenquellen erhoben Je nach An wendung wird das Global oder das Import Schema herangezogen Um Heterogenit ten im Vergleich von Werten zu beseitigen werden durch den Administrator Funktionen in Form einer XML Datei bereitgestellt Die Verantwortung f r die korrekte Definition der verschie denen Methoden liegt beim Administrator Eine Anpassung der Funktionen ist mit jedem neuen Release des Werkzeuges m glich Der Funktionsumfang des Rahmenbeispiels be schr nkt sich auf die Methode usd2Eur Jede Detailseite enth lt eine Save Schaltfl che Durch diese werden die durchgef hrten nde rungen im jeweiligen Modell gesichert Um nderungen einer niedrigen Ebene welche Aus wirkungen auf die Schnellvorschau der bergeordneten Ebene haben direkt in der Vorschau zu sehen muss auch die bergeordnete Ebene gespeichert werden Diese Problematik ver deutlicht beispielsweise das Hinzuf gen eines Roll up Ausdrucks z
42. in ihrem jeweiligen Un ternehmen ein DW einsetzen ist es notwendig beide DWs zu integrieren Da eine physische Integration von zwei unterschiedlichen DWs in ein neues physischen DW sehr viel Zeit und Ressourcen beansprucht wird in diesem Fall der Einsatz eines f derierten DW bevorzugt Aufgrund der Tatsache dass beide Unternehmen in einem hnlichen Markt agieren und deren DW einen hnlichen Aufbau vorweisen ist die grunds tzliche Voraussetzung f r die Erstel lung eines f derierten DW Systems gegeben Durch die Einf hrung eines f derierten DW Systems besteht die M glichkeit Daten aus verteilten und unabh ngigen DWs auszuwerten ohne die Autonomie der verschiedenen DWs zu beintr chtigen Rossgatterer 2008 S 4 Das in Abbildung 1 2 a dargestellte DW von MFA sichert die Kennzahlen der Umsatzzah len in drei Kenngr en Dauer in Minuten Umsatz_Telefonie und Umsatz_Sonstiges Defi niert werden diese durch die Dimensionen Kunde Mobilnetz und Datum Die Dimension Kunde erm glicht eine Aggregation nach Sozialversicherungsnummer svnr und Tarif Mit tels der Dimension Mobilnetz kann nach verschiedenen Anbietern aggregiert werden Die Hierarchie der Dimension gliedert sich in Zeit Minuten Tag Monat und Jahr Als W hrung wird in diesem Schema verwendet Rossgatterer 2008 S 5 In Abbildung 1 2 b wird das DW von MFB dargestellt Die Umsatzzahlen werden durch die Kenngr en Gespr chsdauer und Umsatz definiert Die Kenn
43. inventory is AVG MIN MAX along Time Product OID cod_prod D description OID cod_time av of w OID ticket_num 0 day of week OID line_num qty integer price real total qty price total integer inventory integer Food sad Drink L j family Meat Fish ER Product a Time J i a b c Abbildung 5 4 Beispiel paktetorientierter Ansatz Luj n Mora et al 2002 S 203 Seite 67 Erstellung des Metamodells 5 2 3 Vergleich der DW Metamodelle Der Vergleich der DW Metamodelle erfolgt durch Evaluierung der in 5 1 beschriebenen An forderungen Ein objektiver Vergleich der DW Metamodelle wird anhand einer Priifung der Abbildbarkeit der einzelnen multidimensionalen Elemente durchgefihrt In Tabelle 5 1 wer den die zur Kompatibilit t mit den SQL MDi Query Parser und dem SQL MDi Query Pro cessor notwendigen multidimensionalen Elemente angef hrt Multidimensionale The unified multidimensional meta Modellierung mit UML Package Diag model rammen 1 2 Elemente W rfel Dimension Fakt Kenngr e Aggregationsebene SR RR NEN Abbildung Hierarchie Dimensionsattribut RR ER OS ei S ZS Identifizierend vs Nicht identifizierend lt S Wiederverwendbarkeit von Attributen Tabelle 5 1 Vergleich multidimensionale Elemente der DW Modelle In
44. nnen Brunneder 2008 S 113 Das Grundger st der Sprache besteht aus folgendem Konstrukt vgl Berger amp Schrefl 2004 S 125 DEFINE GLOBAL CUBE MERGE DIMENSIONS MERGE CUBES Mittels des DEFINE GLOBAL CUBE Blocks werden importierte Schemata an das globa le Schema angepasst F r jedes importierte Schema und f r das globale Schema muss eine CUBE Anweisung vorhanden sein Innerhalb dieses Blocks k nnen folgende Aktivit ten durchgef hrt werden e Ausblenden von Dimensionen und Kenngr en e Ausblenden von Ebenen aus einer Hierarchie e Umbenennen von Dimensionen Kenngr en Fakten dimensionalen Attributen und Klassifikationsstufen e Konvertieren von Kenngr en Fakten und dimensionalen Attributen e Roll up eines dimensionalen Attributs und e Transformation von Fakttabellen zur Integration von heterogenen Fakttabellen Durch den MERGE DIMENSIONS Block k nnen bestehende Schema und Instanzkonflik te mittels einiger Sub Anweisungen bereinigt werden F r jede in den globalen W rfel integ rierte Dimension muss eine MERGE DIMENSIONS Anweisung vorhanden sein Folgende Konfliktl sungen k nnen durchgef hrt werden Seite 40 Foderierte Data Warehouses e Umbenennen eines nicht dimensionalen Attributs e Berichtigung von heterogenen Roll up Funktionen e Aufl sung von Pr ferenzen bei berlappenden Dimensionsattributen verschie dener W rfel e Konvertierung der Werte eines nicht dimensio
45. sich allein d h es k nnen keine Beziehungen zwischen den unterschiedlichen Schemata gesetzt werden Schemaebene Ein Schema kann mehrere W rfel enthalten F r den Gro teil der An wendungsf lle ist jedoch ein W rfel ausreichend Zus tzlich k nnen die Datentypen der Schemata definiert werden Die Datentypen k nnen sich je nach physischer Im plementierung unterscheiden Eine MS SQL Datenbank verwendet z B andere Daten typen als eine Oracle Datenbank Wiirfelebene Auf der W rfelebene l sst sich eine weitere Unterscheidung zum Mo dell von Luj n Mora et al 2002 erkennen Luj n Mora et al 2002 stellt in der quivalenten Ebene seines Modells Fakt sowie Dimension als Paket dar Im GSA Metamodell wird jedoch nur die Dimension als Paket dargestellt Fakten werden als Klassen inklusive der enthaltenen Kenngr en als Attribute in dieser Ebene darges tellt Diese Umstellung begr ndet sich dadurch dass in den Kenngr en der Fakten keine Hierarchie definiert werden muss und somit eine weitere Aufspaltung der Fakten in Klassen nicht notwendig ist Eine Darstellung als Klasse mit den Kenngr en als Attributen ist ausreichend Dimensionsebene Der Aufbau Dimensionsebene besteht zu gro en Teilen aus dem von Akoka et al 2006 vorgeschlagenen Modell Die Hierarchie besteht aus Bezie hungen zwischen den verschiedenen Aggregationsebenen Die in einer Aggregations ebene enthaltenen Attribute lassen sich wiederum in identifizierende u
46. ten der Anwendung bei nicht vorhandener Verbindung Hierbei muss der Rich Client immer noch ausf hrbar sein Sobald die Verbindung wieder vorhanden ist sollten die Daten mit dem Web abgeglichen werden Konfiguration und Aktualisierung der Anwendung sollten ber das Web und ohne Benutzerinteraktion erfolgen Daum 2005 S 27f Seite 53 Grundlagen Eclipse Plug in Development Java Development Tools Workbench Abbildung 4 1 Architektur Eclipse Distribution basierend auf Gruhn et al 2006 S 281 Platform Abbildung 4 1 stellt die drei Schichten der Architektur einer Standard Eclipse Distribution dar Besonders hervorzuheben ist die Runtime Komponente in der Plattformschicht Mittels dieser Komponente werden beim Start der Eclipse Plattform die notwendigen Metadaten f r die jeweiligen angebundenen Plug ins eingelesen Das komplette Plug in wird erst bei der tats chlichen Verwendung just in time nachgeladen W rden alle Plug ins beim Start in die Plattform eingelesen werden w rde dies die Startzeit der Plattform immens beeintr chtigen Gruhn et al 2006 S 281ff Die Runtime Komponente ben tzt als Ablaufumgebung die Dienste des OSGi Open Service Gateway Initiative Standards Durch den Einsatz dieser Technologie vereinfacht sich die Verwaltung der verwendeten Komponenten Es wird somit eine Standardisierung der Dienste angestrebt OSGi konforme Dienste k nnen ausschlie lich auf OSGi konformen Servern aus g
47. zum Import von DW Seite 88 Entwicklung des Global Schema Architects Im Zuge der Erstellung des Jmport Schemas werden neben dem multidimensionalen Schema zus tzlich die Verbindungsdaten zur Datenbank als Annotationen im jeweiligen J mport Schema gespeichert Zur Speicherung des Passworts wird ein Verschl sselungsalgorithmus Klasse Encryption verwendet um die Sicherheit des Werkzeuges gew hrleisten zu k n nen Die Verbindungsdaten werden auch f r die Ausf hrung des Exports der Metadaten ben tigt Komponente Global Schema Das Global Schema verh lt sich hnlich wie das mport Schema mit dem Unterschied dass die Daten nicht importiert sondern direkt eingegeben werden Zur Erstellung des globalen Schemas kann zwischen zwei Assistenten engl Wizard gew hlt werden Zum einen der Global Schema Architect File Assistent welcher ein leeres Global Model erzeugt und zum anderen der Global Schema From Import Schema Assistent welcher aus einem mportmodel ein neues Global Model mit bereinstimmendem Inhalt erstellt Analog zum mport Schema m ssen auch beim Global Schema Verbindungsdaten zu einer Datenbank eingegeben werden Im Gegensatz zum Jmport Schema werden diese jedoch nicht zum Importieren von Daten sondern zum Exportieren siehe Abschnitt 6 5 3 der Dimensio nen des globalen Schemas in das Dimension Repository bereitgestellt Import Schema Verbindungsdaten angeben Verbindungsdaten eingeben Kopie erstellen Ve
48. 4 Zur Entwicklung wurde Eclipse 3 4 verwendet Von den von Eclipse vorgegebenen Frame works werden als Mindestanforderungen die Versionen EMF 2 4 und UML2 2 2 vorgegeben 6 4 2 Java 1 6 Die Entwicklung als Eclipse Plug in setzt Java als Programmiersprache voraus Als Java Ver sion wurde die zum Zeitpunkt dieser Arbeit aktuelle Version 1 6 herangezogen Java eignet sich aufgrund der objektorientierten Struktur f r Anwendung einer Model Driven Architecture Modelle k nnen wie objektorientierte Sprachen in Objekte Pakte und Klassen unterteilt werden Aus diesem Grund sind Konstrukte der MDA relativ einfach in objektorien tierte Sprachen abzubilden Gruhn et al 2006 S 13ff Java erm glicht eine plattformunabh ngige Entwicklung Die Unabh ngigkeit ergibt sich auf grund der Java Virtual Machine JVM welche als Schnittstelle zwischen Maschine und Be triebssystem auftritt Durch diese Zwischenebene k nnen Java Anwendungen ohne jegliche Adaptionen auf allen unterst tzten Plattformen ausgef hrt werden Damit wird die Vorgabe der Plattformunabh ngigkeit erf llt Ullenboom 2007 6 4 3 JDBC Mittels JDBC k nnen Datenbankinteraktionen zwischen Java Anwendungen und einer Viel zahl von verschiedenen Datenbanksystemen erstellt werden Die Anwendung von Java bietet dem Benutzer die M glichkeit einen einmal geschriebenen Code auf mehrere Datenbanksys teme anzuwenden wodurch der Code wiederverwendbar und verst ndlicher wi
49. Abbildung 6 13 Funktionalit t SQL MDi Export In Abbildung 6 13 wird der Export der SQL MDi durch ein Aktivit tsdiagramms beschrie ben Zu Beginn werden die mport Mappings eingelesen da diese in der SQL MDi Datei vorne angereiht werden m ssen Zur Zwischenspeicherung werden die SQL MDi Fragmente in eine Liste gespeichert Nach Traversierung der mport Mapping Dateien wird ein analoger Prozess mit den Global Mapping Dateien durchgef hrt Sobald alle Mapping Dateien des Projekts durchlaufen worden sind wird die SQL MDi Datei erzeugt Hierbei werden alle Elemente einer Liste in eine Datei geschrieben Nach dem Schreiben wird nochmals die syntaktische Korrektheit der Datei berpr ft Dazu wird der von Seite 96 Entwicklung des Global Schema Architects Rossgatterer 2008 Brunneder 2008 entwickelte Validierungsmechanismus verwendet Soll te dieser Mechanismus fehlschlagen wird eine log Datei mit den entsprechenden Fehlermel dungen erstellt 6 6 Zusammenfassung Aufbauend auf der in Teil I beschriebenen Theorie wurden in diesem Kapitel die Grundlagen fiir die Implementierung des Werkzeuges bereitgestellt Fiir die Umsetzung wurde neben den von Eclipse geforderten Einschr nkungen auch die im Metamodell vorgesehene Struktur an gewandt Zu Beginn wurde die bei der Entwicklung angewendete Vorgehensweise des evolution ren Prototypings im Detail beschrieben Anschlie end wurden die verwendeten Technologien und die Systemar
50. Gegensatz dazu gibt es die M glichkeit die DWs auf Ebene der logi schen Schemata zu verbinden siehe Definition 2 14 Diese Systeme werden als F derierte Data Warehouse Systeme bezeichnet Berger amp Schrefl 2008 S 1 Diese Arbeit besch ftigt sich mit dem zuletzt genannten Ansatz Eine genaue Einf hrung in DWs und speziell in f derierte DWs wird im folgenden Kapitel gegeben Seite 10 Einleitung F r die Abfrage von Information aus unterschiedlichen DWs gibt es eine Vielzahl von m gli chen Szenarios Eines dieser Szenarios tritt auf wenn zwei Unternehmen fusionieren und so unterschiedlich aufgebaute DWs mit hnlichen Informationen aufeinandertreffen M glicher weise haben beide Unternehmen ein DW welches ihre Verkaufsdaten beherbergt jedoch be stehen Differenzen im Aufbau des jeweiligen DWs Mithilfe des in dieser Arbeit beschrieben Ansatzes k nnen solche Differenzen beseitigt werden Abschnitt 1 1 behandelt die Motivation Ziele und Anforderungen an diese Diplomarbeit und das zu erzeugende Werkzeug Abschnitt 1 2 beschreibt das Rahmenbeispiel welches zur Ver anschaulichung der verschiedenen Arbeitsschritte dient In Abschnitt 1 3 wird der weitere Aufbau dieser Arbeit besprochen 1 1 Aufgabenstellung und Zielsetzung Ziel dieser Diplomarbeit ist die Implementierung eines grafischen Werkzeuges Global Schema Architect zur Integration von verschiedenen Data Marts auf Schema Ebene Hierzu z hlen folgende Teilauf
51. Integrationstest Das Ergebnis dieser Abfrage im SQL MDi Query Parser auf Basis der durch den Global Schema Architect bereitgestellten Daten lieferte die folgende Tabelle Jahr Monat Kunde Mobilnetz Umsatz 2006 1 1234010180 MobCom 26 87 2006 1 1234010180 HandyTellnc 7 72 2006 1 1234010180 34 59 2006 1 4567040871 FiveCom 28 60 2006 1 4567040871 28 60 2006 1 63 20 2006 6 9876543210 FiveCom 7 90 2006 6 9876543210 HandyTellnc 19 12 2006 6 9876543210 27 02 2006 6 27 02 2006 8 6785041070 HandyTellnc 7 46 2006 8 6785041070 7 46 2006 8 7 47 2006 97 68 Tabelle 8 1 Ergebnis OLAP Abfrage fiir Integrationstest Da die Tabelle 8 1 dem Ergebnis des Integrationstest von Rossgatter 2008 entspricht wird der Integrationstest als erfolgreich angesehen Ohne einen richtigen Aufbau der vom Global Schema Architect bereitgestellten Schnittstellen w re kein ordnungsgem es Ergebnis erzielt worden Der Global Schema Architect wurde somit erfolgreich in das f derierte DW System integriert Seite 127 Res mee und Ausblick 9 Res mee und Ausblick In diesem Kapitel werden die Anspr che an die Diplomarbeit sowie die zur Erf llung ber wundenen Schwierigkeiten nochmals zusammengefasst Schlussendlich wird ein Ausblick auf eventuelle weiterf hrende Arbeiten am Global Schema Architect gegeben 9 1 Res mee Das Ziel dieser Arbeit war es eine Teilkomponente
52. Johannes Kepler Universitat Linz Grafisches Werkzeug zur Integration von Data Marts Diplomarbeit zur Erlangung des akademischen Grades Mag rer soc oec im Diplomstudium Wirtschaftsinformatik Eingereicht am Institut f r Wirtschaftsinformatik Data and Knowledge Engineering Eingereicht von Lorenz Maislinger Begutachter o Univ Prof Dr Michael Schrefl Mitbetreuer Mag Stefan Berger Linz im April 2009 Eidesstattliche Erkl rung Ich erkl re an Eides statt dass ich die vorliegende Diplomarbeit mit dem Titel Grafisches Werkzeug zur Integration von Data Marts selbstst ndig und ohne fremde Hilfe verfasst an dere als die angegebenen Quellen und Hilfsmittel nicht benutzt bzw die w rtlich oder sinn gem entnommenen Stellen als solche kenntlich gemacht habe Linz im April 2009 Lorenz Maislinger Zusammenfassung In Zeiten der Globalisierung steigt die Zahl der Unternehmenszusammenschliisse und koope rationen stetig an Dies erfordert oftmals Data Warehouse bergreifende Analysen Aufgrund einer fehlenden zentralen Instanz zur Verwaltung der Data Warehouses bietet sich die An wendung eines f derierten Data Warehouses an Ein f deriertes Data Warehouse stellt dem Anwender mithilfe eines virtuellen W rfels in Form eines globalen Schemas einen transpa renten Zugriff auf die verschiedenen Data Warehouses zur Verf gung Um diesen Zugriff zu erm glichen m ssen die Heterogenit ten zwischen den ver
53. L Ausdr cke zu den jeweiligen Einstellungen gebildet und im Modell gespeichert Auf Basis der XML Ausdr cke werden daraufhin die entsprechenden SQL MDi Ausdr cke erzeugt und wiederum in das Modell gespeichert Global Mapping Das Global Mapping hat die Aufgabe die Import Mappings und das Global Schema zusam menzuf hren Pro Projekt gibt es ein Global Mapping mit dem Konflikte zwischen den ein zelnen Instanzen der Import Schemata sowie des Global Schemas behoben werden k nnen Die Grundfunktionalit t des Global Mapping Editors ist in vielerlei Hinsicht mit dem des Import Mappings zu vergleichen Der gr te Unterschied ergibt sich aus der dynamischen Erzeugung der Elemente Die zu verwendenden Elemente sind entweder MERGE CUBES oder MERGE DIMENSIONS Anweisungen So kann z B immer wieder eine MERGE DIMENSIONS Anweisung hinzugef gt werden Seite 93 Entwicklung des Global Schema Architects Ein weiterer Unterschied besteht darin dass das Global Mapping keine direkte Beziehung zu dem Import Schema aufweist Eine direkte Beziehung ist nicht m glich weil das Global Schema die bereits durch das Import Mapping bereitgestellten Konfliktl sungen berticksichti gen muss So referenziert das Global Mapping das Global Schema sowie alle Import Mappings des Projekts Die gespeicherten Daten der Import Mappings werden bei jedem La den des Global Mapping Editors dynamisch neu bernommen Dies erm glicht dem Benutzer eine nachtr gliche Bea
54. N NONE Password verkauf verkauf verkauf EnteripAddress localhost Enter servername localhost kunde kunde kunde st dwl SES mobilnetz mobilnetz mobilnetz Enter or select the parent folder Lee i datum datum datum New File Nome E lt Back Net gt Finish Cancel sek Net Finish Cancel a b Abbildung 10 8 Data Mart Import Wizards Die Bearbeitung des Vorschlags erfolgt durch den in Abbildung 10 8b dargestellten Assisten ten Es besteht die M glichkeit die Interpretation der Tabellen zu ndern So kann ein Fakt mit geringem Aufwand in eine Dimension umgewandelt werden Hierzu muss der Options Seite 139 Anhang A Auswahl auf das auszuw hlende Element gesetzt werden Vergleicht man den gegebenen Vorschlag mit dem Rahmenbeispiel ist zu sehen dass der gegebene Vorschlag richtig ist und somit keine Anpassungen notwendig sind Die beim Import erstellte Datei muss der Namenskonvention import uml gerecht werden um auch f r weitere Auswertungen anwendbar zu sein W hrend des Ladens und des Erstel lens der Datei erscheint ein Statusbalken welcher den aktuellen Fortschritt der Operation an zeigt 10 1 2 3 Erstellen der Import Mappings Import Mappings k nnen Konflikte auf Schemaebene berwinden Zwischen jedem Import Schema und dem Global Schema wird dazu ein eigenes Mapping erzeugt Beim Erstellen der Import Mappings wird inkrementell ein SQL MDi Ausdruck erste
55. QL MDi Datei zur berbr ckung von Heterogenit t bereitgestellt werden Das Werkzeug erstellt diese Datei durch den Export SOL MDi Wizard Export Metadata Wizard Um den Export der Metadaten zu bewerkstelligen m ssen vom Wizard alle im Projekt vor handenen Schemata eingelesen und ausgewertet werden Bei der Durchf hrung werden alle Modelle rekursiv durchlaufen W hrenddessen werden die Metadaten in Hash Maps zwi schengespeichert Ein Zwischenspeichern der Elemente ist notwendig um nicht f r jeden SQL Befehl separat eine Datenbankverbindung aufbauen zu m ssen Beim Export sind einige Einschr nkungen und Vorgaben zu beachten So d rfen etwa mehr fach existierende Dimensionen nur einmal in der Datenbank gespeichert werden Die Speicherung der Metadaten erfolgt in zwei verschiedenen Datenbanken Zum einem wird das Metadata Dictionary erzeugt welches die Information ber alle verwendeten Schemata beinhaltet Zum anderen wird das Dimension Repository erzeugt welches gesondert noch mals die Information zu den Dimensionen des Global Schema aufbereitet Import Schemas laden kein weiteres Import e SE Elemente aus Global Schema auslesen weiteres Import Schema gefunden Elemente ausgelesen V Eromen aus Import Schema auslesen Zeenen zu Hashmaps rnztigen K Geste Elemente ausgelesen Elemente hinzugef gt V Elemente zu Hashmap hinzuf gen K e I Metadata Dictionary erstellen Dicti
56. RIBUTES APPLY usd2Eur FOR d4 grundgebuehr DEFAULT MERGE MENSIONS cl mobilnetz AS d6 c2 mobilnetz AS d7 INTO cO mobilnetz AS d8 RENAME d6 mobilnetz gt gt HandyTelInc WHERE cl mobilnetz HandyTel MERGE DIMENSIONS cl umsatzkategorie AS dp33 c2 umsatzkategorie AS dl10 INTO umsatzkategorie AS dll 1 MERGE CUBES cl c2 INTO c0 ON datum svnr mobilnetz umsatzkategorie 25 AGGREGATE MEASURE umsatz IS SUM OF umsatz 26 AGGREGATE MEASURE dauer IS SUM OF dauer MEASURE umsatz MEASURE dauer DIM datum DIM svnr DIM mobilnetz DIM umsatzkategorie Listing 8 1 Exportierte SQL MDi Datei Die explizite Beschreibung der Konfliktl sungen in Listing 8 1 k nnen in Rossgatterer 2008 S 151ff nachgelesen werden In diesem Test wurde die syntaktische und semantische Kor rektheit der SQL MDi Ausdr cke vorausgesetzt 8 2 Ergebnis des Integrationstests Um die Korrektheit der von dem Global Schema Architect bereitgestellten Schnittstellen zu berpr fen wurde die SQL MDi Datei in Verbindung mit der in Listing 8 2 dargestellten OLAP Abfrage im SQL MDi Query Parser verarbeitet SELECT d jahr d monat k svnr AS kunde m mobilnetz SUM v umsatz AS umsatz 2 FROM datum d mobilnetz m verkauf v kunde k 3 WHERE v svnr k svnr AND v datum d datum AND m mobilnetz v mobilnetz 1 GROUP BY ROLLUP d jahr d monat k svnr m mobilnetz Listing 8 2 OLAP Abfrage f r den Integrationstest Seite 126 Evaluierung und
57. Request Broker Architecture http www corba org letzter Abruf 16 04 2009 Documents Associated With Common Warehouse Metamodel http www omg org spec CWM 1 1 letzter Abruf 16 04 2009 Model Driven Architecture http www omg org mda letzter Abruf 16 04 2009 UML Resource Page http www uml org letzter Abruf 16 04 2009 CORBA XML and XMI Resource Page http www omg org xml letzter Abruf 16 04 2009 Pendse N Creeth R The OLAP Report Succeeding with Online Analyical Processing Norwalk CT Business Intelli gence Inc 1995 Pomberger G Blaschek G Object orientation and prototyp ing in software engineering 3 Auflage Carl Manser Verlag M nchen und Wien 2004 Pomberger G Pree W Software Enginieering Architektur Design und Prozessorientierung Carl Manser Verlag M n chen und Wien 1996 Seite 159 Anhang B Rossgatterer 2008 Sch ling 2005 Sheth amp Larson 1990 SWT 2009 Torlone 2008 Uckat 2007 UML 2 0 2003 Rossgatterer T Entwicklung eines Query Prozessors in ei nem F derierten Data Warehouse System Linz Osterreich 2008 Schaling B Der moderne Softwareentwicklungsprozess mit UML http www highscore de uml letzter Abruf 03 Fe bruar 2009 Sheth P Larson A Federated Database Systems for Man aging Distributed Hetergenous and Autonomous Databases In ACM Cumputing Surveys Vol 22 Nr 3 Seiten 183 36 1990 SWT The S
58. S cli datum AS di c2 datum AS d2 INTO cO datum AS d0 MERGE DIMENSIONS ci kunde AS d3 c2 kunde AS d4 INTO cO kunde AS d5 RELATE d3 svnr d4 kunde WHERE d3 svnr d4 kunde USING HIERARCHY OF d3 MATCH ATTRIBUTES d3 bezeichnung IS d4 name CONVERT ATTRIBUTES APPLY usd2Eur FOR d4 grundgebuehr DEFAULT MERGE DIMENSIONS ci mobilnetz AS d6 c2 mobilnetz AS d7 INTO cO mobilnetz AS d8 RENAME d6 mobilnetz gt gt HandyTelInc WHERE cl mobilnetz HandyTel MERGE DIMENSIONS cl umsatzkategorie AS dp33 c2 umsatzkategorie AS d10 INTO cO umsatzkategorie AS dil MERGE CUBES cl c2 INTO cO ON datum svnr mobilnetz umsatzkategorie AGGREGATE MEASURE umsatz IS SUM OF umsatz AGGREGATE MEASURE dauer IS SUM OF dauer MEASURE umsatz MEASURE dauer DIM datum DIM synr DIM mobilnetz DIM umsatzkategorie m D Abbildung 10 14 Erstellte SQL MDi Datei 10 1 2 6 Export der Metadaten Der Export der Metadaten ist notwendig um Kompatibilit t mit dem SQL MDi Query Parser und dem SQL MDi Query Processor zu erreichen Die Ausf hrung des dazugeh rigen Assis tenten erfolgt durch den Aufruf von Export gt Other Export Metadata to Database Im Assistenten m ssen lediglich die Zugangsdaten zu dem bei der Installation angegebenen OLAP_Repository eingegeben werden Nach Bet tigung der Finish Schaltfl che wird der Exportvorgang eingeleitet Dieser Vorgang kann einige Sekunden bis Minuten dauern Der Fortschritt wird w hrenddessen durch einen Statusbalke
59. Tabelle 10 1 verdeutlicht Nachfolgende Abbildung 10 9 zeigt einen Import Mapping Editor In dieser Abbildung sind u a die bereits erw hnten Registerkarten ersichtlich Weiters l sst sich die strukturelle Auftei lung des Editors erkennen Import Mapping Editor E Mapping file hor ver Dimensions Details of Cube List of available Dimensions You are currently editing Cube dal D dwit CUBE dwl verkauf AS cl Lo datum L datum_std LA datum LA monat Li jahr VL kunde tA svnr Alias a Lt p name la tarif i LE bezeichnung nrerin arabara eb errebenta LA grundgebuehr Lo mobilnetz Li mobilnetz LA bezeichnung Add Measure Reference LI einwahlgebuehr E verkauf datum_std Save svnr DEED mobilnetz dauer umsatz_telefonie umsatz_sonstiges Save all Schema Editor Code Preview Abbildung 10 9 Darstellung Import Mapping Editor Die Darstellung der Detailseite divergiert nach den verschiedenen Elementen So kann z B in der Detailseite zu einem W rfel engl Cubes ein Alias f r den W rfel angegeben werden Zus tzlich k nnen auch alle Dimensionen und Kenngr en engl Measures des W rfels welche auf das globale Schema gemappt werden sollen angef hrt werden Generell gliedert sich die Detailseite von W rfel und Dimension in eine Schnellvorschau sowie in die Erstellungsbereiche f r die Mappings Bei allen anderen Elementen wird keine Schnellvorschau bereitgestellt Durch die
60. Tabelle 5 1 wird ersichtlich dass beide Modelle ausgereift sind und einen Gro teil der An forderungen erf llen Modell 2 kann im Vergleich zu Modell 1 keine Dimensionsattribute darstellen Dies ist jedoch f r die Umsetzung des Werkzeuges notwendig Aus diesem Grund kann Modell 2 nicht vollst ndig f r die Entwicklung des Werkzeuges eingesetzt werden In weiterer Folge m ssen auch Anforderungen an die Repr sentation der Modelle verglichen werden In diesem Zusammenhang wird die Umsetzbarkeit in UML gepr ft und schlussend lich wird der Aufbau der Modelle aufgrund der bersichtlichkeit textuell evaluiert Seite 68 Erstellung des Metamodells Anforderungen The unified multidimensional meta Modellierung mit UML Package Diag model rammen 1 2 Darstellbarkeit in v v UML bersichtlichkeit v Komplexe Modelle werden Paketstruktur schafft bersichtli deutlich un bersichtlicher che Gliederung auch bei komp siehe Abbildung 5 2 lexen Modellen siehe Abbildung 5 4 Tabelle 5 2 Vergleich der Anforderungen an die Repr sentation Die Darstellung von Modell 1 verliert mit steigender Anzahl an Elementen an bersich tlichkeit gegen ber Modell 2 Alle an das Metamodell gestellten Anforderungen m ssen erf llt werden demzufolge ist keines der beiden Modelle f r sich allein passend F r die Um setzung des GSA Metamodells m ssen die Vorteile der beiden Modelle kombiniert werden 5 3 Um
61. abellenyerzer MINIS leere ee 150 11 3 L1stinsverzeichnis var 151 11 4 Definitionsverzeichn un nrn iar aaaeaii aiias ari 152 11 5 E E EE 153 bzw CWM CPL CORBA DW EMG EPL d h GMF GUI JDBC MDA ME R MOF MOLAP MVC OCL OLAP OMG OSGi ROLAP SQL SQL MDi SWT u a xPath XMI z B Abk rzungsverzeichnis beziehungsweise Common Warehouse Metamodel Common Public License Common Object Request Broker Architecture Data Warehouse Eclipse Modelling Framework Eclipse Public License das hei t Graphical Modeling Framework Graphical User Interface Java Database Connection Java Virtual Machine Model Driven Architecture Multidimensionale Erweiterung des Entity Relationship Modells Meta Object Facility Multidimensional Online Analytical Processing Model View Controller Object Constraint Language Online Analytical Processing Object Management Group Open Service Gateway initiative Relational Online Analytical Processing Structured Query Language Structured Query Language for Multidimensional Integration Standard Widget Toolkit unter anderem Xml Path XML Metadata Interchange zum Beispiel Einleitung 1 Einleitung Neben den herk mmlichen Produktionsfaktoren wie Boden Arbeit und Kapital gewinnt in der heutigen Gesellschaft der Faktor Information immer mehr an Bedeutung Zur Speiche rung Abfrage und Verwaltung von Daten werden meist Datenbanken verwendet Bauer amp G nzel 2004 S 6
62. anken eingesetzt wird A data warehouse is a subject oriented integrated non volatile and time variant collection of data in support of management decisions Inmon 1996 S 33 Aus dieser Definition lassen sich Bauer amp G nzel 2004 S 7 Heinrich et al 2004 S 164 zufolge vier Hauptmerkmale eines DWs formulieren Seite 20 Foderierte Data Warehouses Fachorientierung engl subject orientation Die Darstellung und Speicherung der Daten wird nicht mehr anwendungsbezogen relational durchgefiihrt sondern am Benutzerziel bzw am spezifischen Anwendungsziel orientiert Die Konzentration fallt beispielsweise auf Themenschwerpunkte wie Produkte Kunden und Ver k ufe Dazu werden die Daten in einem multidimensionalen Schema gespeichert Integration engl integration Die Daten fiir die weiteren Abfragen des DWs stammen aus mehreren unterschiedlichen in tegrierten Datenbanken und werden im DW zu einer einheitlichen integrierten Struktur zu sammengefasst Dadurch soll selbst bei hochgradig heterogenen Datenquellen ein konsistenter und stimmiger Datenbestand erreicht werden Nicht fl chtige Datenbasis engl non volatility Die Daten in einem DW sind als stabil anzusehen Diese werden ausschlie lich gelesen und nicht ver ndert oder gel scht Es kommt lediglich zu einer analytischen Betrachtung und zu keinem Einsatz im operativen Tagesgesch ft Historische Daten engl time variance Der Faktor Zeit wird ge
63. ann durch eine rekursive Definition auf sich selbst belie big erweitert werden Karagiannis amp K hn 2002 S 3 In dieser Arbeit kommen zur Umsetzung der Modelle die von der OMG empfohlenen Tech nologien MOF siehe Abschnitt 3 4 bzw die zugrunde liegende UML siehe Abschnitt 3 5 zum Einsatz Folgende Abbildung veranschaulicht die Einordnung dieser Technologien in die Ebenen der Metamodellierung Seite 45 Grundlagen modellgetriebene Entwicklung Se gt T gt lt Ebene 2 ae gt inst nceof gt gt lt lt instanceOf gt gt Pig a SE lt lt snapshot gt gt Attrbute Class Instance A R I Z b lt lt instanceOf gt gt Ebene 1 lt lt ingtanceOf gt gt lt lt instaiceOP gt Benutzermodell titel string poe eras titel tel The Big Lebowski Det The Big Lebowski Lebowski N lt lt instat ceOf gt gt uonyesqy E lt lt instanceOf gt gt N Ebene 0 S Original Videokassette Abbildung 3 3 Beispiel fiir 4 Ebenen Metamodell Hierarchie basierend auf UML 2 0 2003 Abbildung 3 3 zeigt die Verwendung von Metadatenkonstruktionen an einem einfachen Bei spiel Ebene 0 entspricht der Realit t welche in diesem Beispiel durch eine Videokassette dargestellt wird Die Abstraktion dieser Videokassette erfolgt durch ein Benutzermodell wel ches ein Video in Form einer Klasse sowie die Instanz des Videos darstellt Die Regeln f r diese Darstellung werde
64. auf DWs an Zentrales Element eines f derierten DW ist eine bergeordnete Schicht welche als Grundlage f r OLAP Anfragen gilt Durch diese Schicht wird die Heterogenit t zwischen den verschiedenen autonomen Data Marts ausgeglichen Dem Benutzer wird ein virtueller W rfel bereitge stellt auf welchen er die Abfragen stellen kann Durch das Ben tzen eines virtuellen W r fels bzw durch das Definieren eines globalen Schemas wird eine enge Koppelung der ver schiedenen Data Marts erreicht Berger amp Schrefl 2006 Definition 2 14 Ein f deriertes Data Warehouse kennzeichnet sich durch die Verbindung von verschiedenen Data Marts auf Schemaebene Die vom Administrator beseitigten Hetero genit ten werden dem Benutzer durch eine bergeordnete Schicht vorenthalten Im Vergleich zu f derierten Datenbanken kann die Integration von Data Marts auf einem sys tematischeren Weg bew ltigt werden So sind die Daten in einem Data Mart weitaus einheitli cher gegliedert als in den meisten Datenbanken Zus tzlich ist die Qualit t an Daten h her da durch den ETL Prozess bereits eine gewisse Reinigung der Daten erfolgt ist Aufgrund dieser Gegebenheiten konzentriert sich die Integration von autonomen Data Marts auf die unabh n gig voneinander entwickelten Dimensionen und Fakten Cabibbo amp Torlone 2004 In dieser Arbeit wird der Ansatz eines f derierten DW Systems von Berger amp Schrefl 2006 herangezogen Die Architektur e
65. banksystem oder einem anderen f derierten Datenbanksystem bestehen Um eine ordnungsgem e und koordinierte Bearbeitung der f derierten Datenbanksysteme zu gew hr leisten ist ein f deriertes Datenbankmanagementsystem unumg nglich Zur Hauptaufgabe des Datenbankmanagementsystem z hlt es verschiedene unabh ngige Systeme zu verbinden Sheth amp Larson 1990 S 183 Definition 2 13 Ein f deriertes Datenbanksystem ist ein System das aus mehreren ur spr nglich voneinander unabh ngigen Datenbanksystemen entwickelt wird indem eine Da tenbankfunktionalit t zur Verf gung gestellt wird die einen integrierten Datenbestand schafft Heinrich 2004 S 261 Auf mehreren Datenbanksystemen basierende Systeme von welchen die f derierten Daten banksysteme ein Teil sind k nnen nach drei verschiedenen Kriterien charakterisiert werden e Distribution Daten k nnen auf unterschiedliche Datenbanken aufgeteilt werden wel che wiederum auf verschiedene Computer verteilt sein k nnten e Heterogenit t Die Heterogenit ten lassen sich in die Bereiche technologische Unter schiede und Unterschiede in der Struktur der Daten unterteilen Zu den technologi schen Unterschieden z hlen u a Unterschiede in der Hardware Betriebssystem und Kommunikationstechnologien Der h ufigste Problemgrund ist jedoch die unterschied liche Repr sentation von Entit ten in den Strukturen des Schemas e Autonomie Da in f derierten Datenbanken verschiedene Daten
66. banksysteme eines f derierten Datenbanksystems autonom F derierte Datenbanksysteme unterscheiden sich in lose gekoppelte engl loosely coupled und in eng gekoppelte engl tightly coupled Systeme Die Unterscheidung ergibt sich aus den Verantwortungen f r das System So tr gt bei lose gekoppelten Systemen der Benutzer die Verantwortung festzustellen wie welche Datenbanksysteme an der F deration teilnehmen und wie die Heterogenit ten zwischen diesen berwunden werden Dies bedeutet dass Admi nistrator nicht in den Prozess eingreift und der Benutzer selber die Verbindung der unter schiedlichen Datenbanken festlegt Ein System wird als eng gekoppelt angesehen wenn der Administrator die Verantwortung f r die Erstellung und die Wartung bernimmt Eng gekoppelte Systeme k nnen in weiterer Folge wiederum in einfache F derationen oder mehrfache F derationen unterteilt werden Die Differenzierung zwischen diesen Merkmalen besteht in der Anzahl der auf der globalen Schicht verwendeten f derierten Datenbanksyste Seite 35 Foderierte Data Warehouses me Durch die Verwendung mehrerer globaler Datenbanksysteme kann die Komplexitat bes ser auf die unterschiedlichen Datenbanksysteme verteilt werden Dies erfordert jedoch auf grund der h heren Anzahl an Elementen einen gr eren Wartungsaufwand Sheth amp Larson 1990 S 190ff 2 2 3 F derierte Data Warehouses Ein f deriertes DW wendet die Idee von f derierten Datenbanken
67. banksysteme von ver schiedenen Anbietern inkludiert werden k nnen ist eine hohe Autonomie der einzel nen Systeme gegeben Dies bedeutet dass die angebundenen Systeme von unter schiedlichen Betreibern oder Administratoren erstellt bzw gewartet werden Oftmals werden die Zugriffsrechte f r f derierte Datenbanksysteme von den Betreibern der Seite 34 Foderierte Data Warehouses jeweiligen Systeme stark eingegrenzt Aufgrund der Autonomie entstehen oftmals die bereits erw hnten Heterogenit ten im Aufbau der verschiedenen Systeme Multidatenbanksysteme ae Se Nicht f derierte Datenbanksyteme f derierte Datenbanksysteme Pa lose gekoppelt eng gekoppelt e einfache F deration mehrfache F derationen Abbildung 2 8 Einordnung von f derierten Datenbanken angelehnt an Sheth amp Larson 1990 S 190 Abbildung 2 8 stellt die Einordnung bzw die Unterscheidung von verschiedenen Multidaten bankensystemen und im Speziellen von f derierten Datenbanken dar Zu den Multidatenban ken z hlen alle Systeme welche mehrere Datenbanksysteme miteinander verbinden Grund s tzlich kann ein Multidatenbanksystem homogen alle Datenbanken sind gleich aufgebaut oder heterogen sein Der Unterschied zwischen f derierten und nicht f derierten Datenbank systemen ergibt sich aus der Autonomie Nicht f deriere Datenbanksysteme haben nur eine Managementinstanz welche alle Datenbanksysteme bearbeitet Im Gegensatz dazu sind die Daten
68. berblick ber den erstellten SQL MDi Code F r die Umsetzung der einzelnen Editorseiten wurden Eclipse Forms eingesetzt die im Fol genden n her erl utert werden Eclipse Forms Eclipse Forms versuchen durch den Einsatz des SWT Frameworks den typischen Web look in einer Eclipse Applikation zu simulieren Die verschiedenen Hauptelemente von Eclipse Editoren engl Editors Sichten engl Views Assistenten engl Wizards und Dialoge sollen zur Verbesserung des look and feels mithilfe der Eclipse Forms einheitlich repr sen tiert werden Seite 112 Systemimplementierung Die Eclipse Forms unterstiitzen eine Vielzahl aus dem Web bekannter Formularelemente wie Textfelder Passwortfelder Schaltfl chen Auswahlfelder etc Au erdem werden verschiedene Layout Methoden wie Gridlayout gitterf rmige Anordnung Tablelayout tabellenf rmige Anordnung oder Borderlayout komponentenbasierte Ausrichtung bereitgestellt um eine optimale Ausrichtung der Symbole zu erreichen Glozic 2005 Master Detail Block Der Master Detail Block wird in der grafischen Benutzeroberfl che der Mapping Editoren d h Schema Editor eingesetzt und basiert auf dem Master Detail Pattern Die Funktionswei se dieses Patterns ergibt sich aus einer Liste Master und einem Einstellungsbereich f r jedes der Listenelemente Detail Die grafische Repr sentation erfolgt mit den Eclipse Forms wel che die Anzeige in zwei Bereiche teilen Auf de
69. cccccccccscscsccscccccccescssccsccsccssesescsccscsscescesesces OO 5 1 Grundlegende Anforderungen an das Metamodel 63 5 1 1 Darstellung des multidimensionalen Dotenmodelle 63 SA2 Darstellung in UML es er He Eines 63 5 1 3 Dbersichtliche Darstellung uns 63 5 1 4 Konformit t zu anderen Hierkzeugen nennen 64 5 2 Data Warehouse MietamiOde lle casas ee erben 64 5 2 1 The unified multidimensional metamodel 2ensessensensensennesenesnensennnnennen nennen 64 5 2 2 Modellierung mit UML Package Diogrammen essen 66 5 2 3 Vergleich der DW Metomodelle sonen 68 5 3 Umsetzung des GSA Metamodells nennen 69 KE NEEN EE EE 12 ENTWICKLUNG DES GLOBAL SCHEMA ARCHITECT S cccccssssssscccccecccccscsccccsccsccscesesees 13 Gali Norschensmedell sen 73 6 2 berblick ber die Funktionalit t des Werkzeugeg 75 5 32 EE Hee He 6 3 1 Funktionale Anforderungen cccccccccccsseeccsseescesesseesecseesecseeecnseeseesecseesecueeeecnseeeceseeseesesteseeateets 76 6 3 1 1 Erstellung eines globalen Sehemag eege eebe NEU dE Glad see 77 6 3 1 2 Import von physischen und Ableiten der logischen Schemata u esensesnensesenesnennesnennenennenne nen 77 6 3 1 3 Zuordnung des lokalen Schemas zum globalen Schema Mapping ccccssessceesceseeneeeeeeeeceeeeeteees 78 6 3 1 4 Speicherung der Metadaten ceninin ena E E EE EO EAEE A 80 6 3 1 5 Bereitstellung einer Schnittstelle f r Abtragen 8l 6 3 2 Nicht funktionale dJntorderi
70. chitektur erl utert Die Systemarchitektur gliedert sich in die drei folgenden Komponentengruppen schemabezo gene Komponenten Mapping Komponenten und Export Komponenten Im Mittelpunkt der Architektur des Projektes steht das UML Metamodell welches als Basis f r alle weiteren T tigkeiten dient Seite 97 Systemimplementierung 7 Systemimplementierung In diesem Kapitel wird die Implementierung des Global Schema Architects erl utert um Drit ten die M glichkeit zu geben sich in das System einzuarbeiten und gegebenenfalls Anderun gen und Erweiterungen durchf hren zu k nnen Um einen besseren Vergleich zu erm glichen gliedert sich die Beschreibung der Implementierung in gleiche Struktur wie die Systemarchi tektur siehe Abschnitt 6 5 Au erdem wird zu Beginn jeder Komponente der allgemeine Aufbau der Implementierung jeder Komponente beschrieben und in weiterer Folge werden in ausgew hlten Komponenten Quelltext Ausschnitte explizit erl utert Zus tzlich wird in diesem Kapitel auf die konkrete Umsetzung der plugin xml Datei einge gangen weil sie die Einbettung des Plug ins in Eclipse regelt In der Systemarchitektur wurde auf die Beschreibung der Datei p ugin xml verzichtet da sie daf r nicht relevant ist 7 1 Schemabezogene Komponenten In diesem Abschnitt wird die Implementierung des Metamodells sowie aller in direktem Zu sammenhang stehenden Komponenten beschrieben Diese Kapitel baut auf der f r diese Kompon
71. chnitt 5 3 dar Zu den zu verwendenden Elementen z hlen W rfel Fakt Kenngr e Dimension Aggregationsstufe und Dimensionsattribut Die Erstellung des Global Schemas erfolgt generell durch den blank sheet of paper Ansatz was einer Erstellung von Grund auf entspricht Optional besteht die M glichkeit ein impor tiertes Schema in ein globales Schema umzuwandeln Die Erstellung eines neuen Schemas aus einem bereits importierten Schema beschleunigt die Entwicklungszeit da aufgrund der vielen Gemeinsamkeiten oftmals die Anpassung eines bestehenden Schemas weniger Zeit in Anspruch nimmt als der Neuaufbau Die nachtr gliche Bearbeitung des Schemas das in Form eines Klassendiagramms dargestellt wird erfolgt weitgehend ber Drag and Drop Anweisungen Darunter versteht man Anwei sungen welche dem Benutzer durch blo es Ziehen und Klicken die Erstellung von verschie denen Elementen erm glichen Die Darstellung des grafischen Editors muss sich an der Struk tur des grundlegenden Metamodells orientieren weshalb die Ebenen auch in den grafischen Editor bernommen werden Um fehlerhaften Konstruktionen vorzubeugen stellt der Global Schema Architect die M g lichkeit der Validierung bereit Ein Validierungsassistent weist gegebenenfalls auf die vor handenen Warnungen und Fehler hin Zur Bestimmung von Fehlerquellen werden Regeln und Einschr nkungen sogenannte Constraints definiert welche Abweichungen vom zugrunde
72. d die Methode nochmals mit dem Un terpaket als Parameter aufgerufen 7 1 4 Grafischer Editor fiir Schemakomponenten Der grafische Editor basiert auf dem GMF Graphical Modelling Framework Das GMF un terstiitzt die automatische Generierung von GEF Code aus EMF Modellen siehe Abschnitt 4 4 Im Endeffekt entsteht ein GEF Editor GMF 2009 Der Einsatz des grafischen Editors ergibt sich aus der Forderung einer benutzerfreundlichen Bedienung die mit dem standard m igen UML Modell Editor nicht gegeben ist Durch den grafischen Editor k nnen die ein zelnen Elemente des Metamodells durch einfaches Ziehen und Klicken erstellt und bearbeitet werden Fir eine fundierte Erklarung des GEF Editors ist es wichtig auf die ihm zugrunde liegenden Patterns und Designmethoden einzugehen Der GEF Editor basiert auf dem MVC Model View Controller Framework und verwendet das Composite Pattern In weiterer Folge werden der Aufbau und die genaue Anbindung des Editors im Detail be schrieben sowie auf fiir dieses Projekt notwendigen Anderungen eingegangen Model View Controller Das MVC Framework wurde erstmals von der Programmiersprache Smalltalk verwendet und behandelt die drei wesentlichen Komponenten einer GUI Graphical User Interface Das MVC erm glicht durch die Verteilung der Aufgaben eine h here Wiederverwendbarkeit und eine einfachere Anpassung Das Model repr sentiert die Datenstrukturen und ist von View und Controller unabh ngig Die
73. der Benutzer bzw der darauf zugreifenden Applikation einzugehen Ist das globale Schema zu allgemein gefasst kann m glicherweise zu wenig Information daraus gezogen werden Das globale DW Schema stellt wie bereits erw hnt die Schnittstelle zu anderen Applikationen Applikationsebene dar Im theoretischen Ansatz sollte das globale Schema keine Ein schr nkungen bez glich der Applikationen vornehmen und eine m glichst allgemeine Schnittstelle anbieten Berger amp Schrefl 2008 Seite 37 Foderierte Data Warehouses Anwendung F deration Transformation Datenquellen Anwendung Schema 2 Anwendung Schema 1 Metadaten EE La Dimension Repository V re u a Import Kei L j Import N Dimensions Schema Dimensions Schema gt 7 f Global DW Schema A R g Kombination a Import N a Import N C Fakt Schema i J d Fakt Schema e Transformation f J Export 2 a Export N Dimensions Schema Dimensions Schema a Komonenten f Komonenten N Dimensions Schema Dimensions Schema Export N Fakt Schema A ET f Export a a Fakt Schema chema je Definition Komonenten gt eg Komonenten Fakt Schema J Fakt Schema J A Ubersetzung a Lokales N __Dw Schema ed a Lokales 1 Dw Schema ay Abbildung 2 9 Architektur eines f derierten Data Warehouses basiere
74. die Anzahl der Elemente pro Ansicht begrenzt bleibt weil diese auf mehrere Pakete verteilt werden k nnen Ein Umbenennen eines Elements erfolgt mittels eines einfa chen Klicks auf dessen Namen Weitere Einstellungen k nnen in der Properties Ansicht gesetzt werden so kann dort z B der Dateityp eines Attributs festgelegt werden Die Properties Ansicht wird in Form eines zu s tzlichen Fensters in der Eclipse Entwicklungsumgebung angezeigt Seite 135 Anhang A Im Kontextmen eines Elements k nnen zus tzlich die passenden Stereotypen hinzugef gt werden Der Editor erm glicht ausschlie lich ein Hinzuf gen von Stereotypen Das L schen von Stereotypen ist in diesem Editor nicht m glich Modellelementen k nnen durch die Dele te Schaltfl che im Kontextmen durchgef hrt werden Abbildung 10 3 stellt die beiden besprochenen T tigkeiten dar Im unteren Bereich der Abbil dung sieht man das Properties Men des Fakts verkauf Im Kontextmen werden die zur Auswahl stehenden Stereotypen unter dem Men punkt Apply Stereotype angezeigt Java platform resource user_manual myGlobalSchema gsa umiclass _Y3VhkPw7Ed kAsVAB9tQ2w Eclipse Platform lee File Edit Diagram Navigate Search Project Run Window Help 5 8 5 04 BEC oos iH poron BEA Segoe UI DEST F A asro A ogr ije 100 a FE Package Exp 23 _ fg Hierarchy DI VI myGlobalSchema gsa umiclass d globak dw0 33 O amp Task L
75. e GEF FAQ 2009 Eclipse Org 2009 Eclipse Org PR 2009 Eclipse Tools 2009 Eclipse UML2 2009 Eclipse UML2 Co 2009 Eclipse UML2 FAQ 2009 Eclipse UML2 Tools 2009 Graphical Editor Framework GEF http www eclipse org gef letzter Abruf 20 Februar 2009 Graphical Editor Framework Frequently Asked Questions http wiki eclipse org GEF Developer FAQ letzter Abruf 20 Februar 2009 Eclipse org About the Eclipse Foundation http www eclipse org org letzter Abruf 11 J nner 2009 Eclipse Forms Independent Organization Press Relase http www eclipse org org press release feb2004foundationpr php letzter Abruf 11 Janner 2009 Eclipse org Eclipse Tools Project http www eclipse org tools letzter Abruf 04 J nner 2009 MDT UML http wiki eclipse org MDT UML2 letzter Abruf 20 Feb ruar 2009 MDT UML2 Tool Compatibility http wiki eclipse org MDT UML2 Tool Compatibility letzter Abruf 20 Februar 2009 MDT UML FAQ http wiki eclipse org MDT UML2 FAQ letzter Abruf 20 Februar 2009 MDT UML2Tools http wiki eclipse org MDT UML2Tools letzter Abruf 20 Februar 2009 Seite 156 Anhang B Eclipse UML2 T FAQ 2009 Gardner 1998 Gamma et al 2002 Gamma et al 2006 GMF 2009 Glozic 2005 Golfarelli et al 1998 Golfarelli amp Rizzi 1998 MDT UML2Tools FAQ http wiki eclipse org MDT UML2Tools FAQ letzter Ab ruf 20 Februar 2009 Gardner
76. e der Model Driven Architecture In der Geschichte der Softwareentwicklung ist eine Tendenz zu immer st rkerer Abstrahie rung erkennen Durch die Abstrahierung k nnen komplexe Probleme in eine leichter ver st ndliche Form gebracht werden und daraus folgend schneller gel st werden Diese Entwick lung wird in Abbildung 3 1 dargestellt Im Laufe der Zeit wurden sukzessiv abstraktere Kon zepte zur L sung von Problemen eingef hrt Gegenw rtig r ckt die Anwendung von Model Seite 42 Grundlagen modellgetriebene Entwicklung len verstarkt in den Mittelpunkt der Entwicklung insbesondere in der Phase der Analyse und des Entwurfs Gruhn et al 2006 S 12ff Objektorientierte Sprachen Prozedurale Sprachen Abstraktionsgrad Assembler Sprache Maschinensprache Zeit Abbildung 3 1 Steigerung des Abstraktionsgrades Gruhn et al 2006 S 15 Im Kern des Ansatzes der modellgetriebenen Architektur steht die Grundidee dass die Spezi fikation der Softwarekomponente unabh ngig von der technischen Implementierung be schrieben werden sollte Gruhn et al 2006 S 21ff fasst f nf Ziele der MDA zusammen e Konservierung der Fachlichkeit Durch die Verwendung von Modellen sind Syste me einfacher dargestellt und dadurch auch leichter f r fachlich geschulte Experten verst ndlich Bei der Umsetzung der Modelle geht dadurch die Verst ndlichkeit f r die Experten nicht verloren e Portierbarkeit Aufgrund der h heren
77. e die Intelligenz des Werkzeuges ver bessert werden Der Global Schema Architect ist immer direkt vom SQL MDi Query Processor abh ngig da die Erstellung der Mappings im Global Schema Architect mit der Verarbeitung der SQL MDi Datei im SQL MDi Quer Processor kompatibel sein muss Aus diesem Grund w re eine ganzheitliche L sung dieses Umstands empfehlenswert Ein Integration des SQL MDi Query Processors in die Eclipse Plattform w rde zum einen die Interaktion zwischen den beiden Elementen des f derierten DW erleichtern und zum anderen ein einheitliches look and feel der Benutzeroberfl che erzeugen Seite 130 Anhang A 10 Anhang A 10 1 Benutzerhandbuch In diesem Handbuch werden die Installation und das Einrichten des Systems beschrieben Dazu werden die mit dem Handbuch ausgelieferten Dateien herangezogen siehe beiliegende CD Infolgedessen wird auf die durch den Global Schema Architect erm glichten Handlun gen und Anwendungsf lle eingegangen Das Handbuch bezieht sich auf das in Kapitel 1 2 beschriebene Rahmenbeispiel Durch die Erl uterung der Anwendungsf lle anhand eines Beispiels soll die Verst ndlichkeit erh ht werden 10 1 1 Installation Um eine erfolgreiche Installation f r das Rahmenbeispiel durchzuf hren sind gewisse Vor aussetzungen zu erf llen Als Mindestanforderungen gelten Java 1 6 MS SQL Server 2005 sowie Oracle Server Zus tzlich muss am Oracle Server eine Instanz f r das Dime
78. ef gt sein wird es von der Plattform nicht erkannt Zus tzlich m ssen die Dateien MANIFEST MF und build properties angelegt werden um die abh ngigen Pakete zu definieren So enth lt letztere z B die Referenzen auf die f r den Da tenbankimport zu verwendenden Treiber ojdbc 14 jar und sqljdbc jar 7 5 Zusammenfassung Aufbauend auf der in Kapitel 6 erstellten Systemarchitektur wurde in diesem Kapitel die Im plementierung des Werkzeuges beschrieben Im Zuge der Beschreibung der Implementierung wurde die Umsetzung mancher Komponenten mithilfe von Quelltextfragmenten erl utert Die Systemimplementierung gliedert sich ebenso wie die Systemarchitektur in drei Kompo nentengruppen schemabezogene Komponenten Mapping Komponenten und Export Komponenten In diesem Kapitel wurde zus tzlich noch auf die Erstellung der Datei plu gin xml eingegangen da diese einen zentralen Charakter zur Einbindung in die Eclipse Plattform hat Seite 123 Evaluierung und Integrationstest 8 Evaluierung und Integrationstest In diesem Abschnitt wird im Speziellen auf die Evaluierung und das Zusammenspiel zwi schen den verschiedenen Komponenten des f derierten DWs eingegangen Die Evaluierung wird mittels eines Integrationstest durchgef hrt Der Global Schema Architect stellt einen Teil eines f derierten DW Systems dar Um eine ordnungsgem e Funktionalit t des Werkzeugs zu gew hrleisten ist ein ber die verschiede nen Komponenten des f
79. ef hrt werden Daum 2005 S 26 Die f r die Darstellung der Oberfl che des Programms verantwortlichen Komponenten sind auf der rechten Seite der Abbildung 4 1 angef hrt Durch die Workbench werden die grund legenden Elemente von Eclipse wie Editoren Sichten und Perspektiven definiert Diese wer den bei der Entwicklung durch Funktionalit ten erweitert SWT ist ein Framework welches eine Anpassung der Oberfl che an das Betriebssystem erm glicht Eine genauere Beschrei bung dieses Frameworks erfolgt im Kapitel ber die Implementierung des Werkzeuges siehe Abschnitt 6 4 5 JFace baut auf SWT auf und stellt Standardimplementierungen f r oft ver Seite 54 Grundlagen Eclipse wendete grafische Elemente wie z B Assistenten engl Wizard oder Dialoge bereit Im wei teren Verlauf wird oftmals der englische Begriff Wizard anstelle des Begriffes Assistent ver wendet Durch den englischen Begriff k nnen einige Beispiele deutlicher erkl rt werden Weitere Bestandteile der Standarddistribution von Eclipse sind die Java Development Tools welche aus dem das Java Development Toolkit und Source Debugger Plug in bestehen Zu s tzlich wird noch das Plug in Development Environment bereitgestellt Gruhn et al 2006 S 281ff 4 3 Grundlagen eines Eclipse Plug ins In diesem Kapitel wird das grundlegende Wissen f r die Entwicklung eines Plug ins in der Rich Client Plattform Eclipse bereitgestellt Als Entwicklungssprache f r Ecl
80. ei in Form eines Baumes dar Um eine Validierung durchzuf hren muss in der Baumstruktur ein W rfelelement mit dem Stereotyp lt lt cube gt gt markiert werden und in der Men leiste UML Editor gt Validate ausgew hlt werden In Ab bildung 10 4 wird der Aufruf der Validierung sowie das entsprechende Resultat angezeigt Seite 136 Anhang A S Java user manud maislingergsauml Eclipse Platform File Edit Navigate Search Project Run DIS Window Help BE Outline Sia anes Value MATSIINGER Selected Object lt lt cube gt gt lt Package gt MAISLINGER Abbildung 10 4 Validierung von Global Schema F r die Umsetzung des Rahmenbeispiels muss die Struktur des Global Schemas wie in Ab bildung 10 5 dargestellt aufgebaut sein Bezeichnun O umsatzkategorie umsatz float i dauer float Mobilnetz mobilnetz Abbildung 10 5 Aufbau des Global Schemas Seite 137 Anhang A 10 1 2 2 Import eines Data Marts Um einen Data Mart zu importieren muss eine Verbindung zur Datenbank aufgebaut werden Daraufhin wird vom System ein Vorschlag fiir das zu importierende Schema gegeben der optional durch den Benutzer angepasst werden kann Nach Import des Schemas k nnen die genauen Eigenschaften des Data Marts bearbeitet werden Hierzu wird wiederum der in 10 1 2 1 beschriebene grafische Editor verwendet Die Grundidee des Importprozesses wird in Abbildung 10 6 dargestellt Man erken
81. eine auf EMF basierende Implementierung des UML siehe 3 5 Metamodells f r die Eclipse Plattform Dabei werden folgende grundlegende Ziele verfolgt e Die Erstellung einer ben tzbaren Implementierung des UML Metamodells um damit die Entwicklung von Modellierungswerkzeugen zu unterst tzen Seite 59 Grundlagen Eclipse e Ein einheitliches XMI Schema um damit den Austausch von semantischen Modellen zu vereinfachen e Das Festlegen von Validierungsregeln um damit Fehler fr hzeitig zu erkennen Eclipse UML2 2009 Das UML2 Framework bietet u a die M glichkeit den Code aus dem erstellten Modell zu erzeugen Hierf r werden die Codegenerierungsmechanismen von EMF verwendet So kann aus einem UML Modell ein Ecore und ein Generator Model erzeugt werden aus welchen in weiterer Folge der notwendige Code generiert wird Eclipse UML2 FAQ 2009 UML2 kommt mittlerweile in einer Vielzahl von verschiedenen Werkzeugen zum Einsatz Dies ergibt sich u a daraus dass UML2 auch Standalone also ohne Eclipse ausgef hrt werden kann Es m ssen lediglich die notwendigen Klassenbibliotheken angebunden sein Zu den kommerziellen Werkzeugen welche UML2 einsetzen z hlen Omondo EclipseUML IBM RSM RSA MagicDraw UML und Soyatect eUML2 Zus tzlich gibt es eine Vielzahl an ver schieden unter der EPL entwickelten Werkzeuge wie z B Papyrus Taylor MDA MOSkitt oder die in dieser Arbeit verwendeten Eclipse UML2 Tools Wie man am gro en Angebot de
82. emaElement Z Vi Dimension 1 Fact en A 7 fact 1 hierarchy DimensionLevel 1 A 1 EE isTime Boolean dimensionLevel Dimensioning fact minimal Boolean amneasure N hierarchy ordered Tr Measure 1 attribute 1 ordered ordered ClassificationRelationship DimensionLevelAttribute classificationRelationship N ApplicableAggregationFunctions gt O eer aggregationFunctions Set AggregationFunction disjoint complete levels Integer IdentifyingAttribute NonldentifyingAttribute hierarchy measure Abbildung 5 1 Unified multidimensional metamodel Akoka et al 2006 S 1453 Fakten engl Fact bestehen aus verschiedenen Kenngr en engl Measures und werden durch referenzierte Aggregationsebenen n her beschrieben In diesem Ansatz kann zwischen minimalen und nicht minimalen Aggregationsebenen unterschieden werden Als Beispiel f r diese Problematik kann man den Verkauf eines Autos heranziehen Der Verkauf eines Autos wird durch die Dimensionen Kunde Fahrzeug und Tag n her beschrieben F r die Identifizie rung eines Verkaufs sind Fahrzeug und Tag ausreichend Die Information an wem das Auto verkauft wurde ist demnach nicht unbedingt notwendig und somit nicht minimal In diesem Beispiel ist es m glich verschied
83. emen nor malerweise eine enorme Menge an Benutzern w hrend analytische Systeme eine geringe Anzahl an Benutzern aufweisen Bauer amp G nzel 2004 S 11ff Seite 22 Foderierte Data Warehouses Anfragen transaktional analytisch Fokus Lesen Schreiben Modifizieren Lesen periodisches Hinzuf gen L schen Transaktionsdauer kurze Lese Schreibtransaktionen lange Lesetransaktionen und typ Anfragestruktur einfach strukturiert komplex Datenvolumen wenige Datens tze viele Datens tze einer Anfrage Datenmodell anfrageflexibles Datenmodell analysebezogenes Datenmodell Antwortzeit ms s s min Tabelle 2 1 Gegen berstellung der Anfragecharakteristika von transaktionalen und analytischen Anwendungen Bauer amp G nzel 2004 S 9 Wie man in Tabelle 2 1 sehen kann sind die Unterschiede zwischen den verschiedenen Ver fahren sehr gravierend Ob der Einsatz eines analytischen Informationssystems in der Praxis gerechtfertigt ist h ngt oftmals von unternehmerischen und wirtschaftlichen Entscheidungen ab Deshalb ist es speziell f r kleinere Unternehmen oftmals nicht notwendig ein DW aufzu bauen da die vorhandene Datenmenge diesen Schritt nicht rechtfertigen w rde Grundlegendes Einsatzgebiet f r jedes DW ist die Informationsfindung Es unterscheiden sich jedoch die Voraussetzungen unter welchen Gesichtspunkten Information abgefragt werden soll Bauer amp G nzel 2004 S 11ff diffe
84. en Kom munikationsnetze steigt der Einfluss von verteilten Datenbanken auf den Wirtschaftssektor kontinuierlich an Definition 2 12 Eine verteilte Datenbank definiert sich aus der Ansammlung verschiedener Informationseinheiten welche auf mehreren Rechnern verteilt ber ein Kommunikationsnetz miteinander verbunden sind Kemper amp Eickler 2006 S 449 Der grundlegende Ausgangspunkt eines verteilten Datenbanksystems ist das globale Schema welches durch das zwischengesetzte Fragmentierungsschema als auch das Allokationsschema auf das lokale Schema verteilt wird In Abbildung 2 7 wird die Referenzarchitektur eines ver teilten Systems grafisch dargestellt In dieser Abbildung sind die Ortsabh ngigkeiten der ver schiedenen Elemente hervorgehoben Das globale Schema entspricht aufgrund dieser Archi Seite 32 Foderierte Data Warehouses tektur im weiteren Sinne dem konsolidierten relationalen Implementierungsschema des zent ralisierten Datenbankentwurfs ortsunabh ngige Schemata Globales Schema Fragmentierungsschema Allokationsschema Lokals Lokales Abbildungsschema Abbildungsschema DBMS1 DBMS2 ortsabh ngige Schemata Abbildung 2 7 Referenzarchitektur f r verteilte DBS angelehnt an Kemper amp Eickler 2006 S 451 Durch die Fragmentierung werden logische zusammengeh rige Informationsmengen auf
85. en abbil den kann NamedElement 1 Abbildung 7 5 Composite Pattern f r grafischen Editor Abbildung 7 5 zeigt eine beispielhafte Anwendung des Patterns im Global Schema Architect Durch Anwendung des Patterns ist es m glich die im Metamodell vorgesehene Paketstruktur zu erreichen Beispielweise wird ein W rfel als Paket engl Package dargestellt und kann wiederum mehrere Pakete Dimensionen und Klassen Fakten enthalten Die Pakete der Dimensionen wiederum enthalten mehrere Klassen Aggregationsebenen dadurch kann die Struktur hierarchisch in mehrere kleine Unterelemente zerlegt werden Seite 110 Systemimplementierung Aufbau und Anbindung an den Global Schema Architect Der Editor ist Teil der Eclipse UML2Tools siehe Abschnitt 4 4 2 und wird als erweiterndes Plug in in den Global Schema Architect integriert Die UML2Tools stellen Editoren f r alle Bereiche der UML bereit F r den Global Schema Architect ist aufgrund der in Kapitel 5 1 gestellten Anforderungen ausschlie lich das Klassendiagramm von Bedeutung Der Editor setzt auf dem UML Modell auf und stellte neue Editierungsm glichkeiten bereit Bei der Durchf hrung einer Aktion im Editor werden die nderungen direkt im UML Modell gespeichert Bezogen auf das MVC Modell wird das UML Modell demnach als Model des grafischen Editors verwendet Jegliche nderungen die durch den Editor durchgef hrt wer den k nnen auch am Modell direkt allerdings in gra
86. en von dieser Klasse erben Um eine bersichtliche Gestaltung zu gew hrleisten sind alle Klassen die von BaseGenerator erben und mit dem Metamodell interagieren im Paket org eclipse uml gsa generators abgelegt Eine Ausnahme gilt f r die Mapping Editoren welche zwar auf einem UML Modell basie rend jedoch nicht das entsprechende Profil anwenden Die von BaseGenerator abgeleite ten Klassen NamedElementBase und MastercontentProvider wurden zu den Pa keten der jeweiligen Editoren hinzugef gt Eine genaue Beschreibung wird in Abschnitt 7 2 gegeben Seite 104 Systemimplementierung Abbildung 7 2 zeigt ein Klassendiagramm mit BaseGenerator und dessen Unterklassen im Paket org eclipse uml gsa generators Die genaue Funktionalit t der jeweili gen Unterklassen wird in den entsprechenden Kapiteln n her erl utert BaseGenerator d CopylmportFile ExportMappingFile ExportMetadataToDatabase i GsalmportFile MappingFile Abbildung 7 2 Klassendiagramm Generalisierung von BaseGenerator Die BaseGenerator Klasse stellt u a Methoden zum Editieren von Modellen bereit e createPackage Package String EClass Mit dieser Methode kann ein Paket erzeugt werden auf das ein Stereotyp angewandt wird Der Stereotyp wird in Form einer EClass als Parameter bergeben Durch diese Methode k nnen z B W rfel oder Dimensionen erzeugt werden Der Parameter Package gibt jenes Paket an in welches das anzulegende Paket inklud
87. en vor Listing 7 9 beschreibt die einzelnen in diesem Zusam menhang bedeutenden Bestandteile Die Unterteilung der SQL MDi Ausdr cke gliedert sich nach den Ebenen des Metamodells siehe Abbildung 5 5 Deshalb befindet sich der Ausdruck des W rfels Cube auf der Schemaebene Ausdr cke von Dimension und Kenngr en Mea sures befinden sich auf der W rfelebene Der genaue Ausdruck zu den einzelnen Levels ist schlussendlich in der Dimensionsebene definiert Seite 121 Systemimplementierung J1 Cube Schemaebene 02 CUBE dw2 verkauf AS c2 03 MEASURE lt measure umsatz gt Dim lt dim datum gt Dimension Datum W rfelebene 06 c2 datum MAP LEVELS c2 datum lt lev datum gt lt lev month gt lt lev jahr gt 08 Measure umsatz W rfelebene c2 umsatz Level datum Dimensionsebene 2 datum Level month Dimensionsebene 5 month gt monat L7 Level jahr Dimensionsebene 8 jahr Listing 7 9 Bestandteile eines SOL MDi Ausdrucks Die Umsetzung dieser Komponente erfolgt in der ExportMappingFile Klasse Die Er setzung der jeweiligen Elemente erfolgt durch die private Methode getContents wel che von der Methode getSqlMdiExpressions aufgerufen wird Im Zuge dessen wer den die notwendigen Ersetzungen durch regul re Ausdr cke vorgenommen In Listing 7 9 sind die einzelnen Bestandteile strukturiert dargestellt So wird z B der Platzhalter lt lev month gt durch den Ausdruck month
88. en werden Die Werte in Kenngr en sind blicherweise numerisch Durch das multidimensionale Datenmodell entstehen f r die Entwicklung von DWs einige Vorteile Zum einen liegt dieses Modell nahe am Gedankenmodell eines Datenanalysten und zum anderen erm glicht es Performancesteigerungen da der Entwickler aufgrund des relativ einfachen Modells die M glichkeit hat h ufig gestellte Abfragen vorauszusagen Abello et al 2006 S 1 2 1 5 Erstellung eines Data Warehouses Abell et al 2006 S 1 unterteilt die Entwicklung bzw das Design von DWs in vier grund legende Phasen Requirement Analysis gt requirements Le Conceptual Design l conceptual schema r r Logical Design gt logical schema Physical Design i physical schema Abbildung 2 4 Grundphasen Design des Data Warehouse Abell et al 2006 S 1 Anforderungsanalyse engl Requirement Analysis Data warehouses are built to answer specific business problems not to showcase the won ders of technology Gardner 1998 S 60 Seite 28 Foderierte Data Warehouses Ein DW soll Antworten auf die betriebliche Fragestellungen liefern und nicht nur die techni schen M glichkeiten ausreizen Daraus folgend werden die Kundenbed rfnisse oft zu wenig in den Entwicklungsprozess miteinbezogen Dies ergibt sich unter anderem daraus dass Ent wickler die Probleme der Benutze
89. ende Anforderungen werden an das Metamodell gestellt 5 1 1 Darstellung des multidimensionalen Datenmodells In 2 1 4 wurde das multidimensionale Datenmodell detailiert beschrieben An das Metamodell wird die Forderung gestellt alle im multidimensionalen Datenmodell ausdr ckbaren Kons trukte zu unterst tzen 5 1 2 Darstellung in UML Durch UML als Darstellungsform soll ein hoher Wiedererkennungswert beim Benutzer er reicht werden wodurch die Einarbeitungsphase verk rzt wird Die am besten geeignetste Dar stellungsform ist das Klassendiagramm weil damit statische Zusammenh nge zwischen ver schiedenen Elementen wie z B Dimension und Fakten ausgedr ckt werden k nnen 5 1 3 bersichtliche Darstellung Das Werkzeug soll so bersichtlich und benutzerfreundlich wie m glich aufgebaut sein Um ein Model verst ndlich und nachvollziehbar darzustellen ist es wichtig klare Regeln und Seite 63 Erstellung des Metamodells Rahmenbedingungen festzulegen Aus diesem Grund ist ein strukturiertes Metamodell not wendig 5 1 4 Konformit t zu anderen Werkzeugen Durch die geforderte Interaktion des Modells mit anderen Modellen ist die Verwendung von Standards notwendig In der Umsetzung dieses Werkzeuges muss Kompatibilit t zu dem im SQL MDi Query Processor und SQL MDi Query Parser verwendeten Datenmodell gegeben sein Zu den zu verwendenden Standards z hlen das CWM sowie die in 5 2 beschriebenen Metamodelle 5 2 Data
90. ene Dimensionen mehrmals verwenden und unterschiedli chen Fakten zu zuordnen Akoka et al 2006 S 1450ff Durch die Einf hrung der Aggregationsfunktionen engl AggregationsFunctions k nnen auch nicht numerische Werte in einem Fakt verwendet werden F r die einzusetzenden Werte m ssen Aggregationsfunktionen wie z B SUM AVG MIN oder COUNT implementiert worden sein F r numerische Werte sind diese Funktionen meist standardm ig von der Im plementierungsumgebung vorgegeben Seite 65 Erstellung des Metamodells Zusammengefasst kann man diesen Ansatz als vollst ndig angesehen Bei gro en Modellen verliert er jedoch deutlich an bersichtlichkeit und Lesbarkeit Abbildung 5 2 zeigt diese Problematik Schon bei relativ geringer Komplexit t wird das Modell schwer berschaubar Moda type media type media_unit measure 1 Product_type product type product_unit target code Target_fact duct cod status erg minimum_age percentage_of_region maximum_age sex Region_fact Media_fact number_of_inhabitants advertising_price measuren Dimension level identifying attribute non identifying attribute 1 Main_shareholder gt percentage_of_shares H non identifying attribute n Purchase quantity Shareholder Temporal dimension level amount Base dimension le vel Dimension Ce fact dimension level relation
91. ensionselemente dar Innerhalb einer Dimension muss eine Hierarchie vorhanden sein So gliedert sich die Dimension Geo grafie in die Ebenen Filiale Stadt Bezirk Region und Land wobei Filiale die detaillierteste Aggregationsebene ist Die Hierarchie besteht aus einer Menge von Roll up Funktionen Durch eine Roll up Funkti on werden zwei Dimensionselemente aufgrund der Granularit t zusammengef hrt So ist Stadt z B ein Teilelement von Bezirk was einer 1 n Beziehung entspricht In der Hierar chie jeder Dimension muss weiters ein Basis bzw Grundelement vorhanden sein Dies ist ein Dimensionselement welches nicht mehr aufgespalten werden kann Im Falle der Dimension Produkt w rden sich diese Elemente in der Aggregationsstufe Artikel befinden Aus der Kombination von Dimensionselementen kann in der Folge auf eine bestimmte Menge an Kenngr en zugegriffen werden Cabibbo amp Torlone 2004 S 2 Definition 2 10 Eine Roll up Funktion greift anhand der Hierarchie einer Dimension auf das Dimensionselement einer h heren Stufe zu Je h her die Stufe der Hierarchie desto weiter werden die Daten zusammengefasst Bauer amp G nzel 2004 S 102 Seite 27 Foderierte Data Warehouses Definition 2 11 Eine Kenngr e bzw eine bestimmte Menge an Kenngr en ist das eigent liche Resultat das der Benutzer aus dem W rfel auslesen will Es sind also die Elemente die durch die verschiedenen Dimensionen beschrieb
92. enten beschriebenen Architektur in Abschnitt 6 5 1 auf 7 1 1 Komponente Metamodell Die Beschreibung dieser Komponente teilt sich in drei Bereiche auf Zum einen wird die Ers tellung des Metamodells als Profil beschrieben Zum anderen wird die Zusammenf hrung des Metamodellprofils mit einem Modell erl utert Schlussendlich werden auf das Modell an wendbare Funktionen definiert Erstellung des Metamodells Die Entwicklung des Metamodells erfolgte mit der von Eclipse bereitgestellten EMF basie renden Implementierung des UML2 Frameworks Aufgrund des Einsatzes von EMF war f r die Entwicklung dieses Modells keine explizite Codierungsarbeit notwendig F r die Umsetzung des Werkzeuges wurde das von Eclipse vorgegebene UML Modell erwei tert Dies erfolgte durch Profile welche als leichtgewichtige Erweiterungen zu UML Seite 98 Systemimplementierung Modellen angesehen werden Profile k nnen die Ausdruckst rke bereits vorhandener UML Elemente durch Stereotypen erweitern Dadurch k nnen UML Elementen zus tzliche Eigen schaften bergeben werden Im Gegensatz dazu ist das Entfernen von Eigenschaften nicht m glich Schwergewichtige nderungen wie die Definition von neuen Modellen k nnen mit diesem Ansatz nicht durchgef hrt werden was aufgrund einer Zielsetzung dieser Arbeit nahe am UML Standard zu bleiben nicht notwendig ist Bruck amp Hussey 2008 F r die Erstellung eines Profils werden die von Eclipse bereitgestell
93. ersion 2 Bundle Name Example Plugin 4 Bundle SymbolicName org eclipse uml2 uml editor singleton true 5 Bundle Version 2 2 0 v200805131030 Bundle ClassPath org eclipse uml2 uml editor 2 2 0 v200805131030 jar Bundle Activator org eclipse uml2 uml editor UMLEditorPlugin Implementation Listing 4 1 Beispiels MANIFEST MF Datei Im Manifest werden auch die verschiedenen Erweiterungsmechanismen definiert So wird zum einen bestimmt welches Plug in durch das entwickelte erweitert wird und welche Erwei terungsm glichkeiten anderen Plug ins bereitgestellt werden Dies erfolgt mithilfe der soge nannten Extensions und Extension Points Daum 2005 S 25f In Listing 4 2 wird eine Implementierung der Datei plugin xml dargestellt In diesem Beispiel wird eine einzelne Erweiterung engl Extension angef gt Es l sst sich durch den Erweite rungspunkt engl Extension Point org eclipse ui newWizards als auch durch den Tag lt wi zard gt erkennen dass die Erweiterung in Form eines Wizards umgesetzt wurde Der Tag lt ca tegory gt beschreibt die Einordnung des Wizards in der Anzeige von Eclipse hierbei kann entweder eine schon vorhandene oder eine neue Kategorie angegeben werden In der Definiti on des Wizards wird u a eine Referenz auf die zuvor definierte Kategorie erzeugt Dar berhi naus wird die bei Aktivierung des Wizards aufzurufende Klasse das dazugeh rige Bild die Id und die Bezeichnung angegeben F r die Datei plugin xml gil
94. ert hat Die Entwicklungsumgebung beinhaltet Erweiterungen und Werkzeuge welche den Entwicklungsprozess von Software in allen Schritten unterst t zen Eclipse wird von der Eclipse Foundation entwickelt und erweitert welche u a die infrast rukturellen Grundlagen CVS SVN Bugzilla Datenbanken Mailings Lists f r die Open Source Gemeinschaft bereitstellt Wichtig ist dass die Eclipse Foundation einen not for profit Charakter hat und darauf abzielt die Open Source Gemeinde sowie die Anzahl der Produkte und Services zu erweitern Eclipse Org 2008 Definition 4 1 Der Begriff Open Source ist eine Strategie der Softwareentwicklung bei wel cher der Quellcode allen Interessierten kostenlos zur Verf gung gestellt wird Diese werden aufgefordert das Programm zu verbessern und die Ergebnisse wieder der Gemeinschaft bereit zu stellen Heinrich 2004 S 473 Anf nglich wurde Eclipse als internes Projekt von IBM gef hrt Im Jahr 2001 wurde es je doch unter die CPL Common Public License gestellt und zur weiteren Entwicklung einem Open Source Konsortium bergeben Gr ndungsmitglieder des Konsortiums waren Borland IBM MERANT ONX Software Systems Rationale Software Red Hat SuSE TogetherSoft und Webgain Bis Ende des Jahres 2003 stieg die Anzahl der Mitglieder von den neun Gr n dungsmitgliedern auf ber 80 Mitglieder an Eclipse Org 2008 Gruhn et al 2006 S 279 Die F hrung von Eclipse untersteht dem Board of Stevens
95. erzeugt Bei der Erstellung der Datei muss eine Datenbankverbindung zu einer Oracle Datenbank angegeben werden um dort das Dimension Repository zu speichern Zus tzlich muss ein passender Dateiname vergeben wer den Weiters besteht die M glichkeit die Verbindung zur Datenbank zu testen Der beschrie bene Prozess wird in Abbildung 10 1 dargestellt Seite 133 Anhang A Dateien New Select a wizard Global Schem TE Create Gk Global Mapping File SEL Global Schema Architect File Import Mapping File GMF Xpand Graphical Modeling Framework rom Import Schema 3 Multi page Editor File This wizard creates a new file with uml extension that can be opened by a multi page editor Username maislinger Connection String jdbcoracle thin plute dke uni linz ac at 1S21 dked Database Name MAISLINGER Test Connection Abbildung 10 1 Prozess zur Erstellung des Global Schemas zu kopierende Import Schema angef hrt werden muss Soll das globale Schema aus einem bereits vorhandenen Import Schema erstellt werden so wird dazu der Create Global Schema From Import Schema Assistent eingesetzt Der Prozess verh lt sich analog zum Erstellen einer leeren Datei mit dem Unterschied dass zus tzlich das Die erstellte Datei findet sich nun im Projekt und hat die Endung gsa uml Es besteht die M glichkeit diese Datei mit einem grafischen Editor in Form eines
96. es Mapping zum Beseitigen der Konflikte der Schemainstanzen ben tigt Seite 79 Entwicklung des Global Schema Architects Global Schema Global Mapping Import Mapping Import Mapping Local DM Local DM Schema Schema cm DM 1 DM2 Soe See Abbildung 6 3 Beschreibung von Import und Mapping 6 3 1 4 Speicherung der Metadaten Abbildung 1 1 veranschaulicht die zentrale Verwendung des Metadata Dictionaries als Schnittstelle zwischen dem Global Schema Architect und dem SQL MDi Query Parser Die Struktur der Metadaten wird vom SQL MDi Query Parser vorgegeben und muss vom Global Schema Architect dementsprechend umgesetzt werden Die Speicherung der Metadaten er folgt in einer eigenen Datenbank dem Metadaten Repository Zur Durchf hrung des Exports verlangt der Export Assistent vom Benutzer lediglich die Ein gabe der Verbindungsdaten zur Datenbank In weiterer Folge muss der Export Assistent die Modelle aus den verschiedenen Schemata auslesen und auswerten um eine korrekte Speiche rung der Metadaten zu ber cksichtigen Es d rfen z B Dimensionen welche mehrmals ver wendet wurden nur einmal im Metadata Dictionary verzeichnet werden Schlussendlich wer den die notwendigen Einf ge Operationen an die Datenbank bermittelt Zus tzlich zu den Metadaten des Metadata Dictionaries m ssen die Metadaten zu den Dimensionen des globa
97. eugten Instanz eines Oracle Datenbankservers angelegt Eine genaue Auflistung der zu exportierenden Metadaten findet sich wiederum auf der beigelegten CD in der Datei fillMetadataDictionary sql im Ord ner db_scripts Basierend auf den map Dateien und der gmap Datei wurde die endg ltige SQL MDi Datei f r die Eingabe im SQL MDi Query Processor erzeugt F r eine korrekte Abarbeitung des Rahmenbeispiels musste die SQL MDi Datei dem Listing 8 1 entsprechen Seite 125 Evaluierung und Integrationstest 1 DEFINE CUBE dwl verkauf AS cl MEASURE cl dauer MEASURE cl umsatz_telefonie MEASURE cl umsatz_sonstiges Dim datum_std Dim cl svnr Dim cl mobilnetz PIVOT MEASURES cl umsatz_telefonie cl umsatz_sonstiges INTO cl umsatz USING umsatzkategorie 04 ROLLUP cl datum_std TO LEVEL cl datum datum 06 CUBE dw2 verkauf AS c2 07 MEASURE c2 gespraechsdauer gt dauer MEASURE c2 umsatz Dim c2 datum MAP LEVELS c2 datum datum month gt monat jahr Dim c2 kunde gt svnr MAP LEVELS c2 kunde kunde gt svnr tarif Dim c2 mobilnetz Dim c2 umsatzkategorie 08 CONVERT MEASURES APPLY usd2Eur FOR c2 umsatz DEFAULT LOBAL CUBE MAISLINGER verkauf AS c0 ERGE MENSIONS cl datum AS dl c2 datum AS d2 INTO c0O datum AS d0 ERGE MENSIONS cl kunde AS d3 c2 kunde AS d4 INTO cO kunde AS d5 RELATE 3 svnr d4 kunde WHERE d3 svnr d4 kunde USING HIERARCHY OF d3 T A MATCH TRIBUTES d3 bezeichnung IS d4 name CONVE TT
98. finition 2 10 Roll up ROESER 27 Definition 2 11 Kenngr e engl Measure s ssssssessesessseessessrssressessrssresseesresresseessesersseesee 28 Definition 2 12 Verteilte Datenbank a u sea 32 Definition 2 13 F deriertes Datenbanksystem unsnssessessseensnnsnennnnnnnnennnnnnnennnnnnnnn 34 Definition 2 14 F deriertes Data W arehonse ua 36 Definition EE 44 Definition 4 1 Open Souree ia ia in a atei aata ia 51 Definition e E EE 53 Definition 43 Rich Clienton eiin in iiaii vv aiden Geos cans 53 Seite 152 Anhang B 11 5 Literaturverzeichnis Abello et al 2006 Akoka et al 2006 Bauer amp G nzel 2004 Berger amp Schrefl 2006 Berger amp Schrefl 2008 Betsy et al 2009 Abell A Lechtenb rger J Rizzi S Trujillo J Research in Data Warehouse Modeling and Design Dead or Alive In Sogn I Y Vasiliadis P Hrsg DOLAP Seiten 3 10 ACM 2006 Akoka J Prat N Comyn Wattiau I A UML based data warehouse design method In Decision Support Systems 42 Seiten 1449 1473 2006 Bauer A G nzel H Hrsg Data Warehouse Systeme Architektur Entwicklung Anwendung 2 berarbeitete und aktualisierte Auflage dpunkt verlag Heidelberg 2004 Berger S Schrefl M Analysing Mulit dimensional Data Across Autonomous Data Warehouses In DaWak Seiten 120 133 2006 Berger S Schrefl M From Federated Databases to a Fede rated Data Warehouse System
99. fisch weniger ansprechender Baumdar stellung durchgef hrt werden Die Unterscheidung der verschiedenen Dateien l sst sich durch die Namenskonventionen f r die Dateitypen umlclass f r den grafischen Editor und uml f r das Modell erkennen F r eine ad quate Integration war es notwendig den Editor zu erweitern So mussten z B die f r das Metamodell notwendigen Elemente wie W rfel und Dimension in das Auswahlfeld des Editors hinzugef gt werden Dazu wurden in der Klasse UMLPaletteFactory im Paket org eclipse uml2 diagram clazz part die entsprechenden Schaltfl chen integriert Eine Schwierigkeit bei der Erstellung der Elemente war das Hinzuf gen der ent sprechenden Stereotypen Diese Problematik ergibt sich aus dem Grund dass einem Element erst nach seiner Speicherung ein Stereotyp zugewiesen werden kann Zu diesem Zweck wurde eine statische Variable UMLPaletteFactory stereotype eingef hrt welche den Stereotypen f r den Zeitraum zwischen Auswahl des Elements aus der Werkzeugliste und dem endg ltigen Anf gen des Elements zwischenspeichert Ebenso werden zu diesem Zeit punkt auch die passenden Repr sentationsbilder Icons f r das jeweilige Element eingef gt Die Anpassung der Bilder und Stereotypen erfolgt im EditPart zum jeweiligen Element das sich im Paket org eclipse uml2 diagram clazz edit parts befindet Durch den EditPart wird die doDefaultElementCreation Methode des entspre chenden Commands aufgerufen Zur Erzeugu
100. gaben e Das Werkzeug erlaubt es ein globales Schema zu erstellen welches als virtueller W rfel die Grundlage f r den SQL MDi Query Processor und SQL MDi Query Par ser bereitstellt e Physischen DW Schemata k nnen durch den Global Schema Architect importiert werden Dar ber hinaus werden vom Programm Vorschl ge ber die empfohlene Struktur des DW gegeben e Durch das Werkzeug wird die Beseitigung der Heterogenit ten zwischen dem impor tierten lokalen Schema und dem globalen Schema erm glicht e Durch das Werkzeug wird das Metadata Dictionary und die SQL MDi Datei f r die Interaktion mit dem SQL MDi Query Parser und dem SQL MDi Query Processor be reitgestellt siehe Abbildung 1 1 Grundlegende Voraussetzung f r die Umsetzung dieses Werkzeuges ist dass die verschiede nen Data Marts eine inhaltliche berlappung beinhalten Es k nnen somit nur hnliche Daten Seite 11 Einleitung verglichen bzw zusammengef hrt werden Eine Entscheidung ber die Realisierbarkeit eines f derierten DW muss in jedem Fall wieder neu vom Benutzer getroffen werden Als weitere Grundanforderung an die Umsetzung des Werkzeuges gilt dass die Implementie rung in Form eines Plug ins auf Basis der Rich Client Plattform Eclipse umgesetzt werden muss Eclipse soll aufgrund der hohen Verbreitung den Wiedererkennungswert beim Benutzer erh hen und so ein schnelleres Zurechtfinden im Programm erm glichen Durch die Verwen dung der Standard
101. gr en werden durch die Di mensionen Kunde Mobilnetz Werbeaktion Datum und Umsatzkategorie beschrieben Kunde erm glicht die Analyse nach einzelnen Kunden und Tarifen Die Aggregation nach Mobilnetz erfolgt nach einzelnen Mobilnetzen Werbeaktion wird durch die Aggregationsstufe Werbetyp erweitert Die Hierarchie Datum gliedert sich in Datum Monat Quartal und Jahr Die Dimen sion Umsatzkategorie erm glicht die Analyse nach dem Umsatz zugeordnete Umsatzkatego rien Als W hrung wird in diesem Schema verwendet Rossgatterer 2008 S 5 Seite 14 Einleitung Grundgeb hr Grundgeb hr Bezeichnung Ki Tarif Tarif on Altersgruppe Einwahlgeb hr Kunde Bezeichnung Dauer Bezeichnung Verkauf Umsatz_Telefonie Mobilnetz Gesprachsdauer Umsatz_Sonstiges Umsatz Umsatz Mobilnetz kategorie Datum O Werbeaktion Month E C Werbetyp Quartal Jahr Jahr E a MFA b MFB Abbildung 1 2 W rfel fiir MFA und MFB Rossgatterer 2008 1 3 Aufbau der Arbeit Die Arbeit gliedert sich in sieben verschiedene Kapitel welche wiederum auf zwei Abschnitte aufgeteilt sind In Abschnitt I Grundlagen wird das notwendige Basiswissen fiir das theoretische als auch praktische Verst ndnis der in Abschnitt II besprochenen Konzepte und Technologien aufbe reitet Abschnitt II besch ftigt sich mit der Erstellung des grundlegenden Metamodells sowie der tats chlichen Entwicklung des Proto
102. hode createSqlMetaDataExpressions werden die verschiedenen Schemata ausgelesen und die darin enthaltenen Elemente traversiert W hrend der Traversierung der Modelle wer den die erzeugten SQL MDi Ausdr cke in Tabellen eine f r jeden Block zwischengespei chert Nachdem alle Schemata geparst wurden k nnen die einzelnen Bl cke in die Datenbank geschrieben werden In der Methode create werden zus tzlich relevante Information f r das Dimension Repository exportiert Als Zieldatenbank wird dazu jene Datenbank verwendet welche beim Erstellen des Global Schema angegeben wurde Die Daten werden um die Kompatibilit t mit dem SQL MDi Query Processor aufrecht zu erhalten in einer Oracle Datenbank gespeichert Durch den Exportprozess werden die leeren Fakt und Dimensionstabellen erzeugt welche die Grundlage f r die Auswertungen des SQL MDi Query Processors bereitstellen 7 3 2 Komponente SQL MDi Datei erzeugen Zum Erzeugen der SQL MDi Datei werden alle Mapping Dateien Namenskonvention map und gmap eingelesen und die darin enthaltenen SQL MDi Ausdr cke zusammenge f hrt Es muss die passende Reihenfolge eingehalten werden Aus diesem Grund m ssen die Ausdr cke der jeweiligen Import Schemas vor dem Global Schema durchgef hrt werden Abbildung 6 13 veranschaulicht diesen Prozess Seite 120 Systemimplementierung Beim Export sowie beim Erzeugen der Vorschau im Mapping Editor werden die enthaltenen Platzhalter durch den
103. htigsten Symbole des Global Schema Architects nochmals dargestellt und beschrieben Seite 146 Anhang B 11 Anhang B 11 1 Abbildungsverzeichnis Abbildung 1 1 Definition des kontextuellen Zusammenhangs des Werkzeuges 13 Abbildung 1 2 W rfel f r MFA und MFB Rossgatterer 2008 ee 15 Abbildung 2 1 Analytisches Informationssystem Chamoni amp Gluchowsk 1998 S 11 20 Abbildung 2 2 Data Warehouse Architektur Chaudhury amp Dayal 1997 S 2 24 Abbildung 2 3 Modell eines W rfels Bauer amp G nzel 2004 S 103 26 Abbildung 2 4 Grundphasen Design des Data Warehouse Abell et al 2006 S 1 28 Abbildung 2 5 Star Schema u 2 2 een 30 Abbildung 2 6 Snowrflake Schema ana ie sotdende wacasants estas se Stands 31 Abbildung 2 7 Referenzarchitektur f r verteilte DBS angelehnt an Kemper amp Eickler 2006 ea 51 I D ARE E EE T E as EE ee 33 Abbildung 2 8 Einordnung von f derierten Datenbanken angelehnt an Sheth amp Larson 1990 e KU EE 35 Abbildung 2 9 Architektur eines f derierten Data Warehouses Berger amp Schrett 2006 38 Abbildung 2 10 Mapping zwischen zwei Dimensionen Torlone 2008 S 217 39 Abbildung 3 1 Steigerung des Abstraktionsgrades Gruhn et al 2006 S 181 43 Abbildung 3 2 Ubersicht die Ebenen der Metamodellierung basierend auf Karagiannis amp tie 2002 EE 45 Abbildung 3 3 Beispiel fiir 4 Ebenen Metamode
104. iche Bearbeitung m glich sein Komponente Metamodell Das Metamodell ist die grundlegende Komponente des Werkzeuges da es einerseits den Auf bau der Schemata angibt und andererseits den Grundstein f r die Kompatibilit t zur externen Schnittstelle setzt Die Erstellung und der Aufbau des Metamodells wurde bereits in Ab schnitt 5 3 ausf hrlich beschrieben In Abschnitt 7 1 wird im Detail auf die Implementierung eingegangen In Abbildung 6 4 wird die zentrale Position des Metamodells verdeutlicht Als Grundlage der Modelle des Import Schemas und Global Schemas ist es zumindest indirekt an allen Prog rammkomponenten beteiligt Komponente Import Schema Diese Komponente hat prim r die Aufgabe vorhandene Schemata aus der Datenbank zu im portieren und aufgrund dieser dem Benutzer einen Schemavorschlag bereitzustellen aus wel chem in weiterer Folge das Import Model erzeugt wird Das Import Model stellt die Schnitt stelle zu den anderen Komponenten der Systemarchitektur dar Abbildung 6 5 illustriert den Algorithmus des Importprozesses in Form eines UML Aktivit tsdiagrammes Bei erfolgreicher Verbindung zur Datenbank werden die Metadaten aus der entsprechenden Datenbank ausgelesen Nach dem Laden der Metadaten wird ein neues UML bzw mport Model erstellt Im Anschluss werden die Tabellen sowie Spalten der Datenbank traversiert Solange weitere Tabellen gefunden werden wird die Tabelle auf ex portierte Fremdschl ssel berpr ft Exp
105. iert werden soll Der String legt den Na men des zu erstellenden Paketes fest e createClass Package String EClass Funktioniert analog zu crea tePackage mit dem Unterschied dass eine Klasse erstellt werden kann An wendung findet diese Methode bei der Erstellung von Aggregationsstufen und Fakten e createAttribute Package String EClass Erstellt ein Attribut in klusive eines darauf angewendeten Stereotypen e getDWElements Package LinkedList String Diese Methode erm glicht bestimmte Elemente aus einem Paket auszulesen und einer Liste anzuf gen Es k nnten beispielsweise alle Dimensionen und Levels ausgelesen werden Die se Methode nimmt aufgrund der h ufigen Anwendung bei der Implementierung des Global Schema Architects eine zentrale Rolle ein e applyAllStereotypes F gt zu allen erzeugten Elemente die Stereotypen hinzu Die Notwendigkeit einer solchen Methode ergibt sich daraus dass ein Element gespeichert werden muss bevor ein Stereotyp angewandt werden kann Die oben be schriebenen create Methoden speichern aus diesem Grund das Element und den da zugeh rigen Stereotyp in einer speziellen Klasse ElementStereotype ab Auf Seite 105 Systemimplementierung Basis dieser Klasse k nnen im Nachhinein die entsprechenden Stereotypen auf die Elemente angewandt werden 7 1 2 Komponente Import Schema Die Komponente beinhaltet die f r den Import eines Schemas und die Darstellung als UML Model
106. ildung 6 8 Aufteilung der Mappings Import Schema A Die Erstellung der SQL MDi Datei zur berbr ckung der Heterogenit ten zwischen den ein zelnen Import Schemas erfolgt auf inkrementell Dieser Prozess wird in Abbildung 6 9 dar gestellt Der Benutzer f gt sukzessive SQL MDi Ausdr cke der SQL MDi Datei hinzu In diesem Zusammenhang hat er die M glichkeit sich vom System einen Vorschlag f r den ent sprechenden SQL MDi Ausdruck generieren zu lassen Das Erstellen der Ausdr cke gliedert sich nach den Elementen des jeweiligen Schemas Seite 91 Entwicklung des Global Schema Architects Offnen des Mapping Editors Mapping Editor ge ffnet Editor verlassen Elemente bearbeiten Element auswahlen Element ausgew hlt Element verlassen weiteren Ausdruck hinzuf gen Vorschlag generieren Vorschlag generiert SQL MDi Ausdruck hinzuf gen Ausdruck hinzugef gt Abbildung 6 9 Aktivit tsdiagramm Hinzuf gen von SQL MDi Ausdr cken Import Mapping Mithilfe des Import Mappings werden die Heterogenit ten zwischen Global Schema und Im port Schema berbr ckt F r die Erstellung eines Jmport Mappings wird sowohl das Global Schema als auch das Import Schema herangezogen Nach dem Import hat der Benutzer die M glichkeit die einzelnen Heterogenit ten inkrementell zu beseitigen F r das Import Mapping ist die Anzahl der Elemente fest vorgegeben So werden alle Ele
107. ines f derierten DWs gliedert sich in vier Ebenen siehe Ab bildung 2 9 Auf der untersten Ebene befinden sich die zu integrierenden Data Marts Datenquellen Die se werden in weiterer Folge von dem lokalen Datenmodell Lokales DW Schema in ein ver einheitlichtes Datenmodell Komponenten Schema umgewandelt Aufgrund des einheitlichen Seite 36 Foderierte Data Warehouses Datenmodells ist es m glich Vergleiche zwischen den unterschiedlichen Data Marts zu zie hen In der Transformationsebene werden die Komponenten Schemata in einheitliche auf die im globalen Schemata ben tigten Elemente der lokalen Schemata reduziert Die daraus entstan denen Export Schemata werden daraufhin in Jmport Schemata transformiert Hierzu werden Mappings anhand einer Fakt bzw Dimensions Algebra erstellt siehe Berger amp Schrefl 2008 Ein Mapping stellt eine Zuordnungsvorschrift zwischen einem Element im globalen und im importierten Schema dar Die F derationsebene beinhaltet die zentralen Elemente eines f derierten DWs wobei die verschiedenen Fakt und Dimensionsschemata aus den importierten Data Marts richtig inter pretiert werden m ssen Die Dimensionsschemata werden zu globalen Dimensionen zusam mengef gt und im Dimension Repository gespeichert Mithilfe der Mappings sollen die Unterschiede bzw Heterogenit ten zwischen den Schemas berbr ckt werden Bei der Erstellung des globalen Schemas ist speziell auf die Bed rfnisse
108. ipse Plug ins wird die Programmiersprache Java vorgegeben Ein Plug in besteht demnach in der Regel aus einem oder mehreren Java Archiven Die not wendigen Elemente eines Plug ins werden in Eclipse durch den daf r passenden Assistenten sofort bei der Erstellung erzeugt Aufgabe des Benutzers ist es diese zu verwalten Herzst ck eines jeden Plug ins ist ein Manifest in welchem die Konfiguration eines Plug ins im Detail beschrieben wird Dieses Plug in stellt die Metadaten f r den Start der Eclipse Plattform bereit d h nur diese Daten werden zu Beginn geladen Die dazugeh rigen Java Dateien werden erst bei Bedarf nachgeladen Die Umsetzung des Manifests wird mittels der XML Datei plugin xml sowie der Datei META INF MANIFEST MF durchgef hrt F r das Editieren der beiden Dateien steht ein Editor bereit der die notwendigen Schritte un terst tzt In Listing 4 1 wird eine beispielhafte Implementierung einer MANIFESTS MF Da tei dargestellt wobei diese nur auf wichtigsten Elemente reduziert wurde Die ersten beiden Zeilen stellen klar dass es sich um eine OSGi Manifest Datei handelt In den nachstehenden Zeilen werden u a Plug in Name Version Pfad und Aktivator angegeben Da in dieser Datei viele komplexe Pfade angewandt werden empfiehlt es sich f r die Umsetzung die Unterst t zung des daf r vorgesehenen Editors in Anspruch zu nehmen Gamma et al 2006 Seite 55 Grundlagen Eclipse Manifest Version 1 0 2 Bundle ManifestV
109. ist 3 jal AS Palette b tae JBT E dw0 nao WEE 3 2 ker Find gt Aly myGlobalSchema gsa um L Dimensi lt gt Vi myGlobalSchema gsa umlclass Pas Ee Uncategorized Cube Fact Lz mobilnetz L Level packages Identifying classifiers Attribute Non identifying FE Outline 8 sl Attribute 7 Dependency BE Add Not Facts eH F wenn Navigate age BS Campus ersten operations File D classes Type Edit E fitiveTy Delete from Diagra ftraint Delete from Model EE ff Problems Javadoc Declaration E Properties 3 BE D Format D E lt lt fact gt gt lt Class gt verkauf a Core propery Nous E Show Properties View Appearance UML p Classifier Behav Client Depende lt Dependency gt mobilnetz Apply Stereotype gt EE Is Abstract Afalse EC Is Active false UML Aggregations E Is Leaf UML Associations Name Er Owned Port H Powertype Exte SG Reden UML2 Dependencies Representation UML Usages Template Paran UML Realizations Use Ce UML Substitutions E Abbildung 10 3 Properties und Hinzuf gen von Stereotyp in grafischen Editor Es besteht weiters die M glichkeit das globale Schema auf richtigen Aufbau zu pr fen Um eine Pr fung durchzuf hren muss der Editor f r die UML Datei nicht der f r den grafischen Editor ge ffnet werden Dies erfolgt durch einen Doppelklick auf die uml Datei Der Editor der uml Datei stellt die Struktur der Dat
110. it t noch nicht umsetzbar Das Ecore Seite 58 Grundlagen Eclipse Model ist somit der Meta Modell Ebene zuzuordnen Die wichtigsten Bestandteile des Ecore Models der Kernel werden in folgender Grafik beschrieben EDataType EAttribute R eAttributeType EReference name string containment bool eAttributes EReferences eReferenceType Abbildung 4 4 Vereinfachte Darstellung des EMF Models basierend auf Budinsky et al 2004 S 16 Wie man in Abbildung 4 4 erkennen kann besteht der Kernel des Ecore Modells aus vier Klassen Budinsky et al 2004 S 16 e EClass Wird verwendet um die modellierte Klasse darzustellen Beim Erstellen der Klasse muss verpflichtend ein Name angegeben werden Sie kann optional Attribute und Referenzen beinhalten e EAttribute Stellt ein Attribut dar Beinhaltet einen Namen und muss einem Typ ent sprechen e EReference Repr sentiert das Ende einer Assoziation zwischen verschiedenen Klas sen Es beinhaltet einen Namen sowie einen booleschen Wert der berpr ft ob die Referenz rekursiv ist Zus tzlich wird das Zielattribut referenziert e EDataType Gibt den Datentyp eines Attributes an der sowohl primitiv als auch ein Objekt sein kann Die Architektur des Ecore Modells stellt einen Teil der UML Spezifikation dar Eine Umset zung des kompletten UML Metamodells ist in EMF noch nicht m glich 4 4 2 UML2 Framework Das UML2 Framework ist
111. itect der Ausf hrung des Abfrageprozesses vorgelagert e Zu den Kernfunktionalit ten des Global Schema Architects z hlen die Bereitstellung des Global Schemas der Import von Data Marts sowie die Ableitung der Daten aus den lokalen Data Marts f r das Metadata Dictionary Zus tzlich muss der Global Schema Architect eine SQL MDi Datei bereitstellen welche die Heterogenit t zwi schen dem importierten und dem globalen Schema berbr ckt e Durch den SQL MDi Query Parser wird die vom Global Schema Architect bereit gestellte SQL MDi Datei in eine Baumstruktur zerlegt um eine weitere Verarbeitung zu erm glichen Vor diesem Schritt wird die Struktur durch den SQL MDi Query Par ser validiert Brunneder 2008 e Die von SQL MDi Query Parser bereitgestellte Baumstruktur wird durch den SQL MDi Query Processor zu einem Abfrageplan weiterverarbeitet welcher aus ver schiedenen Teilabfragen f r die unterschiedlichen autonomen Data Marts besteht Ba sierend auf den verschiedenen Resultaten dieser Abfragen formt der SQL MDi Query Processor durch ein internes Tabellensystem ein einheitliches Ergebnis N here De tails zu diesem Arbeitsschritt k nnen in Rossgatterer 2008 nachgelesen werden Seite 75 Entwicklung des Global Schema Architects 6 3 Anforderungen In den anschlie enden Abschnitten werden die Anforderungen an den Global Schema Archi tect im Detail beschrieben 6 3 1 Funktionale Anforderungen Das Werkzeug Global Schema A
112. itung von UML Dateien aufgezeigt Eine explizite Beschreibung dieser Elemente erfolgt im weiteren Verlauf der Dip lomarbeit public static boolean checkHierarchy Level level DiagnosticChain diagnostics Map lt Object Object gt context org eclipse uml2 uml Class level_class level getBase_Class boolean result checkCircles level class level_class if result if diagnostics null diagnostics add new BasicDiagnostic Diagnostic ERROR GSAValidator DIAGNOSTIC SOURCE GSAValidator LEVEL HIEARCHY No circles are allowed in the hierarchy of le new Object level return false return true 20 private static boolean checkCircles org eclipse uml2 uml Class clazz org eclipse uml2 uml Class level class for org eclipse uml2 uml Dependency dependency clazz getClientDependencies for org eclipse uml2 uml NamedElement ne dependency getSuppliers org eclipse uml2 uml Class cl org eclipse uml2 uml Class if cl getName equals level class getName return false else return checkCircles cl level class return true Listing 7 1 Validierung der Hierarchie in einer Dimension Zusammenf gen von Profil und Modell Das Anwenden eines Profils auf ein Modell ist ein zentraler Punkt dieser Arbeit Durch diesen Arbeitsschritt werden Regeln und die Elemente des Profils auf das neue Modell tibertragen Die dafiir notwendigen A
113. l Physical Design steht die physi sche Implementierung des logischen Schemas Dabei m ssen die individuellen Einstellungen des Zielsystems inklusive jeglicher Optimierungstechniken wie z B Indexierung und Partiti onierung ber cksichtigt werden Auch OLAP spezifische Optimierung wie z B Denormali sierung kann zum Einsatz kommen H semann et al 2000 S 6 2 2 F derierte Data Warehouses Der Bedarf nach der Verbindung von DWs ergibt sich aus der Forderung Information aus mehreren heterogenen Data Marts von einer zentralen Stelle auszulesen Dies kann einerseits durch den Wunsch nach abteilungs bergreifender Information in einem Betrieb erfolgen an dererseits durch Unternehmenszusammenschl sse oder Akquisitionen Um auf die Daten un terschiedlicher Data Marts zugreifen zu k nnen muss ein bergreifendes Schema ber alle Data Marts erstellt werden Im Zuge der Erstellung des bergreifenden Schemas m ssen die Heterogenit ten zwischen den verschiedenen Data Marts wie z B W hrungsunterschiede berbr ckt werden Berger amp Schrefl 2006 Eine anschauliche Illustration f r diese Problematik ist das in 1 3 beschriebene Rahmenbei spiel dieser Arbeit Unternehmen MFA akquiriert das Unternehmen MFB MFA hat den Wunsch das DW von Unternehmen MEA zu Analysezwecken mit dem DW von Unternehmen MER zu vereinen Aufgrund der unterschiedlichen Strukturen in den Data Marts ist es nicht m glich einfache Abfragen ber beide Datenstr
114. l notwendigen Klassen Durch diese Komponente werden externe physische Datamarts die vom Global Schema Architect verlangte Struktur angepasst und importiert Die Schwie rigkeit in der Umsetzung des Import Schemas liegt in den Heuristiken welche aus den ver schiedenen Tabellen eines Data Marts ein multidimensionales Modell bzw einen Vorschlag f r ein multidimensionales Modell bilden sollen Dieser Prozess wurde in Abschnitt 6 5 1 bereits anhand eines Aktivit tsdiagramms dargestellt In diesem Kapitel wird nun auf die konkrete Umsetzung eingegangen F r diese Komponente wird ein Wizard eingesetzt der den Benutzer bei der Eingabe der not wendigen Daten zur Datenbankverbindung unterst tzt Mittels einer zweiten WizardPage wird ein bearbeitbarer Vorschlag f r die Erstellung des Import Schemas bereitgestellt demzu folge wird der Forderung der nachtr glichen Editierbarkeit nachgekommen GsalmportFile getTableData createSchema instanziert ImportSchemaWizard tables HashMap performFinish WizardPage al ImportSchemaWizardStep2Page Abbildung 7 3 Aufbau Wizard Import Schema Abbildung 7 3 zeigt den grunds tzlichen Aufbau eines Wizards am Beispiel des Import Schemas Im Zentrum steht der ImportSchemaWizard welcher durch eine oder mehrere Unterseiten WizardPages erganzt wird Bei korrekter Eingabe der Werte in der Import SchemaWizardPage wird mithilfe der Methode getTableSuggestions automa tisch ei
115. lage f r alle Metamodelle der OMG Uckat 2007 3 5 Unified Modeling Language UML UML ist eine von der OMG standardisierte Modellierungssprache Die Sprache besteht aus geometrischen Formen und Diagrammtypen Zu den Formen z hlen u a Rechtecke Pfeile und Ellipsen welche durch im dazugeh rigen Metamodell MOF vordefinierte Regeln auf aussagekr ftige Konstrukte zusammengeschlossen werden k nnen Zu den Diagrammtypen geh ren beispielsweise das Klassendiagramm und das Anwendungsfalldiagramm siehe Ab bildung 3 4 UML Modelle dienen meist als Abstraktion welche als Grundlage f r die Soft wareentwicklung oder f r die verst ndliche Aufbereitung des Codes verwendet wird Durch die grafische Aufbereitung soll dem Entwickler die M glichkeit gegeben werden aus einfa chen Gebilden eine Vielzahl an Information zu erschlie en In der UML Spezifikation finden sich 13 verschiedene Diagrammtypen welchen unterschiedlichen Aufgabenbereichen entspre chen Sch ling 2005 Grunds tzlich lassen sich die Diagrammtypen in Strukturdiagramme und Verhaltensdiag ramme unterteilen Abbildung 3 4 beschreibt die detaillierte Gliederung der verschiedenen Diagramme Strukturdiagramme konzentrieren sich auf die statischen Betrachtungsweisen eines Systems Im Gegensatz dazu stellen Verhaltensdiagramme die dynamischen meist zur Laufzeit ver nderten Aspekte dar Gruhn et al 2006 S 83 Seite 47 Grundlagen modellgetriebene Entwicklung
116. lche dieses Pro jekt betreffen sind in Abbildung 1 1 grau eingef rbt Eine detaillierte Beschreibung dieses Prozesses findet sich in 6 2 Seite 12 Einleitung OLAP SQL Mdi SQL Mdi Query Parser Metadata Dictionary Ergebnisse Abbildung 1 1 Definition des kontextuellen Zusammenhangs des Werkzeuges Neben der praktischen Entwicklung des Prototyps wird in dieser Arbeit in weiterer Folge verwandte wissenschaftliche Literatur aufgearbeitet Im Speziellen wird auf die Grundlagen von DWs sowie von f derierten DWs eingegangen um dem Leser eine fundierte Basis f r die Umsetzung zu geben Zus tzlich werden das theoretische Basiswissen zu Eclipse die von Eclipse bereitgestellten Frameworks sowie die Entwicklung von Plug ins bereitgestellt 1 2 Rahmenbeispiel Als Rahmenbeispiel f r dieses Projekt wird auch das von Brunneder 2008 und von Ross gatterer 2008 verwendete Beispiel herangezogen Dadurch wird ein Vergleich von dieser zu den beiden Arbeiten erleichtert Dies ist von Vorteil da sich die genannten Arbeiten u a mit dem SQL MDi Query Processor und Parser als auch mit der SQL MDi Sprache besch ftigten Seite 13 Einleitung Das Beispiel behandelt zwei im selben Markt tatige Mobilfunkunternehmen MFA und MFB MFB hat einen amerikanischen Mutterkonzern und wird durch MFA akquiriert Da beide Mobilfunkunternehmen zur Unterstiitzung der Entscheidungsfindung
117. liegenden Metamodell feststellen k nnen 6 3 1 2 Import von physischen und Ableiten der logischen Schemata Ziel dieser Anforderung ist es die multidimensionalen Konstrukte eines physischen DW zu identifizieren und daraus die endg ltigen Schemata abzuleiten Diese m ssen dem Global Seite 77 Entwicklung des Global Schema Architects Schema Architect zugrunde liegenden Metamodell entsprechen Die Anwendung des Meta modells soll den Vergleich mit dem globalen Schema vereinfachen Beim Import muss der Benutzer die Zugangsdaten f r die gew nschte Datenbank eingeben Diese Werte m ssen sofort validiert werden wodurch Fehlern beim Zugriff auf die Daten bank entgegen gewirkt wird Vor dem endg ltigen Import muss der Benutzer Anpassungen am Importvorschlag des Systems vornehmen k nnen Deshalb muss die Definition einer Ta belle Dimension oder Fakt anpassbar sein Zur Erleichterung des Imports wird dem Benut zer ein Assistent zur Verf gung gestellt Zus tzlich muss das erstellte Modell auch nach dem Import noch verfeinert und ausgebessert werden k nnen Dies soll mit dem grafischen Editor wie bereits in Abschnitt 6 3 1 1 be schrieben erm glicht werden 6 3 1 3 Zuordnung des lokalen Schemas zum globalen Schema Mapping Ziel dieser Anforderung ist es Konflikte zwischen dem Schema eines globalen Data Marts und dem Schema eines lokalen Data Marts zu beseitigen Die Konflikte zwischen den Data Marts werden mittels sogenan
118. ll Hierarchie basierend auf UML 2 0 DOOD EE 46 Abbildung 3 4 Diagramme Uml Gruhn et al 2006 S 18 48 Abbildung 4 1 Architektur Eclipse Distribution basierend auf Gruhn et al 2006 S 281 54 Abbildung 4 2 bersicht ber Eclipse Tools Project basierend auf Gruhn et al 2006 S 282 aaa un ee a ae rs EE 57 Abbildung 4 3 EMF vereinigt Java XML und UML basierend auf Budinsky et al 2004 KT EE 58 Abbildung 4 4 Vereinfachte Darstellung des EMF Models basierend auf Budinsky et al 2004S 16 Jinise Aa tea eas Sa Saas ashame Raa ee A ae as Va 59 Abbildung 5 1 Unified multidimensional metamodel Akoka et al 2006 S 1453 65 Seite 147 Anhang B Abbildung 5 2 Beispiel f r Unified Multidimensional Metamodel Akoka et al 2006 S TAGON see een eebe 66 Abbildung 5 3 Die drei Ebenen von multidimensionalen Modellen Lujan Mora et al 2002 EE EE 66 Abbildung 5 4 Beispiel paktetorientierter Ansatz Lujan Mora et al 2002 S 203 67 Abbildung 5 5 Metamodell des Werkzeusesi a ueseneis ne 70 Abbildung 6 1 Prototyp Aktivit ten angelehnt an Pomberger amp Pree 2004 74 Abbildung 6 2 berblick ber die Anwendungsf lle des Global Schema Architects 76 Abbildung 6 3 Beschreibung von Import und Mapping ccccecccesceeeeeesceeceeeeceeeeeeeeenaees 80 Abbildung 6 4 Systemarchitektur des Global Schema Archtects een 86 Abbildung 6 5 Funktionalit t zum Impor
119. ll nennen een 25 2 1 5 Erstellung eines Data Warehouses uuunnensenseenseeneeenneennennnesnenennenneennenne essen nennen 28 2 2 F derierte Data EE een ernsten 31 2 2 1 Verteilte Doatenboankeusgtemte nennen 32 2 2 2 F derierte Datenbanksysteme nennen 34 2 2 3 F derierte Data Barehouges nnn 36 2 2 4 Mapping zwischen Dimtemsioen 38 22S SS OLEM EE 40 2 3 Zusammenfassung neuen liessen ee 41 3 GRUNDLAGEN MODELLGETRIEBENE ENTWICKLUNG eenessnesserssesnnssnnssnnesnessersnnsnnnennennn 42 3 1 Object Management Group OMC 42 3 2 Geschichte und Ziele der Model Driven Architecture 42 33 vMetsmedelherung aussi 44 3 4 Meta Object Facility SNE 46 3 5 United Modeling Language UML Kee ere 47 3 6 Common Warehouse Metamodell CWM ccccsseceessecesscecesseecssseeceseeeeeseeeess 48 3 7 Z sammenfas EE 50 4 GRUNDLAGEN E 51 4 1 Eclipse und die Eclipse Found ation ccsccsssscssccseccesnccsenscssccssccesnassensesnnsens 51 4 1 1 Common Public License CPL und Eclipse Public License EPL 52 42 Architektur u a EES 53 4 3 Grundlagen eines Eclipse Plugins sans ae added eiaa Sis aianes 55 II 4A Eclipse Kee EE 57 4 4 1 Eclipse Modeling Framework nn na 57 454 2 AIMED REENEN ee 59 4 4 3 Graphical Editing Framework GER 61 4 3 A sammenfass ng teaser 61 UMSETZUNG DES WERKZEUGES zussssussssoesssnnsensesssonnesnnesesnnnenen O2 ERSTELLUNG DES METAMODELLS sscccccs
120. llt Der Ausdruck lt dim gt steht in diesem Zusammenhang f r einen Platzhalter der bei der Vorschau ansicht bzw beim Export wieder ersetzt wird Am Ende wird die Methode getLowerLe velSqlMdi aufgerufen Diese greift auf die in der Hierarchie untergeordneten Elemente zu und liest dort den entsprechenden SQL MDi Code aus 7 2 2 Komponente Global Mapping Das Global Mapping referenziert im Gegensatz zum Import Mapping nur das Global Schema liest jedoch beim Erstellen der Datei auch die im Projekt enthaltenen Import Seite 117 Systemimplementierung Mappings ein Dadurch kann die Anforderung alle bereits im Import Mapping vorgenomme nen Anpassungen im Global Mapping zu ber cksichtigen erf llt werden Das Global Mapping passt sich demnach den nderungen im Import Mapping an Die jeweiligen Anpas sungen werden in Form von XML Ausdr cken aus den verschieden Import Mappings einge lesen und zu einem XML Ausdruck verbunden siehe Abbildung 6 11 Der Ausdruck wird bei jedem Aufruf des Global Mappings neu geladen Ein weiterer gro er Unterschied zwischen Import Mapping und Global Mapping ergibt sich aus der fixen Anzahl der in der Mastertabelle repr sentierten Elemente beim Import Mapping Im Gegensatz dazu werden diese beim Global Mapping dynamisch erzeugt Merge Dimensi ons und Merge Cubes Dies bedeutet dass die notwendigen Daten aus den Import Mappings bei jedem Aufruf des Global Mappings aktualisiert werden
121. llt Dies bedeutet dass der endg ltige SQL MDi Ausdruck St ck f r St ck zusammengestellt wird Um eine Import Mapping Datei anzulegen muss im Kontextmen des Projekts new other Global Schema Architect Import Mapping File ausgew hlt werden In dem daraufhin erscheinenden Wizard muss der Benutzer ein Global und ein Import Schema angeben Die Auswahl unterst tzt der Wizard durch Anzeigen der im Projekt vorhandenen Schemata Nach Abschluss des Assistenten wird die Mapping Datei map erzeugt Der Editor f r Mapping Dateien besteht aus drei Bereichen welche durch die Registerkarten im linken unteren Eck ausgew hlt werden k nnen e Schema Editor Dies ist der grundlegende Editor f r eine Mapping Datei Hier k n nen die SQL MDi Ausdr cke erstellt werden e Code Darstellung des Quelltextes der Datei e Preview In dieser Ansicht wird der endg ltig erstellte SQL MDi Ausdruck des jewei ligen Mappings angezeigt Diese Darstellung dient ausschlie lich der Kontrolle Der Schema Editor teilt sich in zwei Bereiche In der linken H lfte werden alle Elemente des importierten Schemas aufgelistet In der rechten Seite werden die dazugeh rigen Details an gezeigt Diese Darstellung kann nach Belieben vertikal oder horizontal erfolgen In diesem Seite 140 Anhang A Benutzerhandbuch wird im weiteren Verlauf die horizontale Darstellung herangezogen Die Darstellung der einzelnen Elemente wird durch Symbole siehe
122. lobal Schema Mapping e Import Import Import Import Schema A Mapping A Schema B Mapping B Abbildung 10 12 Aufteilung der Mappings In Abbildung 10 12 wird die Aufteilung der Mappings dargestellt In dieser Abbildung wird ersichtlich dass nur ein Global Mapping notwendig ist Das Global Mapping verlangt bei der Erstellung New Other gt Global Schema Architect gt Global Mapping File nur die An gabe des Global Schemas die anderen notwendigen Elemente werden vom System dyna misch geladen F r das Global Mapping werden das Global Schema sowie die Import Seite 143 Anhang A Mappings herangezogen Somit werden bereits tiberwundene Schemakonflikte bei der Erstel lung des Global Mappings ber cksichtigt Das Laden der Import Mappings erfolgt somit dy namisch wodurch bei nderungen in den Import Mappings das Global Mapping nicht neu erstellt werden muss Ein weiterer gro er Unterschied besteht darin dass die Elemente der linken Seite des Editors nicht fest an ein Schema gebunden sind weshalb beliebig viele Elemente erstellt werden k n nen blicherweise werdem pro Dimension des Global Schemas eine Merge Dimensions und pro Cube eine Merge Cubes Anweisung hinzugef gt Der einzige statische Eintrag der Tabel le ist Cube Aliases womit an einer Stelle alle notwendigen Aliases Dimensionen und W r fel f r ein Schema gesetzt werden k nnen Import Mapping Editor Global Mapping Editor
123. ls Anwendungsumgebung f r das Werkzeug soll dem Benutzer das Ge f hl vermittelt werden sich in einem vertrauten Umfeld zu befinden Bei der Entwicklung des GUI muss hoher Wert auf Usability bzw Selbsterkl rungsf higkeit gelegt werden Die ver schiedenen Elemente des Plug ins sollen f r einen erfahrenen Eclipse Benutzer intuitiv an wendbar sein 6 3 2 4 Prototypischer Ansatz Die Umsetzung des Werkzeuges muss nach dem prototypischen Ansatz durchgef hrt werden siehe Abschnitt 6 1 Mithilfe des Prototypens sollen die geforderten funktionalen Anforde rungen umgesetzt und evaluiert werden k nnen F r die Umsetzung wird von relationalen Star Schemata ausgegangen In Bezug auf die Datenbanken wird demnach keine vollst ndige Systemunabh ngigkeit gew hrleistet da die Realisierung des Prototyps sich auf eine exemp larische Realisierung f r eine Auswahl von Datenbanksystemen beschr nkt hat Der Einsatz in einer Produktivumgebung ist explizit nicht Ziel dieser Diplomarbeit 6 4 Technologien und Standards In diesem Kapitel wird auf f r die Implementierung des Werkzeuges notwendige Standards und Technologien eingegangen Seite 82 Entwicklung des Global Schema Architects 6 4 1 Eclipse 3 4 In den Anforderungen wurde eine Umsetzung als Eclipse Plug in gefordert demzufolge ist Eclipse als Entwicklungsumgebung unumg nglich Eine genaue Beschreibung von Eclipse und dessen Frameworks und Technologien findet sich in Kapitel
124. ltige Anwendung muss aus dem UML Modell der not wendige Code generiert werden Hierf r wird aus dem UML Profil mithilfe eines sogenann ten genmodels der fertige Code erstellt Der genaue Vorgang wird in einem Tutorial von Bruck amp Damus 2008 ausf hrlich erl utert Bei der Definition eines UML Profils ist das Setzen von Constraints m glich Mithilfe dieser Constraints k nnen im Nachhinein Modelle hinsichtlich des korrekten Aufbaus berpr ft werden Constraints werden in der Object Constraint Language OCL spezifiziert Mitthilfe dieser Notation k nnen die anzuwendenden Regeln beschrieben werden Die gesetzten Cons traints werden folgend textuell als auch mit der OCL Notation beschrieben Seite 100 Systemimplementierung Wiirfel Cube check_has_adequate_subelements In jeden W rfel d rfen nur Dimensionen Fakten oder Abh ngigkeiten angef hrt wer den self nestingPackage gt size 0 self nestedPackage gt forAll oclIsTypeOf Dimension self contents gt forAll oclIsTypeOf Fact or oclIsKin dof Dependency Dimension check_has_levels In Dimensionspaketen d rfen nur Aggregationsebenen Levels enthalten sein self contents gt forAll oclIsTypeOf Level Dimension check_no_dependencies Es werden keine Abhangigkeiten zwischen Dimensionen erlaubt self clientDependency gt size 0 Fakt Fact check_dependencies Alle von einem Fakt ausgehenden Abh ngigkeiten m sse
125. mmen zu k nnen Genau an dieser Problematik setzt EMF an Durch EMF k nnen die verschiedenen Datenmodelle auf eine geordnete Abbildung zusammengefasst werden Abbildung 4 3 illustriert den zentralen Charakter des EMF Budinsky et al 2004 S 9ff XML UML NS EMF s Modell i Java Abbildung 4 3 EMF vereinigt Java XML und UML basierend auf Budinsky et al 2004 S 12 Ein EMF Modell kann auf verschiedene Arten erstellt werden So besteht z B die M glich keit ein UML Diagramm zu zeichnen und daraus das EMF Modell zu generieren Die Gene rierung von Elementen ist ein zentrales Thema des EMF Aus einem generierten EMF Modell kann auch XML und Java Code erzeugt werden F r den Entwickler ergibt sich dadurch der Vorteil dass er das Datenmodell nur einmal erstellen muss und den Rest daraus generieren kann Speziell bei nachtr glichen nderungen ist dies von gro em Vorteil da diese automati siert in die verschiedenen Repr sentationen bernommen werden k nnen EMF steht somit zwischen den Anwendern und den Gegner der MDA siehe Abschnitt 3 2 Es wird versucht die Vorteile aus beiden Welten zu vereinen und so ein m glichst umfassen des Framework zur Erstellung von Anwendungen zu geben Das Ecore Model Mithilfe des Ecore Models werden die EMF Modelle beschrieben Das Ecore Model kann als eine Implementierung des EMOF siehe Abschnitt 3 4 betrachtet werden Eine Implementie rung des CMOF ist aufgrund der hohen Komplex
126. muss die Wartung der Metadaten nur noch an einem zentralen Punkt vorgenom men werden Um eine Kompatibilit t mit dem CWM zu erreichen erfordert es hohe Investi tionen am Anfang der Entwicklung jedoch sollte das Return of Investment ROI schon nach den ersten Integrationen und Anbindungen von weiteren Produkten erreicht werden Chang et al 2002 S 1ff Das CWM gliedert sich in 21 unterschiedliche Pakete welche aus Klassen Assoziationen und Constraints bestehen und sich jeweils mit einem Teilgebiet des DWs auseinander setzen Die Pakete verteilen sich auf f nf auf einander aufbauende Schichten Chang et al 2002 S 26ff e Object Model Bildet die unterste Ebene des CWM und stellt die fundamentalen Konzepte Verbindungen und Einschr nkungen bereit Das Object Model stellt eine Teilmenge der UML Spezifikation dar Die Klassen und Assoziationen des CWM referenzieren in der Mehrheit der F lle direkt die Klassen und Assoziati onen der UML e Foundation Unterscheidet sich vom Object Model dadurch dass die zur Ver f gung gestellten Services speziell f r das CWM entwickelt worden sind Zu den Services geh ren Funktionalit ten welche f r den Einsatz in einem DW notwendig sind wie z B Indexierung Mapping oder Datentypen Seite 49 Grundlagen modellgetriebene Entwicklung e Resource Beschreibt die Struktur von Datenressourcen welche als Ziel oder Ausgangspunkt eines auf CWM basierenden Austauschs fungieren e Analysis
127. n Vorschlag f r die endg ltige Generierung des Schemas gegeben wozu in weiterer Folge in der Klasse GsaIlmportFile die Methode getTableData aufgerufen wird Seite 106 Systemimplementierung Dieser Vorschlag wird in Form einer Hash Map im Import SchemaWizard abgespeichert Der Benutzer hat danach die Option das Ergebnis zu editieren wof r die Import Schema WizardStep2Page verwendet werden kann Sollte eine Anderung vorgenommen werden wird diese vom ImportSchemaWizard direkt in der Hash Map abgespeichert Bei Beenden des Wizards wird automatisch die performFinish Methode aufgerufen welche auf die GsalmportFile Klasse zugreift und daraufhin den Importvorgang einleitet Als Basis f r diesen Vorgang wird wiederum die Hash Map aus dem ImportSchemaWi zard verwendet 1 public Hash Map lt String String gt getTableData 2 int state 0 if checkDbConnection return null myTables new Hash Map lt String String gt if conn null DatabaseMetaData metadata try metadata conn getMetaData ResultSet tables metadata getTables null dbds getSchema new String TABLE while tables next String tablename tables getString TABLE NAME ResultSet foreignKeys metadata getExportedKeys null dbds getSchema tablename Dimension while foreignKeys next String fkName foreignKeys getString FKCOLUMN NAME myTables put tablename DIMENSION ResultSet foreignKe
128. n angezeigt Seite 145 Anhang A 10 1 2 7 Symbole und Schaltflachen Im Global Schema Architect werden Symbole zur Darstellung von Elemente eingesetzt In folgender Tabelle werden die verschiedenen Symbole sowie deren Verwendungszweck nochmals zusammengefasst Symbol Verwendungszweck Darstellung eines W rfels engl Cube ke Darstellung einer Dimension engl Dimension L Darstellung einer Aggregationsebene engl Level SS Darstellung eines Fakts engl Fact Darstellung einer Kenngr e engl Measure je Allgemeines Symbol fiir Global Schema Architect LEFT Erzeugen einer neuen Datei pid Export der Metadaten ge Erzeugen und Exportieren von Mappings Tabelle 10 1 Verwendungszweck von Symbolen 10 1 3 Zusammenfassung Im Benutzerhandbuch wird die Installation des Global Schema Architects ausf hrlich be schrieben Darauffolgend wurden die verschiedenen Anwendungsm glichkeiten im Detail aufgezeigt Um eine m glichst einfache Erkl rung zum besseren Verst ndnis bereitzustellen wurden Screenshots und Aktivit tsdiagramme eingesetzt Es wurde auf eine genaue Beschreibung der verschiedenen SQL MDi Elemente verzichtet da f r diese ein Grundwissen der SQL MDi notwendig ist F r die Beschreibung dieser Techno logie wird auf Berger amp Schrefl 2006 verwiesen Durch den intuitiven Aufbau der Mapping Editoren ist die Anwendung dieses Wissens einfach anwendbar Schlussendlich wurden die wic
129. n anhand ihrer Grundgedanken bzw die Einsatzgebiete beschrieben Die technologischen Eigenschaften der jeweiligen Frameworks werden in Kapitel 6 Entwick lung des Global Schema Architect dezidiert beschrieben Seite 61 II Umsetzung des Werkzeuges Erstellung des Metamodells Seite 63 Entwicklung des Global Schema Architects Seite 73 Systemimplementierung Seite 98 Seite 62 Erstellung des Metamodells 5 Erstellung des Metamodells Grundlage fiir die Umsetzung des Werkzeuges ist ein Metamodell auf welchem basierend in Eclipse ein EMF Modell umgesetzt wird Ein Metamodell erm glicht es die unterschiedlichen lokalen Data Mart Schemata einheitlich zu Repr sentieren Darauf aufbauend k nnen die Da ta Marts strukturiert miteinander verglichen werden Zu Beginn werden die Anforderungen an das Metamodell besprochen In weiterer Folge werden andere Metamodelle mit hnlichen Zielen verglichen und darauf aufbauend wird schlussendlich das verwendete Metamodell ers tellt 5 1 Grundlegende Anforderungen an das Metamodell Data Marts werden durch das multidimensionale Datenmodell dargestellt In einem f derier ten DW System m ssen Data Marts aus verschiedenen Quellen einheitlich abgebildet werden um einen Vergleich zu erm glichen Aus diesem Grund ist die Erstellung eines einheitlichen Metamodells notwendig Das Metamodell bildet in weiterer Folge die Grundlage f r die Um setzung der Schemata in der Implementierung des Plug ins Folg
130. n auf eine Dimension gerich tet sein Es muss mindestens auf eine Dimension verwiesen werden self clientDependency gt size gt 1 self clientDependecy gt forAll supplier gt forAll oclIsTypeOf Dimension Aggregationsebene Level check_hierachy Rekursive Abh ngigkeiten zwischen den Aggregationsebenen einer Dimension sind nicht erlaubt not self allSuppliers gt includes self Aggregationsebene Level check_dependencies Es d rfen nur Abh ngigkeiten zwischen den Aggregationsebenen erstellt werden self clientDependency gt forAll supplier gt forAll oclIsTypeOf Level Seite 101 Systemimplementierung e Aggregationsebene Level check_one_identifying_attribute F r jede Aggregationsebene darf nur ein Attribut als identifizierendes Attribut denti fying Attribute definiert werden Self ownedAttribute gt select oclIsTypeOf IdentifyingAttribute gt size 1 Der aus dem UML Profil siehe Abbildung 7 1 generierte Code wird automatisch in vier verschiedene Pakete unterteilt wobei der Benutzer eigene Benennungen vergeben kann e org eclipse uml gsa gsa e org eclipse uml gsa gsa internal impl e org eclipse uml gsa gsa internal operations e org eclipse uml gsa gsa util Der Entwickler kann diese Pakete als fertig und endg ltig ansehen Im Generellen ist das nachtr gliche Editieren von generiertem Code nicht empfehlenswert da dieser bei einer er neuten Gene
131. n durch UML definiert Ebene 3 Der Zusammenhang zwischen den unterschiedlichen Abstraktionsebenen wird in dieser Abbildung durch die Verbergungshierar chien lt lt instanceOf gt gt dargestellt Die in UML verwendeten Konstrukte basieren wiede rum auf den in MOF beschriebenen Regeln 3 4 Meta Object Facility 2 MOF Die Meta Object Facility 2 MOF spezifiziert ein gemeinsames Meta Metamodell aller Mo dellierungsprachen der OMG Demnach muss es der Ebene 3 der Abbildung 3 2 zugeordnet werden Durch die zentrale Verwendung stellt MOF den Kernbereich der MDA von OMG dar Durch MOF werden Sprachen definiert und erweitert Zu den bedeutendsten MOF kon formen Modellierungsprachen z hlen UML siehe Abschnitt 3 5 und das Common Warehou Seite 46 Grundlagen modellgetriebene Entwicklung se Metamodel siehe Abschnitt 3 6 Zus tzlich wird eine automatisierte metamodellorientiere Transformation unterst tzt MOF 2 basiert auf dem sogenannten Core Paket der UML Infrastructure welches die essen tiellen Bauelemente wie Klassen Attribute Assoziationen etc enth lt MOF gliedert sich in die zwei Hauptbestandteile Essential MOF EMOF und Complete MOF CMOF EMOF enth lt die Basisfunktionalit ten von MOF und ist aufgrund der bersichtlichen Anzahl an Metamodellen leicht verst ndlich Dar berhinaus ist es f r die Deklaration einfacher Meta modelle ausreichend CMOF ist eine komplette Beschreibung des MOF Modells und ist die Grund
132. nalen Attributs und e Umbenennung von Dimensionsinstanzen Der MERGE CUBES Block wird pro W rfel einmal ben tigt und ist daf r zust ndig alle Elemente zusammenzuf hren und dadurch den endg ltigen virtuellen W rfel zu erzeugen e Aggregation von berlappenden Fakten e Uberlappende Fakten mit einer Kontextdimension erweitern und e Handhabung von disjunkten Fakten 2 3 Zusammenfassung In diesem Kapitel wurden die grundlegenden theoretischen Konzepte zur Umsetzung des Werkzeuges aufgearbeitet Hierbei wurde im Speziellen eine Einf hrung in DWs allgemein als auch in f derierte DWs gegeben Im Zentrum eines DWs steht das multidimensionale Datenmodell welches grundlegend aus W rfel Fakt Dimension Kenngr e und Aggregationsstufe besteht Weiters m ssen f r die Erstellung eines DW die Phasen Anforderungsanalyse konzeptueller Entwurf logischer Ent wurf und physischer Entwurf durchlaufen werden Zum Verst ndnis f derierter DWs sind grundlegende Konzepte aus dem Bereich verteilter und f derierter Datenbanksysteme hilfreich Zu diesem Thema wurden eine Einf hrung sowie eine Definition der wichtigsten Begriffe gegeben Nach Beschreibung des f derierten Data Warehouses an sich wurde in weiter Folge die Problematik der Heterogenit ten in verschie denen Data Marts erl utert und schlussendlich der praktische L sungsansatz SQL MDi vor gestellt Seite 41 Grundlagen modellgetriebene Entwicklung 3 G
133. nalytisches Informationssystem Chamoni amp Gluchowsk 1998 S 11 Operative Informations systeme Wie Abbildung 2 1 zeigt erm glicht ein analytisches System bzw ein DW auch abteilungs bergreifende Abfragen ber verschiedene operative Datenbanken Ein DW fasst demzufolge in der Regel mehrere operative Datenbanken zusammen und ist f r analytische Abfragen op timiert Besonders f r die Benutzer stellt dies viele M glichkeiten bereit f r die es jedoch oft notwendig ist ber den sprichw rtlichen Tellerrand zu blicken So bietet ein DW dem Mana ger z B die M glichkeit Abfragen ber mehrere betriebliche Bereiche zu stellen und dadurch Information die zuvor unerreichbar schien zu akquirieren Gardner 1998 S 54ff Definition 2 1 Ein analytisches System definiert sich als Datenbank mit dem Ziel Informati onen aus aufw ndigen Lesetransaktionen welche sich aus komplexen Abfragen ergeben zu erhalten In der Regel besteht ein analytisches System aus einem Zusammenschluss von ver schiedenen operativen Datenbanken Bauer amp G nzel 2004 S 8 2 1 1 Abgrenzung des Begriffs Data Warehousing Definition 2 2 Ein Data Warehouse wird als eine fachorientierte integrierte nicht fl chtige und historische Ansammlung von Daten zur Unterst tzung von Gesch ftsentscheidungen an gesehen Speziell gilt es hervor zu heben dass das DW ausschlie lich analytischen Charakter hat und losgel st von den operativen Datenb
134. nd auf Berger amp Schrett 2006 2 2 4 Mapping zwischen Dimensionen Ein spezielles Augenmerk beim Abbilden von den Importschemata auf das globale Schema ist das Mapping von heterogenen Dimensionen Ein anschauliches Beispiel f r Schwierigkeiten beim Abgleich von Dimensionen wird in Abbildung 2 10 dargestellt Seite 38 Foderierte Data Warehouses L sun ee state zone o regon me area city bieten province district 0 Store Location Dimension d1 Dimension d2 Abbildung 2 10 Mapping zwischen zwei Dimensionen Torlone 2008 S 77 Voraussetzung f r das Abbilden einer Dimension auf die andere ist dass nur Aggregati onsstufen herangezogen werden welche bei beiden Dimensionen vorhanden sind Zu den Schwierigkeiten im oberen Beispiel z hlt z B dass im Store d1 die Aggregationsebene district vorhanden ist welche in Location d2 nicht vorhanden ist Dieses Problem k nnte durch das Ausblenden dieser Aggregationsebene gel st werden Das Ausblenden ist m glich da sich aus den Abh ngigkeiten store district und district city transitiv store city ableiten l sst Die Zusatzinformation Aggregationsebene district geht demnach verloren Tor lone 2008 S 76f Wichtig ist dass die Aggregationsebenen eine inhaltliche Ahnlichkeit aufweisen bzw inhalt liche Differenzen automatisiert beseitigt werden k nnen Ein Beispiel f r eine solche Proble matik w re der Versuch ein amerikanische
135. nd nicht identi fizierende Attribute unterteilen In diesem Punkt ergibt sich ein weiterer Unterschied zum Modell von Luj n Mora et al 2002 in welchem diese Attribute nicht ber ck sichtigt werden Im Gegensatz zu den anderen Ans tzen muss beim GSA Metamodell aufgrund vorgegebener Einschr nkungen von Eclipse bei der Modellierung auf die Wiederverwendbarkeit von Di mensionen verzichtet werden da der von Eclipse vorgegebene grafische Editor diese Funk tionalit t nicht unterst tzt Seite 71 Erstellung des Metamodells 5 4 Zusammenfassung Die Notwendigkeit eines Metamodells ergibt sich aus der geforderten Verkn pfung von Data Marts aus verschiedenen Datenquellen Um die Data Marts vergleichen zu k nnen und darauf aufbauend Mappings zu erstellen m ssen einheitliche Regeln und Konzepte festgelegt wer den Zu Beginn werden die an das Metamodell gestellten Anforderungen beschrieben Hierzu z h len vor allem Kompatibilit t und bersichtlichkeit des Modells In weiterer Folge werden bereits bestehende Ans tze zur Erstellung eines Metamodells f r DWs beschrieben und ver glichen Aufbauend auf den Resultaten der Evaluierung der DW Metamodelle wurde schlussendlich ein neues Metamodell das GSA Metamodell erstellt F r die Erstellung wurden einzelne Elemente der Ans tze der anderen DW Metamodelle herangezogen Seite 72 Entwicklung des Global Schema Architects 6 Entwicklung des Global Schema Architect
136. nen angeben welche auf das globale Schema zugeordnet werden sollen Durch den Editor erh lt der Benutzer einen Vor schlag ber die vorhandenen Dimensionen So kann etwa Tippfehlern und anderen Eingabe fehlern vorgebeugt werden Nach Auswahl des Benutzers werden die ausgew hlten Dimen sionen vom System gespeichert Beim Erstellen eines Import Mappings liest die getElements Methode der Master ContentProvider Klasse welche eine private Klasse der ScrolledPropertiesB lock Klasse ist alle Elemente aus dem Import Schema ein und erzeugt die passenden Ein tr ge in der Detail Tabelle Die jeweilige Detailklasse wird mit dem ersten Aufruf von einem der Elemente der Mastertabelle erzeugt Die Erstellung eines Vorschlags f r auf das Global Schema zuordenbare Dimensionen erfolgt durch die Methode handleBrowseReferenceDimensions die in der Klasse Ty peCube die Methode getOwnedElements aufruft Daraufhin wird wiederum die zent rale Methode getDWElements mit dem Parameter Gsa Dimension aufgerufen Ab bildung 7 6 stellt den Zusammenhang der Methoden anhand eines UML Klassendiagramms dar Seite 115 Systemimplementierung getDWElements AN NamedElementBase TypeCubeDetailsPage TypeCube handleBrowseRefernceDimensions getOwnedDimensions Abbildung 7 6 Auslesen der vorhandenen Dimensionen Die ausgew hlten Dimensionen werden in der Tabelle dimensionsTable zwischenge speichert A
137. ng einer als Paket repr sentierten Dimension wird z B die Klasse PackageCreateCommand durch die Klasse PackageEdiptPart aufgerufen Seite 111 Systemimplementierung 7 2 Mapping Komponenten Die Mapping Komponenten erstellen die f r die Ausf hrung des SQL MDi Query Processors als Eingabe dienende SQL MDi Datei Der Aufbau der Mapping Komponenten orientiert sich an der in Abschnitt 6 5 1 beschrieben Architektur Um dem Benutzer eine m glichst einfache Bedienung zu erm glichen wurde der Mapping Editor erstellt Die Mapping Editoren f r das Import als auch das Global Mapping verwenden dasselbe Grundger st Darum wird zu Be ginn auf den grundlegenden Aufbau der Mapping Editoren und in weiterer Folge auf die spe ziellen Eigenheiten der einzelnen Komponenten eingegangen Der Mapping Editor teilt sich in mehrere Unterseiten womit dem Benutzer ein h chstm gli cher Komfort geboten wird Durch unterschiedliche Editorseiten sind mehrere Sichtweisen auf die gleiche Problematik m glich Die Editoren gliedern sich in drei Unterseiten e Schema Editor Dies ist die Standardseite des Editors und f r den Gro teil der An wendungsf lle die ad quate Ansicht Sie erm glicht es dem Benutzer die gew nschten nderungen vorzunehmen e Code Diese Seite gibt dem Benutzer die M glichkeit den Quelltext des Mappings di rekt zu bearbeiten Dies ist jedoch nur f r Experten zu empfehlen e Preview Diese Ansicht gibt dem Benutzer einen
138. nktionalen Anforderungen f r den Erfolg eines Projekts entscheidend und m ssen daher auch klar definiert werden 6 3 2 1 Plattform und Programmiersprache F r die Umsetzung bzw sp tere Integration des Werkzeuges als Plug in wird die weit ver breitete Rich Client Plattform Eclipse siehe Kapitel 4 eingesetzt werden Bei der Entwicklung des Plug ins m ssen die von Eclipse vorgegeben Standards und Frame works verwendet werden In diesem Projekt werden im Speziellen der Einsatz des Eclipse UML2 Frameworks des Eclipse Modeling Frameworks EMF und des Graphical Editor Frameworks GEF gefordert Eclipse Tools 2008 Eine genaue Beschreibung der Eclipse Plattform als auch der dazugeh rigen Frameworks findet sich in Kapitel 4 Seite 81 Entwicklung des Global Schema Architects 6 3 2 2 Verst ndlichkeit und Standards Der Einsatz von Standards erh ht die Verst ndlichkeit und gibt dem Benutzer das Gef hl mit bereits bekannten Technologien zu arbeiten In diesem Projekt kommen CWM siehe Ab schnitt 3 6 als Grundlage des Metamodells sowie UML siehe Abschnitt 3 5 als Modellie rungssprache zum Einsatz Speziell UML kann als weit verbreitetes und von der OMG emp fohlenes Werkzeug zur Modellierung einen hohen Wiedererkennungswert bei den Benutzern erwirken Gruhn et al 2006 S 282 6 3 2 3 Benutzerfreundlichkeit Es wird ausdr cklich ein Schwerpunkt auf die Bedienung des Werkzeuges gelegt Durch den Einsatz von Eclipse a
139. nnen Er dient dem System und Komponenten entwurf e Evolution res Prototyping Ziel eines evolution ren Prototypens ist eine inkremen telle Systementwicklung die eine schrittweise Ann herung an die gestellten Benutzer anforderungen erlaubt Obwohl zwischen Produkt und Prototyp kaum Unterschiede festzustellen sind werden fr he Versionen aufgrund ihrer geringen Reife als Prototy pen bezeichnet Seite 73 Entwicklung des Global Schema Architects F r die Erstellung des Global Schema Architects wurde ein evolution re Prototyp herangezo gen Das Prozessmodell des Prototypen gliedert sich in Anlehnung das bekannte Wasserfall modell siehe Pomberger amp Pree 2004 in folgende Phasen Problemanalyse Systemspezifi kation Entwurf Implementierung Systemtest Betrieb und Wartung Im Gegensatz zum Was serfallmodell gibt es jedoch mehrere Entwicklungszyklen infolgedessen werden die genann ten Phasen iterativ mehrmals durchlaufen Abbildung 6 1stellt den iterativen Ablauf der Ent wicklungszyklen grafisch dar Ein evolution rer Prototyp wird solange verbessert bis er die vertraglich spezifizierte Qualit t erreicht hat Diese kann im Zuge des Entwicklungsprozesses in Hinsicht auf neue Anforde rungen z B technische Abweichungen variieren Im Gegensatz zu den anderen Arten von Prototypen wird dieser niemals verworfen infolgedessen handelt es sich um einen wieder verwendbaren Prototypen Prototyp spezifizeren Prototyp her
140. nsion Repository vorhanden sein Nachfolgend werden die notwendigen Schritte zur Installation des Global Schema Architects angef hrt Die Skripten f r die Anwendung in der Datenbank be finden sich im Order db scripts der Distribution des Global Schema Architects 1 Stellen Sie sicher dass zumindest die Java Version 1 6 auf Ihrem System installiert ist 2 Kopieren Sie den Ordner Eclipse von der CD in einen beliebigen Ordner auf Ihrem System F r die Anwendung des sich auf der CD befindenden Programms muss Win dows als Betriebssystem eingesetzt werden Die Plug ins k nnen auch in Eclipse Versionen anderer Systeme angewendet werden In diesem Ordner ist Eclipse samt al len Plug ins enthalten dadurch ergibt sich der hohe Platzbedarf von ber 500 Megaby te 3 Erstellen Sie die Data Warehouses f r die zwei Mobilfunkunternehmen Dazu legen sie im MS SQL Server 2005 die Datenbanken dw und dw2 an 4 F hren Sie daraufhin die Dateien createDW du sol bzw createDW_dw2 sql in den entsprechenden Datenbanken aus Seite 131 Anhang A 5 Bef llen Sie die Datenbanken dw und dw2 mittels der Datenbankskripten in sertDW Dwl sgl und insertDW_dw2 sql 6 Erstellen Sie die Datenbank zum Speichern der Metadaten Hierzu legen Sie eine Da tenbank mit dem Namen OLAP Repository an 7 Zum Erstellen der Struktur f hren Sie das createMetadataDictionary sgl Skript in der OLAP Repository Datenbank aus 8 Stellen Sie sicher dass Sie Zugang
141. nstellun gen der Detailseite F r jedes Detailelement muss eine Struktur f r die Speicherung der Daten definiert werden e generateSqlMdiText Aufgrund der eingegeben Daten muss jede Detailseite den SQL MDi Code erzeugen k nnen der sp ter in der Vorschau und im endg ltigen Dokument angezeigt wird In Ausnahmef llen kann auf eine Implementierung dieser Methode verzichtet werden z B wenn das bergeordnete Element auch den Ausdruck des untergeordneten Elements erzeugt Seite 114 Systemimplementierung e update Durch den Aufruf einer einzelnen Methode m ssen die einzelnen Ele mente einer Detailansicht aktualisierbar sein In dieser Methode muss demnach die ganze Detailseite neu geladen werden k nnen Durch die Einf hrung der beschriebenen Methoden ist eine automatisierte Abarbeitung aller Detailseiten m glich Ein konkretes Beispiel hierzu wird in Abschnitt 7 2 1 gegeben 7 2 1 Komponente Import Mapping Zur Erstellung des Import Mappings werden das Global Schema und das Import Schema he rangezogen Das Import Schema wird als Basis f r das Import Mapping vorgegeben Im Ge gensatz dazu wird das Global Schema zum Erstellen von Vorschl gen bei der Erstellung der Mappings herangezogen Die Erstellung eines Vorschlags wird folgend beispielhaft dargestellt Aufbauend auf das Rahmenbeispiel will der Benutzer den W rfel MFA siehe Abbildung 1 2 dem globalen W rfel zuordnen Dazu muss der Benutzer u a die Dimensio
142. nt dass durch den Import nur eine bedingte Genauigkeit erreicht werden kann So k nnen z B von einem Star Schema keine Hierarchien ausgelesen werden Die Hierarchien m ssen im n ch sten Schritt durch den grafischen Editor vom Benutzer hinzugef gt werden O Name Grundgeb hr O Bezeichnung eenas O Grundgeb hr Tarif O Tarif Name O svnr svnr Kunde Kunde Verkauf O Mobilnetz Verkauf Dauer Dauer A Se e a rh Einwahlgeb hr Gett Telefonie gt Einwahlgeb hr Benutzerinteraktion durch Umsatz_Telefonie Bezeichnun u Bezeichnung Einsatz des grafischen Editors Umsatz_Sonstiges j Mobilnetz il Mobilnetz Mobilnetz Datum_std Datum_std oO Datum O Monat Datum Jah O E Monat Datum Jahr Datum Vorschlag durch Importprozess endg ltige Version des Benutzers Abbildung 10 6 Importprozess Die durchzuf hrenden Benutzerinteraktionen zum Erlangen des Vorschlages des Importpro zesses werden im folgenden UML Aktivit tsdiagramm dargestellt Dabei werden die Aktivi t ten des Benutzers sowie die Zust nde des Systems angezeigt In dieser Abbildung wird die Option des nachtr glichen Ausbesserns des Vorschlages explizit hervorgehoben Datenbankverbindung geladen Diagramm erstellt Wizard beenden Datenbankverbindung geladen eo Aufruf Import Wizard Li Eingabe von validen Zugangsdaten Wizard geladen Anpassungen vo
143. nter Mappings berbr ckt Dabei handelt es sich um eine Ab folge von Operatoren der Fact Algebra bzw der Dimension Algebra siehe Berger amp Schrefl 2008 welche im Global Schema Architect von der multidimensionalen Abfragesprache SQL MDi ausgedr ckt werden Zum Beseitigen der Konflikte zwischen lokalen und globalen Schema muss dem Benutzer ein Assistent bereitgestellt werden der die Erstellung der Mappings unterst tzt Der Mapping Assistent zeigt f r jedes Mapping Konstrukt kontextsensitiv nur jeweils die anwendbaren Operatoren an Aus den verschiedenen Einstellungen im Mapping Assistent erstellt der Glo bal Schema Architect automatisch die entsprechenden SQL MDi Ausdr cke Die Erstellung des Mappings erfolgt inkrementell So werden die Einstellungen im Mapping Assistenten Schritt f r Schritt durchgef hrt Eine all at once L sung ist dezidiert nicht ge fordert Seite 78 Entwicklung des Global Schema Architects Es werden zwei Arten von Mappings unterschieden Mit dem Import Mapping k nnen Konflikte auf Schemaebene aufgel st werden Zum Aufl sen der Konflikte werden un re Operatoren eingesetzt Das Import Mapping verwendet das Import Schema als Basis demnach werden die Heterogenit ten aus Sicht des Import Schemas zum Global Schema beseitigt Die Elemente des Import Schemas bilden somit die Komponenten des Mapping Assistenten Bei der Erstellung eines Mappings kann demzufolge von den Elementen eine
144. ntnommen wer den Extract Daraufhin werden diese Daten bereinigt und in die richtige Form f r die Spei cherung in ein DW gebracht Transform Schlussendlich m ssen die bereinigten und trans formierten Daten noch in ein DW gespeichert bzw geladen werden Load Die Vereinigung der drei genannten Arbeitsschritte wird in der Fachliteratur meist als ETL Prozess bezeichnet Chaudhury amp Dayal 1997 S 2ff Zuz glich zum zentralen DW werden oftmals auch Data Marts bereitgestellt um Information besser auf spezielle Benutzerbed rfnisse abstimmen zu k nnen Definition 2 4 Data Marts sind kleinere multidimensional modellierte und auswertungsori entierte Einheiten des DW und werden in der Regel f r die Anwendung in einzelnen Ge sch ftszweigen bereitgestellt um eine bersichtlichere Gestaltung und schnellere Abfragen zu erm glichen Heinrich et al 2004 S 164 Seite 24 Foderierte Data Warehouses Die Daten eines DWs werden in einem oder mehreren DW Servern gespeichert welche ver schiedene Sichten f r die Anwendung in Front End Werkzeugen auf die Daten bereitstellen k nnen Die Implementierung kann grunds tzlich auf zwei verschiedene Weisen erfolgen e Durch relationale OLAP Server ROLAP Dies bedeutet dass durch die Spei cherung der Daten in relationale Datenbanken SQL als Abfragesprache unter st tzt wird Die Server unterst tzen oftmals auch Erweiterungen zu SQL e Durch multidimensionale OLAP Server MOLAP we
145. ogenannten Dependencies dargestellt Eine Verbin dung zwischen zwei Star Schemas zeigt an dass zumindest eine Dimension geteilt wird Eine Verkn pfung kann deshalb nur aus Abh ngigkeiten der im Schema bein halteten Elemente erfolgen e Ebene 2 Diese Ebene stellt Dimensionen als auch Fakten und bergreifenden Bezie hungen dar Die Darstellung sowohl der Dimensionen als auch der Fakten erfolgt ber die UML Darstellung eines Pakets Bei Verbindungen zwischen Dimensionen wird davon ausgegangen dass zumindest eine Ebene in beiden W rfeln vorkommt e Ebene 3 Die genaue Struktur der Dimensionen und Fakten wird in Form von Klassen detailliert dargestellt Fakten werden durch einzelne Attribute und Dimensionen durch eine Hierarchie von Attributen repr sentiert In der Repr sentation von Fakten sind daher keine Verbindungen zwischen den einzelnen Attributen gegeben Lujan Mora et al 2002 S 204 Dieses DW Metamodell beschr nkt sich auf die Teilung in drei verschiedene Modellebenen Zufolge des Autors sind zu tiefe Hierarchien verwirrend und in diesem Beispiel nicht notwen dig Luj n Mora et al 2002 S 204 Zusammenfassend liefert dieses Modell eine einfache Variante um komplexe Modelle in leichter lesbare Einzelteile zu spalten Folgende Abbildung hebt die St rke des Metamodells heraus Die Aufteilung des gesamten Modells in einzelne Elemente erm glicht dem Leser das Modell Schritt f r Schritt und somit einfacher aufzufassen
146. onary erstellt Denson Repost ersten K SS Repository erstellt Hashmap Hashmap Metadata Dicitonary Dimension Repository Abbildung 6 12 Aktivit tsdiagramm Export von Metadaten Elemente hinzugef gt Seite 95 Entwicklung des Global Schema Architects In Abbildung 6 12 wird der Prozess des Exports von Metadaten anhand eines Aktivitatsdiag ramms dargestellt Im Diagramm werden besonders die unterschiedlichen Hash Maps zur Speicherung der Elemente in den Metadata Dictionary bzw im Dimension Repository her vorgehoben Es wird explizit dargestellt dass die Elemente des Global Schemas im Metadata Dictionary und im Dimension Repository gespeichert werden m ssen Export SQL MDi Wizard Das Resultat des Export SOL MDi Wizards ist eine SQL MDi Datei die daraufhin beim SQL MDi Query Parser als Eingabe verwendet werden kann e Import Mapping Dateien laden Global Mapping Dateien laden gt lt Be Mappingatei validieren Datei gefunden Datei gefunden SQL MDi Fragmente auslesen PALMDI Fragmerite auslesen 3 pas ZS negativ Mappingatei erzeugen Mappingdatei erzeugt Fragmente ausgelesen Fragmente SE log Datei erzeugen SQL MDi Fragmente in Liste ablegen SQL MDi Fragmente in Liste ablegen log Datei erzeugtt in Liste abgelegt RE NS A a SEN V L SN SQL MDi Fragmentliste
147. onente Global Schema Das Global Schema wird entweder als leeres Modell erzeugt oder aus einem existierenden Import Schema dupliziert Zus tzlich werden vom Benutzer bei der Erstellung des Global Schemas die notwendigen Daten zur Verbindung zum Dimension Repository verlangt Die Weiterverarbeitung der Kopie oder des leeren Modells erfolgt mit dem grafischen Editor oder direkt am Modell Um ein leeres Global Schema zu erstellen wird durch den GsaBlankWizard die Klasse GsaBlankFile aufgerufen die ein leeres Modell auf das bereits das Profil des GSA Metamodells angewandt wurde siehe Abschnitt 7 1 1 erzeugt Die vom Benutzer eingege benen Daten zur Speicherung des Global Schemas k nnen optional durch die Methode checkDbConnection vom Benutzer berpr ft werden Der GsaFromImportSchemaWizard erzeugt die Klasse CopyImportFile Diese Klasse erstellt eine Kopie eines importieren Schemas Beim Kopieren der Datei werden die Verbindungsdaten des Import Schemas durch die vom Benutzer eingegebenen Daten ber schrieben Eine Kopie eines Schemas erfolgt ber das Duplizieren aller beinhaltenden Ele mente Um dies zu erm glichen wurde die Methode duplicatePackage eingef hrt Diese kopiert ausgehend vom Wurzelpaket des Import Schemas alle Elemente Um s mtliche Ebenen des Metamodells abzudecken wird diese Methode rekursiv aufgerufen Sollte z B Seite 108 Systemimplementierung das Wurzelpaket ein weiteres Unterpaket enthalten wir
148. ort Mappings ist im Gegensatz keine M glichkeit zum dynamischen Anlegen von Detailelementen gegeben Seite 144 Anhang A 10 1 2 5 Export der SQL MDi Datei Der Export der SQL MDi Datei erfolgt durch eine Exportfunktion welche tiber das Kontext men des Projekts aufgerufen werden kann Export gt Other Create Sql MDi File Im Ex portassistenten muss der Dateiname angegeben werden und die Datei wird vom System ers tellt Sollten Fehler in der SQL MDi Datei auftreten wird eine Fehlermeldung angezeigt und eine log Datei mit den detaillierten Fehlermeldungen erzeugt Nach Erstellen der Datei wird diese noch nicht im Projekt direkt angezeigt dazu muss der Projektordner aktualisiert werden Hierzu muss die Taste F5 beim ausgew hlten Projekt ge dr ckt werden Die SQL MDi Datei zum verwendeten Rahmenbeispiel ist in Abbildung 10 14 dargestellt mapping_export md 3 DEFINE CUBE dwl verkauf AS c1 MEASURE cl dauer MEASURE cl umsatz_telefonie MEASURE cl umsatz_sonstiges Dim cl datum_std Dim cl synr Dim cl PIVOT MEASURES cl umsatz_telefonie cl umsatz_sonstiges INTO c1 umsatz USING cl umsatzkategorie ROLLUP c1 datum std TO LEVEL cl datum datum aml CUBE dw2 verkauf AS c2 MEASURE c2 gespraechsdauer gt dauer MEASURE c2 umsatz Dim c2 datum MAP LEVELS c2 datum datum month gt mona CONVERT MEASURES APPLY usd2Eur FOR c2 umsatz DEFAULT GLOBAL CUBE MAISLINGER verkauf AS c0 MERGE DIMENSION
149. ortierte Fremdschl ssel sind Verweise von anderen Tabellen auf den Prim rschl ssel dieser Tabelle Sollte dies der Fall sein wird dem UML Modell eine neue Dimension hinzugef gt Der Import der Fakten verh lt sich analog zur Ers tellung der Dimensionen mit der Abweichung dass importierte Fremdschl ssel vorhanden sein m ssen Nachdem keine weitere Tabelle mehr gefunden wird kann die UML Datei ge Seite 87 Entwicklung des Global Schema Architects speichert und in weiterer Folge die f r die Erstellung der Fakten und Dimensionen notwendi gen Stereotypen an die zuvor erstellten Elemente angebracht werden ering zu Datenbank enge keine Verbindung m glich Verbindung hergestellt Heide aus Datenbank laden Metadaten geladen UML Modell erzeugen gt UML Modell Uml Modell erzeugt Tabelle traversieren keine Tabelle gefunden S n chste Tabelle gefunden ij exportierte FK auslesen keine FK gefunden H exportierte FK gefunden Dimension anlegen Dimension angelegt T importierte FK auslesen keine FK gefunden importierte FK gefunden Fakt anlegen rel UML Modell speichern Modell gespeichert Stereotypen anf gen Stereotypen angef gt UML Modell speichern e Abbildung 6 5 Funktionalit t
150. pre chenden Modelle Import und Global Model zu wobei der Global Mapping Editor nicht auf das Import Model sondern auf das Import Mapping zugreift Eine detaillierte Beschreibung dieser Problematik findet sich in Abschnitt 6 5 2 Zu den Export Komponenten z hlen Export Metadata Wizard und Export SOL MDi Wizard Beide Komponenten sind v llig unabh ngig voneinander an das System gekoppelt F r den SQL MDi Export werden die zuvor in den Mappings erzeugten SQL MDi Code Fragmente als Grundlage herangezogen Der Export der Metadaten basiert auf dem mport sowie Glo bal Model Um eine bessere Strukturierung zu erm glichen ist eine Gruppierung der Komponenten auf grund der Aufgabenbereiche in drei Hauptgruppen sinnvoll e Schemabezogene Komponenten Zu den schemabezogenen Komponenten z hlen al le Komponenten welche sich mit dem Import sowie dem Editieren der einzelnen Mo delle besch ftigen Dazu geh ren das Metamodell das Import Schema das Global Schema und der grafische Editor e Mapping Komponenten Als Mapping Komponenten werden alle Komponenten an gesehen welche mit der Erstellung der Mappings besch ftigt sind Import Mapping und Global Mapping Seite 85 Entwicklung des Global Schema Architects e Export Komponenten Aufgabe der Export Komponenten ist es die Schnittstellen zu anderen Programmen wie z B dem SQL MDi Query Parser bereit zu stellen Hierzu z hlen der Export Metadata Wizard und der Export SOL MDi Wiza
151. r verschiedenen Werkzeuge erkennen kann ist die praktische und wirtschaftliche Nachfrage nach dem UML2 Framework sehr hoch Eclipse UML2 Co 2009 Eine Referenzliste mit den Links zu den oben beschriebenen Programmen findet sich unter Eclipse UML2 Co 2009 Eclipse UML2 Tools Die UML2 Tools stellen Editoren zu den wichtigsten grundlegenden UML Diagrammen be reit Hierzu z hlen u a das Klassendiagramm das Aktivit tsdiagramm das Anwendungsfall diagramm sowie das Sequenzdiagramm Eine genauere Beschreibung der in diesem Projekt verwendeten Diagramme findet sich unter Kapitel 3 5 Eclipse UML2 Tools 2009 Die Repr sentation eines UML Diagramms erfolgt ber zwei verschiedene Dateien Einer Modell Datei um welche die Daten beinhaltet und die Grundlage f r die darauf aufbauen de Diagramm Datei umlclass darstellt Eclipse UML2 T FAQ 2009 Die Integration der Eclipse UML2 Tools erfolgt falls nicht in der verwendeten Eclipse Dist ribution vorhanden sein sollten ber den von Eclipse bereitgestellten Update Manager Auf Seite 60 Grundlagen Eclipse die konkrete Anwendung des UML2 Frameworks sowie der UML2Tools und deren Patterns und Designkonzepten wird nochmals spezifisch in Kapitel 6 eingegangen 4 4 3 Graphical Editing Framework GEF GEF ist ein Framework welches es dem Entwickler erlaubt aus einem bereits bestehenden Datenmodell einen grafischen Editor zu erstellen Der Entwickler profitiert aus einer Menge
152. r linken Seite findet sich eine Liste mit allen vorhandenen Elementen und auf der rechten Seite finden sich die Details zu diesen Elemen ten Betsy et al 2009 Auf ein f deriertes DW bezogen werden in der Mastertabelle alle Elemente eines Schemas Fakten Dimensionen etc aufgelistet Im Detailbereich k nnen zu den jeweiligen Elementen die Mappings definiert werden Umsetzung Mapping Editor Im Zentrum der Implementierung steht die Klasse MulitPageEditor bzw GsaMulti PageEditor im Paketorg eclipse uml gsa editors In dieser Klasse werden die einzelnen Unterseiten des Editors erstellt und mit der addPages Funktion dem Editor hinzugef gt Zus tzlich behandelt diese Klasse die Speicherung sowie die komplette Steue rung des Editors Der Master Detail Block wird f r die Umsetzung der Schema Editor Seite des Mapping Edi tors angewandt Im Mittelpunt des Schema Editors steht die Klasse ScrolledProper tiesBlock Diese liest die notwendigen Daten ein erzeugt und f llt den Masterbereich Hierbei werden den Elementen der Mastertabelle die jeweiligen Detailseiten zugewiesen Seite 113 Systemimplementierung Die Mastertabelle beinhaltet pro Element des bearbeiteten Schemas eine 7ypKlasse engl Type f r die Zugriffsfunktionen auf das Modell sowie eine Details Klasse f r die grafische Repr sentation der Einstellungen und Funktionen f r das Element Ein Typ entspricht jeweils einer Metaklasse im Metamodell siehe Abbildung 5
153. r nicht verstehen bzw Benutzer nicht in der Lage sind deren Anforderungen entsprechend zu formulieren Techniker vergessen oft im Antlitz der techni schen M glichkeiten sich auf die grundlegenden Bed rfnisse zu beschr nken Gardner 1998 S 60 Hiisemann et al 2000 S 5 empfiehlt zur Festlegung der Kundenbed rfnisse einen tabellari schen d h einen zumindest semi formalen Ansatz bei welchem der Designer und Experte f r die Gesch ftsprozesse relevante Attribute aus der betrieblichen Datenbank definiert und diese in Fakten und Dimensionen bzw Dimensionslevel unterteilt Konzeptueller Entwurf engl Conceptual Design Zur Bildung des konzeptuellen Entwurfs muss aus der meist informellen Spezifikation der Benutzerbed rfnisse eine formelle Definition erstellt werden Ein wichtiger Punkt hierbei ist die Unabh ngigkeit des erstellten Schemas von jeglicher Implementierung Die Schwierigkeit liegt auf der korrekten Erstellung bzw Zuordnung der Daten zu Dimensionen und Fakten Abello et al 2006 S 1 Die Erstellung eines konzeptuellen Schemas teilt sich in drei sequentielle Schritte 1 Definition der funktionalen Abh ngigkeiten zwischen Kenngr en Dimensionen und Aggregationsstufen der Dimension 2 Erstellung der Hierarchie innerhalb der Dimensionen aufgrund der vorhandenen Ag gregationsstufen 3 Definieren von Beschr nkungen auf die Aggregation von Kenngr en um sinnlose Ergebnisse zu vermeiden H semann et al 2000 S
154. rbeitsschritte werden in Listing 7 2 beschrieben Seite 103 Systemimplementierung Create Model 2 Model gsaExample createModel global 4 Loading Profile 5 Profile myProfile Profile loadProfile URI createURI platform plugin org eclipse uml gsa model appendSegment Gsa profile appendFileExtension UMLResource FILE EXTENSION 8 Applying Profile 2 applyProfile gsaExample myProfile Listing 7 2 Zuweisung von Profil zum Model Grundlage fiir die Verwendung der in Listing 7 2 beschriebenen Methoden ist das Erben von der BaseGenerator Klasse im org eclipse uml gsa generators Paket Die genauen Funktionen dieser Klasse werden im n chsten Punkt ausf hrlich beschrieben Als ersten Schritt muss das Model mithilfe der Methode createModel erzeugt werden Um daraufhin das Profil Profile anzuwenden muss auf die richtige Datei im Plug in zugegriffen werden Schlussendlich muss das Profil noch auf das Model angewandt app lyProfile werden Funktionen f r Modelle Das UML2 Framework von Eclipse stellt eine Vielzahl von Funktionen bereit mit welchen Modelle bearbeitet werden k nnen Diese Methoden m ssen an mehreren Stellen im Projekt angewandt werden Dem Prinzip Don t repeat yourself zufolge ist eine Auslagerung der Methoden auf eine h here Ebene sinnvoll Aus diesem Grund wurde die Klasse BaseGene rator eingef hrt Alle Klassen die direkt mit dem UML Modell interagieren m ss
155. rbeitung der mport Mappings ohne das Global Mapping erneut erstel len zu m ssen Import Mappings laden kein weiteres Import Mappings gefunden Global Mapping XML aktualisieren weiteres Import Mapping gefunden A Z Einstellungen aus Import Mapping auslesen eae Einstellungen ausgelesen Y Einstellungen zu XML String hinzuf gen Einstellungen hinzugef gt Global Mapping aktualisiert Abbildung 6 11 Ladeprozess f r Global Mapping Das in Abbildung 6 11 dargestellte Aktivit tsdiagramm beschreibt den Ladeprozess des Glo bal Mappings Beim Laden werden alle Import Mappings des Projekts eingelesen und deren Einstellungen bzw Daten in einen XML Ausdruck geschrieben Dieser Ausdruck bildet die Grundlage f r die Vorschl ge des Global Mappings Bei jedem neuen Aufruf des Global Mappings wird dieser XML Ausdruck neu erstellt 6 5 3 Export Komponenten Die Export Komponenten stellen die Schnittstellen zum SQL MDi Query Parser und SQL MDi Query Processor bereit Um die Kommunikation mit dem SQL MDi Query Parser zu erm glichen muss an zwei unterschiedlichen Stellen angesetzt werden Zum einen m ssen die Seite 94 Entwicklung des Global Schema Architects Metadaten ber die mport Schemen und das Global Schema exportiert und so aufbereitet werden dass diese vom SQL MDi Query Parser gelesen werden k nnen Zum anderen muss f r jede Abfrage des SQL MDi Query Parser eine S
156. rbindungsdaten angegeben Verbindungsdaten Kopie erstellt angegeben Glopales Schema erstellen Referenziertes Import Schema angegeben kK Globales Schema erstellen Import Schema Globales Schema Globales Schema Angegeben erstellt erstellt Import Schema einlesen K Import Schema eingelesen a b Abbildung 6 6 Aktivit tsdiagramm Global Schema I Seite 89 Entwicklung des Global Schema Architects Abbildung 6 6 veranschaulicht die verschiedenen Varianten zur Erstellung eines Global Schemas mithilfe eines Aktivit tsdiagrammes Abbildung 6 6 a illustriert den Prozess zur Erstellung eines leeres Global Schemas In Abbildung 6 6 b wird der Prozess der Kopie eines Import Schemas dargestellt Die Abweichungen ergeben sich daraus dass bei b ein Import Schema eingelesen und kopiert werden muss Komponente Grafischer Editor Der grafische Editor wird zur Bearbeitung von Modellen ben tzt Zur Repr sentation wird das geforderte UML Klassendiagramm eingesetzt Zur Umsetzung des Editors werden die von Eclipse bereitgestellten UML2Tools siehe Abschnitt 4 4 2 verwendet Die Anbindung an den Global Schema Architect erfolgt ber die Standardversion der UML2Tools es sind ledig lich marginale Erweiterungen vorzunehmen Name Grundgeb hr O Bezeichnung Bezeichnun Grundgeb hr CO Tarif O Tarif Name O St svnr Kunde Kunde f
157. rchitect wurde als Projekt am Institut f r Data and Knowled ge Engineering durchgef hrt um die Funktionalit t des bereits vorhanden SQL MDi Query Processors siehe Abbildung 2 9 zu erweitern Global Schema Architect extends Leeres Schema erstellen Global Schema extends erstellen V Import Schema uses duplizieren D Schema bearbeiten Import Schema erstellen Global Mapping erstellen SQL MDi Datei exportieren Metadaten exportieren System Benutzer Import Mapping erstellen Abbildung 6 2 berblick ber die Anwendungsf lle des Global Schema Architects Abbildung 6 2 gibt einen berblick ber die im Global Schema Architect geforderten An wendungsf lle Die genauen Anforderungen zu den jeweiligen Anwendungsf llen bzw den Global Schema Architekt werden in den folgenden Kapiteln detailliert beschrieben Seite 76 Entwicklung des Global Schema Architects 6 3 1 1 Erstellung eines globalen Schemas Dem Benutzer muss die M glichkeit gegeben werden ein globales Schema zu erstellen wel ches auf dem in Abschnitt 5 3 beschriebenen GSA Metamodell basiert Alle mit dem Meta modell beschreibbaren Konstruktionen m ssen durch das globale Schema ausgedr ckt werden k nnen Zu diesem Zweck stellt der Global Schema Architect das Modell grafisch in Form eines UML Klassendiagramms zuz glich der Erweiterungen des zugrundeliegenden Meta modells siehe Abs
158. rd Die Einteilung der Hauptgruppen wird auch in der Systemimplementierung siehe Kapitel 7 eingesetzt OLAP Repository e Global Schema Architect 2 2 f o Ed Daten in Import Schema Export Metadata Wizard Global Schema ExportMetadataWizard ExportGenerator Import Wizard rzeugt Gsa Wizard DM2 a e H 6naz N a i GEN Metamodell Import Model Metamodell Objekt von Objekt von Global Model VW 2 S Grafischer Editor ClassDiagramEditor ben tzt pen tzt Import Mapping Import Mapping Editor Global Mapping Editor ben tzt J Export SQL Mdi Wizard A N 8 2 amp amp Export SQL MDi Wizard 7 y l d S t x08 erzeugt een SQL MDi Code SQL MDi Code Export SQL MDi Generator SQL MDi File Abbildung 6 4 Systemarchitektur des Global Schema Architects Seite 86 Entwicklung des Global Schema Architects 6 5 1 Schemabezogene Komponenten Der Zusammenhang dieser Komponenten ergibt sich aus der direkten Interaktion mit dem Metamodell bzw aus der Tatsache dass das Metamodell selbst die Komponente ist Zum einen miissen Modelle auf Basis des Metamodells erstellt und importiert werden zum anderen muss eine nachtr gl
159. rd JDBC 2009 Seite 83 Entwicklung des Global Schema Architects 6 4 4 xPath Die Speicherung von den Einstellungen des Global Schema Architect erfolgt durch XML Ausdr cke Zum Auslesen von Information aus den XML Ausdr cken wird die Technologie xPath eingesetzt siehe Abschnitt 7 2 2 Die Hauptaufgabe von xPath ist das Referenzieren bzw das Ausw hlen von XML Elementen in einem XML Dokument Zus tzlich gibt es die M glichkeit einfache Manipulationen an den XML Elementen durchzuf hren Die Bezeichnung von xPath ergibt sich aus der pfadartigen Darstellung der Syntax um durch die verschiedenen XML Strukturen zu navigieren Clark amp Derose 1999 6 4 5 The Standard Widget Tookit SWT Eclipse forciert die Verwendung von SWT Durch SWT wird das look and feel einer An wendung an die grafischen Vorgaben der Systeme angepasst Diese Technologie wird implizit im kompletten Projekt verwendet Speziell bei der Erstellung der Eclipse Forms siehe Ab schnitt 7 2 wird diese Technologie zum Einsatz kommen SWT 2009 6 4 6 MS SQL Server 2005 Oracle 10gR2 Fir die Verwendung der Datenbanksysteme wurde aufgrund der geforderten Kompatibilitat zum SQL Query Parser der MS SQL Server 2005 und die Oracle 10gR2 Datenbank ausge w hlt Zus tzlich z hlen diese Datenbanksystem zu gebr uchlichen ROLAP Plattformen Das Dimension Repository wurde auf Oracle implementiert um standardm ige OLAP Abfragen erstellen zu k nnen Da
160. rden die Daten direkt in multidimensionalen Konstrukten Arrays in der Datenbank gespeichert Die OLAP Funktionen k nnen somit direkt auf die multidimensionalen Konstrukte zugreifen Bauer amp G nzel 2004 S 121f Diese Arbeit bezieht sich in weiterer Folge ausschlie lich auf das ROLAP Modell Zus tzlich werden im Metadaten Repository die Metadaten des DWs verwaltet Chaudhury amp Dayal 1997 S 2ff Das Metadaten Repository beinhaltet Information welche Aufbau und Wartung des Administrationsprozesses unterst tzt und ohne welche die Verwendung von Query Werkzeugen unm glich w re Die Metadaten gliedern sich in fachliche und technische Erstere beschreiben wie das DW Schema zu interpretieren ist und zeigen folglich wie effek tive Analyseanwendungen durchgef hrt werden m ssen Technische Metadaten sind f r Ad ministratoren und Entwickler interessant Sie beschreiben u a die verwendeten logischen und physischen Datenschemata Bauer amp G nzel 2004 S 68f Definition 2 5 Metadaten sind Daten ber Daten Im Zusammenhang mit einem DW be schreiben sie alles was ein DW definiert Tabelle Spalten Abfragen Ausgabe Gesch ftsre geln und Algorithmen Gardner 1998 S 59 Definition 2 6 Ein Repository bezeichnet im weitesten Sinne alles was zur Aufbewahrung dient DW betreffend wird es in der Regel zur Speicherung von Daten und Katalogen von Metadaten verwendet Heinrich 2004 S 563 2 1 4 Multidimensionales Datenmodell
161. renziert folgende Anwendungsbereiche e Informationsbereitstellung e Analyse e Planung e und Kampagnenmanagement Aus den angef hrten Anwendungsbereichen ergeben sich einige Einsatzgebiete Das gr te Gebiet stellt das betriebswirtschaftliche dar F r jegliche betriebliche Prozesse ist genaue und ganzheitliche Information von Interesse DWs finden auch im Bereich der Wissenschaft Ank lang Sie werden z B zur Auswertung von geologischen Messungen verwendet Selbst techni sche Arbeiten k nnen durch den Einsatz eines DWs unterst tzt werden Grundlegend gilt es zu sagen dass die Einf hrung eines DWs als zweckm ig und zielf hrend betrachtet wird Seite 23 Foderierte Data Warehouses wenn eine gro e bzw un berschaubare Menge an Daten vorhanden ist und eine analytische Auswertung dieser einen Nutzen bringt 2 1 3 Architektur eines Data Warehouses Die Architektur eines DWs stellt sich tiblicherweise wie in Abbildung 2 2 dar Monitoring amp Admnistration EI Revostory OLAP m Analysis Cc d LU xtract Transform External sources E QueryReporting Operational ol ell j ES Data Mining E Data sources TE Data Marts Tools Abbildung 2 2 Data Warehouse Architektur Chaudhury amp Dayal 1997 S 2 Um die Daten in ein DW zu laden sind drei Arbeitsschritte notwendig Zum einen m ssen die Daten aus verschiedenen Datenbanken oder anderen externen Datenquellen e
162. rich J L Heinzl A Roithmayr F Wirtschaftsinfor matik Lexikon 7 Auflage Oldenburg Verlag Miin chen Wien 2004 H semann B Lechtenb rger J Vossen G Conceptual data warehouse design In Proc DMDW Seiten 3 9 2000 Inmon W H Building the Data Warehouse Wiley Publish ing Inc 2 Edition 1996 The Java Database Connectivity JDBC http java sun com javase technologies database letzter Ab ruf am 08 Februar 2009 Karagiannis d K hn H Metamodelling Platforms In Bauknecht k Min Tjoa A Quirchmayer G Hrsg Pro ceedings of the Third International Conference EC Web 2002 Dexa 2002 Aix en Provence France Springer Verlag Berling Heidelberg 2002 Kemper A Eickler A Datenbanksysteme Eine Einf hrung 6 Auflage Oldenbourg Wissenschaftsverlag 2006 Luj n Mora S Trujillo J Song 1 Multidimensional Model ling with UML Package Diagrams In Conceptual Modelling ER 2002 Springer Verlag Berlin Seiten 199 213 2002 Luj n Mora S Trujillo J A comprehensive method for data warehouse design In Proc DMDW 2003 Seite 158 Anhang B OMG 2000 OMG CORBBA 2009 OMG CWM 2009 OMG MDA 2009 OMG UML 2009 OMG XMI 2009 Pendse amp Creeth 1995 Pomberger amp Blaschek 1996 Pomberger amp Pree 2004 Object Management Group http www jeckle de files Infrastructure00 09 01 pdf letzter Abruf 07 03 2009 Common Object
163. rierung wieder berschrieben wird Einzig im Paket org eclipse uml gsa gsa internal operations sind nachtr gliche Anpas sungen notwendig Mit spezieller Kennzeichnung durch die Annotation generated false werden die Anpassungen beim n chsten Generieren nicht berschrieben In diesem Paket werden u a Constraints definiert welche von dem Benutzer selbst ndig implementiert werden m ssen Dieser Umstand ergibt sich daraus dass EMF keine M glichkeit bereitstellt automa tisch aus OCL Constraints Quelltext zu generieren Zur Generierung von Quelltext aus OCL k nnte der Ansatz Dresden OCL Dresden OCL 2009 integriert werden In dieser Arbeit wurde aufgrund des gro en Umfangs nicht weiter auf diesen Ansatz eingegangen Um die Implementierung eines Constraints zu veranschaulichen wurde beispielhaft das Vali deren der Hierarchie einer Dimension ausgew hlt und in Listing 7 1 beschrieben Die Metho de checkHierarchy ruft die Methode checkCircles auf welche von einer Aggregationsebene engl Level ausgehend dieselbe wieder sucht Wenn eine Aggregations ebene direkt oder ber Umwege sich selbst referenziert ist die Hierarchie einer Dimension demnach ung ltig Sollte dieser Fehler auftreten wird eine Fehlermeldung erstellt der boole sche Wert false zur ckgegeben und mit der Validierung der anderen Elemente fortgefahren Seite 102 Systemimplementierung In Listing 7 1 werden zus tzlich erste Funktionalit ten zur Bearbe
164. rnehmen Abbildung 10 7 Aktivit tsdiagramm des Importprozesses Seite 138 Anhang A Zur Durchf hrung des Importprozesses wird der Import Wizard eingesetzt Dieser kann im Kontextmen des Projekts unter Import im Ordner Global Schema Editor ausgef hrt werden Dort kann zwischen einem Import aus einer MSSQL oder Oracle Datenbank gew hlt werden In Bezug auf das Rahmenbeispiel ist der MSSQL Import auszuw hlen Nach Auswahl des MSSQL Imports erscheint der in Abbildung 10 8a dargestellte Assistent in welchem die Zugangsdaten zur Datenbank eingegeben werden Die Verbindung wird automa tisch nach Eingabe aller relevanten Daten validiert Sollte keine Verbindung erstellt werden k nnen wird eine Fehlermeldung angezeigt Wichtig ist dass ab der ersten erfolgreichen Verbindung zur Datenbank keine weitere Verbindung erstellt werden kann Um eine neue Verbindung zu erstellen muss der Assistent neu gestartet werden Bei erfolgreicher Verbin dung zur Datenbank wird ein Schemavorschlag geladen Es besteht die M glichkeit diesen mittels der Next Schaltfl che einzusehen oder auf die Heuristiken des Systems zu vertrauen und die Schemadatei direkt ohne weitere Einsicht des Vorschlags zu erstellen fj E File Import Wizard 5 a File Import Wizard e St Import Schema Change Properties Enter Values for importing from a MS SQL Datawarehouse You can change the properties for importing the Data Warehouse Enter username Lorenz FACT DIMENSIO
165. rozesses werden nur die Daten und nicht die Tabellenstruktur exportiert weshalb das Metadata Dictionary schon vor dem Export die passende vom SQL MDi Query Parser geforderte Struktur aufweisen muss Brunneder 2008 Die Verantwortung f r die Erstellung der entsprechenden Struktur liegt beim Systemadministrator Die Auswahl der Zieldatenbank Metadata Dictionary kann der Benutzer mittels des Assistenten definieren blicherweise wird diese Datenbank als OLAP Repository benannt Zus tzlich werden die Metadaten f r den Export des globalen Seite 119 Systemimplementierung Schemas auch noch in die bei der Erstellung angegebene Datenbank Dimension Repository exportiert Der Export der Metadaten in die Datenbank teilt sich in verschiedene Bl cke welche den unterschiedlichen Tabellen des Metadata Dictionaries zugeordnet sind Die Unterteilung er folgt z B nach der Erstellung von W rfeln oder der Erstellung von Dimensionen Dies soll den Effekt haben dass etwaige Fehler beim Export einfacher lokalisiert werden k nnen F r jeden abzuarbeitenden Block wird separat eine Datenbankverbindung aufgebaut somit k n nen eventuelle Syntaxfehler den verschiedenen Bl cken zugeordnet werden Der beschriebene Prozess wird in der Klasse ExportMetaDataToDatabase ausgef hrt Der Methode create wird der Pfad zum Container f r die UML Modelle bergeben wodurch in weiterer Folge die entsprechenden Schemata geladen werden Durch die Met
166. rsion 1 0 abgeleitete Lizenz Mit der Umstellung von CPL auf EPL gelang es Eclipse einige Unklarheiten und Bedenken zu berei nigen So wurde im Zuge der Umstellung der Lizenz der Agreement Steward von IBM f r CPL auf Eclipse Foundation f r EPL ge ndert Der Agreement Steward bezeichnet jene juris tische oder nat rliche Person welche das Recht hat neue Versionen eines Agreements bzw einer Lizenz zu ver ffentlichen Dies macht das Agieren der Foundation von IBM unabh ngi ger Hierzu wurde als einzige nderung folgender Satz entfernt If Recipient institutes patent litigation against a Contributor with respect to a patent applica ble to software including a cross claim or counterclaim in a lawsuit then any patent li censes granted by that Contributor to such Recipient under this Agreement shall terminate as ofthe date such litigation is filed Eclipse EPL FAQ 2009 Diese Klausel erm glichte es dem Patentgeber nachtr glich noch gesetzliche Schritte gegen ber der in Anspruch nehmenden Partei einzuleiten Durch das Entfernen dieser Klausel er Seite 52 Grundlagen Eclipse hoffen sich die Mitglieder der Eclipse Foundation die Gr e des kologischen Systems rund um Eclipse zu erweitern 4 2 Architektur Die Architektur der Eclipse Rich Client Plattform charakterisiert sich durch den modularen Aufbau Im Zentrum des Projekts steht ein kleiner fester Kernel mit den unterstiitzenden Diensten und Komponenten der Eclipse
167. rties und Hinzuf gen von Stereotyp in grafischen Editor 136 Abbildung 10 4 Validierung von Global Schema 137 Abbildung 10 5 Aufbau des Global Schemas nenn 137 Abbildung 10 6 Imporiprezessus nal 138 Abbildung 10 7 Aktivit tsdiagramm des ImportproZesses cccceesseceseceseeceteeeeeeenseeeaeens 138 Abbildung 10 8 Data Mart Import Wizards ken a 139 Seite 148 Anhang B Abbildung 10 9 Darstellung Import Mapping Editor 00ssssseesseeesneneneeenneennnnn nn 141 Abbildung 10 10 Dimensionsauswahl im Import Mapping Editor s sssssssssesesssseseesseesseeee 142 Abbildung 10 11 Aktivit tsdiagramm zur Speicherung eines Roll up Ausdrucks 143 Abbildung 10 12 Aufteilung der Mappings nennen 143 Abbildung 10 13 Global Mapping Editor 0000nsersnessnenensennneennensnnnnnennne nennen 144 Abbildung 10 14 Erstellte SOL MDi Datei ner ar 145 Seite 149 Anhang B 11 2 Tabellenverzeichnis Tabelle 2 1 Gegen berstellung der Anfragecharakteristika von transaktionalen und analytischen Anwendungen Bauer amp G nzel 2004 S 91 23 Tabelle 5 1 Vergleich multidimensionale Elemente der DW Modelle 68 Tabelle 5 2 Vergleich der Anforderungen an die Repr sentation 69 Tabelle 7 1 Zuordnungen von Stereotypen sa 99 Tabelle 8 1 Ergebnis OLAP Abfrage f r Integrationstest esennsenneennsennnnnnnenn 127 Tabelle 10 1 Verwendungszweck von Symbolen
168. rundlagen modellgetriebene Entwicklung Dieses Kapitel beschreibt die Grundlagen zur Erstellung einer modellgetriebenen Software architektur mit den von der OMG empfohlenen Technologien MOF CWM und UML Zu Beginn wird auf die OMG und die Geschichte der modellgetriebenen Architektur engl Mo del Driven Architecture MDA sowie deren Ziele eingegangen Anschlie end werden die Grundlagen zu Metamodellen und der eingesetzten Technologien MOF und UML erlautert 3 1 Object Management Group OMG Die OMG wurde im Jahr 1989 gegr ndet und ist mit ber 800 Mitgliedern darunter IBM Apple Microsoft Sun das weltweit gr te Softwarekonsortium Aufgabe dieses Konsor tiums ist die Weiterentwicklung und das Ver ffentlichen von implementierungsunabh ngigen Standards in der objektorientierten Programmierung Zu den Kernzielen z hlen u a Verbesserungen in der Wiederverwendbarkeit der Portabilitat sowie der Interoperabilit t von objektorientierten Softwarekomponenten Zu den bekanntesten Entwicklungen z hlen die Common Object Request Broker Architecture CORBA siehe OMG CORBA 2009 die Model Driven Architekture MDA siehe OMG MDA 2009 das XML Metadata Interchange Format XMI siehe OMG XMI 2009 Common Warehou se Metamodel CWM siehe OMG CWM 2009 sowie die Unified Modelling Language UML siehe OMG UML 2009 In dieser Arbeit wird in weiterer Folge explizit auf UML CWM und MDA eingegangen OMG 2000 3 2 Geschichte und Ziel
169. s In diesem Kapitel wird zu Beginn das eingesetzte Vorgehensmodell und die damit verbunde ne Methodik zur Entwicklung des Global Schema Architects beschrieben Im Anschluss wer den die Anforderungen an das Werkzeug im Detail erl utert Nach einer bersicht ber die angewendeten Technologien wird auf die Architektur des Werkzeugs sowie die endg ltige Implementierung eingegangen 6 1 Vorgehensmodell Als Vorgehensmodell wurde das Prototyping orientierte Prozessmodell nach Pomberger amp Pree 2004 S 26 angewendet Durch den Einsatz von Prototypen soll die fr he Kl rung von Benutzerbed rfnissen erreicht und Entwicklungsproblemen vermiede werden Zu diesem Zweck muss stets eine ausf hrbare Version oder zumindest eine ausf hrbare Simulation vor handen sein Grunds tzlich lassen sich drei verschiedene Arten von Prototyping unterscheiden e Exploratives Prototyping Ziel eines explorativen Prototypen ist die Entwicklung ei ner m glichst vollst ndigen Systemspezifikation Er dient demnach zur Abkl rung der Aufgaben und als Grundlage f r den Realisierungsweg des Systems e Experimentelles Prototyping Zur Abkl rung verschiedener technischer Schwierig keiten und Probleme wird der experimentelle Prototyp verwendet Er wird in erster Linie zum Testen von neuen Technologien und Konzepten eingesetzt wodurch Prob leme vor der Entwicklung des finalen Produkts erkannt und dadurch vorzeitig die rich tigen Ma nahmen gesetzt werden k
170. s DW mit einem sterreichischen DW zu verbin den Hierbei treten mit hoher Wahrscheinlichkeit W hrungsdifferenzen auf Aufgrund der Differenzen k nnen die Dimensionen nicht direkt verglichen werden Eine M glichkeit diese Problematik zu entsch rfen ist die Verwendung von in der Datenbank vorhandenen Prozedu ren Stored Procedures durch welche eine Umrechnung der W hrungen erfolgen k nnte Weitere Unterschiede ergeben sich aus den Ortsangaben Die sterreichische Darstellung Stadt gt Bezirk Bundesland unterscheidet sich von der amerikanischen Darstellungswei se city gt state division region Um beide Darstellungsweisen vergleichen zu k nnen m ssen die Gemeinsamkeiten herausgefiltert werden So entspricht das amerikanische state in etwa dem sterreichischen Bundesland F r einen sterreichischen Bezirk gibt es kein ver Seite 39 Foderierte Data Warehouses gleichbares amerikanisches Gegenstiick demnach muss dieser ausgeblendet werden Analog dazu verhalten sich division und region der amerikanischen Darstellungsweise 2 2 5 SQL MDi SQL MDi steht f r SQL for multi dimensional integration und dient als Grundlage f r die Ausf hrung einer OLAP Abfrage welche z B in SQL ausgef hrt werden kann Aufgabe von SQL MDi ist es demnach Heterogenit ten zwischen verschiedenen Data Marts zu beseitigen und so einen virtuellen W rfel bereitzustellen auf welchen in der Folge die Abfragen gestellt werden k
171. s Metadaten Repository und das Komponentensystem wurden auf dem MS SQL Server umgesetzt Rossgatterer 2008 6 5 Architektur des Systems Dieses Kapitel erl utert die Systemarchitektur des Global Schema Architects Nach einer bersicht des ganzen Systems wird auf die einzelnen Komponenten eingegangen bevor deren Implementierung in Abschnitt 7 n her erl utert wird Abbildung 6 4 stellt die Systemarchitektur des Werkzeuges dar Die Darstellung des Systems erfolgt zur Verbesserung der Verst ndlichkeit auf einer hohen Abstraktionsebene Seite 84 Entwicklung des Global Schema Architects Der Global Schema Architekt besteht aus acht verschiedenen Komponenten Metamodell Import Schema Global Schema Grafischer Editor Import Mapping Global Mapping Ex port Metadata Wizard und Export SOL MDi Wizard Der enge Zusammenhang unter den Komponenten wird in Abbildung 6 4 veranschaulicht und manifestiert sich in der zentralen Anwendung des Metamodells Das Metamodell referenziert die Modellklassen des Import Schemas und des Global Schemas Die Modelle sind grundlegender Bestandteil des jeweili gen Schemas und werden durch den Import Assistenten Import Schema bzw durch den Editor zur Erstellung des Schemas Global Schema erg nzt Zur Bearbeitung von Import und Global Schema wird ein grafischer Editor herangezogen welcher auch auf dem Meta Modell basiert Die Mapping Komponenten mport Mapping und Global Mapping greifen auf die ents
172. s multidimensio nalen Modells W rfel Dimension Fakt Aggregationsebene und Kenngr e ausge gangen werden Beispielsweise werden von einer Dimension im Import Schema aus gehend Diskrepanzen zur entsprechenden Dimension im Global Schema beseitigt Die Anordnung der Elemente muss der von SQL MDi geforderten Reihenfolge entspre chen F r jedes importierte Schema muss eine eigene Datei angelegt werden Das Global Mapping l st Konflikte durch n re Operatoren auf Instanzebene auf Die Erstellung des Global Mappings ist der Erstellung der Import Mappings im Entwick lungsprozess nachgelagert Demnach werden dort die Konflikte zwischen den einzel nen Instanzen der Import Schemas behoben Aufgrund der ganzheitlichen Sicht des Global Mappings ist der Einsatz einer einzigen Datei ausreichend Das Global Mapping basiert nicht auf einem einzigen Schema sondern auf einer Vielzahl von Schemata weshalb die Notwendigkeit zur dynamischen Erstellung von Mapping Komponenten gegeben ist Zu den Mapping Komponenten z hlen entsprechend der SQL MDi Syntax die Anweisungen Merge Dimensions und Merge Cubes Abbildung 6 3 beschreibt den Import und den Mapping Prozess Aus den vorgegebenen Da tenquellen engl Data Sources werden die lokalen Schemata aus dem Data Mart ausgelesen und als Import Schema abgebildet Daraufhin wird jedes Import Schema fir sich durch Im port Mappings auf das globale Schema abgebildet Dariiberhinaus wird ein einzelnes global
173. s und Frameworks von Eclipse soll die Kompatibilit t zu anderen Werk zeugen erm glicht werden Abbildung 1 1 beschreibt auf einer abstrakten Ebene den grundlegenden Kontext zur Ver wendung des Werkzeuges Durch einen virtuellen W rfel wird ein transparenter Zugriff auf verschiedene Data Marts gegeben F r den Benutzer ist somit nicht wahrnehmbar dass die gestellte Abfrage auf mehrere Data Marts verteilt wird Hierzu wird ein globales Schema virtueller W rfel eingesetzt welches die lokalen W rfel integriert und so dem Benutzer eine einzige Abfragestelle bereitstellt Aufgrund von Differenzen die zwischen dem globalen Schema und dem jeweiligen lokalen Schemen bestehen k nnen ist es f r eine erfolgreiche Abfrage notwendig diese Differenzen zu beseitigen Dazu wird die SQL Erweiterung SQL MDi verwendet Diese Sprache kann durch Festlegen von Mappings die Differenzen zwi schen den verschiedenen Schemata ausgleichen In Abbildung 1 1 wird der Prozess der Abfrage ber mehrere Data Marts dargestellt Durch den SQL MDi Query Parser und den SQL MDi Query Processor werden die Eingabedaten auf syntaktische Korrektheit berpr ft und in eine Baumstruktur zerlegt Durch die Umstruk turierung wird eine Verteilung der Abfrage auf die verschiedenen Data Marts erm glicht Schlussendlich werden die aus den einzelnen Data Marts erhaltenen Ergebnisse auf eine Rep r sentation des globalen Schemas zusammengefasst Die Arbeitsschritte we
174. schiedenen Data Warehouses be seitigt werden k nnen hierf r wird die Abfragesprache SQL MDi eingesetzt Ziel dieser Diplomarbeit ist die Umsetzung eines Werkzeuges zur Integration von unter schiedlichen Data Marts und zur Erstellung eines globalen Schemas Demnach stellt das Werkzeug einen Teil eines f derierten Datawarehouse Systems dar Grundlegende Aufgabe des Werkzeuges ist es die Daten f r den Abfrageprozess bereitzustellen Hierzu m ssen die Heterogenit ten zwischen den verschiedenen importierten Data Marts beseitigt werden F r den Abfrageprozess werden der SQL MDi Query Parser sowie der SQL MDi Query Proces sor eingesetzt Die Umsetzung des Werkzeuges erfolgte als Plug in f r die Rich Client Plattform Eclipse Dar berhinaus wurden von Eclipse bereitgestellte Frameworks wie z B EMF und GEF eingesetzt Dies f hrt zu einem teilweise modellbasierten Ansatz bei der Ent wicklung des Werkzeuges Zus tzlich wurde ein spezielles Augenmerk auf eine benutzer freundliche Gestaltung des Werkzeuges gelegt Abstract In times of globalization a constant increase in the number of mergers and acquisitions among companies can be observed This leads to a growing demand on cross Data Warehouse analy sis Due to the fact that there is no central authority for managing Data Warehouses the appli cation of federate Data Warehouses is suitable A federate Data Warehouse uses a virtual Cube in form of a global schema to allow transparen
175. setzung des GSA Metamodells Keines der in 5 2 dargestellten Metamodelle kann den gestellten Forderungen gerecht werden Aus diesem Grund muss ein neues Metamodell das GSA Metamodell erstellt werden F r die Umsetzung werden aus den angef hrten Modellen die passenden Konstrukte bernom men Um die geforderte bersichtlichkeit zu erreichen werden die Konzepte des Ansatzes von Lujan Mora et al 2002 als Grundlage herangezogen Weitere Vorteile dieses Ansatzes sind der einfache Aufbau und die standardm ige Repr sentation in UML Aufgrund der be schr nkten Anzahl an darstellbaren multidimensionalen Elementen muss der Ansatz um die fehlenden Elemente erweitert werden Dazu wird der Ansatz von Akoka et al 2006 hinzu gezogen aus welchem die f r die Konstruktionen dieses Projekts notwendigen Elemente ent nommen werden Um die Kompatibilit t mit dem CWM aufrecht zu erhalten wird in erste Linie auf das Core Paket des Modells eingegangen Seite 69 Erstellung des Metamodells Zus tzlich muss schon bei der Erstellung des Metamodells auf die von Eclipse vorgegebenen Beschr nkungen und M glichkeiten R cksicht genommen werden Das Metamodell muss plattformunabh ngig aufgebaut und daraus folgend auch mit den von Eclipse gegebenen Mit teln und Werkzeugen umsetzbar sein Basisebene Schema EE Package 1 EE
176. ship dimensioning shareholder name public_shareholder_level manager_name Shareholder_type Private_shareholder_type shareholder type private shareholder type Abbildung 5 2 Beispiel f r Unified Multidimensional Metamodel Akoka et al 2006 S 1466 Influence_of_campaign influence_coefficient Advertising_campaign Date Time dd mm yy gt inter dimension level relationship classification campaign code 5 2 2 Modellierung mit UML Package Diagrammen Dieser Ansatz versucht prim r die Darstellung eines multidimensionalen Modells zu vereinfa chen Zus tzlich wird versucht nahe am Gedankenmodell des Entwicklers und des Analysten zu bleiben Um dies zu erreichen wurde das Metamodell in drei hierarchische angeordnete Ebenen engl Level unterteilt welche mittels Paketen dargestellt werden Lujan Mora et al 2002 Ez Star Schema 1 Dimension 1 Dimension 2 A I Dimension 2 Dimension 2 l Level 1 Level 3 1 l CU A Schema 2 Level 2 Level 1 Level 2 Level 3 Abbildung 5 3 Die drei Ebenen von multidimensionalen Modellen Lujan Mora et al 2002 S 204 Seite 66 Erstellung des Metamodells e Ebene 1 Auf der ersten Ebene werden die W rfel z B Star Schema angef hrt Die Repr sentation eines W rfels erfolgt ber ein Paket Die Verbindungen zwischen den W rfeln werden mit Pfeilen bzw s
177. sondert ber cksichtigt Da keine Daten gel scht werden k nnen ist es einfach Analysen ber l ngere Zeitr ume zu erstellen und so Zeit und Trendanalysen zu un terst tzen Festzuhalten gilt es jedoch auch dass die Daten in einem DW nur ein Schnapp schuss zum Zeitpunkt des letzten Imports sind So k nnen Daten zum Zeitpunkt der Abfrage je nach DW Minuten Stunden Tage oder gar Wochen alt sein Zur Analyse der Daten eines DWs wird in der Regel der Ansatz des Online Analytical Pro cessings OLAP verwendet welcher die Grundlage f r die multidimensionale Sicht der Da ten darstellt siehe Abschnitt 2 1 4 Durch den engen Zusammenhang zwischen DW und OLAP werden diese Begriffe oft synonym verwendet OLAP steht f r komplexe Leseopera tionen welche einen dynamischen flexiblen und interaktiven Zugriff auf mehrere Eintr ge erfordern Im Gegensatz dazu steht Online Transaction Processing OLTP welches speziell operative Datenbankzugriffe Lesen und Schreiben behandelt Bauer amp G nzel 2004 S 97ff Seite 21 Foderierte Data Warehouses Als Grundlage fiir die Bewertung der OLAP Fahigkeit von Software Werkzeugen werden die von Edgar F Codd definierten Regeln vgl Codd et al 1993 herangezogen 2 1 2 Notwendigkeit und Einsatzbereiche Bei der Erstellung eines DW ist die Unterscheidung zwischen transaktionalen d h operati ven und analytischen Daten und Systemen von essentieller Bedeutung Operative Daten sind in der
178. stellen mit Prototypen experimentieren Prototyp abgelehnt nderungs Erweiterungsw nsche fixieren Abbildung 6 1 Prototyp Aktivit ten angelehnt an Pomberger amp Pree 2004 Eine weitere St rke des evolution ren Prototypings ist die projektbegleitende Qualit tssiche rung womit Spezifikations und Entwurfsfehler fr h erkannt und behoben werden k nnen Zu den Schwierigkeiten z hlt u a dass die Anforderungen des Kunden mit dem Fortlauf des Pro Seite 74 Entwicklung des Global Schema Architects jekts ansteigen k nnten nach dem Prinzip the more they get the more they want Pomber ger amp Pree 2004 6 2 berblick ber die Funktionalit t des Werkzeuges Bevor die einzelnen Anforderungen in Kapitel 6 3 im Detail besprochen werden gibt dieses Kapitel eine grobe bersicht ber den Umfang des Werkzeuges Der Global Schema Archi tect ist Teil eines f derierten DW Systems und wird durch den SQL MDi Query Parser sowie den SQL MDi Query Processor erg nzt Deren Anwendungsbereiche werden im Folgenden n her beschrieben Die grundlegende Funktion des Global Schema Architects ist es die notwendigen Daten f r eine Durchf hrung des Abfrageprozesses siehe Abbildung 1 1 durch den SQL MDi Query Parser sowie durch den SQL MDi Query Processor vorzubereiten In Abbildung 1 1 werden die bereitzustellenden Daten grau schattiert hervorgehoben Infolgedessen ist der Global Schema Arch
179. sting 7 4 beschreibt eine beispielhafte Erzeugung des XML Ausdrucks Im Fall von Type CubeDetailsPage werden die verwendeten Dimensionen und Kenngr en in den XML Ausdruck berf hrt Die zuvor in der Tabelle dimensionsTable gespeicherten Werte werden nun ausgelesen und von Tags umgeben als XML String zur ckgegeben protected String generateSqlMdiText 2 StringBuffer sb new StringBuffer LinkedList lt String gt items new LinkedList lt String gt LinkedList lt String gt dimItems input getDimensions LinkedList lt String gt factItems input getMeasures items addAll factItems items addAll dimItems if items size gt 0 sb append for int i if i n 1 0 i lt items size i gt factItems size 1 amp amp i lt factItems size dimI tems size 15 sb append Dim sb append lt dim items get i gt sb append sb append input getLowerLevelSq1Mdi return sb toString Listing 7 5 Erzeugen des SQL MDi Ausdruckes Listing 7 5 erl utert das Erzeugen des SQL MDi Ausdruckes Aufgrund der Komplexit t wird auf die Erkl rung von nicht notwendigen Codefragmenten verzichtet Die input Variable in dieser Methode ist eine Klassenvariable welche die TypeCube Datei referenziert In dieser Methode werden zu Beginn die relevanten Daten aus den XML Ausdr cken ausgelesen Dar aufhin werden aus den Daten die SQL MDi Ausdr cke erste
180. t access to the various Data Warehouses A prerequisite for this cross Data Warehouse access is the removal of existing heterogenei ties In order to achieve this the query language SQL MDi is used The goal of this thesis is implementing a tool for integrating data marts and designing a global schema Thus the tool is a part of a federated Data Warehouse System Its basic task is to pro vide the data needed to execute the query process of the SQL MDi Query Parser and the SQL MDi Query Processor Hence the heterogeneities among the various data marts have to be eliminated The tool was implemented as an Eclipse Plug in Furthermore the standardized frameworks of eclipse like EMF or GEF were used for the implementation of the tool The usage of EMF induces a model driven architecture approach Special attention was given to usability of the graphical user interface Inhaltsverzeichnis LEE D Dai D D d E 10 Lt Aufgabenstellung und Zielsetzung 1 2 a ek 11 12 Rahmenbeispiel EE 13 1 3 Aufbau der Arbet eege 15 L GRUNDLAGEN WE 18 2 F DERIERTE DATA WAREHOUSES essesseseseesseseeeossescesorseecesoeseeeoroesorsorseeeesorsereesoesereoseee 19 2 1 Grundlagen von Data Warehousing eecceccceceseceseceeeeeeeeeeseecaeceeeseeeeeaeeeaeenes 19 2 1 1 Abgrenzung des Begriffs Data Warehousing u sonon 20 2 1 2 Notwendigkeit und Einsotzbereiche sense sense nnn nenn 22 2 1 3 Architektur eines Data Warehouse 24 2 1 4 Multidimensionales Datenmode
181. t bez glich des Editors dasselbe wie f r die Datei MANIFEST MF da die Bearbeitung durch den Editor um vieles vereinfacht wird Gamma et al 2006 01 lt xml version 1 0 encoding UTF 8 gt gt lt eclipse version 3 0 gt 03 lt plugin gt lt extension point org eclipse ui newWizards gt lt category id org eclipse uml2 uml editor name Sample Wizards gt lt category gt lt wizard category org eclipse uml2 uml editor class org eclipse uml2 uml editor wizards SampleNewWizard icon icons sample gif id org eclipse uml2 uml editor wizards SampleNewWizard name Multi page Editor file gt lt wizard gt lt extension gt 3 lt plugin gt Listing 4 2 Beispiel f r plugin xml Datei Seite 56 Grundlagen Eclipse 4 4 Eclipse Tool Project Das Eclipse Tool Project ist ein Unterprojekt des allgemeinen Eclipse Projekts Dieses Projekt konzentriert sich schwerpunktm ig auf Applikationen welche den Entwicklern von Plug ins die Arbeit erleichtern Hierzu z hlen u a Werkzeuge und Frameworks welche z B die Code generierung bzw auch die Erstellung von visuellen Editoren unterst tzen Eclipse Project Eclipse Tools Project Abbildung 4 2 bersicht ber Eclipse Tools Project basierend auf Gruhn et al 2006 S 282 Die in Abbildung 4 2 angef hrten Frameworks werden in den folgenden Unterpunkten im Detail beschrieben Der Einsatz dieser Frameworks ist in dieser Arbeit dezidiert vorgegeben
182. t von DW 88 Abbildung 6 6 Aktivit tsdiagramm Global Schema 89 Abbildung 6 7 Benutzerinteraktion durch grafischen Editor ceeeseeceeeeceseceseeneeeseeeeeeeeens 90 Abbildung 6 8 Aufteilung der Mapping cccccesccssscesssecsseceecseeeesscecsaecesecseeeeeaeecsaecneeseaes 91 Abbildung 6 9 Aktivit tsdiagramm Hinzuf gen von SQL MDi Ausdr cken 92 Abbildung 6 10 Funktionalit t Speicherprozess Import Mapping c cesscesceeeeeeeeeeeee 93 Abbildung 6 11 Ladeprozess f r Global Mapping 0 cccecccecsseesseceneceeeeeeeeeeseeceaeenseeeeeeensees 94 Abbildung 6 12 Aktivit tsdiagramm Export von Metadaten oi ceceeeeseeeceeeceeeneeeneeeeeees 95 Abbildung 6 13 Funktionalit t SQL MDi Export 96 Abbildung 7 1 UML Profil f r Global Schema Architect 0 ceceseeseeseeseeeeeeeeceteceseeseeees 100 Abbildung 7 2 Klassendiagramm Generalisierung von BaseGenerator cenenee 105 Abbildung 7 3 Aufbau Wizard Import Schema 106 Abbildung 7 4 MVC f r GEF angelehnt an Gruhn et al 2006 S 290 110 Abbildung 7 5 Composite Pattern f r grafischen Edtor eeceseeseeseeeeeeeeceeceseeseenseeaee 110 Abbildung 7 6 Auslesen der vorhandenen Dimensionen sssssesseesessssesseserssressessessresseese 116 Abbildung 10 1 Prozess zur Erstellung des Global Schemas ceeseeseeseeceeeeceneeeseeneeees 134 Abbildung 10 2 Editor f r UMI Modelle 135 Abbildung 10 3 Prope
183. tandard Widget Tookit http www eclipse org swt letzter Abruf am 08 Februar 2009 Torlone R Two approaches to the integration of heteroge neous data warehouses In Distributed and Parallel Databa ses Vol 23 Seiten 69 97 Springer Netherlands 2008 Uckat B Metamodellierung mit MOF und Ecore und deren Anwendung im Rahmen des MDA Ansatzes In Ausgew hlte Themen des Software Engineering http www wi uni muenster de pi lehre ss07 SeminarSE vortraege SeminarSE_Praesentation_Uckat pdf letzter Abruf 07 03 2009 UML 2 0 Infrastructure Specification http www jeckle de files 03 09 15 pdf letzter Abruf 08 Februar 2009 Seite 160 Anhang B Ullenboom 2007 Ullenboom C Java ist auch eine Insel Programmieren mit der Java Standard Edition Version 6 7 Auflage Galileo Computing 2007 http openbook galileocomputing de javainsel7 letzter Ab ruf 08 Februar 2009 Seite 161
184. ten Assistenten verwen det Der UML Model Assistent erstellt eine UML Datei Profile werden blicherweise mit der Endung profile um benannt Die Umsetzung des Gsa Metamodells siehe Abschnitt 5 3 findet sich in der Datei Gsa profile uml im Ordner Model Die Umsetzung des Profils wird in Abbildung 7 1 dargestellt Durch das Profil werden alle Erweiterungen zum standardisierten UML bereitgestellt Fol gende Tabelle stellt die UML Elemente mit den dazugeh rigen Stereotypen dar Stereotyp UML Element Cube Wiirfel Package Dimension Package Fact Fakt Class Level Aggregationsebene Class IdentifyingAttribute identifizierendes Attribut Property NonldentifyingAttribute nicht identifizierendes Attribut Property Tabelle 7 1 Zuordnungen von Stereotypen Vergleicht man Abbildung 5 5 und Tabelle 7 1 l sst sich die strikte Umsetzung des Metamo dells erkennen Der einzige Unterschied besteht in der Darstellung der Kenngr en In diesem Zusammenhang wurde auf die explizite Definition eines Stereotyps f r Measures verzichtet Dies begr ndet sich dadurch dass in einem Fakt nur eine Art von Attribut engl Property auftreten kann somit muss nicht zwischen verschiedenen Attributen unterschieden werden k nnen Im Gegensatz dazu werden die Attribute einer Aggregationsebene in identifizierende und nicht identifizierende unterteilt Seite 99 Systemimplementierung CH Gsa profile uml m
185. totyps Seite 15 Einleitung Kapitel 2 bespricht die relevanten Grundlagen fiir DWs und f derierte DWs Diese sind die Grundlage fiir die in dieser Diplomarbeit besprochene Thematik Insbesondere wird auf den Aufbau von f derierten DWs eingegangen Zus tzlich wird eine kurze Einf hrung in die SQL MDi Sprache gegeben da diese eine Grundlage f r das weitere Vorgehen ist Die modellgetriebene Architektur wird in der Entwicklung mit Eclipse und dessen Standards oftmals eingesetzt Aus diesem Grund wird dieser Ansatz sowie alle f r dieses Projekt not wendigen Technologien und Konzepte in Kapitel 3 beschrieben Um die Grundlagen f r die Entwicklung des Eclipse Plug ins festzulegen wird in Kapitel 4 eine kurze Einf hrung in die Geschichte von Eclipse als auch eine Beschreibung der in dieser Arbeit relevanten Technologien gegeben Daraufhin werden die Grundlagen f r die Erstellung von Metamodellen in Eclipse mit den dazugeh rigen Frameworks z B EMF GEF SWT beschrieben Kapitel 5 besch ftigt sich mit der Erstellung des Metamodells f r das zu erstellende Werk zeug Dabei werden verschiedene Ans tze aus der Literatur verglichen und auf die Kompati bilit t mit dem Eclipse Modell gepr ft Das darauffolgende Kapitel 6 bespricht die Grundlagen f r die Implementierung des Global Schema Architects anhand dem Prozessmodells des evolution ren Prototyps Nach der Ein f hrung in das Prozessmodell wird auf die an das Projekt
186. ts sicher zu stellen mussten dieselben Ergebnisse wie bei dem von Rossgatterer 2008 durchgef hrten Integrationstest erzielt werden Seite 124 Evaluierung und Integrationstest Als Grundger st wurde das in Kapitel 1 2 vorgestellte Rahmenbeispiel herangezogen Die Datenbanken der Unternehmen MFA und MFB wurden auf einem MS SQL Server als gege ben vorausgesetzt Eine genaue Dokumentation der Datenbanken in Form von SQL Ausdr cken findet sich auf der mit dieser Arbeit ausgelieferten CD im Ordner db_scripts in den Dateien createDW_dwlI sql und createDW _dw2 sgl Durch Benutzerinteraktion wurden die importierten Schemata angepasst das globale Schema erzeugt und die entsprechenden Mappings gesetzt Dieser Prozess wird im Rahmen dieses Integrationstests nicht n her beschrieben Eine genaue Beschreibung der m glichen T tigkei ten kann im Benutzerhandbuch zu diesem Projekt nachgeschlagen werden Am Ende dieses Vorgangs standen dem Benutzer zwei import uml eine gsa uml zwei map und eine gmap Datei zur Verf gung Das Metadata Dictionary und das Dimension Repository werden durch die Exportfunktionen Export Metadata to Database des Global Schema Architects bereitgestellt Die Speicherung des Metadata Dictionaries erfolgte ebenso wie die Speicherung der Schemata der Beispielun ternehmen auf einer Datenbank des MS SQL Servers OLAP Repository Das Dimension Repository wurde auf einer bei der Erstellung des Global Schema erz
187. u DWs Im zweiten Teil werden f derierte DWs inklusive einer Einf hrung in verteilte Datenbanksys teme sowie die Aufl sung von Konflikten und Heterogenit ten zwischen verschiedenen Data Marts behandelt 2 1 Grundlagen von Data Warehousing Die Verwendung von Daten war ber eine lange Zeit speziell durch eine transaktionale Ver arbeitung gepr gt So wurden in operativen Anwendungen haupts chlich kurze Lese und Schreiboperationen eingesetzt In der Gegenwart und der riesigen Datenflut die sich in den letzten Jahrzehnten angesammelt hat steigt die Nachfrage nach einer auswertenden analyti schen Verwendung von Daten Bauer amp G nzel 2004 S 6 Zur L sung dieses Problems sind in den letzten Jahren einige neue Begriffe und Konzepte verst rkt in den Mittelpunkt ger ckt In dieser Arbeit werden im Speziellen Data Warehou sing und On Line Analytical Processing OLAP behandelt In der Fachliteratur werden diese Konzepte u a unter dem Begriff Analytische Informationssysteme zusammengefasst Das DW bezeichnet einen unternehmensweiten entscheidungsorientierten Datenpool welcher f r Analyse und Auswertungstechniken wie z B OLAP herangezogen werden kann Abbildung 2 1 veranschaulicht den betriebs bergreifenden Einsatz von analytischen Informationssyste men Chamoni amp Gluchowsk 1998 S 10ff Seite 19 Foderierte Data Warehouses Analytische Informations systeme Vertrieb Ted ae je Abbildung 2 1 A
188. u einer Dimension Diese Ma nahme hat eine Auswirkung auf die Schnellvorschau des W rfels und wird sofort in der Schnellvorschau angezeigt Die Anzeige in der Vorschauansicht erfolgt erst nach dem Spei chern der Schellvorschau Folgende Abbildung stellt dieses Beispiel mittels eines UML Aktivit tsdiagramms bersichtlich dar Seite 142 Anhang A V egent der Raunkin Auswahl des W rfels tempor re Speicherung W rfel geladen die Roll up Funktion wird bereits in Schnellvorschau angezeigt Dimension Speichern des W rfels gespeichert W rfel gespeichert und i Vorschau aktualisiert Abbildung 10 11 Aktivit tsdiagramm zur Speicherung eines Roll up Ausdrucks V Speichern der Dimension Zu den Import Mappings muss angemerkt werden dass keine Synchronisation mit dem Im port Schema oder dem Global Schema erfolgt Es wird immer der zum Zeitpunkt des Imports verwendete Stand herangezogen Sollten nachtr gliche nderungen im Import Schema not wendig sein so muss auch die Mapping Datei neu erzeugt werden 10 1 2 4 Erstellen des Global Mappings Das Global Mapping verh lt sich in vielerlei Hinsicht sehr hnlich dem Import Mapping Es sind jedoch auch einige signifikante nderungen bzw Unterschiede hervorzuheben So wer den durch das Global Mapping Konflikte auf Instanz Ebene gel st Daraus ergibt sich die Notwendigkeit f r eine einzige Global Mapping Datei Global G
189. ufgrund der zentralen Position in der Klasse ist die Tabelle f r das Verst ndnis des Listing 7 4 notwendig In Zeile 7 werden die Elemente aus der Tabelle ausgelesen Beim Speichervorgang der Detailseite werden automatisch die drei vorgegebenen Methoden createSettingsString generateSqlMdiText und update der Basisklasse ausgef hrt Diesen Methoden haben aufgrund der zentralen Rolle eine wichtige Bedeutung f r das Verst ndnis des Mapping Editors Sie zeigen auf wie die XML Ausdr cke sowie die SQL MDi Ausdr cke erstellt werden Nachstehend wird zur besseren Illustration die Implementierung der Methoden in der Klasse TypeCubeDetailsPage als Beispiel herangezogen protected String createSettingsString StringBuffer sb new StringBuffer sb append lt alias gt sb append cube _short getText sb append lt alias gt sb append lt dims gt TableItem dimItems dimensionsTable getItens for TableItem item dimItems sb append lt dim gt sb append item getText sb append lt dim gt sb append lt dims gt sb append lt measures gt TableItem factItems factsTable getItems for TableItem item factItems sb append lt measure gt sb append item getText sb append lt measure gt sb append lt measures gt return sb toString Listing 7 4 Erzeugen von XML Settings String Seite 116 Systemimplementierung Li
190. ukturen zu stellen Aus diesem Grund entsteht Seite 31 Foderierte Data Warehouses die Forderung Heterogenit ten zwischen den beiden Data Marts zu berwinden um Abfragen ber beide Data Marts stellen zu k nnen Ein nahe liegender Ansatz die Data Marts einheitlich zu strukturieren ist die Erstellung eines neuen DWs Dieser Ansatz ist technisch einfach umzusetzen jedoch verlangt er eine gro e Menge an Speicherplatz Der erh hte Speicherplatzbedarf sowie der damit verbundene erh h te Wartungsaufwand ergeben sich aus der doppelten Speicherung der Daten Die Daten m s sen in den zu importierenden und dem globalen DW verwaltet werden Ein weiterer L sungsansatz versucht die verschiedenen DWs auf Ebene der logischen Sche mata durch das Anlegen eines f derierten DW Systems zu verbinden Dieser Ansatz erfordert keine separate physische Datenbank bzw DW In dieser Arbeit wird in weiterer Folge aus schlie lich auf diesen Ansatz zur logischen Schema Integration eingegangen Anfangs werden die Grundlagen verteilter Datenbanksysteme besprochen um in weiter Folge auf die Umsetzung eines f derierten DWs zu schlie en In Anschluss wird auf den in dieser Arbeit verwendeten Ansatz des f derierten DW Systems eingegangen Schlussendlich wird das berbr cken von Heterogenit ten innerhalb eines f derierten DWs er rtert 2 2 1 Verteilte Datenbanksysteme Durch die zunehmende weltweite Vernetzung sowie der immer moderner werdend
191. ung f r die Anwendung der MDA ist die M glichkeit ein System auf verschiede nen Abstraktionsebenen zu beschreiben Zur Umsetzung werden Modelle herangezogen die dieser Voraussetzung gerecht werden Um den Aufbau von Modellen zu definieren werden Metamodelle eingesetzt Zur Beschreibung von Metamodellen werden wiederum Meta Metamodelle Meta Modelle verwendet Gruhn et al 2006 S 84 Definition 3 1 Metamodelle werden in der Fachliteratur oftmals als Modelle von Modellen bezeichnet Diese Definition ist jedoch nicht spezifisch genug Richtig ist die Bezeichnung Modelle von Modellierungsprachen von Modellen Diese Unterscheidung ergibt sich aus dem Grund dass ein Modell immer nur einen Ausschnitt der erlaubten Notation eines Meta modells anzeigt Demnach beschreiben Metamodelle die Sprache mit welcher ein Modell ausgedr ckt werden kann Gruhn et al 2006 S 84f Seite 44 Grundlagen modellgetriebene Entwicklung Abbildung 3 2 Ubersicht die Ebenen der Metamodellierung basierend auf Karagiannis amp Kiihn 2002 UONPHENSQY Abbildung 3 2 stellt den Zusammenhang der verschiedenen Ebenen der Metamodelleriung dar Ebene 0 repr sentiert das reale Objekt Eine weitere Verfeinerung dieses Objekts ist nicht m glich Die Beschreibung des Originals erfolgt mittels eines Modells Ebene 1 welches wiederum durch ein Metamodell Ebene 2 beschrieben werden kann Ebene 3 wird als die abstrakteste Ebene definiert diese k
192. ungen nennen nennen 81 6 3 2 1 Plattform und Programmieraprache rnain siese s iresi 8l 6 3 2 2 Verst ndlichkeit und Standards 2u 4sser2 eeiga hate sheet oebec tude soxerb ss binsdaas outer a 82 6 3 2 3 Benutzertreundlichkeit iiron inair cates iecevsentescsdeheugvestbven sen ENEE Ecg 82 Geck Pr totypischer Ansatz naar toned eaten EE 82 6 4 Technologien und Standards RE 82 e Echpse EE 83 OAD EE ee ee ege Eege ee 83 643 EE E 83 GAA EE 84 6 4 5 The Standard Widget Tookit AH 84 6 4 6 MS SQL Server 2005 Oracle JOeh 2 84 6 5 EE stars 84 6 5 1 Schemabezogene Komponenten 87 6 5 2 Manning Komponenten 91 6 3 3 EE 94 6 6 SEET le Ee eg 97 7 SYSTEMIMPLEMENTIERUNG ccccccsscsssssssssccccccccccesesssscccscccccssesesscccccesccsseseccsccccsscesess ID 7 1 Schemabezogene Komponenten ees dees hl 98 7 1 1 Komponente Metoamodell nenn snensensene ne 98 7 1 2 Komponente Jmport Achemg sense 106 7 1 3 Komponente Global Schema nennen snenenee sense nnenne ns 108 7 1 4 Grafischer Editor f r Schemakomponenten sense nennen nenn 109 7 2 EE EE EE 112 7 2 1 Komponente Jmport AMonning essen 115 7 2 2 Komponente Global Mapping nennen nenn snensennnne nn 117 7 3 EXPort Komponenten EE 119 7 3 1 Komponente Export Metro Dot 119 7 35 2 Komponente SOL MDi Datei erzeugen cccccccccccccceccesecetecetecnsesneeseeesseeeseseseeeeceseenecnsecaeens 120 7 4 Integration des Plug ins in die Eclipse Plattform 122 KS EIERE
193. ys2 metadata getImportedKeys null null tablename Fact while foreignKeys2 next myTables put tablename FACT break Tables which don t fit to any scheme if myTables containsKey tablename myTables put tablename NONE catch SQLException e e printStackTrace return myTables Listing 7 3 Erstellung des Vorschlages fiir den Import Seite 107 Systemimplementierung Listing 7 3 beschreibt den Quelltext fiir den Schema Vorschlag Die Notwendigkeit zur Be schreibung dieses Listings ergab sich aus der Komplexit t der Methode Durch eine genaue Beschreibung soll die Verst ndlichkeit erh ht werden Dieser Algorithmus wurde bereits in der Systemarchitektur in Abschnitt 6 5 1 mittels eines Aktivit tsdiagramms dargestellt Im Vergleich zum letztendlichen Quelltext wurde in diesem Beispiel aufgrund der besseren Les barkeit auf unbedeutende Codestellen verzichtet In den ersten Zeilen des Listings wird die Datenbankverbindung berpr ft und die Metadaten werden eingelesen In Zeile 11 werden die ausgelesenen Tabellen traversiert Daraufhin werden die exportierten Fremdschl ssel ermit telt Sollte eine Tabelle solche enthalten kann diese als Dimension definiert werden Sollten importierte Fremdschl ssel vorhanden sein wird die Tabelle als Fakt definiert Im Falle nicht vorhandener Schl ssel wird die Tabelle mit dem Wert NONE maskiert 7 1 3 Komp
194. ziehen Zus tzlich wird ein Grundwissen ber die multidimensionale Abfragesprache SQL MDi als gegeben angesehen Eine detaillierte Beschreibung der Abfragesprache findet sich in Berger amp Schrefl 2006 Grundlage f r jeden Anwendungsfall ist ein Eclipse Projekt welches zu Beginn erstellt wer den muss Hierzu muss in der Men leiste File gt New Project ausgew hlt werden Dar aufhin ffnet sich ein Assistent welcher die verf gbaren Projekt und Dateitypen anzeigt In diesem Men muss General Project ausgew hlt werden Nach einem Klick auf die Next Schaltfl che kann der Projektname vergeben werden In diesem Fall wird der Name user manual vergeben Durch Bet tigung der Finish Schaltfl che wird das Projekt erstellt 10 1 2 1 Erzeugen eines neuen globalen Schemas Die Erstellung eines neuen Schemas kann in zwei unterschiedlichen Varianten durchgef hrt werden So gibt es zum einen die M glichkeit die Datei von Grund auf neu zu erstellen und zum anderen die Variante ein vorhandenes importiertes Schema zu kopieren und in diesem entsprechende nderungen vorzunehmen Um zu dieser Auswahl zu gelangen muss das Grundprojekt mit der rechten Maustaste angeklickt werden und im Kontextmen new other gt Global Schema Architect ausgew hlt werden Innerhalb dieses Men s kann der Be nutzer zwischen den jeweiligen Varianten w hlen In Bezug auf die Umsetzung des Rahmen beispiels wird ein neuer Global Schema Architect File

Download Pdf Manuals

image

Related Search

Related Contents

2015-16 Maintenance and Lubrication Tools Section  Statistiques et calculatrice  Regional Antioquia LE INVITA A COTIZAR  Batteries Do`s and Don`ts  Manuel d`utilisation Tondeuse WOOD 120 & 130  und Installationsanleitung herunterladen 0.4 MB  C。NN。`SSEUR コニサ  Graco 311689G User's Manual    Samsung Samsung Soul U900 Instrukcja obsługi  

Copyright © All rights reserved.
Failed to retrieve file