WEBVTT

1
00:00:02.835 --> 00:00:04.415
<00:00:02.835>Thanks <00:00:03.185>for <00:00:03.535>this <00:00:03.885>and <00:00:04.234>yeah,

2
00:00:04.645 --> 00:00:08.415
<00:00:04.645>perhaps <00:00:04.800>you <00:00:04.956>are <00:00:05.111>wondering <00:00:05.267>why <00:00:05.422>I'm <00:00:05.578>starting <00:00:05.733>with <00:00:05.889>the <00:00:06.045>picture

3
00:00:08.515 --> 00:00:09.655
<00:00:08.515>of <00:00:09.028>Kuta <00:00:09.541>here.

4
00:00:10.365 --> 00:00:12.455
<00:00:10.365>Well, <00:00:10.831>let <00:00:11.298>me <00:00:11.765>elaborate.

5
00:00:13.405 --> 00:00:17.495
<00:00:13.405>What <00:00:13.532>you'll <00:00:13.659>see <00:00:13.786>here <00:00:13.914>is <00:00:14.041>the <00:00:14.168>high <00:00:14.295>school <00:00:14.423>I <00:00:14.550>attended <00:00:14.677>back <00:00:14.805>then

6
00:00:18.435 --> 00:00:22.975
<00:00:18.435>and <00:00:18.590>uh, <00:00:18.746>I <00:00:18.901>remember <00:00:19.057>back <00:00:19.212>then <00:00:19.368>we <00:00:19.523>were <00:00:19.679>really <00:00:19.834>looking

7
00:00:23.155 --> 00:00:26.215
<00:00:23.155>for <00:00:23.355>about <00:00:23.555>to <00:00:23.755>finally <00:00:23.955>become <00:00:24.155>16 <00:00:24.355>years <00:00:24.555>old

8
00:00:26.405 --> 00:00:31.215
<00:00:26.405>because <00:00:26.560>with <00:00:26.716>16 <00:00:26.871>years <00:00:27.027>you <00:00:27.182>can <00:00:27.338>drive <00:00:27.493>a <00:00:27.649>tiny <00:00:27.805>moped

9
00:00:31.315 --> 00:00:35.775
<00:00:31.315>or <00:00:31.470>a <00:00:31.626>scooter <00:00:31.781>and <00:00:31.937>somehow <00:00:32.092>I <00:00:32.248>remember <00:00:32.403>our <00:00:32.559>class <00:00:32.715>was

10
00:00:36.145 --> 00:00:37.615
<00:00:36.145>subdivided <00:00:36.586>into <00:00:37.027>two <00:00:37.468>groups.

11
00:00:37.905 --> 00:00:41.935
<00:00:37.905>There <00:00:38.060>were <00:00:38.216>the <00:00:38.371>moped <00:00:38.527>people <00:00:38.682>there, <00:00:38.838>there <00:00:38.993>are <00:00:39.149>these <00:00:39.305>people

12
00:00:42.155 --> 00:00:44.055
<00:00:42.155>and <00:00:42.435>somehow <00:00:42.715>we <00:00:42.995>discussed <00:00:43.275>a <00:00:43.555>lot.

13
00:00:44.545 --> 00:00:45.815
<00:00:44.545>There <00:00:44.830>have <00:00:45.116>been <00:00:45.402>a <00:00:45.687>lot

14
00:00:45.835 --> 00:00:49.335
<00:00:45.835>of <00:00:46.010>heavy <00:00:46.185>discussions <00:00:46.360>about <00:00:46.535>which <00:00:46.710>one <00:00:46.885>is <00:00:47.060>the <00:00:47.235>best.

15
00:00:50.755 --> 00:00:54.775
<00:00:50.755>And <00:00:50.910>when <00:00:51.066>I <00:00:51.221>am <00:00:51.377>thinking <00:00:51.532>back <00:00:51.688>to <00:00:51.843>this, <00:00:51.999>I <00:00:52.155>have

16
00:00:54.775 --> 00:00:57.775
<00:00:54.775>to <00:00:55.008>say <00:00:55.241>this <00:00:55.475>discussion <00:00:55.708>was <00:00:55.941>somehow <00:00:56.175>ridiculous

17
00:00:58.205 --> 00:01:02.175
<00:00:58.205>because <00:00:58.360>there <00:00:58.516>is <00:00:58.671>not <00:00:58.827>an <00:00:58.982>option <00:00:59.138>like <00:00:59.293>the <00:00:59.449>best <00:00:59.605>option,

18
00:01:02.725 --> 00:01:06.975
<00:01:02.725>it's <00:01:02.925>always <00:01:03.125>about <00:01:03.325>consequences <00:01:03.525>in <00:01:03.725>your <00:01:03.925>various <00:01:04.125>situation.

19
00:01:07.045 --> 00:01:10.335
<00:01:07.045>This <00:01:07.185>is <00:01:07.325>always <00:01:07.465>true <00:01:07.605>when <00:01:07.745>it <00:01:07.885>comes <00:01:08.025>to <00:01:08.165>doing <00:01:08.305>a <00:01:08.445>decision.

20
00:01:11.375 --> 00:01:16.035
<00:01:11.375>In <00:01:11.530>the <00:01:11.686>case <00:01:11.841>of <00:01:11.997>mopeds <00:01:12.152>versus <00:01:12.308>scooters, <00:01:12.463>it's <00:01:12.619>mainly <00:01:12.775>about,

21
00:01:16.475 --> 00:01:19.235
<00:01:16.475>I <00:01:16.649>guess <00:01:16.824>belonging <00:01:17.000>to <00:01:17.175>this <00:01:17.350>or <00:01:17.524>to <00:01:17.699>that <00:01:17.875>group.

22
00:01:20.435 --> 00:01:24.135
<00:01:20.435>And <00:01:20.610>this <00:01:20.785>very <00:01:20.960>story <00:01:21.135>reminds <00:01:21.310>me <00:01:21.485>to <00:01:21.660>software <00:01:21.835>architecture

23
00:01:24.285 --> 00:01:28.455
<00:01:24.285>because <00:01:24.485>software <00:01:24.685>architecture <00:01:24.884>is <00:01:25.085>also <00:01:25.285>about <00:01:25.485>doing <00:01:25.685>decisions

24
00:01:28.515 --> 00:01:30.575
<00:01:28.515>and <00:01:28.865>so <00:01:29.215>it's <00:01:29.565>also <00:01:29.915>about

25
00:01:31.145 --> 00:01:35.655
<00:01:31.145>evaluating <00:01:31.425>consequences <00:01:31.705>against <00:01:31.985>your <00:01:32.265>very <00:01:32.545>situation.

26
00:01:35.705 --> 00:01:39.215
<00:01:35.705>There <00:01:35.860>is <00:01:36.016>not <00:01:36.171>the <00:01:36.327>best <00:01:36.482>or <00:01:36.638>the <00:01:36.793>worst <00:01:36.949>software <00:01:37.105>architecture.

27
00:01:39.425 --> 00:01:42.135
<00:01:39.425>There <00:01:39.705>are <00:01:39.985>just <00:01:40.265>fitting <00:01:40.545>software <00:01:40.825>architectures

28
00:01:42.155 --> 00:01:44.015
<00:01:42.155>for <00:01:42.621>your <00:01:43.088>various <00:01:43.555>situation.

29
00:01:44.795 --> 00:01:48.175
<00:01:44.795>And <00:01:44.935>this <00:01:45.075>is <00:01:45.215>especially <00:01:45.355>true <00:01:45.495>when <00:01:45.635>it <00:01:45.775>comes <00:01:45.915>to <00:01:46.055>micro <00:01:46.195>front

30
00:01:48.445 --> 00:01:53.095
<00:01:48.445>because <00:01:48.600>micro <00:01:48.756>front <00:01:48.911>dance <00:01:49.067>come <00:01:49.222>with <00:01:49.378>a <00:01:49.533>lot <00:01:49.689>of <00:01:49.845>consequences.

31
00:01:54.275 --> 00:01:58.495
<00:01:54.275>And <00:01:54.415>if <00:01:54.555>you <00:01:54.695>are <00:01:54.835>now <00:01:54.975>wondering <00:01:55.115>what <00:01:55.255>micro <00:01:55.395>front <00:01:55.535>end <00:01:55.675>are,

32
00:01:58.645 --> 00:02:02.935
<00:01:58.645>well <00:01:58.800>basically <00:01:58.956>the <00:01:59.111>idea <00:01:59.267>is <00:01:59.422>about <00:01:59.578>not <00:01:59.733>writing <00:01:59.889>a <00:02:00.045>big

33
00:02:03.005 --> 00:02:05.215
<00:02:03.005>application <00:02:03.471>capable <00:02:03.938>of <00:02:04.405>everything.

34
00:02:05.395 --> 00:02:07.735
<00:02:05.395>No. <00:02:05.595>Instead <00:02:05.795>of <00:02:05.994>this <00:02:06.195>we <00:02:06.395>want <00:02:06.595>to <00:02:06.795>write

35
00:02:08.245 --> 00:02:12.415
<00:02:08.245>several <00:02:08.478>tiny <00:02:08.711>applications <00:02:08.945>that <00:02:09.178>can <00:02:09.411>be <00:02:09.645>maintained,

36
00:02:12.725 --> 00:02:16.455
<00:02:12.725>developed <00:02:12.924>and <00:02:13.125>deployed <00:02:13.325>by <00:02:13.525>different <00:02:13.725>or <00:02:13.924>dark <00:02:14.125>teams.

37
00:02:17.715 --> 00:02:18.775
<00:02:17.715>And <00:02:18.033>somehow <00:02:18.351>we <00:02:18.669>need

38
00:02:18.775 --> 00:02:22.255
<00:02:18.775>to <00:02:18.930>integrate <00:02:19.086>all <00:02:19.241>those <00:02:19.397>tiny <00:02:19.552>parts <00:02:19.708>into <00:02:19.863>a <00:02:20.019>common <00:02:20.175>hole.

39
00:02:22.755 --> 00:02:26.215
<00:02:22.755>And <00:02:22.910>this <00:02:23.066>common <00:02:23.221>hole <00:02:23.377>is <00:02:23.532>very <00:02:23.688>often <00:02:23.843>called <00:02:23.999>a <00:02:24.155>shell.

40
00:02:26.235 --> 00:02:28.135
<00:02:26.235>You <00:02:26.435>see <00:02:26.635>it <00:02:26.835>here <00:02:27.035>on <00:02:27.235>the <00:02:27.435>left <00:02:27.635>side.

41
00:02:28.365 --> 00:02:32.735
<00:02:28.365>This <00:02:28.540>shell <00:02:28.715>is <00:02:28.890>loading <00:02:29.065>all <00:02:29.240>those <00:02:29.415>tiny <00:02:29.590>separated, <00:02:29.765>compiled

42
00:02:32.755 --> 00:02:36.855
<00:02:32.755>and <00:02:32.930>deployed <00:02:33.105>micro <00:02:33.280>front <00:02:33.454>dance <00:02:33.630>on <00:02:33.805>demands <00:02:33.980>on <00:02:34.155>runan.

43
00:02:38.805 --> 00:02:40.935
<00:02:38.805>Yeah, <00:02:38.980>and <00:02:39.155>this <00:02:39.330>is <00:02:39.505>what <00:02:39.680>this <00:02:39.855>talk <00:02:40.030>is <00:02:40.205>about.

44
00:02:41.075 --> 00:02:43.495
<00:02:41.075>In <00:02:41.250>this <00:02:41.424>talk <00:02:41.600>I <00:02:41.774>will <00:02:41.950>tell <00:02:42.125>you <00:02:42.299>two <00:02:42.475>things

45
00:02:43.705 --> 00:02:45.095
<00:02:43.704>about <00:02:44.122>micro <00:02:44.539>front <00:02:44.956>dance.

46
00:02:45.465 --> 00:02:49.655
<00:02:45.465>First <00:02:45.605>of <00:02:45.745>all, <00:02:45.885>I <00:02:46.025>want <00:02:46.165>to <00:02:46.305>show <00:02:46.445>you <00:02:46.585>why <00:02:46.725>people <00:02:46.865>choose

47
00:02:49.955 --> 00:02:53.655
<00:02:49.954>for <00:02:50.130>this <00:02:50.304>architectural <00:02:50.480>style, <00:02:50.654>why <00:02:50.829>the <00:02:51.005>choose <00:02:51.179>for <00:02:51.355>it,

48
00:02:53.725 --> 00:02:56.175
<00:02:53.725>even <00:02:54.005>though <00:02:54.285>it <00:02:54.565>has <00:02:54.845>several <00:02:55.125>drawbacks

49
00:02:56.835 --> 00:03:00.325
<00:02:56.835>and <00:02:56.990>then <00:02:57.146>I <00:02:57.301>will <00:02:57.457>show <00:02:57.612>you <00:02:57.768>how <00:02:57.923>to <00:02:58.079>implement <00:02:58.235>them.

50
00:03:00.665 --> 00:03:04.805
<00:03:00.665>And <00:03:00.804>for <00:03:00.945>this <00:03:01.084>we'll <00:03:01.225>go <00:03:01.364>with <00:03:01.505>a <00:03:01.644>quite <00:03:01.785>modern <00:03:01.924>approach, <00:03:02.065>namely

51
00:03:04.805 --> 00:03:06.405
<00:03:04.805>with <00:03:05.505>Module <00:03:06.205>Federation.

52
00:03:07.105 --> 00:03:11.285
<00:03:07.105>If <00:03:07.260>you <00:03:07.416>ask <00:03:07.571>me, <00:03:07.727>module <00:03:07.882>Federation <00:03:08.038>is <00:03:08.193>currently <00:03:08.349>the <00:03:08.505>only

53
00:03:11.505 --> 00:03:16.205
<00:03:11.505>really <00:03:11.738>straightforward <00:03:11.971>approach <00:03:12.204>for <00:03:12.438>implementing <00:03:12.671>Micro <00:03:12.905>Front

54
00:03:16.625 --> 00:03:19.965
<00:03:16.625>for <00:03:16.800>implementing <00:03:16.975>a <00:03:17.150>shell, <00:03:17.325>but <00:03:17.500>more <00:03:17.675>about <00:03:17.850>this <00:03:18.025>later.

55
00:03:21.905 --> 00:03:24.325
<00:03:21.905>Before <00:03:22.138>we <00:03:22.371>start, <00:03:22.605>let <00:03:22.838>me <00:03:23.071>introduce <00:03:23.305>myself.

56
00:03:24.645 --> 00:03:27.885
<00:03:24.645>I <00:03:24.785>am <00:03:24.925>re <00:03:25.065>I <00:03:25.205>am <00:03:25.345>a <00:03:25.485>train <00:03:25.625>and <00:03:25.765>consultant <00:03:25.905>for <00:03:26.045>Angola.

57
00:03:28.325 --> 00:03:32.525
<00:03:28.325>I <00:03:28.500>am <00:03:28.674>focusing <00:03:28.850>on <00:03:29.024>Angola <00:03:29.200>for <00:03:29.375>enterprise <00:03:29.549>scale <00:03:29.725>applications

58
00:03:33.145 --> 00:03:37.165
<00:03:33.145>and <00:03:33.300>in <00:03:33.456>this <00:03:33.611>role <00:03:33.767>I'm <00:03:33.922>doing <00:03:34.078>a <00:03:34.233>lot <00:03:34.389>of <00:03:34.545>remote

59
00:03:37.685 --> 00:03:40.325
<00:03:37.685>nowadays <00:03:38.035>remote <00:03:38.385>workshops <00:03:38.735>and <00:03:39.085>consultancy.

60
00:03:40.755 --> 00:03:44.205
<00:03:40.755>Besides <00:03:40.930>this, <00:03:41.105>I'm <00:03:41.280>quite <00:03:41.454>connected <00:03:41.630>to <00:03:41.805>the <00:03:41.980>Angola <00:03:42.155>community.

61
00:03:44.805 --> 00:03:47.765
<00:03:44.805>I <00:03:44.932>live <00:03:45.059>in <00:03:45.186>Austria, <00:03:45.314>I <00:03:45.441>do <00:03:45.568>a <00:03:45.695>lot <00:03:45.823>of <00:03:45.950>stuff <00:03:46.077>in <00:03:46.205>Germany

62
00:03:48.305 --> 00:03:50.205
<00:03:48.305>and <00:03:48.771>sometimes <00:03:49.238>I'm <00:03:49.705>allowed

63
00:03:50.205 --> 00:03:54.365
<00:03:50.204>to <00:03:50.380>visit <00:03:50.554>people <00:03:50.730>in <00:03:50.904>other <00:03:51.079>countries <00:03:51.255>if <00:03:51.429>I <00:03:51.605>promise

64
00:03:54.545 --> 00:03:57.485
<00:03:54.545>to <00:03:54.720>behave <00:03:54.895>well, <00:03:55.070>most <00:03:55.245>of <00:03:55.420>the <00:03:55.595>times <00:03:55.770>I <00:03:55.945>do.

65
00:03:58.675 --> 00:03:59.925
<00:03:58.675>Well, <00:03:59.050>let's <00:03:59.425>get <00:03:59.800>started

66
00:03:59.955 --> 00:04:01.925
<00:03:59.954>with <00:04:00.154>the <00:04:00.355>first <00:04:00.554>chapter <00:04:00.755>here <00:04:00.954>with <00:04:01.154>the <00:04:01.355>why.

67
00:04:02.625 --> 00:04:06.485
<00:04:02.625>Why <00:04:02.975>did <00:04:03.325>several <00:04:03.675>companies <00:04:04.025>decide

68
00:04:06.865 --> 00:04:09.045
<00:04:06.865>for <00:04:07.215>this <00:04:07.565>very <00:04:07.915>architectural <00:04:08.265>style?

69
00:04:09.625 --> 00:04:13.005
<00:04:09.625>And <00:04:09.858>to <00:04:10.091>answer <00:04:10.325>this <00:04:10.558>question, <00:04:10.791>I <00:04:11.025>have

70
00:04:13.555 --> 00:04:14.845
<00:04:13.555>done <00:04:13.942>some <00:04:14.329>case <00:04:14.716>studies.

71
00:04:15.805 --> 00:04:19.605
<00:04:15.805>I <00:04:15.980>handed <00:04:16.155>out <00:04:16.329>questionnaires <00:04:16.505>to <00:04:16.680>different <00:04:16.855>customers <00:04:17.030>of <00:04:17.204>mine

72
00:04:20.025 --> 00:04:24.485
<00:04:20.024>and <00:04:20.258>they <00:04:20.491>answered <00:04:20.724>several <00:04:20.958>questions <00:04:21.191>about <00:04:21.424>Microfund

73
00:04:26.345 --> 00:04:29.365
<00:04:26.345>and <00:04:26.578>one <00:04:26.811>of <00:04:27.045>them <00:04:27.278>was <00:04:27.511>OSE <00:04:27.745>Healthcare.

74
00:04:29.715 --> 00:04:32.685
<00:04:29.715>They <00:04:29.914>have <00:04:30.114>been <00:04:30.315>known <00:04:30.515>as <00:04:30.715>AFA <00:04:30.914>Healthcare <00:04:31.114>before.

75
00:04:33.345 --> 00:04:35.125
<00:04:33.345>Uh, <00:04:33.695>perhaps <00:04:34.045>you <00:04:34.395>know <00:04:34.745>AFA

76
00:04:35.125 --> 00:04:39.085
<00:04:35.125>because <00:04:35.280>I <00:04:35.436>think <00:04:35.591>in <00:04:35.747>the <00:04:35.902>eighties <00:04:36.058>they <00:04:36.213>produced <00:04:36.369>a <00:04:36.525>lot

77
00:04:39.085 --> 00:04:40.325
<00:04:39.085>of <00:04:39.643>audio <00:04:40.200>cassettes.

78
00:04:40.885 --> 00:04:45.245
<00:04:40.885>I <00:04:41.012>had <00:04:41.139>a <00:04:41.266>lot <00:04:41.394>of <00:04:41.521>cassettes <00:04:41.648>from <00:04:41.775>the <00:04:41.903>AFA <00:04:42.030>band <00:04:42.157>back <00:04:42.284>then

79
00:04:46.025 --> 00:04:49.245
<00:04:46.025>and <00:04:46.258>nowadays <00:04:46.491>this <00:04:46.724>division <00:04:46.958>is <00:04:47.191>doing <00:04:47.424>healthcare.

80
00:04:49.595 --> 00:04:52.165
<00:04:49.595>They <00:04:49.875>are <00:04:50.155>doing <00:04:50.435>hospital <00:04:50.715>information <00:04:50.995>systems

81
00:04:52.785 --> 00:04:55.645
<00:04:52.784>and <00:04:52.924>when <00:04:53.064>you <00:04:53.205>think <00:04:53.344>on <00:04:53.484>a <00:04:53.624>hospital <00:04:53.765>there <00:04:53.905>are <00:04:54.044>a <00:04:54.184>lot

82
00:04:55.705 --> 00:04:57.885
<00:04:55.705>of <00:04:56.171>different <00:04:56.638>specialist <00:04:57.104>divisions

83
00:04:58.305 --> 00:05:02.045
<00:04:58.305>and <00:04:58.480>in <00:04:58.655>each <00:04:58.830>specialist <00:04:59.005>division <00:04:59.180>you <00:04:59.355>have <00:04:59.530>different <00:04:59.705>business

84
00:05:02.195 --> 00:05:04.205
<00:05:02.195>processes <00:05:02.661>and <00:05:03.128>different <00:05:03.594>data,

85
00:05:04.625 --> 00:05:07.445
<00:05:04.625>but <00:05:04.858>all <00:05:05.091>those <00:05:05.325>data <00:05:05.558>structures <00:05:05.791>are <00:05:06.025>connected

86
00:05:07.465 --> 00:05:09.605
<00:05:07.465>to <00:05:07.931>one <00:05:08.398>specific <00:05:08.864>patient.

87
00:05:10.425 --> 00:05:13.885
<00:05:10.425>So <00:05:10.552>at <00:05:10.679>the <00:05:10.806>end <00:05:10.934>of <00:05:11.061>the <00:05:11.188>day <00:05:11.315>it's <00:05:11.443>all <00:05:11.570>about <00:05:11.697>bringing <00:05:11.825>those

88
00:05:13.915 --> 00:05:17.725
<00:05:13.915>different <00:05:14.148>data <00:05:14.381>structures <00:05:14.615>together <00:05:14.848>for <00:05:15.081>one <00:05:15.315>patient

89
00:05:18.425 --> 00:05:21.485
<00:05:18.425>to <00:05:18.625>know <00:05:18.825>uh, <00:05:19.025>how <00:05:19.225>this <00:05:19.425>patient <00:05:19.625>is <00:05:19.825>about

90
00:05:21.745 --> 00:05:25.565
<00:05:21.745>and <00:05:21.900>uh, <00:05:22.056>to <00:05:22.211>find <00:05:22.367>out <00:05:22.522>which <00:05:22.678>diseases <00:05:22.833>they <00:05:22.989>might <00:05:23.145>have.

91
00:05:26.745 --> 00:05:30.605
<00:05:26.745>And <00:05:26.978>that's <00:05:27.211>why <00:05:27.445>they <00:05:27.678>choose <00:05:27.911>for <00:05:28.145>uh,

92
00:05:30.695 --> 00:05:31.765
<00:05:30.695>micro <00:05:31.658>frens

93
00:05:31.875 --> 00:05:36.605
<00:05:31.875>because <00:05:32.050>with <00:05:32.225>micro <00:05:32.400>frens <00:05:32.575>they <00:05:32.750>can <00:05:32.925>implement <00:05:33.100>the <00:05:33.275>processes

94
00:05:36.705 --> 00:05:37.965
<00:05:36.705>and <00:05:37.272>data <00:05:37.839>structures

95
00:05:38.025 --> 00:05:40.765
<00:05:38.025>for <00:05:38.258>all <00:05:38.491>those <00:05:38.724>specialist <00:05:38.958>divisions <00:05:39.191>in <00:05:39.424>isolation

