asas 2014 - eric hendriks

33
railCloud Agile development & design for rail-infrastructure data management (a personal view)

Upload: avisi-bv

Post on 12-Jun-2015

176 views

Category:

Technology


7 download

DESCRIPTION

ASAS 2014 - RailCloud: An agnostic datastore combining REST and MongoDB

TRANSCRIPT

Page 1: ASAS 2014 - Eric Hendriks

railCloudAgile development & design for rail-infrastructure data management

(a personal view)

Page 2: ASAS 2014 - Eric Hendriks
Page 3: ASAS 2014 - Eric Hendriks
Page 4: ASAS 2014 - Eric Hendriks
Page 5: ASAS 2014 - Eric Hendriks
Page 6: ASAS 2014 - Eric Hendriks
Page 7: ASAS 2014 - Eric Hendriks
Page 8: ASAS 2014 - Eric Hendriks
Page 9: ASAS 2014 - Eric Hendriks
Page 10: ASAS 2014 - Eric Hendriks

Me

• Eric Hendriks

• 20 years in all aspects of software development

• Last 10 years:

• Java developer / Architect

• Agile supporter

• Independent contractor

Page 11: ASAS 2014 - Eric Hendriks
Page 12: ASAS 2014 - Eric Hendriks

Context• RIGD-LOXIA manages railinfra data

• Multitude of information domains

• Multitude of stakeholders

• Digital schematics (CAD)

• Keep information in sync and compliant with reality

Page 13: ASAS 2014 - Eric Hendriks

5 PERRONe

3 PERRON

6 PERRONe

7 PERRONe

4 PERRONe

e

35.5

03

S1614-411

S1616-400

Utrecht CS

Deze tekening vervangt:

Formaat Schaal

Geocode Versie

Wijziging, vermenigvuldiging en/of openbaarmaking van deze tekening zonder voorafgaande schriftelijke toestemming van Railinfrabeheer is niet toegestaan.Prorail / Railinfrabeheer is eigenaar van alle digitale en analoge verschijningsvormen van deze tekening en rechthebbende op grond van de Auteurswet 1912.

OBE-blad5

A2X3

35.050 36.130

000201959

0

1 2

3

4

5

6

7

8

9

10

Asd-Zvg

531

S1624-479S1666/8-459

Utrecht CS

Utrecht (OP Ut EBP2)

4,40

S2826-664

S2824-653

Z

S174-378

S182-388S184-372S186-363S188-366S190-292

S212-348

S214-366

S212-274

S214-292

S212-374S214-392

S212-370S214-388

S214-378

S214-372

S150-224S152-240

S212-345S214-363

S2820-466

S2822-448

V

03-12/6Fase 5A1

B-227114Movares

02-09-2013

S212-360

S212-354

S186-240

224

S186-345

S176-392

W

05-12/1Fase 5A2

B-227114Movares

16-09-2013

S2818-737

S2830/2-923S124/8-558S134/6-559

S148-552S146-541S144-547S158-520S156-483

S1284-757

S124/8-719S134/6-720

S148-713S146-702S144-708S158-681

S156-644S1284-918

S2838-688S2834-1172

Vmax=80 km/h

Vmax=80 km/h

Vmax=60 km/h

Vmax=60 km/h

Vmax=60 km/h

Vmax=60 km/h

Vmax=80 km/hVmax=80 km/h

X

03-13/3Fase 5A3

Movares

11-11-2013

S1280-307 479

293 S1666-940S1636-481

S154-184

S152-237

S188-184

S188-237

S1622-481

Vmax=80 km/h

Vmax=80 km/h

B-227114

Y

05-13/2Fase 5A4

B-227114Movares

16-12-2013

137B

213A

213B

137A

139A

139B

175A

171

193A191

193B

195A

195B

201A

173A

173B

175B

185A179B

179A

151A

151B

153

187

183B

205B

209

199A

197B

197A

185B

211

205A

201B

199B

181

203B2)

203A

1621

12)

1633A

1633B

2) Vrijgave rangeren 203A/B in Post OZ

1) Oprijden na opdracht procesleider OZ.

11b

5b

11a

