Crawling von Enterprise Topologien zur automatisierten Migration von Anwendungen – eine Cloud-Perspektive VonderFakultätfürInformatik,ElektrotechnikundInformationstechnik derUniversitätStuttgartzurErlangungderWürdeeinesDoktorsder Naturwissenschaften(Dr.rer.nat.)genehmigteAbhandlung Vorgelegtvon Tobias Binz ausStuttgart Hauptberichter: Prof.Dr.FrankLeymann Mitberichter: Univ.Prof.Dr.SchahramDustdar TagdermündlichenPrüfung: 16.April2015 InstitutfürArchitekturvonAnwendungssystemen derUniversitätStuttgart 2015 I NHALTSVERZEICHNIS 1 Einleitung 15 1.1 ProblemstellungenundForschungsbeiträge . . . . . . . . . . . . 17 1.1.1 MethodezurMigrationvonAnwendungen . . . . . . . . . 18 1.1.2 Konzept zur Repräsentation und Verarbeitung von IT- Instanzmodellen . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.1.3 CrawlingvonIT-Instanzmodellen. . . . . . . . . . . . . . . 19 1.1.4 IdentifikationundIsolationderzumigrierendenAnwen- dung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.1.5 KonzeptzurUmsetzungundAutomatisierungderAROMA- MethodemittelsTOSCA . . . . . . . . . . . . . . . . . . . . . 21 1.1.6 Architektur,RealisierungundValidierungderBeiträge . 22 1.2 AufbauderArbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3 Veröffentlichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2 GrundlagenundverwandteArbeiten 29 2.1 Service-orientierteArchitekturen . . . . . . . . . . . . . . . . . . . 30 2.2 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3 2.3 CloudComputing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.1 Cloud-Eigenschaften . . . . . . . . . . . . . . . . . . . . . . 34 2.3.2 Cloud-Anwendungen . . . . . . . . . . . . . . . . . . . . . . 36 2.4 Anwendungstopologien . . . . . . . . . . . . . . . . . . . . . . . . 38 2.4.1 KomponentenbasierteSoftwareentwicklung . . . . . . . . 39 2.4.2 AutomatisierteBereitstellungvonAnwendungen . . . . . 39 2.4.3 TopologyandOrchestrationSpecificationforCloudApp- lications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.5 IT-Instanzmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.5.1 AbgrenzungvonAnwendungstopologien . . . . . . . . . . 46 2.5.2 AbgrenzungvonEnterpriseArchitectureManagement. . 46 2.5.3 VerwandteArbeitenzuIT-Instanzmodellen . . . . . . . . . 47 2.5.4 DiskussionundoffeneForschungsfragen . . . . . . . . . . 48 2.6 ErstellungvonEnterpriseTopologien . . . . . . . . . . . . . . . . 49 2.6.1 AutomatisierteEnterpriseArchitekturDokumentation . . 50 2.6.2 SoftwareArchitectureReconstruction . . . . . . . . . . . . 51 2.6.3 IdentifikationvonAbhängigkeitenzwischenDiensten . . 52 2.6.4 ErstellungvonInstanzmodellengroßerTeilederIT . . . 54 2.6.5 KomponentenspezifischeExtraktion . . . . . . . . . . . . . 56 2.6.6 DiskussionundoffeneForschungsfragen . . . . . . . . . . 57 2.7 MigrationvonAnwendungen . . . . . . . . . . . . . . . . . . . . . 58 2.7.1 Migrationsstrategien . . . . . . . . . . . . . . . . . . . . . . 59 2.7.2 VorgehensmodellezurAnwendungsmigration . . . . . . . 60 2.7.3 AutomatisierungderMigrationsdurchführung . . . . . . . 63 3 MethodezurMigrationvonAnwendungen 67 3.1 AnforderungenundHerausforderungen . . . . . . . . . . . . . . 68 3.2 AROMA-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2.1 Schritt1:CrawlingderIT . . . . . . . . . . . . . . . . . . . 70 3.2.2 Schritt 2: Identifikation, Partitionierung und Isolation derAnwendungausderEnterpriseTopologie . . . . . . . 72 3.2.3 Schritt3:TransformationinAnwendungstopologie . . . 73 3.2.4 Schritt4:AdaptionandiekonkreteZielumgebung . . . . 74 4 3.2.5 Schritt5:EvaluationundmanuelleAnpassung . . . . . . 76 3.2.6 Schritt6:Paketierung . . . . . . . . . . . . . . . . . . . . . . 77 3.2.7 Schritt7:BereitstellungundUmstellung . . . . . . . . . . 78 3.3 VariantenderMethode . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.3.1 Variante1:SelektiveErstellungderEnterpriseTopologie 80 3.3.2 Variante2:MigrationgeschäftsprozessbasierterAnwen- dungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.4 DiskussionundZusammenfassung . . . . . . . . . . . . . . . . . . 84 3.4.1 FürdieMigrationgeeigneteAnwendungen . . . . . . . . 85 3.4.2 FürdieMigrationgeeigneteZielumgebungen . . . . . . . 86 4 EnterpriseTopologieGraph 89 4.1 ETG-Metamodell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.2 DefinitionvonEnterpriseTopologieGraphen . . . . . . . . . . . 92 4.2.1 Komponenten. . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.2 Relationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.3 Typen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.2.4 ElementeundihreEigenschaften . . . . . . . . . . . . . . . 98 4.2.5 GrundlegendeRelationentypen . . . . . . . . . . . . . . . . 99 4.2.6 Segmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.3 GranularitätvonEnterpriseTopologieGraphen . . . . . . . . . . 101 4.4 TopologieQueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.5 OperationDeepDive. . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.6 IdentifikationundIsolationvonKomponentenausdemETG. . 108 4.6.1 Schritt1:BestimmungderpotentiellenKomponenten . . 109 4.6.2 Schritt2:ReduktionderKomponenten . . . . . . . . . . . 109 4.6.3 Schritt3:BehandlunggemeinsamgenutzterKomponenten112 4.6.4 Erweiterbarkeit. . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.6.5 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.7 DiskussionundZusammenfassung . . . . . . . . . . . . . . . . . . 115 5 5 CrawlingvonEnterpriseTopologieGraphen 117 5.1 Crawler-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.1.1 AnforderungenandieCrawler-Methode . . . . . . . . . . 119 5.1.2 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.1.3 Crawler-Architektur . . . . . . . . . . . . . . . . . . . . . . . 125 5.1.4 Rollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.1.5 Ablaufsteuerung . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.1.6 DeduplizierungundKonsolidierung . . . . . . . . . . . . . 136 5.2 ArbeitsweisevonCrawler-Plugins . . . . . . . . . . . . . . . . . . 140 5.2.1 BPELundWSDL . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.2 AnwendungundWebserver . . . . . . . . . . . . . . . . . . 143 5.2.3 EnterpriseServiceBus . . . . . . . . . . . . . . . . . . . . . 145 5.2.4 BetriebssystemundServer . . . . . . . . . . . . . . . . . . . 149 5.3 EntwicklungvonCrawler-Plugins . . . . . . . . . . . . . . . . . . 151 5.3.1 Entwicklungs-undTestmethode . . . . . . . . . . . . . . . 151 5.3.2 InformationsquellenfürCrawler-Plugins . . . . . . . . . . 153 5.4 EvaluationundValidierung . . . . . . . . . . . . . . . . . . . . . . 156 5.4.1 ValidierungderCrawler-Methode . . . . . . . . . . . . . . 156 5.4.2 ZugriffsrechteundSicherheit . . . . . . . . . . . . . . . . . 157 5.4.3 ErweiterbarkeitundIntegration . . . . . . . . . . . . . . . 158 5.4.4 AktualisierungvonETGs . . . . . . . . . . . . . . . . . . . . 158 5.4.5 EinflussaufProduktionssystememinimieren. . . . . . . . 159 5.4.6 ETG-Qualität . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5.5 DiskussionundZusammenfassung . . . . . . . . . . . . . . . . . . 161 6 UmsetzungderAROMA-MethodemitTOSCA 163 6.1 TypsystemfürETGundTOSCA . . . . . . . . . . . . . . . . . . . . 164 6.2 TOSCA-Ökosystem„OpenTOSCA“ . . . . . . . . . . . . . . . . . . 165 6.3 UmsetzungderSchrittederAROMA-MethodemitTOSCA . . . 166 6.3.1 Schritt3:TransformationinAnwendungstopologie . . . 166 6.3.2 Schritt4:AdaptionandiekonkreteZielumgebung . . . . 168 6.3.3 Schritt5:EvaluationundmanuelleAnpassung . . . . . . 173 6.3.4 Schritt6:Paketierung . . . . . . . . . . . . . . . . . . . . . . 173 6 6.3.5 Schritt7:BereitstellungundUmstellung . . . . . . . . . . 173 7 ArchitekturundPrototypen 175 7.1 GesamtarchitekturundETG-Framework . . . . . . . . . . . . . . 175 7.2 ETG-Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.3 ETG-Crawler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.3.1 ArchitekturdesETG-Crawlers . . . . . . . . . . . . . . . . . 181 7.3.2 RealisierungdesETG-Crawlers . . . . . . . . . . . . . . . . 182 7.3.3 EntwickelteCrawler-Plugins . . . . . . . . . . . . . . . . . . 183 7.4 AROMA-Migrationsassistent . . . . . . . . . . . . . . . . . . . . . . 186 7.4.1 ArchitekturdesMigrationsassistenten . . . . . . . . . . . . 187 7.4.2 RealisierungdesMigrationsassistenten . . . . . . . . . . . 188 7.4.3 RealisierungvonVariante2derAROMA-Methode . . . . . 191 8 ValidierungundEvaluation 193 8.1 Fallstudie:MigrationderAnwendung„Moodle“. . . . . . . . . . 194 8.2 Verwendung von Enterprise Topologie Graphen und deren CrawlinginanderenArbeiten . . . . . . . . . . . . . . . . . . . . . 198 8.2.1 DeklarativeVerwaltungundAdaptionlaufender Cloud-Anwendungen . . . . . . . . . . . . . . . . . . . . . . 198 8.2.2 ReengineeringvonGeschäftsprozessenanhand ökologischerFaktoren. . . . . . . . . . . . . . . . . . . . . . 198 8.3 EvaluationundSchlussfolgerungen . . . . . . . . . . . . . . . . . 199 8.3.1 Automatisierung . . . . . . . . . . . . . . . . . . . . . . . . . 199 8.3.2 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 8.3.3 VerbesserungderNutzungderCloud-Eigenschaften . . . 201 8.3.4 VerbesserungderPortabilität . . . . . . . . . . . . . . . . . 202 8.3.5 Anwendbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . 203 8.3.6 Erweiterbarkeit. . . . . . . . . . . . . . . . . . . . . . . . . . 205 9 ZusammenfassungundAusblick 207 9.1 ZusammenfassungderForschungsbeiträge . . . . . . . . . . . . . 208 9.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 7 Literaturverzeichnis 213 Abbildungsverzeichnis 243 Definitionsverzeichnis 245 Algorithmenverzeichnis 247 ListemathematischerSymbole 249 8 Z USAMMENFASSUNG EineschnelleAnpassungderITansichänderndeAnforderungenbeigleich- zeitigerReduktionderKostenbestimmtheutedieKonkurrenzfähigkeiteiner Organisation. Voraussetzung dafür ist ein technisch detaillierter Einblick in die gesamte IT, also ein Instanzmodell aller Komponenten und deren Beziehungenzueinander.DaOrganisationendieseArtderDokumentation meistnichtdurchführen,sinddieseIT-Instanzmodelletypischerweisenicht vorhanden, unvollständig oder veraltet. Eine Ursache dafür ist, dass die manuelleIdentifikationvonKomponentenundderenBeziehungeneinesehr zeitaufwändige,fehleranfälligeundsomitkostenintensiveAufgabeist.Ne- benderAdaptionderITimAllgemeinenerschwertdiesauchdieMigration vonAnwendungen,welchedurchdenTrendzumAuslagernderITindie Cloudstarknachgefragtwird.DieVisiondieserArbeitistes,einentechnisch detaillierten,vollständigenundaktuellenEinblickindieITzuerlaubenund diesen zu nutzen, um die automatisierte Migration von Anwendungen zu ermöglichen. Dafür stellt die vorliegende Arbeit eine Methode zum automatisierten CrawlingeinesInstanzmodellsdergesamtenITeinerOrganisationvor.Zu dessenRepräsentation,VerwaltungundVerarbeitungwirdmitdemEnterpri- seTopologieGraph(ETG)einMetamodelleingeführt,dasalleAnwendun- gen,derfürderenBetriebnötigenKomponentenundderenBeziehungen 9 untereinanderrepräsentiert.ETGsundihrautomatisiertesCrawlingerlau- beneinenumfassendenundvollständigenEinblickindieITeinerOrganisa- tionundbildensomiteinesolideGrundlagefürderenAnalyse,Adaption undOptimierung.DaraufaufbauendwirdeineMethodezurMigrationvon Anwendungen (AROMA) entwickelt,die esermöglicht, von denVorteilen fortschrittlicherIT-Umgebungenzuprofitieren,ohnedieseAnwendungen neu entwickeln zu müssen. Nach dem Crawling des ETGs der Ursprungs- umgebung wird in der AROMA-Methode die zu migrierende Anwendung extrahiert,transformiert,evaluiert,adaptiertundinderZielumgebung,zum BeispieleinerCloud,bereitgestellt.DieUmsetzungderAROMA-Methodemit- hilfedesOASIS-StandardsTOSCAträgtzurAutomatisierungderMigration beiunderhältdieFunktionalitätderAnwendung.DieForschungsbeiträge undPrototypenwerdendurchverschiedeneFallstudienvalidiertundanhand derAspekteAutomatisierung,Korrektheit,Anwendbarkeit,Erweiterbarkeit sowiederVerbesserungderCloud-EigenschaftenundPortabilitätderAn- wendungevaluiert. 10
Description: