250 likes | 355 Views
IN MEMORY OBJECT SERVER BASED APPLICATION FOR RAILWAY COMPANIES. Milo š Budinský Siemens PSE. ROMAN Modules. ROMAN Ordering (Order Managment) ROMAN Calculation (Runtime Calculation) ROMAN Planning (Timetable Planning) ROMAN Cross Border ROMAN (Cross Border & Cooperative Planning)
E N D
IN MEMORY OBJECT SERVER BASED APPLICATION FOR RAILWAY COMPANIES Miloš Budinský Siemens PSE
ROMAN Modules • ROMAN Ordering (Order Managment) • ROMAN Calculation (Runtime Calculation) • ROMAN Planning (Timetable Planning) • ROMAN Cross Border • ROMAN (Cross Border & Cooperative Planning) • ROMAN Resource (Crew scheduling and dispatching) • ROMAN Anywhere (Timetable Viewer) • ROMAN Products (Timetable Planning Products) • ROMAN Periodic (Synchronized Timetable) • ROMAN Public (Public Timetable) • ROMAN Simulation (Timetable Simulation) • ROMAN Solver (Dispatching & Conflict Resolution) • ROMAN Connect (Interfaces)
Application domain • Users: Railway companies • short term train planning • train dispatching • conflict detection • resolving train conflicts • searching for free train paths • long term train planning
Overview • a Java based technique • a real time in memory system • intranet/internet • client/server application
In memory object server • in memory object server • object graph pre-linked during the server startup • high performance • operation memory resident object server
Topology graph based container • a Railway-Topology-Graph • container keeping other business objects (like trains, runtime tables, design areas, etc.). • most business objects in this application domain are either graphs and its sub-graphs (a country track topology, design areas…) • oriented paths in the graph (trains, runtime tables…).
Object model examples of graph, sub-graph, path DesignArea DASection DALocation Group TrainRunning Train Tracksection Location “Topology Graph based” container
Performance • Fast traversing this pre-linked graph object leads to a high velocity of queries • an easy straightforward implementation of even very complicate business rules.
Example: collecting Train Graph objects DA-sections TrackSections Groups Design Areas TrainRunnings DA-locations Trains
Example: collecting Train Graph objects DA-sections TrackSections Groups Design Areas TrainRunnings DA-locations Trains
Persistence • The persistence layer uses an object oriented XML file system storage • (alternatively this system can be connected with a relational database(s)).
Other features • thin client • Java Webstart desktop application • Servlet (Web Container) – for WWW • Java-RMI – for LAN
What could be target market?Several (very different) directions: Solver or Many types of Viewers (like OBB) or Crossborder like solutions (on the internet?) or Cheap train design package for small companies (public traffic, metro…)
In memory Object Server XML Persistence Let’s start from well known picture - J2EE with EJB Thin Client Web Container Servlet JSP Applet / Web-browser EJB Container Application / Webstart DB Server EJB
Current status Thin Client Web Container (Tomcat) In memory Object Server Servlet Applet / Web-browser Application / Webstart XML Persistence DB
Object Cache Web Container (Tomcat) Servlet Object Cache Scalability Thin Client Web Container (Tomcat) In memory Object Server Servlet Applet / Web-browser Application / Webstart XML Persistence
Location Line Train View (DA) Multi-View Block Multi-Block Train-Class Location-Class User Persistent objects representing minimal units for serialization in the current version:
Similar In-memory-objects Approaches • Prevayler (Object prevalence) • JISP - They uses memory resident object-graph server
Connection Connection Connection Tracks Line Topology – high level Loc Loc Loc Loc Loc Loc
Topology – Location details Location: Node= switch Edge= locTrack