27 28

24 25

8b

9b

12b

14a

VL1306/3

VL176

VL148

VL186/1

VL128

VL124 VL170

VL172

VL136

VL134

190R

VL144VL142

VL150

146/8R

VL156VL154

190

35.4

03

4,00

15b

14b

VL188/1

VL188/2

VL190/1

VL186/2

VL190/2

VL182

VL184

VL174

35.379

35.562

35.417

35.346

35.352

35.568

35.325

156R

VL1614

VL1616

35.130

VL1622

35.170

VL1624VL1632/2

VL1634/2

35.4

95

4,25

35.5

46

1632

1634

5ab

VL1634/1

35.3

00

VL1632/1

2

1

18b

19b

4b

5b

7b

8b

9b

11b

12b

14b

B1-

128

35.2

39

B2-128

35.149

B3-12

835.122

B2-176

35.2

73

B1-136

35.2

38

B1-176

35.183

B2-136

35.148

B3-136

35.121

B3-132

35.0

52

B3-138

35.0

65

B3-140

35.0

62

B1-146

35.256

B1-148

35.2

45

B3-178

35.2

17

B2-178

35.190

B2-148

35.155

B2-146

35.166

B3-148

35.128

B3-146

35.139B1-178

35.120

B2-142

35.0

53

B3-142

35.0

80

B3-144

35.133

B2-144

35.160

B1-184

35.2

03

B1-144

35.2

50

B2-152

35.0

62

B3-152

35.0

89

B3-158

35.160

B2-158

35.187

B1-158

35.2

77

B1-15635.314

B2-156

35.2

24

B3-156

35.197

B3-176

35.3

00

B2-18435.2

93

B3-184

35.3

20

B2-216

35.4

76

B3-216

35.5

03

B1-194

35.7

39

B2-194

35.6

49

B3-194

35.622

11a

12a

14a

15

18a

19a

3) Voorbijrijden na opdracht van procesleider OZ

7)

1:12

1:15

1:15

A170T

133BT

131BT

A150T

A152T

A154T

151BT

151AT

A132T

131AT

125AT

125BT

127BT

A172T

A130T

A122T

137BT

137AT

139AT

A138T

A140T

A142T 141BT

A126T

205BT

A190T

505AT

179BT

195BT

213BT

A156T

A1280T

171T

185BT

193BT 197BT

211T

213AT

A1278T

A136T

A134T

A148T

A146T

A144T

173AT 191T 199BT

173BT

179AT 175BT 212T

A194T

153T

A158T

183BT

183AT

4a

5a

7a

12a

13

14a

15

116

35.0

58

4b

35.119

8a

35.108

9a

10a

11a

35.0

71

35.065

9b

10b

35.121

35.136

35.130

5b

7b

8b

11b

35.2

53

35.118

35.215

35.3

18

35.313

35.312

35.328

103

12b

35.616

18a

19a

14b

16a

102a

35.3

29

35.620

35.412

35.4

08

181T

117

503T

203AT

203BT

35.144

1613BT

35.5

56

35.6

74

akd 3

6.1

16b

17

18b

19b

A1632T

1621T

1633BT

1633AT

1632AT

1634AT

36.111

36.120

a1632BT

b

1634BT

201BT35.415

35.526

35.3

56

118

119

35.3

87

35.3

61

35.284

18c

4,36

35.6

84

1636

9a

B1-1296

35.0

55

B3-186

35.329

B2-186

35.302

B1-186

35.212

B1-190

35.283

B3-190

35.4

00

B2-190

35.3

73

4a

5a

7a

8a

L-128

35.124

L-136

35.123

L-132

35.0

50

L-138

35.0

63

L-140

35.0

60

L-178

35.2

15

L-148

35.130

L-146

35.141

L-142

35.0

78

L-144

35.135

L-152

35.0

87

L-158

35.162

L-156

35.199

L-176

35.2

98

L-184

35.3

18

L-19435.624

L-186

35.327

L-190

35.398

9c

177T

183A

35.375

Utrecht CSUtrecht OZOBE-blad 6

Utrecht CSUtrecht OZOBE-blad 6

