Deploying XData-based service

I'm looking for info on deploying an XData service to a remote host and accessing it remotely. I've copied up both the service and test client and I can run them both on the remote system via RDP on my local machine. What do I need to do to allow them to be seen when running my test client and main client-side app remotely?

Hi
Allow firewall access.

1 Like

what else? How do I access it remotely?

  1. Make sure you have the correct CORS settings on the XData app in case your client is hosted on a different host.
  2. If you are running on a cloud server like AWS EC2 environment, they have additional cloud firewall settings that you have to adjust.
  3. If your host is behind a router firewall make sure router is forwarding the public IP ports to your host.
1 Like

Meaning ... I'm asking if there's anything already written up in any of the many volumes of documents we have related to all of the different pieces in the Business Suite that discusses HOW TO DEPLOY APPS built with these tools? The XData PDF doesn't have an index, and there's no TOC b/c it seems to be a bunch of separate docs pasted together.

WebCore has something, and it happens to be really simple. This is not so simple, so it would seem like it would be documented somwhere.

I'm looking for an overall description on what delploying XData services involves, not this setting and that setting and oh, what if it's on AWS and ... and ... or ...

The examples seem to have Sparkle built into the service. Looking through the Sparkle doc, it's not clear if I'm going to need a separate Sparkle server "app" or if my service EXE can handle everything needed. Is what's there for the localhost examples sufficient to support remote access?

Hi David,

Put Sparkle.App.WinService in your program's uses, it is some where located
TMS Sparkle\source\app\Sparkle.App.WinService.pas

begin
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TYourXDataServerModule, YourXDataServerModule);
  Application.CreateForm(TServerWinService, ServerWinService);
  Application.Run;
end;

Put Sparkle.App.Config in YourXDataServerModule uses and add the following code:

procedure TYourXDataServerModule.DataModuleCreate(Sender: TObject);
begin
  with SparkleAppConfig.WinService do
  begin
    Name := 'YourAPIServerService';
    DisplayName := 'API Server Service';
    Description := 'API Server Service information..';
  end;

And finally install your service app from command line: /install.

Hope it help this time.

1 Like

Thanks for contribution, @Mehmet_Emin_Borbor.
But actually it can be simpler than that, you can simply add Sparkle.App as the first unit of your dpr file and it will become a Windows Service application when compiled in RELEASE config.