96
00:05:41.145 --> 00:05:42.805
<00:05:41.145>and <00:05:41.424>then <00:05:41.705>they <00:05:41.984>can <00:05:42.265>integrate <00:05:42.544>it

97
00:05:42.805 --> 00:05:46.365
<00:05:42.805>that <00:05:43.005>you <00:05:43.205>have <00:05:43.405>one <00:05:43.605>integrated <00:05:43.805>few <00:05:44.005>per <00:05:44.205>patient.

98
00:05:47.715 --> 00:05:49.885
<00:05:47.715>Another <00:05:48.065>customer <00:05:48.415>I've <00:05:48.765>interviewed <00:05:49.115>is,

99
00:05:50.435 --> 00:05:51.725
<00:05:50.435>it's <00:05:50.725>quite <00:05:51.015>a <00:05:51.305>huge <00:05:51.596>company

100
00:05:52.185 --> 00:05:54.485
<00:05:52.185>and <00:05:52.385>one <00:05:52.585>of <00:05:52.785>their <00:05:52.985>products <00:05:53.185>is <00:05:53.385>a <00:05:53.585>payroll

101
00:05:55.555 --> 00:05:56.925
<00:05:55.555>accountancy <00:05:56.788>application

102
00:05:57.945 --> 00:06:02.005
<00:05:57.945>and <00:05:58.120>this <00:05:58.295>application <00:05:58.469>is <00:05:58.645>one <00:05:58.820>of <00:05:58.995>their <00:05:59.170>biggest <00:05:59.344>applications.

103
00:06:02.435 --> 00:06:05.365
<00:06:02.435>They <00:06:02.635>have <00:06:02.835>about <00:06:03.035>80 <00:06:03.235>people <00:06:03.435>working <00:06:03.635>on <00:06:03.835>this

104
00:06:06.105 --> 00:06:07.925
<00:06:06.105>and <00:06:06.385>you <00:06:06.665>know, <00:06:06.945>if <00:06:07.225>you <00:06:07.505>want

105
00:06:08.065 --> 00:06:12.165
<00:06:08.065>to <00:06:08.192>have <00:06:08.319>80 <00:06:08.446>people <00:06:08.574>on <00:06:08.701>one <00:06:08.828>broad <00:06:08.955>check <00:06:09.083>working <00:06:09.210>on <00:06:09.337>one <00:06:09.465>product,

106
00:06:12.665 --> 00:06:14.645
<00:06:12.665>you <00:06:12.945>somehow <00:06:13.225>need <00:06:13.505>to <00:06:13.785>scale <00:06:14.065>it

107
00:06:15.225 --> 00:06:16.445
<00:06:15.225>and <00:06:15.774>scaling <00:06:16.323>it

108
00:06:16.785 --> 00:06:20.525
<00:06:16.785>by <00:06:16.985>subdividing <00:06:17.185>it <00:06:17.385>into <00:06:17.585>different <00:06:17.785>micro <00:06:17.985>front <00:06:18.185>end,

109
00:06:20.525 --> 00:06:24.045
<00:06:20.525>different <00:06:20.804>microservices <00:06:21.085>is <00:06:21.364>their <00:06:21.645>current <00:06:21.924>approach.

110
00:06:25.755 --> 00:06:27.925
<00:06:25.755>Last <00:06:26.034>but <00:06:26.315>not <00:06:26.594>least, <00:06:26.875>another <00:06:27.155>company

111
00:06:28.355 --> 00:06:32.245
<00:06:28.355>that <00:06:28.555>I'm <00:06:28.755>consulting <00:06:28.955>is <00:06:29.155>uh, <00:06:29.355>huge <00:06:29.555>European <00:06:29.755>bank.

112
00:06:32.585 --> 00:06:34.805
<00:06:32.585>I'm <00:06:32.784>not <00:06:32.984>allowed <00:06:33.185>to <00:06:33.385>tell <00:06:33.585>you <00:06:33.784>the <00:06:33.984>name

113
00:06:34.945 --> 00:06:39.205
<00:06:34.945>but <00:06:35.085>I <00:06:35.224>am <00:06:35.365>allowed <00:06:35.505>to <00:06:35.645>tell <00:06:35.784>you <00:06:35.925>about <00:06:36.065>their <00:06:36.205>case <00:06:36.344>study.

114
00:06:39.755 --> 00:06:42.965
<00:06:39.755>What <00:06:39.910>they <00:06:40.066>are <00:06:40.221>doing <00:06:40.377>is <00:06:40.532>they <00:06:40.688>are <00:06:40.843>rewriting <00:06:40.999>currently <00:06:41.155>their

115
00:06:43.115 --> 00:06:44.925
<00:06:43.115>e-banking <00:06:43.465>system <00:06:43.815>and <00:06:44.165>you <00:06:44.515>know

116
00:06:44.945 --> 00:06:48.805
<00:06:44.945>for <00:06:45.072>us <00:06:45.199>an <00:06:45.326>e-banking <00:06:45.454>system <00:06:45.581>is <00:06:45.708>quite <00:06:45.835>a <00:06:45.963>acute <00:06:46.090>thing <00:06:46.217>isn't <00:06:46.344>it?

117
00:06:49.175 --> 00:06:50.805
<00:06:49.175>There <00:06:49.641>are <00:06:50.108>several <00:06:50.575>dials.

118
00:06:51.465 --> 00:06:54.485
<00:06:51.465>One <00:06:51.640>dial <00:06:51.815>is <00:06:51.990>telling <00:06:52.165>me <00:06:52.340>that <00:06:52.515>I'm <00:06:52.690>completely <00:06:52.865>broke,

119
00:06:54.915 --> 00:06:58.765
<00:06:54.915>another <00:06:55.055>dial <00:06:55.195>is <00:06:55.335>telling <00:06:55.475>me <00:06:55.615>that <00:06:55.755>I <00:06:55.895>won't <00:06:56.035>get <00:06:56.175>another <00:06:56.315>loan

120
00:06:59.025 --> 00:07:00.165
<00:06:59.025>and <00:06:59.230>so <00:06:59.435>on <00:06:59.640>and <00:06:59.845>so <00:07:00.051>forth.

121
00:07:01.025 --> 00:07:04.285
<00:07:01.025>But <00:07:01.152>at <00:07:01.279>the <00:07:01.406>end <00:07:01.534>of <00:07:01.661>the <00:07:01.788>day <00:07:01.915>all <00:07:02.043>those <00:07:02.170>styles <00:07:02.297>come <00:07:02.424>from

122
00:07:04.285 --> 00:07:06.805
<00:07:04.285>different <00:07:04.635>specialist <00:07:04.985>divisions <00:07:05.335>from <00:07:05.685>different

123
00:07:07.405 --> 00:07:10.725
<00:07:07.405>business <00:07:07.755>areas <00:07:08.104>like <00:07:08.455>accountant <00:07:08.804>management

124
00:07:11.065 --> 00:07:13.805
<00:07:11.065>or <00:07:11.344>stock <00:07:11.625>management <00:07:11.905>or <00:07:12.185>loan <00:07:12.465>management.

125
00:07:14.225 --> 00:07:16.485
<00:07:14.225>And <00:07:14.425>we <00:07:14.625>have <00:07:14.825>to <00:07:15.025>bring <00:07:15.225>all <00:07:15.425>this <00:07:15.625>together

126
00:07:16.995 --> 00:07:19.685
<00:07:16.995>into <00:07:17.228>an <00:07:17.461>integrated <00:07:17.695>view <00:07:17.928>for <00:07:18.161>the <00:07:18.395>customer.

127
00:07:22.015 --> 00:07:25.525
<00:07:22.015>There <00:07:22.142>is <00:07:22.269>another <00:07:22.396>case <00:07:22.524>study <00:07:22.651>and <00:07:22.778>this <00:07:22.905>is <00:07:23.033>quite <00:07:23.160>a <00:07:23.287>nice <00:07:23.414>one

128
00:07:25.525 --> 00:07:29.565
<00:07:25.525>because <00:07:25.804>quality <00:07:26.085>bites <00:07:26.364>is <00:07:26.645>uh, <00:07:26.924>small

129
00:07:29.705 --> 00:07:31.045
<00:07:29.705>or <00:07:30.308>medium <00:07:30.911>business

130
00:07:31.665 --> 00:07:36.125
<00:07:31.665>and <00:07:31.781>they <00:07:31.898>told <00:07:32.015>me, <00:07:32.131>well <00:07:32.248>we <00:07:32.365>are <00:07:32.481>too <00:07:32.598>tiny <00:07:32.715>for <00:07:32.831>micro <00:07:32.948>front <00:07:33.065>ends.

131
00:07:36.385 --> 00:07:38.965
<00:07:36.385>We <00:07:36.618>are <00:07:36.851>just <00:07:37.085>just <00:07:37.318>one <00:07:37.551>agile <00:07:37.784>team

132
00:07:39.505 --> 00:07:41.525
<00:07:39.505>for <00:07:39.738>us <00:07:39.971>it <00:07:40.205>does <00:07:40.438>not <00:07:40.671>make <00:07:40.905>sense

133
00:07:41.665 --> 00:07:45.005
<00:07:41.665>to <00:07:41.820>split <00:07:41.976>our <00:07:42.131>application <00:07:42.287>into <00:07:42.442>a <00:07:42.598>lot <00:07:42.753>of <00:07:42.909>tiny <00:07:43.065>parts.

134
00:07:45.305 --> 00:07:48.605
<00:07:45.305>It <00:07:45.505>would <00:07:45.705>make <00:07:45.905>everything <00:07:46.105>more <00:07:46.305>complicated <00:07:46.505>for <00:07:46.705>us.

135
00:07:49.545 --> 00:07:54.205
<00:07:49.545>And <00:07:49.685>so <00:07:49.825>they <00:07:49.965>really <00:07:50.105>decided <00:07:50.245>to <00:07:50.385>not <00:07:50.525>go <00:07:50.665>with <00:07:50.805>micro <00:07:50.945>run,

136
00:07:55.175 --> 00:07:58.805
<00:07:55.175>which <00:07:55.291>is <00:07:55.408>a <00:07:55.525>smart <00:07:55.641>choice <00:07:55.758>in <00:07:55.875>this <00:07:55.991>very <00:07:56.108>case <00:07:56.225>if <00:07:56.341>you <00:07:56.458>ask <00:07:56.575>me.

137
00:07:59.395 --> 00:08:02.245
<00:07:59.395>However, <00:07:59.628>what <00:07:59.861>they <00:08:00.094>did <00:08:00.328>is <00:08:00.561>they <00:08:00.794>are

138
00:08:02.805 --> 00:08:06.565
<00:08:02.805>structuring <00:08:03.085>their <00:08:03.365>application <00:08:03.645>according <00:08:03.925>to <00:08:04.205>domains

139
00:08:06.705 --> 00:08:07.925
<00:08:06.705>to <00:08:07.254>business <00:08:07.803>domains.

140
00:08:08.555 --> 00:08:11.165
<00:08:08.555>That <00:08:08.788>means <00:08:09.021>they <00:08:09.255>have <00:08:09.488>one <00:08:09.721>part <00:08:09.955>reflecting

141
00:08:11.165 --> 00:08:12.325
<00:08:11.165>this <00:08:11.687>business <00:08:12.209>domain.

142
00:08:12.555 --> 00:08:14.485
<00:08:12.555>They <00:08:12.835>have <00:08:13.115>another <00:08:13.395>part <00:08:13.675>in <00:08:13.955>their

143
00:08:15.325 --> 00:08:17.725
<00:08:15.325>software <00:08:15.675>reflecting <00:08:16.025>another <00:08:16.375>business <00:08:16.724>domain

144
00:08:18.345 --> 00:08:22.685
<00:08:18.345>and <00:08:18.485>they <00:08:18.625>have <00:08:18.765>lending <00:08:18.905>rules <00:08:19.045>making <00:08:19.185>sure <00:08:19.325>that <00:08:19.465>one <00:08:19.605>code <00:08:19.745>base

145
00:08:22.785 --> 00:08:27.245
<00:08:22.785>of <00:08:22.960>one <00:08:23.135>domain <00:08:23.310>cannot <00:08:23.485>directly <00:08:23.660>access <00:08:23.835>the <00:08:24.010>other <00:08:24.185>domain

146
00:08:27.475 --> 00:08:31.445
<00:08:27.475>because <00:08:27.650>they <00:08:27.825>want <00:08:28.000>to <00:08:28.175>prevent <00:08:28.350>this <00:08:28.525>in <00:08:28.700>doming <00:08:28.875>situation

147
00:08:31.455 --> 00:08:34.965
<00:08:31.455>where <00:08:31.688>everything <00:08:31.921>is <00:08:32.155>interconnected <00:08:32.388>with <00:08:32.621>everything <00:08:32.855>else.

148
00:08:35.625 --> 00:08:37.405
<00:08:35.625>If <00:08:35.858>you <00:08:36.091>have <00:08:36.325>a <00:08:36.558>situation <00:08:36.791>like <00:08:37.025>this,

149
00:08:37.585 --> 00:08:41.085
<00:08:37.585>you <00:08:37.760>cannot <00:08:37.935>easily <00:08:38.110>change <00:08:38.285>a <00:08:38.460>thing <00:08:38.635>here <00:08:38.810>without <00:08:38.985>breaking

150
00:08:41.355 --> 00:08:42.405
<00:08:41.355>something <00:08:42.299>there.

151
00:08:43.465 --> 00:08:45.685
<00:08:43.465>But <00:08:43.698>all <00:08:43.931>those <00:08:44.165>domains <00:08:44.398>are <00:08:44.631>here, <00:08:44.865>part

152
00:08:45.705 --> 00:08:48.085
<00:08:45.705>of <00:08:46.171>one <00:08:46.638>so-called <00:08:47.105>monorepo

153
00:08:48.545 --> 00:08:50.885
<00:08:48.545>to <00:08:48.824>structure <00:08:49.104>everything <00:08:49.385>they <00:08:49.665>use <00:08:49.944>nx,

154
00:08:50.975 --> 00:08:53.965
<00:08:50.975>which <00:08:51.150>is <00:08:51.325>quite <00:08:51.500>a <00:08:51.675>nice <00:08:51.850>technology <00:08:52.025>for <00:08:52.200>doing <00:08:52.375>this.

155
00:08:56.825 --> 00:09:01.205
<00:08:56.825>So <00:08:57.025>I <00:08:57.225>asked <00:08:57.425>those <00:08:57.625>customers <00:08:57.825>several <00:08:58.025>questions <00:08:58.225>about

156
00:09:01.985 --> 00:09:03.485
<00:09:01.985>uh, <00:09:02.435>micro <00:09:02.885>front <00:09:03.335>dance

157
00:09:03.625 --> 00:09:07.085
<00:09:03.625>and <00:09:03.780>one <00:09:03.936>of <00:09:04.091>the <00:09:04.247>questions <00:09:04.402>was <00:09:04.558>why <00:09:04.713>did <00:09:04.869>you <00:09:05.025>choose

158
00:09:07.225 --> 00:09:10.885
<00:09:07.225>for <00:09:07.365>micro <00:09:07.505>front <00:09:07.645>dance <00:09:07.785>if <00:09:07.925>they <00:09:08.065>choose <00:09:08.205>for <00:09:08.345>micro <00:09:08.485>front <00:09:08.625>dance?

159
00:09:10.945 --> 00:09:14.365
<00:09:10.945>And <00:09:11.225>almost <00:09:11.505>everyone <00:09:11.785>told <00:09:12.065>me, <00:09:12.345>Val,

160
00:09:14.545 --> 00:09:18.765
<00:09:14.545>we <00:09:14.685>have <00:09:14.824>such <00:09:14.964>a <00:09:15.104>huge <00:09:15.245>product, <00:09:15.385>perhaps <00:09:15.525>even <00:09:15.665>a <00:09:15.805>product <00:09:15.944>huge

161
00:09:19.305 --> 00:09:21.485
<00:09:19.305>and <00:09:19.584>we <00:09:19.864>need <00:09:20.145>to <00:09:20.425>scale <00:09:20.704>development.

162
00:09:21.825 --> 00:09:25.085
<00:09:21.825>We <00:09:22.000>need <00:09:22.175>to <00:09:22.350>scale <00:09:22.525>teams <00:09:22.700>and <00:09:22.875>our <00:09:23.050>business <00:09:23.225>domains.

163
00:09:25.825 --> 00:09:29.955
<00:09:25.825>This <00:09:25.980>was <00:09:26.136>the <00:09:26.291>main <00:09:26.447>reason <00:09:26.602>I <00:09:26.758>figured <00:09:26.913>when <00:09:27.069>interviewing <00:09:27.225>them,

164
00:09:30.985 --> 00:09:32.835
<00:09:30.985>some <00:09:31.335>people <00:09:31.685>also <00:09:32.035>told <00:09:32.385>me,

165
00:09:32.835 --> 00:09:37.795
<00:09:32.835>well <00:09:32.990>it's <00:09:33.146>about <00:09:33.301>switching <00:09:33.457>out <00:09:33.612>technologies <00:09:33.768>at <00:09:33.923>least <00:09:34.079>in <00:09:34.235>mid

166
00:09:37.855 --> 00:09:42.355
<00:09:37.855>or <00:09:38.030>long <00:09:38.205>term <00:09:38.380>because <00:09:38.555>such <00:09:38.730>a <00:09:38.905>huge <00:09:39.080>business <00:09:39.255>product

167
00:09:42.645 --> 00:09:46.795
<00:09:42.645>needs <00:09:42.819>to <00:09:42.995>be <00:09:43.170>maintained <00:09:43.345>for <00:09:43.520>several <00:09:43.694>years, <00:09:43.870>perhaps <00:09:44.045>even

168
00:09:46.855 --> 00:09:47.995
<00:09:46.855>for <00:09:47.368>several <00:09:47.881>decades.

169
00:09:48.975 --> 00:09:52.755
<00:09:48.975>And <00:09:49.115>if <00:09:49.255>you <00:09:49.395>think <00:09:49.535>back <00:09:49.675>what <00:09:49.815>you <00:09:49.955>did <00:09:50.095>one <00:09:50.235>decade <00:09:50.375>ago,

170
00:09:53.515 --> 00:09:57.315
<00:09:53.515>I <00:09:53.670>think <00:09:53.826>it <00:09:53.981>was <00:09:54.137>quite <00:09:54.292>a <00:09:54.448>different <00:09:54.603>technology <00:09:54.759>compared <00:09:54.915>with

171
00:09:57.345 --> 00:09:58.595
<00:09:57.345>what <00:09:57.626>you <00:09:57.907>are <00:09:58.188>doing <00:09:58.470>today.

172
00:09:59.175 --> 00:10:03.675
<00:09:59.175>So <00:09:59.291>you <00:09:59.408>see <00:09:59.525>somehow <00:09:59.641>we <00:09:59.758>need <00:09:59.875>to <00:09:59.991>be <00:10:00.108>safe <00:10:00.224>somehow, <00:10:00.341>we <00:10:00.458>need <00:10:00.574>need

173
00:10:03.675 --> 00:10:06.955
<00:10:03.675>to <00:10:03.830>make <00:10:03.986>sure <00:10:04.141>that <00:10:04.297>we <00:10:04.452>can <00:10:04.608>switch <00:10:04.763>to <00:10:04.919>another <00:10:05.074>technology

174
00:10:07.165 --> 00:10:09.675
<00:10:07.165>after <00:10:07.398>let's <00:10:07.631>say <00:10:07.865>eight <00:10:08.098>or <00:10:08.331>12 <00:10:08.564>years

175
00:10:09.675 --> 00:10:13.675
<00:10:09.675>because <00:10:09.875>our <00:10:10.074>product <00:10:10.275>needs <00:10:10.474>to <00:10:10.675>be <00:10:10.875>maintained <00:10:11.074>for

176
00:10:14.195 --> 00:10:15.595
<00:10:14.195>a <00:10:14.615>long <00:10:15.035>time <00:10:15.455>period.

177
00:10:17.865 --> 00:10:22.635
<00:10:17.865>Another <00:10:18.020>reason <00:10:18.176>several <00:10:18.331>people <00:10:18.487>told <00:10:18.642>me <00:10:18.798>is <00:10:18.953>they <00:10:19.109>want <00:10:19.265>that

178
00:10:22.815 --> 00:10:27.195
<00:10:22.815>to <00:10:22.990>be <00:10:23.165>capable <00:10:23.340>of <00:10:23.515>uh, <00:10:23.690>catching <00:10:23.865>up <00:10:24.040>with <00:10:24.215>repeatedly

179
00:10:27.835 --> 00:10:29.035
<00:10:27.835>changing <00:10:28.915>requirements

180
00:10:29.545 --> 00:10:33.675
<00:10:29.545>because <00:10:29.719>perhaps <00:10:29.895>they <00:10:30.069>need <00:10:30.245>to <00:10:30.420>align <00:10:30.594>with <00:10:30.770>changing <00:10:30.944>laws

181
00:10:34.495 --> 00:10:36.315
<00:10:34.495>and <00:10:34.728>so <00:10:34.961>they <00:10:35.195>need <00:10:35.428>to <00:10:35.661>be <00:10:35.895>fast.

182
00:10:36.455 --> 00:10:40.515
<00:10:36.455>If <00:10:36.582>there <00:10:36.709>is <00:10:36.836>a <00:10:36.964>new <00:10:37.091>law <00:10:37.218>that <00:10:37.345>needs <00:10:37.473>to <00:10:37.600>be <00:10:37.727>respected <00:10:37.855>uh,

183
00:10:40.515 --> 00:10:43.195
<00:10:40.515>with <00:10:40.655>the <00:10:40.795>beginning <00:10:40.935>of <00:10:41.074>the <00:10:41.215>next <00:10:41.355>month <00:10:41.495>or <00:10:41.635>the <00:10:41.775>next <00:10:41.915>year

184
00:10:44.135 --> 00:10:47.195
<00:10:44.135>and <00:10:44.368>having <00:10:44.601>a <00:10:44.835>lot <00:10:45.068>of <00:10:45.301>tiny <00:10:45.535>applications

185
00:10:47.805 --> 00:10:50.115
<00:10:47.805>makes <00:10:48.084>it <00:10:48.364>easier <00:10:48.645>to <00:10:48.925>change <00:10:49.204>them.

186
00:10:53.245 --> 00:10:57.645
<00:10:53.245>I <00:10:53.400>think <00:10:53.556>this <00:10:53.711>shows <00:10:53.867>that <00:10:54.022>first <00:10:54.178>and <00:10:54.333>foremost <00:10:54.489>micro <00:10:54.645>front

187
00:10:57.745 --> 00:10:59.605
<00:10:57.745>and <00:10:58.095>are <00:10:58.445>about <00:10:58.795>scaling <00:10:59.145>dips.

188
00:11:00.095 --> 00:11:04.405
<00:11:00.095>There <00:11:00.270>are <00:11:00.445>some <00:11:00.620>other <00:11:00.795>benefits <00:11:00.970>like <00:11:01.145>as <00:11:01.320>mentioned <00:11:01.495>adjusting

189
00:11:04.465 --> 00:11:07.085
<00:11:04.465>to <00:11:04.698>new <00:11:04.931>technology <00:11:05.165>stacks <00:11:05.398>in <00:11:05.631>long <00:11:05.865>term.

190
00:11:07.745 --> 00:11:10.045
<00:11:07.745>In <00:11:07.945>short <00:11:08.145>term <00:11:08.345>this <00:11:08.545>does <00:11:08.745>not <00:11:08.945>make <00:11:09.145>sense

191
00:11:10.045 --> 00:11:12.765
<00:11:10.045>because <00:11:10.278>in <00:11:10.511>short <00:11:10.745>term <00:11:10.978>we <00:11:11.211>don't <00:11:11.444>want