Utrecht CSUtrecht (OP Ut EBP2)OBE-blad 4

UtrechtLunetten

OBE-blad 7

UtrechtLunettenOBE-blad 7

4) Cijferbak niet in dienst

4

35.3

79

1

35.5

21

6

6

1

100

Asd-Zvg

35.0

50

200

300

400

35.3

83

35.3

58

35.280

35.7

09

4

35.0

88

35.0

88

141A143B

141B143A

B1-2826

36.0

87

35.0

55

130

132

35.0

58

126

122

124

128

35.0

83

142

35.068

138

140

3,71

35.2

41

170

3,73

172

35.125

148

146

136

134

3,70

35.3

32

186

150

35.092152

35.194

156

35.157

158

192

35.2

20

178

35.214

180

3,73

35.3

23

184

3,74

35.3

07

182

3,65

35.3

29

188

194

3,71

35.3

03

176

3,75

35.3

17

174

35.145

154

218

35.5

06

216

35.135

1614

35.146

1616

3,78

35.2

05

1624

144

B1-2820

36.0

23

B1-2822 B2-2822

B2-2820

36.113

B1-2824

36.0

79

6) Inclusief RS513 aan Noordzijde , locatie komt mogelijk niet overeen i.v.m. verplaatsing in bouwfase 5B

B3-172

B3-170

35.2

38

L-170

35.2

36

L-172

B2-170

35.2

11

B2-172B1-172

35.121

B1-170

B3-174

35.3

14

L-174

35.3

12

B2-17

435.2

87

B1-174

35.197

B3-182

35.304

L-182

35.302

B2-182

35.277

B3-18

835.3

26

L-188

35.3

24

B2-188

35.2

99

B1-188

35.209

B3-154

35.142

L-154

35.140

B2-154

35.115

B3-1632

B3-1634

35.5

43

L-1634

35.5

41

B2-1632

B2-163435.5

16

L-1632 B1-1632

B1-1634

35.4

26

B2-218

35.5

96

L-218

35.5

71

B3-218

35.5

69

A200T

3,88

35.6

77

196

214T

B3-1614

35.132

L-161435.130

B2-1614

35.105

B3-150

35.105

L-150

35.103

B2-150

35.0

78

35.6

70

6

35.7

02

4

3,93

3,93

35.6

95

214

VL158

3,92

35.6

77

200

A202T

35.6

67

B3-200

35.6

80

B2-200

35.7

07

L-200

35.6

82

4

3,92

35.6

95

6

212

GB

GO177

35.248

5)

158R

5) Herhalingssein aan paal met zijsteun

7) RS513 bij achterkant wissel LL

B1-200

35.7

97

207215A

10)

2763T

35.5

18

8

600

700

900

800

36.0

00

100

36.130

7,0 PROM

36.126

spoor GB GO

r= 350 m35.937

36.056

r= 354 mspoor GO

r= 354 m35.938

36.058

r= 350 mspoor GB

r= 1150 m36.029

spoor AO

r= 2000 m36.024

spoor AA

A206BT

AA

AO

215B

35.6

45

35.6

42

4,12

4)

2044/6

35.8

28

8)

4,11

35.8

38

4)

2064/6

35.8

63

4

4,21

4

8

r= 30000 m

35.753

spoor AA 35.846

r= 30000 m

35.976

r= 5000 m

35.532

spoor AA 35.562

500

r= 4500 m

35.496

spoor AO

Rijrichting NOORD

35.527

8) Sein is verlaagd uitgevoerd

10) Fictieve las t.b.v. tooling

215BT

2765T

210T

2761T

3,72

35.2

03

1622

35.178

9) Niet profielvrije las, niet projecteren in beveiliging

9)

35.6

51

10)

35.501

1613A

1627

1613B

35.8

48

6)

6)

11) Las in beveiliging in profiel voor beide richtingen.

35.9

83

11)

36.0

44

36.0

06

1659BT

1665T

1657T

36.0

50

tunnel

B3-180

35.211

B2-180

35.184

L-18035.209

B3-19

235.6

19

B3-1616

35.143

L-1616

35.141

B2-1616

35.116

