The Complete Guide to RAD Server
While Embarcadero keeps adding features to RAD Server (more to come soon) we have made some additional effort to help developers better understand how to use RAD Server for hosting REST APIs and building a modern web service architecture.
We have asked David I to help and he delivered for us an in-depth 200 pages e-book covering RAD Server development and deployment. It is available for free to customers of the Enterprise and Architect editions of Delphi and C++Builder, or RAD Studio.
Chapter 1: Introduction
What You’ll Learn
RAD Server Overview
Building RAD Server based applications – Seven Key Aspects
Requirements for Building RAD Server Applications
Using the RAD Studio IDE
RAD Server Testing and Deployment Licenses
FireDAC Supported Databases
Deployment Platforms Supported
Web Servers Supported for Deployment
See Also
Chapter 2: Roundup of Core RAD Server Features
Core Features
Features Highlighted in the RAD Studio Feature Matrix
See Also
Chapter 3: Building Your First RAD Server Applications
Building REST-Based Services
Using the RAD Server Project Wizard
The Wizard Generated RAD Server Project and Source Code
Configuring RAD Server for your first Application
Testing your first RAD Server Application
Using the RAD Server Development Console
Using the RAD Server Console Ext JS Based UI
Using REST Debugger to Test RAD Server Applications
Enhancing the RAD Server App with FireDAC and InterBase
Create Client applications for the RAD Server application
See Also
Chapter 4: RAD Server Configuration File Explained
Main Sections of the Configuration File
Database Configuration [Data]
Authentication Configuration [Server.Keys]
Developer Server Connection [Server.Connection.Dev]
API Cross-Domain [Server.APICrossDomain]
Thread Management [Server.Threads.Dev]
Console Login [Console.Login]
Console Cookie Settings [Console.Cookies]
Console Display Options [Console.DisplayOptions]
Console Development Server Settings [Console.Connection.Dev]
Console Browser Settings [Console.Browser]
Console Development Paths Settings [Console.Paths.Dev]
Console ISAPI Paths Settings [Console.Paths.ISAPI]
Console Apache Paths Settings [Console.Paths.Apache]
Configuration Section for Extension Packages [Server.Packages]
Google Cloud Messaging [Server.Push.GCM]
Apple Push Notification Service [Server.Push.APNS]
Server Authorization Configuration Section [Server.Authorization]
Custom Resource Redirects [Server.Redirect]
Proxy Setup for Edge Module Requests [Server.EdgeHTTP]
Single/Multi Tenancy [Server.Tenants]
Specifying root paths [Server.Roots]
File Dispatching Support [Server.PublicPaths]
See Also
Chapter 5: Deploying a RAD Server Application to Windows and IIS
Step 1: Install InterBase 2017 with your RAD Server License
Step 2: Install IIS
Step 3: Create New Sites for RAD Server Engine and RAD Server Console
Step 4: Configure the EMSServer.ini file for the RAD Server Console
Step 5: Configuring IIS 7 for RAD Server ISAPI DLLs
Step 6: Enable ISAPI Modules
Step 7: Enable 32 bits ISAPI DLL on IIS 7 x64
Step 8: Configure IIS to Allow Cross Domain Requests
Step 9: Copy RAD Server application(s) and supporting files to the IIS production server
Step 10: Test RAD Server on the Windows Production Server
See Also
Chapter 6: Deploying a RAD Server application on Linux Apache
Prerequisites
Install InterBase 2017 for Linux
Starting InterBase on Linux
Running InterBase as a Service
RAD Server files for Linux support
RAD Server Stand-alone Installation
Setting Up RAD Server for Apache
Red Hat and related non-Debian distributions of Linux
Ubuntu and similar Debian distributions of Linux
Final Apache Server Setup and Restart
Test RAD Server Running on Apache
Apache is Ready for your RAD Server Packages
See Also
Chapter 7: Mapping Web Properties to Folders
A Simple Example
See Also
Chapter 8: Returning JSON using JSONValue and JSONWriter
Two Frameworks for Handling JSON Data
Using JSONValue
RAD Server App using JSONValue classes
VCL Client App using JSONValue classes
Using JSONWriter
A Simple JSONWriter Example
Using JSONWriter with a SQL Query
See Also
Chapter 9: Using FireDAC Batch Move and JSONWriter
Returning JSON Database Data Using a Memory Stream
Using FireDAC’s BatchMove, BatchMoveDataSetReader and BatchMoveJSONWriter
See Also
Chapter 10: Mapping Endpoints to Custom Method Names
Adding EndPointMethod Attributes
Test the RAD Server Application
See Also
Chapter 11: Mapping Endpoints to External Classes
Create the RAD Server package application
Test the RAD Server application
See Also
Chapter 12: Multiple Accept Types with EndpointProduce
A Simple Example
RAD Server Executes Methods Based on Accept Headers
See Also
Chapter 13: Using the EMSFileResource Component
Create RAD Server application package
Compile and Run the Application
See Also
Chapter 14: Using the EMSDataSetResource Component
Test the RAD Server application
Create VCL client application using the EMSDataSetResource endpoint functionality
See Also
Chapter 15: Putting it all together – Building a JavaScript client using Sencha Ext JS
Build an Employee Data RAD Server Application
Build and Test an EXT JS web client application using Sencha Architect
Step 1: Create and Preview the JavaScript Web Client App
Step 2: Test the Web Client’s Connection to RAD Server
Step 3: Setting up JSON Employee Data Object and Data Model
Step 4: Update the Web Client UI and Test the Final App
See Also
Chapter 16: Putting It All Together – Sample Walk Throughs
RAD Server Samples
FireDACResource
APIDocAttributes
ActiveDirectoryConsole
RAD Server Solution Series application templates
RAD Server Solution Series: Restaurant Survey Application
RAD Server Solution Series: Field Service Application
RAD Server Solution Series: Nurses Station Solution
See Also
Chapter 17: Summary
Sample Projects
Acknowledgments
Additional Resources
DocWiki Help and What’s New
Embarcadero Developer Community Blog Posts
RAD in Action: RAD Server by Cary Jensen
RAD Server Videos
Product Videos and Webinar Replays
RAD Server Field Service Application
RAD Server Application Deep Dive
RAD Studio Linux Development