192
00:11:12.765 --> 00:11:15.685
<00:11:12.765>to <00:11:12.998>have <00:11:13.231>a <00:11:13.465>Frankenstein <00:11:13.698>monster <00:11:13.931>that <00:11:14.165>consists

193
00:11:15.685 --> 00:11:17.925
<00:11:15.685>of <00:11:15.918>all <00:11:16.151>the <00:11:16.385>possible <00:11:16.618>frameworks <00:11:16.851>out <00:11:17.084>there

194
00:11:18.585 --> 00:11:21.445
<00:11:18.585>and <00:11:18.760>we <00:11:18.935>have <00:11:19.110>also <00:11:19.285>seen <00:11:19.460>it's <00:11:19.635>about <00:11:19.810>catching <00:11:19.985>up

195
00:11:21.445 --> 00:11:23.325
<00:11:21.445>with <00:11:22.145>changing <00:11:22.845>requirements.

196
00:11:23.505 --> 00:11:25.005
<00:11:23.505>But <00:11:23.955>first <00:11:24.405>and <00:11:24.855>foremost,

197
00:11:25.065 --> 00:11:27.885
<00:11:25.065>and <00:11:25.240>this <00:11:25.415>is <00:11:25.590>what <00:11:25.765>all <00:11:25.940>the <00:11:26.115>companies <00:11:26.290>told <00:11:26.465>me,

198
00:11:28.155 --> 00:11:31.445
<00:11:28.155>it's <00:11:28.355>about <00:11:28.555>scaling <00:11:28.755>your <00:11:28.954>deem, <00:11:29.155>scaling <00:11:29.355>your <00:11:29.555>development.

199
00:11:32.505 --> 00:11:34.875
<00:11:32.505>That <00:11:32.705>means <00:11:32.905>if <00:11:33.105>you <00:11:33.305>just <00:11:33.505>have <00:11:33.705>one <00:11:33.905>deem

200
00:11:35.855 --> 00:11:39.435
<00:11:35.855>you <00:11:35.995>might <00:11:36.135>not <00:11:36.275>really <00:11:36.415>uh, <00:11:36.555>reach <00:11:36.695>the <00:11:36.835>sweet <00:11:36.975>spot <00:11:37.115>of <00:11:37.255>this,

201
00:11:39.865 --> 00:11:41.195
<00:11:39.865>chances <00:11:40.264>are <00:11:40.663>quite <00:11:41.062>high.

202
00:11:43.115 --> 00:11:47.955
<00:11:43.115>I <00:11:43.290>also <00:11:43.465>asked <00:11:43.640>them <00:11:43.815>how <00:11:43.990>they <00:11:44.165>implemented <00:11:44.340>micro <00:11:44.515>performance

203
00:11:48.695 --> 00:11:52.395
<00:11:48.695>and <00:11:48.850>some <00:11:49.006>people <00:11:49.161>told <00:11:49.317>me, <00:11:49.472>well <00:11:49.628>we <00:11:49.783>are <00:11:49.939>using <00:11:50.095>iframes

204
00:11:52.465 --> 00:11:55.285
<00:11:52.465>because <00:11:52.698>we <00:11:52.931>have <00:11:53.165>to <00:11:53.398>integrate <00:11:53.631>legacy <00:11:53.865>stuff

205
00:11:55.545 --> 00:11:59.725
<00:11:55.545>and <00:11:55.685>we <00:11:55.824>are <00:11:55.964>using <00:11:56.104>this <00:11:56.245>approach <00:11:56.385>for <00:11:56.525>quite <00:11:56.665>a <00:11:56.805>long <00:11:56.944>time.

206
00:12:00.815 --> 00:12:02.085
<00:12:00.815>Other <00:12:01.386>people <00:12:01.958>went

207
00:12:02.155 --> 00:12:05.445
<00:12:02.155>with <00:12:02.355>a <00:12:02.555>more <00:12:02.755>modern <00:12:02.954>approach <00:12:03.155>like <00:12:03.355>web <00:12:03.555>components

208
00:12:06.185 --> 00:12:08.605
<00:12:06.185>and <00:12:06.464>other <00:12:06.744>people <00:12:07.025>just <00:12:07.305>used <00:12:07.584>hyperlinks

209
00:12:08.625 --> 00:12:12.925
<00:12:08.625>to <00:12:08.780>interlink <00:12:08.936>all <00:12:09.091>those <00:12:09.247>products <00:12:09.402>of <00:12:09.558>the <00:12:09.713>common <00:12:09.869>product <00:12:10.025>suite.

210
00:12:14.555 --> 00:12:17.215
<00:12:14.555>Of <00:12:14.788>course <00:12:15.021>all <00:12:15.255>of <00:12:15.488>this <00:12:15.721>works, <00:12:15.954>uh,

211
00:12:17.515 --> 00:12:21.855
<00:12:17.515>but <00:12:17.670>you <00:12:17.826>can <00:12:17.981>imagine <00:12:18.137>all <00:12:18.292>of <00:12:18.448>this <00:12:18.603>has <00:12:18.759>some <00:12:18.915>drawbacks.

212
00:12:23.575 --> 00:12:27.775
<00:12:23.575>I <00:12:23.750>also <00:12:23.925>ask <00:12:24.100>them <00:12:24.275>about <00:12:24.450>their <00:12:24.625>consequences <00:12:24.800>about <00:12:24.975>the

213
00:12:28.215 --> 00:12:32.015
<00:12:28.215>challenges <00:12:28.415>they <00:12:28.615>faced <00:12:28.815>and <00:12:29.015>almost <00:12:29.215>everyone <00:12:29.415>told <00:12:29.615>me

214
00:12:32.085 --> 00:12:34.695
<00:12:32.085>that <00:12:32.318>it <00:12:32.551>is <00:12:32.785>quite <00:12:33.018>difficult <00:12:33.251>to <00:12:33.485>create

215
00:12:34.795 --> 00:12:38.175
<00:12:34.795>and <00:12:34.969>own <00:12:35.145>meet <00:12:35.319>the <00:12:35.495>framework, <00:12:35.670>a <00:12:35.844>meet <00:12:36.020>the <00:12:36.194>framework

216
00:12:38.205 --> 00:12:41.175
<00:12:38.205>that <00:12:38.485>orchestrates <00:12:38.765>all <00:12:39.045>your <00:12:39.325>micro <00:12:39.605>fronts.

217
00:12:41.595 --> 00:12:43.615
<00:12:41.595>If <00:12:41.875>you <00:12:42.155>load <00:12:42.435>different <00:12:42.715>micro <00:12:42.995>front

218
00:12:44.285 --> 00:12:47.455
<00:12:44.285>into <00:12:44.518>a <00:12:44.751>browser <00:12:44.985>window <00:12:45.218>perhaps <00:12:45.451>with <00:12:45.685>iframes

219
00:12:47.475 --> 00:12:50.695
<00:12:47.475>or <00:12:47.650>with <00:12:47.825>web <00:12:48.000>components, <00:12:48.175>you <00:12:48.350>have <00:12:48.525>to <00:12:48.700>orchestrate <00:12:48.875>them.

220
00:12:51.645 --> 00:12:53.905
<00:12:51.645>You <00:12:51.819>have <00:12:51.995>to <00:12:52.170>find <00:12:52.345>out <00:12:52.520>when <00:12:52.694>to <00:12:52.870>load <00:12:53.045>them.

221
00:12:54.245 --> 00:12:57.305
<00:12:54.245>You <00:12:54.372>have <00:12:54.499>to <00:12:54.626>show <00:12:54.754>them <00:12:54.881>you <00:12:55.008>have <00:12:55.135>to <00:12:55.263>hide <00:12:55.390>them, <00:12:55.517>you <00:12:55.645>have

222
00:12:57.305 --> 00:12:58.425
<00:12:57.305>to <00:12:57.641>switch <00:12:57.977>between <00:12:58.313>them

223
00:12:59.435 --> 00:13:00.895
<00:12:59.435>and <00:12:59.697>yeah, <00:12:59.960>for <00:13:00.223>this <00:13:00.486>we <00:13:00.749>need

224
00:13:00.895 --> 00:13:03.335
<00:13:00.895>to <00:13:01.175>write <00:13:01.454>infrastructure <00:13:01.735>code <00:13:02.015>which <00:13:02.295>seems

225
00:13:03.335 --> 00:13:04.455
<00:13:03.335>to <00:13:03.587>be <00:13:03.839>quite <00:13:04.091>an <00:13:04.343>effort.

226
00:13:06.005 --> 00:13:07.895
<00:13:06.005>Another <00:13:06.705>consequence <00:13:07.405>was

227
00:13:08.285 --> 00:13:12.895
<00:13:08.285>that <00:13:08.459>sharing <00:13:08.635>code <00:13:08.810>at <00:13:08.985>run <00:13:09.160>D <00:13:09.334>is <00:13:09.510>somehow <00:13:09.685>difficult.

228
00:13:14.135 --> 00:13:17.995
<00:13:14.135>In <00:13:14.262>the <00:13:14.389>past <00:13:14.516>there <00:13:14.644>have <00:13:14.771>not <00:13:14.898>been <00:13:15.025>really <00:13:15.153>good <00:13:15.280>solutions <00:13:15.407>for <00:13:15.535>it

229
00:13:18.815 --> 00:13:22.275
<00:13:18.815>and <00:13:18.970>on <00:13:19.126>the <00:13:19.281>other <00:13:19.437>side <00:13:19.592>we <00:13:19.748>need <00:13:19.903>that <00:13:20.059>because <00:13:20.215>just

230
00:13:22.275 --> 00:13:25.915
<00:13:22.275>because <00:13:22.449>of <00:13:22.625>having <00:13:22.800>10 <00:13:22.975>micro <00:13:23.150>rundowns <00:13:23.324>does <00:13:23.500>not <00:13:23.675>mean

231
00:13:25.915 --> 00:13:29.155
<00:13:25.915>that <00:13:26.115>we <00:13:26.314>want <00:13:26.515>to <00:13:26.714>load <00:13:26.915>angular <00:13:27.115>react <00:13:27.314>view

232
00:13:29.295 --> 00:13:32.475
<00:13:29.295>or <00:13:29.469>something <00:13:29.645>else <00:13:29.819>10 <00:13:29.995>times <00:13:30.170>no, <00:13:30.344>we <00:13:30.520>just <00:13:30.694>want

233
00:13:32.475 --> 00:13:33.715
<00:13:32.475>to <00:13:32.754>load <00:13:33.033>it <00:13:33.312>one <00:13:33.591>dime

234
00:13:33.975 --> 00:13:36.595
<00:13:33.975>and <00:13:34.115>then <00:13:34.255>we <00:13:34.395>want <00:13:34.535>to <00:13:34.675>share <00:13:34.815>it <00:13:34.955>in <00:13:35.095>o <00:13:35.235>order <00:13:35.375>to

235
00:13:37.235 --> 00:13:38.795
<00:13:37.235>optimize <00:13:37.701>our <00:13:38.168>bundle <00:13:38.635>sizes.

236
00:13:40.655 --> 00:13:42.795
<00:13:40.655>And <00:13:40.935>another <00:13:41.214>consequence <00:13:41.495>the <00:13:41.775>phase <00:13:42.055>was

237
00:13:43.185 --> 00:13:47.355
<00:13:43.185>that <00:13:43.340>it <00:13:43.496>might <00:13:43.651>be <00:13:43.807>difficult <00:13:43.962>to <00:13:44.118>achieve <00:13:44.273>a <00:13:44.429>common <00:13:44.584>look

238
00:13:47.355 --> 00:13:51.115
<00:13:47.355>and <00:13:47.495>feel <00:13:47.635>when <00:13:47.775>it <00:13:47.915>comes <00:13:48.055>to <00:13:48.195>the <00:13:48.335>common <00:13:48.475>look <00:13:48.615>and <00:13:48.755>feel.

239
00:13:51.825 --> 00:13:55.955
<00:13:51.825>This <00:13:51.980>is <00:13:52.136>all <00:13:52.291>about <00:13:52.447>I <00:13:52.602>would <00:13:52.758>say <00:13:52.913>uh, <00:13:53.069>design <00:13:53.225>systems

240
00:13:56.665 --> 00:13:59.955
<00:13:56.665>component <00:13:56.839>libraries <00:13:57.015>and <00:13:57.189>this <00:13:57.365>is <00:13:57.540>out <00:13:57.714>of <00:13:57.890>scope <00:13:58.064>today.

241
00:14:00.365 --> 00:14:03.635
<00:14:00.365>Today <00:14:00.540>I <00:14:00.715>will <00:14:00.890>stick <00:14:01.065>with <00:14:01.240>the <00:14:01.415>other <00:14:01.590>two <00:14:01.765>options

242
00:14:03.745 --> 00:14:07.955
<00:14:03.745>with <00:14:03.945>the <00:14:04.145>more <00:14:04.345>technical <00:14:04.545>options, <00:14:04.745>namely <00:14:04.945>the <00:14:05.145>effort

243
00:14:08.055 --> 00:14:09.795
<00:14:08.055>for <00:14:08.334>creating <00:14:08.614>a <00:14:08.895>meet <00:14:09.175>of <00:14:09.454>framework

244
00:14:09.815 --> 00:14:14.715
<00:14:09.815>and <00:14:09.990>sharing <00:14:10.165>code <00:14:10.340>at <00:14:10.515>runtime, <00:14:10.690>sharing <00:14:10.865>code <00:14:11.040>without <00:14:11.215>hopefully

245
00:14:15.395 --> 00:14:17.115
<00:14:15.395>creating <00:14:16.095>version <00:14:16.795>mismatches.

246
00:14:18.275 --> 00:14:20.005
<00:14:18.275>Perhaps <00:14:18.508>we <00:14:18.741>can <00:14:18.975>keep <00:14:19.208>this <00:14:19.441>in <00:14:19.675>mind.

247
00:14:20.445 --> 00:14:24.525
<00:14:20.445>I <00:14:20.585>will <00:14:20.725>come <00:14:20.865>back <00:14:21.005>to <00:14:21.145>those <00:14:21.285>two <00:14:21.425>aspects <00:14:21.565>in <00:14:21.705>some <00:14:21.845>minutes.

248
00:14:26.395 --> 00:14:28.365
<00:14:26.395>Okay, <00:14:26.745>so <00:14:27.095>much <00:14:27.444>about <00:14:27.795>divide.

249
00:14:28.745 --> 00:14:32.085
<00:14:28.745>As <00:14:28.900>we <00:14:29.056>have <00:14:29.211>seen <00:14:29.367>most <00:14:29.522>people <00:14:29.678>decide <00:14:29.833>for <00:14:29.989>micro <00:14:30.145>front

250
00:14:32.145 --> 00:14:35.685
<00:14:32.145>and <00:14:32.300>to <00:14:32.456>scale <00:14:32.611>because <00:14:32.767>they <00:14:32.922>have <00:14:33.078>such <00:14:33.233>a <00:14:33.389>huge <00:14:33.545>team

251
00:14:35.825 --> 00:14:37.085
<00:14:35.825>or <00:14:36.108>such <00:14:36.392>a <00:14:36.675>huge <00:14:36.959>product.

252
00:14:38.295 --> 00:14:40.275
<00:14:38.295>Now <00:14:38.528>let's <00:14:38.761>uh, <00:14:38.995>proceed <00:14:39.228>with <00:14:39.461>the <00:14:39.694>how.

253
00:14:40.815 --> 00:14:44.995
<00:14:40.815>How <00:14:41.015>can <00:14:41.215>we <00:14:41.415>implement <00:14:41.615>micro <00:14:41.815>front <00:14:42.015>and <00:14:42.215>nowadays

254
00:14:45.335 --> 00:14:49.235
<00:14:45.335>and <00:14:45.510>we <00:14:45.685>have <00:14:45.860>already <00:14:46.035>seen <00:14:46.210>several <00:14:46.385>options <00:14:46.560>like <00:14:46.735>iframes

255
00:14:49.235 --> 00:14:51.565
<00:14:49.235>and <00:14:49.515>web <00:14:49.795>components <00:14:50.075>here <00:14:50.355>I <00:14:50.635>want

256
00:14:51.565 --> 00:14:53.765
<00:14:51.565>to <00:14:51.798>present <00:14:52.031>you <00:14:52.265>quite <00:14:52.498>a <00:14:52.731>new <00:14:52.965>option

257
00:14:54.585 --> 00:14:58.965
<00:14:54.585>and <00:14:54.712>as <00:14:54.839>mentioned <00:14:54.966>if <00:14:55.094>you <00:14:55.221>ask <00:14:55.348>me, <00:14:55.475>this <00:14:55.603>is <00:14:55.730>the <00:14:55.857>only <00:14:55.985>really

258
00:14:59.485 --> 00:15:02.045
<00:14:59.485>straightforward <00:14:59.835>option <00:15:00.185>we <00:15:00.535>have <00:15:00.885>today.

259
00:15:02.515 --> 00:15:04.445
<00:15:02.515>It's <00:15:02.981>called <00:15:03.448>module <00:15:03.915>federation

260
00:15:04.825 --> 00:15:09.355
<00:15:04.825>and <00:15:04.965>it <00:15:05.105>ships <00:15:05.245>with <00:15:05.385>webpac, <00:15:05.525>it <00:15:05.665>was <00:15:05.805>shipped <00:15:05.945>with <00:15:06.085>Webpac <00:15:06.225>five.

261
00:15:09.535 --> 00:15:13.075
<00:15:09.535>You <00:15:09.735>know <00:15:09.935>Webpac <00:15:10.135>five <00:15:10.334>was <00:15:10.535>released <00:15:10.735>last <00:15:10.935>October.

262
00:15:13.815 --> 00:15:18.755
<00:15:13.815>And <00:15:13.942>because <00:15:14.069>a <00:15:14.196>lot <00:15:14.324>of <00:15:14.451>people <00:15:14.578>are <00:15:14.705>using <00:15:14.833>Webpac <00:15:14.960>also <00:15:15.087>a <00:15:15.215>lot

263
00:15:18.755 --> 00:15:21.955
<00:15:18.755>of <00:15:19.035>people <00:15:19.314>immediately <00:15:19.595>had <00:15:19.875>Maal <00:15:20.155>federation.

264
00:15:22.455 --> 00:15:26.795
<00:15:22.455>So <00:15:22.582>this <00:15:22.709>is <00:15:22.836>a <00:15:22.964>product <00:15:23.091>that <00:15:23.218>is <00:15:23.345>really <00:15:23.473>out <00:15:23.600>there <00:15:23.727>in <00:15:23.855>divide.

265
00:15:29.425 --> 00:15:32.315
<00:15:29.425>Basically <00:15:29.891>module <00:15:30.358>federation <00:15:30.824>tries

266
00:15:32.455 --> 00:15:34.035
<00:15:32.455>to <00:15:32.805>allow <00:15:33.155>something <00:15:33.505>like <00:15:33.855>this.

267
00:15:34.545 --> 00:15:36.155
<00:15:34.545>Basically <00:15:35.011>it <00:15:35.478>allows <00:15:35.944>you

268
00:15:36.175 --> 00:15:39.955
<00:15:36.175>to <00:15:36.408>load <00:15:36.641>something <00:15:36.875>from <00:15:37.108>a <00:15:37.341>different <00:15:37.574>origin.

269
00:15:40.775 --> 00:15:44.675
<00:15:40.775>It <00:15:40.949>allows <00:15:41.125>you <00:15:41.300>to <00:15:41.475>load <00:15:41.650>a <00:15:41.824>separately <00:15:42.000>compiled <00:15:42.175>application

270
00:15:44.775 --> 00:15:47.075
<00:15:44.775>as <00:15:45.241>separately <00:15:45.708>deployed <00:15:46.175>application.

271
00:15:47.785 --> 00:15:51.755
<00:15:47.785>However, <00:15:48.018>just <00:15:48.251>using <00:15:48.485>aerodynamic <00:15:48.718>inboard <00:15:48.951>is <00:15:49.185>not

272
00:15:51.755 --> 00:15:53.845
<00:15:51.755>enough <00:15:52.455>in <00:15:53.155>theory.

273
00:15:54.155 --> 00:15:57.495
<00:15:54.155>This <00:15:54.505>works <00:15:54.855>perfectly <00:15:55.204>in <00:15:55.555>practice.

274
00:15:58.125 --> 00:16:00.855
<00:15:58.125>This <00:15:58.358>does <00:15:58.591>not <00:15:58.825>work <00:15:59.058>at <00:15:59.291>all <00:15:59.525>nowadays

275
00:16:01.005 --> 00:16:04.615
<00:16:01.005>because <00:16:01.205>of <00:16:01.405>how <00:16:01.605>all <00:16:01.805>the <00:16:02.005>modern <00:16:02.205>bundlers <00:16:02.405>work,

276
00:16:05.835 --> 00:16:07.975
<00:16:05.835>all <00:16:06.185>those <00:16:06.535>bundler <00:16:06.885>like <00:16:07.235>backpack

277
00:16:08.115 --> 00:16:11.975
<00:16:08.115>and <00:16:08.290>hence <00:16:08.465>the <00:16:08.640>angle <00:16:08.815>of <00:16:08.990>CLI <00:16:09.165>using <00:16:09.340>backpack, <00:16:09.515>assume

278
00:16:12.405 --> 00:16:15.335
<00:16:12.405>that <00:16:12.638>everything <00:16:12.871>is <00:16:13.105>known <00:16:13.338>at <00:16:13.571>compile <00:16:13.805>on

279
00:16:16.785 --> 00:16:20.755
<00:16:16.785>even <00:16:16.925>the <00:16:17.064>lazy <00:16:17.204>parts <00:16:17.344>need <00:16:17.485>to <00:16:17.625>be <00:16:17.765>known <00:16:17.905>at <00:16:18.045>compiled <00:16:18.185>on

280
00:16:20.945 --> 00:16:23.555
<00:16:20.945>because <00:16:21.295>everything <00:16:21.645>is <00:16:21.995>compiled <00:16:22.345>together.

281
00:16:24.465 --> 00:16:28.815
<00:16:24.465>Everything <00:16:24.665>is <00:16:24.865>optimized <00:16:25.065>together. <00:16:25.265>Think <00:16:25.465>on <00:16:25.665>tree <00:16:25.865>shaking.

282
00:16:29.515 --> 00:16:32.855
<00:16:29.515>So <00:16:29.642>this <00:16:29.769>is <00:16:29.896>all <00:16:30.024>about <00:16:30.151>squeezing <00:16:30.278>the <00:16:30.405>last <00:16:30.533>bite <00:16:30.660>out <00:16:30.787>of <00:16:30.915>it

283
00:16:33.275 --> 00:16:36.495
<00:16:33.275>and <00:16:33.430>then <00:16:33.586>and <00:16:33.741>only <00:16:33.897>then <00:16:34.052>everything <00:16:34.208>is <00:16:34.363>cut <00:16:34.519>into <00:16:34.675>pieces,

284
00:16:37.075 --> 00:16:39.135
<00:16:37.075>cut <00:16:37.355>into <00:16:37.635>chunks <00:16:37.915>for <00:16:38.195>lazy <00:16:38.475>loading.

285
00:16:40.235 --> 00:16:42.415
<00:16:40.235>But <00:16:40.435>for <00:16:40.635>our <00:16:40.835>purpose <00:16:41.035>this <00:16:41.235>is <00:16:41.435>to <00:16:41.635>lead

286
00:16:42.765 --> 00:16:47.295
<00:16:42.765>because <00:16:42.905>if <00:16:43.045>we <00:16:43.185>go <00:16:43.324>with <00:16:43.465>micro <00:16:43.605>front <00:16:43.745>ends, <00:16:43.885>we <00:16:44.025>don't <00:16:44.165>want

287
00:16:47.475 --> 00:16:51.445
<00:16:47.475>to <00:16:47.708>know <00:16:47.941>everything <00:16:48.175>upfront, <00:16:48.408>we <00:16:48.641>just <00:16:48.875>want

