Upload
shika
View
27
Download
0
Embed Size (px)
DESCRIPTION
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) - PowerPoint PPT Presentation
Citation preview
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
Tracksection
TrainRunning
DALocation
DASection
Group
DesignArea
“Topology Graph based”
container
Location
Train
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.
Design Areas
DA-sections
Groups
DA-locations
Trains
TrainRunnings
TrackSections
Example: collecting Train Graph objects
Example: collecting Train Graph objects
Design Areas
DA-sections
Groups
DA-locations
Trains
TrainRunnings
TrackSections
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:
Solveror
Many types of Viewers (like OBB)or
Crossborder like solutions (on the internet?)or
Cheap train design package for small companies (public traffic, metro…)
Architecture
Thin Client
Application / Webstart
Applet / Web-browser
Web Container
Servlet JSP
EJB Container
EJBDB
Server
In memory Object Server
XML Persistence
Let’s start from well known picture - J2EE with EJB
Thin Client
Application / Webstart
Applet / Web-browser
Web Container (Tomcat)
Servlet
In memory Object Server
XML Persistence
Current status
DB
Thin Client
Application / Webstart
Applet / Web-browser
Web Container (Tomcat)
Servlet
In memory Object Server
XML Persistence
Scalability
Object Cache
Web Container (Tomcat)
Servlet
Object Cache
Persistent 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
Similar In-memory-objects
Approaches• Prevayler (Object prevalence)
• JISP
- They uses memory resident object-graph server
Data Model
Connection
Connection
Connection
Line
Topology – high level
Loc
Loc
Loc
Loc
Loc
Loc
Tracks
Topology – Location details
Loc
Topology – Location details
Location:
Node= switch
Edge= locTrack