Beratung Veröffentlichungen Beratung Programmierung Server Seminare Lösungen Unternehmen Kontakt Start
 

Buch-Katalog > C#.NET > Dynamische GUIs

Dynamische GUIs mit .NET [Kiebach, Skulschus]

Viele Anwendungen werden als reine Schnittstellen zu Datenquellen geplant oder bestehen wenigstens zu einem Großteil aus Formularen, die ausschließlich für CRUD-Aktionen genutzt werden (Create, Read, Update, Delete). Für Prototypen oder Anwendungen mit geringen Anforderungen an die Benutzerschnittstelle kann man sich vorstellen, wie Formulare aufgrund von Metadaten der Datenschicht dynamisch erstellt werden, um genau diese CRUD-Aktionen zun unterstützen. Dieses Buch ist die Erweiterung einer Diplomarbeit, die bei der Comelio GmbH von Andreas Kiebach durchgeführt wurde, und diskutiert die Möglichkeiten, aus XML Schema und dem MS SQL Server sowie mit einer eigenen XML-Darstellung Oberflächen dynamisch zu erzeugen.

176 Seiten, € 15,95
ISBN: 978-3-939701-07-1

Kontakt

Anrede* Herr Frau
Vorname*
Nachname*
Firma
E-Mail*
Tel-Nr.
Bereich*
Freitext

Dynamische .NET-GUIs für Prototypen aus SQL Server, XML und XML Schema

Klappentexte

Inhalt


Ein großer Teil von Unternehmensanwendungen besteht aus Formularen, welche eine Sicht auf die zu Grunde liegende Datenschicht darstellen. Dabei besteht eine sehr große Abhängigkeit zwischen den Anforderungen an die Software und der Datenhaltungskomponente, deren Strukturen (Feldnamen/-datentypen, Feldwiederholung, Beziehungen zwischen Tabellen) sich in einzelnen Formularkomponenten und in Beziehungen/Abhängigkeiten zwischen Formularen widerspiegeln.
Dieses Buch stellt die Ergebnisse eines Forschungsprojekts dar, welches auf der einen Seite zum Ziel hatte, Anforderungen und Möglichkeiten für dynamisch generierte Oberflächen auszuloten und für die Anforderungsphase eine Software zu erstellen, die in der Lage ist, direkt aus der Datenschicht .NET-Formulare zu erzeugen. Diese dienen dann im Kundengespräch der vereinfachten Kommunikation über die Daten, welche in einer Unternehmensanwendung erfasst und verarbeitet werden sollen.

Themen

comelio
  • Graphische Benutzeroberflächen aus einer Datenschicht - Übersicht
  • Abbildung der Datenstruktur mit XML Schema und relationaler Datenbank
  • Prototyp: HTML-Formulare aus XML Schema mit XSLT
  • Beschreibung eines XML-Formats für .NET-Oberflächen und Diskussion von Anforderungen reichhaltiger GUIs
  • Variante 1: Oberflächenerzeugung aus XML Schema (lauffähige Software)
  • Variante 2: Oberflächenerzeugung aus relationaler Datenbank (MS SQL Server) (lauffähige Software)

Internet

Hier finden eine lauffähige Version des Comelio GUI-Generators von Andreas Kiebach und Marco Skulschus, der .NET-Quelltext aus XML Schema und dem MS SQL Server erzeugt sowie Oberflächen direkt anzeigen kann.

comelio

Autor

Profil Interview

Die Autoren Andreas Kiebach und Marco Skulschus arbeiten im Bereich Softwareentwicklung und Weiterbildung bei der Comelio GmbH. Hauptsächlich beschäftigen sie sich mit der Planung und Entwicklung von datenbankgestützten Unternehmensanwendungen, darunter regelmäßig auch betriebliche Informationssysteme mit Berichts-/Analysesystemen. Andreas Kiebach (Jahrgang 1981) studierte Informatik an der Fachhochschule Gießen-Friedberg und führte seine Diplomarbeit bei der Comelio GmbH durch. Er arbeitete neben seinem Studium als Programmierer für Java und stieg 2005 auf .NET um. Auch schon unter Java führte er im Rahmen seines Studiums eine umfangreiche Untersuchung zu dynamischen Oberflächenentwicklung und –migration von Java AWT zu Swing durch. Heute entwickelt er bei der Comelio GmbH betriebswirtschaftliche Anwendungssoftware mit .NET, XML und dem MS SQL Server. Marco Skulschus (Jahrgang 1978) studierte Ökonomie in Wuppertal und Paris. Er ist nach der Beschäftigung mit PHP und Java im Jahre 2004 auf .NET umgestiegen und setzt nun C# und den MS SQL Server für Kundenprojekte ein. Nichtsdestoweniger ist er auch in anderen Themenbereichen aktiv, wobei insbesondere das Gebiet Datenbanken, Datenmodellierung und XML an erster Stelle steht. Seine Spezialthemen sind Ontologien auf Basis von XML-Standards wie XTM oder OWL. Bei der Comelio GmbH arbeitet er als Projektleiter für die Entwicklung von Berichts- und Expertensystemen auf Basis vom MS SQL Server und Oracle.

