SlideShare uma empresa Scribd logo
1 de 31
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
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”

 Event name

Event list                          Data
 Event 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
2009 RoomWare server basics

Mais conteúdo relacionado

Destaque

Roomware: Adobe User Group komt hard
Roomware: Adobe User Group komt hardRoomware: Adobe User Group komt hard
Roomware: Adobe User Group komt hardPeter Kaptein
 
Reach The Sky – Speak Out!
Reach The Sky – Speak Out!Reach The Sky – Speak Out!
Reach The Sky – Speak Out!dewakerbasnet
 
La Gazette de la Promenade winter 2008/2009
La Gazette de la Promenade winter 2008/2009La Gazette de la Promenade winter 2008/2009
La Gazette de la Promenade winter 2008/2009Alexander.Thijs
 
Room ware next_slideshare
Room ware next_slideshareRoom ware next_slideshare
Room ware next_slidesharePeter Kaptein
 
Signatures Of Grit Inspirational Tabletop
Signatures Of Grit   Inspirational TabletopSignatures Of Grit   Inspirational Tabletop
Signatures Of Grit Inspirational Tabletopdewakerbasnet
 
Signatures Of Grit Inspirational Tabletop
Signatures Of Grit   Inspirational TabletopSignatures Of Grit   Inspirational Tabletop
Signatures Of Grit Inspirational Tabletopdewakerbasnet
 
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...Dominick Maino
 
Vision Performance Institute: 3D Vision Syndrome Creating a Better Audience
Vision Performance Institute: 3D Vision Syndrome Creating a Better AudienceVision Performance Institute: 3D Vision Syndrome Creating a Better Audience
Vision Performance Institute: 3D Vision Syndrome Creating a Better AudienceDominick Maino
 
The phone as a Remote Control
The phone as a Remote ControlThe phone as a Remote Control
The phone as a Remote ControlPeter Kaptein
 
Visual Diagnosis and Care of the Patient with Special Needs: Syndromes
Visual Diagnosis and Care of the Patient with Special Needs: SyndromesVisual Diagnosis and Care of the Patient with Special Needs: Syndromes
Visual Diagnosis and Care of the Patient with Special Needs: SyndromesDominick Maino
 
10 Interview Questions and how to answer them - for students
10 Interview Questions and how to answer them - for students10 Interview Questions and how to answer them - for students
10 Interview Questions and how to answer them - for studentsdewakerbasnet
 

Destaque (14)

Roomware: Adobe User Group komt hard
Roomware: Adobe User Group komt hardRoomware: Adobe User Group komt hard
Roomware: Adobe User Group komt hard
 
Nice Practical Guide
Nice Practical GuideNice Practical Guide
Nice Practical Guide
 
Reach The Sky – Speak Out!
Reach The Sky – Speak Out!Reach The Sky – Speak Out!
Reach The Sky – Speak Out!
 
La Gazette de la Promenade winter 2008/2009
La Gazette de la Promenade winter 2008/2009La Gazette de la Promenade winter 2008/2009
La Gazette de la Promenade winter 2008/2009
 
Room ware next_slideshare
Room ware next_slideshareRoom ware next_slideshare
Room ware next_slideshare
 
Signatures Of Grit Inspirational Tabletop
Signatures Of Grit   Inspirational TabletopSignatures Of Grit   Inspirational Tabletop
Signatures Of Grit Inspirational Tabletop
 
GB_Guide_pratique
GB_Guide_pratiqueGB_Guide_pratique
GB_Guide_pratique
 
Signatures Of Grit Inspirational Tabletop
Signatures Of Grit   Inspirational TabletopSignatures Of Grit   Inspirational Tabletop
Signatures Of Grit Inspirational Tabletop
 
Projects
ProjectsProjects
Projects
 
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...
3D Vision Syndrome: Solving Patient Problems-Creating a Better 3D Viewing Con...
 
Vision Performance Institute: 3D Vision Syndrome Creating a Better Audience
Vision Performance Institute: 3D Vision Syndrome Creating a Better AudienceVision Performance Institute: 3D Vision Syndrome Creating a Better Audience
Vision Performance Institute: 3D Vision Syndrome Creating a Better Audience
 
The phone as a Remote Control
The phone as a Remote ControlThe phone as a Remote Control
The phone as a Remote Control
 
Visual Diagnosis and Care of the Patient with Special Needs: Syndromes
Visual Diagnosis and Care of the Patient with Special Needs: SyndromesVisual Diagnosis and Care of the Patient with Special Needs: Syndromes
Visual Diagnosis and Care of the Patient with Special Needs: Syndromes
 
10 Interview Questions and how to answer them - for students
10 Interview Questions and how to answer them - for students10 Interview Questions and how to answer them - for students
10 Interview Questions and how to answer them - for students
 

Semelhante a 2009 RoomWare server basics

LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in DepthAPNIC
 
Pandora FMS: VMware Enterprise Plugin
Pandora FMS: VMware Enterprise PluginPandora FMS: VMware Enterprise Plugin
Pandora FMS: VMware Enterprise PluginPandora FMS
 
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Mitul Golakiya
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overviewJerrin George
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threatINSIGHT FORENSIC
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p appgeniushkg
 
Attacking backup softwares
Attacking backup softwaresAttacking backup softwares
Attacking backup softwaresNibin Varghese
 
CIS14: Trusted Tokens: An Identity Game Changer
CIS14: Trusted Tokens: An Identity Game ChangerCIS14: Trusted Tokens: An Identity Game Changer
CIS14: Trusted Tokens: An Identity Game ChangerCloudIDSummit
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devicesimmanuelnoel
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Leonardo De Moura Rocha Lima
 
Introduction to Adapters 3.7
Introduction to Adapters 3.7Introduction to Adapters 3.7
Introduction to Adapters 3.7StephenKardian
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NETAlessandro Giorgetti
 
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...APNIC
 
Geek Night 15.0 - Touring the Dark-Side of the Internet
Geek Night 15.0 - Touring the Dark-Side of the InternetGeek Night 15.0 - Touring the Dark-Side of the Internet
Geek Night 15.0 - Touring the Dark-Side of the InternetGeekNightHyderabad
 
server-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdfserver-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdfKowsalyaJayakumar2
 
End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfAlvaro Viebrantz
 
Project meeting: SVMP - Secure Virtual Mobile Platform
Project meeting: SVMP - Secure Virtual Mobile PlatformProject meeting: SVMP - Secure Virtual Mobile Platform
Project meeting: SVMP - Secure Virtual Mobile PlatformYu-Hsin Hung
 
eWON_SecurityV5 - Public
eWON_SecurityV5 - PubliceWON_SecurityV5 - Public
eWON_SecurityV5 - PublicYvan Rudzinski
 

Semelhante a 2009 RoomWare server basics (20)

LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth
 
Pandora FMS: VMware Enterprise Plugin
Pandora FMS: VMware Enterprise PluginPandora FMS: VMware Enterprise Plugin
Pandora FMS: VMware Enterprise Plugin
 
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overview
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threat
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p app
 
Attacking backup softwares
Attacking backup softwaresAttacking backup softwares
Attacking backup softwares
 
CIS14: Trusted Tokens: An Identity Game Changer
CIS14: Trusted Tokens: An Identity Game ChangerCIS14: Trusted Tokens: An Identity Game Changer
CIS14: Trusted Tokens: An Identity Game Changer
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devices
 
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]Building a Reliable Remote Communication Device with Java ME8 [CON2285]
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
 
Introduction to Adapters 3.7
Introduction to Adapters 3.7Introduction to Adapters 3.7
Introduction to Adapters 3.7
 
Osiot13 IoT buildout
Osiot13 IoT buildoutOsiot13 IoT buildout
Osiot13 IoT buildout
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET
 
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
Meet Remaiten : Malware Builds Botnet on Linux based routers and potentially ...
 
Basic Server PPT (THDC)
Basic Server PPT (THDC)Basic Server PPT (THDC)
Basic Server PPT (THDC)
 
Geek Night 15.0 - Touring the Dark-Side of the Internet
Geek Night 15.0 - Touring the Dark-Side of the InternetGeek Night 15.0 - Touring the Dark-Side of the Internet
Geek Night 15.0 - Touring the Dark-Side of the Internet
 
server-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdfserver-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdf
 
End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
 
Project meeting: SVMP - Secure Virtual Mobile Platform
Project meeting: SVMP - Secure Virtual Mobile PlatformProject meeting: SVMP - Secure Virtual Mobile Platform
Project meeting: SVMP - Secure Virtual Mobile Platform
 
eWON_SecurityV5 - Public
eWON_SecurityV5 - PubliceWON_SecurityV5 - Public
eWON_SecurityV5 - Public
 

Mais de Peter Kaptein

Tnw tiny funding_clean2
Tnw tiny funding_clean2Tnw tiny funding_clean2
Tnw tiny funding_clean2Peter Kaptein
 
Roomware and the Web of things
Roomware and the Web of thingsRoomware and the Web of things
Roomware and the Web of thingsPeter Kaptein
 
Roomware Main Concepts
Roomware Main ConceptsRoomware Main Concepts
Roomware Main ConceptsPeter Kaptein
 
RoomWare August Workshop Presentation
RoomWare August Workshop PresentationRoomWare August Workshop Presentation
RoomWare August Workshop PresentationPeter Kaptein
 
Basic Any Where Reboot short
Basic Any Where Reboot shortBasic Any Where Reboot short
Basic Any Where Reboot shortPeter Kaptein
 
Basic RoomWare /AnyWhere at Reboot11
Basic RoomWare /AnyWhere at Reboot11Basic RoomWare /AnyWhere at Reboot11
Basic RoomWare /AnyWhere at Reboot11Peter Kaptein
 

Mais de Peter Kaptein (8)

Tnw tiny funding_clean2
Tnw tiny funding_clean2Tnw tiny funding_clean2
Tnw tiny funding_clean2
 
Roomware Server
Roomware ServerRoomware Server
Roomware Server
 
Post Privacy Era
Post Privacy EraPost Privacy Era
Post Privacy Era
 
Roomware and the Web of things
Roomware and the Web of thingsRoomware and the Web of things
Roomware and the Web of things
 
Roomware Main Concepts
Roomware Main ConceptsRoomware Main Concepts
Roomware Main Concepts
 
RoomWare August Workshop Presentation
RoomWare August Workshop PresentationRoomWare August Workshop Presentation
RoomWare August Workshop Presentation
 
Basic Any Where Reboot short
Basic Any Where Reboot shortBasic Any Where Reboot short
Basic Any Where Reboot short
 
Basic RoomWare /AnyWhere at Reboot11
Basic RoomWare /AnyWhere at Reboot11Basic RoomWare /AnyWhere at Reboot11
Basic RoomWare /AnyWhere at Reboot11
 

Último

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

2009 RoomWare server basics

  • 1. RoomWare Server 2009 version
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. Making this possible Device Device Device Device Device Device
  • 6. And this Local machine Device Device Other machines in the network Device Device The web Device Device
  • 7. Using RoomWare Server Device Device Device RoomWare Device Server Device Device
  • 8. Sockets Device Device Socket Socket Device Socket RoomWare Socket Device Server Socket Socket Device Device
  • 9. And Mediators Device Device M M Device M RoomWare M Device Server M M Device Device
  • 10. Mediators Events, Requests, Responses Device M M Device • Mediators translate the data to something the other party can understand • Communication is between mediators
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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..
  • 17. Plugins Events, Requests, Responses Device M P K P M Device RoomWare Server M Mediator P Plugin K Kernel
  • 18. 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
  • 19. Plugin “A” Event Event Data Event name Event list Event name Subscriber Plugin “B” Subscriber Plugin “D” Subscriber Plugin “N”
  • 20. Events • Are broadcasted to anyone who listens • Have no return address
  • 21. Plugin “A” Request Request Data + Plugin ID Plugin “A” Event name Event list Data Event name Subscriber Plugin “B” Response Subscriber Plugin “D” Response Subscriber Plugin “N” Response
  • 22. Request • Are broadcasted to anyone who listens • Have a return address • Recieve a Response with the requested data
  • 23. The Kernel Device Device M M P P Device M P K P P M Device P P M M Device Device RoomWare Server
  • 24. Kernel • The Kernel is “Communication Central” • It distributes the Messages to the right Plugins • It has no memory of what has happend before
  • 25. More details • The next slides show how the plugin is connected to the mediator and how communication takes place
  • 26. RoomWare Server Post Message handler Recieve Socket Plugin Mediator Socket Post Recieve Message Device Device Device handler handler driver
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. Making this possible Device Device Device Device Device Device