Difference between revisions of "Architecture"

From RFF Wiki
Jump to: navigation, search
(Limitations)
 
(86 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{| style="float:right;border:2px solid black;background-color:#FFFF00;width: 30%;text-align:center"
+
==Introduction==
| '''under construction'''
+
The Architecture is developed based on
|-
+
* the existing platforms and services
| this page is still under construction''
+
* according to the needs and roadmap of the initiative -> [[Targets]]
|}
+
* in compliance with the defined [[Values]]
  
= Current Architecture =
+
==Development==
 +
The development of the Architecture was carried out with those steps
 +
* starting with the as is situation,
 +
* over the analysis of the gaps,
 +
* following the definition of the capabilities,
 +
* structuring the capabilities to topics,
 +
* their evaluation and
 +
* the basic platform services
  
In a first step existing systems and tools are analysed.
+
==Future Architecture==
  
The topology shows the various systems and its current owners.
+
=== Principles ===
 +
The basis for the future architecture are described under [[Architecture Principles]].
  
For those systems the business objects were determined and in a second step the workflows between the business objects.
+
=== Build Blocks ===
 +
The Building Blocks of the future platform are described
 +
=== Roadmap ===
 +
The roadmap to establish the RFF Digital platform ecosystem is worked out under [[Architecture Roadmap]]
  
All information is stored in Enterprise Architect in a common UML Model. A HTML copy of the model can be found here: [https://rff.models.interconnective.ch/model/latest/ UML Model]
+
=== Services ===
 +
The [[Services]] that are offered on the RFF Digital Platform are grouped in
 +
* [[Business Services]] and
 +
* [[Facility Services]]
  
== Topology ==
+
== Evolution ==
 
+
The architecture is developed in iterations.  
The topology shows currently existing systems and tools that are analysed in details. The following links guide you to the corresponding architecture models
+
* [[Architecture Development|ARCH 2020]]
 
+
* [[ARCH 2021]]
The main systems are:
+
* [[ARCH 2022]]
 
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=C74DDC6B-B33F-4b53-90CC-C51370B05152 GCU Broker]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=9B8A5B35-FF7F-4ae8-92AA-F9FB3AA2E1E1 RailData ORFEUS and ISR]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=8DFF41BF-7346-4e21-A631-D2FEA6E113F6 xRail Broker]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=C42D445B-8177-41b6-B0A0-F1D04CEE2CF9 RNE PCS, TIS and CRD]
 
 
 
[[File:UML_Model.png|border|600px|UML model]]
 
 
 
The topology can be found here: [https://rff.models.interconnective.ch/model/latest/index.htm?guid=C2517A10-E2E1-4079-9A71-380A0DB5A334 UML Model - Topology]
 
 
 
The following picture shows the platform coverage
 
 
 
[[File:Platform_coverage.png|border|800px]]
 
 
 
== Business Objects ==
 
 
 
The business objects describe in an abstract way the basic objects of todays systems.
 
 
 
They are described in the UML Model for the above mentioned systems
 
 
 
[[File:Business_obejcts.png|border]]
 
 
 
 
 
The topology can be found here: [https://rff.models.interconnective.ch/model/latest/index.htm?guid=8D39FDD0-C34E-4200-B1AB-3A9D7DD6AA29 UML Model - Business Objects]
 
 
 
Detailed Business Objects are available for
 
 
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=66C69BDD-81D8-428f-9F62-2A0AA2340BA8 GCU Broker]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=83936096-163F-493f-AA47-67EE97925351 RailData]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=20C2DAE5-FF43-4b93-9F41-E2EF7D64AF9D RNE]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=CF6450D5-2932-4720-842D-9487E13F7229 xRail]
 
 
 
== Workflows ==
 
 
 
The workflows describe the interaction of the business objects of todays systems
 
 
 
[[File:Workflows.png|border]]
 
 
 
Each workflow is described with a swimlane diagram in details
 
 
 
[[File:Swimlane.png|border]]
 
 
 
