TMS WEB Application and TMS Aurelius ?


Using Delphi 10.3 Rio Professional, I am unable to select the TMS Aurelius components, when creating a TMS WEB application. I might have misunderstood something, but is that correct ?

My goal is to create a single page data entry / maintenance form, for say Customers or Items, on a Windows 10 64-bit platform, where the database is a MS SQL on a MS SQL server.

I don't seem to find the right combination, and hope someone can help.

TMS Aurelius is not available in TMS Web Core applications, as the Pas2JS compiler still doesn't support all language features used by Aurelius. You would use Aurelius server-side in your REST server, and from Web Core applications you receive the objects from the server as JSON and use them as JavaScript objects (TJSObject)

Hi Wagner R. and thanks for your reply.

With pascal skills from way back before Delphi, when Turbo Pascal was still PolyPascal (by Anders Hejlsberg, Copenhagen), all the way op to today, my Web development skills stopped with Delphi for .Net and RAD 2007. Creating server-side code residing on a ISS server, with access to tables in a database on a SQL server, and creating Win32 VCL code accessing the same tables via SOAP Webservices (through WSDL) provided by a SQL endpoint, TMS WEB Code and XData Server (or rest server) is a bit of uncovered ground for me. 

I hope you will bear over with me and explain a few details to help me understand the concepts. I have watched almost all the videos under WEB Core on the homepage, but are not quite sure yet.

Bruno told me, as a reply to my initial contact to TMS regarding WEB Core, that it requires a backend of some sort. Like a TMS XData Server. Your videos shows how to create that (using Aurelius), so I'm sure I can manage. But.. Where do I put it after creation. I suppose it should be published and as such should be put in the inetpub section of an IIS server (or any other web page provider). Is that correct ?

Secondly, the main application (TMS WEB Core application), should be accessible on users workstations, through their web browser, and for that I suppose that should be published on the IIS server as well. Is that correct ?

And if it is, will the two applications (XData server and Mail Application) reside in the same published directory or are they seen as two different homepages ?

Please feel free to ask me any question you want to clarify any part of me post.

Thank you in advance,

Hi Soren,

A TMS XData Server in Windows is usually hosted in a regular Delphi application - either a VCL, console or Windows service. All you need is a computer in the internet, and the server would be reached via a static IP or domain. Usually you'd use cloud services, like Amazon EC2 or Lightsail, Digital Ocean, and similar services. You would create a Windows machine, login remotely using RDP, and use it as any other computer. Put your server app there, run it, and that's it.

A Windows Service application would be more robust since it will work without a login needed, will restart if server reboots, etc.. But I know several people that use XData in non-critical systems that just use a console or vcl application, login in the cloud computer, open the server, and it stays there "forever". In the rare case of issues, they would simply login and manually restart the server again. That's totally up to you.

To provide TMS Web Core application (the html/js/css files), yes, you also need a server to publish those files. In this case you can use IIS indeed, but you can also use a Sparkle TStaticModule that can serve the files as well. The small advantage is that it's one less thing to learn, everything is just Sparkle/XData and you deploy it the same way. It's also up to you.

You can have both servers (XData API Rest server and the static files from TMS Web Core application) reside in the same server computer, even using the same HTTP port, they will just be in different URL (for example, <server>/api and <server>/app). That's still true if you decide to mix use of IIS and use of Sparkle/XData apps.

Wagner R. Landgraf2019-07-04 12:38:08
Thank you very much for the clarification.

That was what I needed to see the connection between the various parts, and comparing it to the current system I'm about to rewrite. I'm sure I'll be able to create a first, simple, solution and build it up from there.

The point about Sparkle TStaticModule is taken and will be explored. I might come back with questions on that.

Again thanks for your help.


NB! A forum question: I see your post says it's "Edited by...". I suppose you corrected some text after you posted it at first. I was looking for ways to do that to correct a few of the spelling mistakes, I did not notice until it was published, but could not see how to do. How do you edit a publish post ?

I believe only forum admins have rights to edit posts.