288
00:16:51.445 --> 00:16:54.405
<00:16:51.445>to <00:16:51.645>know <00:16:51.845>the <00:16:52.045>micro <00:16:52.245>front <00:16:52.445>ends <00:16:52.645>at <00:16:52.845>runtime,

289
00:16:54.795 --> 00:16:57.085
<00:16:54.795>then <00:16:55.074>we <00:16:55.354>load <00:16:55.635>them <00:16:55.915>on <00:16:56.194>demand

290
00:16:57.835 --> 00:17:00.895
<00:16:57.835>and <00:16:58.068>to <00:16:58.301>solve <00:16:58.535>this <00:16:58.768>issue, <00:16:59.001>module <00:16:59.235>federation

291
00:17:01.505 --> 00:17:02.735
<00:17:01.505>introduces <00:17:02.058>two <00:17:02.612>roles.

292
00:17:03.875 --> 00:17:05.815
<00:17:03.875>The <00:17:04.108>first <00:17:04.341>role <00:17:04.575>is <00:17:04.808>called <00:17:05.041>the <00:17:05.275>host.

293
00:17:06.435 --> 00:17:08.455
<00:17:06.435>In <00:17:06.635>our <00:17:06.835>case <00:17:07.034>this <00:17:07.234>is <00:17:07.435>the <00:17:07.635>micro <00:17:07.835>front

294
00:17:08.515 --> 00:17:11.775
<00:17:08.515>and <00:17:08.690>shell, <00:17:08.865>the <00:17:09.040>other <00:17:09.215>role <00:17:09.390>is <00:17:09.565>called <00:17:09.740>the <00:17:09.915>remote.

295
00:17:12.115 --> 00:17:13.975
<00:17:12.115>In <00:17:12.348>our <00:17:12.581>case <00:17:12.815>it's <00:17:13.048>the <00:17:13.281>micro <00:17:13.515>front

296
00:17:15.235 --> 00:17:18.615
<00:17:15.234>and <00:17:15.390>both <00:17:15.546>can <00:17:15.701>be <00:17:15.857>configured <00:17:16.012>with <00:17:16.168>your <00:17:16.323>web <00:17:16.479>back <00:17:16.635>configuration.

297
00:17:19.275 --> 00:17:23.975
<00:17:19.275>If <00:17:19.415>you <00:17:19.555>look <00:17:19.695>into <00:17:19.835>your <00:17:19.975>shell, <00:17:20.115>you <00:17:20.255>can <00:17:20.395>define <00:17:20.535>your <00:17:20.675>remotes,

298
00:17:24.515 --> 00:17:29.455
<00:17:24.515>you <00:17:24.655>can <00:17:24.795>define <00:17:24.935>URLs <00:17:25.075>like <00:17:25.215>MF <00:17:25.355>E <00:17:25.495>one <00:17:25.635>pointing <00:17:25.775>to <00:17:25.915>this

299
00:17:29.555 --> 00:17:30.815
<00:17:29.555>or <00:17:29.933>that <00:17:30.311>micro <00:17:30.689>front.

300
00:17:31.835 --> 00:17:36.095
<00:17:31.835>And <00:17:31.962>here <00:17:32.089>I'm <00:17:32.216>saying <00:17:32.344>well <00:17:32.471>my <00:17:32.598>URL <00:17:32.725>MF <00:17:32.853>E <00:17:32.980>one <00:17:33.107>is <00:17:33.235>pointing

301
00:17:36.115 --> 00:17:40.175
<00:17:36.115>to <00:17:36.255>something <00:17:36.395>that <00:17:36.535>is <00:17:36.675>also <00:17:36.815>called <00:17:36.955>MF <00:17:37.095>E <00:17:37.235>one <00:17:37.375>over <00:17:37.515>there.

302
00:17:41.165 --> 00:17:43.695
<00:17:41.165>That <00:17:41.365>means <00:17:41.565>here <00:17:41.764>it <00:17:41.965>could <00:17:42.165>define <00:17:42.365>an <00:17:42.565>alliance

303
00:17:43.915 --> 00:17:45.975
<00:17:43.915>or <00:17:44.195>like <00:17:44.475>here <00:17:44.754>a <00:17:45.034>non <00:17:45.315>alliance

304
00:17:47.825 --> 00:17:51.245
<00:17:47.825>over <00:17:47.965>there <00:17:48.105>in <00:17:48.245>the <00:17:48.385>micro <00:17:48.525>front <00:17:48.665>end <00:17:48.805>we <00:17:48.945>can <00:17:49.085>expose <00:17:49.225>files.

305
00:17:52.105 --> 00:17:54.765
<00:17:52.105>We <00:17:52.305>can <00:17:52.505>say <00:17:52.705>well <00:17:52.905>let's <00:17:53.105>expose <00:17:53.305>this <00:17:53.505>on

306
00:17:54.765 --> 00:17:56.765
<00:17:54.765>that <00:17:55.115>file <00:17:55.465>for <00:17:55.815>the <00:17:56.165>shell.

307
00:17:57.615 --> 00:17:59.955
<00:17:57.615>In <00:17:57.848>my <00:17:58.081>case <00:17:58.315>I'm <00:17:58.548>exposing <00:17:58.781>a <00:17:59.015>component

308
00:18:00.255 --> 00:18:02.955
<00:18:00.255>but <00:18:00.455>it <00:18:00.655>could <00:18:00.855>also <00:18:01.055>be <00:18:01.255>an <00:18:01.455>angular <00:18:01.655>module

309
00:18:03.535 --> 00:18:07.875
<00:18:03.535>or <00:18:03.690>just <00:18:03.846>a <00:18:04.001>file <00:18:04.157>with <00:18:04.312>a <00:18:04.468>function <00:18:04.623>does <00:18:04.779>not <00:18:04.935>matter.

310
00:18:08.175 --> 00:18:09.675
<00:18:08.175>It <00:18:08.512>can <00:18:08.850>be <00:18:09.187>really <00:18:09.524>everything.

311
00:18:11.465 --> 00:18:14.675
<00:18:11.465>Then <00:18:11.665>exposing <00:18:11.865>a <00:18:12.064>file, <00:18:12.264>we <00:18:12.465>give <00:18:12.665>it <00:18:12.865>a

312
00:18:15.765 --> 00:18:17.675
<00:18:15.765>short <00:18:16.115>name, <00:18:16.465>a <00:18:16.815>beautiful <00:18:17.165>name

313
00:18:17.675 --> 00:18:21.075
<00:18:17.675>because <00:18:17.850>the <00:18:18.024>shell <00:18:18.200>is <00:18:18.375>not <00:18:18.550>interested <00:18:18.725>into <00:18:18.899>your <00:18:19.075>file

314
00:18:21.355 --> 00:18:23.115
<00:18:21.355>structure, <00:18:21.705>into <00:18:22.055>your <00:18:22.405>folder <00:18:22.755>structure

315
00:18:24.175 --> 00:18:26.315
<00:18:24.175>and <00:18:24.524>then <00:18:24.875>something <00:18:25.225>beautiful <00:18:25.575>happens.

316
00:18:27.415 --> 00:18:29.495
<00:18:27.415>I <00:18:27.648>guarantee <00:18:27.881>you <00:18:28.115>you <00:18:28.348>will <00:18:28.581>love <00:18:28.815>it.

317
00:18:30.005 --> 00:18:34.495
<00:18:30.005>Then <00:18:30.145>all <00:18:30.285>you <00:18:30.425>need <00:18:30.565>to <00:18:30.705>do <00:18:30.845>is <00:18:30.985>using <00:18:31.125>a <00:18:31.265>dynamic <00:18:31.405>import.

318
00:18:34.975 --> 00:18:37.575
<00:18:34.975>A <00:18:35.208>dynamic <00:18:35.441>import <00:18:35.675>using <00:18:35.908>the <00:18:36.141>map <00:18:36.375>names

319
00:18:37.715 --> 00:18:39.495
<00:18:37.715>and <00:18:37.948>so <00:18:38.181>you <00:18:38.415>can <00:18:38.648>point <00:18:38.881>over <00:18:39.115>there

320
00:18:39.715 --> 00:18:41.615
<00:18:39.715>to <00:18:39.995>grab <00:18:40.274>something <00:18:40.554>from <00:18:40.834>over <00:18:41.115>there.

321
00:18:41.675 --> 00:18:43.495
<00:18:41.675>In <00:18:41.955>this <00:18:42.235>case <00:18:42.514>this <00:18:42.794>very <00:18:43.075>component

322
00:18:44.625 --> 00:18:47.765
<00:18:44.625>and <00:18:44.800>the <00:18:44.975>best <00:18:45.150>of <00:18:45.325>this <00:18:45.500>is <00:18:45.675>that <00:18:45.850>your <00:18:46.025>framework,

323
00:18:48.565 --> 00:18:49.685
<00:18:48.565>angular <00:18:49.069>react <00:18:49.572>view

324
00:18:49.785 --> 00:18:53.485
<00:18:49.785>or <00:18:50.018>something <00:18:50.251>else <00:18:50.485>does <00:18:50.718>not <00:18:50.951>even <00:18:51.185>recognize

325
00:18:53.835 --> 00:18:56.605
<00:18:53.835>that <00:18:54.035>we <00:18:54.235>are <00:18:54.435>dealing <00:18:54.635>with <00:18:54.835>micro <00:18:55.035>round <00:18:55.235>here.

326
00:18:57.065 --> 00:18:59.005
<00:18:57.065>It <00:18:57.415>does <00:18:57.765>not <00:18:58.115>even <00:18:58.465>recognize

327
00:19:00.385 --> 00:19:04.495
<00:19:00.385>everything <00:19:00.618>it <00:19:00.851>recognizes <00:19:01.085>is <00:19:01.318>doing <00:19:01.551>lazy <00:19:01.785>loading.

328
00:19:05.265 --> 00:19:08.835
<00:19:05.265>That <00:19:05.440>means <00:19:05.615>we <00:19:05.790>are <00:19:05.965>using <00:19:06.140>our <00:19:06.315>framework <00:19:06.490>as <00:19:06.665>always.

329
00:19:09.775 --> 00:19:13.435
<00:19:09.775>We <00:19:09.950>don't <00:19:10.125>need <00:19:10.300>any <00:19:10.475>special <00:19:10.650>solutions <00:19:10.825>for <00:19:11.000>our <00:19:11.175>framework,

330
00:19:13.535 --> 00:19:15.195
<00:19:13.535>we <00:19:13.815>just <00:19:14.095>use <00:19:14.375>it <00:19:14.655>as <00:19:14.935>always.

331
00:19:15.655 --> 00:19:16.955
<00:19:15.655>And <00:19:16.045>underneath <00:19:16.435>the <00:19:16.824>covers

332
00:19:17.715 --> 00:19:20.705
<00:19:17.715>backpack <00:19:17.948>is <00:19:18.181>doing <00:19:18.415>the <00:19:18.648>heavy <00:19:18.881>lifting <00:19:19.115>backpack.

333
00:19:20.895 --> 00:19:23.505
<00:19:20.895>Make <00:19:21.128>sure <00:19:21.361>that <00:19:21.595>we <00:19:21.828>can <00:19:22.061>load <00:19:22.295>something

334
00:19:23.695 --> 00:19:26.345
<00:19:23.695>that <00:19:24.044>was <00:19:24.395>separately <00:19:24.745>deployed <00:19:25.095>separately

335
00:19:26.705 --> 00:19:28.025
<00:19:26.705>combined <00:19:27.101>from <00:19:27.497>over <00:19:27.893>there.

336
00:19:29.905 --> 00:19:30.995
<00:19:29.905>This <00:19:30.232>is <00:19:30.559>quite <00:19:30.886>cool

337
00:19:31.345 --> 00:19:35.355
<00:19:31.345>because <00:19:31.520>if <00:19:31.695>you <00:19:31.870>think <00:19:32.045>back, <00:19:32.220>most <00:19:32.395>people <00:19:32.570>told <00:19:32.745>me

338
00:19:35.585 --> 00:19:38.555
<00:19:35.585>that <00:19:35.865>creating <00:19:36.145>a <00:19:36.425>meter <00:19:36.705>framework <00:19:36.985>for

339
00:19:39.115 --> 00:19:42.635
<00:19:39.115>orchestrating <00:19:39.290>all <00:19:39.465>the <00:19:39.640>micro <00:19:39.815>run <00:19:39.990>is <00:19:40.165>quite <00:19:40.340>a <00:19:40.515>burden.

340
00:19:43.335 --> 00:19:45.555
<00:19:43.335>But <00:19:43.535>here <00:19:43.735>we <00:19:43.935>don't <00:19:44.135>need <00:19:44.335>a <00:19:44.535>meter <00:19:44.735>framework.

341
00:19:45.625 --> 00:19:48.275
<00:19:45.625>Just <00:19:45.800>go <00:19:45.975>with <00:19:46.150>lazy <00:19:46.325>loading <00:19:46.500>and <00:19:46.675>you <00:19:46.850>are <00:19:47.025>fine.

342
00:19:48.415 --> 00:19:51.355
<00:19:48.415>So <00:19:48.648>we <00:19:48.881>can <00:19:49.115>check <00:19:49.348>this <00:19:49.581>one <00:19:49.815>aspect.

343
00:19:54.065 --> 00:19:57.565
<00:19:54.065>Of <00:19:54.205>course <00:19:54.345>we <00:19:54.485>need <00:19:54.625>some <00:19:54.765>meta <00:19:54.905>data <00:19:55.045>of <00:19:55.185>our <00:19:55.325>micro <00:19:55.465>fondants

344
00:19:58.145 --> 00:20:01.885
<00:19:58.145>and <00:19:58.320>this <00:19:58.495>meet <00:19:58.670>the <00:19:58.845>data <00:19:59.020>is <00:19:59.195>generated <00:19:59.370>by <00:19:59.545>Webpac

345
00:20:02.395 --> 00:20:05.245
<00:20:02.395>when <00:20:02.675>building <00:20:02.955>the <00:20:03.235>uh, <00:20:03.514>micro <00:20:03.795>front

346
00:20:05.305 --> 00:20:09.925
<00:20:05.305>and <00:20:05.445>Webpac <00:20:05.585>puts <00:20:05.725>the <00:20:05.865>meter <00:20:06.005>data <00:20:06.145>into <00:20:06.285>a <00:20:06.425>so-called <00:20:06.565>remote <00:20:06.705>entry

347
00:20:11.375 --> 00:20:14.755
<00:20:11.375>and <00:20:11.515>this <00:20:11.655>remote <00:20:11.795>entry <00:20:11.935>in <00:20:12.075>production <00:20:12.215>mode, <00:20:12.355>it <00:20:12.495>has <00:20:12.635>only <00:20:12.775>two

348
00:20:14.755 --> 00:20:18.795
<00:20:14.755>or <00:20:14.895>three <00:20:15.035>K <00:20:15.175>needs <00:20:15.315>to <00:20:15.455>be <00:20:15.595>loaded <00:20:15.735>somehow <00:20:15.875>into <00:20:16.015>the <00:20:16.155>shell

349
00:20:20.155 --> 00:20:23.735
<00:20:20.155>and <00:20:20.295>so <00:20:20.435>the <00:20:20.575>shell <00:20:20.715>knows <00:20:20.855>where <00:20:20.995>to <00:20:21.135>find <00:20:21.274>the <00:20:21.415>micro <00:20:21.555>front

350
00:20:23.875 --> 00:20:27.215
<00:20:23.875>and <00:20:24.030>how <00:20:24.186>to <00:20:24.341>load <00:20:24.497>it, <00:20:24.652>how <00:20:24.808>to <00:20:24.963>communicate <00:20:25.119>with <00:20:25.275>it

351
00:20:27.555 --> 00:20:29.695
<00:20:27.555>and <00:20:27.788>how <00:20:28.021>to <00:20:28.255>share <00:20:28.488>libraries <00:20:28.721>with <00:20:28.955>it.

352
00:20:31.385 --> 00:20:35.565
<00:20:31.385>You <00:20:31.525>can <00:20:31.665>load <00:20:31.805>it <00:20:31.945>rather <00:20:32.085>statically <00:20:32.225>like <00:20:32.365>here <00:20:32.504>you <00:20:32.645>can <00:20:32.785>also

353
00:20:35.635 --> 00:20:39.925
<00:20:35.635>load <00:20:35.810>it <00:20:35.985>dynamically <00:20:36.160>uh, <00:20:36.335>with <00:20:36.510>uh <00:20:36.685>dynamic <00:20:36.860>script <00:20:37.035>load.

354
00:20:42.165 --> 00:20:44.865
<00:20:42.165>And <00:20:42.320>one <00:20:42.476>of <00:20:42.631>the <00:20:42.787>best <00:20:42.942>features <00:20:43.098>here <00:20:43.253>is <00:20:43.409>you <00:20:43.565>can

355
00:20:44.885 --> 00:20:46.465
<00:20:44.885>easily <00:20:45.585>share <00:20:46.285>libraries.

356
00:20:46.695 --> 00:20:50.045
<00:20:46.695>Perhaps <00:20:46.850>you'll <00:20:47.006>say <00:20:47.161>well <00:20:47.317>on <00:20:47.472>this <00:20:47.628>side <00:20:47.783>we <00:20:47.939>need <00:20:48.095>angular

357
00:20:50.045 --> 00:20:51.485
<00:20:50.045>core <00:20:50.693>react <00:20:51.341>view.

358
00:20:51.905 --> 00:20:55.045
<00:20:51.905>On <00:20:52.080>that <00:20:52.254>side <00:20:52.430>we <00:20:52.605>need <00:20:52.780>angular <00:20:52.955>core <00:20:53.129>reactor <00:20:53.305>view,

359
00:20:55.785 --> 00:20:57.285
<00:20:55.785>so <00:20:56.122>why <00:20:56.460>not <00:20:56.797>share <00:20:57.135>it?

360
00:20:57.895 --> 00:21:00.125
<00:20:57.895>Let's <00:20:58.175>not <00:20:58.455>load <00:20:58.735>it <00:20:59.014>several <00:20:59.295>times.

361
00:21:00.395 --> 00:21:04.005
<00:21:00.395>That <00:21:00.535>would <00:21:00.675>be <00:21:00.815>an <00:21:00.955>overkill <00:21:01.095>if <00:21:01.235>we <00:21:01.375>have <00:21:01.514>10 <00:21:01.655>micro <00:21:01.795>fronts.

362
00:21:04.305 --> 00:21:07.165
<00:21:04.305>We <00:21:04.480>don't <00:21:04.655>want <00:21:04.830>to <00:21:05.005>load <00:21:05.180>this <00:21:05.355>here <00:21:05.530>10 <00:21:05.705>times.

363
00:21:07.865 --> 00:21:11.045
<00:21:07.865>If <00:21:08.040>we <00:21:08.215>have <00:21:08.390>20 <00:21:08.565>micro <00:21:08.740>fronts, <00:21:08.915>we <00:21:09.090>don't <00:21:09.265>want

364
00:21:11.045 --> 00:21:15.085
<00:21:11.045>to <00:21:11.161>load <00:21:11.278>it <00:21:11.395>20 <00:21:11.511>times, <00:21:11.628>no, <00:21:11.745>we <00:21:11.861>just <00:21:11.978>want <00:21:12.095>to <00:21:12.211>load <00:21:12.328>it <00:21:12.445>once

365
00:21:15.385 --> 00:21:17.645
<00:21:15.385>and <00:21:15.585>then <00:21:15.785>we <00:21:15.985>want <00:21:16.185>to <00:21:16.385>share <00:21:16.585>it <00:21:16.785>across

366
00:21:18.225 --> 00:21:20.725
<00:21:18.225>all <00:21:18.574>the <00:21:18.925>different <00:21:19.274>micro <00:21:19.625>fronts.

367
00:21:21.345 --> 00:21:25.245
<00:21:21.345>And <00:21:21.472>if <00:21:21.599>you <00:21:21.726>think <00:21:21.854>back, <00:21:21.981>this <00:21:22.108>was <00:21:22.235>the <00:21:22.363>second <00:21:22.490>point, <00:21:22.617>a <00:21:22.745>lot

368
00:21:25.245 --> 00:21:26.845
<00:21:25.245>of <00:21:25.594>my <00:21:25.945>customers <00:21:26.294>told <00:21:26.645>me

369
00:21:26.915 --> 00:21:30.365
<00:21:26.915>that <00:21:27.148>sharing <00:21:27.381>source <00:21:27.615>code <00:21:27.848>is <00:21:28.081>quite <00:21:28.315>difficult.

370
00:21:31.555 --> 00:21:32.855
<00:21:31.555>Now <00:21:31.945>it <00:21:32.335>isn't <00:21:32.725>anymore

371
00:21:32.855 --> 00:21:36.775
<00:21:32.855>because <00:21:32.995>with <00:21:33.135>web <00:21:33.275>back <00:21:33.415>it <00:21:33.555>is <00:21:33.695>just <00:21:33.835>a <00:21:33.975>matter <00:21:34.115>of <00:21:34.255>configuration.

372
00:21:38.165 --> 00:21:42.145
<00:21:38.165>Of <00:21:38.340>course <00:21:38.514>when <00:21:38.690>sharing <00:21:38.865>libraries <00:21:39.040>you <00:21:39.215>can <00:21:39.389>end <00:21:39.565>up

373
00:21:42.145 --> 00:21:43.705
<00:21:42.145>with <00:21:42.845>version <00:21:43.545>conflicts.

374
00:21:44.135 --> 00:21:46.905
<00:21:44.135>Perhaps <00:21:44.368>the <00:21:44.601>shadow <00:21:44.835>needs <00:21:45.068>angle <00:21:45.301>at <00:21:45.535>10.

375
00:21:47.245 --> 00:21:49.665
<00:21:47.245>The <00:21:47.445>micro <00:21:47.645>front <00:21:47.844>then <00:21:48.044>needs <00:21:48.245>angle <00:21:48.445>at <00:21:48.645>12.

376
00:21:50.825 --> 00:21:55.285
<00:21:50.825>But <00:21:51.000>also <00:21:51.175>for <00:21:51.350>this <00:21:51.525>module <00:21:51.700>federation <00:21:51.875>has <00:21:52.050>several <00:21:52.225>strategies.

377
00:21:55.575 --> 00:21:59.005
<00:21:55.575>There <00:21:55.750>are <00:21:55.925>several <00:21:56.100>strategies <00:21:56.275>baked <00:21:56.450>into <00:21:56.625>it <00:21:56.800>for <00:21:56.975>dealing

378
00:21:59.035 --> 00:22:00.885
<00:21:59.035>with <00:21:59.735>version <00:22:00.435>mismatches.

379
00:22:01.145 --> 00:22:04.525
<00:22:01.145>So <00:22:01.378>this <00:22:01.611>technology <00:22:01.845>really <00:22:02.078>gets <00:22:02.311>you <00:22:02.545>covered.

380
00:22:07.815 --> 00:22:09.595
<00:22:07.815>So <00:22:08.095>how <00:22:08.375>to <00:22:08.655>use <00:22:08.935>this <00:22:09.215>now?

381
00:22:10.305 --> 00:22:12.635
<00:22:10.305>Well <00:22:10.538>if <00:22:10.771>you <00:22:11.005>are <00:22:11.238>going <00:22:11.471>with <00:22:11.705>React

382
00:22:12.655 --> 00:22:14.835
<00:22:12.655>or <00:22:13.004>few, <00:22:13.355>everything <00:22:13.705>you <00:22:14.055>need

383
00:22:14.835 --> 00:22:19.775
<00:22:14.835>to <00:22:14.975>do <00:22:15.115>is <00:22:15.255>adjust <00:22:15.395>your <00:22:15.535>web <00:22:15.675>pack <00:22:15.815>config <00:22:15.955>module <00:22:16.095>federation <00:22:16.235>ships

384
00:22:19.925 --> 00:22:24.015
<00:22:19.925>with <00:22:20.100>web <00:22:20.274>pack <00:22:20.450>in <00:22:20.625>the <00:22:20.800>form <00:22:20.975>of <00:22:21.149>a <00:22:21.325>plugin.

385
00:22:24.645 --> 00:22:27.655
<00:22:24.645>Just <00:22:24.845>use <00:22:25.045>this <00:22:25.245>plugin <00:22:25.445>in <00:22:25.645>your <00:22:25.845>confi <00:22:26.045>start

386
00:22:27.875 --> 00:22:30.135
<00:22:27.875>and <00:22:28.155>build <00:22:28.435>your <00:22:28.715>project <00:22:28.995>and <00:22:29.275>UFI.

387
00:22:31.155 --> 00:22:33.925
<00:22:31.155>However, <00:22:31.388>if <00:22:31.621>you <00:22:31.855>are <00:22:32.088>going <00:22:32.321>with <00:22:32.555>Ola,

388
00:22:33.925 --> 00:22:35.365
<00:22:33.925>you <00:22:34.249>need <00:22:34.572>one <00:22:34.897>further <00:22:35.221>step

389
00:22:35.675 --> 00:22:40.085
<00:22:35.675>because <00:22:35.908>you <00:22:36.141>know <00:22:36.375>OLA <00:22:36.608>is <00:22:36.841>abstracting <00:22:37.075>backpack

390
00:22:40.265 --> 00:22:42.765
<00:22:40.265>and <00:22:40.498>Angular <00:22:40.731>is <00:22:40.965>shielding <00:22:41.198>backpack <00:22:41.431>from <00:22:41.665>us

391
00:22:43.745 --> 00:22:44.815
<00:22:43.745>underneath <00:22:44.226>the <00:22:44.708>covers.

392
00:22:45.315 --> 00:22:47.895
<00:22:45.315>The <00:22:45.548>Angular <00:22:45.781>CLI <00:22:46.015>is <00:22:46.248>using <00:22:46.481>web <00:22:46.715>pack

393
00:22:48.035 --> 00:22:52.625
<00:22:48.035>but <00:22:48.175>we <00:22:48.315>cannot <00:22:48.455>directly <00:22:48.595>get <00:22:48.735>in <00:22:48.875>touch <00:22:49.015>with <00:22:49.155>it <00:22:49.295>And <00:22:49.435>most

394
00:22:52.645 --> 00:22:54.785
<00:22:52.645>of <00:22:52.820>the <00:22:52.995>times <00:22:53.170>this <00:22:53.345>is <00:22:53.520>quite <00:22:53.695>a <00:22:53.870>good <00:22:54.045>idea

395
00:22:55.135 --> 00:22:58.585
<00:22:55.135>because <00:22:55.310>the <00:22:55.485>CLI <00:22:55.660>is <00:22:55.835>really <00:22:56.010>doing <00:22:56.185>a <00:22:56.360>good <00:22:56.535>job

396
00:22:58.705 --> 00:23:02.785
<00:22:58.705>with <00:22:58.879>generating <00:22:59.054>a <00:22:59.230>very, <00:22:59.405>very <00:22:59.580>smart <00:22:59.754>web <00:22:59.929>pack <00:23:00.105>configuration.

397
00:23:03.215 --> 00:23:04.545
<00:23:03.215>It's <00:23:03.813>really <00:23:04.412>optimized

398
00:23:04.605 --> 00:23:07.225
<00:23:04.605>and <00:23:04.805>it <00:23:05.005>gets <00:23:05.205>better <00:23:05.405>from <00:23:05.605>version <00:23:05.805>to <00:23:06.005>version.

399
00:23:07.925 --> 00:23:09.865
<00:23:07.925>But <00:23:08.080>now <00:23:08.236>we <00:23:08.391>want <00:23:08.547>to <00:23:08.702>get <00:23:08.858>in <00:23:09.013>touch <00:23:09.169>with <00:23:09.325>it

400
00:23:10.415 --> 00:23:13.425
<00:23:10.415>because <00:23:10.648>we <00:23:10.881>need <00:23:11.115>to <00:23:11.348>configure <00:23:11.581>module <00:23:11.815>federation

401
00:23:14.045 --> 00:23:16.465
<00:23:14.045>and <00:23:14.200>that's <00:23:14.356>why <00:23:14.511>you <00:23:14.667>need <00:23:14.822>to <00:23:14.978>go <00:23:15.133>with <00:23:15.289>a <00:23:15.445>plugin.

402
00:23:17.835 --> 00:23:19.295
<00:23:17.835>You <00:23:18.163>can <00:23:18.492>use <00:23:18.820>my <00:23:19.149>plugin,

403
00:23:19.365 --> 00:23:22.175
<00:23:19.365>it's <00:23:19.645>called <00:23:19.925>Angle <00:23:20.205>Architects <00:23:20.485>Module <00:23:20.765>Federation,

404
00:23:22.685 --> 00:23:25.975
<00:23:22.685>just <00:23:22.885>an <00:23:23.085>G <00:23:23.284>edit <00:23:23.485>and <00:23:23.685>you <00:23:23.885>are <00:23:24.085>fine.

405
00:23:26.755 --> 00:23:30.135
<00:23:26.755>Now <00:23:26.930>you <00:23:27.105>get <00:23:27.280>a <00:23:27.455>so-called <00:23:27.630>builder <00:23:27.805>that <00:23:27.980>allows <00:23:28.155>you

406
00:23:30.135 --> 00:23:33.255
<00:23:30.135>to <00:23:30.368>extend <00:23:30.601>the <00:23:30.835>web <00:23:31.068>back <00:23:31.301>configuration <00:23:31.535>your

407
00:23:34.335 --> 00:23:35.655
<00:23:34.335>CLI <00:23:34.929>is <00:23:35.523>generating.

408
00:23:37.485 --> 00:23:41.475
<00:23:37.485>After <00:23:37.685>that <00:23:37.885>you <00:23:38.084>can <00:23:38.284>adjust <00:23:38.485>the <00:23:38.685>generated <00:23:38.885>configuration.

409
00:23:42.105 --> 00:23:45.725
<00:23:42.105>This <00:23:42.305>plugin <00:23:42.505>gives <00:23:42.705>you <00:23:42.905>a <00:23:43.105>web <00:23:43.305>back <00:23:43.505>configuration.

410
00:23:45.825 --> 00:23:48.765
<00:23:45.825>You <00:23:45.980>can <00:23:46.136>adjust, <00:23:46.291>you <00:23:46.447>just <00:23:46.602>need <00:23:46.758>to <00:23:46.913>fill <00:23:47.069>in <00:23:47.225>placeholders

411
00:23:49.265 --> 00:23:52.205
<00:23:49.265>and <00:23:49.498>then <00:23:49.731>start <00:23:49.965>or <00:23:50.198>build <00:23:50.431>your <00:23:50.665>application

412
00:23:52.265 --> 00:23:54.325
<00:23:52.265>and <00:23:52.615>everything <00:23:52.965>should <00:23:53.315>be <00:23:53.665>fine.

413
00:23:57.255 --> 00:23:59.305
<00:23:57.255>Okay, <00:23:57.488>so <00:23:57.721>I <00:23:57.955>would <00:23:58.188>say <00:23:58.421>another <00:23:58.655>theory,

414
00:23:59.675 --> 00:24:01.465
<00:23:59.675>let's <00:23:59.908>have <00:24:00.141>a <00:24:00.375>look <00:24:00.608>at <00:24:00.841>an <00:24:01.075>example.

415
00:24:02.225 --> 00:24:06.825
<00:24:02.225>I <00:24:02.365>always <00:24:02.504>say <00:24:02.645>module <00:24:02.784>federation <00:24:02.925>is <00:24:03.064>a <00:24:03.205>lot <00:24:03.344>like <00:24:03.485>the <00:24:03.625>1980s.

416
00:24:08.115 --> 00:24:09.695
<00:24:08.115>You <00:24:08.465>need <00:24:08.815>to <00:24:09.165>experience <00:24:09.515>them

417
00:24:09.965 --> 00:24:12.615
<00:24:09.965>otherwise <00:24:10.165>you <00:24:10.365>don't <00:24:10.564>know <00:24:10.764>what <00:24:10.965>they <00:24:11.165>are <00:24:11.365>about.

418
00:24:12.795 --> 00:24:16.975
<00:24:12.795>So <00:24:13.028>let's <00:24:13.261>do <00:24:13.495>it. <00:24:13.728>We <00:24:13.961>demonstrate <00:24:14.195>this.

419
00:24:17.165 --> 00:24:18.975
<00:24:17.165>I've <00:24:17.514>brought <00:24:17.865>a <00:24:18.215>sample <00:24:18.565>application.

420
00:24:19.875 --> 00:24:22.615
<00:24:19.875>The <00:24:20.108>sample <00:24:20.341>application <00:24:20.575>consists <00:24:20.808>of <00:24:21.041>a <00:24:21.275>shell.

421
00:24:22.725 --> 00:24:26.175
<00:24:22.725>This <00:24:22.880>here <00:24:23.036>is <00:24:23.191>Michelle <00:24:23.347>and <00:24:23.502>here <00:24:23.658>I <00:24:23.813>have <00:24:23.969>my <00:24:24.125>microphone.

422
00:24:27.205 --> 00:24:30.065
<00:24:27.205>And <00:24:27.360>when <00:24:27.516>I'm <00:24:27.671>clicking <00:24:27.827>here <00:24:27.982>to <00:24:28.138>flight <00:24:28.293>then <00:24:28.449>we <00:24:28.605>see

423
00:24:31.055 --> 00:24:32.825
<00:24:31.055>that <00:24:31.335>we <00:24:31.615>don't <00:24:31.895>see <00:24:32.175>a <00:24:32.455>thing

424
00:24:32.975 --> 00:24:35.745
<00:24:32.975>because <00:24:33.254>this <00:24:33.534>hasn't <00:24:33.814>been <00:24:34.094>implemented <00:24:34.375>yet.

425
00:24:35.935 --> 00:24:38.785
<00:24:35.935>This <00:24:36.090>is <00:24:36.246>now <00:24:36.401>my <00:24:36.557>job <00:24:36.712>in <00:24:36.868>this <00:24:37.023>live <00:24:37.179>coding <00:24:37.335>exercise,

426
00:24:39.005 --> 00:24:41.105
<00:24:39.005>in <00:24:39.355>this <00:24:39.705>live <00:24:40.055>coding <00:24:40.405>demonstration

427
00:24:41.525 --> 00:24:43.625
<00:24:41.525>to <00:24:41.875>implement <00:24:42.225>micro <00:24:42.575>front <00:24:42.925>end

428
00:24:43.765 --> 00:24:46.665
<00:24:43.765>to <00:24:44.045>implement <00:24:44.325>module <00:24:44.605>federation <00:24:44.885>in <00:24:45.165>order

429
00:24:46.845 --> 00:24:50.865
<00:24:46.845>to <00:24:47.000>load <00:24:47.156>this <00:24:47.311>micro <00:24:47.467>front <00:24:47.622>end <00:24:47.778>into <00:24:47.933>this <00:24:48.089>very <00:24:48.245>route.

430
00:24:53.085 --> 00:24:57.865
<00:24:53.085>And <00:24:53.201>as <00:24:53.318>I'm <00:24:53.435>an <00:24:53.551>angular <00:24:53.668>guy, <00:24:53.785>I <00:24:53.901>need <00:24:54.018>to <00:24:54.135>install <00:24:54.251>this <00:24:54.368>plug <00:24:54.485>in

431
00:24:57.935 --> 00:25:02.485
<00:24:57.935>with <00:24:58.090>seen <00:24:58.246>before <00:24:58.401>to <00:24:58.557>make <00:24:58.712>it <00:24:58.868>a <00:24:59.023>bit <00:24:59.179>more <00:24:59.335>clean.

432
00:25:02.725 --> 00:25:04.445
<00:25:02.725>I <00:25:03.004>have <00:25:03.284>prepared <00:25:03.564>two <00:25:03.844>depths <00:25:04.125>here.

433
00:25:04.545 --> 00:25:06.365
<00:25:04.545>The <00:25:04.778>first <00:25:05.011>step <00:25:05.245>is <00:25:05.478>for <00:25:05.711>my <00:25:05.945>shell.

434
00:25:06.865 --> 00:25:09.765
<00:25:06.865>The <00:25:07.020>second <00:25:07.176>step <00:25:07.331>is <00:25:07.487>for <00:25:07.642>my <00:25:07.798>micro <00:25:07.953>front <00:25:08.109>and <00:25:08.265>one.

435
00:25:11.535 --> 00:25:14.275
<00:25:11.535>So <00:25:11.768>let's <00:25:12.001>add <00:25:12.235>everything <00:25:12.468>for <00:25:12.701>my <00:25:12.935>shell

436
00:25:14.615 --> 00:25:19.115
<00:25:14.615>and <00:25:14.848>she <00:25:15.081>add <00:25:15.315>ular <00:25:15.548>a <00:25:15.781>deck <00:25:16.015>module

437
00:25:19.685 --> 00:25:24.265
<00:25:19.685>federation <00:25:20.034>Library <00:25:20.385>is <00:25:20.735>downloaded <00:25:21.085>now

438
00:25:25.165 --> 00:25:29.225
<00:25:25.165>and <00:25:25.340>after <00:25:25.514>downloading <00:25:25.690>it <00:25:25.865>I'm <00:25:26.040>getting <00:25:26.215>two <00:25:26.389>questions, <00:25:26.565>namely,

439
00:25:29.395 --> 00:25:34.225
<00:25:29.395>which <00:25:29.550>project <00:25:29.706>in <00:25:29.861>this <00:25:30.017>folder <00:25:30.172>in <00:25:30.328>this <00:25:30.483>workspace <00:25:30.639>do <00:25:30.795>you

440
00:25:34.225 --> 00:25:36.665
<00:25:34.225>want <00:25:34.504>to <00:25:34.784>enable <00:25:35.064>for <00:25:35.344>module <00:25:35.625>federation?

441
00:25:37.735 --> 00:25:40.795
<00:25:37.735>And <00:25:37.890>I <00:25:38.046>say <00:25:38.201>here, <00:25:38.357>well <00:25:38.512>let's <00:25:38.668>go <00:25:38.823>with <00:25:38.979>the <00:25:39.135>shell

442
00:25:41.495 --> 00:25:43.315
<00:25:41.495>and <00:25:41.844>let's <00:25:42.195>use <00:25:42.544>board <00:25:42.895>5,000.

443
00:25:44.135 --> 00:25:46.715
<00:25:44.135>And <00:25:44.335>now <00:25:44.535>my <00:25:44.735>web <00:25:44.935>back <00:25:45.135>config <00:25:45.335>is <00:25:45.535>generated.

444
00:25:47.795 --> 00:25:50.355
<00:25:47.795>Honestly <00:25:47.995>it's <00:25:48.195>just <00:25:48.395>a <00:25:48.595>partial <00:25:48.795>web <00:25:48.995>back <00:25:49.195>config.

445
00:25:50.775 --> 00:25:52.995
<00:25:50.775>It <00:25:50.975>has <00:25:51.175>just <00:25:51.375>one <00:25:51.575>or <00:25:51.775>two <00:25:51.975>screen <00:25:52.175>pages.

446
00:25:53.535 --> 00:25:56.835
<00:25:53.535>The <00:25:53.710>rest <00:25:53.885>is <00:25:54.060>still <00:25:54.235>generated <00:25:54.410>by <00:25:54.585>the <00:25:54.760>Angular <00:25:54.935>CLI,

447
00:25:57.125 --> 00:26:00.235
<00:25:57.125>which <00:25:57.265>really <00:25:57.405>does <00:25:57.545>a <00:25:57.685>good <00:25:57.825>chop <00:25:57.965>when <00:25:58.105>it <00:25:58.245>comes <00:25:58.385>to <00:25:58.525>this.

448
00:26:01.705 --> 00:26:05.235
<00:26:01.705>Also <00:26:01.905>I <00:26:02.105>get <00:26:02.304>a <00:26:02.504>so-called <00:26:02.705>builder <00:26:02.905>registered <00:26:03.105>that

449
00:26:05.835 --> 00:26:08.475
<00:26:05.835>activates <00:26:06.115>module <00:26:06.395>federation <00:26:06.675>underneath <00:26:06.955>the <00:26:07.235>covers.

450
00:26:09.495 --> 00:26:12.355
<00:26:09.495>So <00:26:09.650>let's <00:26:09.806>do <00:26:09.961>the <00:26:10.117>same <00:26:10.272>for <00:26:10.428>a <00:26:10.583>micro <00:26:10.739>front <00:26:10.895>end

451
00:26:15.815 --> 00:26:17.355
<00:26:15.815>and <00:26:16.277>Anci <00:26:16.739>adding <00:26:17.201>it

452
00:26:19.135 --> 00:26:21.675
<00:26:19.135>please <00:26:19.368>enable <00:26:19.601>my <00:26:19.835>broad <00:26:20.068>check <00:26:20.301>MFE <00:26:20.535>one

453
00:26:21.695 --> 00:26:23.515
<00:26:21.695>and <00:26:21.975>let's <00:26:22.254>go <00:26:22.534>with <00:26:22.814>what <00:26:23.095>3000.

454
00:26:23.535 --> 00:26:28.055
<00:26:23.535>And <00:26:23.710>obviously <00:26:23.885>the <00:26:24.060>same <00:26:24.235>things <00:26:24.410>happen <00:26:24.585>if <00:26:24.760>you <00:26:24.935>go

455
00:26:28.055 --> 00:26:29.255
<00:26:28.055>with <00:26:28.415>React <00:26:28.775>or <00:26:29.135>View

456
00:26:29.315 --> 00:26:31.735
<00:26:29.315>or <00:26:29.515>something <00:26:29.715>else, <00:26:29.915>you <00:26:30.115>can <00:26:30.315>skip <00:26:30.515>this <00:26:30.715>part.

457
00:26:32.635 --> 00:26:34.655
<00:26:32.635>If <00:26:32.985>you <00:26:33.335>go <00:26:33.685>with <00:26:34.035>react

458
00:26:34.655 --> 00:26:36.815
<00:26:34.655>or <00:26:34.935>view, <00:26:35.215>you <00:26:35.495>can <00:26:35.774>immediately <00:26:36.055>jump

459
00:26:36.875 --> 00:26:39.415
<00:26:36.875>to <00:26:37.108>the <00:26:37.341>second <00:26:37.575>step <00:26:37.808>I <00:26:38.041>am <00:26:38.275>performing.

460
00:26:39.475 --> 00:26:43.685
<00:26:39.475>Now <00:26:39.630>the <00:26:39.786>second <00:26:39.941>step <00:26:40.097>is <00:26:40.252>adjusting <00:26:40.408>your <00:26:40.563>web <00:26:40.719>bag <00:26:40.875>configuration.

461
00:26:44.795 --> 00:26:46.685
<00:26:44.795>Well <00:26:45.145>let's <00:26:45.495>close <00:26:45.845>everything <00:26:46.195>here

462
00:26:48.145 --> 00:26:50.285
<00:26:48.145>And <00:26:48.345>let's <00:26:48.545>have <00:26:48.745>a <00:26:48.945>look <00:26:49.145>to <00:26:49.345>this <00:26:49.545>project.

463
00:26:51.265 --> 00:26:54.805
<00:26:51.265>In <00:26:51.420>this <00:26:51.576>very <00:26:51.731>case <00:26:51.887>I'm <00:26:52.042>going <00:26:52.198>with <00:26:52.353>a <00:26:52.509>so-called <00:26:52.665>monorepo.

464
00:26:55.195 --> 00:26:58.565
<00:26:55.195>That <00:26:55.335>means <00:26:55.475>I <00:26:55.615>have <00:26:55.754>both <00:26:55.895>the <00:26:56.034>shell <00:26:56.175>and <00:26:56.314>the <00:26:56.455>micro <00:26:56.595>round.

465
00:26:58.625 --> 00:27:03.485
<00:26:58.625>And <00:26:58.780>in <00:26:58.936>here <00:26:59.091>in <00:26:59.247>one <00:26:59.402>repository <00:26:59.558>this <00:26:59.713>is <00:26:59.869>an <00:27:00.025>option

466
00:27:04.145 --> 00:27:06.045
<00:27:04.145>but <00:27:04.425>this <00:27:04.705>is <00:27:04.985>not <00:27:05.264>the <00:27:05.545>prerequisite.

467
00:27:06.505 --> 00:27:10.085
<00:27:06.505>You <00:27:06.660>can <00:27:06.816>totally <00:27:06.971>go <00:27:07.127>with <00:27:07.282>a <00:27:07.438>lot <00:27:07.593>of <00:27:07.749>different <00:27:07.905>repositories.

468
00:27:11.115 --> 00:27:14.405
<00:27:11.115>Both <00:27:11.348>is <00:27:11.581>possible, <00:27:11.815>both <00:27:12.048>has <00:27:12.281>different <00:27:12.515>consequences.

469
00:27:15.425 --> 00:27:16.965
<00:27:15.425>For <00:27:15.771>the <00:27:16.118>sake <00:27:16.464>of <00:27:16.811>demonstration,

470
00:27:17.165 --> 00:27:21.565
<00:27:17.165>I <00:27:17.340>have <00:27:17.514>grouped <00:27:17.690>everything <00:27:17.865>here <00:27:18.040>in <00:27:18.215>this <00:27:18.389>big <00:27:18.565>ripple.

471
00:27:22.645 --> 00:27:26.985
<00:27:22.645>And <00:27:22.800>if <00:27:22.956>we <00:27:23.111>look <00:27:23.267>into <00:27:23.422>the <00:27:23.578>micro <00:27:23.733>fondant, <00:27:23.889>we <00:27:24.045>see

472
00:27:27.135 --> 00:27:30.785
<00:27:27.135>that <00:27:27.335>we've <00:27:27.535>got <00:27:27.735>this <00:27:27.935>web <00:27:28.135>bag <00:27:28.335>configuration <00:27:28.535>generated

473
00:27:31.645 --> 00:27:32.705
<00:27:31.645>and <00:27:31.963>as <00:27:32.281>mentioned <00:27:32.599>before,

474
00:27:33.045 --> 00:27:35.385
<00:27:33.045>it <00:27:33.245>is <00:27:33.445>just <00:27:33.645>a <00:27:33.845>partial <00:27:34.045>web <00:27:34.245>bag <00:27:34.445>configuration.

475
00:27:35.845 --> 00:27:40.345
<00:27:35.845>It <00:27:36.000>only <00:27:36.156>consists <00:27:36.311>the <00:27:36.467>parts <00:27:36.622>we <00:27:36.778>need <00:27:36.933>for <00:27:37.089>module <00:27:37.245>federation.

476
00:27:41.925 --> 00:27:43.305
<00:27:41.925>The <00:27:42.339>most <00:27:42.753>important <00:27:43.167>part

477
00:27:43.305 --> 00:27:46.065
<00:27:43.305>of <00:27:43.538>this <00:27:43.771>is <00:27:44.005>the <00:27:44.238>module <00:27:44.471>federation <00:27:44.705>plugin.

478
00:27:46.685 --> 00:27:50.345
<00:27:46.685>We <00:27:46.840>need <00:27:46.996>to <00:27:47.151>configure <00:27:47.307>it <00:27:47.462>here. <00:27:47.618>We <00:27:47.773>have <00:27:47.929>two <00:27:48.085>sections.

479
00:27:51.365 --> 00:27:53.745
<00:27:51.365>The <00:27:51.645>first <00:27:51.925>section <00:27:52.205>is <00:27:52.485>for <00:27:52.765>remotes

480
00:27:53.805 --> 00:27:56.385
<00:27:53.805>or <00:27:54.005>to <00:27:54.205>say <00:27:54.405>the <00:27:54.605>least <00:27:54.805>for <00:27:55.005>micro <00:27:55.205>front.

481
00:27:57.805 --> 00:27:59.665
<00:27:57.805>Second <00:27:58.155>section <00:27:58.505>is <00:27:58.855>for <00:27:59.205>hosts