Workflow diagrams and swimlanes can be found in the UML model for each of todays systems.
 
 
 
Please refer to the detailed diagrams in the subdirectories of the [https://rff.models.interconnective.ch/model/latest/index.htm?guid=4BE8AF90-5F80-445f-A373-C9171711C79B UML Model - Business Workflows].
 
 
 
== Messages and Data Objects ==
 
 
 
An overview of all messages exchanged with the related data objects in the current architecture landscape can be found as a list in the following document in Teams:  [[https://teams.microsoft.com/l/file/155B0089-7919-496C-9775-0DC99CA378D1?tenantId=ef588fbf-8705-4200-a1a6-3be9fc3bb45b&fileType=xlsx&objectUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms%2FShared%20Documents%2FEU%20data%20platforms%2FPhase%201%2FShare-2%2F01_Architecture%2FDocuments%2FList_of_Limitations_Capabilities_NFR_SAFE.xlsx&baseUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms&serviceName=teams&threadId=19:2ae0c3a808134862b280a79d6edb3cc4@thread.tacv2&groupId=e8f92e7a-8d91-4214-9fe7-28b21e040c7f| Messages and Objects]]
 
 
 
Refer to the sheet '''Messages'''.
 
 
 
= Perspectives =
 
 
 
Based on the [[Architecture#Business Objects|business objects]] and [[Architecture#Workflows|workflows]] of [[Architecture#Current Architecture|todays systems]] the services are extracted into abstract layers combining services from various systems.
 
 
 
[[File:perspectives.png|border|center]]
 
 
 
== Steps ==
 
 
 
The steps (see bullet points) for doing that are:
 
 
 
# Describe the processes and platforms (done in the [[Architecture#Current Architecture|current architecture]])
 
# Remove platform borders keeping processes and objects
 
# Analysis of the services based on vision, governance and principles
 
# Aggregation of the found limitations
 
# Description of gaps (based on found limitations)
 
# Align services towards future architecture
 
 
 
== Perspectives and links to Processes, Objects, Limitations and Capabilities ==
 
 
 
Each perspective is assigned to a process and contains the process steps taken out of one of the systems currently covering this perspective. In the UML model the perspectives are described in detail. The following picture shows what can be found for each perspective.
 
 
 
[[File:Perspective_process_object.png|border|center]]
 
 
 
In the upper area of the perspective you find the <span style="color:#ff0000; font-weight:bold">Processes</span> that are covered with this perspective. Below the <span style="color:#ff0000; font-weight:bold">Workflows</span> for RUs and Partners as well as additional <span style="color:#ff0000; font-weight:bold">Digital Platform Workflows</span> are described using swimlanes.
 
 
 
<span style="color:#ff0000; font-weight:bold">Use cases</span> are described in the form of bubbles, showing involved actors.
 
 
 
<span style="color:#ff0000; font-weight:bold">Business Objects</span> (blue) and <span style="color:#ff0000; font-weight:bold">Masterdata</span> (grey) covered by this perspective are described in the lower area of the perspective.
 
 
 
<span style="color:#ff0000; font-weight:bold">Limitations</span> found in the current perspective are positioned where they occur (activity, business object or below the processes for general limitations) and described with boxes (orange/brown).
 
 
 
<span style="color:#ff0000; font-weight:bold">Sector Initiatives</span> belonging to this perspective that are not yet covered by a system or not yet described in the UML model are described with arrow-boxes (green).
 
 
 
Limitations are described in detail in a separate document. This document can be found here:  [[https://teams.microsoft.com/l/file/155B0089-7919-496C-9775-0DC99CA378D1?tenantId=ef588fbf-8705-4200-a1a6-3be9fc3bb45b&fileType=xlsx&objectUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms%2FShared%20Documents%2FEU%20data%20platforms%2FPhase%201%2FShare-2%2F01_Architecture%2FDocuments%2FList_of_Limitations_Capabilities_NFR_SAFE.xlsx&baseUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms&serviceName=teams&threadId=19:2ae0c3a808134862b280a79d6edb3cc4@thread.tacv2&groupId=e8f92e7a-8d91-4214-9fe7-28b21e040c7f| List of Limitations]]
 
 
 
== Todays Perspectives ==
 
 
 
The following perspectives were identified. The ones that contain a link are already defined and described in the UML Model.
 
 
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=102D0A88-53AE-44ec-951A-2438EB954F4B Train Service Planning]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=C1EF6837-8470-4b8b-90E4-B790F913D1F3 Train Preparation]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=C3D069F0-FBCC-4cb8-B815-D2D19EB44FBE Train Operation]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=B854291A-E09D-4d56-B920-11ACBF6B14FC Wagon Status]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=FDDD87B2-32AA-4693-AFA1-6F5DD53E34A3 Wagon Performance]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=7B38AC84-329F-49f1-9CCD-DCED78A85AEF Wagon Damage]
 
* Wagon Check
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=78CCA4EF-8188-4e15-9DD4-2CC2BDCD8878 Order Consignment]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=07DBC82A-88EE-401a-97B2-ED3904530BBE Braking Rules]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=215C665F-7BF6-47a1-A1C1-B9816B7476D3 Rolling Stock Dataset]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=1B7C860B-2460-4654-8521-A42D20B38AB6 Shipment Booking]
 
