Overview
TMS XData is a Delphi framework that allows you to create HTTP/HTTPS servers that expose
data through REST/JSON.
By using the concept of Service Operations, you create server-side methods (business logic) that
are mapped to endpoints in your API. Whenever an endpoint is requested, your method is
executed. XData has a very high-level and smooth learning curve allowing you to build the
service operations without having to worry about HTTP communication, HTTP methods, JSON
handling, among other low-level mechanisms. You just declare your methods using regular
Delphi types, tag them with attributes to properly bind the endpoints to it, define authorization
and authentication, multitenancy information, and everything is done automatically, including
full Swagger documentation output.
It is also optionally integrated with TMS Aurelius ORM in a way that creating automatic CRUD
endpoints based on applications with existing Aurelius mappings are just a matter of a few lines
of code. For the automatic CRUD endpoints XData defines URL conventions for adressing
resources, and it specifies the JSON format of message payloads. It is inspired on the OData
standard. Such conventions, with the benefit of existing Aurelius mapping, allow building a full
REST/JSON server with minimum writing of code. TMS XData uses TMS Sparkle as its core
communication library.
TMS XData supports Delphi XE2 and up.
TMS XData product page: https://www.tmssoftware.com/site/xdata.asp
TMS Software site: https://www.tmssoftware.com
TMS XData is a full-featured Delphi framework that allows you to create REST/JSON servers,
using server-side actions named service operations, and optionally exposing TMS Aurelius
entities through REST endpoints. Consider that you have an Aurelius class mapped as follows:
[Entity, Automapping]
TCustomer = class
strict private
FId: integer;
FName: string;
FTitle: string;
FBirthday: TDateTime;
FCountry: TCountry;
public
property Id: Integer read FId write FId;
property Name: string read FName write FName;
property Title: string read FTitle write FTitle;
property Birthday: TDateTime read FDateTime write FDateTime;
property Country: TCountry read FCountry write FCountry;
end;
TMS XData 5.12 Page 1 of 5