Skip to content

SWE Client Component Roadmap

Mike Botts edited this page Apr 22, 2015 · 7 revisions

Overview

The purpose of a generic client for Sensor Web Enablement (SWE) and other standard web service frameworks is to provide the ability to display or process data from these services in a way that is useful to various users. These users have different needs and desires but still wish to be able to discover and access these common assets (e.g. data, sensors, actuators, processes, etc.). The secret is to enable this capability without needing to assume a priori knowledge of these assets. There is an approach that can enable this without requiring the client to have extra smarts that would be very difficult to develop.

Roles

First off, it's important to understand that there are different roles in the development, deployment, and use of a general client for supporting SWE and other standard web services. Otherwise, it's easy to slip into an assumption that the tool must be smarter than it needs to be. While a single person might still play several of these roles, he/she should still keep in mind these separate roles and be aware of which role he/she is playing at any particular time. In this discussion assuming a visualization client, the roles are divided into the following categories:

  • Front-End Data Developer
  • Back-End Graphic Developer
  • Configuration Manager
  • User

We will discuss each of these roles below in order to understand how the pieces come together.

Front-End Data Developer

The Data Developer (DD) is responsible for developing the technologies for accessing web services, initiating and supporting data streams, parsing the data stream, and making these data available to graphics or processing systems on the back-end. The development tasks of the DD are:

  • Manage projects (security, adding folders and data items, configuration management)
  • Provide GUI for configuring projects (Adding to data tree, discovering data sources, selecting specific data (e.g. observable properties))
  • Establish connections to web services
  • Request data streams
  • Parse data stream and make data available to "pipes" for processors or renderers

Back-End Graphics Developer

Configuration Manager

User

Clone this wiki locally