Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Hands-on: Delphi Web Services with TMS XData
Introduction
Thank You! (1:58)
Course Overview (18:56)
Description of the example scenario (3:38)
Examples for real world Web services (12:09)
Installing TMS Business products (5:54)
TMS XData Project Wizards I (7:26)
TMS XData Project Wizards II (7:04)
Looking at the software built in this course (8:27)
Creating a new TMS XData project
Using the TMS XData VCL Server project wizard (2:00)
Creating the project structure on disk (5:29)
Source Code download and versioning (9:16)
Looking at the Server Container, REST-fulness of XData and HTTPS endpoints (11:07)
Sparkle Dispatcher in detail (2:15)
BaseUrl of an XData server (6:57)
Reserving HTTP endpoints in HTTP.SYS (3:28)
Setting the final values, cleanup (1:50)
Changing the auto-start behavior of the server (4:04)
Updating the Server Container
Discussing changes to the Server Container (4:53)
Converting the Server Container using the Singleton Pattern (19:15)
Adding services to the server
Why you add services (2:18)
Adding a service using the wizard (11:38)
Browsing and testing your server using Swagger(UI) (6:57)
A few more examples for service methods: Date and Time (9:22)
Looking at JSON and returning an object (10:39)
Returning multiple objects (8:20)
Adding database connectivity
Connection basics with FireDAC (13:33)
Connection properties (3:22)
Creating a connection with connection definition at run-time (8:41)
Implementing a class for configuration from an INI file (23:30)
Returning connections to the pool (8:21)
Interlude I
Adjusting the output directory (1:48)
Testing TServerSettings (4:49)
Using resource files for application settings
Adding, compiling, and linking a resource file (5:58)
Implementing TProductInfo (12:25)
Looking at resource information and updating the UI (7:09)
Add pizazz to the UI of the server
Introduction to this section (3:09)
Updating the design of the main form (14:25)
Adding more functionality (11:59)
Adding an internal and external Url (11:39)
Reading the server base URL from the configuration file (7:29)
Review and motivation for using a tray icon (3:36)
Implementation of the tray icon functionality (8:48)
Running XData as a Windows Service
Windows Services in Delphi (8:51)
Adding the Windows Service deployment option (16:23)
Recap (3:14)
Logging
Adding logging to your classes (6:01)
Output handlers (12:32)
Customizing output and using the Windows Event Log (7:54)
Creating a log file on disk (12:37)
Logging database connections (2:44)
Middleware for automatic logging of server events (5:29)
Access Control: User Authentication and Authorization
Introduction to access control using tokens (14:56)
Adding the JWT middleware (4:37)
Setting up the JWT secret (3:36)
Restricting services and their methods (6:01)
Enabling token support in SwaggerUI (1:53)
Creating a login service (4:39)
Implementing the login method (6:44)
Implementing authentication and creating a JWT (10:32)
Using SwaggerUI with a JWT (2:07)
Adding information to a JWT (9:16)
Reading the token for authorization (10:53)
Interlude II
Finishing the template (3:00)
Review of what has been created so far (3:35)
Database Design and Setup
Model (12:07)
Downloading and Installing Firebird 4 (12:04)
Creating the database (4:11)
Optional method: Docker container (2:33)
Creating the tables (1:36)
Hands-on: Building the Web service with database
Adding users to the database (1:38)
Updating the template configuration files (4:38)
First Web service method with database connectivity (22:01)
Fill in the placeholder: Authenticate users and avoid common pitfalls (30:38)
Adding a service and further endpoints to manage workouts (18:02)
Implementing a service method to get the most recent workout date (15:28)
Service method to add a workout (16:30)
Retrieving workouts (I) (1:54)
Read SQL statements from resource files and some debugging (15:57)
Retrieving workouts (II) and summary (9:58)
Hands-on: Building a VCL client to import data
Introduction (0:32)
Project structure and UI (4:17)
Looking at the data source (4:23)
Implementing the login form (4:35)
Authentication using the login form (20:09)
Sending the JWT with each request (6:48)
Reading date and time from the CSV file (4:21)
More data conversion and prep before import (4:40)
Sending data to the service (24:16)
Selecting a data file and testing the upload (4:42)
Show the upload progress (8:25)
Hands-on: Building a VCL client with grids and charting
Introduction (5:39)
Deeper look at the forms (2:17)
Implementation: Login (2:39)
Instance Ownership (3:22)
Retrieving a list of workouts (9:21)
Show data in a grid and customize appearance (11:44)
Displaying local time using calculated fields (5:26)
Customizing the UI (2:56)
Adding a bar chart (7:54)
Hands-on: Building a Web client with TMS WEB Core
Introduction (3:59)
Overview of the application (8:33)
Implementation of the Web application (29:59)
Summary (6:14)
Adding logging to your classes
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock