Title: IN MEMORY OBJECT SERVER BASED APPLICATION FOR RAILWAY COMPANIES
1IN MEMORY OBJECT SERVER BASED APPLICATION FOR
RAILWAY COMPANIES
- Miloš Budinský
- Siemens PSE
2 3ROMAN 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)
4Application domain
- Users Railway companies
- short term train planning
- train dispatching
- conflict detection
- resolving train conflicts
- searching for free train paths
- long term train planning
5Overview
- a Java based technique
- a real time in memory system
- intranet/internet
- client/server application
6In memory object server
- in memory object server
- object graph pre-linked during the server startup
- high performance
- operation memory resident object server
7Topology 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).
8Object model examples of graph, sub-graph, path
DesignArea
DASection
DALocation
Group
TrainRunning
Train
Tracksection
Location
Topology Graph based container
9Performance
- Fast traversing this pre-linked graph object
leads to a high velocity of queries - an easy straightforward implementation of even
very complicate business rules.
10Example collecting Train Graph objects
DA-sections
TrackSections
Groups
Design Areas
TrainRunnings
DA-locations
Trains
11Example collecting Train Graph objects
DA-sections
TrackSections
Groups
Design Areas
TrainRunnings
DA-locations
Trains
12Persistence
- The persistence layer uses an object oriented XML
file system storage - (alternatively this system can be connected with
a relational database(s)).
13Other features
- thin client
- Java Webstart desktop application
- Servlet (Web Container) for WWW
- Java-RMI for LAN
14What 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)
15Architecture
16Lets start from well known picture - J2EE with
EJB
Thin Client
Web Container
Servlet
JSP
Applet / Web-browser
EJB Container
Application / Webstart
DB Server
EJB
17Current status
Thin Client
Web Container (Tomcat)
In memory Object Server
Servlet
Applet / Web-browser
Application / Webstart
XML Persistence
DB
18Scalability
Thin Client
Web Container (Tomcat)
In memory Object Server
Servlet
Applet / Web-browser
Application / Webstart
XML Persistence
19Persistent objects representing minimal units for
serialization in the current version
- Location
- Line
- Train
- View (DA)
- Multi-View
- Block
- Multi-Block
- Train-Class
- Location-Class
- User
20Similar In-memory-objects Approaches
- Prevayler (Object prevalence)
- JISP
- - They uses memory resident object-graph server
21Data Model
22Topology high level
Loc
Loc
Loc
Loc
Loc
Loc
23Topology Location details
Loc
24Topology Location details
Location Node switch Edge locTrack