Index

Architecture

  1. Overview
  2. Architecture and Events
  3. WebBrick Gateway User Interface
  4. Styling

Overview

The WebBrick Gateway has a number of key components:

Gateway Architecture Diagram

Architecture and Events

The WebBrick automation solutions are based around a distributed event model, with components being event generators and/or event consumers.

An event consists of an event type, and event source and other data (possibly none). The event type defines the event context and whether there is other data associated with the event. The aim is for event distribution to be very light weight with high level event routing decisions made using just the event type and/or event source.

Event type's and event sources's are specified using URI's (Universal Resource Identifier). Event type's should be absolute and unique URI's, i.e. all of Webbrick solutions event types start with http://id.webbrick.co.uk/ as the webbrick domain is registered to us.

Event source URI's may be relative URI's (i.e. missing a prefix), in this case the URI would be updated if the event passes across event source boundaries, i.e. to a WebBrick Gateway on a different site.

WebBrick Gateway User Interface

The WebBrick Gateway contains a web server which is used to generate user interfaces and provide access to dynamic data for use in user interfaces.

.

Within the WebBrick Gateway the web server provides a number of services:

Styling

There will be a full reference for styling later in this manual. The basic principles are that the WebBrick Gateway generates basic XHTML pages which are then styled using CSS Style sheets. There are some styles that the installer is encouraged to modify to suit the home and owners.

WebBrick Gateway Event distribution

The WebBrick Gateway's event system is i) an event distributor, ii) an event consumer, iii) an event generator.

As an event distributor the WebBrick Gateway itself can receive events from multiple sources, i.e. WebBricks, via email, from SMS, from user browsers and other devices and deliver them to internal or external event consumers.

In consuming events it may: i) use them to make decisions or ii) to update state used for the user interface.

It may translate them into a format understood by external systems, e.g. Apple ITunes.

As an event generator it may respond to events by generating new events, for example time events are the basis of tasks or jobs that are scheduled by the WebBrick Gateway. The result of a time event at a configured time is to generate new events, these would typically be commands to switch on heating or lights.

WebBrick Gateway Security

Consider the diagram here:

../../Images/GatewaySecurityModel.png

We can see that the WebBrick Gateway is to be connected to both the Home network and the Global Internet. Note that the Internet connection is made via the general purpose adapter that is used for the home's general Internet connection.

The WebBrick Gateway then provides a security interface between the Home network and Global Internet: