PhixFlow Help
High Level Architecture
Overview
PhixFlow is built on a single architecture i.e. it is not made up of several products with different architectures bolted together. PhixFlow has been in continuous development since January 2005 and in live operation at customers since November 2006 with new functional releases every four to six months.
Figure 1 Single Machine High Level Architecture
Web-Based Client
The PhixFlow client is browser-based Rich Internet Application which will run on any major browser and on any major operating system.
PhixFlow Application Server
The PhixFlow server is a Java-based application which runs within a Tomcat container. PhixFlow supports installation on all the major hardware architectures and operating systems. Existing installations use Solaris, Linux and Windows based servers.
Database Server
PhixFlow uses any major JDBC compliant database to store both configuration data and the results of analysis on data collected from other systems. Existing installations currently use either Oracle or Microsoft SQL Server.
The Database Server may be installed on the same machine as the PhixFlow Application Server to create a "single machine" deployment. Alternatively the Database Server may be installed on a different machine creating a "dual machine" deployment. Both are valid implementations and the deployment choice depends on the preferences of the IT infrastructure team. Figures 1 and 2 show the different deployment options.
Connectivity to Other Systems
Because of the nature of PhixFlow, good connectivity to other systems is critical. PhixFlow can be configured to fetch data via Database Collectors, FTP File Collectors and HTTP Collectors In addition PhixFlow can export data files to remote servers over FTP, update any external JDBC compliant database, invoke web services over HTTP and send emails with file attachments.
Figure 2 Dual Machine High Level Architecture
PhixFlow Application Server
Function
The PhixFlow Application Server provides the following services:
- Delivers the web-based client application over http
- Provides XML configuration and analysis data over http to the web-based client
- Executes unlimited, configured "analysis models" according to set schedules e.g. daily, every 5 minutes or runs analysis on user request.
- The analysis engine:
- Reads data from other JDBC compliant databases using template SQL configured within the models.
- Reads data from files according to structures configured within the models
- Reads data from websites or web services over HTTP according to logic configured within the models.
- Transforms the data according to rules configured within the models e.g. merges data from different sources, enriches the data using "Excel-like" expressions, performs referential lookups, filters data, aggregates data etc.
- Creates alarms based on data specific rules
- Initiates workflows based on alarms / data specific rules
- Updates external databases using template SQL or "stored procedure" calls configured within the model
- Exports structured data files e.g. CSV or Excel documents according to structure definitions defined in the model.
- Invokes web services over HTTP based on model parameters
- Emails files and spreadsheets to users
- Creates graphical reports and automatically emails them to configured users according to defined schedules
- Manages workflows configured within PhixFlow:
- Creates tasks according to the logic configured in workflow models
- Monitors task completion and drives workflow processing
- Creates user tasks
- Places external tasks on queues and monitors completion
- Creates timer tasks for time dependent logic
- Creates template email tasks to send data and/or provide data dependent messages
- Archives data according to defined, data specific schedules
- Provides user group role based security and secure access to data, charting and reports
- Maintains a full and detailed audit trail
- Maintains a full and detailed log trail of all analysis
Integration
Note that other than providing SQL templates in PhixFlow's Active Database CollectorsTM and Active Database ExportersTM no coding is required to interface to other systems. PhixFlow provides a complete integration and task management framework. Analysts only have to consider the business problems being addressed.
Deployment Environment
The PhixFlow Application Server is a Java based application which runs within a standard Servlet container on any server environment supporting standard JVM. Typical server environments are:
- UNIX (e.g. Solaris, AIX, HP-UX)
- Linux (e.g. Redhat, Ubuntu, Debian etc.)
- Windows Server (e.g. Window Server 2008)
However PhixFlow has an extremely open architecture and any environment which supports at least version 2.2. of the Java Servlet Specification should support PhixFlow. The recommended servlet container is Tomcat.
Minimum Server Specification
The following server configuration should be considered a typical minimum environment for PhixFlow deployment. A server with this specification will enable PhixFlow to process typical analysis models for medium sized organisations. For organisations with large analysis requirements e.g. rerating 30+ million events in a single analysis step, then PhixFlow consultants should be engaged to carry out a detailed machine sizing exercise based on the complexity and number of the models that need to be configured and the volume of data that will be processed.
CPU | 2 x Quad-core 2.6 GHz |
Memory | 16 GB (Expandable to 64 GB) |
Disk | 8 x 146 GB in RAID5 configuration |
Operating System | 64 bit Red Hat Linux Enterprise Edition |
Network Connection | 1 Gbit Rj45 Ethernet |
Table 1 Minimum PhixFlow Server
A typical server with this sizing is the HP ProLiant DL380.
Database Server
The Database Server is any JDBC compliant database e.g. Oracle, DB2, Sybase, MySQL etc. and is used as an efficient repository for:
- PhixFlow models and other configuration data
- PhixFlow status information.
- PhixFlow analysis results
Web-based Client
Environment
The PhixFlow Client is a "Rich Internet Application" which uses the very latest web technologies e.g. AJAX to provide an interface which looks and behaves like a regular desktop application. However PhixFlow runs within all standard browser applications:
- Internet Explorer
- Firefox
- Safari
- Chrome
Because these browser applications run in many operating system environments, PhixFlow also naturally supports UNIX, Linux, Windows and Apple OS.
PhixFlow requires no installation on the client. Users browse to the URL which points at the PhixFlow server and the application launches within an http session. This also means that users can access PhixFlow from anywhere in the world provided there is secure http access to the PhixFlow server.
PhixFlow is a "multi-lingual" application i.e. it supports multiple languages in a single instance e.g. for a pan-European organisation a single instance of PhixFlow is able to support native language screens for all users.
Client Functionality
All PhixFlow functionality is accessed through a single client application. Access to functionality is defined at the user group level using roles based security. Key functionality includes:
- Definition of control frameworks i.e. areas of system monitoring or task automation
- Prioritisation support for control design and deployment
- Creation of unlimited analysis models through the drag and drop design screens
- Creation of unlimited workflow models through the drag and drop design screens
- Chart and report definition
- Alarm lists and alarm maintenance
- User task lists and task maintenance
- Drag and drop definition of user defined dashboards
- Guided drill down into analysis results to determine root cause analysis
- Evaluation of the effectiveness of the control framework
- User administration
- Scheduled task definition
- Log viewers and drill down for Active and Completed tasks
- Audit trail summaries and detailed drill down
- Archive log viewing and archive restore
- Model import and export via XML
- Base system configuration e.g. status codes, external queues
Please let us know if we could improve this page feedback@phixflow.com