482
00:27:59.765 --> 00:28:02.505
<00:27:59.765>or <00:27:59.965>to <00:28:00.165>say <00:28:00.365>the <00:28:00.565>least <00:28:00.765>for <00:28:00.965>our <00:28:01.165>shell.

483
00:28:03.685 --> 00:28:07.385
<00:28:03.685>As <00:28:03.840>we <00:28:03.996>are <00:28:04.151>do <00:28:04.307>talking <00:28:04.462>here <00:28:04.618>about <00:28:04.773>the <00:28:04.929>micro <00:28:05.085>fondant,

484
00:28:08.245 --> 00:28:10.465
<00:28:08.245>we <00:28:08.445>will <00:28:08.645>go <00:28:08.844>with <00:28:09.044>the <00:28:09.245>first <00:28:09.445>section <00:28:09.645>obviously.

485
00:28:12.135 --> 00:28:16.315
<00:28:12.135>So <00:28:12.368>let's <00:28:12.601>un <00:28:12.835>this, <00:28:13.068>let's <00:28:13.301>skip <00:28:13.535>that.

486
00:28:18.305 --> 00:28:21.235
<00:28:18.305>What <00:28:18.460>do <00:28:18.616>we <00:28:18.771>do <00:28:18.927>here? <00:28:19.082>Well, <00:28:19.238>we <00:28:19.393>define <00:28:19.549>a <00:28:19.705>name

487
00:28:21.375 --> 00:28:22.795
<00:28:21.375>for <00:28:21.694>this <00:28:22.014>micro <00:28:22.333>front <00:28:22.653>end.

488
00:28:22.935 --> 00:28:24.395
<00:28:22.935>I'm <00:28:23.263>calling <00:28:23.591>it <00:28:23.920>MFE <00:28:24.249>one.

489
00:28:25.305 --> 00:28:28.805
<00:28:25.305>We <00:28:25.460>are <00:28:25.616>defining <00:28:25.771>the <00:28:25.927>name <00:28:26.082>for <00:28:26.238>the <00:28:26.393>remote <00:28:26.549>entry <00:28:26.705>point,

490
00:28:29.495 --> 00:28:32.925
<00:28:29.495>which <00:28:29.650>is <00:28:29.806>the <00:28:29.961>file <00:28:30.117>that <00:28:30.272>holds <00:28:30.428>all <00:28:30.583>the <00:28:30.739>meta <00:28:30.895>data

491
00:28:35.045 --> 00:28:37.055
<00:28:35.045>Meet <00:28:35.511>for <00:28:35.978>the <00:28:36.445>shell.

492
00:28:37.485 --> 00:28:40.895
<00:28:37.485>This <00:28:37.601>needs <00:28:37.718>to <00:28:37.834>be <00:28:37.951>loaded <00:28:38.068>by <00:28:38.185>the <00:28:38.301>shell <00:28:38.418>so <00:28:38.534>that <00:28:38.651>the <00:28:38.768>shell <00:28:38.885>knows

493
00:28:40.915 --> 00:28:42.655
<00:28:40.915>how <00:28:41.264>to <00:28:41.615>interact <00:28:41.965>with <00:28:42.315>it.

494
00:28:43.795 --> 00:28:47.705
<00:28:43.795>And <00:28:43.950>here <00:28:44.106>we <00:28:44.261>can <00:28:44.417>expose <00:28:44.572>files, <00:28:44.728>files <00:28:44.883>for <00:28:45.039>the <00:28:45.195>shell.

495
00:28:47.865 --> 00:28:50.945
<00:28:47.865>I <00:28:48.040>want <00:28:48.215>to <00:28:48.390>expose <00:28:48.565>something <00:28:48.740>under <00:28:48.915>the <00:28:49.090>name <00:28:49.265>module

496
00:28:51.565 --> 00:28:52.865
<00:28:51.565>and <00:28:51.955>this <00:28:52.345>is <00:28:52.735>my

497
00:28:53.415 --> 00:28:56.805
<00:28:53.415>flights <00:28:54.815>module.

498
00:28:58.315 --> 00:29:02.585
<00:28:58.315>If <00:28:58.515>we <00:28:58.715>look <00:28:58.915>into <00:28:59.115>the <00:28:59.315>flights <00:28:59.515>module <00:28:59.715>here,

499
00:29:03.455 --> 00:29:07.265
<00:29:03.455>it's <00:29:03.610>just <00:29:03.766>an <00:29:03.921>ordinary <00:29:04.077>angle, <00:29:04.232>a <00:29:04.388>module <00:29:04.543>with <00:29:04.699>sub <00:29:04.855>routes.

500
00:29:08.375 --> 00:29:12.545
<00:29:08.375>That <00:29:08.575>means <00:29:08.775>when <00:29:08.975>lazy <00:29:09.175>loading <00:29:09.375>this <00:29:09.575>module <00:29:09.775>perhaps

501
00:29:13.365 --> 00:29:17.145
<00:29:13.365>via <00:29:13.565>module <00:29:13.765>federation, <00:29:13.965>then <00:29:14.165>we <00:29:14.365>can <00:29:14.565>directly <00:29:14.765>jump

502
00:29:17.245 --> 00:29:18.705
<00:29:17.245>to <00:29:17.507>this <00:29:17.770>or <00:29:18.033>that <00:29:18.296>sub <00:29:18.559>route.

503
00:29:22.095 --> 00:29:25.025
<00:29:22.095>Yeah. <00:29:22.235>And <00:29:22.375>here <00:29:22.515>I'm <00:29:22.655>just <00:29:22.795>defining <00:29:22.935>what <00:29:23.075>I <00:29:23.215>want <00:29:23.355>to <00:29:23.495>share.

504
00:29:25.305 --> 00:29:28.505
<00:29:25.305>I <00:29:25.460>want <00:29:25.616>to <00:29:25.771>share <00:29:25.927>angular <00:29:26.082>core, <00:29:26.238>common <00:29:26.393>and <00:29:26.549>other <00:29:26.705>stuff.

505
00:29:29.665 --> 00:29:32.405
<00:29:29.665>And <00:29:29.820>by <00:29:29.976>the <00:29:30.131>way, <00:29:30.287>with <00:29:30.442>this <00:29:30.598>object, <00:29:30.753>you <00:29:30.909>can <00:29:31.065>define

506
00:29:33.065 --> 00:29:36.805
<00:29:33.065>how <00:29:33.265>module <00:29:33.465>federation <00:29:33.665>shall <00:29:33.865>behave <00:29:34.065>in <00:29:34.265>the <00:29:34.465>case

507
00:29:36.825 --> 00:29:38.245
<00:29:36.825>of <00:29:37.464>abortion <00:29:38.102>mismatch.

508
00:29:38.345 --> 00:29:41.685
<00:29:38.345>In <00:29:38.520>the <00:29:38.695>case <00:29:38.870>of <00:29:39.045>abortion <00:29:39.220>conflict, <00:29:39.395>if <00:29:39.570>let's <00:29:39.745>say

509
00:29:42.465 --> 00:29:45.605
<00:29:42.465>one <00:29:42.698>micro <00:29:42.931>front <00:29:43.165>and <00:29:43.398>uses <00:29:43.631>Angola <00:29:43.865>11

510
00:29:45.985 --> 00:29:48.925
<00:29:45.985>and <00:29:46.218>the <00:29:46.451>other <00:29:46.685>one <00:29:46.918>uses <00:29:47.151>Angola <00:29:47.385>valve,

511
00:29:48.975 --> 00:29:50.325
<00:29:48.975>there <00:29:49.379>are <00:29:49.785>several <00:29:50.190>options.

512
00:29:51.965 --> 00:29:54.815
<00:29:51.965>Okay, <00:29:52.092>this <00:29:52.219>is <00:29:52.346>everything <00:29:52.474>we <00:29:52.601>need <00:29:52.728>to <00:29:52.855>do <00:29:52.983>for <00:29:53.110>the <00:29:53.237>micro <00:29:53.365>front.

513
00:29:54.835 --> 00:29:57.655
<00:29:54.835>And <00:29:55.035>how <00:29:55.235>cool <00:29:55.435>is <00:29:55.635>that? <00:29:55.835>Our <00:29:56.035>micro <00:29:56.235>front

514
00:29:57.795 --> 00:30:02.535
<00:29:57.795>and <00:29:57.970>is <00:29:58.145>really <00:29:58.320>a <00:29:58.495>traditional <00:29:58.670>application <00:29:58.845>written <00:29:59.020>as <00:29:59.195>always

515
00:30:02.645 --> 00:30:04.215
<00:30:02.645>with <00:30:02.995>your <00:30:03.345>framework <00:30:03.695>of <00:30:04.045>choice

516
00:30:04.835 --> 00:30:07.855
<00:30:04.835>and <00:30:05.115>it <00:30:05.395>gets <00:30:05.675>this <00:30:05.955>backpack <00:30:06.235>configuration.

517
00:30:07.905 --> 00:30:11.215
<00:30:07.905>First <00:30:08.138>and <00:30:08.371>foremost, <00:30:08.605>this <00:30:08.838>module <00:30:09.071>federation <00:30:09.305>plugin.

518
00:30:12.675 --> 00:30:15.695
<00:30:12.675>Now <00:30:12.875>let's <00:30:13.075>do <00:30:13.274>the <00:30:13.475>same <00:30:13.675>with <00:30:13.875>our <00:30:14.075>shell.

519
00:30:17.465 --> 00:30:18.935
<00:30:17.465>Let's <00:30:17.795>move <00:30:18.126>to <00:30:18.457>the <00:30:18.788>shell.

520
00:30:20.315 --> 00:30:24.255
<00:30:20.315>And <00:30:20.431>here <00:30:20.548>we <00:30:20.665>should <00:30:20.781>also <00:30:20.898>find <00:30:21.015>a <00:30:21.131>web <00:30:21.248>back <00:30:21.365>config. <00:30:21.481>Here <00:30:21.598>it <00:30:21.715>is.

521
00:30:25.115 --> 00:30:26.695
<00:30:25.115>And <00:30:25.348>here <00:30:25.581>we <00:30:25.815>have <00:30:26.048>the <00:30:26.281>same <00:30:26.515>stuff.

522
00:30:26.835 --> 00:30:29.135
<00:30:26.835>We <00:30:27.035>have <00:30:27.235>the <00:30:27.435>first <00:30:27.635>section <00:30:27.835>for <00:30:28.035>the <00:30:28.235>remotes.

523
00:30:29.905 --> 00:30:31.015
<00:30:29.905>Let's <00:30:30.238>skip <00:30:30.571>this <00:30:30.904>now

524
00:30:31.015 --> 00:30:34.575
<00:30:31.015>because <00:30:31.155>now <00:30:31.295>we <00:30:31.435>are <00:30:31.575>going <00:30:31.715>for <00:30:31.855>the <00:30:31.995>host <00:30:32.135>for <00:30:32.275>the <00:30:32.415>shell.

525
00:30:36.245 --> 00:30:40.655
<00:30:36.245>Yeah. <00:30:36.419>And <00:30:36.594>here <00:30:36.770>I <00:30:36.945>can <00:30:37.120>map <00:30:37.294>URLs <00:30:37.469>to <00:30:37.645>something

526
00:30:40.655 --> 00:30:43.655
<00:30:40.655>that <00:30:40.888>has <00:30:41.121>been <00:30:41.355>separately <00:30:41.588>compiled <00:30:41.821>and <00:30:42.055>deployed.

527
00:30:44.395 --> 00:30:47.695
<00:30:44.395>I'm <00:30:44.535>telling <00:30:44.675>it <00:30:44.815>well <00:30:44.955>over <00:30:45.095>there. <00:30:45.235>It's <00:30:45.375>also <00:30:45.514>called <00:30:45.655>MV <00:30:45.795>one.

528
00:30:48.275 --> 00:30:51.615
<00:30:48.275>And <00:30:48.415>by <00:30:48.555>the <00:30:48.695>way <00:30:48.835>you <00:30:48.975>can <00:30:49.115>find <00:30:49.255>the <00:30:49.395>remote <00:30:49.535>entry <00:30:49.675>point

529
00:30:51.905 --> 00:30:53.415
<00:30:51.905>using <00:30:52.584>this <00:30:53.264>UL.

530
00:30:54.795 --> 00:30:56.815
<00:30:54.795>Of <00:30:55.075>course <00:30:55.355>this <00:30:55.635>is <00:30:55.915>quite <00:30:56.195>hardcoded.

531
00:30:57.405 --> 00:31:00.055
<00:30:57.405>This <00:30:57.638>is <00:30:57.871>what <00:30:58.105>I'm <00:30:58.338>calling <00:30:58.571>static <00:30:58.805>federation.

532
00:31:01.795 --> 00:31:03.615
<00:31:01.795>We <00:31:02.075>will <00:31:02.355>talk <00:31:02.635>about <00:31:02.915>a <00:31:03.195>dynamic

533
00:31:04.175 --> 00:31:08.055
<00:31:04.175>approach <00:31:04.330>a <00:31:04.486>bit <00:31:04.641>later <00:31:04.797>about <00:31:04.952>dynamic <00:31:05.108>federation <00:31:05.263>that <00:31:05.419>allows <00:31:05.575>us

534
00:31:08.075 --> 00:31:11.415
<00:31:08.075>to <00:31:08.308>define <00:31:08.541>all <00:31:08.775>those <00:31:09.008>information <00:31:09.241>at <00:31:09.475>run.

535
00:31:13.795 --> 00:31:17.535
<00:31:13.795>And <00:31:13.970>one <00:31:14.145>more <00:31:14.320>time, <00:31:14.495>I'm <00:31:14.670>sharing <00:31:14.845>several <00:31:15.020>things <00:31:15.195>here.

536
00:31:20.505 --> 00:31:23.795
<00:31:20.505>Also, <00:31:20.705>we <00:31:20.905>need <00:31:21.105>to <00:31:21.305>have <00:31:21.505>a <00:31:21.705>dynamic <00:31:21.905>route

537
00:31:24.095 --> 00:31:26.075
<00:31:24.095>for <00:31:24.445>our <00:31:24.795>micro <00:31:25.145>front <00:31:25.495>end.

538
00:31:26.585 --> 00:31:27.995
<00:31:26.585>I've <00:31:26.902>already <00:31:27.219>prepared <00:31:27.536>it <00:31:27.853>here.

539
00:31:28.905 --> 00:31:31.835
<00:31:28.905>This <00:31:29.105>is <00:31:29.305>how <00:31:29.504>lazy <00:31:29.705>loading <00:31:29.905>works <00:31:30.105>in <00:31:30.305>angular.

540
00:31:32.865 --> 00:31:36.125
<00:31:32.865>I'm <00:31:33.065>saying <00:31:33.265>hey, <00:31:33.465>the <00:31:33.665>route <00:31:33.865>flies <00:31:34.065>shall <00:31:34.265>point

541
00:31:36.225 --> 00:31:40.285
<00:31:36.225>to <00:31:36.365>the <00:31:36.504>angular <00:31:36.645>module <00:31:36.784>that <00:31:36.925>can <00:31:37.064>be <00:31:37.205>found <00:31:37.344>under <00:31:37.485>this <00:31:37.625>location.

542
00:31:41.265 --> 00:31:44.605
<00:31:41.265>And <00:31:41.498>this <00:31:41.731>now <00:31:41.965>is <00:31:42.198>okay <00:31:42.431>for <00:31:42.665>angular

543
00:31:44.715 --> 00:31:46.765
<00:31:44.715>because <00:31:45.181>from <00:31:45.648>Angola's <00:31:46.115>perspective,

544
00:31:46.875 --> 00:31:48.165
<00:31:46.875>this <00:31:47.165>is <00:31:47.455>just <00:31:47.745>lazy <00:31:48.036>loading.

545
00:31:48.925 --> 00:31:53.135
<00:31:48.925>This <00:31:49.100>is <00:31:49.274>okay <00:31:49.450>for <00:31:49.625>module <00:31:49.800>federation <00:31:49.975>and <00:31:50.149>web <00:31:50.325>pack

546
00:31:53.325 --> 00:31:56.295
<00:31:53.325>because <00:31:53.558>it <00:31:53.791>has <00:31:54.025>been <00:31:54.258>configured, <00:31:54.491>it <00:31:54.725>knows

547
00:31:56.295 --> 00:31:58.535
<00:31:56.295>what <00:31:56.528>MF <00:31:56.761>E <00:31:56.995>one <00:31:57.228>module <00:31:57.461>is <00:31:57.695>about.

548
00:31:59.675 --> 00:32:01.375
<00:31:59.675>It <00:31:59.955>is <00:32:00.235>not <00:32:00.514>okay <00:32:00.794>for <00:32:01.075>TypeScript

549
00:32:01.725 --> 00:32:03.455
<00:32:01.725>because <00:32:02.191>TypeScript <00:32:02.658>is <00:32:03.125>saying,

550
00:32:04.785 --> 00:32:06.855
<00:32:04.785>TypeScript <00:32:05.018>is <00:32:05.251>saying <00:32:05.485>I <00:32:05.718>don't <00:32:05.951>know <00:32:06.185>this

551
00:32:06.855 --> 00:32:07.935
<00:32:06.855>path, <00:32:07.179>this <00:32:07.503>cannot <00:32:07.827>work.

552
00:32:09.275 --> 00:32:12.255
<00:32:09.275>And <00:32:09.450>so <00:32:09.625>we <00:32:09.800>need <00:32:09.975>to <00:32:10.150>ease <00:32:10.325>TypeScript <00:32:10.500>a <00:32:10.675>bit.

553
00:32:12.715 --> 00:32:16.695
<00:32:12.715>We <00:32:12.831>need <00:32:12.948>to <00:32:13.064>tell <00:32:13.181>type <00:32:13.298>script, <00:32:13.415>Hey <00:32:13.531>come <00:32:13.648>on, <00:32:13.764>it's <00:32:13.881>not <00:32:13.998>that <00:32:14.115>bad.

554
00:32:17.785 --> 00:32:21.775
<00:32:17.785>Trust <00:32:17.985>us, <00:32:18.185>we <00:32:18.385>are <00:32:18.585>pros, <00:32:18.785>we <00:32:18.985>are <00:32:19.185>professionals.

555
00:32:22.225 --> 00:32:24.055
<00:32:22.225>It'll <00:32:22.691>work <00:32:23.158>at <00:32:23.625>runtime.

556
00:32:26.385 --> 00:32:29.965
<00:32:26.385>And <00:32:26.560>to <00:32:26.735>do <00:32:26.910>this <00:32:27.085>we <00:32:27.260>need <00:32:27.435>a <00:32:27.610>DTS <00:32:27.785>file.

557
00:32:30.425 --> 00:32:34.525
<00:32:30.425>The <00:32:30.580>name <00:32:30.736>does <00:32:30.891>not <00:32:31.047>matter <00:32:31.202>if <00:32:31.358>it <00:32:31.513>ends <00:32:31.669>with <00:32:31.825>DTS,

558
00:32:35.035 --> 00:32:37.685
<00:32:35.035>then <00:32:35.235>it'll <00:32:35.435>be <00:32:35.635>picked <00:32:35.835>up <00:32:36.035>by <00:32:36.235>the <00:32:36.435>compiler.

559
00:32:37.905 --> 00:32:39.965
<00:32:37.905>And <00:32:38.185>here <00:32:38.465>we <00:32:38.745>can <00:32:39.024>tell <00:32:39.305>it.

560
00:32:39.965 --> 00:32:44.565
<00:32:39.965>Well <00:32:40.120>this <00:32:40.276>really <00:32:40.431>exists <00:32:40.587>type <00:32:40.742>script, <00:32:40.898>don't <00:32:41.053>worry <00:32:41.209>about <00:32:41.365>it.

561
00:32:47.315 --> 00:32:51.365
<00:32:47.315>Yeah. <00:32:47.455>And <00:32:47.595>now <00:32:47.735>everything <00:32:47.875>should <00:32:48.015>be <00:32:48.155>fine <00:32:48.295>as <00:32:48.435>we <00:32:48.575>see <00:32:48.715>here.

562
00:32:52.805 --> 00:32:56.415
<00:32:52.805>Nice, <00:32:53.005>isn't <00:32:53.205>it? <00:32:53.405>So <00:32:53.605>that <00:32:53.805>should <00:32:54.005>be <00:32:54.205>everything.

563
00:32:57.275 --> 00:33:01.175
<00:32:57.275>So <00:32:57.430>basically <00:32:57.586>this <00:32:57.741>was <00:32:57.897>all <00:32:58.052>about <00:32:58.208>just <00:32:58.363>adding <00:32:58.519>a <00:32:58.675>configuration

564
00:33:01.285 --> 00:33:04.215
<00:33:01.285>file <00:33:01.518>to <00:33:01.751>a <00:33:01.985>traditional <00:33:02.218>single <00:33:02.451>page <00:33:02.685>application

565
00:33:04.885 --> 00:33:07.855
<00:33:04.885>plus <00:33:05.235>adding <00:33:05.585>a <00:33:05.935>lazy <00:33:06.285>route.

566
00:33:08.905 --> 00:33:10.135
<00:33:08.905>Let's <00:33:09.274>start <00:33:09.643>the <00:33:10.012>shell,

567
00:33:12.475 --> 00:33:14.505
<00:33:12.475>Let's <00:33:12.824>start <00:33:13.175>the <00:33:13.524>micro <00:33:13.875>front.

568
00:33:18.695 --> 00:33:23.005
<00:33:18.695>Let's <00:33:18.850>cross <00:33:19.006>fingers <00:33:19.161>because <00:33:19.317>you <00:33:19.472>know <00:33:19.628>life <00:33:19.783>coding <00:33:19.939>in <00:33:20.095>front

569
00:33:23.025 --> 00:33:27.605
<00:33:23.025>of <00:33:23.180>a <00:33:23.336>running <00:33:23.491>camera <00:33:23.647>is <00:33:23.802>always <00:33:23.958>a <00:33:24.113>bit <00:33:24.269>a <00:33:24.425>risk.

570
00:33:28.145 --> 00:33:32.005
<00:33:28.145>So <00:33:28.320>let's <00:33:28.495>pray <00:33:28.670>to <00:33:28.845>that <00:33:29.020>T <00:33:29.195>of <00:33:29.370>Gods <00:33:29.545>Gods,

571
00:33:39.975 --> 00:33:42.985
<00:33:39.975>yeah, <00:33:40.130>this <00:33:40.286>is <00:33:40.441>one <00:33:40.597>more <00:33:40.752>time <00:33:40.908>an <00:33:41.063>exercise <00:33:41.219>in <00:33:41.375>patients.

572
00:33:43.275 --> 00:33:45.025
<00:33:43.275>Everything <00:33:43.741>is <00:33:44.208>green. <00:33:44.675>Wonderful.

573
00:33:45.095 --> 00:33:47.625
<00:33:45.095>That <00:33:45.270>means <00:33:45.445>we <00:33:45.620>can <00:33:45.795>already <00:33:45.970>ship <00:33:46.145>and <00:33:46.320>sell <00:33:46.495>it.

574
00:33:48.205 --> 00:33:51.065
<00:33:48.205>So <00:33:48.360>what's <00:33:48.516>about <00:33:48.671>the <00:33:48.827>micro <00:33:48.982>front <00:33:49.138>and <00:33:49.293>everything <00:33:49.449>is <00:33:49.605>green.

575
00:33:51.245 --> 00:33:52.465
<00:33:51.245>Do <00:33:51.610>I <00:33:51.976>love <00:33:52.342>green?

576
00:33:52.935 --> 00:33:56.745
<00:33:52.935>Here <00:33:53.062>we <00:33:53.189>have <00:33:53.316>my <00:33:53.444>macro <00:33:53.571>front <00:33:53.698>and <00:33:53.825>here <00:33:53.953>we <00:33:54.080>have <00:33:54.207>the <00:33:54.335>shell.