Folgt in Kürze!

Verlag

Comelio Medien gehört zur Comelio GmbH, einem in D, A und CH arbeitenden IT-Haus. Er bietet den Mitarbeitern der Comelio GmbH die Gelegenheit, Themenbereiche aus ihren Aufträgen in den Bereichen Beratung, Entwicklung oder Schulung in Buchform aufzubereiten und ihr Wissen der deutschsprachigen Entwicklergemeinde zur Verfügung zu stellen. Dabei sollen auch Randthemen bearbeitet werden.

Das Dienstleistungsangebot des Mutterunternehmens umfasst die Bereiche Softwareentwicklung mit .NET, Java und PHP für die Datenbanksysteme von Microsoft, Oracle und MySQL. Weitere Geschäftsfelder sind Beratung und Schulung. Die Comelio GmbH ist Microsoft Certified Partner, Oracle Partner, Sun Advantage Partner und Mitglied der OMG.

Cover

Inhalt

Dieses Buch beschäftigt sich mit den Möglichkeiten, der automatisierten Erzeugung von Oberflächen für Desktop-Anwendungen. Die erzeugten Oberflächen sollen als Prototypen dienen und nur die zu diesem Zweck benötigte Funktionalität enthalten. Als Ausgangsbasis für die Generierung dienen eine XML-Datei oder eine relationale Datenbank, welche das Datenmodell der zu erstellenden Anwendung enthält. Beide enthalten die nötigen Definitionen für Elementbenennung, Datentypen, Hierarchien und Häufigkeiten. Diese Strukturinformation kann entweder nach einem XML Schema manuell geschrieben werden, oder sie wird aus vorhandenen Informationen aus dem Datenmodell durch einen Algorithmus auf Basis unterschiedlicher Annahmen über die notwendige Oberfläche automatisch erzeugt. Sofern die Oberfläche mit XML beschrieben wird, besteht die beiden Möglichkeiten, direkt XML Schema oder ein speziell für Oberflächen entwickeltes und ausgerichtetes XML-Format zu verwenden. Das mögliche XML Schema zur Definition eines XML-Formats von Oberflächen wird ebenfalls im Rahmen dieser Arbeit erarbeitet.

Als Einsatzgebiet für ein fertiges Programm sind vor allem Geschäftsanwendungen zu nennen, die in der Regel eine große Anzahl von Eingabeformularen enthalten. Diese Formulare haben oft einen standardisierten Aufbau, der sich in allen Formularen widerspiegelt, auch wenn sie der Eingabe unterschiedlicher Daten dienen. Die Gestaltung solcher Formulare erfordert einigen Aufwand, wobei der Aufbau immer mit dem Kunden, der diese später benutzen soll, abgesprochen werden muss. Auch kann der Aufbau sich im Laufe des Entwicklungsprozesses der Software verändern. Nicht selten werden die Felder der Formulare direkt aus einer Datenbank übernommen. Anwendungen, die im Wesentlichen eine grafische Benutzerschnittstelle zu einer Datenbank abbilden, sollen im Fokus der Untersuchung stehen. Da alle zur Verarbeitung nötigen Zusatzinformationen wie Datentypen und ihre Begrenzungen, Schlüsselinformationen oder Beziehungen zwischen Tabellen bereits in der Datenbank vorhanden sind, bietet sich dieser Fall besonders für die automatisierte Erzeugung einer GUI an. Die Verwendung eines solches Algorithmus, der in einem eigenen .NET-Programm umgesetzt werden soll, ist insbesondere in der Phase der Anforderungsanalyse zu Beginn des Projekts, bei der Erstellung eines Prototyps im Rahmen eines Rapid Prototypings zu sehen. Die Verwendung einer solchen Technik zur Laufzeit kann ein möglicher Zukunftsschritt sein, hat allerdings den Nachteil, bei einer klassischen Desktop-Anwendung im Gegensatz zu einer Web-Anwendung schlechtes Laufzeitverhalten aufzuweisen. Die entstandene Software soll bei Kundengesprächen in der ersten Phase eines Projekts zum Einsatz kommen, um Datenstrukturen und benötigte Datenfelder festzulegen und eine möglichst programmorientierte Visualisierung im Kundengespräch zu verwenden. Die Erfahrung zeigt, dass gerade bei mittelständischen Kunden, die keine voll ausgebauten Prozesse der IT-Beschaffung und Softwareplanung für den eigenen Bedarf besitzen, zwar Anforderungen, die die Oberfläche anbetreffen, sehr genau und auch frühzeitig bei der Planung bekannt geben, bei der Planung der Datenstrukturen aber zu wenig kritisch sind. Hier ist es nicht zweckdienlich, ER-Diagramme oder Datenbankmodelle in Form von Tabellen oder sonst wie aufbereiteten Tabellen-Feld-Listen zu verwenden und diese bestätigen zu lassen. Die Gefahr, dass zu schnell Bestätigungen erfolgen, ist sehr hoch. Im Regelfall kann das dazu führen, dass später bei der Erstellung der Oberfläche, die genau auf Basis der Datenstrukturen erfolgt, Formularfelder erwartet oder angemahnt werden, die überhaupt nicht auf Grundlage der Datenstruktur möglich wären. Dies hat dann wiederum Revisionen der Datenstruktur zur Folge. Als Lösung kann man Beispielformulare entwickeln und zeichnen, was allerdings langwierig ist und zwangsläufig dazu führt, dass diese Entwürfe nach Umsetzung keinen Wert mehr darstellen.

