Web-based industrial automation Taking high-availability process control systems to the web
Download release 1.1.3700.0 - Mar 10, 2010. Random highlights:
  • Alarm Summary control with alarm sorting, filtering and shelving
  • Sample client applications - draft your HMI screens right away
  • SSL-secured client-server communication
  • Historical Data support: MS SQL Server, SQLite, ODBC
See product feature overview. Check out product release history.

Product > Architecture Basics
Architecture Basics
The diagram below displays how CSWorks component interact with each other.


Client Components
Browser
Any web browser that supports Microsoft Silverlight. The number of browser clients connected to CSWorks data web services is limited only by network bandwidth, and server farm capabilities.

Silverlight Runtime
Microsoft Silverlight framework that runs user application. A single browser instance can host multiple instances of Silverlight runtime engines.

User Silverlight Application
Silverlight application created by application developer.

Basic Silverlight Controls
Standard Silverlight controls (TextBox, Grid etc) that visualize data received from CSWorks Data Access Framework or from other sources.

CSWorks Controls
CSWorks controls (Numeric inputs, Pipes, Tanks etc.) that visualize data received from Data Access Framework.

Custom Controls
Custom/Third party UI elements that visualize data received from Data Access Framework or communicate directly to CSWorks web services (including custom data services).

Alarm Summary Control
CSWorks control that allows alarm visualization.

Trend Control
CSWorks control that allows historical and live data trends visualization.

Server Components
Server
Server machine that runs CSWorks server comonents. There can be one or multiple server machines in the deployment. All server components communicate via WCF (Windows Communication Foundation) and can run on separate machines.

LiveData Web Service
CSWorks web service that provides access to live data supplied by CSWorks LiveData Service. This layer has multiplexing capabilities and can communicate to multiple instances of underlying servers running on multiple server machines.

Alarm Web Service
CSWorks web service that provides access to alarm data supplied by CSWorks Alarm Service. This layer has multiplexing capabilities and can communicate to multiple instances of underlying servers running on multiple server machines.

History Reader Web Service
CSWorks web service that provides access to the data stored in history database. This layer has multiplexing capabilities and can communicate to multiple history databases.

Custom Data Web Services
Custom/Third party web services that provide access to arbitrary data streams supplied by CSWorks data servers or any custom data processing modules.

Custom Data Processing Modules
Custom/Third party components that processes data it gets from CSWorks live data and alarm servers.

Alarm Service
CSWorks component that receives data updates from LiveData Service and manages alarms.

LiveData Service
CSWorks component that receives near real-time updates from data sources, and provides other components with access to live data.

OPC Data Source Provider
CSWorks component that subscribes to data updates from specified OPC servers.

SQL Data Source Provider
CSWorks component that monitors data changes in the SQL database.

Custom Data Source Providers
Custom/Third party components that monitor data changes in arbitrary data sources.

History Recorder Service
CSWorks componet that monitors live data and records data observations to the database.

History Downsampler Service
CSWorks component that performs historical data denormalization to optimize user access to big amounts of historical data.

History Database
SQL database where historical data is stored.


This is one of the simplest examples of CSWorks server topology - with all server components running on the same machine. Fortunately, running different CSWorks server components on different machines is not a problem: CSWorks server components communicate to each other using Windows Communication Foundation (WCF), which makes building a distributed system easy. Please see Distributed Architecture section for details.

Copyright © 2009-2010 CSWorks Inc. All rights reserved.