B3-1622

35.2

06

L-1622

35.2

08

B2-1622

35.2

33

B1-1622

35.3

23

L-1624

35.210

B2-1624

35.235

B1-1624

35.325

B3-1636

35.687

L-1636

35.689

B2-1636

35.714

B1-1636

35.804

B1-18035.130

12) Grendel is niet bedienbaar

1621

10)

122

Dienst overpad

36.1

1:12

3)

1)

35.5

66

spoor 16b 17

35.5

85

35.6

38

35.6

87

35.8

47

35.8

91

spoor AO GB

35.9

40

35.8

12

35.8

91

spoor AA GO

35.9

75

spoor AO

35.5

87

35.6

68

35.7

28

35.6

14

35.7

28

35.8

33

spoor AA

35.8

94

35.7

78

spoor 18c 19b

35.7

43

35.7

90

35.8

45

Z

01-14/2Fase 5C4

R-3SUN13Movares

As-built

18-08-2014

B3-1624 35.208

*0002019

59*

Page 14: ASAS 2014 - Eric Hendriks

0

1 2

3

4

5

6

7

8

9

10

Deze tekening vervangt:

Formaat Schaal

Geocode Versie

Wijziging, vermenigvuldiging en/of openbaarmaking van deze tekening zonder voorafgaande schriftelijke toestemming van Railinfrabeheer is niet toegestaan.Prorail / Railinfrabeheer is eigenaar van alle digitale en analoge verschijningsvormen van deze tekening en rechthebbende op grond van de Auteurswet 1912.

U

OS-blad0302

A0000261461

531

Asd-Zvg

OS-blad 0302 Prot.214 uitg. A d.d. 221196

35.050 36.130

Utrecht CS

Utrecht (OP Ut EBP2)

4

4

4

4

4

171

179A

173A

179B

151A

151B

153

175A

173B

175B

195B 185B

197A

185A

195A

193B

193A

191

197B

199A

199B

183B

187

205A

201B

209

205B

203A

213A

211

1811:12

AA AB AC

AD AE AF

AG

AH

AJ

AK AL

374m

AM

AX AY

AZ BA

AV AW

S156 420m

S166 381m

LAA LBB

LDD

LEE

Utrecht

OS-blad 1328

Lunetten

LMM LOO

LPP

LRR

335m

268m

239m

239m

S1288 247m

S1292 264m

S1286 306m

S1288 284m

BF BG

BH BJ

BB BC

1621

1633A 1:15

LSS

307m

LVV

LYY

1:12183A

1633B1:15

203B

S1624 479m

S1622

R

GLFL

GL

148

GL

GR

R

GLFL

GL

144

R

R

GLFL

R

R

GR

R

GLFL

GLFL

GL

218

134

GL

GR

GL

GLFL

GL

GR

136

GL

GR

GL

128

GL

GLFL

GL

GR

124

GL

GR

R

GLFL

158

GL

GR

R

GLFL

156

GL

GR

R

GLFL

192

GL

GR

R

GLFL

194

GL

GR

204

206

R

GLFL

GL

GR

R

GLFL

GL

GR

R

GLFL

1624

GL

GR

R

GLFL

1622

GL

GR

W

1636

R

GLFL

GL

GR

139A

141A

137A

139B

137B

143A

143B

141B

AN AP AQ

AR AS

Utrecht CS

OS-blad 0300Utrecht (OP Ut EBP2)

AU

AT

S1296 252m

S1296 241m

S1298 241m

S1298 252m

S1294 252m

S1296 246m

S1294 246m

R

GL

GL

146

GR

GLFL

177

LZZ

196

R

GLFL

GL

GR

S1284 757m

S156 483m

S158 520m

S144 547m

S146 541m

S148 552m

S134 559m

S136 559m

S128 558m

S124 558m

200

R

GLFL

GL

GR

S1284 757m

S156 483m

S158 520m

S144 547m

S146 541m

S148 552m

S134 559m

S136 559m

S128 558m

S124 558m

213B

215A

215B

S1284 918m

S156 644m

S158 681m

S144 708m

S146 702m

S148 713m

S134 720m

S136 720m

