RAD Server Technical Guide (version 3)
Published by : Embarcadero
Writed by : Antonio Zapater, David I.
Published date : 02/02/2026
Language : English
Web site : https://lp.embarcadero.com/radserverguide
RESTful architectures are a key driving force behind modern API first application design. This book focuses on the RAD Server framework included with RAD Studio (Delphi/C++Builder) for developing such platforms.
RAD Server is a full backend MEAP (Mobile Enterprise Application Platform) that enables Desktop, Mobile and Web frontend development in any language, and this book is designed as a definitive guide for developers.
The benefit of a MEAP is that you have a pre-built cloud or on-prem server with many core capabilities (such as push notifications, user tracking and analytics) that you can plug into rapidly to deliver remote database and functional access.
This guide to Embarcadero RAD Server, originally authored by David I (2019), is in its third edition, revised by Antonio Zapater (2024, 2025), which includes many additional features added based on market demand since RAD Servers Launch. This edition is also supported by a comprehensive video series supporting each chapter, along with source code examples on GitHub.
What’s New in this 3rd edition ?
The new release adds eight more chapters covering advanced features and real-world scenarios:
- Chapter 11: Authentication and Authorization
- Chapter 12: Documenting and testing your endpoints using OpenAPI (Swagger)
- Chapter 13: File management and storage
- Chapter 14: EdgeModules: Extending RAD Server
- Chapter 15: RAD Server and WebStencils
- Chapter 16: RAD Server Multi-Tenancy Support
- Chapter 17: Mapping Endpoints to External Classes
- Chapter 18: Extending RAD Server with Resource Interceptors
Combined with the original ten chapters, you now have complete coverage of RAD Server from basic setup through advanced customization and deployment.
As always, the guide includes downloadable source code examples and video tutorials for each chapter, making it easy to follow along and implement these features in your own projects.
01 - What is RAD Server? Introduction
RAD Server Overview
Building RAD Server based applications – Seven Key Aspects
Requirements for Building a RAD Server Applications
Using the RAD Studio IDE
RAD Server Testing and Deployment Licenses
Roundup of Core RAD Server Features
Core Features
See Also
02 - Using the RAD Wizard to Create a “Hello World”
Building REST Based Services
Using the RAD Server Project Wizard
The Wizard RAD Server Project and Source Code
Confi guring RAD Server for your fi rst Application
Testing your fi rst RAD Server Application
See Also
03 - Creating your fi rst CRUD Application
Building REST Based Services with CRUD functionalities
Explaining the project generated
Building and testing the project
Additional features of TEMSDatasetResource
04 - REST Debugger
What is REST Debugger and where to fi nd it
Sending our fi rst PUT Request with REST Debugger
Other features included with REST Debugger
05 - Using FireDAC Batch Move and JSONWriter
Returning JSON Database Data Using a Memory Stream
Using FireDAC’s BatchMove, BatchMoveDataSetReader and BatchMoveJSONWriter
See Also
06 - JSONValue, JSONWriter and JSONBuilder
Frameworks for Handling JSON Data
Using JSONValue
Example using JSON classes
Using JSONWriter
Example using JSONWriter
Using JSONBuilder
See Also
07 - Creating your own customized endpoints
An example of good practices
Avoiding APIs to be too chatty
Adding sub-resources
Adding nested data in a response (Master/Detail)
Testing the new implementations
Creating custom GET, POST, PUT, DELETE methods
Handling response errors
See also
08 - Accessing the built-in analytics
Main Characteristics
Accessing the RAD Server Console
09 - Deploying RAD Server
Where can RAD Server be deployed
Using the installers from GetIt
Prerequisites to deploy RAD Server manually
Deploying on Windows manually
InterBase Server engine
RAD Server installation
Web Server (IIS or Apache)
Deploying on Linux manually
Compatible Distros
Installing InterBase Server engine
Registering and starting InterBase Server
Running InterBase as a Service
Installing RAD Server
Setting Up RAD Server for Apache
Deploying on Docker
Option 1: PA-RADServer-IB
Option 2: PA-RADServer
Copying RAD Server modules compiled with RAD Studio
Confi guring the EMSServer.ini file
10 - RAD Server Lite
What is the Lite version?
How to get a RAD Server Lite License
Deploying a RAD Server Lite project
The Files to Deploy
Deploying manually
Using the Deployment Wizard
MSVC runtime
Creating the Production Database
Proxy Configuration
For Linux
11 - Authentication and Authorization
Integrated authentication: Managing users and groups
Logging in
Logging out
Signing up
Managing groups
Integrated authorization
Global Credentials
Users and group authorization
Custom authentication
Custom authorization
RAD Server Management Console
Creating a new profi le
Managing users and groups
Diving deeper into the RSConsole
12 - Documenting and testing your endpoints using OpenAPI (Swagger)
What is OpenAPI/Swagger and why use it?
Embedding Swagger UI into RAD Server
Creating custom documentation
Examples
EndPointRequestSummary
EndPointRequestParameter
EndPointResponseDetails
EndPointObjectsDefinitions
Defi ning attributes on EMSDatasetResource
13 - File management and storage
TEMSFileResource
Example
Managing files from code
Content-Type HTTP headers
A Simple Example
14 - EdgeModules: Extending RAD Server
Understanding EdgeModules
The TEMSEdgeService Component
Component Confi guration
Resource Implementation
Creating a basic example
Adding the required components
Creating and registering a resource
Practical Applications
1. Legacy System Integration
2. Specialized Processing Services
3. Cross-Platform Integration
4. Hardware & IoT Integration
Integrating EdgeModules and InterBase ChangeViews
What is InterBase ChangeViews?
The ChangeViews Challenge
How the Demo works
Benefits of this approach
Conclusion
15 - RAD Server and WebStencils
What is WebStencils?
Integrating WebStencils with RAD Server
Using WebStencils Processors
Using WebStencils Engine
Handling static JS, CSS and images
Frontend sources
Do you want to learn more?
16 - RAD Server Multi-Tenancy Support
Introduction to Multi-Tenancy
Key Benefi ts of RAD Server Multi-Tenancy
Understanding Tenant Architecture in RAD Server
Enabling Multi-Tenancy in RAD Server
Using the RAD Server Console
Tenant Management
EMS Multi-Tenant Console
Multi-Tenancy Implementation Models
Shared Database with Tenant Filtering
Database-per-Tenant
Developing Multi-Tenant RAD Server Applications
Implementing Tenant-Filtered Resources
Anonymous Tenant Resources
Accessing Tenant Information in Resource Implementation
Client-Side Implementation
The TEMSProvider Component in Multi-Tenant RAD Studio Client Applications
Implementing User and Group Management Within Tenants
Sample Application: RAD Server Multi-Tenant Demo
Conclusion
17 - Mapping Endpoints to External Classes
Create the RAD Server package application
Test the RAD Server Application
See Also
18 - Extending RAD Server with Resource Interceptors
Understanding Resource Interceptors
When Standard RAD Server Features Aren't Enough
Multi-Tenancy Beyond the Built-In Approach
Implementing Database-Per-Tenant Architecture
Advanced Tenant Isolation Scenarios
Custom Authentication and Authorization
Enterprise Identity Integration
Advanced Logging and Monitoring
Comprehensive Request Tracking
Data Validation and Transformation
Centralized Input Processing
Performance Optimization and Caching
Intelligent Response Caching
Rate Limiting and API Protection
Advanced Rate Limiting
Reusable Interceptor Logic Through Inheritance
Creating a Base Interceptor
Extending the Base Interceptor
Advanced Inheritance Patterns
Integration with External Systems
Event-Driven Architecture Integration
Best Practices and Considerations
Conclusion