BIZ
TMS XData
Delphi framework for multi-tier REST/JSON HTTP/HTTPS application server development and ORM remoting.
TMS XData can be simultaneously used on these frameworks:
TMS XData can be simultaneously used on these operating systems/browsers:
TMS XData can be simultaneously used on these IDE's:
Feature overview
- Server based on REST/JSON architecture style
- Easily accessible from different client platforms like .NET, Java, JavaScript, since it's REST/JSON based
- Uses standard POST, GET, PUT and DELETE HTTP methods for data request and data modification operations
- Partial update of objects (PATCH)
- Full-featured query mechanism
- Multi-Model design makes it easy to create multiple servers with different mapping, types and service operations
- Service Operations allow adding custom business logic to your server using interfaces and methods
- Well-defined JSON representation of resources including entities, associations, streams and proxies
- Support for streams (blobs)
- Several databases supported in back end: SQL Server, MySQL, PostgreSQL, Oracle, Firebird, etc.. (through TMS Aurelius)
- Design based on standard OData protocol
- HTTP(s) server based on Windows http.sys stack
- Support for HTTP Secure (HTTPS)
- Kernel-mode caching and kernel-mode request queuing (less overhead in context switching)
- Multiple applications/process can share (respond) the same port (at different addresses)
- Secure Sockets Layer (SSL) support in kernel-mode
Feature details
TMS XData is a full-featured Delphi framework that allows you to create HTTP/HTTPS servers that exposes TMS Aurelius objects through REST/JSON.Example of an Aurelius class mapped:
[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;
GET /tms/xdata/Customer(3) HTTP/1.1 Host: server:2001
{ "$id": 1, "@xdata.type": "XData.Default.Customer", "Id": 3, "Name": "Maria Anders", "Title": "Sales Representative", "Birthday": "1980-05-20", "Country": null }
Example: Change the value of Title property of the customer resource:
PATCH /tms/xdata/Customer(1) HTTP/1.1 Host: server:2001 { "Title": "Marketing Manager" }
Example of retrieving customers with country name equal to "USA", ordered by customer's name:
GET /tms/xdata/Customer?$filter=Country/Name eq 'USA'&$orderby=Name&$top=10 HTTP/1.1 Host: server:2001
Query paging built-in to restrict the number of objects returned in each request.
Sample source Aurelius integrated full server-side logic using methods
Testimonials
BTW I am VERY happy with XDATA in a project I am developing at the moment. Great way to develop distributed applications.Roland Kossow, via email
After trying some REST frameworks, my last choice is to use XData! It's really a great framework, very flexible and powerful! TMS Business is a subscription that every serious Delphi developer should have in his toolbox!
Piffer Claudio, via TMS forum
I'm really, really impressed with everything. And thanks for helping me with my newbie questions.
There is a lot of ground to cover when you start, but the possibilities are really mind boggling. I'm writing a blog system in WebCore, as a warming up for the rewrite of our webshop.
I'ts been a long time (I guess since delphi 1 and the first introduction of firemonkey) that I've been this excited. Feeling like a kid in a candy store right now!
Filip Demuynck, via email
Pricing
Single Developer License
Small Team License
Site License
TMS BIZ Essential
€ 395
€
120
yearly renewal
license for 1 developer
TMS BIZ Standard
€ 495
€
150
yearly renewal
license for 1 developer
MOST POPULAR
TMS BIZ Premium
€ 595
€
180
yearly renewal
license for 1 developer
BEST VALUE
All prices excl. VAT. Renewal price is subject to change and only valid up to 30 days after license has expired. After renewal period a discount price is offered to renew the license.