Architecture Basics
Application developers create CSWorks solutions using Microsoft .NET 4.0, Microsoft
Silverlight, HTML5, and CSWorks server and client components. In the following diagram,
CSWorks client and server components interact in a simple CSWorks server topology,
with all server components running on the same computer.
CSWorks client components
Following are the CSWorks client components:
- Browser - Any web browser that supports Microsoft Silverlight
and HTML5. The number of browser clients connected to CSWorks data web services
is limited only by network bandwidth and server farm capabilities.
- User HTML5 Application - The HTML5 application that the CSWorks
application developer creates.
- Silverlight Runtime - The Microsoft Silverlight framework that
runs the user application. A single browser instance can host multiple instances
of Silverlight runtime engines.
- User Silverlight Application - The Silverlight application that
the CSWorks application developer creates.
- Basic Silverlight Controls - Standard Silverlight controls (TextBox,
Grid, etc.) that can display data received from the CSWorks LiveData Access Framework,
or from other sources.
- CSWorks Controls - CSWorks controls (Numeric inputs, Pipes, Tanks,
etc.) that can display data received from the CSWorks LiveData Access Framework.
- Custom Controls - Custom or third-party controls that can display
data received from the CSWorks LiveData Access Framework, or communicate directly
to CSWorks web services (including custom data services).
- LiveData Access Framework - A CSWorks client component that communicates
to CSWorks LiveData Web Service.
- Alarm Summary Control - A CSWorks control that can display and
manage alarm data.
- Trend Control - A CSWorks control that can display historical
and live trend data.
CSWorks Server Components
Following are the CSWorks server components:
- Server - A server computer that runs CSWorks server components.
A CSWorks application can include a single server or multiple server components.
Server components communicate via WCF (Windows Communication Foundation) and can
run on separate computers.
- Web Server - A server computer that runs Microsoft IIS (Internet
Information Services) and hosts CSWorks web services. A CSWorks deployment may use
multiple web servers to provide load distribution capabilities.
- LiveData Web Service - A CSWorks web service that provides access
to live data supplied by the CSWorks LiveData Service. This layer has multiplexing
capabilities and can communicate to multiple instances of underlying servers running
on multiple server computers.
- Alarm Web Service - A CSWorks web service that provides access
to alarm data supplied by the CSWorks Alarm Service. This layer has multiplexing
capabilities and can communicate to multiple instances of underlying servers running
on multiple server computers.
- History Reader Web Service - A CSWorks web service that provides
access to the data stored in history databases. This layer has multiplexing capabilities
and can communicate to multiple history databases.
- Custom Data Web Services - Custom or third-party web services
that provide access to arbitrary data streams supplied by CSWorks data servers or
by any custom data processing module.
- Custom Data Processing Modules - Custom or third-party components
that process data received from CSWorks live data and alarm servers.
- Alarm Service - A CSWorks component that receives data updates
from LiveData Service and manages alarms.
- LiveData Service - A CSWorks component that receives near real-time
updates from data sources and provides other components with access to live data.
- OPC Data Source Provider - A CSWorks component that subscribes
to data updates from specified OPC servers.
- SQL Data Source Provider - A CSWorks component that monitors
data changes in SQL databases.
- BACnet IP Data Source Provider - A CSWorks component that can
read and write data from/to BACnet devices over IP network.
- Custom Data Source Providers - Custom or third-party components
that monitor data changes in arbitrary data sources.
- History Recorder Service - A CSWorks component that monitors
live data and records it in a database.
- History Database - An SQL database that stores historical data.
- Alarm Notification Service - A CSWorks component that sends alarm
notification messages via email or SMS, and accepts alarm acknowledgements via SMS.
If your solution requires different servers to run on separate computers, CSWorks
server components communicate to each other using Windows Communication Foundation
(WCF), which makes it easy to build a distributed system. Please see Distributed Architecture
section for details.
Copyright © 2009-2016 CSWorks Inc. All rights reserved.