RAD Server is a turn-key application foundation for rapidly building and deploying services based applications. RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. At the time of this writing RAD Studio Enterprise incldues one RAD Server deployment and RAD Server Architect includes unlimited RAD Server deployments.
RAD Server is easy to develop, deploy, and operate making it ideally suited for ISVs and OEMs building re-deployable solutions. RAD Server allows you to take your existing code and convert it to REST API endpoints. RAD Server can be deployed to IIS or Apache on Windows and Apache on Linux (with Delphi) via a handy installer available via Embarcadero GetIt. Additionally, stand alone versions on Windows and Linux (with Delphi) can be deployed. RAD Server can also be deployed via Docker.
Benefits of using RAD Server over rolling your own solution include making use of the existing tooling (management console) and documentation architecture (Swagger/OpenAPI), built in statistics console, enterprise level user permissions, easy deployment and consumption of FireDAC datasets, and multiple in-depth solutions with source code (Field Service App Template, Hospitality Survey App Template, Nurses Station Solution Template, and AutoTables for RAD Server). Sample code on how to synchronize RAD Server user accounts with ActiveDirectory users is also available.
RAD Server supports REST with JSON (or XML) parameter passing and return results. Publish APIs, manage connected users and devices, capture analytics about the use and users of applications, and connect to local and enterprise databases using FireDAC components. RAD Server delivers high performance built-in connectivity to all popular Enterprise RDBMS servers such as Oracle, DB2, Microsoft SQL Server, InterBase, Informix, MySQL Server, etc. RAD Server also supports user authentication, push notifications, geolocation, and data storage.
- Modernize. Migrate existing Delphi or C++ client/server business logic to a modern services-based architecture that is secure and scalable.
- REST End Point Publishing, An all-in-one turnkey foundation for your application back end APIs and Services.
- Integration Middleware, Integrations provide out of the box connectivity with external servers, applications and services.
- Application Services, Ready-to-use built-in services including user directory services and user management, push notifications, user location tracking, and built-in data storage.
- Easy-To-Deploy RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions.
- Delphi and C++Builder Support. RAD Server works out of the box with Delphi (Windows and Linux) and C++Builder (Windows only).
Table of Contents
RAD Server Management Console Application
Full source code is available for the Managment Console so you can customize as needed for your solution. The RAD Server Management application allows you to:
- Manage your RAD Server Engine data only within the selected tenants.
- Accesses the RAD Server database server in read and write mode.
- Manage the RAD Server Users of your RAD Server Engine (EMS Server). You can manage the RAD Server users registered in your RAD Server Engine (modify its data, add them to an RAD Server Groups or delete it) or add a new RAD Server user.
- Manage the RAD Server Groups that are created in your RAD Server Engine (EMS Server). You can create a new group, modify its data, and add or delete RAD Server users to/from it.
- Manage the data from the registered devices in your RAD Server Engine.
- Send push notification messages to the registered devices in your RAD Server Engine.
- Manage an integrated REST Debugger to query your RAD Server REST APIs, see the JSON response, and test with different parameters and HTTP methods.
RAD Server Console
The RAD Server Console is a service that provides a web application which displays analytics from the RAD Server Engine (EMS Server). The RAD Server Console is built with Sencha’s ExtJS framework. Sencha is a sister company of Embarcadero.
- The RAD Server Console accesses the database server in read-only mode.
- It gives feedback on the API calls with statistics from the RAD Server Engine resources: Users, Groups, Installations, modules and its resources.
- You can use the console as a stand-alone application for testing purposes or set up the console on a Microsoft IIS Server for a production environment.
- Note: Microsoft IIS Server is not available on Linux. You can use Apache for a production environment on Linux
- The RAD Server Console offers analytics for new resources by extending the functionality of the server.
- The RAD Server Console offers analytics for the registered RAD Server users.
- You can export and save the analytics data to a .csv file in your system.
The Complete Guide to Embarcadero RAD Server
The Complete Guide to Embarcadero RAD Server is a free guide containing over 196 pages with in-depth information about everything you want to know regarding RAD Server. Applications are being moved from the desktop to multiple devices, network edge connections, and to on-premises, public and hybrid cloud services. With RAD Server and RAD Studio, you can build solutions that cover a wide spectrum of your company’s (and customer’s) computing needs and business requirements.
The e-book will show you how to quickly design, build, debug, and deploy services-based multi-tier applications using RAD Server’s REST-based API hosting engine, components and technologies that are available in RAD Studio Enterprise and Architect editions.
After reading this e-book, you’ll have learned:
- RAD Server’s application development tips and techniques
- RAD Server’s platform requirements
- How to build and test your first RAD Server applications
- How to deploy your RAD Server applications to Windows+IIS and Linux+Apache
- New RAD Server features in RAD Studio 10.3.1 Rio
- What samples and application templates are available for RAD Server to get you started
- Where to find additional references, resources, videos, blog posts and more
RAD Server Field Service Template
The RAD Server Field Service Template utilizes a RAD Server based REST server module for the server side. On the admin side there is a FireMonkey based desktop client for adding, viewing, and managing appointments. Additionally, the admin client allows you to manage parts inventory and do user administration. The offline capable cross platform client app is built in FireMonkey and it can be deployed to Android, iOS, macOS, and Windows.
There is a single codebase and single UI. It allows you to view pending and completed appointments, map their locations, and mark them as completed. You can also view parts inventory and receive local notifications when new appointments are synced from the server. Both LiveBindings and FireDAC are used extensively through the Field Service Template to provide a low code solution.
The Field Service Template can be downloaded from Embarcadero GetIt. You can also check out a quick start guide for the RAD Server Field Service Template here.
RAD Server Hospitality Survey App Template
The Hospitality Survey App template can be downloaded through Embarcadero’s GetIt which is built into the RAD Studio IDE. It consists of four different projects that interconnect with each other (plus two additional add on projects). The projects are:
- Hospitality Survey Setup
- Hospitality Survey EMS
- Hospitality Survey Admin
- Hospitality Survey Client
- Hospitality Survey Editor
- Hospitality Survey Admin Client
- You should deploy and run the projects in the following order:
1) The Hospitality Survey Setup app will help you set up your database, the tables and data, and your EMS user accounts.
2) The Hospitality Survey EMS is the RAD Server side REST resource which both the Hospitality Survey Client and the Hospitality Survey Admin interface with. It should be deployable on Windows and Linux through IIS, Apache, or the stand alone EMS server.
3) The Hospitality Survey Client is a RAD Studio client application for Android, iOS, macOS and Windows. The client application should allow you to select a tenant from your RAD Server and then log in as a user. Once logged in it will download the survey data for your current tenant and allow the survey to be filled out. Once the survey is complete it can be submitted back to the server and a new survey can be started.
4) The Hospitality Survey Admin app is an AngularJS application for the web. You should be able to log into the application with your Tenant ID and RAD Server user ID. The web app should allow you to view statistics and graphs about the results of the survey questions and each individual question and answer. You can also export a list of emails collected from the surveys.
5) The Hospitality Survey Editor allows you to edit the survey questions once your system is live.
6) The Hospitality Survey Admin Client is the same as the Hospitality Survey Admin web app except that it runs on Android, IOS, OSX, and Windows as a native client.
RAD Server Nurses Station Template
The solution provides an improved patient experience and automated collection of patient data in a clinic, hospital or doctor’s office The patients can check-in to the clinic using a smartphone application and have a connected experience during their visit. Nurses are able to more easily track patients and gather information from Bluetooth connected devices. The data is shared in a central repository that can be integrated with a variety of EHRs. The template is available through GetIt (Tools > GetIt Package Manager) in RAD Studio.
AutoTables For RAD Server
Automate REST API Development with the open source Auto Tables For RAD Server project over on GitHub.
Auto Tables is an automatic low code REST API generator for RAD Server. The server and clients can be compiled in Embarcadero Delphi. The easy to use interface allows for the quick automatic configuration of a REST server with dynamic endpoints providing read, write, and delete access to your data. Database tables can be made available with enterprise permissions for over 30 different databases including databases such as MySQL, Microsoft SQL Server, and InterBase. Additionally, you can automatically generate endpoints for over 80 more data sources using the Embarcadero Enterprise Connectors. Auto Tables provides similar functionality to DreamFactory, Sandman, and LoopBack.
A graphical Auto Tables for RAD Server Endpoint Editor is provided to help you set up, create, and edit your Auto Tables for RAD Server endpoints. Once you configure your endpoints you can either generate a new RAD Server project or you can save them out for loading into an existing Auto Tables for RAD Server ResourceModule. The configuration format is the standard FireDAC JSON. Full source code for the Auto Tables RAD Server ResourceModule is provided so you control your REST API server. This gives you the freedom to enhance and modify the source code as needed for your own solutions. Find out more about AutoTables for RAD Server in this blog post.
AutoTables for RAD Server was used to create two demo applications with source code available. The first one is for OpenEMR and the second is for WordPress.
OpenEMR is a “leading open-source electronic medical record and practice management software.” The demo used AutoTables for RAD Server to generate a CRUD REST API for the OpenEMR database. Check out the OpenEMR RAD Server REST demo.
WordPress is a popular blog software used on a wide variety of sites. The demo used AutoTables for RAD Server to generate a CRUD REST client for the WordPress database. Check out the WordPress RAD Server REST demo.
ActiveDirectory Integration And Other Sample Solutions For RAD Server
A number of samples for RAD Server are available with RAD Studio. These samples include:
The first part of the application consists of creating a RAD Server Package with a new ResourceName (Notes). Once you run the package, the resource is registered on the server and can be accessed by a client application using REST. The client needs a TEMSProvider to connect to RAD Server and retrieve the JSON data. Find out more.
The sample application demonstrates a retail store deployment use case. Each store with its employees and goods is a tenant implementation. Multi-tenancy support was added in RAD Studio 10.2.
This sample is a RAD Server demo that uses FireDAC components. The sample accesses a SQLite database. Find out more.
This sample demonstrates how to implement custom Login and Signup endpoints in a custom resource. Find out more.
Sample demonstrates using the Swagger/OpenAPI documentation functionality. Find out more.
RAD Server production deployment with Docker
Remember in additon to the RAD Server Docker images you can download a production installer for Windows and Linux from Embarcadero GetIt. The source code for deploying directly from the RAD Studio IDE into a running Docker image is available on GitHub.