Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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