Michael_Lowry

Listing users who use the Java API to connect to the Automation Engine

Discussion created by Michael_Lowry on Nov 6, 2014
Latest reply on Mar 23, 2015 by Michael_Lowry
There is currently no way to grant a user access to the UC4 GUI without also permitting access via the UC4 Java APIs. This opens up the possibility that a user might (intentionally or otherwise) put a very large load on the Automation Engine by executing many repetitive API calls programmatically. Because of this, I was interested in getting an idea of how many users were actually using the Java APIs to access the Automation Engine.

Here is the (Oracle SQL) query I created to do just that.
SELECT unique OH.OH_NAME from AH
inner join OH on
AH.AH_USR_Idnr = OH.OH_Idnr
where AH.AH_OType = 'USER'       -- connection from a user
and AH.AH_Status <> 1852         -- not Rejected
and OH.OH_DeleteFlag = 0         -- not a deleted user
and AH.AH_Stype = 'JAVA API';    -- connection via Java APIs
There is one problem with this approach though. This list appears to include connections from the ECC. We would ideally like to identify the users who are writing their own programs that connect directly to the Automation using the APIs.

A quick check revealed just four sub-types of type USER in the AH table. Here are my assumptions of what they mean:
JAVA API: The Java APIs (uc4.jar) or the Enterprise Control Center (ECC)
API: The Call API
WEB GUI: The old pre-ECC web GUI.
DIALOG: The stand-alone UC4 GUI (a.k.a. Dialog Client or User Interface)

Can anyone confirm this? Is there a way to distinguish connections made via the ECC from those made directly using the APIs?

Outcomes