Framework-Evolution am Beispiel eines Frameworks zur Steuerung von Tk-Anlagen1 Einleitung 1.1 Ausgangspunkte und Aufbau der Arbeit 1.2 Verwendete Notationen 1.3 Danksagung 2 Frameworks 2.1 Definition und Terminologie von Frameworks 2.1.1 Hot Spots und Frozen Spots 2.2 Techniken zur Framework-Konstruktion 2.2.1 Vererbung und abstrakte Klassen 2.2.2 Parametrisierung 2.2.3 Schnittstellen-Gestaltung 2.2.3.1 Kunden- und Spezialisierungs-Schnittstelle 2.2.3.2 Trennung von Parametern und Einstellungen 2.2.3.3 Dynamische Bindung 2.3 Kategorien von Frameworks 2.4 Die Beziehung zwischen Entwurfsmustern und Frameworks 2.5 Vorgehensweise bei der Framework-Entwicklung 2.6 Framework-Evolution 2.6.1 Gründe für Framework-Evolution 2.6.2 Gerichtete und ungerichtete Evolution 2.6.3 Typische Merkmale der Framework-Evolution 2.6.4 Auswirkungen der Framework-Evolution 3 Anwendungsgebiet: Telefonie 3.1 Anwendungsgebiete für Telefonie-Systeme 3.2 Das Micrologica Communication Center (MCC) 3.3 Hardware-Konfigurationen für Computer-Telefonie 3.4 Telefonie-APIs 3.4.1 Kommunikation zwischen Anwendung und Tk-Anlage 3.4.2 Das Half-Call-Modell 3.5 Probleme der Computer-Telefonie 3.5.1 Vielfältige Hardware-Landschaft 3.5.2 Keine exklusive Steuerung bei LAN-zentrierten Konfigurationen 3.5.3 Verlorene Events 3.5.4 Unzureichende Standardisierung 3.6 Ausgangspunkt zur Framework-Entwicklung 4 Das Micrologica-Telefonie-Framework 4.1 Bisherige Architektur 4.1.1 Probleme der bisherigen Architektur 4.2 Ziele der Framework-Entwicklung 4.3 Aufbau des Frameworks 4.3.1 Die Bereiche im Überblick 4.3.2 Aufträge an die Tk-Anlage: Requests 4.4 Benutzung des Telefonie-Frameworks 4.5 Vorgehensweise bei der Framework-Entwicklung 5 Erfahrungen aus der Evolution des Micrologica-Telefonie-Frameworks 5.1 Unnötige Compilezeit-Abhängigkeiten 5.1.1 Arten von Abhängigkeiten 5.1.2 Reduktion der Abhängigkeiten 5.1.3 Bessere Generierungswerkzeuge 5.2 Umstellung des Meta-Object-Protocol 5.2.1 Umgang mit kommenden Spracheigenschaften 5.2.2 Implementation eines Meta-Object-Protocol 5.2.3 Designrichtlinien für die Verwendung des Meta-Object-Protocol 5.3 Evolution der Zustandsmodellierung 5.3.1 Aufzählungstypen 5.3.2 Eine wiederverwendbare Singleton-Implementation 5.4 Entwicklung der Event-Normalisierung 5.5 Evolution der Kern-Abstraktion 5.6 Zusammenfassung 6 Framework-Partitionierung 6.1 Die Partitionen des Telefonie-Frameworks 6.2 Abgrenzung des Anwendungsbereichs für ein Framework 6.2.1 Das Design-Zentrum des Telefonie-Frameworks 6.3 Notwendigkeit der Framework-Strukturierung 6.3.1 Framework-Partitionierung 6.3.2 Framework-Strukturierung 6.4 Konstruktionstechniken für Partitionen 6.5 Partitionierungskriterien 6.6 Zusammenfassung 7 Fazit und Ausblick Anhang A: Literatur Anhang B: Glossar der Telefonie-Begriffe |