Title: Outline...
1(No Transcript)
2Outline...
- Recap What is my project about?
- The purpose of this project
- What I set out to do.
- What I actually did.
- Summary
- Questions
3What is my project about?
- Well the extended title says it all, really..
- Remote, web-based, real time control of
scattered media stations - Remote controlling something from a different
physical location - Web-based control over a network (www or LAN,
MAN, WAN etc) - Real-time the effects of your actions can be
seen instantaneously - Control directing the behavior of
- Scattered located in amany different areas
- Media Station a device used for the
dissemination of visual or audio media
4What is my project about? ...
- More about media stations
- The media station being controlled in this
project is essentially a compact PC with a large
plasma TV for its display. - Dom's project was all about how to control the
screen layout of such a device
5The purpose of this project.
- A need exists for real time control of scattered
media delivery stations, especially in the
advertising industry, where up to the minute
information and fresh content is very important. - Our hypothesis is that a system can be developed
that will provide real time control of one or
more media delivery stations, using inexpensive
and freely available tools.
6What I set out to do.
- Investigate some of the issues surrounding
- a)the control of media stations
- b)the development of a system for their control
- Develop a working system as a proof of concept
- a)using freely available and inexpensive tools
- b)in as short a time as possible
- c)with a focus on later adaption of the system to
other uses (in other industries)
7What I actually did )
- Investigation
- General remote control of media stations
- Should have very strong security restrictions in
place due to the public nature of such a system. - Control should be done by as few authorised
people as possible. - All control should be directed through a central
authority. - Changes should be logged and should include a
reference to the user. - Changes should be easily reversable
8What I actually did ) ...
- Investigation
- General remote control of media stations...
- All changes should be atomic and should obey good
RDBMS behavior... - Any node is a distributed system can go down at
any time, even halfway through a change - Changes must therefore happen atomically, or be
reversed. - The entire system state should be a reflection of
a single data source. - A database of all system information should be
maintained. - Changes to any part of the system should only
occur in response to a change in the content of
this database - This way, one can be guaranteed that the
information in the database reflects the true
state of the system.
9What I actually did ) ...
- Investigation
- Developing a system for control
- Use good OO design principles!
- Separate presentation and logic
- Keep it as modular and generalised as possible
- Facilitates later modification, easy
understanding and easy expansion - Use widely available technologies
- Control should not involve complex software
installation - Be as hardware and OS 'agnostic' as possible.
- Control should be quick, easy and available to
any authorised user on any platform.
10What I actually did ) ...
- Investigation
- Developing a system for control...
- Use a '3 tier' model
- 1. Control interface
- 2. Server/Databse combination
- 3. One or more media systems
- The control interface should do little on its
own, apart from talk to the Server.
11What I actually did ) ...
- Investigation
- Developing a system for control...
- The Server should be the 'brain' and 'braun' of
the system - It should listen to the control interface
- It should change the database according to the
control's communications - It should send control data to the affected media
stations if the database changes sate. - Use a common communication protocol between tiers
and a common language for data storage
12What I actually did ) ...
- Developed a 'semi' working system
- Tried to stick as closely to my design
suggestions as possible. - Used a 3 tier approach, but only managed to
implement the control interface.
13The control interface
- Decided to use an ebbedded application in a web
browser - Chose to use a Java Applet.
- Why Java?
- Large set of functionality through the standard
libraries - Widespread technology many people have the Java
Plugin installed already. - No installation required navigate to the page
and go. - Strong networking support
14The control Interface
- Follows the structure of the data as closely as
possible (heirarchical) - Reads and writes XML, using the fairly new Java
API for XML Binding (JAXB) - How JAXB works
15ltxsdschema xmlnsxsd"http//www.w3.org/2001/XMLS
chema"gt ltxsdannotationgt
ltxsddocumentation xmllang"en"gt Media
System Schema for the project 'Remote
Control of Scattered Media Stations'
Created 22-10-2003 by Roger Gordon
lt/xsddocumentationgt lt/xsdannotationgt
ltxsdelement name"mediaSystem"
type"MediaSystemType"/gt ltxsdcomplexType
name"MediaSystemType"gt ltxsdsequencegt
ltxsdelement name"owner" type"xsdstring"/gt
ltxsdelement name"contactNumber"
type"xsdstring"/gt ltxsdelement
name"contactEmail" type"xsdstring"/gt
ltxsdelement name"localSystem"
type"LocalSystem" minOccurs"0"
maxOccurs"unbounded"/gt lt/xsdsequencegt
ltxsdattribute name"name" type"xsdstring"
use"required"/gt lt/xsdcomplexTypegt
ltxsdcomplexType name"LocalSystem"gt
ltxsdsequencegt ltxsdelement
name"location" type"xsdstring"/gt
ltxsdelement name"iPAddress" type"xsdstring"/gt
ltxsdelement name"lANBandwidth"
type"xsdint"/gt ltxsdelement name"contact"
type"xsdstring"/gt ltxsdelement
name"contactNumber" type"xsdstring"/gt
ltxsdelement name"mediaSource"
type"MediaSource" minOccurs"0"
maxOccurs"unbounded"/gt ltxsdelement
name"mediaStation" type"MediaStation"
minOccurs"0" maxOccurs"unbounded"/gt
lt/xsdsequencegt ltxsdattribute name"name"
type"xsdstring" use"required"/gt
lt/xsdcomplexTypegt ltxsdcomplexType
name"MediaSource"gt ltxsdsequencegt
ltxsdelement name"mediaURL" type"xsdanyURI"/gt
ltxsdelement name"mediaType" type"xsdstring"/gt
ltxsdelement name"stream" type"xsdboolean"/gt
lt/xsdsequencegt ltxsdattribute
name"name" type"xsdstring" use"required"/gt
lt/xsdcomplexTypegt ltxsdcomplexType
name"MediaStation"gt ltxsdsequencegt
ltxsdelement name"location" type"xsdstring"/gt
ltxsdelement name"screenHeight"
type"xsdint"/gt ltxsdelement
name"screenWidth" type"xsdint"/gt
ltxsdelement name"contact" type"xsdstring"/gt
ltxsdelement name"contactNumber"
type"xsdstring"/gt ltxsdelement
name"partition" type"Partition" minOccurs"1"
maxOccurs"unbounded"/gt lt/xsdsequencegt
ltxsdattribute name"name" type"xsdstring"
use"required"/gt lt/xsdcomplexTypegt
ltxsdcomplexType name"Partition"gt
ltxsdsequencegt ltxsdchoicegt ltxsdgroup
ref"SplitGroup"/gt ltxsdelement
name"mediaSpace" type"MediaSpace"/gt
lt/xsdchoicegt lt/xsdsequencegt
lt/xsdcomplexTypegt ltxsdgroup
name"SplitGroup"gt ltxsdsequencegt
ltxsdelement name"isVertical" type"xsdboolean"/
gt ltxsdelement name"splitPosition"
type"xsdint"/gt ltxsdelement
name"leftOrTop" type"LeftOrTop"/gt
ltxsdelement name"rightOrBottom"
type"RightOrBottom"/gt lt/xsdsequencegt
lt/xsdgroupgt ltxsdcomplexType
name"MediaSpace"gt ltxsdsequencegt
ltxsdelement name"width" type"xsdint"/gt
ltxsdelement name"relativeWidth"
type"xsdboolean"/gt ltxsdelement name"height"
type"xsdint"/gt ltxsdelement
name"relativeHeight" type"xsdboolean"/gt
ltxsdelement name"x" type"xsdint"/gt
ltxsdelement name"relativeX" type"xsdboolean"/gt
ltxsdelement name"y" type"xsdint"/gt
ltxsdelement name"relativeY" type"xsdboolean"/gt
ltxsdelement name"content" type"Content"
minOccurs"1" maxOccurs"unbounded"/gt
lt/xsdsequencegt ltxsdattribute
name"number" type"xsdint" use"required"/gt
lt/xsdcomplexTypegt ltxsdcomplexType
name"Content"gt ltxsdsequencegt
ltxsdelement name"repeat" type"xsdint"/gt
ltxsdelement name"start" type"xsdstring"/gt
ltxsdelement name"stop"
type"xsdstring"/gt lt/xsdsequencegt
ltxsdattribute name"mediaName" type"xsdint"
use"required"/gt lt/xsdcomplexTypegt
ltxsdcomplexType name"LeftOrTop"gt
ltxsdsequencegt ltxsdelement
name"partition" type"Partition"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
ltxsdcomplexType name"RightOrBottom"gt
ltxsdsequencegt ltxsdelement
name"partition" type"Partition"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt lt/xsdsche
magt
16(No Transcript)
17Summary
- Freely available tools can be used to develop a
system for the real time control of scattered
media stations - I developed a partly working implementation of
such a system
18