This manual represents the knowledge at the above-mentioned time. TKH security works non-stop to improve her products. For the most recent technical information please contact your consultant or dealer.
Table of contents
Introduction
This document explains how you can implement the “JSON push transaction webservice” and how the settings and functions work.
With the “JSON push transaction webservice” it is possible to send iProtect transactions in JSON format to a external system like a “Elastic Stack”. It is possible to specify precisely which transactions are send and what data is added.
Support and license
Below is an overview of support for both the hardware and the software, including the necessary license:
Version | License |
---|---|
Version 10.3.15 | iProtect basic license |
Implementation
This chapter explains how the setup can be made in iProtect.
Export profile
Although not mandatory it is highly recommended to implement and use a export profile. With a export profile it is possible to specify precisely which transactions are send and what data is added. This prevents that unnecessary data is send and gives a significant boost to the performance of the iProtect system, by limiting the data that must be collected and send.
Setup export profile
In iProtect browse to menu: Installation → Settings → Services → Export profile. Right mouse click in the treeview dialogue and click Add export profile.
Enter the following data:
Name: logical name for the export profile
Code: Logical unique code
Language: The desired language, when no language is selected all languages will be send
Type: The desired type, version 2023 is recommended, version 2018 is mainly for backwards compatibility
Options: Select the default data that will be send for the selected transaction types
Click “save”
The type “version 2018” does also add custom text information which is basically no useful data
Event type
At event type select the transactions that need to be send by the “JSON push transaction webservice”
Table list
At table list it is possible to select what data needs to be added to the transaction. This data will only be send if the data is involved in the transaction. So for example a “User logs in” transaction will not add accesskey data even if it is selected, a “Access for subscriber card” transaction will add the accesskey data if selected.
If table(s) are selected at “Table list” they are shown in the treeview, at the specific table specific data can be selected that must be send. So it is possible to for example only send person names and not first names.
Some specific data options are controlled by the “option” settings at the Export profile settings, they are greyed out in the specific selection
Some data is always added to the JSON export even if it is not selected. This is because it is source data, this can be checked in the “Table information” dialogue:
Table: TRANSDATA, column: DATAID
Table: TRANSNUMBER, column: DATAID
Table: TRANSTABLE, column: DATAID
JSON push transaction webservice
This service will be responsible for sending the transactions in JSON to the elastic stack.
Setup the webservice
In iProtect browse to menu: Installation → Settings → Services → Database link. Right mouse click in the treeview dialogue and click Add database link.
Enter the following data:
Database type: Push transaction
Name: Logical name
Active: Checkbox to enable the service
Login name: Login name for elastic stack
Password: Password for elastic stack
Export profile: The desired export profile (when left empty all transactions and all data will be send)
Upload url: https: URL where the transactions in JSON format should be send to
Post type: Select the desired post type:
Json: Every transaction is send separately in JSON format
Log: Is for testing, will send the transactions in JSON to the catalina.out log file
Multi part (Json): Will gather the events that need to be send, and send them in a single post
It is highly recommended to set a “Export profile” to prevent high system load
Optional data:
Send data interval time: The time interval when data is selected and send (default is 45s)
Log minutes: The time the logging is enabled, when enabled
Send data interval time: On 1 interval 100 transactions will be gathered, in order of the transid. After that a selection will be made of the transactions that must be send and the selected data at the export profile will be added.
The “Send data interval time” can speedup the sending of events if it is set to a lower value. However depending on the amount of data to be send this can also cause a severe load on the system. When changed, system load must be monitored to ensure it is not set to low
Testing the JSON push transaction webservice
There are at this moment two ways to test:
At the database link settings the post type can be set to “log”. When the logging is enabled this will send all new events to the catalina.out log file
It is possible to see all pushed transactions in JSON format at URL: https://<ipadress>/Webcontrols/testpushnotification.html this works parallel with the webservice.
In order for this to work the code must be set at the “Export profile”
At export profile: Select the export profile that is desired to test
At Select option: Select the way to retrieve the transactions in JSON format
Last event: Will show the transaction of it occurs in the system
Last event id: Will retrieve all transactions from that transid (0) will retrieve all transactions
Number events back: Will retrieve transactions back to the set number
By clicking the start button the log will start retrieving data