System Architecture

From HSYCO
Jump to navigation Jump to search


The HSYCO framework is composed of three main layers, the drivers, the core services engine and API, and the user interface. This section discusses these layers, and also other general architecture information about HSYCO, including its file structure.

System architecture model.png

The Manager Toolkit

The Manager's application popup

HSYCO is pre-configured with a Web-based toolkit of applications, the Manager, that gives you access to configuration and administration functions, including the ability to change the network settings and the operating system's password, HSYCO users management and the tools to create customized graphic user interfaces.

To access the Manager, enter the following URL in your Web Browser:

https://192.168.0.50/hsycoserver/manager

The Manager section covers the details of each one of these tools.

The Drivers Layer

The drivers layer is used to create a consistent interface to all external systems that HSYCO is capable of controlling.

I/O Servers

Most input/output field systems are interfaced through what we call I/O servers. An I/O server is the logical representation of a field system integrated in HSYCO.

The I/O servers general concepts and specific implementations for each field system are discussed in the Introduction to I/O Servers section.

Video

Video cameras are another very typical device used with HSYCO, usually in combination with other systems, for live view and recording.

The Video Cameras section describes the detailed requirements to interface a camera with HSYCO.

The Core

HSYCO offers a rich set of core services.

These services are used by HSYCO to provide pre-built features, and are also available to developers, through APIs in JavaScript, Java and the proprietary EVENTS language.

The State Data Engine is the most important component of the core. It stores the real-time status of all field systems, application data and user interface dynamic attributes. The Events Engine triggers all relevant API asynchronous calls whenever any status change occurs.

Network

Network services implement some useful APIs like TCP/IP ping, HTTP get and post requests, Wake-On-Lan services and WiFi-based location services.

See the Wi-Fi Client Location Services section for additional information.

Serial

HSYCO supports both local and networked serial ports. The Communication Ports settings in Manager cover the details of serial interfaces.

Timers and Schedulers

Timers and schedulers allow users to trigger actions on field systems, or any other function that HSYCO can execute, at predefined time periods.

A timer is a simple function that allows you to set a time interval and days of week, and is used for simple alarms and repetitive tasks.

The scheduler is a powerful function that allows you to define a set of calendar entries to schedule actions at the beginning and end of each time interval.

Timers and schedulers have dedicated user interface objects, and a core engine that takes care of triggering the events that should have appropriate associated actions.

Clock and Sun Position

The clock is used to provide time information to all HSYCO services and generate time events for custom applications.

It can be configured to automatically update from network time servers and to set the local time based on standard time zones.

The Sun position service constantly computes the current azimuth and elevation position of the Sun, based on given latitude and longitude information.

It also triggers day and night events based on astronomical sunrise and sunset.

High Availability

The high availability (HA) service coordinates two redundant HSYCO servers so that one stand-by server can take over in case the main server fails or is disconnected due to network failures.

The High Availability section discusses various implementation scenarios to create an extremely reliable supervision architecture.

HSYCO Remote

The HSYCO remote service is used in combination with the Remote I/O Server, a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI variables of other remote HSYCO servers.

Using the HSYCO Remote I/O Server you can build a multi-level architecture with one or more HSYCO servers acting as concentrators for data points managed by other HSYCO servers.

System Monitor

The System monitor service is used by the System Monitor I/O Server to monitor several key hardware and operating system parameters of an HSYCO server.

It is also used internally to check internal resources, for example to prevent filling the internal storage with recorded video frames from cameras.

Log

HSYCO has a centralized log facility, where system messages and error are written to daily log files.

JavaScript, Java and EVENTS APIs also allow applications to write custom logs.

See the Log Files section for the details.

Data Logger

Data loggers allow to gather, process and visualize statistical data on the variations of a data set.

They can be used to automatically generate time charts of its trend and/or to log data as CSV files.

The Data Loggers chapter describes all key features, with examples. See the Data Loggers section in the Manager Settings tool for the full list of configuration parameters.

Leak Detector

The leak detector service is used to generate warning for potential water or other quantities leaks by analyzing any generic flow counter.

See the JavaScript Leak Detector API documentation, or the equivalent Java API, for the details.

Public Announcement

HSYCO can play audio for public announcement, as pre-recorded files or using a text-to-speech engine that converts text to audio.

Audio can be sent to the Web browser, the server’s audio line out connector, the internal speaker or audio out line of Axis cameras, and the speaker of SNOM phones or PA devices.

See the Audio and Public Announcement documentation, and the JavaScript, Java and EVENTS API for additional information.

User Interface

User Interface

User Authentication

Web Traffic Security

The HSYCO web-based user interface communicates with the HSYCO server using the HTTPS protocol, with SSL high-grade cryptography.

Only when the HTTPServerLowSecurityEnabled configuration parameter is enabled, the HTTP protocol, without encryption, is allowed for the user interface.

The SSL Certificates for Cryptography chapter contains detailed information on the cryptography configuration and SSL certificates.

Access Control List

HSYCO supports server-side access control lists for Web-based user commands.

This mechanism is complementary, and also more secure, than the simple approach of restricting users to specific projects having only the appropriate set of functions.

Server-side access control prevents even a legitimate, authenticated user, from directly forging client commands. In fact the server would block unauthorized commands.

See the Access Control List section for detailed configuration information.

Files Organization

The files structure

Files Organization