...
daylight Application Framework
Das
...
daylight Application Framework ermöglicht die Anpassung und Weiterentwicklung von
...
daylight durch Integrationspartner und Kunden.
- Kundenspezifische Anpassungen/Erweiterungen auf Feld- und Entitätsebene.
...
- Vollständige, vertikale Lösungen.
Der modellbasierte Architekturansatz bietet folgende Vorteile:
- Schnelle und effiziente Umsetzung von neuer Funktionalität mittels mitgelieferten Werkzeugen. Keine 'Basisprogrammierung' mehr erforderlich.
...
- Nahtlose Integration in das Daylight daylight User Interface (WinClient & Web).
- Hersteller-unabhängige Entwicklung, Integration und Auslieferung von Erweiterungen. Es ist keine Neukompilierung des Daylight daylight Source-Codes erforderlich.
Metadaten und ihre Verwendung
Daylight daylight wurde modellgetrieben entwickelt und basiert auf einem Metadaten-Framework
Was sind Metadaten?
Metadaten sind per Definition Daten über Daten einer Applikation. Sie beschreiben Eigenschaften und Fähigkeiten von und Verbindungen zwischen verschiedenen Entitäten in einer bestimmten Anwendungsdomäne (z.B. Kurs- und Event-Management).
Warum Metadaten verwenden?
Metadaten ermöglichen generische Programmierung. Der Entwickler programmiert gegen Metadaten und nicht gegen spezifische Entitäten eines Datenmodells oder Funktionen einer Businesslogik.
Metadaten erlauben eine konsequente Anwendung des D.R.Y.-Prinzips (Don't Repeat Yourself). Durch das Modellieren von allen relevanten Charakteristiken von Datenstrukturen und Businesslogik können diese generell und einmalig abgehandelt werden und nicht für jede Ausprägung einzeln.
Framework-Eigenschaften
Daylightdaylight-Modelle werden (zur Zeit) in C# definiert und beim Applikationsstart komplett in den Arbeitsspeicher geladen.
Modelliert werden nicht nur Businessdaten sondern auch Applikationsdaten: Navigation- und Menü-Elemente der Benutzeroberfläche, Notfizierungen und Log-Messages, Schnittstellenbeschreibungen etc.
Das Framework hat die vollständige Kontrolle über den Persistenz-Layer (Datenbank) und bietet folgende Services:
- Objektrelationales Mapping
...
Kundenspezifische Erweiterungen werden getrennt vom Daylightdaylight-Modell entwickelt und gepflegt und werden erst beim Applikationsstart über das Hauptmodell geladen.
Alle Komponenten der grafischen Benutzeroberfläche von
...
daylight sind 'metadaten-aware':
Daten-Komponenten
Sind aufgrund der Metadaten in der Lage, die ihnen übergebenen Daten korrekt darzustellen und handzuhaben.
...
Integrierte Reporting Engine
Verwendet das Metadaten-Framework für Design und Ausführung von Reports.
Modell-Elemente
Datenstrukturen: Business- und Applikationsdaten
- MetaClasses
- MetaProperties
- MetaPaths & MetaRelations
Operationen: Business- und Applikationslogik
- MetaMethods
- MetaMethodParameters
Aspekte
- Aspekte sind kleine, entwickler-definierte Informationspakete, welche den Meta-Elementen «angehängt» werden können und gegen die der Entwickler ebenfalls programmieren kann.
- Beispiele: SortOrder-Aspect, IsStandaloneEntity-Aspect, IsTinyEntity-Aspect