Ein Software-Framework fu¨r die Entwicklung betrieblicher Anwendungssysteme auf der Basis von Gescha¨ftsprozessmodellen Dissertation zurErlangungdesakademischenGrades Dr.rer.pol. vorgelegtander Fakulta¨tfu¨rWirtschaftsinformatikundAngewandteInformatik der Otto-Friedrich-Universita¨tBamberg von ChristianWeichelt Bamberg, Ma¨rz2009 Gutachter: Prof.Dr.OttoK.Ferstl Prof.Dr.ElmarJ.Sinz TagderDisputation:05.Februar2010 Meinen Eltern Inhaltsverzeichnis Abbildungsverzeichnis vi Tabellenverzeichnis ix Listings x Abku¨rzungsverzeichnis xi 1 Einleitung 1 1.1 MotivationundProblemstellung . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 ZielsetzungundLo¨sungsansatzderArbeit . . . . . . . . . . . . . . . . . . . . 4 1.3 GangderArbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 UmfeldderArbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Konventionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 I Betriebliche Anwendungssysteme 10 2 Grundlagen betrieblicher Anwendungssysteme 11 2.1 BetrieblichesInformationssystem . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 BetrieblicheAnwendungssysteme . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Entwicklung betrieblicher Anwendungssysteme 18 3.1 KonstruktionvonSystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 SoftwareEngineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 INHALTSVERZEICHNIS ii 3.3 Software-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.1 Nutzer-undBasismaschine . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 DasADK-Strukturmodell . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.3 Doma¨nenbezogeneSchichtenarchitektur . . . . . . . . . . . . . . . . . 26 3.3.4 ObjektorientiertesArchitekturmodell(ooAM) . . . . . . . . . . . . . . 28 3.3.5 Service-orientierteArchitekturen . . . . . . . . . . . . . . . . . . . . . 29 3.4 ErgebnisderAnwendungssystementwicklung . . . . . . . . . . . . . . . . . . 33 3.5 VorgehenbeiderAnwendungssystementwicklung . . . . . . . . . . . . . . . . 41 3.5.1 Wasserfall-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.2 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.3 Spiralmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.4 ObjektorientiertesVorgehensmodell . . . . . . . . . . . . . . . . . . . 46 3.5.5 AgileSoftware-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . 48 4 Integration betrieblicher Anwendungssysteme 51 4.1 Integrationsziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2 Integrationskonzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.1 Funktionsintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.2 Datenintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.3 Objektintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 II Gescha¨ftsprozessmodellgetriebene Anwendungsentwicklung 58 5 Gescha¨ftsprozesse als Treiber der Anwendungsentwicklung 59 5.1 Gescha¨ftsprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2 Gescha¨ftsprozessmodellierung . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3 DieSOM-Methodik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3.1 ArchitekturdesInformationssystems . . . . . . . . . . . . . . . . . . 68 5.3.2 FachlicheSpezifikationvonAnwendungssystemen . . . . . . . . . . . 69 5.4 ModellgetriebeneSoftware-Entwicklung . . . . . . . . . . . . . . . . . . . . . 74 5.5 Gescha¨ftsprozessmodellgetriebeneSoftware-EntwicklungmitSOM . . . . . . 77 INHALTSVERZEICHNIS iii 5.6 Unterstu¨tzungderIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.6.1 Unterstu¨tzungstrukturorientierterIntegrationsziele . . . . . . . . . . . 81 5.6.2 Unterstu¨tzungverhaltensorientierterIntegrationsziele . . . . . . . . . . 82 5.6.3 Unterstu¨tzung der Aufgabentra¨gerunabha¨ngigkeit des Anwendungssy- stems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6 Konzepte der Software-Entwicklung 87 6.1 Standard-undIndividualsoftware . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.1.1 Standardsoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.1.2 Individualsoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.1.3 KombinationvonIndividual-undStandardsoftware . . . . . . . . . . . 90 6.2 Wiederverwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3 ObjektorientierungundobjektorientierteSoftware-Technik . . . . . . . . . . . 94 6.3.1 ObjektorientierterAnsatz . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.3.2 ObjektorientierteProgrammierung(OOP) . . . . . . . . . . . . . . . . 95 6.3.3 ObjektorientiertesDesign(OOD) . . . . . . . . . . . . . . . . . . . . 95 6.3.4 ObjektorientierteAnalyse(OOA) . . . . . . . . . . . . . . . . . . . . 96 6.4 Aspektorientierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.5 Komponentenorientierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.6 Entwurfsmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.7 Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7 Frameworks in der Systementwicklung 104 7.1 DerFramework-Entwicklungsprozess . . . . . . . . . . . . . . . . . . . . . . 107 7.1.1 White-BoxFrameworks . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.1.2 Black-Box-Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.2 WirtschaftlicheAspektedesFramework-Einsatzes . . . . . . . . . . . . . . . . 111 7.3 IBM:SanFrancisco™Framework . . . . . . . . . . . . . . . . . . . . . . . . 114 7.3.1 Einsatzbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.3.2 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.3.3 KritischeWu¨rdigung . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.4 OMG:BusinessObjectFacility . . . . . . . . . . . . . . . . . . . . . . . . . . 118 INHALTSVERZEICHNIS iv 7.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 III Das Framework moccabox 124 8 Software-Architektur des Frameworks moccabox 125 8.1 DasRepository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 8.2 TechnischeFunktionalita¨tfu¨rInterfaceObjekte . . . . . . . . . . . . . . . . . 130 8.2.1 EreignisbehandlungderKommunikations-Schnittstelle . . . . . . . . . 132 8.2.2 Architekturmodellefu¨rUIMS . . . . . . . . . . . . . . . . . . . . . . 133 8.2.2.1 DasPAC-Modell . . . . . . . . . . . . . . . . . . . . . . . . 134 8.2.2.2 Model-View-Controller . . . . . . . . . . . . . . . . . . . . 135 8.2.2.3 VergleichMVC-ModellundPAC-Modell . . . . . . . . . . . 139 8.2.3 Software-Ergonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 8.2.4 Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 8.3 TechnischeFunktionalita¨tfu¨rVorgangsobjekte . . . . . . . . . . . . . . . . . . 144 8.3.1 DasVorgangsobjekt . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 8.3.2 KomponentezurVorgangssteuerung . . . . . . . . . . . . . . . . . . . 145 8.3.3 Komponentefu¨rdieSicherungderIntegrita¨t . . . . . . . . . . . . . . 146 8.3.4 Integrita¨tsmonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 8.3.5 DieSicherheitskomponente . . . . . . . . . . . . . . . . . . . . . . . 151 8.4 TechnischeFunktionalita¨tfu¨rkonzeptuelleObjekte . . . . . . . . . . . . . . . 153 8.4.1 Persistenzkomponente . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.5 DokumentationdesAnwendungssystems . . . . . . . . . . . . . . . . . . . . 153 9 Software-technische Realisierung des Frameworks moccabox 155 9.1 AuswahlderBasismaschinen . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.1.1 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.1.2 ExtensibleMarkupLanguage(XML) . . . . . . . . . . . . . . . . . . 158 9.2 Standardisierte&erweiterbareAnwendungsschicht . . . . . . . . . . . . . . . 158 9.3 Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.3.1 moccaparts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 INHALTSVERZEICHNIS v 9.3.2 Metasystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 9.4 GUI-Frameworkfu¨rWeb-Applikationen . . . . . . . . . . . . . . . . . . . . . 166 9.4.1 ArchitekturdesWeb-Framework . . . . . . . . . . . . . . . . . . . . . 168 9.4.2 VerhaltendesWeb-Framework . . . . . . . . . . . . . . . . . . . . . . 171 9.5 Anwendungsfunktionalita¨t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 9.6 Persistenzmechanismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.7 Zugriffskontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 9.7.1 Zugriffsberechtigungfu¨rVorgangsdurchfu¨hrung . . . . . . . . . . . . 179 9.7.2 Nutzer-undRechteverwaltung . . . . . . . . . . . . . . . . . . . . . . 180 9.8 Internationalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 9.9 Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 10 Zusammenfassung, Bewertung und Ausblick 188 10.1 ZusammenfassungundBewertungderErgebnissederArbeit . . . . . . . . . . 188 10.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Anha¨nge I Literaturverzeichnis I Index XIX Danksagung XXII Lebenslauf XXIII Abbildungsverzeichnis + 1.1 Software-Systemmodell[Fer 96b,46] . . . . . . . . . . . . . . . . . . . . . . . . 3 + 1.2 ProgrammerstellungmitFramework-Einsatz(nach[Fer 96b,46]) . . . . . . . . . 5 + 1.3 GangderArbeitanhandSoftware-Systemmodell(nach[Fer 96b,46]) . . . . . . . 7 2.1 BetrieblicheAufgabe[FeSi06,92] . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 AufgabenebeneundAufgabentra¨gerebeneeinesIS[FeSi06,3] . . . . . . . . . . . 13 2.3 InformationsbeziehungenundKommunikationssystemeimIS[FeSi06,4] . . . . . 14 + 2.4 Software-Systemmodell[Fer 96b,46] . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1 AufgabenmodellderSystementwicklung[FeSi06,459] . . . . . . . . . . . . . . . 18 3.2 SchichtendesArchitektur-Referenzmodells[StVo¨05,135] . . . . . . . . . . . . . 23 3.3 SchichtungvonNutzer-undBasismaschinen[FeSi06,303] . . . . . . . . . . . . . 24 3.4 ADK-Strukturmodell[FeSi06,305] . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5 ADK-StrukturmodelleinesAnwendungssystems(nach[FeSi06,305]) . . . . . . . 26 3.6 Software-Architektur-Schichten[Evan04,68]) . . . . . . . . . . . . . . . . . . . . 27 3.7 DasooAMmitSchnittstellen[Ambe93,37]) . . . . . . . . . . . . . . . . . . . . . 28 3.8 Service-orientierteArchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.9 Informationssystemarchitektur(inAnlehnungan[FeSi06,3])und[FeSi06,444] . . 31 3.10 InformationssystemarchitekturmitSOA(inAnlehnungan[FeSi06,3])und[LuTy03, 53f] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.11 PhasendesLo¨sungsverfahrensderSystementwicklungsaufgabeimSoftware-Systemmodell [FeSi06,463] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.12 HorizontalerundvertikalerPrototyp[Balz08,540] . . . . . . . . . . . . . . . . . 45 ABBILDUNGSVERZEICHNIS vii 3.13 PhasenmodellderobjektorientiertenAnwendungssystementwicklung[Sinz91] . . . 46 3.14 SOM-Projektmodell[Sinz00,33] . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1 BeispieleinesdatenintegriertenAnwendungssystems[FeSi06,234] . . . . . . . . 55 4.2 BeispieleinesobjektintegriertenAnwendungssystems[FeSi06,236] . . . . . . . . 56 5.1 Gescha¨ftsprozess[FeSi95a,214] . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2 ZweistufigesVorgehenbeiderAnforderungsspezifikationdesAnwendungssystems [Popp94,4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3 ZweistufigesVorgehenbeiderAnforderungsspezifikationdesAnwendungssystems undanschließendesoftware-technischeAbbildung(nach[Popp94,4]) . . . . . . . 62 5.4 UnternehmensarchitekturderSOM-Methodik(nach[Mali97,6]) . . . . . . . . . . 64 5.5 VorgehensmodellderSOM-Methodik([FeSi06,188]) . . . . . . . . . . . . . . . . 67 5.6 RelationaleundobjektorientierteDarstellungeinerM:N-Beziehung . . . . . . . . 72 5.7 GrundprinzipdesMDSD(nach[StVo¨05,18]) . . . . . . . . . . . . . . . . . . . . 76 5.8 TransformationendesMDSD[StVo¨05,18] . . . . . . . . . . . . . . . . . . . . . 76 5.9 BeispielKommunikationsstrukturderfachlichenObjekteeinesAnwendungssystems 81 6.1 CodescatteringundtanglingbeicrosscuttingConcerns[Ladd03,16f] . . . . . . . 97 6.2 WiederverwendungeinesFrameworks[Gamm92,12] . . . . . . . . . . . . . . . . 102 + 7.1 ProgrammerstellungmitFramework-Einsatz(nach[Fer 96b,46]) . . . . . . . . . 104 7.2 AufrufbeziehungenKlassenbibliothekundFramework(nach[Zeid99,5]) . . . . . 107 7.3 Framework-Entwicklungsprozess(nach[RoJo97b]) . . . . . . . . . . . . . . . . . 108 7.4 Framework-EntwicklungsprozessnachfachlichemModell . . . . . . . . . . . . . 111 7.5 ArchitekturdesIBMSanFrancisco™Framework (nach[Henn98,37]) . . . . . . . 115 7.6 BusinessObjectFacilityundCommonBusinessObjects[OMG96,20] . . . . . . . 119 7.7 UnternehmensarchitekturderSOM-Methodik(nach[Mali97,6]) . . . . . . . . . . 121 7.8 DasooAMmitSchnittstellen[Ambe93,37]) . . . . . . . . . . . . . . . . . . . . . 122 7.9 Framework-EinsatzinderUnternehmensarchitekturderSOM-Methodik(nach[Mali97, 6]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8.1 ArchitekturdesFrameworksmoccabox . . . . . . . . . . . . . . . . . . . . . . . 127
Description: