1 / 43

D igital management of the railway sector through OSGi

D igital management of the railway sector through OSGi. The TRACK project. What is IBBT?. IBBT introduction. IBBT Research. IBBT: Entrepreneurship. IBBT: Develop & Test. Information on an OSGi based product solution. TRACK framework. Problem description.

aira
Download Presentation

D igital management of the railway sector through OSGi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digital management of the railway sector through OSGi The TRACK project

  2. What is IBBT? IBBT introduction

  3. IBBT Research

  4. IBBT: Entrepreneurship

  5. IBBT: Develop& Test

  6. Information on an OSGi based product solution TRACK framework

  7. Problem description Train A from depot back to riding Train A into depot for update Depot Update train A with software X Transfer dependent libraries

  8. Problem description Train B from depot back to riding Train B into depot for update Depot Transfer dependent libraries Update train B with software X Library already present, blue library missing Change upload files, update train B

  9. Problem description Custom IO handler Use 3rd party IO components Custom IO handler initiates connection over technology of choice Need diagnostics information from train… Custom IO handler Diagnostics Application

  10. Problem description • For every other application: • custom IO handlers • preferred connection type

  11. Solution – goal • Functional requirements • No wasted time spent in depot for updates • Immediate updates • Software version management • Extra requirements (research) • Modular system • Remotely accessible • Solve unreliable connections

  12. 4/07/2012 14

  13. Overview • Technical requirements • Why OSGi? • TRACK overview • Feature highlights • Challenges • Way forward

  14. Technical requirements Two types of customers Railway stakeholders… … but also … TRACK … 3rd party developers

  15. Technical requirements Very dynamic environments: unreliable connections

  16. Technical requirements Inter-node communication Other research group: network aspects Remote communication (inter-node)

  17. Technical requirements Legacy application support: existing (native) applications

  18. Why OSGi? • Only Java runtime • Modular by design • Standard JAVA language • Dynamic • Platform independent !

  19. TRACK overview: node layout TRACK Container

  20. TRACK overview: framework layout RST Infrastructure Central System Fleet Node modules Node modules System + Op. services TRACK Platform TRACK Platform TRACK Platform Reliable link WiFi/GPRS/3G Node modules TRACK Platform 3rd party providers

  21. Feature highlights • Fleet management • Content management • Module deployment • Monitoring • Remote service discovery • Job scheduling • File transfer: BitTorrent • Vaadin UI • Legacy application support • Communication

  22. Fleet management • DeviceProfile • Definition of device type/family • ID + propertiesdefinition • CaninheritfromotherDeviceProfiles inheritsfrom

  23. Fleet management • TrackNode • Represents a node in the framework • Name • Host (IP or ID) • Is assigned a DeviceProfile

  24. Fleet management • Querying • GENERIC/train (&(operationArea=ParisNord)(buildYear>1999)) All devicesadhering to thisprofileor subtypes… …which meet these conditions.

  25. Content management • TRACK module Application binaries or content Track Module Meta-data Packaged as JAR/ZIP

  26. Content management Versioned Item versions meta-data Track Module Track Module Track Module Version Version Version meta-data meta-data meta-data

  27. Module deployment Central System Content Manager Global Update Mgr. update request INIT -> DEPLOYING Fleet Manager File Sharing Event System

  28. Target Node Local Update Mgr. Application Manager file transfer Download Manager Update Handler Event System

  29. Module deployment Central System Content Manager Global Update Mgr. Fleet Manager File Sharing Event System

  30. Module updates Central System Target Node DiffGenerator Global Update Mgr. Local Update Mgr. DiffBuilder version info? Track Module 1.2 generateDiff 1.2->1.4 Δ • Archive containing: • changed/new files • build script buildModule

  31. Monitoring: job status

  32. Monitoring: remote OSGi console

  33. Remote service discovery Custom solution for OSGi 4.1 (no RSA available): R-OSGi Node B Node A Producer Consumer Remoting is transparent TRACK framewrok TRACK framework Generate proxy Expose service Register service R-OSGi R-OSGi SLP SLP Discovery: advertise R-OSGi specific communication

  34. Job scheduling • Updates are scheduled as jobs • Concurrent update jobs • Scheduler allows • Prioritization of individual jobs • Pauze / resume of individual jobs

  35. File transfer: BitTorrent • Downloads are divided in small parts • Clients download small parts in random order • Client stitches everything together • Unreliability solved: • In case of failure, only small piece lost • Immediately start downloading piece from other source

  36. Vaadin UI • Webpage UI done with vaadin • Modularity of OSGi bundles visible in UI • Easily integrated with the webserver (Jetty) hosted in OSGi • All fleet and content interfaces done in Vaadin

  37. Legacy application support Installing, uninstalling, updating … Custom update handler updatehandler Track Module TRACK container External System install Update Mechanism Controller Extension possible uninstall TRACK update handler

  38. Legacy application support Life cycle management: start, stop … OSGi TRACK Container External legacy application MyApplication EntryPoint bridge JVM JNI OS Implement Application interface (TRACK Activator) through JNI (Java Native Interface)

  39. Challenges • Remote communication  R-OSGi • (Common) external libraries in OSGi context • Simple: wrap as OSGi bundle • Nasty: fix class loading issues (class loaders…) • Last resort: * DynamicImport-Package *

  40. Way forward (RAILS) • Decentralizing the current framework • Allows for more robustness, server may fail, others can resolve issues.=> No single point of failure • Replace R-OSGi with Remote Service Admin • Own implementation: focus on open standards=> Better support for 3rd party • Discovery: JGroups • Service communication: HTTP/JSON

  41. Thank you for your attention Questions?

More Related