Als Lösung für dieses häufig anzutreffende Problem schlägt dieses Buch nun den Weg vor, sich doch wieder auf die Datenstrukturen und das Datenbankmodell zu konzentrieren. Dieses wird in Gesprächen und Planungen permanent weiter entwickelt und wird auch nicht nach der Planungsphase umgesetzt und schließlich verworfen. Der geplante GuiGenerator soll genau für diesen Einsatzbereich eine Lösung bieten: Man arbeitet konsequent am Datenmodell, das auch später noch Verwendung finden kann. Gleichzeitig hat man aber die Möglichkeit, aus der Datenschicht prototypische Formulare zu erzeugen, die im Rahmen von Kunden- und Beratungsgesprächen nutzbar sind und auf Änderungen der Datenstrukturen unmittelbar reagieren können. Durch die Verwendung von .NETOberflächenelementen hat man darüber hinaus sogar noch den Vorteil, dass der grafische Eindruck besser ist als bei MS Visio-Zeichnungen und der Zeitaufwand geringer als bei der Erstellung von tatsächlichen Formularen im Visual Studio.

  1. Das erste Kapitel beschreibt die Aufgaben- und Problemstellung. Nicht für alle möglichen Anwendungen lassen sich mit den in diesem Buch beschriebenen Mitteln prototypische Oberflächen generieren. Da die für die GUI benötigten Informationen aus der Datenschicht abgeleitet werden sollen, ist es zwingend, dass es sich um eine Anwendung handelt, die entweder auf Basis eines XML Schemas (oder sonstiger XML-Datenbeschreibung) oder - sehr viel häufiger - auf einer relationalen Datenbank beruht. Das Kapitel stellt die verschiedenen Voraussetzungen und grundsätzlichen Möglichkeiten dar, wie der prinzipielle Weg aufgebaut ist, Formulare für eine solche Datenschicht zu generieren.
  2. Das zweite Kapitel stellt unterschiedliche Prototypen vor, mit denen das Grundprinzip der Problemstellung besser erläutert werden kann. Als Basis dient hier eine XML Schema-Datei, die mit Hilfe von XSLT und C#.NET in HTMLFormulare übertragen wird. HTML zeichnet sich durch eine besonders kleine Anzahl an Formularelementen aus, die auch nur relativ wenige Einstellungsmöglichkeiten bieten. Hier können also grundsätzlich keine umfangreichen Benutzerschnittstellen erwartet werden, sodass schon die Kombination XML Schema/XSLT zu guten Ergebnissen führt.
  3. Das dritte Kapitel versucht, mit den Erfahrungen des Prototypen, der HTMLFormulare erstellte, ein eigenes XML-Format zu entwickeln, das die notwendigen Strukturen und Eigenschaften von .NET-Formularen enthält. Dabei wird im Wesentlichen auch deutlich, wieviel umfangreicher Desktop- Oberflächen gegenüber Web-Oberflächen sind und welche Komplexität notwendig ist, um einen Großteil der Anforderungen an eine optisch ansprechende Maske zu erreichen.
  1. Das vierte Kapitel diskutiert nun die Anforderungen, die an den Algorithmus gestellt werden, mit dem überhaupt die Oberfläche aus der Datenbank heraus erstellt werden soll. Hier wird die Modellierung der Datenschicht über XML Schema verlassen, um in die zwar etwas informationsärmere, aber realistischere Datenschicht auf Basis von Datenbanken einzutreten. Das Kapitel behandelt Überlegungen, wie Steuerelemente und das Layout bestimmt, wie Navigation zwischen Formularen eingerichtet und wie man überhaupt die einzelnen Datenelemente aufbereiten kann.
  2. Das fünfte Kapitel führt eine Lösung für die Problemstellung vor und setzt die Anforderungen aus dem vorherigen Kapitel in eine .NET-Anwendung um. Sie zeigt die Entwicklung und Code-Ausschnitte der Anwendung GuiGenerator. Dabei geht es sowohl um das Thema der direkten Anzeige von Formularen als auch um die reine Generierung von Quelltext.
  3. Das sechste Kapitel stellt ein Fazit dar, welches die entstandene Software noch einmal bewertet und weitere Herausforderungen zeigt, wenn man den prototypischen Charakter der generierten Software verlassen würde.Das siebte Kapitel zeigt schließlich einige Anwendungsbeispiele mit dem GuiGenerator. Das siebte Kapitel schließlich stellt eine Reihe von einfachen Praxis- und Fallbeispielen für den Einsatz der Kombination MS SQL Server 2005 und XML dar. Dazu zählen eine XML-basierte Import-/ Export- Schnittstelle und eine XML-(De-)Serialisierung für eine .NET-Anwendung.