577
00:33:58.085 --> 00:34:01.945
<00:33:58.085>And <00:33:58.240>here <00:33:58.396>we <00:33:58.551>load <00:33:58.707>it <00:33:58.862>now <00:33:59.018>dynamically <00:33:59.173>into <00:33:59.329>the <00:33:59.485>shell.

578
00:34:03.175 --> 00:34:04.915
<00:34:03.175>And <00:34:03.524>this <00:34:03.875>works <00:34:04.225>even <00:34:04.575>though

579
00:34:05.535 --> 00:34:08.795
<00:34:05.535>the <00:34:05.710>micro <00:34:05.885>front <00:34:06.060>end <00:34:06.235>comes <00:34:06.410>from <00:34:06.585>a <00:34:06.760>different <00:34:06.935>origin.

580
00:34:09.455 --> 00:34:13.195
<00:34:09.455>If <00:34:09.630>you <00:34:09.804>look <00:34:09.980>closely <00:34:10.154>here, <00:34:10.330>the <00:34:10.505>micro <00:34:10.679>front <00:34:10.855>end

581
00:34:13.935 --> 00:34:15.715
<00:34:13.935>or <00:34:14.215>the <00:34:14.495>shell <00:34:14.775>comes <00:34:15.054>from <00:34:15.335>what?

582
00:34:15.745 --> 00:34:19.035
<00:34:15.745>5,000. <00:34:15.944>The <00:34:16.145>micro <00:34:16.344>front <00:34:16.545>then <00:34:16.745>comes <00:34:16.944>from <00:34:17.145>what?

583
00:34:19.035 --> 00:34:22.595
<00:34:19.034>3000 <00:34:19.234>and <00:34:19.435>no, <00:34:19.634>this <00:34:19.835>is <00:34:20.034>not <00:34:20.234>a <00:34:20.435>prerequisite.

584
00:34:22.975 --> 00:34:25.955
<00:34:22.975>You <00:34:23.150>can <00:34:23.324>totally <00:34:23.500>install <00:34:23.674>everything <00:34:23.850>on <00:34:24.025>the <00:34:24.199>same <00:34:24.375>server.

585
00:34:26.575 --> 00:34:30.875
<00:34:26.574>But <00:34:26.730>this <00:34:26.886>proves <00:34:27.041>that <00:34:27.197>I'm <00:34:27.352>loading <00:34:27.508>something <00:34:27.663>that <00:34:27.819>has <00:34:27.975>been

586
00:34:31.435 --> 00:34:34.595
<00:34:31.435>separately <00:34:31.784>compiled <00:34:32.134>and <00:34:32.485>separately <00:34:32.835>deployed.

587
00:34:36.485 --> 00:34:37.895
<00:34:36.485>Awesome, <00:34:37.119>isn't <00:34:37.754>it?

588
00:34:40.325 --> 00:34:45.215
<00:34:40.324>Well <00:34:40.500>if <00:34:40.674>you <00:34:40.850>say, <00:34:41.024>now <00:34:41.199>this <00:34:41.375>is <00:34:41.549>nice <00:34:41.725>Manfred,

589
00:34:45.435 --> 00:34:48.735
<00:34:45.435>but <00:34:45.610>I <00:34:45.784>don't <00:34:45.960>like <00:34:46.134>the <00:34:46.310>static <00:34:46.485>aspect <00:34:46.659>of <00:34:46.835>this.

590
00:34:49.055 --> 00:34:53.495
<00:34:49.054>I <00:34:49.182>don't <00:34:49.309>like <00:34:49.436>the <00:34:49.564>fact <00:34:49.691>that <00:34:49.818>the <00:34:49.945>shell <00:34:50.073>needs <00:34:50.200>to <00:34:50.327>know <00:34:50.455>upfront

591
00:34:54.065 --> 00:34:55.695
<00:34:54.065>about <00:34:54.415>all <00:34:54.764>the <00:34:55.115>micro <00:34:55.465>front

592
00:34:55.755 --> 00:35:00.015
<00:34:55.755>and <00:34:55.910>we <00:34:56.066>can <00:34:56.221>switch <00:34:56.377>to <00:34:56.532>what <00:34:56.688>I'm <00:34:56.843>calling <00:34:56.999>dynamic <00:34:57.155>federation.

593
00:35:02.625 --> 00:35:05.195
<00:35:02.625>Dynamic <00:35:02.905>federation <00:35:03.185>means <00:35:03.465>we <00:35:03.745>don't <00:35:04.025>need

594
00:35:05.195 --> 00:35:07.035
<00:35:05.195>to <00:35:05.475>know <00:35:05.755>about <00:35:06.035>this <00:35:06.315>stuff <00:35:06.595>upfront.

595
00:35:08.625 --> 00:35:13.475
<00:35:08.625>Instead <00:35:08.765>of <00:35:08.905>this, <00:35:09.045>we <00:35:09.185>are <00:35:09.325>defining <00:35:09.465>all <00:35:09.605>this <00:35:09.745>data <00:35:09.885>at <00:35:10.025>runtime.

596
00:35:14.535 --> 00:35:17.915
<00:35:14.535>And <00:35:14.674>for <00:35:14.815>this <00:35:14.955>we <00:35:15.095>need <00:35:15.234>to <00:35:15.375>switch <00:35:15.515>out <00:35:15.654>this <00:35:15.795>inboard <00:35:15.935>command

597
00:35:18.615 --> 00:35:19.715
<00:35:18.615>by <00:35:19.110>another <00:35:19.605>command.

598
00:35:19.985 --> 00:35:21.195
<00:35:19.985>It's <00:35:20.348>a <00:35:20.711>helper <00:35:21.074>function.

599
00:35:21.225 --> 00:35:24.075
<00:35:21.225>I've <00:35:21.424>written, <00:35:21.625>it's <00:35:21.825>part <00:35:22.025>of <00:35:22.225>this <00:35:22.424>uh, <00:35:22.625>plugin.

600
00:35:24.545 --> 00:35:28.315
<00:35:24.545>It's <00:35:24.825>called <00:35:25.105>uh, <00:35:25.385>load <00:35:25.665>remote <00:35:25.945>module.

601
00:35:29.825 --> 00:35:34.755
<00:35:29.825>Here <00:35:29.980>it <00:35:30.136>is. <00:35:30.291>So <00:35:30.447>load <00:35:30.602>remote <00:35:30.758>module <00:35:30.913>is <00:35:31.069>just <00:35:31.225>a

602
00:35:34.755 --> 00:35:38.165
<00:35:34.755>helper <00:35:34.955>function <00:35:35.155>delegating <00:35:35.355>to <00:35:35.555>the <00:35:35.755>web <00:35:35.955>back <00:35:36.155>runtime.

603
00:35:38.325 --> 00:35:42.525
<00:35:38.325>API. <00:35:38.524>You <00:35:38.725>need <00:35:38.924>to <00:35:39.125>know <00:35:39.325>when <00:35:39.524>combining <00:35:39.725>something

604
00:35:42.525 --> 00:35:44.005
<00:35:42.525>with <00:35:42.858>web <00:35:43.191>back, <00:35:43.524>you <00:35:43.857>have

605
00:35:44.555 --> 00:35:49.525
<00:35:44.555>some <00:35:44.710>web <00:35:44.866>back <00:35:45.021>objects <00:35:45.177>in <00:35:45.332>your <00:35:45.488>playable <00:35:45.643>namespace <00:35:45.799>at <00:35:45.955>runtime.

606
00:35:50.225 --> 00:35:53.405
<00:35:50.225>And <00:35:50.458>with <00:35:50.691>those <00:35:50.924>objects <00:35:51.158>you <00:35:51.391>can <00:35:51.625>define

607
00:35:54.195 --> 00:35:55.605
<00:35:54.195>remotes <00:35:54.618>on <00:35:55.041>the <00:35:55.464>fly.

608
00:35:56.505 --> 00:35:57.525
<00:35:56.505>And <00:35:56.688>this <00:35:56.872>is <00:35:57.055>what <00:35:57.239>I'm <00:35:57.423>doing

609
00:35:57.525 --> 00:36:01.855
<00:35:57.525>here <00:35:58.925>module.

610
00:36:02.205 --> 00:36:03.415
<00:36:02.205>This <00:36:02.422>is <00:36:02.640>what <00:36:02.858>I'm <00:36:03.076>doing <00:36:03.294>here.

611
00:36:04.145 --> 00:36:06.655
<00:36:04.145>Let's <00:36:04.425>go <00:36:04.705>with <00:36:04.985>the <00:36:05.265>remote <00:36:05.545>entry,

612
00:36:07.265 --> 00:36:09.255
<00:36:07.265>which <00:36:07.615>is <00:36:07.964>this <00:36:08.315>URL <00:36:08.665>here.

613
00:36:09.715 --> 00:36:11.895
<00:36:09.715>The <00:36:09.995>remote <00:36:10.275>name <00:36:10.555>is <00:36:10.835>MFE <00:36:11.115>one

614
00:36:12.515 --> 00:36:17.135
<00:36:12.515>and <00:36:12.714>the <00:36:12.915>exposed <00:36:13.115>module <00:36:13.315>is <00:36:13.515>do <00:36:13.714>slash <00:36:13.915>module.

615
00:36:18.355 --> 00:36:21.015
<00:36:18.355>And <00:36:18.555>now <00:36:18.755>everything <00:36:18.955>is <00:36:19.155>defined <00:36:19.355>at <00:36:19.555>round <00:36:19.755>time.

616
00:36:21.185 --> 00:36:22.895
<00:36:21.185>Everything <00:36:21.535>is <00:36:21.884>just <00:36:22.235>a <00:36:22.585>string.

617
00:36:23.005 --> 00:36:27.535
<00:36:23.005>That <00:36:23.145>means <00:36:23.285>you <00:36:23.425>can <00:36:23.565>also <00:36:23.705>receive <00:36:23.845>the <00:36:23.985>string <00:36:24.125>from <00:36:24.265>your <00:36:24.405>backend

618
00:36:28.525 --> 00:36:31.855
<00:36:28.525>because <00:36:28.700>your <00:36:28.875>application <00:36:29.050>is <00:36:29.225>asking <00:36:29.400>the <00:36:29.575>backend <00:36:29.750>when <00:36:29.925>starting

619
00:36:31.995 --> 00:36:36.415
<00:36:31.995>up, <00:36:32.122>Hey <00:36:32.249>tell <00:36:32.376>me <00:36:32.504>which <00:36:32.631>micro <00:36:32.758>round <00:36:32.885>ds <00:36:33.013>do <00:36:33.140>we <00:36:33.267>have <00:36:33.395>today?

620
00:36:37.035 --> 00:36:40.535
<00:36:37.035>And <00:36:37.174>the <00:36:37.315>answer <00:36:37.455>is <00:36:37.595>used <00:36:37.734>to <00:36:37.875>create <00:36:38.015>this <00:36:38.154>or <00:36:38.295>that <00:36:38.435>word.

621
00:36:44.415 --> 00:36:46.105
<00:36:44.415>Okay, <00:36:45.815>nice.

622
00:36:49.495 --> 00:36:54.075
<00:36:49.495>So <00:36:49.622>let's <00:36:49.749>go <00:36:49.876>on <00:36:50.004>with <00:36:50.131>a <00:36:50.258>little <00:36:50.385>tiny <00:36:50.513>pono <00:36:50.640>I <00:36:50.767>have <00:36:50.895>prepared

623
00:36:54.075 --> 00:36:57.635
<00:36:54.075>for <00:36:54.308>you <00:36:54.541>in <00:36:54.774>this <00:36:55.008>bonus <00:36:55.241>I <00:36:55.475>want

624
00:36:57.635 --> 00:37:01.035
<00:36:57.635>to <00:36:57.810>show <00:36:57.985>you <00:36:58.160>in <00:36:58.335>the <00:36:58.510>last <00:36:58.685>five <00:36:58.860>minutes <00:36:59.035>I

625
00:37:01.625 --> 00:37:03.075
<00:37:01.625>have <00:37:02.277>one <00:37:02.930>question.

626
00:37:03.935 --> 00:37:06.635
<00:37:03.935>Namely, <00:37:04.401>what <00:37:04.868>if <00:37:05.335>we

627
00:37:07.515 --> 00:37:11.555
<00:37:07.515>combined <00:37:07.795>module <00:37:08.075>federation <00:37:08.355>with <00:37:08.634>web <00:37:08.915>components?

628
00:37:13.135 --> 00:37:16.265
<00:37:13.135>Well <00:37:13.310>this <00:37:13.485>would <00:37:13.660>be <00:37:13.835>perhaps <00:37:14.010>quite <00:37:14.185>a <00:37:14.360>nice <00:37:14.535>idea

629
00:37:16.535 --> 00:37:19.545
<00:37:16.535>because <00:37:16.710>this <00:37:16.884>gives <00:37:17.060>us <00:37:17.234>the <00:37:17.410>best <00:37:17.585>of <00:37:17.759>both <00:37:17.935>worlds

630
00:37:19.935 --> 00:37:23.185
<00:37:19.935>because <00:37:20.134>we <00:37:20.335>have <00:37:20.535>web <00:37:20.735>components, <00:37:20.935>we <00:37:21.134>can <00:37:21.335>mix

631
00:37:23.285 --> 00:37:25.465
<00:37:23.285>and <00:37:23.751>match <00:37:24.218>different <00:37:24.685>frameworks.

632
00:37:26.005 --> 00:37:28.185
<00:37:26.005>We <00:37:26.355>can <00:37:26.705>also <00:37:27.055>mix, <00:37:27.405>mix

633
00:37:28.205 --> 00:37:31.185
<00:37:28.205>and <00:37:28.404>match <00:37:28.605>different <00:37:28.805>versions <00:37:29.005>of <00:37:29.205>the <00:37:29.404>same <00:37:29.605>framework.

634
00:37:31.975 --> 00:37:34.385
<00:37:31.975>Here <00:37:32.208>I'm <00:37:32.441>having <00:37:32.674>two <00:37:32.908>versions <00:37:33.141>of <00:37:33.375>Angola

635
00:37:34.605 --> 00:37:36.145
<00:37:34.605>and <00:37:34.951>one <00:37:35.298>version <00:37:35.644>of <00:37:35.991>React.

636
00:37:36.815 --> 00:37:39.025
<00:37:36.815>This <00:37:37.165>is <00:37:37.515>because <00:37:37.865>web <00:37:38.215>components

637
00:37:39.585 --> 00:37:42.265
<00:37:39.585>shield <00:37:39.865>all <00:37:40.145>the <00:37:40.425>details <00:37:40.705>from <00:37:40.985>us.

638
00:37:43.465 --> 00:37:45.915
<00:37:43.465>They <00:37:43.745>just <00:37:44.025>implement <00:37:44.305>a <00:37:44.585>browser, <00:37:44.865>API

639
00:37:46.015 --> 00:37:48.435
<00:37:46.015>and <00:37:46.295>no <00:37:46.575>one <00:37:46.855>is <00:37:47.134>interested <00:37:47.415>into

640
00:37:48.495 --> 00:37:50.195
<00:37:48.495>how <00:37:48.845>they <00:37:49.194>have <00:37:49.545>been <00:37:49.895>implemented.

641
00:37:50.975 --> 00:37:53.355
<00:37:50.975>And <00:37:51.255>because <00:37:51.535>we <00:37:51.815>have <00:37:52.095>mutual <00:37:52.375>federation,

642
00:37:53.855 --> 00:37:56.675
<00:37:53.855>we <00:37:54.135>can <00:37:54.415>share <00:37:54.695>dependencies <00:37:54.975>if <00:37:55.255>two

643
00:37:56.855 --> 00:38:01.235
<00:37:56.855>or <00:37:57.030>more <00:37:57.205>separately <00:37:57.380>compiled <00:37:57.555>micro <00:37:57.730>fronts <00:37:57.905>need <00:37:58.080>the <00:37:58.255>same

644
00:38:01.445 --> 00:38:03.075
<00:38:01.445>dependency <00:38:01.795>in <00:38:02.145>the <00:38:02.495>same <00:38:02.845>version.

645
00:38:04.355 --> 00:38:09.055
<00:38:04.355>So <00:38:04.471>we <00:38:04.588>can <00:38:04.705>have <00:38:04.821>the <00:38:04.938>best <00:38:05.055>of <00:38:05.171>both <00:38:05.288>worlds <00:38:05.405>saying <00:38:05.521>this, <00:38:05.638>you <00:38:05.755>know

646
00:38:09.085 --> 00:38:11.895
<00:38:09.085>what <00:38:09.285>the <00:38:09.485>Americans <00:38:09.685>say, <00:38:09.885>we <00:38:10.085>where <00:38:10.285>your <00:38:10.485>wishes.

647
00:38:12.205 --> 00:38:13.615
<00:38:12.205>They <00:38:12.627>might <00:38:13.051>become <00:38:13.473>true.

648
00:38:14.835 --> 00:38:18.135
<00:38:14.835>If <00:38:14.975>you <00:38:15.115>have <00:38:15.255>something <00:38:15.395>like <00:38:15.535>this, <00:38:15.675>it <00:38:15.815>is <00:38:15.955>for <00:38:16.095>sure <00:38:16.235>not

649
00:38:18.165 --> 00:38:20.855
<00:38:18.165>that <00:38:18.398>straightforward, <00:38:18.631>but <00:38:18.865>you <00:38:19.098>need <00:38:19.331>some <00:38:19.565>workarounds

650
00:38:20.915 --> 00:38:22.575
<00:38:20.915>to <00:38:21.195>make <00:38:21.475>all <00:38:21.755>this <00:38:22.035>work <00:38:22.315>together

651
00:38:23.005 --> 00:38:26.655
<00:38:23.005>because <00:38:23.238>no <00:38:23.471>framework <00:38:23.705>is <00:38:23.938>designed <00:38:24.171>to <00:38:24.405>work

652
00:38:26.885 --> 00:38:29.935
<00:38:26.885>with <00:38:27.085>another <00:38:27.285>framework <00:38:27.485>in <00:38:27.685>the <00:38:27.885>same <00:38:28.085>browser <00:38:28.285>window.

653
00:38:30.355 --> 00:38:33.015
<00:38:30.355>And <00:38:30.555>no <00:38:30.755>framework <00:38:30.955>has <00:38:31.155>been <00:38:31.355>designed <00:38:31.555>to <00:38:31.755>work

654
00:38:33.045 --> 00:38:34.695
<00:38:33.045>with <00:38:33.395>another <00:38:33.745>version <00:38:34.095>of <00:38:34.445>itself.

655
00:38:35.865 --> 00:38:37.885
<00:38:35.865>So <00:38:36.145>it <00:38:36.424>won't <00:38:36.705>be <00:38:36.984>that <00:38:37.265>straightforward.

656
00:38:38.185 --> 00:38:40.925
<00:38:38.185>But <00:38:38.360>if <00:38:38.535>you <00:38:38.710>really <00:38:38.884>need <00:38:39.060>a <00:38:39.235>scenario <00:38:39.410>like <00:38:39.585>this,

657
00:38:41.345 --> 00:38:45.365
<00:38:41.345>you <00:38:41.544>can <00:38:41.745>achieve <00:38:41.944>it <00:38:42.145>by <00:38:42.345>combining <00:38:42.544>module <00:38:42.745>federation

658
00:38:45.395 --> 00:38:46.685
<00:38:45.395>with <00:38:45.975>micro <00:38:46.556>front.

659
00:38:47.865 --> 00:38:50.245
<00:38:47.865>And <00:38:48.020>for <00:38:48.176>this, <00:38:48.331>I <00:38:48.487>have <00:38:48.642>a <00:38:48.798>tiny <00:38:48.953>demonstration <00:38:49.109>for <00:38:49.265>you.

660
00:38:51.935 --> 00:38:55.685
<00:38:51.935>Let's <00:38:52.090>click <00:38:52.246>here. <00:38:52.401>It <00:38:52.557>looks <00:38:52.712>what <00:38:52.868>we <00:38:53.023>have <00:38:53.179>seen <00:38:53.335>before

661
00:38:56.985 --> 00:39:01.165
<00:38:56.985>and <00:38:57.125>here <00:38:57.265>I <00:38:57.405>can <00:38:57.545>switch <00:38:57.685>let's <00:38:57.825>say <00:38:57.965>to <00:38:58.105>an <00:38:58.245>React <00:38:58.385>application.

662
00:39:02.785 --> 00:39:05.915
<00:39:02.785>This <00:39:02.960>is <00:39:03.134>an <00:39:03.310>angular <00:39:03.484>application <00:39:03.660>with <00:39:03.835>a <00:39:04.009>different <00:39:04.185>version,

663
00:39:06.425 --> 00:39:08.155
<00:39:06.425>with <00:39:06.775>a <00:39:07.125>different <00:39:07.475>angular <00:39:07.825>version.

664
00:39:08.905 --> 00:39:10.075
<00:39:08.905>This <00:39:09.256>version <00:39:09.607>is <00:39:09.957>loaded.

665
00:39:10.215 --> 00:39:15.185
<00:39:10.215>Now <00:39:10.495>perhaps <00:39:10.775>you <00:39:11.055>say <00:39:11.335>well <00:39:11.615>1203

666
00:39:15.285 --> 00:39:17.705
<00:39:15.285>should <00:39:15.565>be <00:39:15.845>backwards <00:39:16.125>compatible <00:39:16.404>to <00:39:16.685>12.

667
00:39:18.335 --> 00:39:21.425
<00:39:18.335>Yeah, <00:39:18.535>that's <00:39:18.735>right. <00:39:18.935>But <00:39:19.135>I <00:39:19.335>have <00:39:19.535>configured <00:39:19.735>it

668
00:39:21.485 --> 00:39:23.345
<00:39:21.485>to <00:39:21.835>be <00:39:22.185>not <00:39:22.535>backwards <00:39:22.885>compatible.

669
00:39:24.215 --> 00:39:26.195
<00:39:24.215>You <00:39:24.495>know, <00:39:24.775>it's <00:39:25.055>just <00:39:25.335>a <00:39:25.615>matter

670
00:39:26.255 --> 00:39:28.315
<00:39:26.255>of <00:39:26.721>configuring <00:39:27.188>your <00:39:27.655>dependencies.

671
00:39:28.665 --> 00:39:32.475
<00:39:28.665>It's <00:39:28.898>a <00:39:29.131>matter <00:39:29.365>of <00:39:29.598>using <00:39:29.831>something <00:39:30.065>like

672
00:39:35.445 --> 00:39:40.225
<00:39:35.445>1203 <00:39:36.145>or <00:39:36.845>1203

673
00:39:41.845 --> 00:39:45.815
<00:39:41.845>or <00:39:42.544>1203 <00:39:43.245>event

674
00:39:45.845 --> 00:39:46.935
<00:39:45.845>with <00:39:46.172>the <00:39:46.499>first <00:39:46.826>option.

675
00:39:46.935 --> 00:39:50.415
<00:39:46.935>And <00:39:47.090>so <00:39:47.246>this <00:39:47.401>is <00:39:47.557>not <00:39:47.712>compatible <00:39:47.868>to <00:39:48.023>12 <00:39:48.179>oh <00:39:48.335>oh

676
00:39:50.415 --> 00:39:53.895
<00:39:50.415>because <00:39:50.615>here <00:39:50.815>I <00:39:51.015>also <00:39:51.215>use <00:39:51.415>this <00:39:51.615>same <00:39:51.815>option.

677
00:39:54.965 --> 00:39:59.655
<00:39:54.965>Well <00:39:55.120>if <00:39:55.276>I'm <00:39:55.431>loading <00:39:55.587>another <00:39:55.742>micro <00:39:55.898>front <00:39:56.053>end <00:39:56.209>using <00:39:56.365>the

678
00:39:59.685 --> 00:40:01.975
<00:39:59.685>same <00:39:59.918>angle, <00:40:00.151>a <00:40:00.384>version, <00:40:00.618>it'll <00:40:00.851>be <00:40:01.085>shared.

