The Electra client program is the client-side component of the Electra system, which can connect directly to the Electra server installed at the bank. Basically speaking, the Electra system has a client-server architecture.
The Electra client is a separately installed 32-bit application (a so-called fat client) with a user interface, running on a Microsoft Windows (95, 98, NT4.0, 2000, XP or Vista) operating system. The application also includes a general engine, which can be driven by screen definitions specified in standard SGML format and the relevant program codes. Screen definitions and program codes are arranged in modules and submodules depending on their functionality. The system includes print, import and export functions also defined in SGML format and the server modules required for the interpretation of these functionalities.
All information relating to the Electra client can be found in a subdirectory located in the program's installation directory. The client does not store any information in the Windows registry. Data storage is file-based: each order package, retrieved account statement, balance etc. is stored in a separate encrypted file.
The client program has a special update mechanism, which allows the bank to send program updates and fixes through the standard communication line and without any intervention on the user's part. The modular structure of the program allows that specific updates affect only those parts of the application which need to be modified, so the size of the update package can be kept to a minimum. Obviously, the Electra client can also be updated using the installation CDs of newer versions or by running so-called self-extracting installation programs downloaded from the bank's web site.
The Electra client can also be used in multi-user or networking mode. In this operating mode a work directory is created on every user's workstation and the program installed on the common server is run from there. The Electra client protects data managed by multiple users simultaneously and so, for instance, it does not allow parallel access to packages, i.e. no other program instance can access any given package under modification until the modification is over.
The system implements the mutual exclusion principle also in relation to signing order packages, which means that order packages marked for signing cannot be accessed by other users before the signing procedure is finished. Signed packages are protected against subsequent modification by a checksum (a so called 'stamp'), which is generated on the basis of the signed package content (and also used for the purposes of digital signatures).
Simultaneous Electra program instances are synchronised (i.e. a file cannot be written to by more than one client simultaneously) using a so-called locking mechanism, which is based on functions implemented by the operating system. If a user exits the client in an irregular way (e.g. he turns off the computer or there is a power failure), it is the operating system that will ensure that lock entries created by the given Electra client instance lose their validity.