SF Softwareberatung ApplicationCreator Demo für die.NET User's Group KA.

Slides:



Advertisements
Ähnliche Präsentationen
Menüstruktur automatisch angepasste Menüstruktur auf der Internetseite = Neue Seite im Content – Management- System ergibt neuen.
Advertisements

6. Termin Teil D: Was ist eine Datenbank
Datenbankdesign mit ACCESS.
JDataSet & Persistenz Layer
ASP.NET Tips & Tricks Uwe Baumann
Daten fließen lassen XML in Microsoft Office 2003 Lorenz Goebel Frank Fischer
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
MS Office-Paket: Access
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Eine objektorientierte Einführung in den Umgang mit Datenbanken
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Kurs Datenbanken Anleitung zur Erstellung von Kombinationsfeldern in Formularen.
Access 2000 Datenbanken.
DVG Klassen und Objekte
Einführung MySQL mit PHP
Visual FoxPro 8.0 NameTitelUnternehmen. Agenda Jahre Visual FoxPro 10 Jahre Visual FoxPro Der Weg zu VFP 8.0 Der Weg zu VFP 8.0 Ziele von und Überblick.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Erstellen von WebServices mit Visual FoxPro 9.0
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
© 2004 Uwe Habermann Visual Extend 9.0 Technical Preview Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
ODBC (Open Database Connectivity)
Uwe Habermann Venelina Jordanova VFX – Silverlight Wizard.
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Sicherer Zugang zu internen Terminalservern von öffentlichen PCs
Die Formulare Access bietet zwei Methoden für die Einführung der Daten: das Datenblatt und das Formular. Man benutzt ein Formular für: Eingeben, Ansehen.
SQL Server 2005 CLR-Integration
Präsentation von Sonja Pathe
Was macht eigentlich dieses ExsoForm? Ein Beispiel für eine Dokumentendefinition in Screenshots.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Web-Publishing: HTML im Rahmen des PS aus Elektronischer Datenverarbeitung (Rechnerpraktikum)
Datenbanken und Datenmodellierung
… und was man damit machen kann.
SF Reisekosten und Ressourcen
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Zeit:Aktion: 08:30Begrüßung, Organisation 08:45Einführung - Was heißt OPC - OLE for Process Control --> Folie - OPC definiert eine offene Schnittstelle,
Ein neues Zeitalter beginnt
Freiwillige Feuerwehr der Stadt Perg
Herbers Excel-Server - der Workshop
verstehen planen bearbeiten
ICT – Modul Textverarbeitung
Interaktive Übungen mit Word
Migration von VFP Anwendungen nach Silverlight Uwe Habermann Venelina Jordanova
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
Customizing Tools: Genehmigungsverfahren
Datenmigrationstools: DTW – Kontenplan
15 Tabellen erstellen und Tabellenstruktur bearbeiten Grundlagen zu Tabellen l Tabelle l Enthält Daten zu einem bestimmten Thema l Beispiele:  Mitarbeiterdaten.
Customizing Tools: Benutzerdefinierte Felder und Tabellen
Excel-Tool: Beschwerdeanalyse  Folie 1 von Bitte Makros aktivieren Das Excel-Tool funktioniert nur mit eingeschalteten Makros. Eventuell erhalten.
AGU IT 2006, Seite 1 Produktionsauftragsverwaltung Produkte für WinCC Herstellvorschrift und Produktionsaufträge Lizenzpreis pro Anwendung 3850,-€Einrichtung.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Basics Schulung –
Deutscher Perl Workshop 2014 PORF Practice
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
D-SQL SQLization – endlich Client/Server!
Serienbrief erstellen mit LibreOffice Writer
 Präsentation transkript:

SF Softwareberatung ApplicationCreator Demo für die.NET User's Group KA

Agenda Definition des Problems Was muss alles getan werden? Der ApplicationCreator Abgrenzung der einzelnen Assemblies Beispiel-Code Snippets 2 Statements + Strukturdefinition reichen Ergebnisse Datenbank, Rumpfanwendung, Stammdaten- und Suchformulare, Migration von Altdaten Gelernte Lektionen Ausblick

Definition des Problems Immer noch viel zu viel manueller Aufwand für die Erstellung neuer datenbankgestützter Anwendungen Trotz Assistenten und Designern Noch mehr Aufwand, um best practices zu realisieren

Was muss alles getan werden? (I) Auf dem Datenbankserver: Datenbankstrukturen planen Tabellen anlegen Gültigkeitsregeln festlegen Stored Procedures schreiben Rollen definieren Zugriffsrechte implementieren Versionierung regeln