679
00:40:03.855 --> 00:40:07.335
<00:40:03.855>I <00:40:03.995>can <00:40:04.135>even <00:40:04.275>go <00:40:04.415>with <00:40:04.555>sub <00:40:04.695>rooting <00:40:04.835>with <00:40:04.975>using <00:40:05.115>some <00:40:05.255>tricks.

680
00:40:07.925 --> 00:40:09.695
<00:40:07.925>Here <00:40:08.205>I <00:40:08.485>have <00:40:08.765>a <00:40:09.045>few <00:40:09.325>application

681
00:40:10.275 --> 00:40:13.575
<00:40:10.275>and <00:40:10.450>here <00:40:10.625>I <00:40:10.800>have <00:40:10.975>an <00:40:11.150>angle <00:40:11.325>at <00:40:11.500>JS <00:40:11.675>application.

682
00:40:14.115 --> 00:40:15.895
<00:40:14.115>Uh, <00:40:14.348>and <00:40:14.581>I <00:40:14.814>think <00:40:15.048>that <00:40:15.281>also <00:40:15.515>shows

683
00:40:16.005 --> 00:40:20.495
<00:40:16.005>that <00:40:16.145>micro <00:40:16.285>front <00:40:16.425>dance <00:40:16.565>can <00:40:16.705>be <00:40:16.845>a <00:40:16.985>nice <00:40:17.125>approach <00:40:17.265>for <00:40:17.405>upgrading

684
00:40:21.075 --> 00:40:22.815
<00:40:21.075>an <00:40:21.774>existing <00:40:22.475>application

685
00:40:22.835 --> 00:40:26.255
<00:40:22.835>or <00:40:23.010>for <00:40:23.185>migrating <00:40:23.360>from <00:40:23.535>one <00:40:23.710>stack <00:40:23.885>to <00:40:24.060>another <00:40:24.235>stack.

686
00:40:26.435 --> 00:40:31.335
<00:40:26.435>Little <00:40:26.610>by <00:40:26.785>and <00:40:26.960>here <00:40:27.134>we <00:40:27.310>have <00:40:27.485>a <00:40:27.660>dashboard <00:40:27.835>dashboard

687
00:40:31.645 --> 00:40:33.695
<00:40:31.645>that <00:40:32.111>shows <00:40:32.578>everything <00:40:33.045>together.

688
00:40:34.385 --> 00:40:37.155
<00:40:34.385>Yeah, <00:40:34.585>it's <00:40:34.785>possible <00:40:34.985>of <00:40:35.185>course. <00:40:35.385>One <00:40:35.585>more <00:40:35.785>time.

689
00:40:37.615 --> 00:40:39.515
<00:40:37.615>Be <00:40:37.964>aware <00:40:38.314>of <00:40:38.665>your <00:40:39.015>wishes.

690
00:40:41.175 --> 00:40:43.555
<00:40:41.175>If <00:40:41.350>you <00:40:41.525>like <00:40:41.700>this <00:40:41.875>doc, <00:40:42.050>you'll <00:40:42.225>find <00:40:42.400>a <00:40:42.575>lot

691
00:40:43.555 --> 00:40:46.955
<00:40:43.555>of <00:40:43.730>additional <00:40:43.904>material <00:40:44.080>for <00:40:44.254>this <00:40:44.430>in <00:40:44.605>my <00:40:44.779>free <00:40:44.955>ebook.

692
00:40:47.375 --> 00:40:51.435
<00:40:47.375>You <00:40:47.575>can <00:40:47.775>download <00:40:47.975>it <00:40:48.175>here <00:40:48.375>at <00:40:48.575>angler <00:40:48.775>architect

693
00:40:51.465 --> 00:40:53.115
<00:40:51.465>sale <00:40:52.165>slash <00:40:52.865>book.

694
00:40:53.895 --> 00:40:56.155
<00:40:53.895>And <00:40:54.128>if <00:40:54.361>you <00:40:54.595>didn't <00:40:54.828>like <00:40:55.061>this <00:40:55.295>doc,

695
00:40:56.665 --> 00:40:59.075
<00:40:56.665>perhaps <00:40:56.945>you <00:40:57.225>should <00:40:57.505>download <00:40:57.785>this <00:40:58.065>ebook.

696
00:40:59.075 --> 00:41:02.595
<00:40:59.075>Even <00:40:59.308>though, <00:40:59.541>because <00:40:59.774>perhaps <00:41:00.008>I'm <00:41:00.241>writing <00:41:00.475>data

697
00:41:02.735 --> 00:41:04.275
<00:41:02.735>and <00:41:03.081>I'm <00:41:03.428>speaking, <00:41:03.774>who <00:41:04.121>knows.

698
00:41:06.455 --> 00:41:08.675
<00:41:06.455>So <00:41:06.688>let <00:41:06.921>me <00:41:07.154>come <00:41:07.388>to <00:41:07.621>an <00:41:07.855>conclusion.

699
00:41:09.415 --> 00:41:13.315
<00:41:09.415>We <00:41:09.555>have <00:41:09.695>seen <00:41:09.835>that <00:41:09.975>micro <00:41:10.115>fronts <00:41:10.255>are <00:41:10.395>not <00:41:10.535>the <00:41:10.675>free <00:41:10.815>lunch

700
00:41:13.825 --> 00:41:17.475
<00:41:13.825>because <00:41:13.980>as <00:41:14.136>everything <00:41:14.291>they <00:41:14.447>come <00:41:14.602>with <00:41:14.758>a <00:41:14.913>lot <00:41:15.069>of <00:41:15.225>consequences.

701
00:41:18.695 --> 00:41:20.955
<00:41:18.695>One <00:41:18.928>consequence <00:41:19.161>is <00:41:19.395>that <00:41:19.628>you <00:41:19.861>might <00:41:20.095>need

702
00:41:20.955 --> 00:41:23.355
<00:41:20.955>to <00:41:21.305>share <00:41:21.654>libraries <00:41:22.005>at <00:41:22.355>runtime

703
00:41:23.855 --> 00:41:26.795
<00:41:23.855>and <00:41:24.088>this <00:41:24.321>might <00:41:24.555>lead <00:41:24.788>to <00:41:25.021>version <00:41:25.255>mismatches.

704
00:41:28.435 --> 00:41:31.095
<00:41:28.435>You <00:41:28.715>are <00:41:28.995>also <00:41:29.275>turning <00:41:29.555>compiled <00:41:29.835>dime

705
00:41:31.215 --> 00:41:32.935
<00:41:31.215>dependencies <00:41:31.681>to <00:41:32.148>round <00:41:32.615>dime.

706
00:41:34.315 --> 00:41:38.725
<00:41:34.315>That <00:41:34.470>means <00:41:34.626>perhaps <00:41:34.781>they <00:41:34.937>won't <00:41:35.092>play <00:41:35.248>nicely <00:41:35.403>together <00:41:35.559>when <00:41:35.715>they

707
00:41:38.875 --> 00:41:40.725
<00:41:38.875>meet <00:41:39.108>the <00:41:39.341>first <00:41:39.575>time <00:41:39.808>at <00:41:40.041>round <00:41:40.275>time.

708
00:41:41.265 --> 00:41:43.645
<00:41:41.265>You <00:41:41.615>need <00:41:41.964>to <00:41:42.315>use <00:41:42.665>testing,

709
00:41:44.015 --> 00:41:46.645
<00:41:44.015>especially <00:41:44.248>integration <00:41:44.481>testing <00:41:44.714>to <00:41:44.948>find <00:41:45.181>this <00:41:45.415>out.

710
00:41:47.845 --> 00:41:49.945
<00:41:47.845>We <00:41:48.000>have <00:41:48.156>also <00:41:48.311>seen <00:41:48.467>that <00:41:48.622>all <00:41:48.778>of <00:41:48.933>this <00:41:49.089>is <00:41:49.245>first

711
00:41:50.045 --> 00:41:52.985
<00:41:50.045>and <00:41:50.278>foremost <00:41:50.511>about <00:41:50.745>scaling <00:41:50.978>teams <00:41:51.211>and <00:41:51.445>domains.

712
00:41:53.375 --> 00:41:57.105
<00:41:53.375>That <00:41:53.515>means <00:41:53.655>if <00:41:53.795>you <00:41:53.935>only <00:41:54.075>have <00:41:54.215>one <00:41:54.355>team, <00:41:54.495>if <00:41:54.635>you <00:41:54.775>have

713
00:41:57.985 --> 00:41:59.105
<00:41:57.985>a <00:41:58.489>smaller <00:41:58.993>product,

714
00:41:59.415 --> 00:42:02.585
<00:41:59.415>then <00:41:59.590>you <00:41:59.765>might <00:41:59.940>not <00:42:00.115>really <00:42:00.290>reach <00:42:00.465>the <00:42:00.640>sweet <00:42:00.815>spot

715
00:42:03.705 --> 00:42:06.955
<00:42:03.705>even <00:42:03.904>though <00:42:04.105>there <00:42:04.305>are <00:42:04.505>other <00:42:04.705>benefits <00:42:04.904>like <00:42:05.105>mixing

716
00:42:06.955 --> 00:42:10.315
<00:42:06.955>that <00:42:07.130>knowledge <00:42:07.305>is <00:42:07.480>at <00:42:07.654>least <00:42:07.830>in <00:42:08.005>mid <00:42:08.180>or <00:42:08.355>London.

717
00:42:11.215 --> 00:42:15.195
<00:42:11.215>And <00:42:11.355>we <00:42:11.495>have <00:42:11.635>seen <00:42:11.775>that <00:42:11.915>Module <00:42:12.055>Federation <00:42:12.195>is <00:42:12.335>really <00:42:12.475>a <00:42:12.615>nice

718
00:42:15.635 --> 00:42:19.355
<00:42:15.635>straightforward <00:42:15.835>solution <00:42:16.035>for <00:42:16.235>dealing <00:42:16.435>with <00:42:16.635>all <00:42:16.835>of <00:42:17.035>this.

719
00:42:20.665 --> 00:42:22.085
<00:42:20.665>It <00:42:21.091>is <00:42:21.517>really <00:42:21.943>straightforward.

720
00:42:23.035 --> 00:42:25.125
<00:42:23.035>Just <00:42:23.315>by <00:42:23.595>the <00:42:23.875>matter <00:42:24.154>of <00:42:24.435>configuration,

721
00:42:25.265 --> 00:42:29.165
<00:42:25.265>you <00:42:25.440>can <00:42:25.615>make <00:42:25.790>different <00:42:25.964>micro <00:42:26.140>front <00:42:26.315>dance <00:42:26.490>work <00:42:26.665>together.

722
00:42:30.885 --> 00:42:34.345
<00:42:30.885>And <00:42:31.012>there <00:42:31.139>is <00:42:31.266>one <00:42:31.394>last <00:42:31.521>thing <00:42:31.648>I <00:42:31.775>really <00:42:31.903>want <00:42:32.030>you <00:42:32.157>to <00:42:32.285>remember.

723
00:42:35.085 --> 00:42:38.305
<00:42:35.085>Please <00:42:35.260>remember <00:42:35.435>the <00:42:35.610>story <00:42:35.785>with <00:42:35.960>the <00:42:36.135>kuta <00:42:36.310>and <00:42:36.485>the,

724
00:42:39.095 --> 00:42:42.025
<00:42:39.095>because <00:42:39.328>somehow <00:42:39.561>it <00:42:39.794>is <00:42:40.028>a <00:42:40.261>funny <00:42:40.495>story

725
00:42:42.325 --> 00:42:44.105
<00:42:42.325>and <00:42:42.674>somehow <00:42:43.024>it <00:42:43.375>clearly <00:42:43.725>shows

726
00:42:44.335 --> 00:42:48.425
<00:42:44.335>that <00:42:44.462>there <00:42:44.589>is <00:42:44.716>not <00:42:44.844>a <00:42:44.971>thing <00:42:45.098>like <00:42:45.225>the <00:42:45.353>best <00:42:45.480>solution <00:42:45.607>in <00:42:45.735>general.

727
00:42:49.295 --> 00:42:51.145
<00:42:49.295>It's <00:42:49.761>always <00:42:50.228>about <00:42:50.695>consequences.

728
00:42:51.815 --> 00:42:56.225
<00:42:51.815>It's <00:42:51.990>always <00:42:52.165>about <00:42:52.340>evaluating <00:42:52.515>them <00:42:52.690>for <00:42:52.865>your <00:42:53.040>very <00:42:53.215>situation.

729
00:42:57.325 --> 00:43:01.945
<00:42:57.325>Please <00:42:57.464>keep <00:42:57.605>this <00:42:57.745>in <00:42:57.884>mind. <00:42:58.024>So <00:42:58.165>thanks <00:42:58.305>for <00:42:58.444>having <00:42:58.585>me <00:42:58.725>here.

730
00:43:01.945 --> 00:43:03.225
<00:43:01.945>You <00:43:02.233>find <00:43:02.521>my <00:43:02.809>contact <00:43:03.096>data.

731
00:43:03.455 --> 00:43:07.105
<00:43:03.455>I've <00:43:03.654>already <00:43:03.855>uploaded <00:43:04.055>my <00:43:04.255>material <00:43:04.455>to <00:43:04.654>my <00:43:04.855>block

732
00:43:07.285 --> 00:43:11.305
<00:43:07.285>and <00:43:07.424>uh, <00:43:07.565>if <00:43:07.705>you <00:43:07.845>want <00:43:07.984>follow <00:43:08.125>me <00:43:08.265>now <00:43:08.404>on <00:43:08.545>Twitter <00:43:08.685>so

733
00:43:11.305 --> 00:43:13.145
<00:43:11.305>that <00:43:11.654>we <00:43:12.004>can <00:43:12.355>keep <00:43:12.705>contact.

734
00:43:14.035 --> 00:43:15.375
<00:43:14.035>Thanks <00:43:14.437>for <00:43:14.839>having <00:43:15.241>me.

735
00:43:17.265 --> 00:43:18.415
<00:43:17.265>Thank <00:43:17.782>you <00:43:18.300>Manfred.

736
00:43:18.625 --> 00:43:20.695
<00:43:18.625>Thank <00:43:18.858>you <00:43:19.091>for <00:43:19.325>this <00:43:19.558>very <00:43:19.791>interesting <00:43:20.025>talk.

737
00:43:21.395 --> 00:43:24.895
<00:43:21.395>The, <00:43:21.550>let <00:43:21.706>me <00:43:21.861>see <00:43:22.017>if <00:43:22.172>there <00:43:22.328>there <00:43:22.483>are <00:43:22.639>any <00:43:22.795>questions.

738
00:43:25.825 --> 00:43:27.535
<00:43:25.825>There <00:43:26.174>are <00:43:26.524>a <00:43:26.875>lot <00:43:27.225>questions.

739
00:43:28.315 --> 00:43:31.225
<00:43:28.315>Um, <00:43:28.595>so <00:43:28.875>the <00:43:29.155>first <00:43:29.435>one, <00:43:29.715>um,

740
00:43:32.005 --> 00:43:34.265
<00:43:32.005>is <00:43:32.238>the <00:43:32.471>source <00:43:32.705>code <00:43:32.938>available <00:43:33.171>on <00:43:33.405>GitHub?

741
00:43:34.385 --> 00:43:38.265
<00:43:34.385>I <00:43:34.525>already <00:43:34.665>saw <00:43:34.805>the <00:43:34.945>link <00:43:35.085>in <00:43:35.225>the <00:43:35.365>chat, <00:43:35.505>so <00:43:35.645>it's <00:43:35.785>Yes.

742
00:43:39.135 --> 00:43:41.705
<00:43:39.135>Yeah. <00:43:39.415>Um, <00:43:39.695>it's <00:43:39.975>available <00:43:40.255>on <00:43:40.535>GitHub.

743
00:43:41.735 --> 00:43:44.305
<00:43:41.735>It's <00:43:41.968>perhaps <00:43:42.201>in <00:43:42.435>the <00:43:42.668>chat <00:43:42.901>plus, <00:43:43.135>um,

744
00:43:45.325 --> 00:43:49.025
<00:43:45.325>if <00:43:45.452>you <00:43:45.579>download <00:43:45.706>my <00:43:45.834>slides <00:43:45.961>on <00:43:46.088>my <00:43:46.215>block, <00:43:46.343>you <00:43:46.470>have <00:43:46.597>a <00:43:46.725>bit,

745
00:43:49.145 --> 00:43:51.705
<00:43:49.145>a <00:43:49.425>description <00:43:49.705>below <00:43:49.985>it, <00:43:50.265>several <00:43:50.545>hyperlinks

746
00:43:52.125 --> 00:43:55.465
<00:43:52.125>and <00:43:52.280>one <00:43:52.436>of <00:43:52.591>its <00:43:52.747>points <00:43:52.902>to <00:43:53.058>the <00:43:53.213>examples <00:43:53.369>on <00:43:53.525>GitHub.

747
00:43:56.375 --> 00:44:00.145
<00:43:56.375>Okay. <00:43:56.530>And <00:43:56.686>then <00:43:56.841>there's <00:43:56.997>one <00:43:57.152>question <00:43:57.308>with <00:43:57.463>eight <00:43:57.619>thumbs <00:43:57.775>up.

748
00:44:00.405 --> 00:44:03.345
<00:44:00.405>So <00:44:00.685>it's <00:44:00.965>important <00:44:01.245>from, <00:44:01.525>uh, <00:44:01.805>mic

749
00:44:04.235 --> 00:44:07.105
<00:44:04.235>isn't <00:44:04.435>it <00:44:04.635>a <00:44:04.835>drawback <00:44:05.035>if <00:44:05.235>you <00:44:05.435>share <00:44:05.635>libraries

750
00:44:07.105 --> 00:44:10.825
<00:44:07.105>between <00:44:07.280>micro <00:44:07.455>front <00:44:07.630>ends <00:44:07.805>so <00:44:07.980>you <00:44:08.155>have <00:44:08.330>strong <00:44:08.505>coupling

751
00:44:10.935 --> 00:44:15.145
<00:44:10.935>between <00:44:11.134>those <00:44:11.335>components <00:44:11.535>and <00:44:11.735>cannot <00:44:11.935>easily <00:44:12.134>update <00:44:12.335>versions

752
00:44:15.205 --> 00:44:16.465
<00:44:15.205>or <00:44:15.488>did <00:44:15.772>I <00:44:16.055>miss <00:44:16.339>something?

753
00:44:17.655 --> 00:44:21.745
<00:44:17.655>Yeah, <00:44:17.795>so <00:44:17.935>in <00:44:18.075>this <00:44:18.215>case <00:44:18.355>it <00:44:18.495>is <00:44:18.635>not <00:44:18.775>a <00:44:18.915>big <00:44:19.055>drawback

754
00:44:22.015 --> 00:44:23.305
<00:44:22.015>because, <00:44:23.176>um,

755
00:44:24.045 --> 00:44:27.505
<00:44:24.045>web <00:44:24.278>back <00:44:24.511>module <00:44:24.745>Federation <00:44:24.978>has <00:44:25.211>several <00:44:25.445>strategies

756
00:44:27.685 --> 00:44:30.025
<00:44:27.685>for <00:44:28.035>dealing <00:44:28.384>with <00:44:28.735>version <00:44:29.085>mismatches.

757
00:44:30.655 --> 00:44:34.685
<00:44:30.655>That <00:44:30.810>means, <00:44:30.966>uh, <00:44:31.121>if <00:44:31.277>you <00:44:31.432>update <00:44:31.588>it <00:44:31.743>on <00:44:31.899>one <00:44:32.055>side,

758
00:44:35.185 --> 00:44:37.405
<00:44:35.185>if <00:44:35.384>you <00:44:35.585>update <00:44:35.785>the <00:44:35.985>version <00:44:36.185>on <00:44:36.384>one <00:44:36.585>side,

759
00:44:37.915 --> 00:44:41.845
<00:44:37.915>then <00:44:38.042>you <00:44:38.169>might <00:44:38.296>get <00:44:38.424>the <00:44:38.551>new <00:44:38.678>version <00:44:38.805>for <00:44:38.933>this <00:44:39.060>micro <00:44:39.187>front <00:44:39.315>end

760
00:44:42.345 --> 00:44:45.685
<00:44:42.345>and <00:44:42.500>the <00:44:42.656>original <00:44:42.811>version <00:44:42.967>for <00:44:43.122>the <00:44:43.278>other <00:44:43.433>micro <00:44:43.589>front <00:44:43.745>end.

761
00:44:45.985 --> 00:44:50.725
<00:44:45.985>But <00:44:46.160>if <00:44:46.335>you, <00:44:46.510>by <00:44:46.685>incident, <00:44:46.860>if <00:44:47.035>it <00:44:47.210>happens <00:44:47.385>to,

762
00:44:51.265 --> 00:44:54.245
<00:44:51.265>uh, <00:44:51.440>that <00:44:51.615>you <00:44:51.790>use <00:44:51.964>the <00:44:52.140>same <00:44:52.315>version <00:44:52.490>on <00:44:52.665>both

763
00:44:54.295 --> 00:44:55.445
<00:44:54.295>sides, <00:44:54.640>it <00:44:54.985>is <00:44:55.330>shared.

764
00:44:55.545 --> 00:44:58.485
<00:44:55.545>So <00:44:55.745>it <00:44:55.945>is <00:44:56.145>more <00:44:56.345>of <00:44:56.545>a <00:44:56.745>runtime <00:44:56.945>optimization.

765
00:44:59.115 --> 00:45:01.645
<00:44:59.115>However, <00:44:59.314>the <00:44:59.515>question <00:44:59.714>is <00:44:59.915>quite <00:45:00.115>a <00:45:00.314>nice <00:45:00.515>one

766
00:45:01.835 --> 00:45:05.685
<00:45:01.835>because <00:45:01.975>it <00:45:02.115>shows <00:45:02.255>that <00:45:02.395>there <00:45:02.535>are <00:45:02.675>always <00:45:02.815>a <00:45:02.955>trade <00:45:03.095>off <00:45:03.235>situation

767
00:45:05.915 --> 00:45:09.205
<00:45:05.915>between <00:45:06.265>having <00:45:06.615>fully <00:45:06.965>isolated <00:45:07.315>bundles

768
00:45:09.745 --> 00:45:13.525
<00:45:09.745>and <00:45:09.944>having, <00:45:10.145>uh, <00:45:10.345>a <00:45:10.545>good <00:45:10.745>optimization <00:45:10.944>in <00:45:11.145>terms

769
00:45:13.545 --> 00:45:14.645
<00:45:13.545>of <00:45:14.040>bundle <00:45:14.535>sizes.

770
00:45:14.945 --> 00:45:16.565
<00:45:14.945>You <00:45:15.295>cannot <00:45:15.645>really <00:45:15.995>have <00:45:16.345>both.

771
00:45:17.145 --> 00:45:20.885
<00:45:17.145>But <00:45:17.300>Module <00:45:17.456>Federation <00:45:17.611>really <00:45:17.767>tries <00:45:17.922>to <00:45:18.078>meet <00:45:18.233>the <00:45:18.389>sweet <00:45:18.545>spot

772
00:45:21.225 --> 00:45:25.085
<00:45:21.225>by <00:45:21.380>making <00:45:21.536>this <00:45:21.691>just <00:45:21.847>an <00:45:22.002>opt <00:45:22.158>in <00:45:22.313>round <00:45:22.469>time <00:45:22.625>optimization.

773
00:45:25.225 --> 00:45:28.365
<00:45:25.225>If <00:45:25.365>it <00:45:25.505>is <00:45:25.645>possible, <00:45:25.785>it <00:45:25.924>shared, <00:45:26.065>if <00:45:26.205>it <00:45:26.345>is <00:45:26.485>not <00:45:26.625>possible,

774
00:45:28.545 --> 00:45:29.565
<00:45:28.545>it <00:45:28.851>is <00:45:29.157>not <00:45:29.463>shared.

775
00:45:31.035 --> 00:45:33.445
<00:45:31.035>Okay, <00:45:31.501>so <00:45:31.968>thank <00:45:32.435>you.