Accessing OpenROAD Server from non-appServer Application

15 views
Skip to first unread message

Martin.B...@hse.gov.uk

unread,
Mar 3, 2021, 4:29:45 AM3/3/21
to openroa...@googlegroups.com

All,

 

I have a non-interactive OpenROAD Batch application that runs as a scheduled task on a server.  This processes database records and updates tables used by an OpenROAD AppServer (VOSA) application.  The VOSA application has some start-up code which loads several lookup lists.  In some circumstances, the Batch application will make a change to the tables used for populating these lists.

 

Is it possible to send a “Kill ASO” command to the VOSA application from the batch application, to trigger it to close & restart; thus refreshing the lookup lists?  Alternatively, can the start-up method which builds the lists be triggered from the batch application?

 

Regards,

 

Martin Bloomfield
Application Developer & Database Administrator
Information Systems Development
Information, Technology and Facilities
Health and Safety Executive

YORK

 

martin.b...@hse.gov.uk


www.hse.gov.uk

Follow HSE on Twitter @H_S_E

 

*****************************************************************************************************************

Please note : Incoming and outgoing email messages are routinely monitored for compliance with our policy on the use of electronic communications and may be automatically logged, monitored and / or recorded for lawful purposes by the GSI service provider.

 

Interested in Occupational Health and Safety information?

Please visit the HSE website at the following address to keep yourself up to date

 

www.hse.gov.uk

 

*****************************************************************************************************************

 

 

Adrian Williamson

unread,
Mar 3, 2021, 4:41:15 AM3/3/21
to openroa...@googlegroups.com

Hi Martin,

 

Can you deliver database events to your appserver app?

 

It is a while since I had to think about it – but I suspect you have stateful connection  as in variable values persist in between calls and it has a persistent database connection.

 

Would a registration/event block for DB Events in the Ghostexec for the app server  be able to pick this event up if raised from the batch process?

 

That way you can force the Appserver to re-query the relevant looks ups?

 

That is how I’ve done this in the past – raise a DB event for the data/table in question, any client that has an interest in the data should be registered for the event and then refresh.

 

Much better than stopping the application and starting it again.

 

Cheers

 

Adrian

--
You received this message because you are subscribed to the Google Groups "OpenROAD Users Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openroad-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openroad-users/57B7A7598ACE5348B646796AADE237E3966A707D%40VBTLMBX01.hse.int.

Bodo Bergmann

unread,
Mar 3, 2021, 4:46:47 AM3/3/21
to openroa...@googlegroups.com

Hi Martin,

 

I would recommend that your server application provides a 4GL procedure (e.g. “RefreshLookupLists”) to refresh the lists.

This procedure can then be called within the start-up code of your server application, but can also be called from your batch (client) application- using either JsonRpcRequest() or Call4GL() method of the RemoteServer object.

The RefreshLookupLists() could even have parameter to specify the list(s) that should be updated.

 

HTH.

 

Regards,

Bodo.

 

Bodo Bergmann
Engineering Architect
Actian | OpenROAD Engineering
www.actian.com
GESELLSCHAFTSANGABEN: Actian Germany GmbH | Sitz der Gesellschaft: Halenreie 42, 22359 Hamburg | Geschäftsführung: Stephen Padgett, Marc Monahan | Handelsregister: Amtsgericht Hamburg | HRB 135991 | USt-IdNr: DE252449897

 

From: openroa...@googlegroups.com <openroa...@googlegroups.com> On Behalf Of Martin.B...@hse.gov.uk
Sent: Wednesday, March 3, 2021 10:30 AM
To: openroa...@googlegroups.com
Subject: [openroad-users] Accessing OpenROAD Server from non-appServer Application

 

All,

--

Bodo Bergmann

unread,
Mar 3, 2021, 4:49:59 AM3/3/21
to openroa...@googlegroups.com

An OpenROAD Server application CANNOT receive/handle any events!

Just call a procedure in it that refreshes the lists.

 

Bodo.

 

Bodo Bergmann
Engineering Architect
Actian | OpenROAD Engineering
www.actian.com
GESELLSCHAFTSANGABEN: Actian Germany GmbH | Sitz der Gesellschaft: Halenreie 42, 22359 Hamburg | Geschäftsführung: Stephen Padgett, Marc Monahan | Handelsregister: Amtsgericht Hamburg | HRB 135991 | USt-IdNr: DE252449897

 

Paul A.

unread,
Mar 3, 2021, 4:55:21 AM3/3/21
to openroa...@googlegroups.com
Have a table containing the names of lists that need updating.

Poll the table periodically and update any lists mentioned that require to be updated, removing that row when the list update for that row is completed.

Use another app or batch procedure or even SQL to add rows to the list as and when required.
--

Martin.B...@hse.gov.uk

unread,
Mar 3, 2021, 5:15:59 AM3/3/21
to openroa...@googlegroups.com

Bodo,

 

Thank you for this information.  I had forgotten that OpenROAD can call the App Server (we always use web applications).  I’ll look into the Call4GL() variation, as we’re on an old patch & I don’t believe we have the JSON functionality.

 

Regards,

 

Martin Bloomfield
Application Developer & Database Administrator
Information Systems Development
Information, Technology and Facilities
Health and Safety Executive

YORK

 

martin.b...@hse.gov.uk


www.hse.gov.uk

Follow HSE on Twitter @H_S_E

 


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

--
You received this message because you are subscribed to the Google Groups "OpenROAD Users Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openroad-user...@googlegroups.com.

Bodo Bergmann

unread,
Mar 3, 2021, 5:19:28 AM3/3/21
to openroa...@googlegroups.com

“Periodically” is somehow fuzzy in a server application (used by many clients).

You would have to check at the beginning of each procedure that’s getting called (at least those procedures that use the lists), in order to make sure the procedure is not using old (cached) information.

 

Bodo.

 

Bodo Bergmann
Engineering Architect
Actian | OpenROAD Engineering
www.actian.com
GESELLSCHAFTSANGABEN: Actian Germany GmbH | Sitz der Gesellschaft: Halenreie 42, 22359 Hamburg | Geschäftsführung: Stephen Padgett, Marc Monahan | Handelsregister: Amtsgericht Hamburg | HRB 135991 | USt-IdNr: DE252449897

 

Adrian Williamson

unread,
Mar 3, 2021, 5:38:58 AM3/3/21
to openroa...@googlegroups.com

Oh I had a vague memory of that but things change and no one tells me sometimes.

 

Is that going to be more or less harder to do in a mixed server environment?

 

e.g. the Batch runs on Unix and the Appserver on Windows?

 

I can feel a DCOM headache coming on.

 

Good luck Martin.

Bodo Bergmann

unread,
Mar 3, 2021, 6:11:52 AM3/3/21
to openroa...@googlegroups.com

Well, if the OpenROAD Server is on Unix then you don’t have DCOM in OpenROAD 6.2,
and for Windows the DCOM port (135) would have to be open (firewall), which might be a security risk.


Therefore we recommend to pass the request via either or http or http-jsonrpc routing using:

  • OpenROAD Gatekeeper (servlet or ASP) for “http”
  • OpenROADJSONRPC Servlet for “http-jsonrpc

 

See the OpenROAD Server Reference Guide for details.

Reply all
Reply to author
Forward
0 new messages