Was muss alles getan werden? (II) In der Anwendung: Code zum Zugriff auf Stored Procedures schreiben Formulare entwerfen Weit mehr als Steuerelemente ziehen und Datenbindung definieren! Master-Detail-Detail… Suchmasken erstellen Menüs und das ganze Drumrum

Was muss alles getan werden? (III) Für Auswertungen: Stored Procedures schreiben… Dialoge für Selektionsmöglichkeiten erstellen Berichte entwerfen Das alles zum Leben erwecken

Das ist doof, fehlerträchtig und langweilig! Wie wäre es mit: 1. Datenbankstrukur definieren 2. Hinweise für das Layout besonders komplexer Formulare geben 3. Pizza essen (oder besondere Funktionalität implementieren) 4. Fertig!

Der ApplicationCreator Eigentlich ein Satz von derzeit 5 Assemblies Realisieren derzeit Windows- Datenverwaltungs-Anwendungen Erweiterbar Andere DBs als SQL Server Andere Oberflächen als Windows (Web) Spezielle Feld- und Tabellentypen

SFSoftwareberatung.Configuration Ähnlich Microsoft CMAB Noch einfacher zu benutzen Dafür fehlen noch ein paar Features Kann beliebige primitive oder serialisierbare Datentypen speichern An beliebige Orte Datenbank implementiert Unterscheidung zwischen Maschinen- und Benutzer-Optionen

SFSoftwareberatung.WinForms.StandardForms Windows XP-Designs ShortcutGenerator vergibt eindeutige Tastaturshortcuts Splash-Screens Info-Dialoge

SFSoftwareberatung.WinForms.Controls Alle möglichen Controls Navigation Verweis-Felder Panel mit Farbverlauf bei XP-Designs RepeatButton FullSelectLabel DBNumericUpDown (unterstützt DBNull und XP-Designs) DB-taugliche RadioGroup u. a.

SFSoftwareberatung.ApplicationCreator Oberflächen-unabhängige Anwendungsautomatik Anwendungsdefinition Datenbank Masken Datenzugriff Versionierung der Datenbankstruktur Migration von Alt-Datenbeständen Rollen Migration von Altdaten

SFSoftwareberatung.ApplicationCreator.WinForms Windows-basierte Nutzung des ApplicationCreator ApplicationMainForm ControlCreators FindDialog MasterFormEditor Controls DataMigrationDialog

Highlight: Die Anwendung myApplicationCompleter = New ApplicationCompleter( GetApplicationDescription(), New SqlServer.SqlFactory(New AppConfigConnectionStringGetter), New ActiveDirectoryRoleMembershipChecker, Me, True) myApplicationCompleter.InitializeApplication()

Highlight: Die Datenbankstruktur papier =.Tables.Add("Papier") With papier.Fields.Add(New FieldTypes.StringField("Bezeichnung", False, 1, 50)).CreateIndex(True, True).SetRowdescribing().Fields.Add(New FieldTypes.BooleanField("IstLogoVorgedruckt", False, False)).FriendlyName = "enthält vorgedrucktes Logo" With.AddEditView.Permissions.Grant(Leitung, Operations.Full).Grant(Benutzer, Operations.SelectFromAllTables) End With

Highlight: Master-Detail-Detail… schreibauftrag.AddMasterForm() formHint = New Hints.MasterFormLayoutHint(schreibauftrag.MasterForm) schreibauftrag.MasterForm.Hints.Add(formHint) ' Variante "Alles auf einmal sichtbar" 1: With formHint.MainPlace.AddVerticalSplitter With.LeftPane.AddHorizontalSplitter.TopPane.AddForm(schreibauftrag.MasterForm).BottomPane.AddForm("Berechtigte Gruppen", _ schreibauftrag.MasterForm.DetailForms.Add(nutzung.ReferenceField(schreibauftrag))) End With With.RightPane.AddHorizontalSplitter.TopPane.AddForm("Dokumente des Schreibauftrags", schreibauftrag.MasterForm.DetailForms.Add(refDokumentSchreibauftrag)).BottomPane.AddForm("Elemente des oben angezeigten Dokuments", schreibauftrag.MasterForm.DetailForms(refDokumentSchreibauftrag).DetailForms.Add(refElementDokument)) End With

Ergebnis 1: Die Datenbank

Highlights der Datenbank Vollautomatisch erzeugt Abgesetztes T-SQL ist schön formatiert All Inclusive: SQL Server-Rollen Tabellen mitsamt Gültigkeitsregeln, soweit abbildbar mit referentieller Integrität Sichten (für Suchformulare) Prozeduren (für jeglichen anderen Zugriff) Zugriffsrechte für die Rollen Niemals auf die Tabellen selbst