Inhaltsverzeichnis

1 Einleitung
1.1 Problemstellung
1.1.1 Fokus: Unternehmensanwendungen mit DB-Unterstützung
1.1.2 Nutzung von XML Schema
1.1.3 Nutzung einer Datenbank
1.1.4 Übersicht der Architektur
1.2 Graphische Benutzerschnittstellen
1.2.1 Definition der wichtigsten Begriffe
1.2.2 Methoden zur GUI-Erstellung
1.1.1 Existierende XML GUI-Standards
1.2.3 Übersicht über die Elemente einer Windowsoberfläche

2 Entwicklungsansätze
2.1 Relationale Datenmodellierung
2.2 Modellierung mit XML Schema
2.2.1 Globale/Lokale Elemente und Attribute
2.2.2 Datentypen
2.2.3 Globale komplexe Typen
2.3 HTML-Formulare mit XSLT – Erster Prototyp
2.4 Formulare mit C# - Zweiter Prototyp
2.4.1 Verbesserungen und Erweiterungen der C# Version
2.4.2 Entwurf des C#-Prototypen
2.4.3 Klassenstruktur des Programms

3 Entwurf eines XML-Formats
3.1 Anforderungen an das XML-Format
3.2 Definition des XML-Formats mit XML Schema
3.3 Vor- und Nachteile eines attribut-orientierten XML-Formats
3.4 Datentypen
3.4.1 Behandlung von Farben
3.4.2 Aufzählungstypen
3.4.3 Arrays, Klassen und Strukturen
3.4.4 Besondere Eigenschaften
3.5 Erzeugung des Schemas mit Reflection

4 Aufbau von Oberflächen
4.1 Generierung von Oberflächen auf Basis von Datenbanken
4.1.1 Auswahl der Steuerelemente
4.1.2 Layout der Oberfläche
4.1.3 Navigation zwischen Formularen
4.1.4 Darstellung und Bearbeitung der Daten

4.1.5 Abfrage der Datenbank-Metadaten
4.2 Generierung von Oberflächen aus XML Schema
4.2.1 Formularaufbau
4.2.2 Regeln zur Auswahl der Steuerelemente
4.2.3 XML Schema Dokumente aus Datenbanken mit ADO.NET 2.0

5 Realisierung
5.1 Übersicht über die entstandene Software
5.1.1 Dynamic-GUI-Library
5.1.2 GuiGenerator
5.2 Direkte GUI-Erzeugung durch Reflection
5.2.1 Verarbeitung der Eigenschaften
5.2.2 Behandlung von Farben
5.2.3 Behandlung von Aufzählungen (Enumerations)
5.2.4 Behandlung von Arrays, Klassen und Strukturen
5.3 Behandlung von Ereignissen
5.3.1 Alternativen
5.3.2 Umsetzung
5.4 Generierung von Quellcode
5.4.1 Codegenerierung mit CodeDom

6 Fazit
6.1 Fähigkeiten der erstellten Software
6.1.1 Alleinstehende Verwendung
6.1.2 Verwendung als Komponente
6.2 Verbesserungs- und Erweiterungsmöglichkeiten
6.2.1 Vor- und Nachteile des XML-GUI-Formats
6.2.2 Quelltext-Ausgabe
6.2.3 Geschwindigkeit

