DCS - Delphi Client/Server and Multi-Tier Development
This Delphi training class is a continuation of the Delphi Database Architecture course that is focused specifically on issues related to Client/Server and Multi-Tier development, including
SQL, Parameterized Queries, Stored Procedures, Client Datasets, Transaction Processing, Security, Configuration, Distribution, Upscaling, Cached Updates, etc. There is also coverage of Delphi's Client/Server tools, including the SQL Builder and the SQL Monitoring Utility.
"Great, informative, well presented. A must if programming with database files.." -- Mick C. from San Diego, CA
"(This course was) full of information useful to my business environment. Take this course before you try to learn Delphi on your own.." -- Bill S. from La Jolla, CA
"Excelent speaker (Ted Blue). Knowledge of course material very good as well as related material. Take the class.." -- Casey G. from San Diego, CA
"Again, very impressed. Appreciated most [the instructor's] knowledge on the subjects and his teaching style. Very instructional. If you have programming experience, however, never against a database-this is the class to take. :)." -- Elizabeth M. W. from San Diego, CA
"For anybody planning to do Delphi Client/Server, this class is definitely worth spending a couple of days learning the architecture up front.Excellent presentation. Ted (Blue) did an excellent job of first assessing the needs of the class then putting the emphasis on areas of concern/interest and not wasting time with concepts we already were comfortable with.." -- John G. from Chula Vista, CA
Overview of Client/Server Development
The Request/Response Model
Multi-Tier Applications
Client/Server Database Systems
Comparing Local and Client/Server Databases
Using SQL for Data Access
Set-based Processing
Cursors
Entities and Relationships
Stored Procedures, Triggers and Views
Constraints
Record Locking
Transaction Management
Client/Server Development in Delphi
dbGo (ADO)
dbExpress (DBX)
InterBase Express (IBX)
MyBase and ClientDataSets
Connecting to a Client/Server Database
Using a Connection Component
Connecting to a Microsoft SQL Server Database
Datasets
Datasets in a Client/Server Environment
Single Record Access
Record Locking
Caching Data
Validation
Constraints
Batch Updates
Transactions
Error Handling
Common Dataset Operations
Types of Datasets
Table Datasets
Query Datasets
StoredProc Datasets
Command Datasets
Working with Multiple Records
SQL Queries
Working with Queries
Parameterized Queries
Automatic Creation of Parameters
Assigning Values to Parameters
Working with Parameterized Queries
Linking Datasets
Master-Detail Queries
Filtered Queries
The Filter Property
Using the Filter Property
Stored Procedures
Stored Procedure Datasets
Executing a Stored Procedure
Viewing Stored Procedures
Stored Procedure Parameters
Setting Parameter Information
Resetting Parameters at Runtime
Working with Stored Procedures
Client Datasets
The Single-Tier Model
Assigning Data to a ClientDataSet
Creating a TClientDataSet Application
Storing Changes Locally
The MyBase Data Formats
The Filename Parameter
Persisting Data
Managing the Change Log
Reverting Records
The UpdateStatus Method
The StatusFilter Property
Working with the Change Log
Indexes
Creating Indexes with IndexFieldNames
Creating Indexes with IndexDefs
Creating Indexes with AddIndexDef()
Working with Indexes
Aggregate Fields
Aggregate Field Objects
Grouping Levels
Working with Aggregate Fields
Applying Updates
TDataSetProvider
Using the ApplyUpdates Method
Implementing Applied Updates
Multi-Tier Database Applications
The Multi-Tier Model
Single-Tier Applications
Two-Tier (Client/Server) Applications
Three-Tier Applications
DataSnap
dbExpress
dbExpress Drivers
dbExpress Components
dbExpress Characteristics
Using dbExpress Components
Creating a Three-Tier Application
Connections
Creating an Application Server
Creating a Client Application
Connection Components
Data Connection Components
Additional Connection Components
Working Offline
Setting Up an Offline Mode
Creating a Briefcase Application
Parameterized Queries
Forcing Parameter Updates
Passing Query Parameters
Master-Detail Relationships
Nested Datasets
Applying Changes to Master-Detail Records
Implementing Master-Detail in a Multi-Tier Application
Error Handling
OnReconcileError Event Parameters
Field Values
The Reconcile Error Dialog
Handling Reconcile Errors
Performance Issues
Managing Record Packets
Remote Data Module Instancing
Remote Data Module Pooling
Appendix A - Query Optimization
Appendix B - Application Deployment
Appendix C - Data Models
Appendix D - InterBase Tools and Utilities
Appendix E - Sessions
Appendix F - Aliases and Drivers
Appendix G - The TDatabase Component
Appendix H - Cached Updates
Appendix I - Transaction Processing