Ergebnis 2: Die Rumpfanwendung MDI-Formular Menüs automatisch erzeugt und gefüllt Von der Anwendung ergänzbar Einschließlich Tastaturshortcuts

Ergebnis 3: Stammdatenformulare

Highlights der Stammdatenformulare Vollautomatisch erzeugt Anbringen von Hints für besondere Wünsche möglich Hints für Layout von Master-Detail-Formularen Kacheln, Tabs Unterschiedliche Controls je nach Feldtyp ComboBox, RadioGroup, ReferenceBox, FileName, Folder, … Erweiterbar Unterschiedliche Formulare je nach Tabellentyp Gruppenmitgliedschaften Tabellen mit definierter Datensatzreihenfolge

Highlights der Stammdatenformulare Komfortable Features Auto-Resizing, Position und Größe merken Tastaturshortcuts Gültigkeitsprüfungen mit freundlichen Fehlermeldungen Klicken auf Label markiert gesamten Feldinhalt Sprung zu anderen Formularen bei Referenzfeldern Suchmasken immer verfügbar

Ergebnis 4: Suchformulare

Highlights der Suchformulare Vollautomatisch erzeugt Keine SQL Injection Attacks möglich Spezielle Definition der suchbaren und anzuzeigenden Felder möglich Standardmäßig werden nicht mehr als 100 Treffer angezeigt Auch via Code supereinfach aufzurufen Auto-Resizing, Position und Größe merken Tastaturshortcuts

Ergebnis 5: Migration von Altdaten

Highlights der Migration Gut geeignet, um Daten von alten Programmversionen zu übernehmen Auch wenn die Datenbankstrukturen nicht identisch sind Transaktionssicher Allgemeine Basisklasse Spezielle Ableitung für MDB-Dateien realisiert

Gelernte Lektionen Es ist viel Arbeit und manchmal hart, aber es geht und ist sehr spannend! DataBinding ist gut, aber nicht trivial Am meisten Zeit kosten Detailprobleme Schließlich soll das ganze stabil, komfortabel, schnell und sicher sein

Gelernte Lektionen: Data Binding Eigene Controls wegen DBNull Können von vorhandenen erben Implementieren Schnittstelle mit Wert- Property vom Typ Object Erzeugen Event Name muss EigenschaftsnameChanged sein! Typ muss EventHandler sein Nur auslösen, wenn der Inhalt auf etwas wirklich Anderes gesetzt wird! Absolut kritisch, damit Data Binding korrekt funktioniert

Gelernte Lektionen: Data Binding und Gültigkeitsprüfungen Beim Validieren im Fehlerfall keine Exceptions auslösen! Data Binding kommt komplett durcheinander Entgegen der MSDN-Dokumentation! Lieber RowError und Konsorten setzen und hinterher prüfen Ansonsten droht Verzweiflung

Gelernte Lektionen: Data Binding und ComboBoxen Geht alles, aber DBNull berücksichtigen ( die native ComboBox ist nicht direkt verwendbar) Bei Refresh der Daten vorher gesetzten Wert merken, hinterher wieder setzen Dabei keine Changed-Events auslösen!

Ausblick: Was noch kommen soll (I) In der Datenbank Rekursive Strukturen für Hierarchien Vertikale Zugriffsrechte Personen haben nur Rechte auf bestimmte Datensätze einer Tabelle Ohne Hintertüren! Vollautomatische Versionsaktualisierung In der Rumpfanwendung Symbolleisten Schnellzugriff auf die häufig benutzen Befehle selbstlernend

Ausblick: Was noch kommen soll (II) Formulare Weitere automatisch erzeugte Formulartypen für bestimmte Tabellentypen Hierarchie-Tabellen Hier leichtere Erweiterbarkeit Endlosformulare mit Steuerelementen (kein Grid) Verfeinerte Layoutmöglichkeiten Automatisch erzeugte Extras/Optionen-Dialoge Reporting ebenfalls weitgehend automatisch

Ausblick: Was noch kommen soll (III) Features Ausgabe nach Excel einfach, mächtig, gut formatiert, mit Formeln für Summen usw. Evtl. ApplicationCreator.WebForms ASP.NET Stammdatenverwaltung basierend auf der selben Anwendungs- definition wie das Windows-Pendant Grenzen nur durch die Phantasie

Kontakt Stefan Falk Softwareberatung