Custom DA Server in the (MS Azure) Cloud

Got a call from my customer asking what about integration of DA Server in MS Azure Cloud ?

I’m fairly new to MS Azure, searched the forums and found articles but the often referenced wiki.databastract articles (e.g. DataAbstract server on the cloud? - #3 by antonk) are gone as well as the mentioned discussion.

So any other help available?

Thanks in advance for reading.

Hi,

check Data Abstract Server on Windows Azure

The problem here is that this sample ist C# only where DA .NET files are included in a VS project.

But the current project is Delphi only.

Hi,

Data Abstract for Delphi server project is usual delphi application (console, gui or service).
I can recommend to check existing workarounds in google like delphi azure cloud - Google Search


EDIT: The easiest approach here would be to build your server app for Linux, put it into a Docker container instance ( see https://blogs.embarcadero.com/introduction-to-docker/ ) and then run it as an Azure Container App ( https://azure.microsoft.com/en-us/products/container-apps/ )

1 Like

DA work very fine in linux docker container :wink:

1 Like

PAServer in Ubuntu running, VMWare Intel: FMXLinux installed, SDK installed

Client and Custom DA Server FMX compiling for Win32 without error

Compiling for Linux throws these two errrors
[DCC Fehler] DataService_Impl.pas(21): E2003 Undeclared Identifier: ‘TDASpiderMonkeyScriptProvider’
[DCC Fehler] DataService_Impl.pas(21): E2217 Published-Feld ‘EcmaScriptProvider’ is neither of type class nor interface

First meeting today about the future of the project

FYI: On Windows 11 ARM compiling FMX project fails with this error
[Fataler Fehler] Das System kann die angegebene Datei nicht finden, ClassID: {F94EEEBC-9966-4B32-9C9C-763B22E31B20}

Hi,

Known. we haven’t TDASpiderMonkeyScriptProvider for Linux platform

this is guid of RemObjects.SDK.CodeGen4.dll.
you can avoid this error via disabling #ROGEN line in .dpr for ARM platform

{#ROGEN:MegaDemoLibrary.rodl} // RemObjects: Careful, do not remove!

commented that line but then there are missing the [ProjectName]_Intf.pas and [ProjectName]_invk.pas files.

Hi,

Looks like you are using RODL-based servers. these files are required for RODL-based service only.
You can convert your project to CodeFirst-based servers via correspondent item in IDE->Tools->Remoting SDK & DataAbstract menu.

Note: If you are using events you have to convert them manually.

difference:

  • RODL-based
//  ev: IChatEvents_Writer;
  ev := EventRepository as IChatEvents_Writer;
  ev.UserLogin(Session.SessionID, Nickname);
  • CodeFirst-based
//  ev: IROEventWriter<IChatEvents>;
  ev := EventRepository.GetWriter<IChatEvents>(Session.SessionID);
  ev.Event.UserLogin( Nickname);

Thanks.

I’m going to switch to CodeFirst for testing a Linux based server version. Just need to deepen my knowledge of DA.