7 Beispiele
7.1 Schema Import
7.1.1 Dateien für das Beispiel
7.1.1 Genaue Vorgehensweise
7.2 Datenbanktabelle
7.3 Controller
7.4 Anwendung

 

Unsere Empfehlung

XML Standards und Technologien

ISBN: 978-3-939701-21-7
Preis: 39,95 €

  • Einführung in XML: Definition, Architektur, Einsatzbereiche
  • Modellierung mit der Document Type Definition (DTD) und XML Schema
  • Filtern und lokalisieren mit XPath
  • Abfragen und umwandeln mit XQuery
  • Abfragen, umwandeln, darstellen und verarbeiten mit XSLT
  • Druckformate darstellen mit XSL-FO
  • (Objekt)relationale Datenbanken und XML – MS SQL Server und Oracle
  • Architektur und Techniken von Webservices: Definition, Einsatz, SOAP und WSDL

XML ist seit mehreren Jahren als Technologie für die Abbildung, den Transport und die Speicherung von strukturierten Daten etabliert und stellt in immer mehr IT-Prozessen und Anwendungen einen wesentlichen Baustein dar. Dieses Buch erklärt die gängigen Standards und Technologien, die im Bereich XML eingesetzt werden, liefert dabei zu jedem Thema viele Syntax-Beispiele und gibt Hinweise zum richtigen Einsatz. Sie lernen die beiden Standards DTD und XML Schema für die Modellierung und Validierung von XML-Daten kennen. Mit Pfadausdrücken in XPath sehen Sie, wie Sie Knoten lokalisieren und XML-Strukturen filtern, während Sie mit XQuery ganz neue XML-Dokumente auf Basis von SQL-ähnlichen Abfragen erzeugen. Die tatsächliche Umwandlung von XML sehen Sie anhand von XSLT für HTML, XML und Text und anhand von XSL-FO für Druckformate wie PDF. Serviceorientierte Architekturen werden mit Webservices aufgebaut, die ebenfalls in diesem Buch mit einer allgemeinen Beschreibung und den beiden wesentlichen Standards SOAP und WSDL eingeführt werden. Da XML auch als Speicher- und Transportformat dienen kann, zeigt das Thema XML und Datenbanken, wie XML aus relationalen Daten in MS SQL Server und Oracle abgerufen und auch wieder umgewandelt werden kann.

 

Unsere Empfehlung

Oracle, PL/SQL und XML

ISBN: 978-3-939701-10-1
Preis: 39,95 €

  • XML aus relationalen Daten erzeugen und Import-/Export-Schnittstellen planen
  • SQL/XML und PL/SQL für die Erzeugung  und Verarbeitung von XML verwenden
  • Einsatz von XML Schema zur Validierung und Erzeugung von XML
  • XML-Daten in XMLType-/Objekt-Spalten und in der XML DB speichern
  • Administrative Aspekte von XMLType und der XML DB
  • Datentyp XMLType und sein Einsatz
  • Webservices mit PL/SQL und Oracle

XML-Schnittstellen ersetzen allerorten Lösungen auf Basis von einfachen Textdateien oder Protokolldaten, Unternehmen gehen dazu über, semistrukturierte Daten direkt in einer (objekt)relationalen Datenbank zu speichern. Wenn Oracle im Einsatz ist, hat man eine vollwertige XML-Datenbank bereits zur Verfügung und kann aus einer Reihe von Werkzeugen für die Erzeugung, Speicherung, Abfrage und allgemein die Integration von XML-Daten in seine Datenlandschaft die beste Kombination auswählen. Dieses Buch stellt die Techniken von Oracle dar, wie in der Standard-DB oder in der speziellen XML DB (XDB) XML-Daten verwendet werden können. Dabei erläutert es die verschiedenen traditionellen und Oracle-spezifischen Speicheransätze sowie die vollständige relationale Zerlegung oder native Speicherung und Verarbeitung im XML-Datentyp XMLType genauso wie die Verarbeitung mit Hilfe von PL/SQL, die Erzeugung über SQL/XML und den Einsatz von Webservices. Das Buch fokussiert insbesondere den Aspekt der Errichtung von XML-fähigen Schnittstellen zwischen kooperierenden Systemen. Versionen: 9i, 10g und 11g.

    Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -Comelio GmbH Dynamische GUIs aus der Datenschicht mit .NET - Andreas Kiebach, Marco Skulschus Schema SQL Server XML GUIs MS Dynamische C#.NET -