S128 719m

S124 719m

S144 708m

S146 702m

S148 713m

S134 720m

S136 720m

S128 719m

S124 719m

201A

293m

481m

207

1613B

5)1)

2)

1) Rijweginstelling over wl 1621 LL is niet mogelijk.2) Rijweginstelling over wl 203B LL is niet mogelijk

5) Geen rijweginstelling mogelijk over wl 1613B RL Q

R

S

T

U

2013-0421Prot.1714A

B-227114Movares

21-04-2013

2013-0902Prot 1728B

B-227114Movares

02-09-2013

2013-0916Prot. 1731B

B-227114Movares

16-09-2013

2013-1111/5A3Prot.1871

B-227114Movares

11-11-2013

2013-1216/5A4Prot.1935

B-227114Movares

As-built

16-12-2013

*0002614

61*

Page 15: ASAS 2014 - Eric Hendriks
Page 16: ASAS 2014 - Eric Hendriks

Agile@RIGD-LOXIA• Roughly 80 employees, 35 Java developers

• Eclipse RCP and more recently Web (GWT)

• 5 years of agile development

• Embraced by management

• Trust in craftsmanship

• Room for creativity

Page 17: ASAS 2014 - Eric Hendriks

Pride & Craftsmanship

• Proud

• Highly motivated

• High quality software

• Creative

• Continously adding value

Page 18: ASAS 2014 - Eric Hendriks

Context

System

System

System

System

System

System

System

Page 19: ASAS 2014 - Eric Hendriks

Context

Complexity = (Nr of systems)2

“Combinatory explosion of complexity”

Page 20: ASAS 2014 - Eric Hendriks

Context

System

System

System

System

System

System

Data

Page 21: ASAS 2014 - Eric Hendriks

Business !!!

Context

System

System

System

System

System

System

railCloud

Page 22: ASAS 2014 - Eric Hendriks

Architectural choices

• Types: files (cad-drawings) -> data-objects

• No predefined schema

• Scalable

• In common: internet

• Talking about uniquely identifiable resources

Page 23: ASAS 2014 - Eric Hendriks

railCloud

• CRUD of JSON documents stored in collections

• Multiple functional & technical keys

• Audit trail (historic data)

• Relationships (composites, aggregates, associations)

• Optimistic locking mechanism

Page 24: ASAS 2014 - Eric Hendriks

Demo

• railDocs client

• > 3000 registered users

• Requesting thousands of schematics per day

• railCloud generic frontend

• Multiple external clients connecting directly

Page 25: ASAS 2014 - Eric Hendriks

Challenges

• “Bob the Builder syndrome”

• Where’s the business model

• Less than agile environment

• Role of the Product Owner?

Page 26: ASAS 2014 - Eric Hendriks

“Bob the Builder syndrome”

• Can we build it? YES WE CAN!

• “This way we have total control”

• “This time we keep it simple”

• “Platform abstractions create overhead”

• “Framework = expensive”

• “Vendor lock-in”

Page 27: ASAS 2014 - Eric Hendriks

Where’s the business model

• Not gone, just moved

• Java library. But what about non-java clients

• Exposed internal data model (lock for change)

Business !!!

railCloud

Page 28: ASAS 2014 - Eric Hendriks

Less than agile environment

• Environment guided by policies and procedures

• Place in the enterprise architecture

• Clients and end-users cannot cope with continuous change

• Technology push, but what about the processes

Page 29: ASAS 2014 - Eric Hendriks

Keep them involved!

Page 30: ASAS 2014 - Eric Hendriks

Role of the Product Owner

• No formal PO, budget or resources

• Continuously negotiating for time and resources

• More and more a separate and mature product

• Missed opportunities?

Page 31: ASAS 2014 - Eric Hendriks

Assign a product owner!(If a component becomes a product)

Page 32: ASAS 2014 - Eric Hendriks

Beware of “Bob the builder syndrome”

Involve non-agile stakeholders even more

Provide a product with a PO when mature enough

You can move but you can’t hide your business model

Page 33: ASAS 2014 - Eric Hendriks

[email protected] !

+31 (0)6-4299 8217