• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RoomWare server 2009
 

RoomWare server 2009

on

  • 590 views

This slideshow shows the setup of the new RoomWare server

This slideshow shows the setup of the new RoomWare server

Statistics

Views

Total Views
590
Views on SlideShare
588
Embed Views
2

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

RoomWare server 2009 RoomWare server 2009 Presentation Transcript

  • RoomWare Server 2009 version
  • Why change? • Easier to develop and plugin new “Devices” • More flexibility to connect anything to anything • No dependency on Java • Stable RoomWare Server core / new devices are developed outside the RoomWare core
  • Offering freedom for all • Everything is message based • For the Server any RoomWare Device is like any other RoomWare Device • Any “Device” can address any other “Device” • Any “Device” can send messages to any other “Device” to state their events, their wishes and needs
  • Using sockets • Sockets are “pipelines” over a TCP/IP connection • They are bi-directional and platform independent • They can be created in PhP, Java, Flash, C#, Python and so forth • They run locally without a Web Server • They have a proper event-model for pushing data from “A” to “B” and back • They will be used to connect anything to anything, using the RoomWare server as a switch
  • Making this possible Device Device Device Device Device Device
  • And this Local machine Device Device Other machines in the network Device Device The web Device Device
  • And this Local machine Device Reader Other machines in the network Service App The web Site Site
  • Using RoomWare Server Device Device Device RoomWare Device Server Device Device
  • Sockets Device Device Socket Socket Device Socket RoomWare Socket Device Server Socket Socket Device Device
  • And Mediators Device Device M M Device M RoomWare M Device Server M M Device Device
  • Mediators Events, Requests, Responses Device M M Device • Mediators translate the data to something the other party can understand • Communication is between mediators
  • Mediator • Connects a “Device” with the RoomWare server • Translates “Device” data to XML • Translate data from other sources to actions in the “Device” • Communicates to RW Server via Sockets • Data is standard XML • Communication is Bi-directional • Event or Request based • Device can be another RoomWare Server
  • Devices Messages, instructions, data Device Device • Devices can be anything (sensors, web sites, desktop applications, electronics, readers) and communicate in any protocol • Very likely they do not understand each other without a Mediator
  • Messages <request name="getbluetoothlist" context="" devicename="BT reader Room2"> <data> </data> <event name="newbluetoothdevice" context="request" devicename="BT reade </request> <data> </data> </event> • Each “Device” can send to- and recieve messages from any other devices • A message can be a Request, a Response or an Event • Each message can contain data and instructions
  • Message types • <event: sent by device, to all listeners • <request: named request from one device to all listeners. Has a “context” • <response: named response from listener to a request, sent only to requester. Reflexts the context as given by request
  • Message header • Headers: <event <request <response • Header data: • listener: name of request, response, event listener • context: local context - used to split responses / link them to a context • mediatorname: logical name of mediator in mediator via mediator definition XML • For response • destinationid: specific address of device to send response to • By RoomWare kernal - always added to message • sourceid: ID of device assigned by kernal • timeposted: moment the RoomWare kernal passed the request / response / event
  • Inner Workings RoomWare Server Kernel The bridge between the mediator Plugin and the kernel Software that mediates between the Mediator RoomWare server and the “Device” Device Can be websites, readers, sensors, etc..
  • Plugins Events, Requests, Responses Device M P K P M Device RoomWare Server M Mediator P Plugin K Kernel
  • Plugins • A Plugin represents a Mediator and via the Mediator the RoomWare Device • When Mediators connect to the RoomWare Server they get their own Plugin in the RoomWare Server • Each Plugin recieves an unique number from the RoomWare server for internal communication • Each Plugin is subscribed to one or more lists to recieve Events and Requests
  • Plugin “A” Event Event Data Event name Event list Event name Subscriber Plugin “B” Subscriber Plugin “D” Subscriber Plugin “N”
  • Events • Are broadcasted to anyone who listens • Have no return address
  • Plugin “A” Request Request Data + Plugin ID Plugin “A” Request name Request list Data Request name Subscriber Plugin “B” Response Subscriber Plugin “D” Response Subscriber Plugin “N” Response
  • Request • Are broadcasted to anyone who listens • Have a return address • Recieve a Response with the requested data
  • The Kernel Device Device M M P P Device M P K P P M Device P P M M Device Device RoomWare Server
  • Kernel • The Kernel is “Communication Central” • It distributes the Messages to the right Plugins • It has no memory of what has happend before
  • More details • The next slides show how the plugin is connected to the mediator and how communication takes place
  • RoomWare Server Post Message handler Recieve Socket Plugin Mediator Socket Post Recieve Message Device Device Device handler handler driver
  • Mediators and Plugins • The Mediator connects each “Device” to the RoomWare • Each Mediator consists of a Message Handler and a Socket connector • For each Mediator, the RoomWare server creates a Plugin to deal with the internal communication • The connection between a Mediator and a Plugin is done via a Socket • The Plugin sends and recieves Messages to and from the Kernel and to and from the Mediator • The Kernel acts like a mail man and handles the actual distribution of messages between Plugins
  • RoomWare Server Events, Requests, Responses Plugin Plugin Post Receive Message Message handler handler Receive Post Socket Socket Kernel Communication Mediator Mediator Events, Requests, Responses “Device” “Device” Messages, instructions, data
  • Flow 1. A “Device” is connected to a Mediator (software) 2. The Mediator creates a connection to the RoomWare server via a Socket 3. The RoomWare Server creates a Plugin for the Mediator 4. This Plugin is registered with a unique ID in the Kernel 5. Each Mediator passes an XML definition to the Plugin to state to which Events and Requests it subscibes to 6. When Mediator “A” sends a relevant message for Mediator “B” the Kernal will pass that message to the Plugin of Mediator “B” based on the subscription to different lists
  • Making this possible Device Device Device Device Device Device