wso2con eu 2015: a quick startup in transportation – inter-company data exchange in railway...

18
A Quick Startup in Transporta1on InterCompany Data Exchange in Railway Opera1ons Thomas Goetz, André Bally, MaHhias Günter BLS AG Switzerland

Upload: wso2

Post on 30-Jul-2015

360 views

Category:

Technology


1 download

TRANSCRIPT

A  Quick  Startup  in  Transporta1on        

Inter-­‐Company  Data  Exchange  in  Railway  Opera1ons  

Thomas  Goetz,  André  Bally,  MaHhias  Günter  

BLS  AG  Switzerland    

Content  

1.  Context    2.  Project  3.  Interfaces  in  Detail  4.  Architecture  and  PaHerns  

BLS      Switzerland‘s  second  largest  railway  company  

BLS  150,000  passengers  per  day  

BLS  35,000  metric  tons  of  freight  per  day  

BLS  operates  since  2007  the  35-­‐km  Loetschberg  tunnel  

Business  Context  Train  path  procurement  process  

Train  operating  company

Railway  infrastructure  

operator

Path  request

Path  provision

Train  composition

Actual  and  forecast  times

Invoice

Content  

1.  Context    2.  Project  3.  Interfaces  in  Detail  4.  Architecture  and  PaHerns  

The  project  scope  at  BLS  