* [https://rff.models.interconnective.ch/model/latest/index.htm?guid=5C17FC43-EAB1-4b6e-864E-C68DC216CB38 Shipment Status]
 
 
 
== Further possible Perspectives ==
 
 
 
Addtionally the following possible perspectives were identified. These perspectives may be analyzed in a later step.
 
 
 
* Transport Planning and Preparation
 
* Driver Service Book
 
* Driver Route Knowledge
 
* Locomotive Service Book
 
* Locomotive Master Data
 
 
 
The perspectives can be found in the [https://rff.models.interconnective.ch/model/latest/index.htm?guid=F5E37690-5FBF-4803-84A5-F7BF41F09A7B UML Model]
 
 
 
The list of limitations can be found here: [[https://teams.microsoft.com/l/file/155B0089-7919-496C-9775-0DC99CA378D1?tenantId=ef588fbf-8705-4200-a1a6-3be9fc3bb45b&fileType=xlsx&objectUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms%2FShared%20Documents%2FEU%20data%20platforms%2FPhase%201%2FShare-2%2F01_Architecture%2FDocuments%2FList_of_Limitations_Capabilities_NFR_SAFE.xlsx&baseUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms&serviceName=teams&threadId=19:2ae0c3a808134862b280a79d6edb3cc4@thread.tacv2&groupId=e8f92e7a-8d91-4214-9fe7-28b21e040c7f| List of Limitations]]
 
 
 
= Non-Functional Requirements =
 
 
 
Non-functional requirements describe additional requirements besides those derived from business objects and workflows
 
 
 
== Basic Principles ==
 
 
 
The following basic principles can help to find non-functional requirements:
 
 
 
* Authentication and Security
 
* Small-Player Access to Services
 
* Traceability
 
* API Management
 
* Testing and Integration
 
* Service Behaviour
 
* Security and Redundancy
 
 
 
Non functional requirements were analysed together with the limitations and capabilities were defined, that on the one hand solve existing limitations but on the other hand also cover non-functional requirements.
 
 
 
[[File:Nfr.png|border|center]]
 
 
 
A detailed description of the basic principles can be found here: [[https://teams.microsoft.com/l/file/81511ADC-8280-497E-897F-7012AF953F3E?tenantId=ef588fbf-8705-4200-a1a6-3be9fc3bb45b&fileType=pptx&objectUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms%2FShared%20Documents%2FEU%20data%20platforms%2FPhase%201%2FShare-2%2F01_Architecture%2FDocuments%2FBasic_Principles_for_NFReq.pptx&baseUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms&serviceName=teams&threadId=19:2ae0c3a808134862b280a79d6edb3cc4@thread.tacv2&groupId=e8f92e7a-8d91-4214-9fe7-28b21e040c7f| Basic Principles]]
 
 
 
The list of non-functional requirements can be found here: [[https://teams.microsoft.com/l/file/155B0089-7919-496C-9775-0DC99CA378D1?tenantId=ef588fbf-8705-4200-a1a6-3be9fc3bb45b&fileType=xlsx&objectUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms%2FShared%20Documents%2FEU%20data%20platforms%2FPhase%201%2FShare-2%2F01_Architecture%2FDocuments%2FList_of_Limitations_Capabilities_NFR_SAFE.xlsx&baseUrl=https%3A%2F%2Fxrail.sharepoint.com%2Fsites%2FRFFDigitalplatforms&serviceName=teams&threadId=19:2ae0c3a808134862b280a79d6edb3cc4@thread.tacv2&groupId=e8f92e7a-8d91-4214-9fe7-28b21e040c7f| Non-functional Requirements]]
 
 
 
<span id="_Limitations" class="anchor"></span>
 
 
 
= Limitations =
 
 
 
When talking about limitations, we are in the '''World of Problems'''.
 
 
 
Based on the description of the current systems with its [[Architecture#Business Objects|business objects]] and [[Architecture#Workflows|workflows]] the limitations of todays systems can be analysed by making use of the [[Architecture#Perspectives|perspectives]].
 
 
 
== Methodology ==
 
 
 
# Limitations are identified in workshops based on the perspectives
 
# Limitations found are documented in a spreadsheet and in the UML model
 
# in order to cluster the limitations
 
## duplicates are eliminated (in the spreadsheet)
 
## dependencies between limitations are documented in the UML model
 
# then the limitations are grouped into limitation groups in the UML model
 
# for each of the groups the benefits and impacts are defined
 
# all the groups are categorized in low, medium and high priorities
 
 
 
== Criteria ==
 
 
 
The criteria to select potential limitations are:
 
 
 
* Constitutional Governance
 
* Data Governance
 
* Service Shaping
 
* Accessibility
 
* Integration
 
* Master Data
 
* Identifiers
 
 
 
== Priorities ==
 
 
 
All limitations are analysed and priority for each limitation is set according the following criteria and scores
 
 
 
=== Priority Criteria ===
 
 
 
<blockquote>Problem Area (PA)
 
</blockquote>
 
{|
 
! '''If the limitation belongs to problem area'''
 
! '''then the score is'''
 
|-
 
| Data Quality
 
| 3
 
|-
 
| Coverage (Governance)
 
| 2
 
|-
 
| Functionality / Business Processes
 
| 1
 
|}
 
 
 
<blockquote>Level (L)
 
</blockquote>
 
{|
 
! '''If the limitation belongs to level'''
 
! '''then the score is'''
 
|-
 
| L1
 
| 3
 
|-
 
| L2
 
| 2
 
|-
 
| L3
 
| 1
 
|}
 
 
 
<blockquote>Dependencies (D)
 
</blockquote>
 
{|
 
! '''If the limitation has the following dependencies'''
 
! '''then the score is'''
 
|-
 
| other limitations are dependent on this (predecessor)
 
| 3
 
|-
 
| this limitation has no dependencies
 
| 2
 
|-
 
| this limitations depends on other limitations
 
| 1
 
|}
 
 
 
<blockquote>Value Added (V)
 
</blockquote>
 
{|
 
! '''If impact of the limitation is'''
 
! '''then the score is'''
 
|-
 
| big
 
| 3
 
|-
 
| medium
 
| 2
 
|-
 
| small
 
| 1
 
|}
 
 
 
<blockquote>Effort (E)
 
</blockquote>
 
{|
 
! '''If the implementation effort of the limitation is'''
 
! '''then the score is'''
 
|-
 
| small
 
| 3
 
|-
 
| medium
 
| 2
 
|-
 
| huge
 
| 1
 
|}
 
 
 
=== Weighting ===
 
 
 
For each of the above mentioned criteria a relative weight is defined
 
 
 
{|
 
!  '''Criteria'''
 
! '''Weight'''
 
|-
 
| Problem Area (PA)
 
| 3
 
|-
 
| Level (L)
 
| 1
 
|-
 
| Dependencies (D)
 
| 2
 
|-
 
| Value Added (V)
 
| 3
 
|-
 
| Effort (E)
 
| 2
 
|}
 
 
 
=== Ranking ===
 
 
 
Based on sum of the scores of each criteria, multiplied with the weighting of the criteria an individual priority of each limitation results
 
 
 
 
 
 
 
Priority = (Score PA * Weight PA)  + (Score L * Weight L) +<br />
 
(Score D * Weight D) + (Score V * Weight V) +<br />
 
(Score E * Weight E)
 
 
 
 
 
 
 
The priority of each limitation varies within the range of 1 and 10.
 
 
 
The higher the priority value the higher the ranking of a limitation.
 
 
 
=== SAFe Ranking ===
 
 
 
The limitations were ranked additionally according to the SAFe Methodology (Scaled Agile Framework) in order to analyse the limitations in a longer planning horizon and set priorities accordingly.
 
 
 
The lower the SAFe for a limitation, the higher is the priority to act.
 
 
 
 
 
 
 
SAFe = Score E / Score VA / Score PA
 
 
 
* the higher the effort, the higer the SAFe, meaning, the lower is the priority to act.
 
* the higher the value added and/or the problem are, the lower is the SAFe, meaning, the higher is the priority to act.
 
 
 
== Conclusion ==
 
 
 
Based on the above described methodology the following 26 highly ranked limitations were found
 
 
 
[[File:media/image13.png|604x283px|Ein Bild, das Tisch enthält. Automatisch generierte Beschreibung]]
 
 
 
When looking at the coverage of the various clusters, the following picture shows up:
 
 
 
[[File:media/image14.png|604x284px]]
 
 
 
<span id="_Toc56062984" class="anchor"></span>Figure - Coverage by Cluster
 
 
 
[[File:media/image15.png|325x207px]]
 
 
 
<span id="_Toc56062985" class="anchor"></span>Figure 12 - Coverage by Basic Principles
 
 
 
The first 19 of the top 26 limitations are related to Data Quality (out of 21 limitations), 4 limitations are related to governance and 1 limitation is related to functionality. Within the first 26 top ranked limitations business related limitations cannot be found.
 
 
 
== Documents ==
 
 
 
A detailed description of the weighting criteria can be found here: [[Documents/Evaluation_Criteria_Limitations.pptx|Criteria for Limitations]]
 
 
 
The list of limitations can be found in the following spreadsheet: [[Documents/List_of_Limitations_Capabilities_NFR_SAFE.xlsx|List of Limitations]]
 
 
 
An overview of all limitations can also be found in the UML Model
 
 
 
Additionally you find the dependencies of limitations in the UML Model
 
 
 
<span id="_Capabilities" class="anchor"></span>
 
 
 
= Capabilities =
 
 
 
= Smart Services =
 
 
 
= Target Architecture =
 
 
 
= Migration Path =
 

Latest revision as of 08:01, 26 October 2022

Introduction

The Architecture is developed based on

  • the existing platforms and services
  • according to the needs and roadmap of the initiative -> Targets
  • in compliance with the defined Values

Development

The development of the Architecture was carried out with those steps

  • starting with the as is situation,
  • over the analysis of the gaps,
  • following the definition of the capabilities,
  • structuring the capabilities to topics,
  • their evaluation and
  • the basic platform services

Future Architecture

Principles

The basis for the future architecture are described under Architecture Principles.

Build Blocks

The Building Blocks of the future platform are described

Roadmap

The roadmap to establish the RFF Digital platform ecosystem is worked out under Architecture Roadmap

Services

The Services that are offered on the RFF Digital Platform are grouped in

Evolution

The architecture is developed in iterations.