Skip to end of banner
Go to start of banner

daylight Application Framework

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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.
  • Eigenständige Applikationsmodule inkl. Businesslogik.
  • 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.
  • Zugriff auf alle existierenden Applikationsbereiche und Basiskomponenten: Workflow-Engine, DMS, Collaboration, Schnittstellen-Manager, etc.
  • Nahtlose Integration in das daylight User Interface (WinClient & Web).
  • Hersteller-unabhängige Entwicklung, Integration und Auslieferung von Erweiterungen. Es ist keine Neukompilierung des daylight Source-Codes erforderlich.

Metadaten und ihre Verwendung

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

daylight-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
  • Abwicklung des Datenzugriffs (lesend und schreibend)
  • Vergleicht das Metamodell mit der Datenbank-Struktur und aktualisiert das Datenbank-Schema, wenn nötig.

Kundenspezifische Erweiterungen werden getrennt vom daylight-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.

Applikationslogische Komponenten
Konsumieren Applikations-Metadaten und präsentieren dem Benutzer passende UI-Features und Optionen passend zum aktuellen Applikationskontext.

Businesslogische Komponenten
Wissen aufgrund des Applikationskontextes und den Metadaten, welche Business-Funktionen und Workflow-Aktionen dem Benutzer angezeigt werden können.

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
  • No labels