•  Enterprise  Service  Bus  (ESB)  Pla[orm    -  Requirements  -  First  pilot  (product  based  on  JEE  applica1on  server)  -  Re-­‐evalua1on  of  product  -  Proof-­‐of-­‐concept  with  WSO2  Quickstart  Program  -  Pla[orm  installa1on  and  development  of  the  interface  

applica1ons  (s1ll  in  progress)  

•  Coopera1on  between  train  and  infrastructure  opera1ng  companies    -  Governance  (joint  specifica1ons)  -  IT  roadmap  -  Funding  

Timeline  for  ESB  pla[orm    re-­‐evalua1on  and  implementa1on  

Task   Timeframe  Start  of  re-­‐evalua1on   Dec  2014  Pre-­‐evalua1on    (4  products,  based  on  general  criteria)  

Dec  2014  

Cost-­‐benefit  evalua1on    (reduc1on  to  1  or  2  products)  

Jan  2015  

Proof-­‐of-­‐concept    with  the  best  product   Feb  -­‐  Mar  2015  Decision  for  WSO2   Apr  2015  Build-­‐up  of  pla[orm   May  -­‐  Jul  2015  Implementa1on  of  interface  applica1ons   Aug  -­‐  Dec  2015  Produc1on   Dec  2015  

Cost-­‐benefit  analysis  Criteria  assessed  by  4  experts  

Company  -  Strengths,  Weaknesses  -  Analyst  ra1ng  -  Cloud  integra1on  -  Por[olio  -  Partners  -  Company  health  

Product  -  Price  -  Development  model  -  Number  and  type  of  developers  /  contributors  -  Architecture  /  components  -  Func1onality  -  License    -  Consul1ng  /  support  

Community  -  References  in  Switzerland  -  User  groups  

So6  factors  Individual  opinions  of  the  experts  on  -  Architecture  -  Integra1on  -  Development  

Content  

1.  Context    2.  Project  3.  Interfaces  in  Detail  4.  Architecture  and  PaHerns  

 

Train  path  procurement  process  

Resource  planning

Train  operating  company

Train  operations

Railway  infrastructure  operator

Route  planning

Train  composition

Path  provision

Path  request Path  request

Path  planning

Production

Customer  information

Path  price

Train  plannerTrain  path  planner

new  interfaces

Content  

1.  Context    2.  Project  3.  Interfaces  in  Detail  4.  Architecture  and  PaHerns  

Standardized  integra1on  

Integration  problem

Integration  solution

characterize

analyze

design

build

Set  of  non-­‐functional  properties

Set  of  non-­‐functional  properties

Weighted  decision  matrix

Non-­‐functional  requirements

Candidate  integration  pattern

Softwarearchitecture

Implementa1on  guidelines  

Decision  matrix  Entscheidmatrix - Integrationsmuster

Attribute Werte x

Business-Motivation Durchgängigkeit von Geschäftsprozessen 1 1 1 1 1 1 1 1Konsistenz von Geschäftsdaten x 1 1 1 1 1 1 1 0.5

Mehrfachverwendung Benutzerschnittstelle 1 5 5Architekturprinzipien D1, G2 Services / Anwendungen 1 1 1 1 1 1

Datenbestände x 1 1 1 1 1 1 1 0.5Kontrollierte Weiterentwicklung Ablösung von Altsystemen, Sanierung von Problemen 0.5 5 1 1 1 1 1 1Architekturprinzip U12 Wartbarkeit und Erweiterbarkeit 1 1 1 1 1 1 1 1 1 1Granularität der ausgetauschten Datensätze wenige Datensätze (<10) 1 1 1 1 1 1 1 1

viele Datensätze x 1 1 1 1 1 1 1 1 1 1komplette Datenbestände 1 1 1 1 1 1 1

Grösse der ausgetauschten Datensätze klein <1 KB 1 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1mittel 1 KB - 1 MB x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1gross (>1 MB) 1 1 1 1 1 1 1 1 0.5 0.5sehr gross (>100 MB) 0.5 1 1 1 1 1 1

Zeitnähe des Datenaustausches zeitgleich (synchron) 1 0 0 1 1 0.5 0 1 1 1 1zeitnah (asynchron) x 1 1 1 1 1 1 1 1 1 1 0 0zeitfern (Batch) 1 1 1 1 1 1 0 0 0

Periodizität des Datenaustausches einmalig 1 0.5 1bei Bedarf 1 1 1 1 1 1 1 1 1 1 1periodisch < minütlich x 1 1 1 1 1 1 1 1 1 1periodisch minutlich - stündlich 1 1 1 1 1 1 1 1 1 1periodisch täglich, wöchentlich, jährlich 1 1 1 1 1

Verhältnis von Quell- zu Zielsystemen n:1 (Aggregator) 0 0 0 1 1 1 1 1 1 11:1 (Punkt-zu-Punkt) x 1 1 1 1 1 1 1 1 0 1 11:n (Distributor) 0 0 0 0 1 1 1 0 0n:m (Kombination von Aggregator und Distributor => Mediator) 0 0 0 0 0 1 1 0 0

Datenflussrichtung Quelle zu Ziel x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Ziel zu Quelle 0 0 0 0 1 1 1 1 1 1 1

Integrations-Distanz sehr nah (anwendungs-intern) 0 1 0 1 0 1 1 1 0nah (anwendungsgruppen-intern) x 1 1 1 1 1 1 1 1 1 1 1 1 1mittel (anwendungs-übergreifend) 0 1 1 1 1 1 1 1 1 1 1 1 1weit (domänen-übergreifend) 1 0 1 1 1 1 1 1 1 1 1 1 1sehr weit (unternehmens-übergreifend) 1 0 0 0 0 1 0 1

Daten-Transformation keine x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Datentyp (Format, Benennung der Attribute) 0 1 1 1 0.5 1 1 1 1 1 1 1einfache Abbildung von Datenwerten (Mapping von Konstanten, Selektionen) 0 0 1 1 1 1 1 1 1 1 0.5 0.5komplexe Abbildung von Datenwerten (allgemeine Funktionen auf Einzelwerte) 0 0 1 1 0.5 0 0analytische Funktionen (Aggregatfunktionen auf alle Datenwerte) 0 1 1 0 0

Integrationsfunktionalität direkte Kommunikation (Funktionsaufruf, Datenaustausch) 1 0 0 0indirekte Kommunikation x 1 1 1 1 1 1 1 1 1 1 1 1 1 1Auslieferungsgarantie (at-least-once, exactly once) 1 1 1 1 1 1 1 1 1 1Logging / Auditing / Archivierung 1 1 1 1 1 1 1 1 1 1Verschlüsselung der Kommunikation 1 1 1 1 1 1 1 1 1 1 1 1 1 1Authentisierung und Autorisierung 1 1 1 1 1 1 1 1 1 1 1 1 1Routing (Adress- oder Inhalt-basiert) 0 0 0 0 0 5 1 1 1 1 1Prozess-Orchestrierung - ohne Benutzer-Interaktion (indirekte Kommunikation) 1Workflow - mit Benutzer-Interaktion (indirekte Kommunikation) 0 0 0 0 1 0 0Serviceaufruf 0 0 0 0 0 0.5 1 1 0.5 1 1 1 1

Datenstrukturierung Texte (schwach strukturiert) 1 0 0 1 1Ausmodellierte Daten (stark strukturiert) x 1 1 1 1 1 1 1 1 1 1 1 1 1

Ressourcennutzung Gemeinsame Nutzung der physischen Ressource (sharing) 1 1 1 1 1 1 1 1Gemeinsame Nutzung einer virtuellen Ressource (federated view) 1Getrennte Nutzung einer physischen Kopie der Ressource (copying) x 1 1 1 1 1 1 1

Anbindungsart DB-Schnittstelle 1 1 1 1 1 1 0 0 0 0Files x 1 0 1 1 1 0 0 0 0Messaging 0 0 0 0 1 1 1 1 1 0 0Service 0 0 1 0.5 0.5 0.5 1 0 0User Interface 0 0 1 1 1

physikalische Integrationsdistanz gleicher Provider x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1providerübergreifend (schweizweit) 1 0.5 0.5 0.5 0.5 1 1 1 1 1 1 1 0.5providerübergreifend (international) 1 1 1 1

0 0

0 0 0 0 0

0 0 0 0 00 0 0 0 0 0 0 0

Summe Bewertung 11 13 15 11 13 9 11 7 1 3 8 3 1 1 1

Mögliche Integrationsmuster ü ü ü ü ü û ü û û û û û û û û

Empfohlenes Integrationsmuster:

Sha

red

DB

Mes

sagi

ng

Pro

zess

orch

estr

ieru

ng (o

hne

UI)

Inte

grat

ion

Bro

ker:

Eve

nt P

ropa

gatio

n

Agg

regi

eren

von

Dat

enba

nken

: Mas

ter

Dat

a M

anag

emen

t (M

DM

)

Rem

ote

Pro

cedu

re In

voca

tion

=> Kopieren von Massendaten (ETL): Datenpropagation operativ zu operativ

Datenintegration Funktionsintegration

Wor

kflo

w (m

it U

I)

Kop

iere

n vo

n M

asse

ndat

en (E

TL):

Dat

enag

greg

atio

n op

erat

iv z

u op

erat

iv o

der

anal

ytis

ch (D

WH

)

Inte

grat

ion

Bro

ker:

Gat

eway

Por

tal (

Web

, Ric

h C

lient

)

UI-Integration

Por

tal m

it S

essi

on (W

eb, R

ich

Clie

nt)

File

Tra

nsfe

r

Kop

iere

n vo

n M

asse

ndat

en (E

TL):

Dat

enpr

opag

atio

n op

erat

iv z

u op

erat

iv

DB

-Cop

y

Kop

iere

n vo

n M

asse

ndat

en (E

TL):

Dat

enm

igra

tion

oper

ativ

zu

oper

ativ

Broker

ETL

Non-­‐func1onal  requirement  e.g.  data  volume  

OUTPUT  Recommended  integra;on  pa<ern    e.g.  File  transfer  

Value-­‐benefit  analysis  mul1ple  aspects  taken  into  account  simultaneously  

Contribu1on  of  the  paHern  in  solving  this  requirement  (yes,  somewhat,  no)  

Integra1on  paHern  e.g.  file  transfer  

INPUT  value  of  each  non-­‐func;onal  requirement  e.g.  1  GB  per  day  

0.  Ini1al  solu1on   3.  Process  

2.  Transac1on  /  master  data    1.  Media1on  

Train  path  provision  service  analysis  and  design  

   

   

   

   

Master  data  

Transac1on  data  

Thank  You!  

We  thank  Igor  Berchtold  from  SUVA  for  the  reference.    We  thank  our  QuickStart  team  from  WSO2:  •  Suhothayan  Sriskandarajah  (Technical  Lead)  •  Nirmal  Fernando  (Associate  Technical  Lead)  •  Dassana  Perera  (Architect)  

We  thank  also  our  BLS  team:  •  Reto  Zaugg,    •  CharloHe  Bachmann  •  Michael  Zaugg    They  made  the  Quick  Startup  possible.