WEBVTT

1
00:00:03.425 --> 00:00:05.245
<00:00:03.425>All <00:00:03.625>right, <00:00:03.824>so <00:00:04.024>thank <00:00:04.225>you <00:00:04.425>for <00:00:04.625>the <00:00:04.824>introduction.

2
00:00:05.425 --> 00:00:08.645
<00:00:05.425>Uh, <00:00:05.600>indeed. <00:00:05.774>I'm <00:00:05.949>Alex, <00:00:06.125>uh, <00:00:06.300>senior <00:00:06.475>SA <00:00:06.649>from <00:00:06.824>AWS,

3
00:00:08.985 --> 00:00:11.885
<00:00:08.985>and <00:00:09.160>we <00:00:09.334>are <00:00:09.510>going <00:00:09.684>to <00:00:09.860>talk <00:00:10.035>about <00:00:10.209>interface <00:00:10.385>contracts

4
00:00:11.885 --> 00:00:13.525
<00:00:11.885>and <00:00:12.235>micro <00:00:12.584>front <00:00:12.934>and <00:00:13.285>architectures.

5
00:00:14.425 --> 00:00:19.085
<00:00:14.425>And <00:00:14.565>imagine <00:00:14.705>you <00:00:14.845>are <00:00:14.985>a <00:00:15.125>web <00:00:15.265>developer <00:00:15.405>on <00:00:15.545>a <00:00:15.685>monolithic <00:00:15.825>legacy

6
00:00:19.305 --> 00:00:20.325
<00:00:19.305>web <00:00:20.223>application,

7
00:00:21.225 --> 00:00:24.485
<00:00:21.225>and <00:00:21.425>it <00:00:21.625>is <00:00:21.825>tedious <00:00:22.025>to <00:00:22.225>continue <00:00:22.425>developing <00:00:22.625>it.

8
00:00:24.505 --> 00:00:27.765
<00:00:24.505>And <00:00:24.632>one <00:00:24.759>day <00:00:24.886>you <00:00:25.014>think, <00:00:25.141>can't <00:00:25.268>we <00:00:25.395>just <00:00:25.523>throw <00:00:25.650>it <00:00:25.777>all <00:00:25.904>away

9
00:00:27.825 --> 00:00:28.885
<00:00:27.825>and <00:00:28.143>start <00:00:28.461>from <00:00:28.779>scratch?

10
00:00:29.175 --> 00:00:33.405
<00:00:29.175>Right? <00:00:29.330>And <00:00:29.486>when <00:00:29.641>you <00:00:29.797>take <00:00:29.952>this <00:00:30.108>idea <00:00:30.263>to <00:00:30.419>your <00:00:30.575>CEO,

11
00:00:34.145 --> 00:00:36.445
<00:00:34.145>you <00:00:34.320>may <00:00:34.495>be <00:00:34.670>greeted <00:00:34.845>with <00:00:35.020>a <00:00:35.195>range <00:00:35.370>of <00:00:35.545>reactions,

12
00:00:36.585 --> 00:00:39.005
<00:00:36.585>but <00:00:36.785>enthusiasm <00:00:36.985>will <00:00:37.185>usually <00:00:37.385>not <00:00:37.585>be <00:00:37.785>among <00:00:37.985>them.

13
00:00:40.025 --> 00:00:44.605
<00:00:40.025>And <00:00:40.152>why <00:00:40.279>is <00:00:40.406>that? <00:00:40.534>Because <00:00:40.661>for <00:00:40.788>a <00:00:40.915>company, <00:00:41.043>for <00:00:41.170>a, <00:00:41.297>a <00:00:41.425>business

14
00:00:45.365 --> 00:00:48.165
<00:00:45.365>throwing <00:00:45.565>away <00:00:45.765>a <00:00:45.965>perfectly <00:00:46.165>fine <00:00:46.365>application <00:00:46.565>is <00:00:46.765>literally

15
00:00:48.165 --> 00:00:51.925
<00:00:48.165>burning <00:00:48.320>value <00:00:48.476>and <00:00:48.631>taking <00:00:48.787>away <00:00:48.942>a <00:00:49.098>proven <00:00:49.253>solution <00:00:49.409>away <00:00:49.565>from

16
00:00:52.165 --> 00:00:55.015
<00:00:52.165>customers, <00:00:52.398>but <00:00:52.631>also <00:00:52.865>from <00:00:53.098>a <00:00:53.331>technical <00:00:53.565>side,

17
00:00:55.015 --> 00:00:56.655
<00:00:55.015>it <00:00:55.248>might <00:00:55.481>not <00:00:55.715>be <00:00:55.948>the <00:00:56.181>best <00:00:56.415>idea

18
00:00:56.795 --> 00:00:59.815
<00:00:56.795>to <00:00:56.950>throw <00:00:57.106>an <00:00:57.261>existing <00:00:57.417>solution <00:00:57.572>away <00:00:57.728>and <00:00:57.883>start <00:00:58.039>from <00:00:58.195>scratch

19
00:00:59.815 --> 00:01:01.215
<00:00:59.815>because <00:01:00.129>you <00:01:00.445>will <00:01:00.760>make <00:01:01.075>mistakes,

20
00:01:01.315 --> 00:01:02.535
<00:01:01.315>you <00:01:01.589>will <00:01:01.864>make <00:01:02.138>wrong <00:01:02.413>decisions,

21
00:01:02.875 --> 00:01:04.375
<00:01:02.875>and <00:01:03.043>you <00:01:03.212>will <00:01:03.381>have <00:01:03.550>to <00:01:03.718>learn <00:01:03.887>as <00:01:04.056>you <00:01:04.224>go.

22
00:01:04.475 --> 00:01:06.295
<00:01:04.474>It <00:01:04.708>might <00:01:04.941>be <00:01:05.175>that <00:01:05.408>once <00:01:05.641>you're <00:01:05.875>done

23
00:01:06.475 --> 00:01:07.895
<00:01:06.475>or <00:01:06.730>have <00:01:06.986>some <00:01:07.241>sort <00:01:07.497>of <00:01:07.753>maturity,

24
00:01:08.315 --> 00:01:09.535
<00:01:08.315>you <00:01:08.534>have <00:01:08.754>to <00:01:08.973>start <00:01:09.193>from <00:01:09.413>scratch.

25
00:01:10.485 --> 00:01:13.535
<00:01:10.485>Therefore, <00:01:10.718>incremental <00:01:10.951>modernization <00:01:11.185>might <00:01:11.418>be <00:01:11.651>the <00:01:11.885>way

26
00:01:13.535 --> 00:01:16.415
<00:01:13.535>forward <00:01:13.735>that <00:01:13.935>makes <00:01:14.134>both <00:01:14.335>developers <00:01:14.535>and <00:01:14.735>CEOs <00:01:14.935>happy.

27
00:01:18.555 --> 00:01:20.735
<00:01:18.555>So <00:01:18.788>as <00:01:19.021>you <00:01:19.255>have <00:01:19.488>heard <00:01:19.721>from <00:01:19.955>Florian,

28
00:01:20.735 --> 00:01:23.415
<00:01:20.735>and <00:01:20.862>probably <00:01:20.989>most <00:01:21.116>of <00:01:21.244>you <00:01:21.371>have <00:01:21.498>heard <00:01:21.625>the <00:01:21.753>term <00:01:21.880>micro <00:01:22.007>front <00:01:22.135>in

29
00:01:23.415 --> 00:01:24.935
<00:01:23.414>recent <00:01:23.688>years, <00:01:23.962>there <00:01:24.235>are <00:01:24.509>very <00:01:24.783>different

30
00:01:24.935 --> 00:01:25.975
<00:01:24.935>ways <00:01:25.247>to <00:01:25.559>approach <00:01:25.871>this.

31
00:01:26.475 --> 00:01:29.895
<00:01:26.475>We <00:01:26.615>will <00:01:26.755>see <00:01:26.895>a <00:01:27.035>flavor <00:01:27.175>of <00:01:27.315>this <00:01:27.455>technology <00:01:27.595>in <00:01:27.735>play <00:01:27.875>today,

32
00:01:30.315 --> 00:01:32.335
<00:01:30.315>and <00:01:30.515>I <00:01:30.715>will <00:01:30.914>start <00:01:31.115>with <00:01:31.315>discussing <00:01:31.515>in <00:01:31.715>view

33
00:01:32.335 --> 00:01:33.815
<00:01:32.335>of <00:01:32.779>the <00:01:33.223>architectural <00:01:33.667>trades

34
00:01:33.875 --> 00:01:37.135
<00:01:33.875>and <00:01:34.075>why <00:01:34.275>they <00:01:34.475>are <00:01:34.675>there, <00:01:34.875>go <00:01:35.075>through <00:01:35.275>implementation

35
00:01:37.675 --> 00:01:40.655
<00:01:37.675>and <00:01:37.830>then <00:01:37.986>look <00:01:38.141>at <00:01:38.297>what <00:01:38.452>interface <00:01:38.608>contracts <00:01:38.763>mean <00:01:38.919>in <00:01:39.075>this

36
00:01:40.655 --> 00:01:41.815
<00:01:40.655>context, <00:01:41.699>right?

37
00:01:42.955 --> 00:01:46.535
<00:01:42.955>So <00:01:43.095>when <00:01:43.235>we <00:01:43.375>look <00:01:43.515>at, <00:01:43.655>uh, <00:01:43.795>where <00:01:43.935>this <00:01:44.075>all <00:01:44.215>comes <00:01:44.355>from,

38
00:01:46.715 --> 00:01:48.975
<00:01:46.715>we <00:01:46.890>can <00:01:47.065>look <00:01:47.240>at <00:01:47.415>a <00:01:47.590>more, <00:01:47.765>I <00:01:47.940>would <00:01:48.115>say,

39
00:01:48.975 --> 00:01:51.095
<00:01:48.975>traditional <00:01:49.675>microservices <00:01:50.375>architecture.

40
00:01:51.595 --> 00:01:54.615
<00:01:51.595>And <00:01:51.770>you <00:01:51.945>could <00:01:52.120>imagine <00:01:52.295>there's <00:01:52.470>a <00:01:52.645>huge <00:01:52.820>organization <00:01:52.995>building

41
00:01:54.645 --> 00:01:56.055
<00:01:54.645>this <00:01:55.279>e-commerce <00:01:55.914>platform.

42
00:01:56.595 --> 00:01:59.815
<00:01:56.595>Um, <00:01:56.770>you <00:01:56.945>might <00:01:57.120>have <00:01:57.295>a <00:01:57.470>microservices <00:01:57.645>architecture <00:01:57.820>in <00:01:57.995>the

43
00:01:59.815 --> 00:02:03.775
<00:01:59.815>backend <00:01:59.990>that <00:02:00.164>is <00:02:00.340>exposed, <00:02:00.515>uh, <00:02:00.690>through <00:02:00.865>an <00:02:01.039>API <00:02:01.215>gateway

44
00:02:04.115 --> 00:02:05.255
<00:02:04.115>or <00:02:04.457>a <00:02:04.798>GraphQL <00:02:05.140>layer,

45
00:02:06.035 --> 00:02:08.615
<00:02:06.035>and <00:02:06.210>then <00:02:06.384>you <00:02:06.560>would <00:02:06.735>have <00:02:06.910>some <00:02:07.085>sort <00:02:07.259>of, <00:02:07.435>um,

46
00:02:08.855 --> 00:02:11.055
<00:02:08.854>frontend <00:02:09.088>molet <00:02:09.321>on <00:02:09.554>top <00:02:09.788>of <00:02:10.021>that, <00:02:10.255>right?

47
00:02:11.795 --> 00:02:13.655
<00:02:11.795>And <00:02:12.075>for <00:02:12.355>the <00:02:12.635>backend <00:02:12.915>works <00:02:13.195>nice

48
00:02:13.695 --> 00:02:15.135
<00:02:13.695>with <00:02:14.126>the <00:02:14.559>decoupled <00:02:14.991>architecture,

49
00:02:15.315 --> 00:02:16.975
<00:02:15.315>but <00:02:15.470>in <00:02:15.626>the <00:02:15.781>front <00:02:15.937>end, <00:02:16.092>you <00:02:16.248>know, <00:02:16.403>have <00:02:16.559>a <00:02:16.715>problem.

50
00:02:17.405 --> 00:02:20.775
<00:02:17.405>Because <00:02:17.638>while <00:02:17.871>you <00:02:18.105>have <00:02:18.338>this, <00:02:18.571>uh, <00:02:18.805>alignment

51
00:02:20.805 --> 00:02:24.455
<00:02:20.805>with <00:02:20.960>domain <00:02:21.116>concerns <00:02:21.271>in <00:02:21.427>the <00:02:21.582>back <00:02:21.738>end, <00:02:21.893>everything <00:02:22.049>you <00:02:22.205>want

52
00:02:24.455 --> 00:02:28.335
<00:02:24.454>to <00:02:24.594>develop <00:02:24.734>and <00:02:24.874>deliver <00:02:25.015>as <00:02:25.154>a <00:02:25.295>customer <00:02:25.434>value <00:02:25.575>has <00:02:25.714>to <00:02:25.855>go

53
00:02:28.335 --> 00:02:29.535
<00:02:28.335>through <00:02:28.695>this <00:02:29.055>frontend <00:02:29.415>monolith.

54
00:02:30.555 --> 00:02:32.735
<00:02:30.555>And <00:02:30.755>you <00:02:30.955>might <00:02:31.155>argue, <00:02:31.355>okay, <00:02:31.555>my <00:02:31.755>front <00:02:31.955>end,

55
00:02:32.835 --> 00:02:36.095
<00:02:32.835>it <00:02:32.990>might <00:02:33.146>be <00:02:33.301>monolithic, <00:02:33.457>um, <00:02:33.612>but <00:02:33.768>it <00:02:33.923>still <00:02:34.079>is <00:02:34.235>modular.

56
00:02:36.095 --> 00:02:39.295
<00:02:36.095>And <00:02:36.234>that <00:02:36.375>is <00:02:36.515>true, <00:02:36.655>but <00:02:36.795>there's <00:02:36.935>still <00:02:37.075>very <00:02:37.215>tight <00:02:37.355>coupling <00:02:37.495>in

57
00:02:39.295 --> 00:02:41.695
<00:02:39.295>terms <00:02:39.528>of <00:02:39.761>choice <00:02:39.995>of <00:02:40.228>frameworks, <00:02:40.461>the <00:02:40.695>ICD

58
00:02:41.755 --> 00:02:44.335
<00:02:41.755>and <00:02:42.105>also <00:02:42.454>runtime <00:02:42.805>state, <00:02:43.155>right?

59
00:02:45.115 --> 00:02:47.615
<00:02:45.115>And <00:02:45.315>we <00:02:45.515>should <00:02:45.715>also <00:02:45.915>not <00:02:46.115>underestimate <00:02:46.315>the <00:02:46.515>complexity

60
00:02:47.635 --> 00:02:48.775
<00:02:47.635>of <00:02:47.977>front <00:02:48.319>ends, <00:02:48.661>right?

61
00:02:49.285 --> 00:02:53.095
<00:02:49.285>Some <00:02:49.412>people <00:02:49.539>will <00:02:49.666>argue, <00:02:49.794>okay, <00:02:49.921>front <00:02:50.048>is <00:02:50.175>just <00:02:50.303>a <00:02:50.430>layer <00:02:50.557>of, <00:02:50.685>uh,

62
00:02:53.235 --> 00:02:55.615
<00:02:53.235>eye <00:02:53.410>candy <00:02:53.585>on <00:02:53.760>top <00:02:53.935>of <00:02:54.110>our <00:02:54.285>actual <00:02:54.460>business <00:02:54.635>logic,

63
00:02:56.435 --> 00:02:57.975
<00:02:56.435>but <00:02:56.781>that's <00:02:57.128>not <00:02:57.474>the <00:02:57.821>reality.

64
00:02:58.115 --> 00:03:00.285
<00:02:58.115>In <00:02:58.348>reality. <00:02:58.581>Micro <00:02:58.815>front, <00:02:59.048>uh, <00:02:59.281>sorry, <00:02:59.515>uh,

65
00:03:00.285 --> 00:03:03.765
<00:03:00.285>front <00:03:00.424>ends <00:03:00.565>hold <00:03:00.704>a <00:03:00.845>lot <00:03:00.984>of, <00:03:01.125>uh, <00:03:01.265>business <00:03:01.405>logic, <00:03:01.545>a <00:03:01.685>lot

66
00:03:03.825 --> 00:03:04.965
<00:03:03.825>of, <00:03:04.338>uh, <00:03:04.851>value.

67
00:03:05.105 --> 00:03:09.165
<00:03:05.105>And, <00:03:05.260>and, <00:03:05.416>uh, <00:03:05.571>this <00:03:05.727>is <00:03:05.882>where <00:03:06.038>the <00:03:06.193>actual <00:03:06.349>customer, <00:03:06.505>um,

68
00:03:09.235 --> 00:03:10.725
<00:03:09.235>interaction <00:03:10.576>materializes.

69
00:03:11.505 --> 00:03:13.725
<00:03:11.505>So <00:03:11.660>if <00:03:11.816>you <00:03:11.971>think <00:03:12.127>about <00:03:12.282>how <00:03:12.438>painful <00:03:12.593>it <00:03:12.749>can <00:03:12.905>be

70
00:03:13.725 --> 00:03:16.125
<00:03:13.725>to <00:03:13.880>deliver <00:03:14.036>value, <00:03:14.191>when <00:03:14.347>you <00:03:14.502>have <00:03:14.658>to <00:03:14.813>go <00:03:14.969>through <00:03:15.125>monolith,

71
00:03:16.705 --> 00:03:19.605
<00:03:16.704>you <00:03:16.880>may <00:03:17.054>be <00:03:17.230>thinking, <00:03:17.404>why <00:03:17.579>don't <00:03:17.755>we <00:03:17.929>replicate <00:03:18.105>the

72
00:03:20.205 --> 00:03:21.645
<00:03:20.204>patterns <00:03:20.464>we <00:03:20.723>have <00:03:20.982>on <00:03:21.241>the <00:03:21.501>backend

73
00:03:21.645 --> 00:03:23.445
<00:03:21.645>and <00:03:21.925>the <00:03:22.205>frontend <00:03:22.485>as <00:03:22.765>well, <00:03:23.045>right?

74
00:03:24.305 --> 00:03:26.005
<00:03:24.305>And <00:03:24.585>this <00:03:24.865>would <00:03:25.145>be <00:03:25.425>a <00:03:25.705>way

75
00:03:26.005 --> 00:03:28.405
<00:03:26.005>of <00:03:26.204>building <00:03:26.405>micro <00:03:26.605>front <00:03:26.805>end, <00:03:27.005>so <00:03:27.204>to <00:03:27.405>speak.

76
00:03:28.405 --> 00:03:31.765
<00:03:28.405>With <00:03:28.605>microservices, <00:03:28.805>you <00:03:29.005>would <00:03:29.205>keep <00:03:29.405>the <00:03:29.605>backend <00:03:29.805>architecture

77
00:03:31.765 --> 00:03:36.045
<00:03:31.765>as <00:03:31.920>is <00:03:32.076>microservices <00:03:32.231>with, <00:03:32.387>uh, <00:03:32.542>some <00:03:32.698>sort <00:03:32.853>of <00:03:33.009>API <00:03:33.165>layer.

78
00:03:37.455 --> 00:03:40.555
<00:03:37.454>And <00:03:37.594>he <00:03:37.734>would <00:03:37.874>say, <00:03:38.015>let <00:03:38.154>us <00:03:38.295>decouple <00:03:38.434>the <00:03:38.575>front <00:03:38.714>end <00:03:38.855>into

79
00:03:40.555 --> 00:03:42.715
<00:03:40.555>distributed <00:03:40.905>little <00:03:41.255>services <00:03:41.605>as <00:03:41.955>well.

80
00:03:43.465 --> 00:03:46.315
<00:03:43.465>Instead <00:03:43.605>of <00:03:43.745>an <00:03:43.885>API <00:03:44.025>gateway, <00:03:44.165>what <00:03:44.305>you <00:03:44.445>would <00:03:44.585>have <00:03:44.725>on <00:03:44.865>top

81
00:03:46.315 --> 00:03:48.835
<00:03:46.315>of <00:03:46.515>them <00:03:46.715>for <00:03:46.915>integration <00:03:47.115>is <00:03:47.315>an <00:03:47.515>app <00:03:47.715>shell

82
00:03:48.935 --> 00:03:50.075
<00:03:48.935>or <00:03:49.448>integration <00:03:49.960>layer,

83
00:03:50.075 --> 00:03:51.635
<00:03:50.075>host <00:03:50.308>page, <00:03:50.541>whatever <00:03:50.774>you <00:03:51.008>call <00:03:51.241>those <00:03:51.475>things.

84
00:03:51.985 --> 00:03:54.355
<00:03:51.985>It's <00:03:52.185>a <00:03:52.385>place <00:03:52.585>where <00:03:52.785>these <00:03:52.985>modules <00:03:53.185>come <00:03:53.385>together

85
00:03:54.775 --> 00:03:57.035
<00:03:54.775>and <00:03:55.008>create <00:03:55.241>coherent <00:03:55.475>experience <00:03:55.708>for <00:03:55.941>the <00:03:56.175>user.

86
00:03:59.055 --> 00:04:02.475
<00:03:59.055>Now, <00:03:59.210>this <00:03:59.366>is <00:03:59.521>certainly <00:03:59.677>a <00:03:59.832>step <00:03:59.988>in <00:04:00.143>the <00:04:00.299>right <00:04:00.455>direction,

87
00:04:03.055 --> 00:04:05.275
<00:04:03.055>but <00:04:03.255>we <00:04:03.455>still <00:04:03.655>have <00:04:03.855>a <00:04:04.055>problem <00:04:04.255>with <00:04:04.455>alignment.

88
00:04:05.975 --> 00:04:09.835
<00:04:05.975>And <00:04:06.091>this <00:04:06.208>is <00:04:06.325>we <00:04:06.441>still <00:04:06.558>have <00:04:06.674>to <00:04:06.791>go <00:04:06.908>through <00:04:07.025>a <00:04:07.141>backend <00:04:07.258>API <00:04:07.375>layer,

89
00:04:10.295 --> 00:04:12.395
<00:04:10.295>and <00:04:10.575>we <00:04:10.855>don't <00:04:11.135>have <00:04:11.415>guaranteed <00:04:11.695>alignment

90
00:04:12.575 --> 00:04:15.715
<00:04:12.575>of <00:04:12.855>backend <00:04:13.135>capabilities <00:04:13.415>with <00:04:13.695>frontend <00:04:13.975>capabilities.

91
00:04:17.585 --> 00:04:19.605
<00:04:17.584>So <00:04:17.784>why <00:04:17.984>don't <00:04:18.185>we <00:04:18.385>just <00:04:18.584>go <00:04:18.784>full <00:04:18.984>vertical

92
00:04:19.705 --> 00:04:21.405
<00:04:19.704>and <00:04:19.984>throw <00:04:20.265>away <00:04:20.544>this <00:04:20.825>API <00:04:21.104>layer.

93
00:04:23.015 --> 00:04:24.435
<00:04:23.015>And <00:04:23.334>this <00:04:23.654>is <00:04:23.973>another <00:04:24.293>variant

94
00:04:24.535 --> 00:04:26.435
<00:04:24.535>of <00:04:24.885>a <00:04:25.235>micro <00:04:25.585>frontend <00:04:25.935>architecture.

95
00:04:26.975 --> 00:04:29.795
<00:04:26.975>And <00:04:27.175>you <00:04:27.375>could <00:04:27.575>say <00:04:27.775>this <00:04:27.975>is <00:04:28.175>a <00:04:28.375>microservice

96
00:04:29.825 --> 00:04:31.275
<00:04:29.825>that <00:04:30.086>has <00:04:30.347>a <00:04:30.608>front <00:04:30.869>end, <00:04:31.130>right?

97
00:04:31.275 --> 00:04:33.035
<00:04:31.275>It's <00:04:31.625>a <00:04:31.974>full <00:04:32.325>stack <00:04:32.674>application,

98
00:04:33.275 --> 00:04:35.435
<00:04:33.275>a <00:04:33.625>full <00:04:33.974>self-contained <00:04:34.325>software <00:04:34.674>artifact

99
00:04:35.785 --> 00:04:37.195
<00:04:35.784>that <00:04:36.207>runs <00:04:36.631>in <00:04:37.054>isolation.

100
00:04:38.175 --> 00:04:39.275
<00:04:38.175>So <00:04:38.505>even <00:04:38.835>at <00:04:39.164>runtime,

101
00:04:39.935 --> 00:04:42.435
<00:04:39.935>but <00:04:40.135>we <00:04:40.335>would <00:04:40.535>be <00:04:40.735>part <00:04:40.935>of <00:04:41.135>larger <00:04:41.335>application.

102
00:04:44.105 --> 00:04:46.805
<00:04:44.105>And <00:04:44.245>now <00:04:44.385>you <00:04:44.525>probably <00:04:44.665>already <00:04:44.805>know <00:04:44.945>a <00:04:45.085>few <00:04:45.225>things <00:04:45.365>about, <00:04:45.505>uh,

103
00:04:47.085 --> 00:04:49.885
<00:04:47.085>building <00:04:47.284>micro <00:04:47.484>frontend, <00:04:47.685>uh, <00:04:47.885>with <00:04:48.085>server <00:04:48.284>site <00:04:48.484>integration

104
00:04:50.185 --> 00:04:51.845
<00:04:50.185>or <00:04:50.651>with <00:04:51.118>client <00:04:51.585>integration.

105
00:04:52.795 --> 00:04:56.205
<00:04:52.795>This <00:04:52.935>is <00:04:53.075>a <00:04:53.215>pattern <00:04:53.355>that, <00:04:53.495>uh, <00:04:53.635>we <00:04:53.775>will <00:04:53.915>show <00:04:54.055>with, <00:04:54.195>uh,

106
00:04:56.205 --> 00:04:57.365
<00:04:56.205>client <00:04:57.249>integration.

107
00:04:57.625 --> 00:05:00.325
<00:04:57.625>But <00:04:57.905>from <00:04:58.185>a, <00:04:58.465>uh, <00:04:58.745>architectural <00:04:59.025>perspective,

108
00:05:00.865 --> 00:05:02.325
<00:05:00.865>the <00:05:01.193>main <00:05:01.522>takeaway <00:05:01.850>here <00:05:02.179>is

109
00:05:02.325 --> 00:05:05.165
<00:05:02.325>that <00:05:02.480>you <00:05:02.636>would <00:05:02.791>have <00:05:02.947>a <00:05:03.102>full <00:05:03.258>verticalization <00:05:03.413>of <00:05:03.569>the <00:05:03.724>solution

110
00:05:05.705 --> 00:05:08.965
<00:05:05.705>and <00:05:05.860>have <00:05:06.016>autonomy <00:05:06.171>in <00:05:06.327>a <00:05:06.482>team <00:05:06.638>to <00:05:06.793>deliver <00:05:06.949>that <00:05:07.104>aspect

111
00:05:08.965 --> 00:05:10.965
<00:05:08.965>of <00:05:09.315>the <00:05:09.664>web <00:05:10.015>application <00:05:10.364>autonomously.

112
00:05:12.115 --> 00:05:15.725
<00:05:12.115>Okay? <00:05:12.290>And <00:05:12.465>once <00:05:12.640>we <00:05:12.815>do <00:05:12.990>this, <00:05:13.165>you <00:05:13.340>will <00:05:13.515>see

113
00:05:15.725 --> 00:05:20.605
<00:05:15.725>that <00:05:15.852>we <00:05:15.979>now <00:05:16.106>have <00:05:16.234>full <00:05:16.361>alignment <00:05:16.488>of <00:05:16.615>a <00:05:16.743>part <00:05:16.870>of <00:05:16.997>the <00:05:17.125>website

114
00:05:21.035 --> 00:05:23.965
<00:05:21.035>with <00:05:21.190>a <00:05:21.346>business <00:05:21.501>domain <00:05:21.657>and <00:05:21.812>the <00:05:21.968>team <00:05:22.123>that <00:05:22.279>is <00:05:22.435>responsible

115
00:05:23.985 --> 00:05:26.245
<00:05:23.985>and <00:05:24.185>can <00:05:24.385>deliver <00:05:24.585>this <00:05:24.785>end <00:05:24.985>to <00:05:25.185>end, <00:05:25.385>right?

116
00:05:26.705 --> 00:05:29.205
<00:05:26.705>We <00:05:26.905>still <00:05:27.104>need <00:05:27.305>that <00:05:27.505>little <00:05:27.705>integration <00:05:27.905>layer <00:05:28.104>app

117
00:05:29.285 --> 00:05:30.565
<00:05:29.285>shell, <00:05:29.477>whatever <00:05:29.669>you <00:05:29.861>want <00:05:30.053>to <00:05:30.245>call <00:05:30.437>it.

118
00:05:31.065 --> 00:05:34.605
<00:05:31.065>But <00:05:31.240>this <00:05:31.415>is <00:05:31.590>a <00:05:31.765>purely <00:05:31.940>technical <00:05:32.115>aspect <00:05:32.290>to <00:05:32.465>orchestrate

119
00:05:34.625 --> 00:05:36.365
<00:05:34.625>and <00:05:34.905>integrate <00:05:35.185>the <00:05:35.465>micro <00:05:35.745>front <00:05:36.025>ends.

120
00:05:39.295 --> 00:05:42.475
<00:05:39.295>And <00:05:39.450>the <00:05:39.606>reality, <00:05:39.761>what <00:05:39.917>you <00:05:40.072>will <00:05:40.228>have <00:05:40.383>in <00:05:40.539>larger <00:05:40.695>organizations

121
00:05:42.655 --> 00:05:45.795
<00:05:42.655>and <00:05:42.888>larger, <00:05:43.121>uh, <00:05:43.354>enterprise <00:05:43.588>architectures <00:05:43.821>is <00:05:44.054>something

122
00:05:45.795 --> 00:05:47.675
<00:05:45.795>that <00:05:46.028>is <00:05:46.261>a <00:05:46.495>bit <00:05:46.728>more, <00:05:46.961>uh, <00:05:47.195>complex.

123
00:05:48.535 --> 00:05:49.555
<00:05:48.534>And <00:05:48.841>you <00:05:49.147>will <00:05:49.453>see

124
00:05:49.555 --> 00:05:52.435
<00:05:49.555>that <00:05:49.730>the <00:05:49.905>web <00:05:50.080>application <00:05:50.255>might <00:05:50.430>just <00:05:50.605>be <00:05:50.780>one <00:05:50.955>part

125
00:05:52.435 --> 00:05:53.675
<00:05:52.435>of <00:05:52.807>the <00:05:53.179>tech <00:05:53.551>landscapes

126
00:05:54.295 --> 00:05:57.235
<00:05:54.295>and <00:05:54.450>you <00:05:54.606>will <00:05:54.761>not <00:05:54.917>have <00:05:55.072>everything <00:05:55.228>in <00:05:55.383>the <00:05:55.539>web's <00:05:55.695>application.

127
00:05:57.985 --> 00:05:59.645
<00:05:57.985>So <00:05:58.451>for <00:05:58.918>instance, <00:05:59.385>databases

128
00:05:59.705 --> 00:06:02.245
<00:05:59.705>or <00:05:59.860>very <00:06:00.016>deep <00:06:00.171>domain <00:06:00.327>logic <00:06:00.482>will <00:06:00.638>be <00:06:00.793>in <00:06:00.949>other <00:06:01.104>parts

129
00:06:02.245 --> 00:06:05.605
<00:06:02.245>of <00:06:02.420>the <00:06:02.595>organization, <00:06:02.770>and <00:06:02.945>you <00:06:03.120>cannot <00:06:03.295>fully <00:06:03.470>verticalize <00:06:03.645>there.

130
00:06:06.105 --> 00:06:07.845
<00:06:06.105>But <00:06:06.305>you <00:06:06.505>can <00:06:06.705>still <00:06:06.905>say, <00:06:07.105>in <00:06:07.305>a <00:06:07.505>sense,

131
00:06:07.985 --> 00:06:10.805
<00:06:07.985>web <00:06:08.160>application <00:06:08.335>is <00:06:08.510>its <00:06:08.685>own <00:06:08.860>scope, <00:06:09.035>its <00:06:09.210>own <00:06:09.385>domain.

132
00:06:11.185 --> 00:06:12.765
<00:06:11.185>And <00:06:11.385>you <00:06:11.585>would <00:06:11.785>say, <00:06:11.985>this <00:06:12.185>is <00:06:12.385>the <00:06:12.585>place

133
00:06:12.765 --> 00:06:14.965
<00:06:12.765>where <00:06:13.044>I <00:06:13.325>do <00:06:13.604>micro <00:06:13.885>frontend <00:06:14.164>architecture,

134
00:06:15.425 --> 00:06:20.205
<00:06:15.425>and <00:06:15.552>then <00:06:15.679>I <00:06:15.806>can <00:06:15.934>use <00:06:16.061>other <00:06:16.188>areas <00:06:16.315>of <00:06:16.443>the, <00:06:16.570>uh, <00:06:16.697>enterprise, <00:06:16.825>uh,

135
00:06:20.205 --> 00:06:24.045
<00:06:20.205>landscape <00:06:20.344>to <00:06:20.484>get <00:06:20.625>data <00:06:20.765>and, <00:06:20.905>and <00:06:21.044>uh, <00:06:21.185>or <00:06:21.325>send <00:06:21.465>data, <00:06:21.604>right?

136
00:06:24.705 --> 00:06:27.765
<00:06:24.705>And <00:06:24.844>if <00:06:24.984>you <00:06:25.125>look <00:06:25.265>at <00:06:25.405>this, <00:06:25.544>you <00:06:25.685>might <00:06:25.825>wonder, <00:06:25.965>okay, <00:06:26.104>isn't

137
00:06:27.765 --> 00:06:29.805
<00:06:27.765>that <00:06:27.998>still <00:06:28.231>a <00:06:28.465>kind <00:06:28.698>of <00:06:28.931>layered <00:06:29.164>architecture?

138
00:06:30.945 --> 00:06:35.645
<00:06:30.945>But <00:06:31.100>it's <00:06:31.256>not <00:06:31.411>because <00:06:31.567>you <00:06:31.722>have, <00:06:31.878>it's <00:06:32.033>very <00:06:32.189>strongly <00:06:32.344>decoupled,

139
00:06:35.645 --> 00:06:36.965
<00:06:35.645>both <00:06:35.942>in <00:06:36.239>the <00:06:36.536>vertical <00:06:36.833>sense

140
00:06:37.485 --> 00:06:39.685
<00:06:37.485>'cause <00:06:37.718>you <00:06:37.951>don't <00:06:38.185>have <00:06:38.418>a <00:06:38.651>runtime <00:06:38.885>hard

141
00:06:39.695 --> 00:06:41.285
<00:06:39.695>dependency <00:06:40.161>on <00:06:40.628>these <00:06:41.094>gateways.

142
00:06:41.945 --> 00:06:44.325
<00:06:41.945>And <00:06:42.145>the <00:06:42.344>same <00:06:42.545>time <00:06:42.745>within <00:06:42.945>the <00:06:43.145>micro, <00:06:43.344>uh,

143
00:06:44.325 --> 00:06:45.765
<00:06:44.325>in <00:06:44.757>the <00:06:45.188>web <00:06:45.621>application,

144
00:06:46.185 --> 00:06:48.245
<00:06:46.185>you <00:06:46.418>have <00:06:46.651>a <00:06:46.885>strong <00:06:47.118>decoupling <00:06:47.351>across <00:06:47.585>the

145
00:06:48.525 --> 00:06:49.565
<00:06:48.525>verticals <00:06:48.993>between <00:06:49.461>themselves.

146
00:06:50.025 --> 00:06:52.645
<00:06:50.025>So <00:06:50.200>you <00:06:50.375>have <00:06:50.549>highly <00:06:50.724>autonomous <00:06:50.900>teams <00:06:51.075>that <00:06:51.250>can <00:06:51.424>develop,

147
00:06:52.645 --> 00:06:54.485
<00:06:52.645>deliver <00:06:53.111>these <00:06:53.578>capabilities <00:06:54.044>themselves

148
00:06:55.265 --> 00:06:58.085
<00:06:55.265>and, <00:06:55.440>uh, <00:06:55.615>run <00:06:55.789>them <00:06:55.965>as <00:06:56.140>part <00:06:56.315>of <00:06:56.490>larger <00:06:56.664>application.

149
00:07:00.985 --> 00:07:02.485
<00:07:00.985>Now, <00:07:01.255>we <00:07:01.525>have <00:07:01.795>seen <00:07:02.065>the, <00:07:02.335>uh,

150
00:07:02.715 --> 00:07:04.885
<00:07:02.715>architectural <00:07:02.948>patterns <00:07:03.181>that <00:07:03.414>you <00:07:03.648>can <00:07:03.881>apply <00:07:04.114>here.

151
00:07:04.935 --> 00:07:07.245
<00:07:04.935>Again, <00:07:05.215>there <00:07:05.495>are <00:07:05.775>different <00:07:06.055>perspectives <00:07:06.335>on

152
00:07:07.245 --> 00:07:08.525
<00:07:07.245>how <00:07:07.437>you <00:07:07.629>would <00:07:07.820>build <00:07:08.013>this <00:07:08.205>in <00:07:08.397>practice,

153
00:07:08.985 --> 00:07:11.845
<00:07:08.985>but <00:07:09.160>now <00:07:09.335>let's <00:07:09.510>look <00:07:09.685>at <00:07:09.860>the <00:07:10.035>interesting <00:07:10.210>aspect <00:07:10.385>of

154
00:07:11.925 --> 00:07:12.925
<00:07:11.925>how <00:07:12.225>bringing <00:07:12.525>this <00:07:12.825>together

155
00:07:13.065 --> 00:07:16.445
<00:07:13.065>and <00:07:13.220>how <00:07:13.376>to, <00:07:13.531>um, <00:07:13.687>kind <00:07:13.842>of <00:07:13.998>slice <00:07:14.153>this <00:07:14.309>to <00:07:14.465>see

156
00:07:16.445 --> 00:07:18.365
<00:07:16.445>what <00:07:16.645>are <00:07:16.844>the <00:07:17.045>right <00:07:17.245>size <00:07:17.445>of <00:07:17.645>building <00:07:17.844>blocks.

157
00:07:19.265 --> 00:07:21.165
<00:07:19.265>And <00:07:19.498>this <00:07:19.731>is <00:07:19.965>the <00:07:20.198>question <00:07:20.431>of <00:07:20.664>composition.

158
00:07:21.425 --> 00:07:25.005
<00:07:21.425>So <00:07:21.565>we <00:07:21.705>have <00:07:21.845>now <00:07:21.985>seen <00:07:22.125>how <00:07:22.265>a <00:07:22.405>platform <00:07:22.545>would <00:07:22.685>look <00:07:22.825>like,

159
00:07:25.025 --> 00:07:26.325
<00:07:25.025>but <00:07:25.219>let's <00:07:25.414>look <00:07:25.609>at <00:07:25.805>the <00:07:26.000>front <00:07:26.195>end,

160
00:07:26.325 --> 00:07:28.445
<00:07:26.325>how <00:07:26.525>they <00:07:26.724>would <00:07:26.925>look <00:07:27.125>together <00:07:27.325>playing <00:07:27.525>in <00:07:27.724>the,

161
00:07:29.185 --> 00:07:30.405
<00:07:29.185>uh, <00:07:29.734>user <00:07:30.282>interface.

162
00:07:33.615 --> 00:07:37.115
<00:07:33.615>So <00:07:33.755>here <00:07:33.895>would <00:07:34.035>be <00:07:34.175>a <00:07:34.315>example <00:07:34.455>page <00:07:34.595>of <00:07:34.735>a <00:07:34.875>flight <00:07:35.015>booking.

163
00:07:37.655 --> 00:07:40.075
<00:07:37.655>And <00:07:37.810>you <00:07:37.966>see <00:07:38.121>here <00:07:38.277>a <00:07:38.432>search <00:07:38.588>box <00:07:38.743>on <00:07:38.899>the <00:07:39.054>top.

164
00:07:40.655 --> 00:07:42.475
<00:07:40.655>You <00:07:40.854>see <00:07:41.054>some <00:07:41.255>filter <00:07:41.455>settings <00:07:41.655>on <00:07:41.854>the <00:07:42.054>left

165
00:07:42.855 --> 00:07:45.915
<00:07:42.855>and <00:07:42.982>in <00:07:43.109>the <00:07:43.236>middle, <00:07:43.364>right, <00:07:43.491>you <00:07:43.618>see <00:07:43.745>a <00:07:43.873>result <00:07:44.000>list <00:07:44.127>of <00:07:44.255>flights.

166
00:07:45.915 --> 00:07:50.355
<00:07:45.915>Right? <00:07:46.070>Now, <00:07:46.226>this <00:07:46.381>is <00:07:46.537>an <00:07:46.692>interesting <00:07:46.848>discussion <00:07:47.003>I <00:07:47.159>had <00:07:47.315>with,

167
00:07:50.455 --> 00:07:51.595
<00:07:50.455>uh, <00:07:50.968>different <00:07:51.481>roads

168
00:07:51.595 --> 00:07:54.235
<00:07:51.595>and <00:07:51.828>organizations, <00:07:52.061>with <00:07:52.295>product <00:07:52.528>owners, <00:07:52.761>with <00:07:52.995>testers,

169
00:07:54.235 --> 00:07:55.835
<00:07:54.235>with <00:07:54.585>developers, <00:07:54.935>with <00:07:55.285>ops <00:07:55.635>people.

170
00:07:55.955 --> 00:07:58.395
<00:07:55.955>I <00:07:56.110>say, <00:07:56.266>what <00:07:56.421>is <00:07:56.577>the <00:07:56.732>scope <00:07:56.888>of <00:07:57.043>a <00:07:57.199>micro <00:07:57.354>front?

171
00:07:58.395 --> 00:08:01.505
<00:07:58.395>And <00:07:58.550>on <00:07:58.706>this <00:07:58.861>page, <00:07:59.017>how <00:07:59.172>many <00:07:59.328>micro <00:07:59.483>fronts <00:07:59.639>are <00:07:59.794>there?

172
00:08:01.505 --> 00:08:03.545
<00:08:01.505>And <00:08:01.660>the <00:08:01.816>interesting <00:08:01.971>thing <00:08:02.127>is <00:08:02.282>you <00:08:02.438>get <00:08:02.593>very <00:08:02.749>different <00:08:02.905>answers.

173
00:08:03.645 --> 00:08:06.865
<00:08:03.645>And <00:08:03.772>the, <00:08:03.899>the <00:08:04.026>reality <00:08:04.154>is <00:08:04.281>there <00:08:04.408>is <00:08:04.535>no <00:08:04.663>kind <00:08:04.790>of <00:08:04.917>strict <00:08:05.044>right

174
00:08:06.865 --> 00:08:09.425
<00:08:06.865>and <00:08:07.040>wrong <00:08:07.215>how <00:08:07.390>you <00:08:07.565>would <00:08:07.740>put <00:08:07.915>this <00:08:08.090>into <00:08:08.265>one

175
00:08:09.425 --> 00:08:10.905
<00:08:09.425>or <00:08:09.758>multiple <00:08:10.091>micro <00:08:10.424>front <00:08:10.756>ends.

176
00:08:11.445 --> 00:08:13.225
<00:08:11.445>But <00:08:11.678>you <00:08:11.911>can <00:08:12.145>use <00:08:12.378>some <00:08:12.611>guidance <00:08:12.844>here

177
00:08:13.285 --> 00:08:17.105
<00:08:13.285>and <00:08:13.425>you <00:08:13.565>can <00:08:13.705>say, <00:08:13.845>where <00:08:13.985>are <00:08:14.125>the <00:08:14.265>boundaries <00:08:14.405>of <00:08:14.545>the <00:08:14.685>logic

178
00:08:17.165 --> 00:08:18.865
<00:08:17.165>of <00:08:17.515>such <00:08:17.865>a <00:08:18.215>component, <00:08:18.565>right?

179
00:08:19.525 --> 00:08:21.345
<00:08:19.525>And <00:08:19.724>this <00:08:19.924>is <00:08:20.125>actually <00:08:20.325>the <00:08:20.525>million <00:08:20.724>dollar <00:08:20.924>question,

180
00:08:21.345 --> 00:08:22.705
<00:08:21.345>where <00:08:21.651>are <00:08:21.957>the <00:08:22.263>context <00:08:22.568>boundaries?

181
00:08:23.705 --> 00:08:25.765
<00:08:23.705>So <00:08:23.938>you <00:08:24.171>might <00:08:24.405>know <00:08:24.638>the <00:08:24.871>term, <00:08:25.104>uh,

182
00:08:26.245 --> 00:08:29.125
<00:08:26.245>ed <00:08:26.478>context <00:08:26.711>from <00:08:26.945>the <00:08:27.178>paradigm <00:08:27.411>called <00:08:27.645>domain-driven

183
00:08:29.185 --> 00:08:30.525
<00:08:29.185>design, <00:08:29.788>or <00:08:30.390>DDD.

184
00:08:31.025 --> 00:08:34.165
<00:08:31.025>And <00:08:31.224>this <00:08:31.424>is <00:08:31.625>very <00:08:31.825>helpful, <00:08:32.025>identifying <00:08:32.225>natural <00:08:32.424>boundaries

185
00:08:34.165 --> 00:08:35.445
<00:08:34.164>between <00:08:34.741>independent <00:08:35.317>context

186
00:08:35.635 --> 00:08:38.405
<00:08:35.635>that <00:08:35.835>can <00:08:36.034>be <00:08:36.235>deployed <00:08:36.434>independently <00:08:36.635>without <00:08:36.835>too <00:08:37.034>much

187
00:08:38.405 --> 00:08:39.525
<00:08:38.405>coupling, <00:08:39.413>right?

188
00:08:40.105 --> 00:08:42.965
<00:08:40.105>So <00:08:40.305>you <00:08:40.505>can <00:08:40.705>think <00:08:40.905>about <00:08:41.105>non-functional <00:08:41.305>aspects <00:08:41.505>such

189
00:08:42.965 --> 00:08:45.325
<00:08:42.965>as <00:08:43.431>reusability, <00:08:43.898>performance, <00:08:44.365>security,

190
00:08:46.265 --> 00:08:48.845
<00:08:46.265>to <00:08:46.545>structure <00:08:46.824>basically <00:08:47.105>this <00:08:47.385>app <00:08:47.665>application

191
00:08:49.115 --> 00:08:50.365
<00:08:49.115>into <00:08:49.490>micro <00:08:49.865>front <00:08:50.240>ends.

192
00:08:51.265 --> 00:08:54.245
<00:08:51.265>And <00:08:51.439>there's <00:08:51.615>also <00:08:51.790>one <00:08:51.965>other <00:08:52.140>very, <00:08:52.314>very <00:08:52.490>important <00:08:52.665>indicator

193
00:08:54.425 --> 00:08:56.325
<00:08:54.425>for <00:08:54.891>coherence <00:08:55.358>or <00:08:55.824>coupling.

194
00:08:56.325 --> 00:08:58.725
<00:08:56.325>And <00:08:56.605>this <00:08:56.885>is <00:08:57.165>communication <00:08:57.445>patterns, <00:08:57.725>right?

195
00:08:59.265 --> 00:09:02.885
<00:08:59.265>So <00:08:59.392>if <00:08:59.519>some <00:08:59.646>elements <00:08:59.774>in <00:08:59.901>your <00:09:00.028>architecture <00:09:00.155>need <00:09:00.283>to <00:09:00.410>talk <00:09:00.537>a <00:09:00.665>lot

196
00:09:03.145 --> 00:09:06.045
<00:09:03.145>and <00:09:03.425>exchange <00:09:03.704>complex, <00:09:03.985>uh, <00:09:04.265>data <00:09:04.545>structures,

197
00:09:06.555 --> 00:09:08.925
<00:09:06.555>then <00:09:06.710>it <00:09:06.866>is <00:09:07.021>an <00:09:07.177>indicator <00:09:07.332>for <00:09:07.488>them <00:09:07.643>to <00:09:07.799>belong <00:09:07.954>together.

198
00:09:10.635 --> 00:09:14.055
<00:09:10.635>So <00:09:10.762>this <00:09:10.889>is <00:09:11.016>still <00:09:11.144>no <00:09:11.271>pattern <00:09:11.398>to <00:09:11.525>make <00:09:11.653>a <00:09:11.780>right, <00:09:11.907>wrong <00:09:12.035>choice

199
00:09:14.115 --> 00:09:15.255
<00:09:14.115>for <00:09:14.457>what <00:09:14.799>belongs <00:09:15.141>together,

200
00:09:15.435 --> 00:09:18.295
<00:09:15.435>but <00:09:15.609>you <00:09:15.785>can <00:09:15.959>use <00:09:16.135>that <00:09:16.310>to <00:09:16.484>make <00:09:16.660>this <00:09:16.834>decision.

201
00:09:19.035 --> 00:09:21.535
<00:09:19.035>And <00:09:19.190>when <00:09:19.346>we <00:09:19.501>look <00:09:19.657>at <00:09:19.812>this <00:09:19.968>example, <00:09:20.123>we <00:09:20.279>could <00:09:20.435>say

202
00:09:22.645 --> 00:09:26.135
<00:09:22.645>theoretically, <00:09:22.785>why <00:09:22.925>can't <00:09:23.064>we <00:09:23.204>say <00:09:23.345>the <00:09:23.485>whole <00:09:23.625>thing <00:09:23.765>is <00:09:23.905>a <00:09:24.045>micro

203
00:09:26.145 --> 00:09:28.055
<00:09:26.145>front <00:09:26.345>end <00:09:26.545>is <00:09:26.745>a <00:09:26.944>single <00:09:27.145>micro <00:09:27.345>front <00:09:27.545>end,

204
00:09:28.395 --> 00:09:31.735
<00:09:28.395>and <00:09:28.535>we <00:09:28.675>deliver <00:09:28.814>it <00:09:28.954>as <00:09:29.095>such <00:09:29.235>would <00:09:29.375>be <00:09:29.515>more <00:09:29.655>coarsely <00:09:29.795>range,

205
00:09:32.115 --> 00:09:33.295
<00:09:32.115>but <00:09:32.380>still <00:09:32.646>a <00:09:32.911>valid <00:09:33.176>answer.

206
00:09:34.965 --> 00:09:38.025
<00:09:34.965>The <00:09:35.165>entire <00:09:35.365>opposite <00:09:35.565>would <00:09:35.765>be <00:09:35.965>we <00:09:36.165>slice <00:09:36.365>each

207
00:09:38.025 --> 00:09:41.145
<00:09:38.025>of <00:09:38.225>those <00:09:38.425>components <00:09:38.625>into <00:09:38.824>individual <00:09:39.025>micro <00:09:39.225>front <00:09:39.425>ends

208
00:09:41.145 --> 00:09:42.545
<00:09:41.145>and <00:09:41.564>deliver <00:09:41.985>them <00:09:42.405>independently

209
00:09:43.445 --> 00:09:46.065
<00:09:43.445>and <00:09:43.620>then <00:09:43.795>have <00:09:43.970>more <00:09:44.145>work <00:09:44.320>on <00:09:44.495>the <00:09:44.670>integration <00:09:44.845>side.

210
00:09:47.605 --> 00:09:49.625
<00:09:47.605>And <00:09:47.838>for <00:09:48.071>the <00:09:48.305>purposes <00:09:48.538>of <00:09:48.771>this <00:09:49.005>talk,

211
00:09:49.745 --> 00:09:50.745
<00:09:49.745>I <00:09:49.925>will <00:09:50.105>pick <00:09:50.285>the <00:09:50.465>middle <00:09:50.645>ground

212
00:09:50.765 --> 00:09:54.945
<00:09:50.765>and <00:09:50.881>say <00:09:50.998>the <00:09:51.115>search <00:09:51.231>will <00:09:51.348>be <00:09:51.465>one <00:09:51.581>micro <00:09:51.698>front <00:09:51.814>end <00:09:51.931>on <00:09:52.048>this <00:09:52.165>page,

213
00:09:55.645 --> 00:09:58.465
<00:09:55.645>and <00:09:55.845>filters <00:09:56.045>and <00:09:56.245>results <00:09:56.444>combined <00:09:56.645>will <00:09:56.845>be <00:09:57.045>a

214
00:09:58.465 --> 00:09:59.545
<00:09:58.465>second <00:09:58.789>micro <00:09:59.113>front <00:09:59.437>end.

215
00:10:00.565 --> 00:10:05.465
<00:10:00.565>And <00:10:00.720>I <00:10:00.876>would <00:10:01.031>justify <00:10:01.187>this <00:10:01.342>choice <00:10:01.498>with, <00:10:01.653>uh, <00:10:01.809>the <00:10:01.965>observation

216
00:10:05.465 --> 00:10:09.105
<00:10:05.465>that <00:10:05.640>filters <00:10:05.815>don't <00:10:05.990>make <00:10:06.165>much <00:10:06.340>sense <00:10:06.515>stand <00:10:06.690>alone, <00:10:06.865>right?

217
00:10:09.165 --> 00:10:11.825
<00:10:09.165>So <00:10:09.365>why <00:10:09.564>would <00:10:09.765>you, <00:10:09.964>uh, <00:10:10.165>develop <00:10:10.365>them <00:10:10.564>independently?

218
00:10:12.365 --> 00:10:16.385
<00:10:12.365>You <00:10:12.505>could <00:10:12.645>deploy <00:10:12.785>a <00:10:12.925>filters <00:10:13.065>plus <00:10:13.205>result <00:10:13.345>list <00:10:13.485>on <00:10:13.625>one <00:10:13.765>page,

219
00:10:16.525 --> 00:10:18.265
<00:10:16.525>for <00:10:16.805>example, <00:10:17.084>as <00:10:17.365>a <00:10:17.645>landing <00:10:17.925>page.

220
00:10:18.685 --> 00:10:21.745
<00:10:18.685>You <00:10:18.824>could <00:10:18.964>even <00:10:19.104>have <00:10:19.244>a <00:10:19.385>toggle <00:10:19.525>to, <00:10:19.665>uh, <00:10:19.805>hide <00:10:19.944>the <00:10:20.084>filters.

221
00:10:22.285 --> 00:10:23.345
<00:10:22.285>And <00:10:22.523>at <00:10:22.762>the <00:10:23.000>same <00:10:23.239>time,

222
00:10:23.345 --> 00:10:25.625
<00:10:23.345>you <00:10:23.545>could <00:10:23.745>also <00:10:23.945>deploy <00:10:24.145>the <00:10:24.345>search <00:10:24.545>bar <00:10:24.745>independently

223
00:10:25.725 --> 00:10:27.785
<00:10:25.725>and <00:10:25.880>say, <00:10:26.036>okay, <00:10:26.191>I <00:10:26.347>have <00:10:26.502>this <00:10:26.658>as <00:10:26.813>a <00:10:26.969>landing <00:10:27.125>page

224
00:10:27.885 --> 00:10:30.385
<00:10:27.885>and <00:10:28.165>lead <00:10:28.444>to <00:10:28.725>something <00:10:29.005>different, <00:10:29.285>right?

225
00:10:30.445 --> 00:10:32.345
<00:10:30.445>And <00:10:30.725>the <00:10:31.005>filters <00:10:31.285>and <00:10:31.565>results <00:10:31.845>have

226
00:10:32.345 --> 00:10:34.945
<00:10:32.345>to <00:10:32.545>communicate <00:10:32.745>a <00:10:32.945>lot <00:10:33.145>in <00:10:33.345>very <00:10:33.545>complex <00:10:33.745>information

227
00:10:35.135 --> 00:10:37.265
<00:10:35.135>because <00:10:35.335>they <00:10:35.535>need <00:10:35.735>a <00:10:35.935>lot <00:10:36.135>of <00:10:36.335>shared <00:10:36.535>logic,

228
00:10:37.615 --> 00:10:40.905
<00:10:37.615>whereas <00:10:37.770>this <00:10:37.926>coupling <00:10:38.081>is <00:10:38.237>not <00:10:38.392>as <00:10:38.548>tight <00:10:38.703>between <00:10:38.859>the <00:10:39.015>search

229
00:10:41.085 --> 00:10:43.505
<00:10:41.085>and <00:10:41.318>the, <00:10:41.551>uh, <00:10:41.785>result <00:10:42.018>plus <00:10:42.251>filters, <00:10:42.485>right?

230
00:10:43.885 --> 00:10:46.865
<00:10:43.885>So <00:10:44.060>this <00:10:44.235>is <00:10:44.410>why <00:10:44.585>going <00:10:44.760>forward <00:10:44.935>in <00:10:45.110>this <00:10:45.285>presentation,

231
00:10:46.865 --> 00:10:51.585
<00:10:46.865>please <00:10:47.020>keep <00:10:47.176>that <00:10:47.331>picture <00:10:47.487>in <00:10:47.642>mind <00:10:47.798>of <00:10:47.953>a <00:10:48.109>search <00:10:48.265>form

232
00:10:52.045 --> 00:10:54.405
<00:10:52.045>and <00:10:52.395>the <00:10:52.745>result <00:10:53.094>list, <00:10:53.444>okay?

233
00:10:55.775 --> 00:10:58.315
<00:10:55.775>And <00:10:55.949>keep <00:10:56.125>in <00:10:56.300>mind <00:10:56.475>that <00:10:56.650>when <00:10:56.824>you <00:10:57.000>decide <00:10:57.175>how

234
00:10:58.315 --> 00:11:00.635
<00:10:58.315>to <00:10:58.665>slice <00:10:59.015>your <00:10:59.365>current <00:10:59.715>architecture

235
00:11:00.655 --> 00:11:03.635
<00:11:00.655>or <00:11:00.888>future <00:11:01.121>architecture <00:11:01.355>into <00:11:01.588>micro <00:11:01.821>front <00:11:02.055>ends,

236
00:11:04.245 --> 00:11:06.475
<00:11:04.245>there <00:11:04.445>is <00:11:04.645>not <00:11:04.845>necessarily <00:11:05.045>a <00:11:05.245>right <00:11:05.445>or <00:11:05.645>wrong,

237
00:11:06.815 --> 00:11:09.635
<00:11:06.815>but <00:11:06.990>you <00:11:07.165>will <00:11:07.340>have <00:11:07.515>tools <00:11:07.690>like <00:11:07.865>domain <00:11:08.040>driven <00:11:08.215>design

238
00:11:09.635 --> 00:11:10.795
<00:11:09.635>help <00:11:09.896>you <00:11:10.156>make <00:11:10.418>the <00:11:10.679>decision.

239
00:11:14.645 --> 00:11:17.305
<00:11:14.645>Now, <00:11:14.878>let's <00:11:15.111>look <00:11:15.345>at, <00:11:15.578>uh, <00:11:15.811>the <00:11:16.045>implementation

240
00:11:17.305 --> 00:11:18.785
<00:11:17.305>of <00:11:17.571>such <00:11:17.837>a <00:11:18.104>micro <00:11:18.370>front <00:11:18.637>end,

241
00:11:19.365 --> 00:11:22.905
<00:11:19.365>and <00:11:19.540>we <00:11:19.715>will <00:11:19.890>specifically <00:11:20.065>look <00:11:20.240>at <00:11:20.415>aspects <00:11:20.590>of, <00:11:20.765>uh,

242
00:11:23.015 --> 00:11:25.665
<00:11:23.015>integration, <00:11:23.481>interaction, <00:11:23.948>and <00:11:24.415>communication.

243
00:11:29.825 --> 00:11:34.205
<00:11:29.825>So <00:11:29.965>what <00:11:30.105>you <00:11:30.245>see <00:11:30.385>on <00:11:30.525>this <00:11:30.665>page <00:11:30.805>is <00:11:30.945>a <00:11:31.085>HML <00:11:31.225>code

244
00:11:34.205 --> 00:11:36.645
<00:11:34.205>of <00:11:34.405>very <00:11:34.605>simple <00:11:34.805>webpage <00:11:35.005>with <00:11:35.205>micro <00:11:35.405>front <00:11:35.605>ends.

245
00:11:38.055 --> 00:11:40.515
<00:11:38.055>And <00:11:38.229>now <00:11:38.405>you <00:11:38.579>might <00:11:38.755>wonder <00:11:38.930>where <00:11:39.104>are <00:11:39.280>the <00:11:39.454>micro

246
00:11:40.515 --> 00:11:41.675
<00:11:40.515>front <00:11:41.036>ends, <00:11:41.559>right?

247
00:11:42.715 --> 00:11:44.775
<00:11:42.715>And <00:11:43.065>they <00:11:43.415>are <00:11:43.765>exactly <00:11:44.115>here.

248
00:11:46.675 --> 00:11:50.105
<00:11:46.675>These <00:11:47.025>are <00:11:47.375>so-called <00:11:47.724>custom <00:11:48.074>elements,

249
00:11:51.105 --> 00:11:53.565
<00:11:51.105>and <00:11:51.232>some <00:11:51.359>of <00:11:51.486>you <00:11:51.614>may <00:11:51.741>have <00:11:51.868>seen <00:11:51.995>them <00:11:52.123>for <00:11:52.250>those <00:11:52.377>who <00:11:52.505>haven't,

250
00:11:53.625 --> 00:11:56.205
<00:11:53.625>you <00:11:53.825>see <00:11:54.025>here <00:11:54.225>two <00:11:54.425>orange <00:11:54.625>boxes <00:11:54.825>in <00:11:55.025>each

251
00:11:56.205 --> 00:11:58.285
<00:11:56.205>of <00:11:56.438>them <00:11:56.671>containing <00:11:56.905>two <00:11:57.138>lines <00:11:57.371>of <00:11:57.605>code.

252
00:11:58.945 --> 00:12:02.405
<00:11:58.945>The <00:11:59.100>first <00:11:59.256>line <00:11:59.411>of <00:11:59.567>code <00:11:59.722>is <00:11:59.878>a, <00:12:00.033>so-called <00:12:00.189>custom <00:12:00.345>tag.

253
00:12:02.985 --> 00:12:06.085
<00:12:02.985>So <00:12:03.125>this <00:12:03.265>is <00:12:03.405>an <00:12:03.545>HTML <00:12:03.685>elements <00:12:03.825>that <00:12:03.965>you <00:12:04.105>can <00:12:04.245>define <00:12:04.385>yourself.

254
00:12:06.105 --> 00:12:08.125
<00:12:06.105>And <00:12:06.385>this <00:12:06.665>is <00:12:06.945>actually, <00:12:07.225>uh, <00:12:07.505>standardized

255
00:12:08.745 --> 00:12:10.405
<00:12:08.745>all <00:12:09.095>modern <00:12:09.445>brows <00:12:09.795>and <00:12:10.145>supporters.

256
00:12:11.005 --> 00:12:13.445
<00:12:11.005>I <00:12:11.160>think <00:12:11.316>the <00:12:11.471>last <00:12:11.627>that <00:12:11.782>didn't <00:12:11.938>support, <00:12:12.093>uh, <00:12:12.249>has <00:12:12.405>kind

257
00:12:13.445 --> 00:12:15.685
<00:12:13.445>of <00:12:13.645>been <00:12:13.845>deprecated <00:12:14.045>since <00:12:14.245>a <00:12:14.445>few <00:12:14.645>years, <00:12:14.845>uh,

258
00:12:15.685 --> 00:12:18.885
<00:12:15.685>with <00:12:15.840>Internet <00:12:15.996>Explorer, <00:12:16.151>and <00:12:16.307>you <00:12:16.462>can <00:12:16.618>use <00:12:16.773>this <00:12:16.929>in <00:12:17.084>everyday

259
00:12:18.955 --> 00:12:21.525
<00:12:18.955>application, <00:12:19.155>you <00:12:19.355>can <00:12:19.555>do <00:12:19.755>this <00:12:19.955>entirely <00:12:20.155>framework <00:12:20.355>less,

260
00:12:21.905 --> 00:12:24.125
<00:12:21.905>and <00:12:22.021>this <00:12:22.138>is <00:12:22.255>going <00:12:22.371>to <00:12:22.488>be <00:12:22.605>what <00:12:22.721>we <00:12:22.838>are <00:12:22.954>going <00:12:23.071>to <00:12:23.188>show <00:12:23.305>today.

261
00:12:25.415 --> 00:12:26.915
<00:12:25.415>In <00:12:25.607>order <00:12:25.800>for <00:12:25.993>this <00:12:26.186>to <00:12:26.379>work, <00:12:26.572>you <00:12:26.765>have

262
00:12:26.915 --> 00:12:29.995
<00:12:26.915>to <00:12:27.089>define <00:12:27.265>this <00:12:27.439>custom <00:12:27.615>element <00:12:27.790>in <00:12:27.964>a <00:12:28.140>piece <00:12:28.314>of,

263
00:12:30.755 --> 00:12:31.995
<00:12:30.755>and <00:12:30.941>we <00:12:31.127>see <00:12:31.313>that <00:12:31.499>in <00:12:31.685>a <00:12:31.871>second.

264
00:12:32.695 --> 00:12:34.115
<00:12:32.695>And <00:12:32.950>the <00:12:33.206>second <00:12:33.461>line <00:12:33.717>of <00:12:33.973>each

265
00:12:34.115 --> 00:12:36.755
<00:12:34.115>of <00:12:34.348>those <00:12:34.581>orange <00:12:34.815>blocks <00:12:35.048>is <00:12:35.281>the <00:12:35.515>loader

266
00:12:36.935 --> 00:12:39.075
<00:12:36.935>for <00:12:37.285>these <00:12:37.635>Java <00:12:37.984>scripts, <00:12:38.334>right?

267
00:12:39.495 --> 00:12:41.635
<00:12:39.495>On <00:12:39.695>the <00:12:39.895>right <00:12:40.095>hand <00:12:40.295>side, <00:12:40.495>you <00:12:40.695>see <00:12:40.895>structurally

268
00:12:41.655 --> 00:12:43.395
<00:12:41.655>how <00:12:41.888>this <00:12:42.121>would <00:12:42.355>behave <00:12:42.588>within <00:12:42.821>the <00:12:43.055>webpage.

269
00:12:45.205 --> 00:12:49.585
<00:12:45.205>Now <00:12:45.345>if <00:12:45.485>we <00:12:45.625>zoom <00:12:45.765>into <00:12:45.905>those, <00:12:46.045>uh, <00:12:46.185>individual <00:12:46.325>Java <00:12:46.465>script, <00:12:46.605>um,

270
00:12:49.955 --> 00:12:51.465
<00:12:49.955>files, <00:12:50.181>you <00:12:50.408>will <00:12:50.634>see <00:12:50.861>something <00:12:51.087>like <00:12:51.314>that.

271
00:12:51.995 --> 00:12:54.025
<00:12:51.995>Again, <00:12:52.170>some <00:12:52.345>of <00:12:52.520>you <00:12:52.695>may <00:12:52.870>have <00:12:53.045>seen <00:12:53.220>this <00:12:53.395>already,

272
00:12:54.285 --> 00:12:56.425
<00:12:54.285>and <00:12:54.440>for <00:12:54.596>those <00:12:54.751>of <00:12:54.907>you <00:12:55.062>who <00:12:55.218>know <00:12:55.373>frameworks <00:12:55.529>like <00:12:55.685>React,

273
00:12:56.425 --> 00:12:58.545
<00:12:56.425>this <00:12:56.625>may <00:12:56.824>even <00:12:57.025>be <00:12:57.224>familiar <00:12:57.425>to <00:12:57.625>some <00:12:57.824>extent.

274
00:12:58.965 --> 00:13:01.345
<00:12:58.965>But <00:12:59.120>let's <00:12:59.276>go <00:12:59.431>through <00:12:59.587>this, <00:12:59.742>uh, <00:12:59.898>step <00:13:00.053>by <00:13:00.209>step, <00:13:00.365>right?

275
00:13:01.345 --> 00:13:04.705
<00:13:01.345>So <00:13:01.500>this <00:13:01.656>is <00:13:01.811>a <00:13:01.967>custom <00:13:02.122>element, <00:13:02.278>starting <00:13:02.433>with <00:13:02.589>the <00:13:02.745>definition

276
00:13:04.805 --> 00:13:08.025
<00:13:04.805>of <00:13:04.960>a <00:13:05.116>custom <00:13:05.271>element <00:13:05.427>with <00:13:05.582>the <00:13:05.738>custom <00:13:05.893>elements <00:13:06.049>defined <00:13:06.204>API

277
00:13:08.455 --> 00:13:09.665
<00:13:08.455>that <00:13:08.818>takes <00:13:09.181>two <00:13:09.544>parameters.

278
00:13:09.805 --> 00:13:11.865
<00:13:09.805>One <00:13:10.084>is <00:13:10.364>the, <00:13:10.645>um, <00:13:10.925>component <00:13:11.204>name.

279
00:13:12.285 --> 00:13:14.465
<00:13:12.285>So <00:13:12.425>what <00:13:12.564>you <00:13:12.704>see <00:13:12.844>on <00:13:12.985>the <00:13:13.125>left <00:13:13.265>hand <00:13:13.405>side <00:13:13.545>in <00:13:13.685>HDML

280
00:13:15.125 --> 00:13:17.425
<00:13:15.125>at <00:13:15.280>the <00:13:15.436>right <00:13:15.591>hand, <00:13:15.747>and <00:13:15.902>we're <00:13:16.058>doing <00:13:16.213>this <00:13:16.369>inline <00:13:16.525>here,

281
00:13:17.645 --> 00:13:20.745
<00:13:17.645>is <00:13:17.925>defining <00:13:18.204>a <00:13:18.485>class <00:13:18.765>that <00:13:19.045>derives

282
00:13:21.295 --> 00:13:24.065
<00:13:21.295>from <00:13:21.528>the <00:13:21.761>global <00:13:21.995>HDML <00:13:22.228>element <00:13:22.461>class, <00:13:22.694>right?

283
00:13:25.165 --> 00:13:29.385
<00:13:25.165>So <00:13:25.281>this <00:13:25.398>whole <00:13:25.515>thing <00:13:25.631>has, <00:13:25.748>uh, <00:13:25.865>as <00:13:25.981>you <00:13:26.098>already <00:13:26.214>may <00:13:26.331>see, <00:13:26.448>a <00:13:26.564>few,

284
00:13:29.765 --> 00:13:32.865
<00:13:29.765>um, <00:13:29.939>uh, <00:13:30.115>contains <00:13:30.290>the <00:13:30.465>actual <00:13:30.640>H <00:13:30.814>TM <00:13:30.990>L <00:13:31.165>here.

285
00:13:33.205 --> 00:13:35.705
<00:13:33.205>And <00:13:33.345>again, <00:13:33.485>this <00:13:33.625>is, <00:13:33.765>uh, <00:13:33.905>quite <00:13:34.045>familiar <00:13:34.185>to <00:13:34.325>people <00:13:34.465>who <00:13:34.605>work

286
00:13:35.705 --> 00:13:38.145
<00:13:35.705>with <00:13:35.905>component, <00:13:36.105>uh, <00:13:36.305>frameworks <00:13:36.505>such <00:13:36.705>as, <00:13:36.905>uh, <00:13:37.105>react.

287
00:13:39.005 --> 00:13:41.625
<00:13:39.005>And <00:13:39.132>you <00:13:39.259>will <00:13:39.386>also <00:13:39.514>see <00:13:39.641>that <00:13:39.768>it <00:13:39.895>has <00:13:40.023>several <00:13:40.150>life <00:13:40.277>cycle, <00:13:40.405>um,

288
00:13:41.655 --> 00:13:45.585
<00:13:41.655>methods <00:13:41.855>that <00:13:42.055>would, <00:13:42.255>uh, <00:13:42.454>be <00:13:42.655>able <00:13:42.855>to, <00:13:43.055>uh,

289
00:13:46.145 --> 00:13:48.265
<00:13:46.145>register <00:13:46.425>the <00:13:46.704>attributes <00:13:46.985>of <00:13:47.265>this <00:13:47.545>component

290
00:13:49.165 --> 00:13:51.465
<00:13:49.165>and <00:13:49.365>then <00:13:49.564>later <00:13:49.765>interact <00:13:49.964>in <00:13:50.165>the <00:13:50.365>other <00:13:50.564>direction.

291
00:13:51.925 --> 00:13:54.625
<00:13:51.925>And, <00:13:52.125>uh, <00:13:52.324>these <00:13:52.525>attributes <00:13:52.724>that <00:13:52.925>we <00:13:53.125>have <00:13:53.324>here,

292
00:13:54.655 --> 00:13:56.425
<00:13:54.655>they <00:13:54.935>are <00:13:55.214>crucial <00:13:55.495>for <00:13:55.775>this <00:13:56.055>approach

293
00:13:56.425 --> 00:14:00.905
<00:13:56.425>because <00:13:56.599>attributes <00:13:56.775>in <00:13:56.949>our <00:13:57.125>case <00:13:57.300>are <00:13:57.474>the <00:13:57.650>incoming <00:13:57.824>interface

294
00:14:01.685 --> 00:14:04.145
<00:14:01.685>to <00:14:01.885>which <00:14:02.084>we <00:14:02.285>interact <00:14:02.484>between <00:14:02.685>the <00:14:02.885>host <00:14:03.084>page

295
00:14:04.805 --> 00:14:06.065
<00:14:04.805>and <00:14:05.088>the <00:14:05.372>micro <00:14:05.655>front <00:14:05.939>end.

296
00:14:06.845 --> 00:14:09.745
<00:14:06.845>So <00:14:07.045>this <00:14:07.245>is <00:14:07.445>a <00:14:07.645>very <00:14:07.845>important <00:14:08.045>design <00:14:08.245>consideration

297
00:14:09.745 --> 00:14:12.585
<00:14:09.745>because <00:14:09.920>similar, <00:14:10.095>like <00:14:10.270>when <00:14:10.445>you <00:14:10.620>design <00:14:10.795>a <00:14:10.970>rest <00:14:11.145>API

298
00:14:12.605 --> 00:14:15.145
<00:14:12.605>or <00:14:12.760>anything <00:14:12.916>else <00:14:13.071>that <00:14:13.227>has <00:14:13.382>to <00:14:13.538>interact <00:14:13.693>with <00:14:13.849>the <00:14:14.005>consumer

299
00:14:15.175 --> 00:14:17.025
<00:14:15.175>that <00:14:15.454>you <00:14:15.734>don't <00:14:16.015>control, <00:14:16.295>you <00:14:16.574>need

300
00:14:17.025 --> 00:14:19.865
<00:14:17.025>to <00:14:17.199>be <00:14:17.375>very <00:14:17.550>intentional <00:14:17.725>about <00:14:17.900>which <00:14:18.074>kind <00:14:18.250>of <00:14:18.425>properties

301
00:14:20.445 --> 00:14:23.105
<00:14:20.445>you <00:14:20.600>would <00:14:20.756>define <00:14:20.911>and <00:14:21.067>which <00:14:21.222>kind <00:14:21.378>of <00:14:21.533>parameters <00:14:21.689>they <00:14:21.845>take.

302
00:14:23.525 --> 00:14:25.985
<00:14:23.525>You <00:14:23.699>will <00:14:23.875>want <00:14:24.050>to <00:14:24.225>put <00:14:24.400>some <00:14:24.574>thought <00:14:24.750>into <00:14:24.925>validation,

303
00:14:26.925 --> 00:14:29.865
<00:14:26.925>and, <00:14:27.080>uh, <00:14:27.236>you <00:14:27.391>will <00:14:27.547>also <00:14:27.702>need <00:14:27.858>to <00:14:28.013>think <00:14:28.169>about, <00:14:28.324>uh,

304
00:14:29.865 --> 00:14:31.585
<00:14:29.865>lifecycle <00:14:30.565>management, <00:14:31.265>right?

305
00:14:32.165 --> 00:14:33.785
<00:14:32.165>So <00:14:32.515>this, <00:14:32.865>uh, <00:14:33.214>first <00:14:33.564>yeah,

306
00:14:33.785 --> 00:14:35.185
<00:14:33.785>orange <00:14:33.995>block <00:14:34.204>on <00:14:34.415>the <00:14:34.625>right <00:14:34.834>hand <00:14:35.045>side,

307
00:14:35.245 --> 00:14:38.065
<00:14:35.245>the <00:14:35.478>static <00:14:35.711>observed <00:14:35.945>attributes, <00:14:36.178>uh, <00:14:36.411>methods, <00:14:36.645>uh,

308
00:14:38.085 --> 00:14:42.025
<00:14:38.085>it <00:14:38.285>will <00:14:38.485>statically <00:14:38.685>return <00:14:38.885>the <00:14:39.085>possible, <00:14:39.285>uh, <00:14:39.485>attributes

309
00:14:42.025 --> 00:14:43.385
<00:14:42.025>that <00:14:42.433>this <00:14:42.841>component <00:14:43.249>accepts.

310
00:14:44.485 --> 00:14:48.265
<00:14:44.485>And, <00:14:44.625>uh, <00:14:44.765>the <00:14:44.905>second <00:14:45.045>block <00:14:45.185>would <00:14:45.325>be <00:14:45.465>the, <00:14:45.605>uh, <00:14:45.745>runtime <00:14:45.885>listener

311
00:14:48.605 --> 00:14:49.905
<00:14:48.605>to <00:14:48.897>changes <00:14:49.190>on <00:14:49.482>this <00:14:49.775>attribute.

312
00:14:49.925 --> 00:14:53.325
<00:14:49.925>So <00:14:50.064>this <00:14:50.204>means <00:14:50.344>we <00:14:50.484>can <00:14:50.625>interact <00:14:50.765>with <00:14:50.905>the <00:14:51.045>component <00:14:51.185>at <00:14:51.324>runtime

313
00:14:54.265 --> 00:14:57.005
<00:14:54.265>by <00:14:54.615>changing <00:14:54.965>attribute <00:14:55.314>values, <00:14:55.665>okay?

314
00:14:57.115 --> 00:15:00.725
<00:14:57.115>Keep <00:14:57.315>that <00:14:57.515>in <00:14:57.715>mind. <00:14:57.915>Now, <00:14:58.115>for <00:14:58.315>outgoing <00:14:58.515>communication,

315
00:15:01.785 --> 00:15:04.045
<00:15:01.785>we <00:15:02.064>can <00:15:02.344>use, <00:15:02.625>uh, <00:15:02.905>custom <00:15:03.185>events.

316
00:15:04.425 --> 00:15:07.445
<00:15:04.425>So <00:15:04.552>this <00:15:04.679>is <00:15:04.806>an <00:15:04.934>API <00:15:05.061>that <00:15:05.188>should <00:15:05.315>also <00:15:05.443>be <00:15:05.570>known <00:15:05.697>by, <00:15:05.824>uh,

317
00:15:07.905 --> 00:15:09.085
<00:15:07.905>web <00:15:08.259>developers <00:15:08.613>these <00:15:08.967>days.

318
00:15:09.385 --> 00:15:13.965
<00:15:09.385>So, <00:15:09.525>uh, <00:15:09.665>you <00:15:09.805>are <00:15:09.944>very <00:15:10.085>familiar <00:15:10.225>with <00:15:10.365>click <00:15:10.505>events <00:15:10.645>or <00:15:10.785>hs,

319
00:15:14.425 --> 00:15:17.885
<00:15:14.425>but <00:15:14.552>here, <00:15:14.679>in <00:15:14.806>this <00:15:14.934>case, <00:15:15.061>we <00:15:15.188>are <00:15:15.315>using <00:15:15.443>the <00:15:15.570>custom <00:15:15.697>event, <00:15:15.824>API

320
00:15:17.885 --> 00:15:19.965
<00:15:17.885>to <00:15:18.118>create <00:15:18.351>our <00:15:18.585>own <00:15:18.818>synthetic <00:15:19.051>event, <00:15:19.285>right?

321
00:15:19.985 --> 00:15:22.685
<00:15:19.985>So <00:15:20.185>you <00:15:20.385>see <00:15:20.585>this, <00:15:20.785>uh, <00:15:20.985>payload <00:15:21.185>of <00:15:21.385>detail

322
00:15:22.685 --> 00:15:25.925
<00:15:22.685>where <00:15:22.859>you <00:15:23.035>would <00:15:23.209>put <00:15:23.385>your <00:15:23.560>actual, <00:15:23.734>uh, <00:15:23.910>uh, <00:15:24.084>semantics

323
00:15:25.925 --> 00:15:27.885
<00:15:25.925>of <00:15:26.125>the <00:15:26.324>payload, <00:15:26.525>and <00:15:26.724>it <00:15:26.925>has <00:15:27.125>this <00:15:27.324>bubbles

324
00:15:28.045 --> 00:15:30.245
<00:15:28.045>and <00:15:28.324>composed <00:15:28.604>attribute <00:15:28.885>that <00:15:29.165>we <00:15:29.444>need

325
00:15:30.245 --> 00:15:33.165
<00:15:30.245>because, <00:15:30.400>uh, <00:15:30.556>in <00:15:30.711>these <00:15:30.867>components <00:15:31.022>we <00:15:31.178>are <00:15:31.333>using <00:15:31.489>a <00:15:31.645>so-called

326
00:15:33.165 --> 00:15:36.485
<00:15:33.165>Shadow <00:15:33.339>dorm, <00:15:33.515>which <00:15:33.689>is <00:15:33.865>a <00:15:34.040>kind <00:15:34.214>of <00:15:34.390>encapsulation, <00:15:34.564>uh,

327
00:15:36.485 --> 00:15:40.485
<00:15:36.485>that <00:15:36.640>will <00:15:36.796>protect <00:15:36.951>the, <00:15:37.107>um, <00:15:37.262>internals <00:15:37.418>of <00:15:37.573>this <00:15:37.729>component <00:15:37.885>from,

328
00:15:40.585 --> 00:15:42.525
<00:15:40.585>uh, <00:15:40.865>being <00:15:41.145>interfered <00:15:41.425>by <00:15:41.705>the <00:15:41.985>outside.

329
00:15:43.145 --> 00:15:47.805
<00:15:43.145>So <00:15:43.285>this <00:15:43.425>is <00:15:43.564>the <00:15:43.704>way <00:15:43.845>to <00:15:43.985>communicate <00:15:44.125>from <00:15:44.265>within <00:15:44.405>the <00:15:44.545>component

330
00:15:47.865 --> 00:15:52.605
<00:15:47.865>of <00:15:47.992>the <00:15:48.119>micro <00:15:48.246>front <00:15:48.374>in <00:15:48.501>this <00:15:48.628>case <00:15:48.755>with <00:15:48.883>the <00:15:49.010>host <00:15:49.137>page, <00:15:49.265>okay?

331
00:15:52.985 --> 00:15:55.365
<00:15:52.985>So <00:15:53.160>when <00:15:53.335>we <00:15:53.510>talk <00:15:53.685>about <00:15:53.860>APIs, <00:15:54.035>we <00:15:54.210>have <00:15:54.385>incoming

332
00:15:55.545 --> 00:15:57.765
<00:15:55.545>and <00:15:55.895>outgoing <00:15:56.245>ways <00:15:56.594>of <00:15:56.944>communicating.

333
00:15:58.265 --> 00:15:59.805
<00:15:58.265>And <00:15:58.542>this <00:15:58.819>is <00:15:59.096>very <00:15:59.373>well <00:15:59.651>suited

334
00:15:59.805 --> 00:16:01.445
<00:15:59.805>for <00:16:00.084>an <00:16:00.364>event <00:16:00.645>driven <00:16:00.925>approach, <00:16:01.204>right?

335
00:16:01.445 --> 00:16:05.085
<00:16:01.445>This <00:16:01.585>is <00:16:01.725>not <00:16:01.865>synchronous, <00:16:02.005>but <00:16:02.145>you <00:16:02.285>can <00:16:02.425>have <00:16:02.565>things <00:16:02.705>going <00:16:02.845>in

336
00:16:05.705 --> 00:16:08.885
<00:16:05.705>and <00:16:05.880>then <00:16:06.055>literally <00:16:06.230>react <00:16:06.405>to <00:16:06.580>them, <00:16:06.755>throw <00:16:06.930>an <00:16:07.105>event,

337
00:16:08.955 --> 00:16:10.285
<00:16:08.955>have <00:16:09.254>it <00:16:09.553>being <00:16:09.852>consumed <00:16:10.151>again,

338
00:16:10.625 --> 00:16:13.205
<00:16:10.625>and <00:16:10.800>then <00:16:10.975>interact <00:16:11.150>between <00:16:11.325>the <00:16:11.500>components <00:16:11.675>on <00:16:11.850>your <00:16:12.025>website.

339
00:16:14.795 --> 00:16:19.485
<00:16:14.795>Okay? <00:16:14.969>So <00:16:15.145>when <00:16:15.319>you <00:16:15.495>do <00:16:15.670>this, <00:16:15.844>uh, <00:16:16.020>when <00:16:16.194>you,

340
00:16:19.485 --> 00:16:22.925
<00:16:19.485>when <00:16:19.625>you <00:16:19.765>throw <00:16:19.905>an <00:16:20.045>event <00:16:20.185>out, <00:16:20.325>you <00:16:20.465>will <00:16:20.605>see <00:16:20.745>that, <00:16:20.885>um,

341
00:16:25.265 --> 00:16:27.205
<00:16:25.265>you, <00:16:25.498>you, <00:16:25.731>uh, <00:16:25.965>have <00:16:26.198>dispatched <00:16:26.431>this <00:16:26.665>event.

342
00:16:28.145 --> 00:16:31.445
<00:16:28.145>And, <00:16:28.272>uh, <00:16:28.399>on <00:16:28.526>the <00:16:28.654>left <00:16:28.781>hand <00:16:28.908>side, <00:16:29.035>again, <00:16:29.163>you <00:16:29.290>will <00:16:29.417>see <00:16:29.545>that,

343
00:16:31.505 --> 00:16:35.125
<00:16:31.505>uh, <00:16:31.660>we <00:16:31.816>are <00:16:31.971>using <00:16:32.127>one <00:16:32.282>attribute <00:16:32.438>is <00:16:32.593>called <00:16:32.749>language, <00:16:32.905>right?

344
00:16:35.785 --> 00:16:38.565
<00:16:35.785>And <00:16:35.912>it <00:16:36.039>could <00:16:36.166>be <00:16:36.294>other <00:16:36.421>attributes <00:16:36.548>as <00:16:36.675>well <00:16:36.803>that <00:16:36.930>are <00:16:37.057>more, <00:16:37.185>uh,

345
00:16:38.745 --> 00:16:41.365
<00:16:38.745>domain <00:16:39.025>specific, <00:16:39.305>uh, <00:16:39.585>such <00:16:39.865>as, <00:16:40.145>uh,

346
00:16:41.505 --> 00:16:44.045
<00:16:41.505>in <00:16:41.660>the <00:16:41.816>search <00:16:41.971>form <00:16:42.127>you <00:16:42.282>would <00:16:42.438>have <00:16:42.593>something <00:16:42.749>that, <00:16:42.905>uh,

347
00:16:44.925 --> 00:16:47.005
<00:16:44.925>configures <00:16:45.204>the, <00:16:45.484>uh, <00:16:45.765>maybe <00:16:46.045>the <00:16:46.324>layout

348
00:16:47.105 --> 00:16:48.565
<00:16:47.105>or <00:16:47.324>the <00:16:47.543>form <00:16:47.762>fields <00:16:47.981>that <00:16:48.200>are <00:16:48.419>shown,

349
00:16:48.945 --> 00:16:51.805
<00:16:48.945>and <00:16:49.085>we'll <00:16:49.225>later <00:16:49.365>see <00:16:49.505>how <00:16:49.645>we <00:16:49.785>can <00:16:49.925>influence <00:16:50.065>the <00:16:50.205>result <00:16:50.345>list.

350
00:16:52.505 --> 00:16:54.605
<00:16:52.505>So <00:16:52.785>the <00:16:53.064>initial <00:16:53.345>configuration <00:16:53.625>is <00:16:53.905>placed

351
00:16:54.605 --> 00:16:55.805
<00:16:54.605>there <00:16:54.875>when <00:16:55.145>the <00:16:55.415>page <00:16:55.685>loads.

352
00:16:55.945 --> 00:16:58.245
<00:16:55.945>So <00:16:56.120>however <00:16:56.295>you <00:16:56.470>deliver <00:16:56.645>that <00:16:56.820>page, <00:16:56.995>it <00:16:57.170>could <00:16:57.345>be

353
00:16:58.245 --> 00:17:00.725
<00:16:58.245>through <00:16:58.525>static <00:16:58.805>site <00:16:59.085>generation <00:16:59.365>or <00:16:59.645>handcrafted,

354
00:17:00.745 --> 00:17:03.605
<00:17:00.745>or <00:17:00.872>I <00:17:00.999>don't <00:17:01.126>know, <00:17:01.254>maybe <00:17:01.381>when <00:17:01.508>you <00:17:01.635>come <00:17:01.763>from <00:17:01.890>a <00:17:02.017>legacy <00:17:02.145>world,

355
00:17:03.605 --> 00:17:05.165
<00:17:03.605>it <00:17:03.885>could <00:17:04.165>be <00:17:04.444>delivered <00:17:04.724>through <00:17:05.005>PHP,

356
00:17:05.665 --> 00:17:07.125
<00:17:05.665>you <00:17:05.927>would <00:17:06.190>place <00:17:06.453>those <00:17:06.716>elements <00:17:06.979>there

357
00:17:07.125 --> 00:17:08.725
<00:17:07.125>with <00:17:07.591>an <00:17:08.058>initial <00:17:08.525>configuration.

358
00:17:10.275 --> 00:17:11.615
<00:17:10.275>And <00:17:10.576>in <00:17:10.878>a <00:17:11.179>second <00:17:11.481>step,

359
00:17:12.665 --> 00:17:15.565
<00:17:12.665>you <00:17:12.805>would <00:17:12.944>also <00:17:13.085>create <00:17:13.224>an <00:17:13.365>event <00:17:13.504>listener <00:17:13.645>there <00:17:13.784>on <00:17:13.925>the <00:17:14.065>host

360
00:17:15.715 --> 00:17:19.445
<00:17:15.714>page <00:17:15.842>that <00:17:15.969>would <00:17:16.096>be <00:17:16.224>able <00:17:16.351>to <00:17:16.478>catch <00:17:16.605>those <00:17:16.733>events <00:17:16.860>that <00:17:16.987>are, <00:17:17.115>uh,

361
00:17:19.505 --> 00:17:22.485
<00:17:19.505>for <00:17:19.680>instance, <00:17:19.855>triggered <00:17:20.030>by <00:17:20.205>submission <00:17:20.380>of <00:17:20.555>this <00:17:20.730>search <00:17:20.905>form.

362
00:17:23.305 --> 00:17:25.445
<00:17:23.305>And <00:17:23.505>now <00:17:23.705>you <00:17:23.905>see <00:17:24.105>here <00:17:24.305>in <00:17:24.505>line <00:17:24.705>16

363
00:17:25.445 --> 00:17:28.045
<00:17:25.444>and <00:17:25.645>17, <00:17:25.845>that <00:17:26.044>we <00:17:26.244>will <00:17:26.444>catch <00:17:26.645>this <00:17:26.845>event

364
00:17:28.145 --> 00:17:31.125
<00:17:28.145>and <00:17:28.494>propagate <00:17:28.845>the <00:17:29.195>event <00:17:29.545>payload

365
00:17:31.125 --> 00:17:33.925
<00:17:31.125>or <00:17:31.300>transform <00:17:31.475>it <00:17:31.650>if <00:17:31.825>necessary, <00:17:32.000>into <00:17:32.175>the <00:17:32.350>search <00:17:32.525>form.

366
00:17:34.545 --> 00:17:37.735
<00:17:34.545>So <00:17:34.720>the <00:17:34.895>search, <00:17:35.070>uh, <00:17:35.245>sorry, <00:17:35.420>in <00:17:35.595>the <00:17:35.770>result <00:17:35.945>list,

367
00:17:37.795 --> 00:17:40.455
<00:17:37.795>the <00:17:37.970>search <00:17:38.145>form, <00:17:38.320>the <00:17:38.495>result <00:17:38.670>is <00:17:38.845>do <00:17:39.020>not <00:17:39.195>communicate

368
00:17:40.525 --> 00:17:41.775
<00:17:40.525>with <00:17:40.900>each <00:17:41.275>other <00:17:41.650>directly,

369
00:17:42.085 --> 00:17:44.375
<00:17:42.085>because <00:17:42.285>this <00:17:42.485>would <00:17:42.685>create <00:17:42.885>a <00:17:43.085>coupling <00:17:43.285>between <00:17:43.485>them.

370
00:17:44.405 --> 00:17:48.375
<00:17:44.405>They <00:17:44.545>would <00:17:44.685>have <00:17:44.825>to <00:17:44.965>know <00:17:45.105>that <00:17:45.245>they <00:17:45.385>are <00:17:45.524>there <00:17:45.665>mutually, <00:17:45.805>uh,

371
00:17:48.395 --> 00:17:50.885
<00:17:48.395>you <00:17:48.550>would <00:17:48.706>expect <00:17:48.861>that, <00:17:49.017>uh, <00:17:49.172>they <00:17:49.328>have <00:17:49.483>a <00:17:49.639>certain <00:17:49.795>way

372
00:17:50.885 --> 00:17:53.805
<00:17:50.885>of <00:17:51.060>communicating, <00:17:51.235>but <00:17:51.410>this <00:17:51.585>would <00:17:51.760>then <00:17:51.935>take <00:17:52.110>away <00:17:52.285>the

373
00:17:53.805 --> 00:17:56.045
<00:17:53.805>opportunity <00:17:54.085>to <00:17:54.365>deploy, <00:17:54.645>deploy <00:17:54.925>them <00:17:55.205>independently.

374
00:17:56.585 --> 00:17:59.445
<00:17:56.585>So <00:17:56.701>what <00:17:56.818>you <00:17:56.935>do <00:17:57.051>here <00:17:57.168>is <00:17:57.285>you <00:17:57.401>just <00:17:57.518>throw <00:17:57.635>an <00:17:57.751>event <00:17:57.868>to <00:17:57.985>the

375
00:17:59.445 --> 00:18:03.285
<00:17:59.445>outside, <00:17:59.600>let <00:17:59.756>it <00:17:59.911>be <00:18:00.067>consumed <00:18:00.222>by <00:18:00.378>the <00:18:00.533>shared <00:18:00.689>host <00:18:00.845>environment,

376
00:18:03.785 --> 00:18:07.125
<00:18:03.785>and <00:18:03.940>then <00:18:04.096>forward <00:18:04.251>it <00:18:04.407>to <00:18:04.562>the <00:18:04.718>actual <00:18:04.873>consumer <00:18:05.029>that <00:18:05.185>needs

377
00:18:07.125 --> 00:18:09.285
<00:18:07.125>to <00:18:07.405>change <00:18:07.685>its <00:18:07.965>state <00:18:08.245>then, <00:18:08.525>right?

378
00:18:10.105 --> 00:18:12.125
<00:18:10.105>So, <00:18:10.385>oops, <00:18:10.665>forgot <00:18:10.945>to <00:18:11.225>change <00:18:11.505>this.

379
00:18:12.745 --> 00:18:17.725
<00:18:12.745>Um, <00:18:12.945>now <00:18:13.145>you <00:18:13.344>see <00:18:13.544>here <00:18:13.745>that <00:18:13.945>we <00:18:14.145>have,

380
00:18:18.025 --> 00:18:22.405
<00:18:18.025>um, <00:18:18.165>the <00:18:18.305>attributes <00:18:18.445>that <00:18:18.585>are <00:18:18.725>the <00:18:18.865>payload <00:18:19.005>for <00:18:19.145>the <00:18:19.285>search <00:18:19.425>form.

381
00:18:22.945 --> 00:18:27.845
<00:18:22.945>And <00:18:23.100>this <00:18:23.256>would <00:18:23.411>then <00:18:23.567>create <00:18:23.722>the <00:18:23.878>new <00:18:24.033>state <00:18:24.189>of <00:18:24.345>the,

382
00:18:28.145 --> 00:18:31.525
<00:18:28.145>uh, <00:18:28.320>search, <00:18:28.495>meaning <00:18:28.670>that <00:18:28.845>it <00:18:29.020>would <00:18:29.195>know <00:18:29.370>which <00:18:29.545>flights

383
00:18:31.525 --> 00:18:35.965
<00:18:31.525>to <00:18:31.652>pick <00:18:31.779>up <00:18:31.906>and <00:18:32.034>then, <00:18:32.161>uh, <00:18:32.288>to <00:18:32.415>show <00:18:32.543>to <00:18:32.670>the <00:18:32.797>consumer, <00:18:32.925>okay?

384
00:18:35.965 --> 00:18:38.205
<00:18:35.965>So <00:18:36.165>this <00:18:36.365>would <00:18:36.564>update <00:18:36.764>its <00:18:36.965>configuration <00:18:37.165>of <00:18:37.365>attributes,

385
00:18:38.705 --> 00:18:41.445
<00:18:38.705>and <00:18:38.879>then <00:18:39.054>to <00:18:39.230>this, <00:18:39.405>uh, <00:18:39.580>listener <00:18:39.754>on <00:18:39.929>the, <00:18:40.105>um,

386
00:18:42.105 --> 00:18:44.285
<00:18:42.105>on <00:18:42.338>the <00:18:42.571>attributes, <00:18:42.805>it <00:18:43.038>would <00:18:43.271>update <00:18:43.505>and,

387
00:18:44.285 --> 00:18:46.165
<00:18:44.285>and <00:18:44.485>pick <00:18:44.685>the <00:18:44.885>flights <00:18:45.085>from <00:18:45.285>the <00:18:45.485>back <00:18:45.685>end

388
00:18:46.545 --> 00:18:47.805
<00:18:46.545>and <00:18:46.734>show <00:18:46.923>it <00:18:47.112>in <00:18:47.301>the <00:18:47.490>front <00:18:47.679>end.

389
00:18:48.115 --> 00:18:52.995
<00:18:48.115>Okay? <00:18:48.465>Now <00:18:48.815>you <00:18:49.165>see <00:18:49.515>here

390
00:18:53.065 --> 00:18:54.635
<00:18:53.065>that <00:18:53.415>when <00:18:53.765>you <00:18:54.115>do <00:18:54.465>this,

391
00:18:54.775 --> 00:18:57.955
<00:18:54.775>you <00:18:54.930>could <00:18:55.086>imagine <00:18:55.241>if <00:18:55.397>you <00:18:55.552>actually <00:18:55.708>look <00:18:55.863>into <00:18:56.019>the, <00:18:56.175>um,

392
00:18:58.655 --> 00:19:00.755
<00:18:58.655>dev <00:18:58.830>tools <00:18:59.004>of <00:18:59.180>a <00:18:59.355>browser, <00:18:59.530>will, <00:18:59.705>uh, <00:18:59.879>be <00:19:00.055>able

393
00:19:00.755 --> 00:19:03.595
<00:19:00.755>to <00:19:00.930>see <00:19:01.105>this <00:19:01.280>happening, <00:19:01.455>you <00:19:01.630>would <00:19:01.805>actually <00:19:01.980>update <00:19:02.155>these

394
00:19:03.595 --> 00:19:05.325
<00:19:03.595>attributes, <00:19:04.995>okay?

395
00:19:06.085 --> 00:19:09.335
<00:19:06.085>Picking <00:19:06.212>up <00:19:06.339>the, <00:19:06.466>uh, <00:19:06.594>from <00:19:06.721>the <00:19:06.848>front, <00:19:06.975>uh, <00:19:07.103>from <00:19:07.230>the <00:19:07.357>back <00:19:07.485>end.

396
00:19:11.535 --> 00:19:15.555
<00:19:11.535>So <00:19:11.690>this <00:19:11.846>is <00:19:12.001>the <00:19:12.157>technical <00:19:12.312>implementation <00:19:12.468>of <00:19:12.623>how <00:19:12.779>you <00:19:12.935>would,

397
00:19:16.945 --> 00:19:19.565
<00:19:16.945>uh, <00:19:17.120>interact <00:19:17.294>between <00:19:17.470>two <00:19:17.645>front <00:19:17.820>ends <00:19:17.995>using <00:19:18.169>the <00:19:18.345>host

398
00:19:19.565 --> 00:19:20.685
<00:19:19.565>patient <00:19:19.901>events <00:19:20.237>in <00:19:20.572>there.

399
00:19:21.305 --> 00:19:24.685
<00:19:21.305>But <00:19:21.460>the <00:19:21.616>problem <00:19:21.771>with <00:19:21.927>that <00:19:22.082>is <00:19:22.238>this <00:19:22.393>is <00:19:22.549>not <00:19:22.705>standardized.

400
00:19:24.785 --> 00:19:28.045
<00:19:24.785>So <00:19:24.940>if <00:19:25.096>you <00:19:25.251>want <00:19:25.407>to <00:19:25.562>have <00:19:25.718>independent <00:19:25.873>teams <00:19:26.029>delivering <00:19:26.185>these,

401
00:19:28.585 --> 00:19:30.445
<00:19:28.585>um, <00:19:29.051>micro <00:19:29.518>front <00:19:29.985>ends

402
00:19:30.445 --> 00:19:33.165
<00:19:30.445>and <00:19:30.678>then <00:19:30.911>having <00:19:31.145>a <00:19:31.378>coherent <00:19:31.611>web <00:19:31.845>experience

403
00:19:33.185 --> 00:19:37.365
<00:19:33.185>and <00:19:33.340>expecting <00:19:33.496>this <00:19:33.651>to <00:19:33.807>live <00:19:33.962>on, <00:19:34.118>to <00:19:34.273>evolve, <00:19:34.429>you <00:19:34.585>need

404
00:19:37.365 --> 00:19:40.285
<00:19:37.365>to <00:19:37.540>have <00:19:37.715>some <00:19:37.890>sort <00:19:38.065>of <00:19:38.240>contract <00:19:38.415>between <00:19:38.590>those <00:19:38.765>structures.

405
00:19:41.105 --> 00:19:45.165
<00:19:41.105>And <00:19:41.260>this <00:19:41.416>is <00:19:41.571>where, <00:19:41.727>uh, <00:19:41.882>so <00:19:42.038>there's <00:19:42.193>a <00:19:42.349>little, <00:19:42.505>uh,

406
00:19:45.405 --> 00:19:46.725
<00:19:45.405>standard <00:19:45.801>called <00:19:46.197>open <00:19:46.592>MFE.

407
00:19:47.625 --> 00:19:50.045
<00:19:47.625>Um, <00:19:47.858>this <00:19:48.091>is <00:19:48.325>an <00:19:48.558>open <00:19:48.791>source <00:19:49.025>project.

408
00:19:50.195 --> 00:19:52.085
<00:19:50.195>It's <00:19:50.395>not <00:19:50.595>affiliated <00:19:50.794>with <00:19:50.995>Amazon <00:19:51.195>in <00:19:51.395>any <00:19:51.595>way,

409
00:19:52.665 --> 00:19:55.525
<00:19:52.665>but <00:19:52.820>this <00:19:52.976>would <00:19:53.131>help <00:19:53.287>you <00:19:53.442>to <00:19:53.598>define <00:19:53.753>those <00:19:53.909>interface <00:19:54.065>contracts,

410
00:19:55.675 --> 00:19:59.565
<00:19:55.675>test <00:19:55.850>them, <00:19:56.024>and <00:19:56.200>to <00:19:56.375>publish <00:19:56.550>them <00:19:56.725>within <00:19:56.899>your <00:19:57.075>organization.

411
00:20:00.695 --> 00:20:02.425
<00:20:00.695>Okay? <00:20:01.044>'cause <00:20:01.395>in <00:20:01.745>the <00:20:02.095>end,

412
00:20:02.535 --> 00:20:04.865
<00:20:02.535>when <00:20:02.735>we <00:20:02.935>have <00:20:03.135>a <00:20:03.335>distributed <00:20:03.535>architecture, <00:20:03.735>we <00:20:03.935>want

413
00:20:04.865 --> 00:20:08.105
<00:20:04.865>to <00:20:05.005>give <00:20:05.145>autonomy <00:20:05.285>to <00:20:05.425>teams, <00:20:05.565>but <00:20:05.705>we <00:20:05.845>need <00:20:05.985>to <00:20:06.125>avoid <00:20:06.265>anarchy.

414
00:20:09.745 --> 00:20:11.805
<00:20:09.745>So <00:20:09.919>when <00:20:10.094>you <00:20:10.270>look <00:20:10.445>at <00:20:10.620>this <00:20:10.794>open <00:20:10.969>MFE <00:20:11.145>standard,

415
00:20:12.395 --> 00:20:15.165
<00:20:12.395>that <00:20:12.570>is <00:20:12.745>a <00:20:12.920>implementation <00:20:13.095>that <00:20:13.270>gives <00:20:13.445>you <00:20:13.620>a <00:20:13.795>specification.

416
00:20:15.265 --> 00:20:18.525
<00:20:15.265>So <00:20:15.440>how <00:20:15.615>should <00:20:15.790>micro <00:20:15.965>front <00:20:16.140>and <00:20:16.315>behave <00:20:16.490>at <00:20:16.665>runtime?

417
00:20:19.985 --> 00:20:24.325
<00:20:19.985>It <00:20:20.159>would <00:20:20.334>define, <00:20:20.510>uh, <00:20:20.685>how <00:20:20.860>they <00:20:21.034>would <00:20:21.209>avoid, <00:20:21.385>uh,

418
00:20:24.325 --> 00:20:27.165
<00:20:24.325>sidestepping <00:20:24.791>these, <00:20:25.258>um, <00:20:25.725>standards.

419
00:20:27.585 --> 00:20:31.365
<00:20:27.585>It <00:20:27.740>would <00:20:27.896>tell <00:20:28.051>you <00:20:28.207>how <00:20:28.362>to <00:20:28.518>formally <00:20:28.673>describe <00:20:28.829>these <00:20:28.985>contracts

420
00:20:31.945 --> 00:20:35.725
<00:20:31.945>and <00:20:32.085>would <00:20:32.225>give <00:20:32.365>you <00:20:32.504>similar <00:20:32.645>to, <00:20:32.784>uh, <00:20:32.925>the <00:20:33.064>open <00:20:33.205>API <00:20:33.345>standards

421
00:20:36.065 --> 00:20:37.325
<00:20:36.065>and <00:20:36.632>manifest <00:20:37.199>structure.

422
00:20:39.985 --> 00:20:42.225
<00:20:39.985>Together <00:20:40.159>with <00:20:40.334>that, <00:20:40.510>you <00:20:40.685>have <00:20:40.860>some <00:20:41.034>tooling, <00:20:41.209>for <00:20:41.385>instance,

423
00:20:42.285 --> 00:20:44.225
<00:20:42.285>you <00:20:42.565>can <00:20:42.845>then <00:20:43.125>test <00:20:43.405>those <00:20:43.685>contracts.

424
00:20:44.405 --> 00:20:45.905
<00:20:44.405>You <00:20:44.742>can, <00:20:45.080>uh, <00:20:45.417>see <00:20:45.754>that,

425
00:20:46.005 --> 00:20:48.605
<00:20:46.005>or <00:20:46.145>to <00:20:46.285>some <00:20:46.425>extent <00:20:46.565>you <00:20:46.705>can <00:20:46.845>test <00:20:46.985>that <00:20:47.125>they <00:20:47.265>don't, <00:20:47.405>uh,

426
00:20:49.035 --> 00:20:50.605
<00:20:49.035>violate <00:20:49.735>those <00:20:50.435>principles.

427
00:20:51.305 --> 00:20:54.165
<00:20:51.305>And <00:20:51.505>it <00:20:51.705>also <00:20:51.905>comes <00:20:52.105>with, <00:20:52.305>uh, <00:20:52.505>extensive <00:20:52.705>documentation

428
00:20:54.165 --> 00:20:55.165
<00:20:54.165>of <00:20:54.615>best <00:20:55.065>practices.

429
00:20:55.165 --> 00:20:58.605
<00:20:55.165>So <00:20:55.292>you <00:20:55.419>can <00:20:55.546>then <00:20:55.674>see, <00:20:55.801>uh, <00:20:55.928>how <00:20:56.055>to <00:20:56.183>build <00:20:56.310>this <00:20:56.437>in <00:20:56.565>practice.

430
00:20:59.945 --> 00:21:02.285
<00:20:59.945>So <00:21:00.145>coming <00:21:00.345>to <00:21:00.544>the, <00:21:00.745>uh, <00:21:00.945>first <00:21:01.145>point, <00:21:01.345>uh,

431
00:21:02.345 --> 00:21:04.165
<00:21:02.345>on <00:21:02.625>this <00:21:02.905>is <00:21:03.185>the <00:21:03.465>random <00:21:03.745>governance,

432
00:21:04.165 --> 00:21:05.365
<00:21:04.165>and <00:21:04.435>you <00:21:04.705>might <00:21:04.975>wonder, <00:21:05.245>okay,

433
00:21:06.305 --> 00:21:08.485
<00:21:06.305>why <00:21:06.480>do <00:21:06.655>we <00:21:06.830>need <00:21:07.005>governance <00:21:07.180>when <00:21:07.355>we <00:21:07.530>have <00:21:07.705>contracts?

434
00:21:08.485 --> 00:21:11.925
<00:21:08.485>And <00:21:08.612>the <00:21:08.739>reality <00:21:08.866>is, <00:21:08.994>as <00:21:09.121>all <00:21:09.248>those <00:21:09.375>things <00:21:09.503>meet <00:21:09.630>in <00:21:09.757>the <00:21:09.885>browser,

435
00:21:13.185 --> 00:21:16.485
<00:21:13.185>we <00:21:13.385>can <00:21:13.585>theoretically <00:21:13.784>bypass <00:21:13.985>some <00:21:14.185>of <00:21:14.385>those <00:21:14.585>provisions

436
00:21:16.625 --> 00:21:18.485
<00:21:16.625>and <00:21:16.905>create <00:21:17.185>a <00:21:17.465>so-called <00:21:17.745>side <00:21:18.025>channel.

437
00:21:19.465 --> 00:21:22.285
<00:21:19.465>For <00:21:19.605>instance, <00:21:19.745>if <00:21:19.885>you <00:21:20.024>have <00:21:20.165>a <00:21:20.304>such <00:21:20.445>a <00:21:20.584>micro <00:21:20.725>front <00:21:20.865>end,

438
00:21:22.515 --> 00:21:25.325
<00:21:22.515>theoretically <00:21:22.715>you <00:21:22.915>have <00:21:23.115>access <00:21:23.315>to <00:21:23.515>the <00:21:23.715>host <00:21:23.915>page

439
00:21:25.325 --> 00:21:26.925
<00:21:25.325>and <00:21:25.791>could <00:21:26.258>inject <00:21:26.725>CSS.

440
00:21:27.825 --> 00:21:29.085
<00:21:27.825>And <00:21:28.108>that's <00:21:28.392>often <00:21:28.675>the <00:21:28.959>first.

441
00:21:29.225 --> 00:21:30.765
<00:21:29.225>We <00:21:29.502>have <00:21:29.779>built <00:21:30.056>this <00:21:30.333>in <00:21:30.611>practice,

442
00:21:30.765 --> 00:21:32.605
<00:21:30.765>and <00:21:30.940>this <00:21:31.115>is <00:21:31.290>the <00:21:31.465>first, <00:21:31.640>uh, <00:21:31.815>kind <00:21:31.990>of <00:21:32.165>idea

443
00:21:32.605 --> 00:21:34.125
<00:21:32.605>that <00:21:32.878>developers <00:21:33.152>have <00:21:33.425>when <00:21:33.699>they <00:21:33.973>need

444
00:21:34.125 --> 00:21:36.085
<00:21:34.125>to <00:21:34.358>fix <00:21:34.591>something <00:21:34.825>on <00:21:35.058>the <00:21:35.291>host <00:21:35.525>page,

445
00:21:36.085 --> 00:21:38.885
<00:21:36.085>because <00:21:36.285>there's <00:21:36.485>some <00:21:36.685>collision <00:21:36.885>of <00:21:37.085>CSS <00:21:37.285>just, <00:21:37.485>uh,

446
00:21:39.425 --> 00:21:42.125
<00:21:39.425>modify <00:21:39.658>the <00:21:39.891>host <00:21:40.125>page, <00:21:40.358>overload <00:21:40.591>some <00:21:40.825>CSS

447
00:21:42.505 --> 00:21:43.685
<00:21:42.505>and <00:21:42.859>everything <00:21:43.213>looks <00:21:43.567>fine.

448
00:21:44.265 --> 00:21:45.885
<00:21:44.265>Of <00:21:44.545>course, <00:21:44.825>when <00:21:45.105>you <00:21:45.385>do <00:21:45.665>that,

449
00:21:46.625 --> 00:21:48.165
<00:21:46.625>you <00:21:46.971>are <00:21:47.318>breaking <00:21:47.664>those <00:21:48.011>boundaries

450
00:21:48.465 --> 00:21:50.805
<00:21:48.465>and <00:21:48.665>you <00:21:48.865>influence <00:21:49.064>the <00:21:49.264>behavior <00:21:49.465>of <00:21:49.665>a <00:21:49.865>component

451
00:21:50.805 --> 00:21:52.165
<00:21:50.805>that <00:21:51.049>doesn't <00:21:51.294>belong <00:21:51.539>to <00:21:51.784>your <00:21:52.029>context.

452
00:21:53.065 --> 00:21:54.845
<00:21:53.065>And <00:21:53.345>while <00:21:53.625>this <00:21:53.905>is <00:21:54.185>technically <00:21:54.465>possible,

453
00:21:54.845 --> 00:21:56.725
<00:21:54.845>it's <00:21:55.078>not <00:21:55.311>desired <00:21:55.545>in <00:21:55.778>such <00:21:56.011>an <00:21:56.245>architecture.

454
00:21:57.065 --> 00:21:58.925
<00:21:57.065>If <00:21:57.205>it's <00:21:57.345>an <00:21:57.485>issue, <00:21:57.625>then <00:21:57.765>of <00:21:57.905>course <00:21:58.045>you <00:21:58.185>need <00:21:58.325>to <00:21:58.465>talk

455
00:21:58.925 --> 00:22:01.365
<00:21:58.925>to <00:21:59.080>your <00:21:59.236>peers <00:21:59.391>and <00:21:59.547>address <00:21:59.702>this <00:21:59.858>in <00:22:00.013>some <00:22:00.169>other <00:22:00.325>way.

456
00:22:01.825 --> 00:22:04.485
<00:22:01.825>But <00:22:01.980>in <00:22:02.136>the <00:22:02.291>scope <00:22:02.447>of <00:22:02.602>the <00:22:02.758>micro <00:22:02.913>frontal, <00:22:03.069>we <00:22:03.225>need

457
00:22:04.485 --> 00:22:06.365
<00:22:04.485>to <00:22:04.718>prohibit <00:22:04.951>this <00:22:05.185>and <00:22:05.418>govern <00:22:05.651>this, <00:22:05.885>right?

458
00:22:06.905 --> 00:22:11.845
<00:22:06.905>So <00:22:07.012>what <00:22:07.120>we <00:22:07.228>do <00:22:07.335>is, <00:22:07.443>uh, <00:22:07.551>we <00:22:07.658>document <00:22:07.766>ways <00:22:07.874>of <00:22:07.981>how <00:22:08.089>to <00:22:08.197>avoid <00:22:08.305>this,

459
00:22:11.845 --> 00:22:14.565
<00:22:11.845>and <00:22:11.972>we <00:22:12.099>are <00:22:12.226>able <00:22:12.354>to <00:22:12.481>test <00:22:12.608>some <00:22:12.735>of <00:22:12.863>those <00:22:12.990>things, <00:22:13.117>not <00:22:13.245>all

460
00:22:14.565 --> 00:22:18.565
<00:22:14.565>of <00:22:14.672>them, <00:22:14.780>to <00:22:14.888>be <00:22:14.995>honest, <00:22:15.103>to <00:22:15.211>make <00:22:15.318>sure <00:22:15.426>we <00:22:15.534>do <00:22:15.641>not <00:22:15.749>create <00:22:15.857>a <00:22:15.965>mass

461
00:22:18.705 --> 00:22:21.325
<00:22:18.705>by, <00:22:18.985>uh, <00:22:19.264>inadvertently <00:22:19.544>breaking <00:22:19.824>the <00:22:20.105>boundaries.

462
00:22:22.645 --> 00:22:26.975
<00:22:22.645>Okay? <00:22:22.820>So <00:22:22.995>if <00:22:23.170>we <00:22:23.345>forbid <00:22:23.520>those <00:22:23.695>side <00:22:23.870>channels, <00:22:24.045>uh,

463
00:22:27.245 --> 00:22:29.055
<00:22:27.245>what <00:22:27.594>are <00:22:27.945>the <00:22:28.294>actual <00:22:28.645>interfaces

464
00:22:29.055 --> 00:22:30.415
<00:22:29.055>that <00:22:29.299>we <00:22:29.544>want <00:22:29.789>to <00:22:30.034>communicate <00:22:30.279>through?

465
00:22:31.075 --> 00:22:33.215
<00:22:31.075>And <00:22:31.250>as <00:22:31.425>we <00:22:31.600>have <00:22:31.775>already <00:22:31.950>seen, <00:22:32.125>a <00:22:32.300>major <00:22:32.475>part

466
00:22:33.215 --> 00:22:35.775
<00:22:33.215>of <00:22:33.415>them <00:22:33.615>are <00:22:33.814>the <00:22:34.014>attributes <00:22:34.215>and <00:22:34.415>the <00:22:34.615>events.

467
00:22:35.915 --> 00:22:38.775
<00:22:35.915>And <00:22:36.070>these <00:22:36.226>need <00:22:36.381>to <00:22:36.537>be <00:22:36.692>defined <00:22:36.848>and <00:22:37.003>to <00:22:37.159>document <00:22:37.315>documented.

468
00:22:41.365 --> 00:22:45.265
<00:22:41.365>So <00:22:41.520>for <00:22:41.676>those <00:22:41.831>of <00:22:41.987>you <00:22:42.142>who <00:22:42.298>have <00:22:42.453>designed <00:22:42.609>REST <00:22:42.765>APIs

469
00:22:45.285 --> 00:22:47.945
<00:22:45.285>and <00:22:45.485>the <00:22:45.685>likes, <00:22:45.885>you <00:22:46.085>know, <00:22:46.285>the, <00:22:46.485>um, <00:22:46.685>swagger

470
00:22:47.945 --> 00:22:49.145
<00:22:47.945>or <00:22:48.304>open <00:22:48.665>API <00:22:49.025>standard,

471
00:22:49.245 --> 00:22:52.425
<00:22:49.245>and <00:22:49.385>this <00:22:49.524>type <00:22:49.665>of <00:22:49.804>document <00:22:49.945>may <00:22:50.084>come <00:22:50.225>very <00:22:50.364>familiar <00:22:50.504>to <00:22:50.645>you.

472
00:22:53.055 --> 00:22:56.865
<00:22:53.055>This <00:22:53.182>is <00:22:53.309>an <00:22:53.436>own <00:22:53.564>standard, <00:22:53.691>and <00:22:53.818>it <00:22:53.945>has <00:22:54.073>its <00:22:54.200>own <00:22:54.327>J <00:22:54.455>schema,

473
00:22:57.865 --> 00:22:59.065
<00:22:57.865>although <00:22:58.135>this <00:22:58.405>is <00:22:58.675>Jamal, <00:22:58.945>obviously,

474
00:22:59.605 --> 00:23:02.345
<00:22:59.605>but <00:22:59.760>it <00:22:59.916>is, <00:23:00.071>uh, <00:23:00.227>from <00:23:00.382>the <00:23:00.538>idea, <00:23:00.693>it's <00:23:00.849>very <00:23:01.005>similar.

475
00:23:02.485 --> 00:23:04.265
<00:23:02.485>So <00:23:02.764>you <00:23:03.044>have <00:23:03.324>some <00:23:03.604>meta <00:23:03.885>attributes

476
00:23:04.335 --> 00:23:06.945
<00:23:04.335>that <00:23:04.535>would <00:23:04.735>describe <00:23:04.935>the <00:23:05.135>component <00:23:05.335>for <00:23:05.535>human <00:23:05.735>readability.

477
00:23:07.965 --> 00:23:11.345
<00:23:07.965>It <00:23:08.120>would <00:23:08.276>have, <00:23:08.431>uh, <00:23:08.587>an <00:23:08.742>eye <00:23:08.898>icon, <00:23:09.053>some <00:23:09.209>image <00:23:09.365>reference

478
00:23:11.345 --> 00:23:13.345
<00:23:11.345>to <00:23:11.545>documentation <00:23:11.745>as <00:23:11.945>marked <00:23:12.145>on <00:23:12.345>things <00:23:12.545>like <00:23:12.745>that.

479
00:23:13.925 --> 00:23:15.665
<00:23:13.925>And <00:23:14.125>this <00:23:14.325>will <00:23:14.524>make <00:23:14.725>it <00:23:14.925>easier <00:23:15.125>for <00:23:15.325>you

480
00:23:16.205 --> 00:23:18.105
<00:23:16.205>to <00:23:16.438>document <00:23:16.671>this <00:23:16.905>in <00:23:17.138>the <00:23:17.371>developer <00:23:17.605>portal.

481
00:23:19.325 --> 00:23:20.705
<00:23:19.325>So <00:23:19.573>you <00:23:19.821>can <00:23:20.070>import <00:23:20.318>those <00:23:20.567>things.

482
00:23:20.805 --> 00:23:22.305
<00:23:20.805>And <00:23:21.142>once <00:23:21.480>the <00:23:21.817>component <00:23:22.155>updates

483
00:23:22.325 --> 00:23:23.625
<00:23:22.325>or <00:23:22.617>the <00:23:22.910>micro <00:23:23.202>fronted <00:23:23.495>updates,

484
00:23:24.005 --> 00:23:25.505
<00:23:24.005>you <00:23:24.342>can <00:23:24.680>also <00:23:25.017>update <00:23:25.355>documentation.

485
00:23:25.505 --> 00:23:28.505
<00:23:25.505>You <00:23:25.645>will <00:23:25.785>have <00:23:25.925>a <00:23:26.065>nice <00:23:26.205>catalog <00:23:26.345>of <00:23:26.485>micro <00:23:26.625>fronted <00:23:26.765>are <00:23:26.905>available,

486
00:23:29.165 --> 00:23:31.305
<00:23:29.165>and <00:23:29.340>you <00:23:29.514>can <00:23:29.690>use <00:23:29.865>different <00:23:30.040>parts <00:23:30.215>of <00:23:30.389>your <00:23:30.565>architecture,

487
00:23:34.095 --> 00:23:39.075
<00:23:34.095>but <00:23:34.250>there's <00:23:34.406>also <00:23:34.561>the <00:23:34.717>parts <00:23:34.872>that <00:23:35.028>define <00:23:35.183>the <00:23:35.339>actual <00:23:35.495>heart,

488
00:23:39.255 --> 00:23:42.795
<00:23:39.255>so <00:23:39.430>to <00:23:39.605>speak, <00:23:39.780>API <00:23:39.955>of <00:23:40.130>your <00:23:40.305>micro <00:23:40.480>front <00:23:40.655>end.

489
00:23:43.295 --> 00:23:45.925
<00:23:43.295>And <00:23:43.528>it <00:23:43.761>starts <00:23:43.995>with <00:23:44.228>the <00:23:44.461>tag <00:23:44.695>name

490
00:23:45.925 --> 00:23:48.925
<00:23:45.925>because <00:23:46.080>that <00:23:46.236>is <00:23:46.391>the <00:23:46.547>first <00:23:46.702>part <00:23:46.858>that <00:23:47.013>constitutes <00:23:47.169>a <00:23:47.325>contract

491
00:23:48.925 --> 00:23:50.445
<00:23:48.925>between <00:23:49.380>the <00:23:49.837>host <00:23:50.293>page

492
00:23:51.145 --> 00:23:53.765
<00:23:51.145>and, <00:23:51.320>uh, <00:23:51.495>the <00:23:51.670>micro <00:23:51.845>front <00:23:52.020>end, <00:23:52.195>the <00:23:52.370>tag <00:23:52.545>name,

493
00:23:53.905 --> 00:23:55.805
<00:23:53.905>and <00:23:54.138>as <00:23:54.371>well <00:23:54.605>the <00:23:54.838>front <00:23:55.071>end <00:23:55.305>part.

494
00:23:56.425 --> 00:23:59.325
<00:23:56.425>You <00:23:56.580>can <00:23:56.736>have <00:23:56.891>pre <00:23:57.047>rendering <00:23:57.202>in <00:23:57.358>order <00:23:57.513>to <00:23:57.669>optimize, <00:23:57.825>uh,

495
00:23:59.325 --> 00:24:00.685
<00:23:59.325>for <00:23:59.569>SEO <00:23:59.814>and <00:24:00.059>things <00:24:00.304>like <00:24:00.549>that.

496
00:24:01.345 --> 00:24:04.165
<00:24:01.345>But, <00:24:01.695>um, <00:24:02.045>this <00:24:02.395>is <00:24:02.745>optional.

497
00:24:04.225 --> 00:24:05.245
<00:24:04.225>And <00:24:04.378>there <00:24:04.531>are <00:24:04.684>a <00:24:04.837>few <00:24:04.989>more <00:24:05.142>things

498
00:24:05.245 --> 00:24:08.125
<00:24:05.245>that <00:24:05.372>are <00:24:05.499>not <00:24:05.626>seen <00:24:05.754>on <00:24:05.881>the <00:24:06.008>slide, <00:24:06.135>which, <00:24:06.263>uh, <00:24:06.390>would <00:24:06.517>be <00:24:06.645>able

499
00:24:08.145 --> 00:24:09.885
<00:24:08.145>to <00:24:08.425>have <00:24:08.705>a <00:24:08.985>more <00:24:09.264>elaborate <00:24:09.545>solution,

500
00:24:10.265 --> 00:24:13.125
<00:24:10.265>but <00:24:10.420>are <00:24:10.576>not <00:24:10.731>crucial <00:24:10.887>necessary <00:24:11.042>for <00:24:11.198>each <00:24:11.353>micro <00:24:11.509>front <00:24:11.665>end.

501
00:24:14.385 --> 00:24:16.485
<00:24:14.385>Now, <00:24:14.618>if <00:24:14.851>we <00:24:15.085>go <00:24:15.318>into <00:24:15.551>this <00:24:15.785>attributes

502
00:24:16.585 --> 00:24:20.685
<00:24:16.585>and <00:24:16.785>events, <00:24:16.985>these <00:24:17.185>are <00:24:17.385>also <00:24:17.585>the, <00:24:17.785>uh, <00:24:17.985>um,

503
00:24:21.235 --> 00:24:24.725
<00:24:21.235>hard <00:24:21.390>core <00:24:21.546>of <00:24:21.701>the, <00:24:21.857>uh, <00:24:22.012>speci, <00:24:22.168>uh, <00:24:22.323>of <00:24:22.479>the <00:24:22.635>manifest.

504
00:24:25.425 --> 00:24:27.445
<00:24:25.425>And <00:24:25.658>these <00:24:25.891>are <00:24:26.125>obviously <00:24:26.358>the <00:24:26.591>largest <00:24:26.825>parts

505
00:24:27.445 --> 00:24:30.445
<00:24:27.445>because <00:24:27.678>they <00:24:27.911>allow <00:24:28.145>data <00:24:28.378>structures <00:24:28.611>in <00:24:28.845>a,

506
00:24:30.545 --> 00:24:32.325
<00:24:30.545>in <00:24:30.895>a <00:24:31.245>area <00:24:31.595>of <00:24:31.945>attributes.

507
00:24:32.465 --> 00:24:33.525
<00:24:32.465>You <00:24:32.783>might <00:24:33.101>wonder, <00:24:33.419>okay?

508
00:24:33.525 --> 00:24:36.685
<00:24:33.525>Usually <00:24:33.680>you <00:24:33.836>can <00:24:33.991>only <00:24:34.147>define <00:24:34.302>scaler <00:24:34.458>values <00:24:34.613>such <00:24:34.769>as <00:24:34.925>strings

509
00:24:36.685 --> 00:24:38.445
<00:24:36.685>and <00:24:37.034>numbers <00:24:37.385>in <00:24:37.735>HTML <00:24:38.085>attributes.

510
00:24:39.225 --> 00:24:41.725
<00:24:39.225>But <00:24:39.504>this <00:24:39.784>specification <00:24:40.064>allows <00:24:40.344>this <00:24:40.625>also

511
00:24:41.725 --> 00:24:43.125
<00:24:41.725>to <00:24:42.145>be <00:24:42.565>serialized <00:24:42.985>json.

512
00:24:44.135 --> 00:24:45.475
<00:24:44.135>And <00:24:44.537>this <00:24:44.938>allows <00:24:45.341>you

513
00:24:45.575 --> 00:24:48.795
<00:24:45.575>to <00:24:45.775>have <00:24:45.975>more <00:24:46.175>complex <00:24:46.375>data <00:24:46.575>structures <00:24:46.775>in <00:24:46.975>attributes.

514
00:24:49.625 --> 00:24:52.155
<00:24:49.625>Ideally, <00:24:49.858>you <00:24:50.091>would <00:24:50.325>not <00:24:50.558>use <00:24:50.791>necessarily <00:24:51.025>json,

515
00:24:52.155 --> 00:24:53.435
<00:24:52.155>but <00:24:52.443>would <00:24:52.731>have <00:24:53.019>them, <00:24:53.307>um,

516
00:24:53.605 --> 00:24:55.355
<00:24:53.605>normalized <00:24:53.838>in <00:24:54.071>some <00:24:54.305>way, <00:24:54.538>shape, <00:24:54.771>or <00:24:55.005>form.

517
00:24:55.815 --> 00:24:59.235
<00:24:55.815>But <00:24:55.970>you <00:24:56.126>have <00:24:56.281>situations <00:24:56.437>where <00:24:56.592>you <00:24:56.748>need <00:24:56.903>to <00:24:57.059>make, <00:24:57.215>uh,

518
00:24:59.235 --> 00:25:01.075
<00:24:59.235>several <00:24:59.468>attribute <00:24:59.701>changes <00:24:59.935>at <00:25:00.168>the <00:25:00.401>same <00:25:00.635>time,

519
00:25:01.655 --> 00:25:04.155
<00:25:01.655>or <00:25:01.830>you <00:25:02.004>have <00:25:02.180>more <00:25:02.355>complex <00:25:02.530>data <00:25:02.705>structures <00:25:02.879>like <00:25:03.055>array

520
00:25:04.175 --> 00:25:07.875
<00:25:04.175>or <00:25:04.302>objects <00:25:04.429>that <00:25:04.556>you <00:25:04.684>need <00:25:04.811>to <00:25:04.938>pass <00:25:05.065>into <00:25:05.193>a <00:25:05.320>micro <00:25:05.447>front <00:25:05.575>end.

521
00:25:08.215 --> 00:25:11.955
<00:25:08.215>And <00:25:08.370>this <00:25:08.526>is <00:25:08.681>a <00:25:08.837>very <00:25:08.992>straightforward <00:25:09.148>way <00:25:09.303>to <00:25:09.459>define <00:25:09.615>them.

522
00:25:13.015 --> 00:25:15.675
<00:25:13.015>And <00:25:13.215>on <00:25:13.415>the <00:25:13.615>event <00:25:13.815>side, <00:25:14.015>it's <00:25:14.215>even <00:25:14.415>easier

523
00:25:15.675 --> 00:25:19.075
<00:25:15.675>because <00:25:15.955>events <00:25:16.235>naturally <00:25:16.514>are <00:25:16.794>data <00:25:17.075>structures

524
00:25:19.075 --> 00:25:21.115
<00:25:19.075>and <00:25:19.275>you <00:25:19.475>just <00:25:19.675>have <00:25:19.875>to, <00:25:20.075>uh, <00:25:20.275>formulate <00:25:20.475>them

525
00:25:21.115 --> 00:25:24.275
<00:25:21.115>and <00:25:21.348>define <00:25:21.581>them, <00:25:21.815>um, <00:25:22.048>through <00:25:22.281>their <00:25:22.515>names,

526
00:25:24.505 --> 00:25:26.635
<00:25:24.505>through <00:25:24.738>the <00:25:24.971>constraints <00:25:25.205>that <00:25:25.438>you <00:25:25.671>can <00:25:25.905>express

527
00:25:26.655 --> 00:25:29.795
<00:25:26.655>as <00:25:26.888>regular <00:25:27.121>expressions <00:25:27.355>or, <00:25:27.588>um, <00:25:27.821>predefined <00:25:28.055>values.

528
00:25:30.335 --> 00:25:32.355
<00:25:30.335>And <00:25:30.490>then <00:25:30.646>of <00:25:30.801>course, <00:25:30.957>you <00:25:31.112>would <00:25:31.268>also <00:25:31.423>have <00:25:31.579>some <00:25:31.735>description

529
00:25:32.355 --> 00:25:34.515
<00:25:32.355>which <00:25:32.530>you <00:25:32.705>can <00:25:32.880>then <00:25:33.055>render <00:25:33.230>out <00:25:33.405>in <00:25:33.580>the <00:25:33.755>developer.

530
00:25:38.805 --> 00:25:43.385
<00:25:38.805>So <00:25:38.945>you <00:25:39.085>see <00:25:39.225>here <00:25:39.365>we <00:25:39.505>are <00:25:39.645>using <00:25:39.785>JSON <00:25:39.925>schema <00:25:40.065>within <00:25:40.205>the,

531
00:25:43.965 --> 00:25:46.865
<00:25:43.965>um, <00:25:44.198>event <00:25:44.431>structures <00:25:44.665>and <00:25:44.898>the <00:25:45.131>attribute <00:25:45.365>structures,

532
00:25:47.565 --> 00:25:49.905
<00:25:47.565>and <00:25:47.692>you <00:25:47.819>can <00:25:47.946>use <00:25:48.074>all <00:25:48.201>the <00:25:48.328>things <00:25:48.455>you <00:25:48.583>would <00:25:48.710>have <00:25:48.837>in <00:25:48.965>a

533
00:25:49.905 --> 00:25:51.185
<00:25:49.905>classic <00:25:50.193>adjacent <00:25:50.481>schema <00:25:50.769>as <00:25:51.057>well.

534
00:25:51.205 --> 00:25:52.745
<00:25:51.205>So <00:25:51.551>this <00:25:51.898>uses, <00:25:52.244>uses, <00:25:52.591>um,

535
00:25:52.775 --> 00:25:55.185
<00:25:52.775>version <00:25:53.055>seven <00:25:53.335>in <00:25:53.615>the <00:25:53.895>default <00:25:54.175>implementation.

536
00:25:56.045 --> 00:25:58.905
<00:25:56.045>But, <00:25:56.200>uh, <00:25:56.356>we <00:25:56.511>will <00:25:56.667>soon <00:25:56.822>update <00:25:56.978>this <00:25:57.133>to <00:25:57.289>use, <00:25:57.445>um,

537
00:25:59.165 --> 00:26:02.265
<00:25:59.165>the <00:25:59.398>most <00:25:59.631>recent, <00:25:59.865>uh, <00:26:00.098>adjacent <00:26:00.331>schema <00:26:00.565>specifications.

538
00:26:04.795 --> 00:26:08.415
<00:26:04.795>So <00:26:04.922>this <00:26:05.049>is, <00:26:05.176>uh, <00:26:05.304>just <00:26:05.431>a <00:26:05.558>quick <00:26:05.685>glance <00:26:05.813>at <00:26:05.940>the <00:26:06.067>project <00:26:06.195>itself.

539
00:26:08.475 --> 00:26:11.775
<00:26:08.475>So <00:26:08.591>it <00:26:08.708>has <00:26:08.824>a, <00:26:08.941>uh, <00:26:09.058>website, <00:26:09.175>as <00:26:09.291>I <00:26:09.408>mentioned <00:26:09.524>already <00:26:09.641>with <00:26:09.758>a <00:26:09.875>lot

540
00:26:11.775 --> 00:26:13.135
<00:26:11.775>of <00:26:12.081>the <00:26:12.387>documentation <00:26:12.693>around <00:26:12.999>this.

541
00:26:13.755 --> 00:26:17.175
<00:26:13.755>And <00:26:13.988>there's <00:26:14.221>a, <00:26:14.455>um, <00:26:14.688>a <00:26:14.921>GitHub <00:26:15.155>project

542
00:26:17.675 --> 00:26:21.215
<00:26:17.675>or, <00:26:17.850>uh, <00:26:18.024>a <00:26:18.200>GitHub <00:26:18.375>organization <00:26:18.550>with <00:26:18.725>several <00:26:18.899>projects <00:26:19.075>that,

543
00:26:21.275 --> 00:26:22.575
<00:26:21.275>uh, <00:26:21.665>provide <00:26:22.055>some <00:26:22.445>tooling.

544
00:26:23.415 --> 00:26:24.815
<00:26:23.415>'cause <00:26:23.625>uh, <00:26:23.835>what <00:26:24.045>we <00:26:24.255>are <00:26:24.465>discussing <00:26:24.675>here

545
00:26:24.815 --> 00:26:25.935
<00:26:24.815>is <00:26:25.067>barely <00:26:25.319>scratching <00:26:25.571>the <00:26:25.822>surface.

546
00:26:26.115 --> 00:26:28.095
<00:26:26.115>So <00:26:26.255>if <00:26:26.395>you <00:26:26.535>want <00:26:26.675>to <00:26:26.815>look <00:26:26.955>into <00:26:27.095>what <00:26:27.235>you <00:26:27.375>can <00:26:27.515>do

547
00:26:28.095 --> 00:26:30.495
<00:26:28.095>with <00:26:28.295>this <00:26:28.495>in <00:26:28.695>practice, <00:26:28.895>you'll <00:26:29.095>find <00:26:29.295>code <00:26:29.495>samples

548
00:26:30.795 --> 00:26:32.935
<00:26:30.795>and, <00:26:30.935>uh, <00:26:31.075>more <00:26:31.215>code <00:26:31.355>that <00:26:31.495>you <00:26:31.635>can <00:26:31.775>have <00:26:31.915>a <00:26:32.055>look <00:26:32.195>into.

549
00:26:34.855 --> 00:26:39.065
<00:26:34.855>Okay? <00:26:35.055>So <00:26:35.255>this <00:26:35.455>has <00:26:35.655>been <00:26:35.855>a <00:26:36.055>technical <00:26:36.255>deep

550
00:26:39.065 --> 00:26:40.425
<00:26:39.065>dive <00:26:39.371>into <00:26:39.677>how <00:26:39.983>this <00:26:40.289>works.

551
00:26:40.595 --> 00:26:43.285
<00:26:40.595>Again, <00:26:40.770>uh, <00:26:40.945>the <00:26:41.120>implementation <00:26:41.295>we've <00:26:41.470>chose <00:26:41.645>here <00:26:41.820>are <00:26:41.995>native,

552
00:26:43.625 --> 00:26:45.485
<00:26:43.625>uh, <00:26:43.975>web <00:26:44.325>components <00:26:44.675>framework <00:26:45.025>less.

553
00:26:45.985 --> 00:26:48.525
<00:26:45.985>But <00:26:46.140>you <00:26:46.296>can <00:26:46.451>do <00:26:46.607>very <00:26:46.762>similar <00:26:46.918>things <00:26:47.073>if <00:26:47.229>you <00:26:47.385>choose

554
00:26:48.525 --> 00:26:49.565
<00:26:48.525>to <00:26:48.759>go <00:26:48.993>with <00:26:49.227>a <00:26:49.461>framework.

555
00:26:50.185 --> 00:26:53.605
<00:26:50.185>Um, <00:26:50.340>you <00:26:50.496>could <00:26:50.651>of <00:26:50.807>course <00:26:50.962>use <00:26:51.118>the, <00:26:51.273>uh, <00:26:51.429>user <00:26:51.585>suspects,

556
00:26:53.665 --> 00:26:57.445
<00:26:53.665>but <00:26:53.805>there's <00:26:53.945>also <00:26:54.085>frameworks <00:26:54.225>that <00:26:54.365>you <00:26:54.504>can <00:26:54.645>use <00:26:54.784>for, <00:26:54.925>um, <00:26:55.065>uh,

557
00:26:57.545 --> 00:27:00.445
<00:26:57.545>for <00:26:57.745>custom <00:26:57.945>elements <00:26:58.145>such <00:26:58.345>as, <00:26:58.545>let's <00:26:58.745>say <00:26:58.945>just

558
00:27:00.465 --> 00:27:02.325
<00:27:00.465>to <00:27:00.745>name <00:27:01.024>a <00:27:01.304>few <00:27:01.584>stencil, <00:27:01.865>um,

559
00:27:02.505 --> 00:27:05.605
<00:27:02.505>or <00:27:02.705>a <00:27:02.905>lids, <00:27:03.105>uh, <00:27:03.305>from, <00:27:03.505>uh, <00:27:03.705>from <00:27:03.905>Google.

560
00:27:06.825 --> 00:27:10.525
<00:27:06.825>So, <00:27:06.980>but <00:27:07.136>now <00:27:07.291>the <00:27:07.447>question <00:27:07.602>coming <00:27:07.758>back <00:27:07.913>to <00:27:08.069>the <00:27:08.225>beginning

561
00:27:10.525 --> 00:27:13.965
<00:27:10.525>of <00:27:10.700>this <00:27:10.875>presentation <00:27:11.050>is <00:27:11.225>how <00:27:11.400>can <00:27:11.575>we <00:27:11.750>use <00:27:11.925>this

562
00:27:14.585 --> 00:27:17.125
<00:27:14.585>to <00:27:14.818>modernize <00:27:15.051>a <00:27:15.285>web <00:27:15.518>legacy <00:27:15.751>web <00:27:15.985>application?

563
00:27:19.955 --> 00:27:24.215
<00:27:19.955>And <00:27:20.110>you <00:27:20.266>will <00:27:20.421>usually <00:27:20.577>start <00:27:20.732>with <00:27:20.888>this, <00:27:21.043>uh, <00:27:21.199>current <00:27:21.355>state

564
00:27:24.235 --> 00:27:25.895
<00:27:24.235>and <00:27:24.435>wonder, <00:27:24.635>what <00:27:24.834>can <00:27:25.034>I <00:27:25.235>do <00:27:25.435>with <00:27:25.635>it?

565
00:27:26.475 --> 00:27:27.695
<00:27:26.475>You <00:27:26.694>have <00:27:26.914>a <00:27:27.133>lot <00:27:27.353>of <00:27:27.572>capabilities,

566
00:27:28.155 --> 00:27:33.015
<00:27:28.155>and <00:27:28.295>usually, <00:27:28.435>um, <00:27:28.575>when <00:27:28.715>you <00:27:28.855>look <00:27:28.995>at <00:27:29.135>it, <00:27:29.274>like <00:27:29.415>literally, <00:27:29.555>uh,

567
00:27:33.015 --> 00:27:36.535
<00:27:33.015>having <00:27:33.190>a <00:27:33.365>look <00:27:33.540>at <00:27:33.715>the, <00:27:33.890>uh, <00:27:34.065>composition <00:27:34.240>of <00:27:34.415>the

568
00:27:37.375 --> 00:27:39.455
<00:27:37.375>singular <00:27:37.575>web <00:27:37.775>pages, <00:27:37.975>but <00:27:38.175>also <00:27:38.375>through <00:27:38.575>the <00:27:38.775>flow

569
00:27:39.795 --> 00:27:42.615
<00:27:39.795>and <00:27:39.950>through <00:27:40.106>the <00:27:40.261>areas <00:27:40.417>of <00:27:40.572>the <00:27:40.728>whole, <00:27:40.883>uh, <00:27:41.039>web <00:27:41.195>application,

570
00:27:43.235 --> 00:27:47.175
<00:27:43.235>you <00:27:43.375>will <00:27:43.514>be <00:27:43.655>able <00:27:43.794>to <00:27:43.935>identify <00:27:44.074>things <00:27:44.215>you <00:27:44.354>can <00:27:44.495>extract, <00:27:44.635>right?

571
00:27:47.185 --> 00:27:50.935
<00:27:47.185>Again, <00:27:47.385>using <00:27:47.585>approaches <00:27:47.784>like <00:27:47.985>domain <00:27:48.185>driven <00:27:48.385>design, <00:27:48.585>say,

572
00:27:50.935 --> 00:27:52.095
<00:27:50.935>where's <00:27:51.283>sort <00:27:51.631>of <00:27:51.979>cohesion?

573
00:27:52.095 --> 00:27:54.975
<00:27:52.095>Where <00:27:52.375>are <00:27:52.655>the, <00:27:52.935>um, <00:27:53.215>communication <00:27:53.495>flows?

574
00:27:55.435 --> 00:27:59.295
<00:27:55.435>And <00:27:55.562>then <00:27:55.689>you <00:27:55.816>can <00:27:55.944>identify <00:27:56.071>what <00:27:56.198>would <00:27:56.325>be <00:27:56.453>a <00:27:56.580>good <00:27:56.707>candidate <00:27:56.835>to,

575
00:27:59.795 --> 00:28:02.335
<00:27:59.795>uh, <00:28:00.075>built <00:28:00.355>into <00:28:00.635>a <00:28:00.915>micro <00:28:01.195>frontend.

576
00:28:03.175 --> 00:28:05.135
<00:28:03.175>'cause <00:28:03.524>ultimately, <00:28:03.875>you <00:28:04.225>already <00:28:04.575>have

577
00:28:05.135 --> 00:28:06.255
<00:28:05.135>your <00:28:05.387>new <00:28:05.639>website <00:28:05.891>in <00:28:06.143>mind.

578
00:28:06.755 --> 00:28:09.215
<00:28:06.755>And <00:28:06.930>even <00:28:07.105>though <00:28:07.280>in <00:28:07.455>this <00:28:07.630>picture <00:28:07.805>it <00:28:07.980>looks, <00:28:08.155>uh,

579
00:28:09.495 --> 00:28:11.495
<00:28:09.495>structurally <00:28:09.774>very <00:28:10.054>similar, <00:28:10.334>you <00:28:10.614>might <00:28:10.895>want

580
00:28:11.495 --> 00:28:12.535
<00:28:11.495>to <00:28:11.729>rearrange <00:28:11.963>a <00:28:12.197>few <00:28:12.431>things,

581
00:28:12.555 --> 00:28:14.095
<00:28:12.555>but <00:28:12.786>you <00:28:13.017>want <00:28:13.248>to <00:28:13.479>retain <00:28:13.710>the <00:28:13.941>value

582
00:28:14.165 --> 00:28:16.695
<00:28:14.165>that <00:28:14.340>is <00:28:14.514>encapsulated <00:28:14.690>in <00:28:14.865>the <00:28:15.040>things <00:28:15.215>you <00:28:15.389>have <00:28:15.565>built.

583
00:28:16.915 --> 00:28:20.895
<00:28:16.915>And <00:28:17.055>then, <00:28:17.195>uh, <00:28:17.335>later <00:28:17.475>maybe <00:28:17.615>carve <00:28:17.754>out <00:28:17.895>the <00:28:18.034>ones <00:28:18.175>you <00:28:18.315>want

584
00:28:20.895 --> 00:28:21.975
<00:28:20.895>to <00:28:21.867>modernize.

585
00:28:22.805 --> 00:28:25.575
<00:28:22.805>Okay? <00:28:23.005>So <00:28:23.205>this <00:28:23.405>is <00:28:23.605>the <00:28:23.805>chance <00:28:24.005>to <00:28:24.205>transfer

586
00:28:25.575 --> 00:28:28.475
<00:28:25.575>what <00:28:25.855>you <00:28:26.135>already <00:28:26.415>have <00:28:26.695>in <00:28:26.975>smaller,

587
00:28:29.025 --> 00:28:31.195
<00:28:29.025>more <00:28:29.491>interchangeable <00:28:29.958>parts <00:28:30.425>without

588
00:28:31.195 --> 00:28:32.275
<00:28:31.195>having <00:28:31.437>a <00:28:31.681>big <00:28:31.924>bang <00:28:32.167>approach.

589
00:28:33.015 --> 00:28:36.555
<00:28:33.015>So <00:28:33.190>you <00:28:33.365>might <00:28:33.540>be <00:28:33.715>familiar <00:28:33.890>with <00:28:34.065>a <00:28:34.240>architectural, <00:28:34.415>uh,

590
00:28:36.715 --> 00:28:38.475
<00:28:36.715>pattern <00:28:37.064>called <00:28:37.415>the <00:28:37.764>strangler <00:28:38.115>fig,

591
00:28:39.455 --> 00:28:43.195
<00:28:39.455>and <00:28:39.629>this <00:28:39.804>would <00:28:39.980>mean <00:28:40.155>that <00:28:40.330>you <00:28:40.504>encapsulate, <00:28:40.679>uh, <00:28:40.855>uh,

592
00:28:43.195 --> 00:28:44.355
<00:28:43.195>capabilities <00:28:43.543>that <00:28:43.891>you <00:28:44.239>have

593
00:28:45.375 --> 00:28:49.025
<00:28:45.375>and <00:28:45.655>just, <00:28:45.935>uh, <00:28:46.215>use <00:28:46.495>the <00:28:46.775>existing,

594
00:28:49.025 --> 00:28:50.625
<00:28:49.025>or <00:28:49.375>sorry, <00:28:49.725>use <00:28:50.075>new <00:28:50.425>interfaces

595
00:28:50.685 --> 00:28:52.545
<00:28:50.685>to <00:28:51.151>expose <00:28:51.618>existing <00:28:52.085>functionality

596
00:28:53.245 --> 00:28:56.545
<00:28:53.245>and <00:28:53.524>then <00:28:53.804>gradually <00:28:54.084>change <00:28:54.364>the <00:28:54.645>implementation

597
00:28:56.565 --> 00:28:58.105
<00:28:56.565>behind <00:28:57.027>those <00:28:57.489>new <00:28:57.951>interfaces.

598
00:28:58.685 --> 00:29:00.865
<00:28:58.685>And <00:28:58.840>this <00:28:58.996>is <00:28:59.151>exactly <00:28:59.307>what <00:28:59.462>you <00:28:59.618>can <00:28:59.773>do <00:28:59.929>here, <00:29:00.085>right?

599
00:29:00.965 --> 00:29:03.385
<00:29:00.965>So <00:29:01.198>you <00:29:01.431>would <00:29:01.665>use <00:29:01.898>your <00:29:02.131>existing <00:29:02.365>page

600
00:29:04.335 --> 00:29:07.835
<00:29:04.335>and <00:29:04.510>start <00:29:04.685>building <00:29:04.860>new <00:29:05.035>capabilities <00:29:05.210>as <00:29:05.385>micro <00:29:05.560>front <00:29:05.735>ends,

601
00:29:08.455 --> 00:29:10.395
<00:29:08.455>or <00:29:08.735>you <00:29:09.014>can <00:29:09.294>use <00:29:09.574>existing <00:29:09.855>capabilities

602
00:29:10.855 --> 00:29:14.355
<00:29:10.855>and <00:29:11.010>wrap <00:29:11.166>this <00:29:11.321>kind <00:29:11.477>of, <00:29:11.632>uh, <00:29:11.788>custom <00:29:11.943>element <00:29:12.099>around <00:29:12.255>them

603
00:29:14.935 --> 00:29:16.315
<00:29:14.935>and <00:29:15.349>deliver <00:29:15.763>them <00:29:16.177>standalone.

604
00:29:17.255 --> 00:29:19.555
<00:29:17.255>The <00:29:17.395>good <00:29:17.535>thing <00:29:17.675>about <00:29:17.815>this <00:29:17.955>is <00:29:18.095>this <00:29:18.235>is <00:29:18.375>very <00:29:18.515>low <00:29:18.655>risk

605
00:29:19.555 --> 00:29:21.715
<00:29:19.555>because <00:29:19.905>it's <00:29:20.255>basically <00:29:20.605>existing <00:29:20.955>functionality.

606
00:29:22.975 --> 00:29:25.715
<00:29:22.975>It <00:29:23.208>is <00:29:23.441>does <00:29:23.675>not <00:29:23.908>introduce <00:29:24.141>new <00:29:24.375>technology

607
00:29:25.715 --> 00:29:28.155
<00:29:25.715>because <00:29:25.889>what <00:29:26.064>you <00:29:26.240>have <00:29:26.415>there <00:29:26.590>works <00:29:26.764>in <00:29:26.939>every <00:29:27.115>browser

608
00:29:28.155 --> 00:29:29.315
<00:29:28.155>that <00:29:28.416>people <00:29:28.677>use <00:29:28.938>these <00:29:29.199>days.

609
00:29:30.375 --> 00:29:33.795
<00:29:30.375>You <00:29:30.530>will <00:29:30.686>have <00:29:30.841>of <00:29:30.997>course, <00:29:31.152>uh, <00:29:31.308>the <00:29:31.463>challenge <00:29:31.619>that, <00:29:31.775>uh,

610
00:29:33.935 --> 00:29:35.915
<00:29:33.935>you <00:29:34.168>will <00:29:34.401>have <00:29:34.635>some <00:29:34.868>duplication <00:29:35.101>at <00:29:35.335>first.

611
00:29:36.615 --> 00:29:41.605
<00:29:36.615>Um, <00:29:36.755>you <00:29:36.895>need <00:29:37.035>to <00:29:37.175>find <00:29:37.315>out, <00:29:37.455>uh, <00:29:37.595>how <00:29:37.735>you <00:29:37.875>can, <00:29:38.015>uh,

612
00:29:41.725 --> 00:29:43.325
<00:29:41.725>decouple <00:29:42.074>the <00:29:42.425>state <00:29:42.774>of <00:29:43.125>the

613
00:29:43.845 --> 00:29:47.085
<00:29:43.845>existing <00:29:44.000>website <00:29:44.156>from <00:29:44.311>the <00:29:44.467>state <00:29:44.622>within <00:29:44.778>the <00:29:44.933>micro <00:29:45.089>front <00:29:45.245>end.

614
00:29:47.625 --> 00:29:50.045
<00:29:47.625>But <00:29:47.825>once <00:29:48.025>you've <00:29:48.225>gone <00:29:48.425>through <00:29:48.625>this <00:29:48.825>exercise <00:29:49.025>one

615
00:29:50.045 --> 00:29:52.765
<00:29:50.045>or <00:29:50.185>two <00:29:50.325>times, <00:29:50.465>you <00:29:50.605>should <00:29:50.745>have <00:29:50.885>all <00:29:51.025>the <00:29:51.165>tools <00:29:51.305>at <00:29:51.445>hand

616
00:29:52.825 --> 00:29:55.485
<00:29:52.825>to <00:29:53.025>move <00:29:53.225>forward <00:29:53.425>without <00:29:53.625>creating <00:29:53.825>too <00:29:54.025>much <00:29:54.225>disruption

617
00:29:55.485 --> 00:29:56.565
<00:29:55.485>in <00:29:55.971>existing <00:29:56.457>application.

618
00:29:58.305 --> 00:30:01.595
<00:29:58.305>Okay? <00:29:58.771>So <00:29:59.238>with <00:29:59.705>time,

619
00:30:01.865 --> 00:30:03.875
<00:30:01.865>what <00:30:02.065>you <00:30:02.265>will <00:30:02.465>see <00:30:02.665>is <00:30:02.865>you <00:30:03.065>have <00:30:03.265>lots

620
00:30:03.875 --> 00:30:06.995
<00:30:03.875>of <00:30:04.075>those <00:30:04.275>capabilities <00:30:04.475>built <00:30:04.675>as <00:30:04.875>kind <00:30:05.075>of, <00:30:05.275>uh,

621
00:30:07.155 --> 00:30:09.075
<00:30:07.155>backport <00:30:07.504>into <00:30:07.855>your <00:30:08.205>old <00:30:08.555>architecture,

622
00:30:09.775 --> 00:30:12.835
<00:30:09.775>but <00:30:09.950>you <00:30:10.125>will <00:30:10.300>also <00:30:10.475>start <00:30:10.650>create <00:30:10.825>new <00:30:11.000>micro <00:30:11.175>frontends

623
00:30:12.835 --> 00:30:14.755
<00:30:12.835>that <00:30:13.010>will <00:30:13.185>be <00:30:13.360>able <00:30:13.535>to <00:30:13.710>go <00:30:13.885>through <00:30:14.060>new <00:30:14.235>website,

624
00:30:15.575 --> 00:30:19.235
<00:30:15.575>and <00:30:15.730>you <00:30:15.886>will <00:30:16.041>be <00:30:16.197>able <00:30:16.352>to <00:30:16.508>modernize <00:30:16.663>the <00:30:16.819>micro <00:30:16.975>frontends

625
00:30:19.315 --> 00:30:21.795
<00:30:19.315>that <00:30:19.490>you <00:30:19.665>have <00:30:19.840>carved <00:30:20.015>out <00:30:20.190>of <00:30:20.365>your <00:30:20.540>old <00:30:20.715>architecture

626
00:30:22.295 --> 00:30:25.915
<00:30:22.295>and <00:30:22.528>replace <00:30:22.761>them <00:30:22.995>with <00:30:23.228>new, <00:30:23.461>um, <00:30:23.695>capabilities,

627
00:30:26.365 --> 00:30:27.755
<00:30:26.365>maybe <00:30:26.677>clean <00:30:26.990>up <00:30:27.303>the <00:30:27.616>code

628
00:30:28.135 --> 00:30:31.395
<00:30:28.135>and <00:30:28.262>step <00:30:28.389>by <00:30:28.516>step, <00:30:28.644>what <00:30:28.771>you <00:30:28.898>will <00:30:29.025>have <00:30:29.153>is <00:30:29.280>a <00:30:29.407>new <00:30:29.535>website

629
00:30:32.065 --> 00:30:33.755
<00:30:32.065>that <00:30:32.415>runs <00:30:32.765>those <00:30:33.115>micro <00:30:33.465>frontends,

630
00:30:33.755 --> 00:30:35.795
<00:30:33.755>but <00:30:33.955>you <00:30:34.155>can <00:30:34.355>also <00:30:34.555>take <00:30:34.755>those <00:30:34.955>micro <00:30:35.155>frontends

631
00:30:35.795 --> 00:30:39.035
<00:30:35.795>and <00:30:35.950>keep <00:30:36.106>them <00:30:36.261>running <00:30:36.417>in <00:30:36.572>other <00:30:36.728>websites <00:30:36.883>and <00:30:37.039>legacy <00:30:37.195>websites

632
00:30:39.185 --> 00:30:41.955
<00:30:39.185>because <00:30:39.385>as <00:30:39.585>we've <00:30:39.784>seen, <00:30:39.985>these <00:30:40.185>are <00:30:40.385>super <00:30:40.585>portable

633
00:30:41.955 --> 00:30:43.995
<00:30:41.955>and <00:30:42.235>can <00:30:42.514>run <00:30:42.794>in <00:30:43.074>different <00:30:43.355>contexts.

634
00:30:45.915 --> 00:30:47.895
<00:30:45.915>So <00:30:46.090>this <00:30:46.264>would <00:30:46.440>be <00:30:46.615>in <00:30:46.790>a <00:30:46.965>nutshell, <00:30:47.139>an <00:30:47.315>approach

635
00:30:48.035 --> 00:30:50.655
<00:30:48.035>to <00:30:48.235>modernize <00:30:48.435>your <00:30:48.635>legacy <00:30:48.835>application <00:30:49.035>without <00:30:49.235>too <00:30:49.435>much

636
00:30:50.665 --> 00:30:52.415
<00:30:50.665>disruption <00:30:51.365>into <00:30:52.065>something

637
00:30:52.415 --> 00:30:55.335
<00:30:52.415>that <00:30:52.615>is <00:30:52.815>a <00:30:53.014>modular <00:30:53.215>distributed <00:30:53.415>front <00:30:53.615>and <00:30:53.815>architecture.

638
00:30:57.795 --> 00:31:01.575
<00:30:57.795>So <00:30:57.935>just <00:30:58.075>one <00:30:58.215>word <00:30:58.355>of <00:30:58.495>caution <00:30:58.635>here, <00:30:58.775>when <00:30:58.915>you <00:30:59.055>start <00:30:59.195>moving

639
00:31:02.245 --> 00:31:04.495
<00:31:02.245>into <00:31:02.594>a <00:31:02.945>distributed <00:31:03.294>frontend <00:31:03.645>architecture,

640
00:31:05.635 --> 00:31:08.055
<00:31:05.635>and <00:31:05.810>this <00:31:05.985>is <00:31:06.160>regardless <00:31:06.335>of <00:31:06.510>the <00:31:06.685>framework <00:31:06.860>you <00:31:07.035>use,

641
00:31:09.315 --> 00:31:12.375
<00:31:09.315>you <00:31:09.470>will <00:31:09.626>want <00:31:09.781>to <00:31:09.937>invest <00:31:10.092>time <00:31:10.248>into <00:31:10.403>good <00:31:10.559>UI <00:31:10.715>library,

642
00:31:12.765 --> 00:31:14.975
<00:31:12.765>because <00:31:12.965>what <00:31:13.165>we <00:31:13.365>have <00:31:13.565>seen <00:31:13.765>is <00:31:13.965>that, <00:31:14.165>uh,

643
00:31:15.075 --> 00:31:19.135
<00:31:15.075>people <00:31:15.425>start <00:31:15.775>sharing <00:31:16.125>assets, <00:31:16.475>CSS,

644
00:31:19.155 --> 00:31:20.535
<00:31:19.155>but <00:31:19.569>also <00:31:19.983>images, <00:31:20.397>icons

645
00:31:20.535 --> 00:31:22.655
<00:31:20.535>and <00:31:20.735>things <00:31:20.935>like <00:31:21.135>that <00:31:21.335>from <00:31:21.535>the <00:31:21.735>host <00:31:21.935>pitch

646
00:31:22.675 --> 00:31:23.855
<00:31:22.675>to <00:31:23.029>micro <00:31:23.383>front <00:31:23.737>ends.

647
00:31:24.395 --> 00:31:26.615
<00:31:24.395>And <00:31:24.522>the <00:31:24.649>problem <00:31:24.776>with <00:31:24.904>that <00:31:25.031>is, <00:31:25.158>if <00:31:25.285>you <00:31:25.413>do <00:31:25.540>that <00:31:25.667>at <00:31:25.795>runtime,

648
00:31:26.635 --> 00:31:28.295
<00:31:26.635>is <00:31:26.915>you <00:31:27.195>create <00:31:27.475>tight <00:31:27.754>coupling <00:31:28.035>again.

649
00:31:29.075 --> 00:31:33.405
<00:31:29.075>And <00:31:29.355>there <00:31:29.635>are <00:31:29.915>several, <00:31:30.195>um, <00:31:30.475>antipas

650
00:31:33.405 --> 00:31:36.925
<00:31:33.405>where <00:31:33.560>you <00:31:33.716>would, <00:31:33.871>uh, <00:31:34.027>take <00:31:34.182>the <00:31:34.338>approaches <00:31:34.493>that, <00:31:34.649>you <00:31:34.805>know,

651
00:31:36.955 --> 00:31:40.645
<00:31:36.955>from <00:31:37.155>a <00:31:37.355>building <00:31:37.554>a <00:31:37.754>monolithic <00:31:37.955>application <00:31:38.155>into <00:31:38.355>distribute

652
00:31:40.725 --> 00:31:43.925
<00:31:40.725>architecture <00:31:41.004>that <00:31:41.284>will <00:31:41.564>undermine <00:31:41.844>the <00:31:42.125>benefits

653
00:31:43.985 --> 00:31:45.045
<00:31:43.985>of <00:31:44.939>distribution

654
00:31:45.825 --> 00:31:49.885
<00:31:45.825>and, <00:31:45.980>uh, <00:31:46.136>not <00:31:46.291>let <00:31:46.447>you <00:31:46.602>have <00:31:46.758>the, <00:31:46.913>uh, <00:31:47.069>kind <00:31:47.225>of,

655
00:31:49.885 --> 00:31:51.045
<00:31:49.885>uh, <00:31:50.093>benefits <00:31:50.302>in <00:31:50.511>the <00:31:50.720>long <00:31:50.929>run.

656
00:31:51.665 --> 00:31:54.445
<00:31:51.665>So <00:31:51.840>Youi <00:31:52.014>library <00:31:52.190>is <00:31:52.365>one <00:31:52.540>example <00:31:52.715>where <00:31:52.889>you <00:31:53.065>need

657
00:31:54.445 --> 00:31:56.845
<00:31:54.445>to <00:31:54.620>invest <00:31:54.794>time, <00:31:54.970>maybe <00:31:55.145>have <00:31:55.320>even <00:31:55.495>a <00:31:55.669>dedicated <00:31:55.845>team

658
00:31:56.845 --> 00:31:58.645
<00:31:56.845>that <00:31:57.045>builds <00:31:57.245>out <00:31:57.445>those <00:31:57.645>things <00:31:57.845>into <00:31:58.045>a <00:31:58.245>library,

659
00:31:59.425 --> 00:32:01.365
<00:31:59.425>and <00:31:59.658>then <00:31:59.891>let's <00:32:00.125>tells <00:32:00.358>a <00:32:00.591>micro <00:32:00.825>front

660
00:32:01.385 --> 00:32:03.285
<00:32:01.385>and <00:32:01.735>condu <00:32:02.085>consume <00:32:02.435>them <00:32:02.785>individually.

661
00:32:05.145 --> 00:32:08.195
<00:32:05.145>Okay? <00:32:05.495>So <00:32:05.845>this <00:32:06.195>is, <00:32:06.545>uh,

662
00:32:08.335 --> 00:32:10.995
<00:32:08.335>in <00:32:08.568>a <00:32:08.801>quite <00:32:09.035>short <00:32:09.268>time <00:32:09.501>the <00:32:09.735>idea

663
00:32:10.995 --> 00:32:12.275
<00:32:10.995>how <00:32:11.187>you <00:32:11.379>would <00:32:11.571>do <00:32:11.763>that <00:32:11.955>in <00:32:12.147>practice.

664
00:32:13.435 --> 00:32:15.715
<00:32:13.435>I <00:32:13.590>thank <00:32:13.746>you <00:32:13.901>for <00:32:14.057>being, <00:32:14.212>uh, <00:32:14.368>with <00:32:14.523>me <00:32:14.679>so <00:32:14.835>far.

665
00:32:16.155 --> 00:32:17.475
<00:32:16.155>I <00:32:16.452>would <00:32:16.749>appreciate <00:32:17.045>your <00:32:17.342>feedback.

666
00:32:17.495 --> 00:32:20.235
<00:32:17.495>So <00:32:17.635>if <00:32:17.774>you <00:32:17.915>could, <00:32:18.054>uh, <00:32:18.195>scan <00:32:18.334>this <00:32:18.475>code <00:32:18.614>and <00:32:18.754>answer <00:32:18.895>two

667
00:32:20.235 --> 00:32:21.915
<00:32:20.235>or <00:32:20.435>three <00:32:20.635>questions, <00:32:20.834>I <00:32:21.034>would <00:32:21.235>like <00:32:21.435>this <00:32:21.635>session.

668
00:32:22.635 --> 00:32:25.995
<00:32:22.635>I <00:32:22.751>would <00:32:22.868>be <00:32:22.985>very <00:32:23.101>happy. <00:32:23.218>And <00:32:23.335>then <00:32:23.451>I <00:32:23.568>guess <00:32:23.685>we <00:32:23.801>have <00:32:23.918>some <00:32:24.035>more

669
00:32:25.995 --> 00:32:27.475
<00:32:25.995>time <00:32:26.328>for <00:32:26.660>questions <00:32:26.994>and <00:32:27.327>discussion.

670
00:32:33.765 --> 00:32:35.035
<00:32:33.765>Hello <00:32:34.336>again, <00:32:34.908>Alexander.

671
00:32:35.535 --> 00:32:38.435
<00:32:35.535>Yes, <00:32:35.710>there <00:32:35.885>is <00:32:36.060>still <00:32:36.235>some <00:32:36.410>time <00:32:36.585>left <00:32:36.760>for <00:32:36.935>that.

672
00:32:38.775 --> 00:32:40.005
<00:32:38.775>So <00:32:38.996>yeah, <00:32:39.217>thanks <00:32:39.439>for <00:32:39.660>the <00:32:39.882>talk

673
00:32:40.385 --> 00:32:43.525
<00:32:40.385>and <00:32:40.618>I <00:32:40.851>would <00:32:41.085>say <00:32:41.318>let's <00:32:41.551>tackle <00:32:41.785>the

674
00:32:43.725 --> 00:32:44.765
<00:32:43.725>questions <00:32:44.037>from <00:32:44.349>the <00:32:44.661>audience.

675
00:32:46.625 --> 00:32:50.925
<00:32:46.625>So <00:32:46.780>first <00:32:46.936>one, <00:32:47.091>how <00:32:47.247>does <00:32:47.402>the <00:32:47.558>framework <00:32:47.713>less <00:32:47.869>approach <00:32:48.025>align

676
00:32:51.035 --> 00:32:54.285
<00:32:51.035>with <00:32:51.268>modern <00:32:51.501>best <00:32:51.735>practices <00:32:51.968>for <00:32:52.201>front-end <00:32:52.435>development?

677
00:32:54.315 --> 00:32:57.085
<00:32:54.315>Like <00:32:54.781>complement <00:32:55.248>based <00:32:55.715>architecture

678
00:32:59.105 --> 00:33:00.105
<00:32:59.105>Again? <00:32:59.555>So, <00:33:00.005>uh,

679
00:33:00.105 --> 00:33:02.615
<00:33:00.105>when <00:33:00.305>you <00:33:00.505>start <00:33:00.705>building <00:33:00.905>any <00:33:01.105>kind <00:33:01.305>of, <00:33:01.505>uh,

680
00:33:02.615 --> 00:33:04.175
<00:33:02.615>architecture, <00:33:03.081>you <00:33:03.548>make <00:33:04.015>trade-offs

681
00:33:04.175 --> 00:33:05.935
<00:33:04.175>between <00:33:04.408>the <00:33:04.641>technologies <00:33:04.875>you <00:33:05.108>have <00:33:05.341>at <00:33:05.575>hand.

682
00:33:06.675 --> 00:33:11.415
<00:33:06.675>So <00:33:06.830>what <00:33:06.986>is <00:33:07.141>your, <00:33:07.297>um, <00:33:07.452>outcome <00:33:07.608>you <00:33:07.763>want <00:33:07.919>to <00:33:08.075>achieve?

683
00:33:11.555 --> 00:33:13.615
<00:33:11.555>Are <00:33:11.835>you <00:33:12.115>going <00:33:12.395>for <00:33:12.675>highest <00:33:12.955>performance?

684
00:33:13.715 --> 00:33:15.535
<00:33:13.715>Are <00:33:13.995>you <00:33:14.274>going <00:33:14.554>for <00:33:14.834>strongest <00:33:15.115>cohesion?

685
00:33:15.875 --> 00:33:18.215
<00:33:15.875>Are <00:33:16.075>you <00:33:16.275>working <00:33:16.475>in <00:33:16.675>the <00:33:16.875>constraints <00:33:17.075>of <00:33:17.275>modernization

686
00:33:18.315 --> 00:33:22.335
<00:33:18.315>and, <00:33:18.548>uh, <00:33:18.781>migration <00:33:19.015>in <00:33:19.248>these, <00:33:19.481>uh, <00:33:19.715>areas?

687
00:33:22.435 --> 00:33:24.055
<00:33:22.435>You <00:33:22.784>have <00:33:23.135>other <00:33:23.485>best <00:33:23.835>practices,

688
00:33:24.055 --> 00:33:27.215
<00:33:24.055>or <00:33:24.210>let's <00:33:24.366>say <00:33:24.521>best <00:33:24.677>practices <00:33:24.832>that, <00:33:24.988>uh, <00:33:25.143>fulfill <00:33:25.299>other <00:33:25.455>needs?

689
00:33:27.925 --> 00:33:29.695
<00:33:27.925>When <00:33:28.205>you <00:33:28.485>look, <00:33:28.764>uh, <00:33:29.044>for <00:33:29.325>components,

690
00:33:29.805 --> 00:33:32.695
<00:33:29.805>they <00:33:30.005>create <00:33:30.205>a <00:33:30.405>very <00:33:30.605>tight <00:33:30.805>coupling <00:33:31.005>between, <00:33:31.205>uh,

691
00:33:33.025 --> 00:33:34.135
<00:33:33.025>these <00:33:33.524>individual <00:33:34.024>things.

692
00:33:34.135 --> 00:33:38.215
<00:33:34.135>And <00:33:34.275>you <00:33:34.415>might <00:33:34.555>not <00:33:34.695>be <00:33:34.835>able <00:33:34.975>to, <00:33:35.115>um, <00:33:35.254>uh, <00:33:35.395>develop <00:33:35.535>individually.

693
00:33:38.715 --> 00:33:41.135
<00:33:38.715>You <00:33:38.889>could <00:33:39.064>look <00:33:39.240>at, <00:33:39.415>uh, <00:33:39.590>for <00:33:39.764>instance, <00:33:39.939>model <00:33:40.115>federation,

694
00:33:41.135 --> 00:33:42.575
<00:33:41.135>which <00:33:41.394>tries <00:33:41.653>to <00:33:41.912>bridge <00:33:42.171>the <00:33:42.431>gap,

695
00:33:42.995 --> 00:33:46.095
<00:33:42.995>but <00:33:43.150>it <00:33:43.306>may <00:33:43.461>be <00:33:43.617>difficult <00:33:43.772>to <00:33:43.928>introduce <00:33:44.083>that <00:33:44.239>sort <00:33:44.395>of,

696
00:33:46.155 --> 00:33:48.495
<00:33:46.155>let <00:33:46.388>me <00:33:46.621>call <00:33:46.855>it, <00:33:47.088>advanced, <00:33:47.321>um, <00:33:47.555>management

697
00:33:48.495 --> 00:33:50.335
<00:33:48.495>of <00:33:48.728>components <00:33:48.961>into <00:33:49.195>a <00:33:49.428>legacy <00:33:49.661>web <00:33:49.895>stack.

698
00:33:50.795 --> 00:33:54.415
<00:33:50.795>So <00:33:50.950>yes, <00:33:51.106>we <00:33:51.261>are <00:33:51.417>probably <00:33:51.572>not <00:33:51.728>optimizing <00:33:51.883>for <00:33:52.039>a <00:33:52.195>few

699
00:33:54.415 --> 00:33:56.575
<00:33:54.415>of <00:33:54.542>the <00:33:54.669>best <00:33:54.796>practices <00:33:54.924>you <00:33:55.051>would <00:33:55.178>have <00:33:55.305>if <00:33:55.433>you <00:33:55.560>could <00:33:55.687>build <00:33:55.815>from

700
00:33:56.575 --> 00:33:59.815
<00:33:56.575>scratch, <00:33:56.730>but <00:33:56.886>this <00:33:57.041>is <00:33:57.197>intentionally <00:33:57.352>the <00:33:57.508>case <00:33:57.663>by <00:33:57.819>using <00:33:57.975>the,

701
00:33:59.995 --> 00:34:02.295
<00:33:59.995>uh, <00:34:00.228>possibilities <00:34:00.461>that <00:34:00.695>you <00:34:00.928>have <00:34:01.161>browser <00:34:01.395>native

702
00:34:03.815 --> 00:34:04.815
Mm-Hmm.

703
00:34:05.485 --> 00:34:09.315
<00:34:05.485>Thank <00:34:05.640>you <00:34:05.796>for <00:34:05.951>that <00:34:06.107>answer. <00:34:06.262>Let's <00:34:06.418>tackle <00:34:06.573>the <00:34:06.729>next <00:34:06.885>question.

704
00:34:10.175 --> 00:34:13.435
<00:34:10.175>Is <00:34:10.375>it <00:34:10.575>possible <00:34:10.775>to <00:34:10.975>use <00:34:11.175>the <00:34:11.375>API <00:34:11.575>contracts

705
00:34:13.615 --> 00:34:16.755
<00:34:13.614>to <00:34:13.790>test <00:34:13.964>if <00:34:14.139>components <00:34:14.314>can <00:34:14.489>interact <00:34:14.665>with <00:34:14.839>each <00:34:15.014>other?

706
00:34:20.615 --> 00:34:22.595
<00:34:20.614>Yes, <00:34:20.814>probably <00:34:21.014>you <00:34:21.214>would <00:34:21.415>have <00:34:21.614>to <00:34:21.814>build <00:34:22.014>some

707
00:34:22.595 --> 00:34:23.635
<00:34:22.594>of <00:34:22.907>the <00:34:23.219>tooling <00:34:23.531>yourself,

708
00:34:23.635 --> 00:34:26.555
<00:34:23.635>because <00:34:23.810>that <00:34:23.985>would <00:34:24.160>be <00:34:24.335>more <00:34:24.510>of <00:34:24.685>an <00:34:24.860>integration <00:34:25.035>test

709
00:34:27.285 --> 00:34:30.875
<00:34:27.284>where <00:34:27.384>you <00:34:27.484>see <00:34:27.585>if, <00:34:27.685>um, <00:34:27.784>I <00:34:27.884>mean <00:34:27.984>you, <00:34:28.085>as <00:34:28.185>I <00:34:28.284>said, <00:34:28.384>you <00:34:28.484>do <00:34:28.585>not <00:34:28.685>want

710
00:34:30.875 --> 00:34:33.395
<00:34:30.875>to <00:34:31.074>have <00:34:31.275>components <00:34:31.475>talk <00:34:31.675>to <00:34:31.875>each <00:34:32.074>other <00:34:32.275>directly.

711
00:34:34.015 --> 00:34:35.595
<00:34:34.014>You <00:34:34.214>should <00:34:34.415>always <00:34:34.614>build <00:34:34.815>them <00:34:35.014>in <00:34:35.214>a <00:34:35.415>way

712
00:34:35.595 --> 00:34:38.595
<00:34:35.594>that <00:34:35.794>they <00:34:35.995>are <00:34:36.194>autonomous <00:34:36.395>and <00:34:36.594>just <00:34:36.794>expose <00:34:36.995>events

713
00:34:38.595 --> 00:34:41.755
<00:34:38.594>and, <00:34:38.770>uh, <00:34:38.944>accept <00:34:39.120>events <00:34:39.294>not <00:34:39.469>knowing <00:34:39.645>who <00:34:39.819>it <00:34:39.995>is.

714
00:34:42.495 --> 00:34:45.555
<00:34:42.495>So <00:34:42.670>when <00:34:42.844>you <00:34:43.020>talk <00:34:43.194>about, <00:34:43.370>uh, <00:34:43.545>testing <00:34:43.719>how <00:34:43.895>contracts

715
00:34:45.555 --> 00:34:46.715
<00:34:45.554>or <00:34:45.902>the <00:34:46.251>integration, <00:34:46.599>uh,

716
00:34:46.715 --> 00:34:48.795
<00:34:46.715>through <00:34:46.995>contracts <00:34:47.275>works <00:34:47.555>in <00:34:47.835>your <00:34:48.115>environment,

717
00:34:49.375 --> 00:34:53.675
<00:34:49.375>you <00:34:49.574>would <00:34:49.775>build <00:34:49.975>a <00:34:50.175>little, <00:34:50.375>uh, <00:34:50.574>integrated <00:34:50.775>environment

718
00:34:53.815 --> 00:34:55.275
<00:34:53.815>and <00:34:54.077>test <00:34:54.340>the <00:34:54.603>flows <00:34:54.866>within <00:34:55.129>there.

719
00:34:56.025 --> 00:34:58.115
<00:34:56.025>What <00:34:56.180>you <00:34:56.336>want <00:34:56.491>to <00:34:56.647>look <00:34:56.802>at <00:34:56.958>when <00:34:57.113>you <00:34:57.269>test, <00:34:57.425>uh,

720
00:34:58.215 --> 00:35:01.675
<00:34:58.215>is <00:34:58.390>not <00:34:58.565>necessarily <00:34:58.740>the, <00:34:58.915>uh, <00:34:59.090>fulfillment <00:34:59.265>of <00:34:59.440>contracts <00:34:59.615>itself

721
00:35:01.675 --> 00:35:03.915
<00:35:01.675>because <00:35:01.875>you <00:35:02.075>can <00:35:02.275>stand <00:35:02.475>test <00:35:02.675>it <00:35:02.875>in <00:35:03.075>isolation.

722
00:35:04.455 --> 00:35:06.755
<00:35:04.455>You <00:35:04.610>could <00:35:04.766>create <00:35:04.921>a <00:35:05.077>mock <00:35:05.232>where <00:35:05.388>you <00:35:05.543>play <00:35:05.699>with, <00:35:05.855>uh,

723
00:35:06.975 --> 00:35:10.515
<00:35:06.975>or <00:35:07.150>you <00:35:07.325>set <00:35:07.500>up <00:35:07.674>a, <00:35:07.850>uh, <00:35:08.025>environment <00:35:08.200>that, <00:35:08.375>uh,

724
00:35:10.515 --> 00:35:13.475
<00:35:10.515>creates <00:35:10.670>mock <00:35:10.826>events <00:35:10.981>or <00:35:11.137>waits <00:35:11.292>for <00:35:11.448>events <00:35:11.603>to <00:35:11.759>be <00:35:11.915>produced

725
00:35:13.495 --> 00:35:14.835
<00:35:13.495>and, <00:35:13.796>uh, <00:35:14.098>look <00:35:14.399>for <00:35:14.701>that.

726
00:35:15.375 --> 00:35:18.635
<00:35:15.375>But <00:35:15.530>you, <00:35:15.686>what <00:35:15.841>you <00:35:15.997>would <00:35:16.152>probably <00:35:16.308>focus <00:35:16.463>on <00:35:16.619>in <00:35:16.775>integration

727
00:35:18.665 --> 00:35:21.515
<00:35:18.665>test <00:35:19.015>is, <00:35:19.365>um, <00:35:19.715>race <00:35:20.065>conditions

728
00:35:21.855 --> 00:35:24.275
<00:35:21.855>or <00:35:22.088>does <00:35:22.321>a <00:35:22.555>flow <00:35:22.788>of <00:35:23.021>events <00:35:23.255>lead

729
00:35:24.295 --> 00:35:25.875
<00:35:24.295>to <00:35:24.575>the <00:35:24.855>user <00:35:25.135>experience <00:35:25.415>you <00:35:25.695>intend?

730
00:35:28.215 --> 00:35:31.475
<00:35:28.215>Mm-Hmm. <00:35:28.495>Thank <00:35:28.775>you <00:35:29.055>for <00:35:29.335>clarifying <00:35:29.615>this.

731
00:35:33.215 --> 00:35:35.555
<00:35:33.215>We <00:35:33.448>get <00:35:33.681>another <00:35:33.915>question <00:35:34.148>from <00:35:34.381>the <00:35:34.615>audience.

732
00:35:36.535 --> 00:35:38.845
<00:35:36.535>How <00:35:36.815>important <00:35:37.095>is <00:35:37.375>it <00:35:37.654>to <00:35:37.935>test

733
00:35:39.025 --> 00:35:42.925
<00:35:39.025>and <00:35:39.180>check <00:35:39.336>the <00:35:39.491>parts <00:35:39.647>of <00:35:39.802>a <00:35:39.958>micro <00:35:40.113>frontend <00:35:40.269>project <00:35:40.425>regularly

734
00:35:43.265 --> 00:35:45.205
<00:35:43.265>to <00:35:43.498>make <00:35:43.731>sure <00:35:43.964>they <00:35:44.198>work <00:35:44.431>well <00:35:44.665>together?

735
00:35:46.445 --> 00:35:48.065
<00:35:46.445>That's <00:35:46.678>a, <00:35:46.911>that's <00:35:47.145>a <00:35:47.378>very <00:35:47.611>good <00:35:47.845>question.

736
00:35:48.325 --> 00:35:52.185
<00:35:48.325>So, <00:35:48.524>um, <00:35:48.725>that's <00:35:48.924>almost <00:35:49.125>an <00:35:49.325>an <00:35:49.524>organizational <00:35:49.725>questions,

737
00:35:52.185 --> 00:35:54.065
<00:35:52.185>but <00:35:52.384>we <00:35:52.585>can <00:35:52.785>learn <00:35:52.985>a <00:35:53.185>lot <00:35:53.384>from, <00:35:53.585>uh,

738
00:35:54.065 --> 00:35:55.585
<00:35:54.065>microservice <00:35:54.749>architecture <00:35:55.433>here.

739
00:35:55.685 --> 00:35:58.145
<00:35:55.685>So <00:35:55.918>in <00:35:56.151>terms <00:35:56.384>of <00:35:56.618>architectural <00:35:56.851>approach <00:35:57.085>in

740
00:35:58.145 --> 00:35:59.345
<00:35:58.145>general, <00:35:58.415>this <00:35:58.685>is <00:35:58.955>very <00:35:59.225>similar.

741
00:35:59.485 --> 00:36:01.505
<00:35:59.485>And, <00:35:59.718>uh, <00:35:59.951>applying <00:36:00.185>those <00:36:00.418>patterns <00:36:00.651>makes <00:36:00.885>sense.

742
00:36:01.925 --> 00:36:04.665
<00:36:01.925>And <00:36:02.080>when <00:36:02.236>you <00:36:02.391>build <00:36:02.547>microservices, <00:36:02.702>you <00:36:02.858>will <00:36:03.013>also <00:36:03.169>make <00:36:03.325>sure

743
00:36:04.695 --> 00:36:09.225
<00:36:04.695>that, <00:36:04.811>uh, <00:36:04.928>for <00:36:05.045>instance, <00:36:05.161>if <00:36:05.278>you <00:36:05.395>look <00:36:05.511>at <00:36:05.628>the <00:36:05.745>API <00:36:05.861>layer <00:36:05.978>of, <00:36:06.095>uh,

744
00:36:09.225 --> 00:36:11.585
<00:36:09.225>distributed <00:36:09.575>architecture <00:36:09.924>that <00:36:10.275>integrates <00:36:10.625>everything,

745
00:36:12.095 --> 00:36:15.385
<00:36:12.095>that <00:36:12.270>you <00:36:12.444>still <00:36:12.620>have <00:36:12.794>coherence <00:36:12.970>over <00:36:13.145>a <00:36:13.319>business <00:36:13.495>domain.

746
00:36:16.125 --> 00:36:17.425
<00:36:16.125>And <00:36:16.359>the <00:36:16.593>same <00:36:16.827>is <00:36:17.061>true <00:36:17.295>here.

747
00:36:17.565 --> 00:36:18.985
<00:36:17.565>So <00:36:17.884>you <00:36:18.204>would <00:36:18.523>probably <00:36:18.843>want

748
00:36:18.985 --> 00:36:21.625
<00:36:18.985>to <00:36:19.185>create <00:36:19.385>either <00:36:19.585>a <00:36:19.785>fully <00:36:19.985>integrated, <00:36:20.185>uh, <00:36:20.385>version

749
00:36:21.765 --> 00:36:25.785
<00:36:21.765>of <00:36:21.904>your <00:36:22.045>application, <00:36:22.185>uh, <00:36:22.325>with <00:36:22.464>at <00:36:22.605>least <00:36:22.745>a, <00:36:22.884>uh, <00:36:23.025>coherent <00:36:23.165>set

750
00:36:25.785 --> 00:36:26.785
<00:36:25.785>of <00:36:26.085>micro <00:36:26.384>front <00:36:26.685>ends,

751
00:36:26.965 --> 00:36:28.905
<00:36:26.965>and <00:36:27.140>then <00:36:27.315>you <00:36:27.490>would <00:36:27.665>build <00:36:27.840>functional <00:36:28.015>tests <00:36:28.190>against <00:36:28.365>them.

752
00:36:28.965 --> 00:36:31.345
<00:36:28.965>So <00:36:29.165>it <00:36:29.365>is, <00:36:29.565>uh, <00:36:29.765>of <00:36:29.965>course <00:36:30.165>very <00:36:30.365>important.

753
00:36:31.885 --> 00:36:34.745
<00:36:31.885>It <00:36:32.012>is, <00:36:32.139>in <00:36:32.266>my <00:36:32.394>opinion, <00:36:32.521>much <00:36:32.648>more <00:36:32.775>important <00:36:32.903>to <00:36:33.030>focus <00:36:33.157>on, <00:36:33.285>uh,

754
00:36:34.745 --> 00:36:37.545
<00:36:34.745>integration <00:36:34.944>testing <00:36:35.145>in <00:36:35.345>a <00:36:35.545>distributed <00:36:35.745>architecture <00:36:35.944>in <00:36:36.145>general

755
00:36:38.175 --> 00:36:39.585
<00:36:38.175>than <00:36:38.428>on <00:36:38.682>things <00:36:38.936>like <00:36:39.190>unit <00:36:39.444>tests,

756
00:36:39.585 --> 00:36:41.585
<00:36:39.585>because <00:36:39.818>those <00:36:40.051>things, <00:36:40.285>when <00:36:40.518>we <00:36:40.751>talk <00:36:40.985>micro,

757
00:36:42.295 --> 00:36:44.265
<00:36:42.295>they <00:36:42.575>have <00:36:42.855>very <00:36:43.135>little <00:36:43.415>internal <00:36:43.695>logic.

758
00:36:44.405 --> 00:36:46.065
<00:36:44.405>And <00:36:44.605>this <00:36:44.805>may <00:36:45.005>change <00:36:45.205>a <00:36:45.405>lot <00:36:45.605>because, <00:36:45.805>and,

759
00:36:46.065 --> 00:36:47.865
<00:36:46.065>and <00:36:46.240>it <00:36:46.415>is <00:36:46.590>not <00:36:46.765>really <00:36:46.940>relevant <00:36:47.115>to <00:36:47.290>the <00:36:47.465>functioning,

760
00:36:47.885 --> 00:36:50.105
<00:36:47.885>or <00:36:48.060>it <00:36:48.235>is <00:36:48.410>relevant, <00:36:48.585>but <00:36:48.760>what <00:36:48.935>is, <00:36:49.110>uh, <00:36:49.285>crucial

761
00:36:50.125 --> 00:36:51.985
<00:36:50.125>to <00:36:50.358>the <00:36:50.591>functioning <00:36:50.825>of <00:36:51.058>the <00:36:51.291>overall <00:36:51.525>experience.

762
00:36:52.405 --> 00:36:55.985
<00:36:52.405>But <00:36:52.560>many <00:36:52.716>more <00:36:52.871>things <00:36:53.027>can <00:36:53.182>break <00:36:53.338>at <00:36:53.493>the <00:36:53.649>integration <00:36:53.805>points

763
00:36:56.045 --> 00:36:57.625
<00:36:56.045>of <00:36:56.511>events <00:36:56.978>of <00:36:57.445>APIs.

764
00:36:58.285 --> 00:37:01.065
<00:36:58.285>And <00:36:58.565>so <00:36:58.845>you <00:36:59.125>have <00:36:59.404>this <00:36:59.685>paradigm

765
00:37:01.085 --> 00:37:03.185
<00:37:01.085>of <00:37:01.285>a <00:37:01.485>testing <00:37:01.685>diamond <00:37:01.885>rather <00:37:02.085>than <00:37:02.285>a <00:37:02.485>pyramid.

766
00:37:03.965 --> 00:37:07.585
<00:37:03.965>And, <00:37:04.092>uh, <00:37:04.219>this <00:37:04.346>is <00:37:04.474>why <00:37:04.601>I <00:37:04.728>would <00:37:04.855>stress <00:37:04.983>the <00:37:05.110>importance <00:37:05.237>is <00:37:05.365>much

767
00:37:07.585 --> 00:37:09.585
<00:37:07.585>more <00:37:07.818>on <00:37:08.051>this <00:37:08.285>layer <00:37:08.518>than <00:37:08.751>on, <00:37:08.985>uh,

768
00:37:09.585 --> 00:37:11.745
<00:37:09.585>having <00:37:09.818>a <00:37:10.051>high <00:37:10.285>test <00:37:10.518>coverage <00:37:10.751>unit <00:37:10.985>tests.

769
00:37:13.135 --> 00:37:18.105
<00:37:13.135>Okay. <00:37:13.335>Thank <00:37:13.535>you <00:37:13.735>for <00:37:13.935>clarifying <00:37:14.135>all <00:37:14.335>of <00:37:14.535>this.

770
00:37:19.245 --> 00:37:21.785
<00:37:19.245>So <00:37:19.711>we <00:37:20.178>had, <00:37:20.645>uh,

771
00:37:22.045 --> 00:37:24.865
<00:37:22.045>an <00:37:22.278>AWS <00:37:22.511>question <00:37:22.745>in <00:37:22.978>an <00:37:23.211>earlier <00:37:23.445>talk.

772
00:37:25.365 --> 00:37:28.705
<00:37:25.365>Um, <00:37:25.492>I <00:37:25.619>don't <00:37:25.746>know <00:37:25.874>if <00:37:26.001>how <00:37:26.128>familiar <00:37:26.255>you <00:37:26.383>were <00:37:26.510>with <00:37:26.637>web <00:37:26.765>assembly.

773
00:37:28.945 --> 00:37:31.305
<00:37:28.945>I <00:37:29.295>will <00:37:29.645>just <00:37:29.995>ask <00:37:30.345>straightforward.

774
00:37:31.885 --> 00:37:34.945
<00:37:31.885>Can <00:37:32.060>you <00:37:32.235>use <00:37:32.410>web <00:37:32.585>assembly <00:37:32.760>in <00:37:32.935>AWS <00:37:33.110>Lambda <00:37:33.285>functions?

775
00:37:35.885 --> 00:37:36.825
<00:37:35.885>Oh, <00:37:36.096>that's <00:37:36.308>a <00:37:36.519>good <00:37:36.731>question.

776
00:37:36.895 --> 00:37:38.345
<00:37:36.895>I've <00:37:37.156>actually <00:37:37.417>been <00:37:37.678>playing <00:37:37.939>with <00:37:38.200>this.

777
00:37:38.565 --> 00:37:43.465
<00:37:38.565>Um, <00:37:38.681>the <00:37:38.798>answer <00:37:38.915>I <00:37:39.031>would <00:37:39.148>give <00:37:39.265>to <00:37:39.381>you <00:37:39.498>is <00:37:39.615>the <00:37:39.731>AWS <00:37:39.848>Lambda <00:37:39.965>APIs,

778
00:37:43.465 --> 00:37:47.145
<00:37:43.465>to <00:37:43.640>my <00:37:43.815>knowledge, <00:37:43.990>currently <00:37:44.165>don't, <00:37:44.340>uh, <00:37:44.515>support, <00:37:44.690>uh, <00:37:44.865>vaso.

779
00:37:47.895 --> 00:37:50.785
<00:37:47.895>They <00:37:48.245>do <00:37:48.595>support, <00:37:48.945>uh, <00:37:49.295>OCI.

780
00:37:51.285 --> 00:37:54.625
<00:37:51.285>So <00:37:51.424>the, <00:37:51.565>uh, <00:37:51.705>basically <00:37:51.845>what <00:37:51.984>docker <00:37:52.125>came <00:37:52.265>from, <00:37:52.404>the, <00:37:52.545>the, <00:37:52.685>um,

781
00:37:54.845 --> 00:37:57.305
<00:37:54.845>you <00:37:55.078>can <00:37:55.311>run <00:37:55.544>docker <00:37:55.778>containers <00:37:56.011>on <00:37:56.245>there,

782
00:37:57.895 --> 00:38:00.265
<00:37:57.895>however, <00:37:58.245>it <00:37:58.595>does <00:37:58.945>not <00:37:59.295>support,

783
00:38:00.265 --> 00:38:01.665
<00:38:00.265>and <00:38:00.444>this <00:38:00.625>is, <00:38:00.805>uh, <00:38:00.985>off <00:38:01.165>the <00:38:01.345>record, <00:38:01.525>right?

784
00:38:01.685 --> 00:38:05.065
<00:38:01.685>So <00:38:01.884>needs <00:38:02.085>to, <00:38:02.285>uh, <00:38:02.485>check, <00:38:02.685>uh, <00:38:02.884>later <00:38:03.085>on.

785
00:38:05.445 --> 00:38:07.825
<00:38:05.445>Uh, <00:38:05.645>but, <00:38:05.845>uh, <00:38:06.045>for <00:38:06.245>my <00:38:06.445>current <00:38:06.645>knowledge, <00:38:06.845>uh,

786
00:38:07.965 --> 00:38:09.865
<00:38:07.965>you <00:38:08.165>will <00:38:08.365>not <00:38:08.565>be <00:38:08.765>able <00:38:08.965>to <00:38:09.165>run, <00:38:09.365>uh,

787
00:38:10.125 --> 00:38:13.065
<00:38:10.125>VA <00:38:10.405>containers <00:38:10.685>under <00:38:10.965>the <00:38:11.245>OCI <00:38:11.525>standards,

788
00:38:13.065 --> 00:38:14.345
<00:38:13.065>which <00:38:13.353>technically <00:38:13.641>would <00:38:13.929>be <00:38:14.216>possible,

789
00:38:14.345 --> 00:38:15.705
<00:38:14.345>but <00:38:14.651>it's <00:38:14.957>currently <00:38:15.263>not <00:38:15.569>supported.

790
00:38:17.395 --> 00:38:19.605
<00:38:17.395>Okay, <00:38:17.745>I <00:38:18.095>see. <00:38:18.445>Thank <00:38:18.795>you.

791
00:38:19.605 --> 00:38:20.925
<00:38:19.605>You, <00:38:19.803>you <00:38:20.001>really <00:38:20.199>helped <00:38:20.397>us <00:38:20.595>out <00:38:20.793>here

792
00:38:20.925 --> 00:38:23.325
<00:38:20.925>and, <00:38:21.205>uh, <00:38:21.485>oh, <00:38:21.765>first <00:38:22.045>speaker <00:38:22.325>today

793
00:38:25.355 --> 00:38:27.285
<00:38:25.355>because <00:38:25.588>I <00:38:25.821>was <00:38:26.055>saying <00:38:26.288>to <00:38:26.521>him, <00:38:26.755>Hey,

794
00:38:27.285 --> 00:38:30.325
<00:38:27.285>we <00:38:27.460>got <00:38:27.634>a <00:38:27.810>AWS <00:38:27.984>speaker <00:38:28.160>later, <00:38:28.335>maybe <00:38:28.509>he <00:38:28.685>can,

795
00:38:31.425 --> 00:38:32.485
<00:38:31.425>he <00:38:31.663>can <00:38:31.902>help <00:38:32.140>us <00:38:32.379>there.

796
00:38:33.225 --> 00:38:35.405
<00:38:33.225>So <00:38:33.400>thank <00:38:33.575>you <00:38:33.750>so <00:38:33.924>much <00:38:34.100>for <00:38:34.275>this <00:38:34.450>as <00:38:34.625>well.

797
00:38:35.865 --> 00:38:38.045
<00:38:35.865>And <00:38:36.064>we <00:38:36.265>move <00:38:36.464>on <00:38:36.665>to <00:38:36.865>the <00:38:37.064>next <00:38:37.265>question.

798
00:38:39.185 --> 00:38:41.325
<00:38:39.185>Can <00:38:39.465>you <00:38:39.745>combine <00:38:40.025>the <00:38:40.305>interface <00:38:40.585>contracts

799
00:38:41.325 --> 00:38:43.125
<00:38:41.325>with <00:38:41.791>modern <00:38:42.258>web <00:38:42.725>frameworks?

800
00:38:45.435 --> 00:38:48.135
<00:38:45.435>Uh, <00:38:45.590>I <00:38:45.746>would <00:38:45.901>have <00:38:46.057>to, <00:38:46.212>uh, <00:38:46.368>ask <00:38:46.523>the <00:38:46.679>counter <00:38:46.835>question.

801
00:38:48.275 --> 00:38:49.575
<00:38:48.275>Can <00:38:48.442>you <00:38:48.609>give <00:38:48.776>me <00:38:48.943>an <00:38:49.110>example <00:38:49.277>of <00:38:49.444>a,

802
00:38:49.855 --> 00:38:50.855
<00:38:49.855>a <00:38:50.005>web <00:38:50.155>framework <00:38:50.305>you <00:38:50.455>have <00:38:50.605>in <00:38:50.755>mind?

803
00:38:51.565 --> 00:38:53.425
<00:38:51.565>Okay, <00:38:51.765>then <00:38:51.965>we <00:38:52.165>save <00:38:52.365>this <00:38:52.565>one <00:38:52.765>for <00:38:52.965>later

804
00:38:53.685 --> 00:38:56.545
<00:38:53.685>and <00:38:53.965>maybe <00:38:54.245>the <00:38:54.525>person <00:38:54.805>will, <00:38:55.085>um,

805
00:38:57.495 --> 00:38:59.025
<00:38:57.495>tell <00:38:57.839>us <00:38:58.183>something <00:38:58.527>more <00:38:58.872>specific.

806
00:38:59.565 --> 00:39:01.985
<00:38:59.565>And <00:38:59.740>in <00:38:59.915>the <00:39:00.090>meantime, <00:39:00.265>let's <00:39:00.440>tackle <00:39:00.615>the <00:39:00.790>next <00:39:00.965>one.

807
00:39:03.125 --> 00:39:04.545
<00:39:03.125>How <00:39:03.444>do <00:39:03.764>we <00:39:04.083>make <00:39:04.403>sure

808
00:39:04.815 --> 00:39:08.385
<00:39:04.815>that <00:39:05.048>interface <00:39:05.281>contracts <00:39:05.515>are <00:39:05.748>safe <00:39:05.981>from <00:39:06.215>unauthorized

809
00:39:08.485 --> 00:39:09.625
<00:39:08.485>access <00:39:08.998>or <00:39:09.511>changes?

810
00:39:12.005 --> 00:39:15.545
<00:39:12.005>So <00:39:12.160>when <00:39:12.316>we <00:39:12.471>talk <00:39:12.627>about <00:39:12.782>unauthorized <00:39:12.938>accesses <00:39:13.093>can <00:39:13.249>be <00:39:13.405>read

811
00:39:15.605 --> 00:39:19.185
<00:39:15.605>access <00:39:15.805>or <00:39:16.005>right <00:39:16.205>access <00:39:16.405>for <00:39:16.605>right <00:39:16.805>access, <00:39:17.005>obviously.

812
00:39:19.465 --> 00:39:22.625
<00:39:19.465>I <00:39:19.605>mean, <00:39:19.745>the, <00:39:19.885>the <00:39:20.025>contract <00:39:20.165>should <00:39:20.305>live <00:39:20.445>in <00:39:20.585>a <00:39:20.725>GIT <00:39:20.865>repository

813
00:39:22.685 --> 00:39:24.025
<00:39:22.685>and <00:39:23.087>the <00:39:23.489>GIT <00:39:23.891>repository

814
00:39:24.085 --> 00:39:27.505
<00:39:24.085>of <00:39:24.285>an <00:39:24.485>organization <00:39:24.685>should <00:39:24.885>be <00:39:25.085>hopefully <00:39:25.285>secured <00:39:25.485>against

815
00:39:27.705 --> 00:39:29.145
<00:39:27.705>unauthorized <00:39:29.001>modification.

816
00:39:30.045 --> 00:39:34.825
<00:39:30.045>The <00:39:30.220>interesting <00:39:30.395>question <00:39:30.570>is, <00:39:30.745>read <00:39:30.920>contracts, <00:39:31.095>uh, <00:39:31.270>read <00:39:31.445>access

817
00:39:34.825 --> 00:39:37.265
<00:39:34.825>to <00:39:35.105>contracts, <00:39:35.384>should <00:39:35.665>that <00:39:35.944>be <00:39:36.225>restricted?

818
00:39:37.645 --> 00:39:40.825
<00:39:37.645>If <00:39:37.845>there <00:39:38.045>is <00:39:38.245>confidential <00:39:38.445>information <00:39:38.645>in <00:39:38.845>the <00:39:39.045>semantics

819
00:39:40.825 --> 00:39:43.665
<00:39:40.825>of <00:39:40.964>this <00:39:41.105>interface, <00:39:41.245>again, <00:39:41.384>this <00:39:41.524>is <00:39:41.665>very <00:39:41.805>similar <00:39:41.944>to <00:39:42.085>rest <00:39:42.225>APIs.

820
00:39:44.205 --> 00:39:48.425
<00:39:44.205>Um, <00:39:44.332>you <00:39:44.459>would, <00:39:44.586>uh, <00:39:44.714>want <00:39:44.841>to <00:39:44.968>protect <00:39:45.095>it <00:39:45.223>at <00:39:45.350>the <00:39:45.477>same <00:39:45.605>time

821
00:39:48.425 --> 00:39:49.665
<00:39:48.425>as <00:39:48.648>it <00:39:48.871>happens <00:39:49.094>in <00:39:49.317>the <00:39:49.541>browser.

822
00:39:49.755 --> 00:39:52.665
<00:39:49.755>It'll <00:39:49.910>be <00:39:50.066>very <00:39:50.221>hard <00:39:50.377>because <00:39:50.532>if <00:39:50.688>you <00:39:50.843>want <00:39:50.999>to, <00:39:51.155>um,

823
00:39:53.415 --> 00:39:56.185
<00:39:53.415>look <00:39:53.615>into <00:39:53.815>the <00:39:54.015>communication <00:39:54.215>flows, <00:39:54.415>you <00:39:54.615>can <00:39:54.815>debug

824
00:39:56.185 --> 00:39:57.345
<00:39:56.185>that <00:39:56.446>from <00:39:56.707>a <00:39:56.968>live <00:39:57.229>site.

825
00:39:57.795 --> 00:40:00.585
<00:39:57.795>Again, <00:39:57.950>very <00:39:58.106>similar <00:39:58.261>to <00:39:58.417>rest <00:39:58.572>APIs <00:39:58.728>that <00:39:58.883>are <00:39:59.039>consumed <00:39:59.195>through,

826
00:40:00.685 --> 00:40:03.305
<00:40:00.685>uh, <00:40:00.884>a <00:40:01.085>public, <00:40:01.285>um, <00:40:01.485>consumer <00:40:01.685>like <00:40:01.884>a <00:40:02.085>webpage.

827
00:40:04.005 --> 00:40:06.465
<00:40:04.005>Um, <00:40:04.180>I <00:40:04.355>don't <00:40:04.530>see <00:40:04.705>this <00:40:04.880>as <00:40:05.055>a <00:40:05.230>big <00:40:05.405>problem.

828
00:40:06.605 --> 00:40:09.025
<00:40:06.605>So <00:40:06.745>in <00:40:06.885>fact, <00:40:07.025>uh, <00:40:07.165>I, <00:40:07.305>I <00:40:07.445>can <00:40:07.585>give <00:40:07.725>you <00:40:07.865>an <00:40:08.005>example.

829
00:40:09.285 --> 00:40:13.185
<00:40:09.285>So <00:40:09.484>the <00:40:09.685>things <00:40:09.884>I've <00:40:10.085>talked <00:40:10.285>about <00:40:10.484>is <00:40:10.685>something

830
00:40:13.185 --> 00:40:14.305
<00:40:13.185>that <00:40:13.520>we've <00:40:13.857>built, <00:40:14.192>uh,

831
00:40:14.305 --> 00:40:16.945
<00:40:14.305>during <00:40:14.460>my <00:40:14.616>time <00:40:14.771>at <00:40:14.927>a <00:40:15.082>company <00:40:15.238>called <00:40:15.393>tui, <00:40:15.549>a <00:40:15.705>German,

832
00:40:17.225 --> 00:40:19.025
<00:40:17.225>a <00:40:17.458>very <00:40:17.691>large, <00:40:17.924>uh, <00:40:18.158>travel, <00:40:18.391>uh, <00:40:18.625>company.

833
00:40:19.645 --> 00:40:21.185
<00:40:19.645>And <00:40:19.876>this <00:40:20.107>is <00:40:20.337>a <00:40:20.569>success <00:40:20.800>story, <00:40:21.031>right?

834
00:40:21.185 --> 00:40:24.425
<00:40:21.185>Because, <00:40:21.360>uh, <00:40:21.535>a <00:40:21.710>lot <00:40:21.884>of <00:40:22.060>transformation, <00:40:22.235>um, <00:40:22.410>has <00:40:22.585>gone

835
00:40:24.425 --> 00:40:25.665
<00:40:24.425>through <00:40:24.797>this, <00:40:25.169>uh, <00:40:25.541>approach

836
00:40:26.445 --> 00:40:29.745
<00:40:26.445>and <00:40:26.620>we <00:40:26.795>have <00:40:26.970>said <00:40:27.145>we <00:40:27.320>can <00:40:27.495>document <00:40:27.670>this <00:40:27.845>publicly.

837
00:40:29.965 --> 00:40:32.865
<00:40:29.965>So <00:40:30.245>the, <00:40:30.525>um, <00:40:30.805>interface <00:40:31.085>contracts, <00:40:31.365>uh,

838
00:40:32.885 --> 00:40:34.465
<00:40:32.885>the <00:40:33.235>communication <00:40:33.585>flows <00:40:33.935>are <00:40:34.285>something

839
00:40:34.465 --> 00:40:36.145
<00:40:34.465>that <00:40:34.698>we <00:40:34.931>are <00:40:35.165>very <00:40:35.398>proud <00:40:35.631>to <00:40:35.865>show.

840
00:40:36.885 --> 00:40:39.785
<00:40:36.885>And <00:40:37.025>there's <00:40:37.165>nothing <00:40:37.305>that <00:40:37.445>you <00:40:37.585>can, <00:40:37.725>uh, <00:40:37.865>kind <00:40:38.005>of <00:40:38.145>exploit, <00:40:38.285>not,

841
00:40:39.845 --> 00:40:41.025
<00:40:39.845>not <00:40:40.199>in <00:40:40.553>another <00:40:40.907>way.

842
00:40:41.025 --> 00:40:42.225
<00:40:41.025>Then <00:40:41.241>you <00:40:41.457>can <00:40:41.673>exploit <00:40:41.889>every <00:40:42.105>website,

843
00:40:42.225 --> 00:40:46.585
<00:40:42.225>you <00:40:42.352>can <00:40:42.479>scrape <00:40:42.606>the <00:40:42.734>website, <00:40:42.861>uh, <00:40:42.988>you <00:40:43.115>can <00:40:43.243>DDoS <00:40:43.370>it, <00:40:43.497>things <00:40:43.625>like

844
00:40:46.665 --> 00:40:48.505
<00:40:46.665>that <00:40:46.865>will <00:40:47.065>always <00:40:47.265>be <00:40:47.465>possible <00:40:47.665>to <00:40:47.865>some <00:40:48.065>extent.

845
00:40:48.965 --> 00:40:51.225
<00:40:48.965>And <00:40:49.105>you <00:40:49.245>need <00:40:49.385>to <00:40:49.525>protect <00:40:49.665>yourself <00:40:49.805>in <00:40:49.945>a <00:40:50.085>different <00:40:50.225>layer <00:40:50.365>than

846
00:40:51.225 --> 00:40:53.385
<00:40:51.225>just, <00:40:51.575>uh, <00:40:51.924>concealing <00:40:52.275>API <00:40:52.625>access.

847
00:40:54.435 --> 00:40:58.205
<00:40:54.435>Mm-Hmm. <00:40:54.634>Makes <00:40:54.835>sense. <00:40:55.035>Thank <00:40:55.235>you <00:40:55.435>so <00:40:55.634>much, <00:40:55.835>Alexander.

848
00:41:00.185 --> 00:41:03.315
<00:41:00.185>Next <00:41:00.418>question. <00:41:00.651>Any <00:41:00.884>best <00:41:01.118>practices <00:41:01.351>for <00:41:01.585>monitoring

849
00:41:03.335 --> 00:41:06.915
<00:41:03.335>and <00:41:03.510>troubleshooting <00:41:03.685>issues <00:41:03.860>in <00:41:04.035>a <00:41:04.210>framework <00:41:04.385>less <00:41:04.560>mi <00:41:04.735>micro

850
00:41:06.945 --> 00:41:08.275
<00:41:06.945>fronted <00:41:08.142>architecture?

851
00:41:11.235 --> 00:41:16.185
<00:41:11.235>Again, <00:41:11.375>uh, <00:41:11.515>I <00:41:11.655>would <00:41:11.795>need <00:41:11.935>a <00:41:12.075>bit <00:41:12.215>more, <00:41:12.355>um, <00:41:12.495>precise, <00:41:12.635>uh,

852
00:41:16.245 --> 00:41:17.945
<00:41:16.245>or <00:41:16.525>let <00:41:16.805>me <00:41:17.085>maybe, <00:41:17.365>uh, <00:41:17.645>um,

853
00:41:18.015 --> 00:41:20.265
<00:41:18.015>make <00:41:18.190>some <00:41:18.365>assumptions <00:41:18.540>about <00:41:18.714>the <00:41:18.890>nature <00:41:19.065>of <00:41:19.240>the <00:41:19.415>question.

854
00:41:20.265 --> 00:41:22.145
<00:41:20.265>Mm-Hmm. <00:41:20.545>So <00:41:20.825>I <00:41:21.105>assumed, <00:41:21.384>uh, <00:41:21.665>you,

855
00:41:22.145 --> 00:41:24.825
<00:41:22.145>you <00:41:22.285>can <00:41:22.425>address <00:41:22.565>this <00:41:22.705>on <00:41:22.845>two <00:41:22.985>layers <00:41:23.125>within <00:41:23.265>the <00:41:23.405>micro <00:41:23.545>fronted

856
00:41:24.825 --> 00:41:28.465
<00:41:24.825>itself <00:41:24.980>and <00:41:25.136>on <00:41:25.291>the <00:41:25.447>integration <00:41:25.602>point <00:41:25.758>in <00:41:25.913>the <00:41:26.069>host <00:41:26.225>page,

857
00:41:29.525 --> 00:41:32.185
<00:41:29.525>but <00:41:29.725>the <00:41:29.925>mechanics <00:41:30.125>are <00:41:30.325>not <00:41:30.525>very <00:41:30.725>different <00:41:30.925>than

858
00:41:32.185 --> 00:41:34.805
<00:41:32.185>what <00:41:32.360>you <00:41:32.535>would <00:41:32.710>have <00:41:32.884>in <00:41:33.060>a <00:41:33.235>traditional <00:41:33.410>web <00:41:33.585>architecture.

859
00:41:34.825 --> 00:41:39.805
<00:41:34.825>You <00:41:35.000>would <00:41:35.174>place <00:41:35.350>your, <00:41:35.524>um, <00:41:35.700>tracking <00:41:35.875>tools <00:41:36.049>inside, <00:41:36.225>uh,

860
00:41:39.805 --> 00:41:40.925
<00:41:39.805>discovery <00:41:40.057>where <00:41:40.309>we <00:41:40.561>have <00:41:40.813>them.

861
00:41:41.065 --> 00:41:43.685
<00:41:41.065>You <00:41:41.220>would <00:41:41.376>log <00:41:41.531>out <00:41:41.687>the, <00:41:41.842>uh, <00:41:41.998>events <00:41:42.153>that <00:41:42.309>you <00:41:42.465>have

862
00:41:43.705 --> 00:41:46.005
<00:41:43.705>and <00:41:43.860>then <00:41:44.016>see <00:41:44.171>for <00:41:44.327>a <00:41:44.482>trace, <00:41:44.638>you <00:41:44.793>could <00:41:44.949>do <00:41:45.105>this

863
00:41:46.005 --> 00:41:48.285
<00:41:46.005>with <00:41:46.205>very <00:41:46.405>simple <00:41:46.605>tools <00:41:46.805>like, <00:41:47.005>uh, <00:41:47.205>console <00:41:47.405>log,

864
00:41:48.745 --> 00:41:51.165
<00:41:48.745>or <00:41:48.920>you <00:41:49.095>can <00:41:49.270>use <00:41:49.444>more <00:41:49.620>elaborate <00:41:49.795>tools <00:41:49.970>from, <00:41:50.145>uh,

865
00:41:51.165 --> 00:41:52.525
<00:41:51.165>vendors <00:41:51.471>that <00:41:51.777>you <00:41:52.083>may <00:41:52.389>know.

866
00:41:53.385 --> 00:41:57.085
<00:41:53.385>Um, <00:41:53.540>the <00:41:53.696>thing <00:41:53.851>to <00:41:54.007>be <00:41:54.162>careful <00:41:54.318>of <00:41:54.473>is <00:41:54.629>that, <00:41:54.785>uh,

867
00:41:57.145 --> 00:41:59.605
<00:41:57.145>you <00:41:57.272>will <00:41:57.399>not <00:41:57.526>want <00:41:57.654>to <00:41:57.781>break <00:41:57.908>the <00:41:58.035>boundary <00:41:58.163>when <00:41:58.290>you <00:41:58.417>log <00:41:58.545>those

868
00:41:59.695 --> 00:42:02.325
<00:41:59.695>flows <00:41:59.975>because <00:42:00.255>this <00:42:00.535>encapsulation <00:42:00.815>is <00:42:01.095>intentional

869
00:42:02.595 --> 00:42:04.925
<00:42:02.595>because <00:42:02.794>you <00:42:02.995>still <00:42:03.194>want <00:42:03.395>the <00:42:03.595>portability <00:42:03.794>and <00:42:03.995>autonomy.

870
00:42:05.505 --> 00:42:09.155
<00:42:05.505>So <00:42:05.645>what <00:42:05.785>you <00:42:05.925>will, <00:42:06.065>uh, <00:42:06.205>be <00:42:06.345>able <00:42:06.485>to <00:42:06.625>do <00:42:06.765>is, <00:42:06.905>um,

871
00:42:09.765 --> 00:42:12.715
<00:42:09.765>emits <00:42:09.998>analytics <00:42:10.231>events <00:42:10.464>through <00:42:10.698>the <00:42:10.931>host <00:42:11.165>page

872
00:42:12.715 --> 00:42:14.355
<00:42:12.715>and <00:42:12.915>that <00:42:13.115>a <00:42:13.315>host <00:42:13.515>page <00:42:13.715>to <00:42:13.915>the <00:42:14.115>tracking.

873
00:42:14.895 --> 00:42:16.595
<00:42:14.895>So <00:42:15.128>this <00:42:15.361>is <00:42:15.595>one <00:42:15.828>pattern <00:42:16.061>that, <00:42:16.295>uh,

874
00:42:16.615 --> 00:42:18.555
<00:42:16.615>has <00:42:16.895>been <00:42:17.174>applied <00:42:17.455>successfully <00:42:17.734>in <00:42:18.015>practice.

875
00:42:18.975 --> 00:42:20.075
<00:42:18.975>So <00:42:19.305>instead <00:42:19.634>of <00:42:19.964>logging

876
00:42:20.455 --> 00:42:23.195
<00:42:20.455>or <00:42:20.610>having <00:42:20.766>the <00:42:20.921>logging <00:42:21.077>capability <00:42:21.232>built <00:42:21.388>into <00:42:21.543>the <00:42:21.699>micro <00:42:21.855>front

877
00:42:23.255 --> 00:42:26.035
<00:42:23.255>end, <00:42:23.395>and <00:42:23.535>the <00:42:23.675>same <00:42:23.815>is <00:42:23.955>true <00:42:24.095>by <00:42:24.235>the <00:42:24.375>way <00:42:24.515>for, <00:42:24.655>um,

878
00:42:26.785 --> 00:42:30.195
<00:42:26.785>user <00:42:27.065>analytics <00:42:27.345>purposes, <00:42:27.625>expose <00:42:27.904>those <00:42:28.185>events,

879
00:42:30.265 --> 00:42:31.675
<00:42:30.265>give <00:42:30.582>them <00:42:30.899>their <00:42:31.216>own <00:42:31.534>namespace

880
00:42:31.895 --> 00:42:34.355
<00:42:31.895>to <00:42:32.070>make <00:42:32.245>sure <00:42:32.420>they <00:42:32.595>don't <00:42:32.770>interfere <00:42:32.945>with <00:42:33.120>other <00:42:33.295>events

881
00:42:34.355 --> 00:42:35.395
<00:42:34.355>that <00:42:34.589>you <00:42:34.823>want <00:42:35.057>to <00:42:35.291>consume,

882
00:42:35.975 --> 00:42:39.755
<00:42:35.975>and <00:42:36.115>then <00:42:36.255>let <00:42:36.395>some <00:42:36.535>handler <00:42:36.674>log <00:42:36.815>them <00:42:36.955>away <00:42:37.095>into <00:42:37.235>your <00:42:37.375>web

883
00:42:39.755 --> 00:42:43.275
<00:42:39.755>analytics <00:42:40.035>tools <00:42:40.315>or <00:42:40.595>your, <00:42:40.875>um, <00:42:41.155>uh,

884
00:42:43.625 --> 00:42:44.955
<00:42:43.625>technical <00:42:44.223>monitoring <00:42:44.822>tools.

885
00:42:46.015 --> 00:42:48.675
<00:42:46.015>Mm-Hmm. <00:42:46.714>All <00:42:47.415>right.

886
00:42:49.405 --> 00:42:52.755
<00:42:49.405>Thank <00:42:49.638>you <00:42:49.871>for <00:42:50.105>this <00:42:50.338>answer <00:42:50.571>as <00:42:50.805>well.

887
00:42:53.095 --> 00:42:54.675
<00:42:53.095>So, <00:42:53.794>um, <00:42:54.495>Alexander,

888
00:42:55.175 --> 00:42:58.555
<00:42:55.175>you <00:42:55.408>are <00:42:55.641>already <00:42:55.875>a <00:42:56.108>senior <00:42:56.341>solutions <00:42:56.575>architect.

889
00:42:58.575 --> 00:43:00.555
<00:42:58.575>You <00:42:58.855>have <00:42:59.134>20 <00:42:59.415>years <00:42:59.694>of <00:42:59.975>experience.

890
00:43:00.895 --> 00:43:05.685
<00:43:00.895>Um, <00:43:01.022>may <00:43:01.149>I <00:43:01.276>ask, <00:43:01.404>um, <00:43:01.531>what <00:43:01.658>get <00:43:01.785>you, <00:43:01.913>uh, <00:43:02.040>what <00:43:02.167>got <00:43:02.295>you,

891
00:43:05.745 --> 00:43:08.525
<00:43:05.745>uh, <00:43:05.944>interested <00:43:06.145>in <00:43:06.345>tech <00:43:06.545>in <00:43:06.745>the <00:43:06.944>first <00:43:07.145>place

892
00:43:08.585 --> 00:43:12.245
<00:43:08.585>and <00:43:08.712>maybe <00:43:08.839>try <00:43:08.966>to <00:43:09.094>give <00:43:09.221>us <00:43:09.348>a <00:43:09.475>bit <00:43:09.603>of <00:43:09.730>your <00:43:09.857>developer <00:43:09.985>story?

893
00:43:13.755 --> 00:43:17.565
<00:43:13.755>Sure, <00:43:13.988>I'd <00:43:14.221>love <00:43:14.455>to. <00:43:14.688>Um, <00:43:14.921>like <00:43:15.155>many

894
00:43:17.565 --> 00:43:18.965
<00:43:17.565>of <00:43:17.985>us, <00:43:18.405>it's <00:43:18.825>curiosity.

895
00:43:19.505 --> 00:43:21.525
<00:43:19.505>So, <00:43:19.645>uh, <00:43:19.785>and <00:43:19.925>this <00:43:20.065>is <00:43:20.205>the <00:43:20.345>beauty <00:43:20.485>of <00:43:20.625>the <00:43:20.765>web, <00:43:20.905>right?

896
00:43:21.525 --> 00:43:23.165
<00:43:21.525>So <00:43:21.700>there's <00:43:21.875>not <00:43:22.050>much <00:43:22.225>that <00:43:22.400>you <00:43:22.575>need <00:43:22.750>in <00:43:22.925>terms

897
00:43:23.165 --> 00:43:25.405
<00:43:23.165>of <00:43:23.515>resources <00:43:23.865>to <00:43:24.215>start <00:43:24.565>playing.

898
00:43:25.985 --> 00:43:28.365
<00:43:25.985>And <00:43:26.185>uh, <00:43:26.385>for <00:43:26.585>me <00:43:26.785>it <00:43:26.985>was <00:43:27.185>the <00:43:27.385>same.

899
00:43:28.375 --> 00:43:30.325
<00:43:28.375>Built <00:43:28.655>a <00:43:28.935>little <00:43:29.215>webpage, <00:43:29.495>uh, <00:43:29.775>show

900
00:43:30.325 --> 00:43:32.285
<00:43:30.325>what <00:43:30.524>you <00:43:30.725>can <00:43:30.924>read, <00:43:31.125>a <00:43:31.325>lot <00:43:31.524>of <00:43:31.725>documentation.

901
00:43:32.335 --> 00:43:34.805
<00:43:32.335>Again, <00:43:32.510>a <00:43:32.685>very <00:43:32.860>nice, <00:43:33.035>uh, <00:43:33.210>thing <00:43:33.385>about <00:43:33.560>our <00:43:33.735>community.

902
00:43:35.075 --> 00:43:37.245
<00:43:35.075>There's <00:43:35.274>lots <00:43:35.475>and <00:43:35.674>lots <00:43:35.875>of <00:43:36.075>documentation, <00:43:36.274>a <00:43:36.475>lot

903
00:43:37.245 --> 00:43:38.925
<00:43:37.245>of <00:43:37.595>tooling <00:43:37.944>available, <00:43:38.295>open <00:43:38.645>source.

904
00:43:39.545 --> 00:43:42.045
<00:43:39.545>And <00:43:39.700>uh, <00:43:39.856>it <00:43:40.011>has <00:43:40.167>always <00:43:40.322>been <00:43:40.478>a <00:43:40.633>pleasure <00:43:40.789>to <00:43:40.945>explore

905
00:43:42.045 --> 00:43:43.205
<00:43:42.045>what <00:43:42.393>people <00:43:42.741>have <00:43:43.089>built.

906
00:43:43.625 --> 00:43:45.285
<00:43:43.625>And <00:43:43.800>this <00:43:43.975>is <00:43:44.150>also <00:43:44.325>why <00:43:44.500>I <00:43:44.675>love <00:43:44.850>giving <00:43:45.025>back

907
00:43:45.305 --> 00:43:47.605
<00:43:45.305>and <00:43:45.538>creating <00:43:45.771>open <00:43:46.004>source <00:43:46.238>tools <00:43:46.471>myself <00:43:46.705>and,

908
00:43:47.665 --> 00:43:51.245
<00:43:47.665>and, <00:43:47.820>um, <00:43:47.976>kind <00:43:48.131>of <00:43:48.287>sharing <00:43:48.442>the <00:43:48.598>knowledge <00:43:48.753>I <00:43:48.909>have <00:43:49.065>acquired.

909
00:43:51.985 --> 00:43:54.445
<00:43:51.985>And <00:43:52.218>with <00:43:52.451>time, <00:43:52.685>obviously <00:43:52.918>you <00:43:53.151>see <00:43:53.385>that

910
00:43:54.445 --> 00:43:55.845
<00:43:54.445>what <00:43:54.760>you <00:43:55.075>produce <00:43:55.390>is <00:43:55.705>valuable.

911
00:43:55.985 --> 00:43:58.925
<00:43:55.985>And, <00:43:56.125>uh, <00:43:56.265>then <00:43:56.405>I <00:43:56.545>decided <00:43:56.685>to <00:43:56.825>choose <00:43:56.965>career <00:43:57.105>in <00:43:57.245>this <00:43:57.385>area.

912
00:43:59.665 --> 00:44:01.125
<00:43:59.665>Uh, <00:44:00.103>started <00:44:00.541>with <00:44:00.979>freelancing.

913
00:44:01.625 --> 00:44:04.405
<00:44:01.625>Um, <00:44:01.780>so <00:44:01.936>I <00:44:02.091>didn't <00:44:02.247>go <00:44:02.402>the <00:44:02.558>corporate <00:44:02.713>route <00:44:02.869>right <00:44:03.025>away.

914
00:44:05.025 --> 00:44:09.285
<00:44:05.025>Um, <00:44:05.141>then <00:44:05.258>found <00:44:05.375>myself <00:44:05.491>seeing <00:44:05.608>that, <00:44:05.725>I <00:44:05.841>mean, <00:44:05.958>you <00:44:06.075>can <00:44:06.191>do <00:44:06.308>a <00:44:06.425>lot

915
00:44:09.285 --> 00:44:12.205
<00:44:09.285>of <00:44:09.440>things <00:44:09.596>when <00:44:09.751>you, <00:44:09.907>um, <00:44:10.062>develop <00:44:10.218>in <00:44:10.373>a <00:44:10.529>certain <00:44:10.685>scope,

916
00:44:12.305 --> 00:44:14.085
<00:44:12.305>but <00:44:12.654>then <00:44:13.004>you <00:44:13.355>see, <00:44:13.705>um,

917
00:44:14.545 --> 00:44:16.925
<00:44:14.545>you <00:44:14.672>might <00:44:14.799>influence <00:44:14.926>a <00:44:15.054>few <00:44:15.181>more <00:44:15.308>things <00:44:15.435>when <00:44:15.563>you <00:44:15.690>go <00:44:15.817>into <00:44:15.945>other

918
00:44:16.925 --> 00:44:19.125
<00:44:16.925>areas <00:44:17.205>of, <00:44:17.485>of <00:44:17.765>a <00:44:18.045>tech <00:44:18.325>organization.

919
00:44:19.225 --> 00:44:21.325
<00:44:19.225>You <00:44:19.424>might <00:44:19.625>want <00:44:19.825>to <00:44:20.025>look <00:44:20.225>more <00:44:20.424>into <00:44:20.625>architecture,

920
00:44:21.425 --> 00:44:23.365
<00:44:21.425>you <00:44:21.600>might <00:44:21.775>want <00:44:21.950>to <00:44:22.125>look <00:44:22.300>more <00:44:22.475>into <00:44:22.650>product <00:44:22.825>development.

921
00:44:23.945 --> 00:44:25.485
<00:44:23.945>Uh, <00:44:24.176>I <00:44:24.407>have <00:44:24.638>been <00:44:24.869>working <00:44:25.100>in <00:44:25.331>areas

922
00:44:25.585 --> 00:44:27.365
<00:44:25.585>of <00:44:25.935>organization <00:44:26.285>transformation <00:44:26.635>as <00:44:26.985>well.

923
00:44:27.425 --> 00:44:31.005
<00:44:27.425>So <00:44:27.580>I've <00:44:27.736>always <00:44:27.891>been <00:44:28.047>someone <00:44:28.202>who's <00:44:28.358>interested <00:44:28.513>in <00:44:28.669>the <00:44:28.825>entire

924
00:44:31.195 --> 00:44:34.205
<00:44:31.195>area <00:44:31.475>cross-functionally <00:44:31.755>speaking <00:44:32.035>of, <00:44:32.315>uh, <00:44:32.595>how

925
00:44:34.205 --> 00:44:35.445
<00:44:34.205>to <00:44:34.484>create <00:44:34.763>value <00:44:35.042>with <00:44:35.321>it.

926
00:44:36.065 --> 00:44:39.045
<00:44:36.065>And <00:44:36.181>so <00:44:36.298>this <00:44:36.415>is <00:44:36.531>why <00:44:36.648>I'm <00:44:36.765>very <00:44:36.881>happy <00:44:36.998>to <00:44:37.115>be <00:44:37.231>at <00:44:37.348>AWS <00:44:37.465>today,

927
00:44:39.535 --> 00:44:42.045
<00:44:39.535>where <00:44:39.768>if <00:44:40.001>you <00:44:40.234>hear <00:44:40.468>the <00:44:40.701>role <00:44:40.935>description

928
00:44:42.045 --> 00:44:44.205
<00:44:42.045>of <00:44:42.245>a <00:44:42.445>solutions <00:44:42.645>architect, <00:44:42.845>it <00:44:43.045>sounds <00:44:43.245>very <00:44:43.445>tech,

929
00:44:44.205 --> 00:44:46.285
<00:44:44.205>and <00:44:44.380>it <00:44:44.555>is <00:44:44.730>obviously <00:44:44.904>right, <00:44:45.080>we're <00:44:45.255>talking <00:44:45.430>about, <00:44:45.605>uh,

930
00:44:46.285 --> 00:44:47.645
<00:44:46.285>tech, <00:44:46.529>uh, <00:44:46.774>at <00:44:47.019>very <00:44:47.264>deep <00:44:47.509>level.

931
00:44:48.225 --> 00:44:51.245
<00:44:48.225>But <00:44:48.400>the <00:44:48.575>same <00:44:48.750>time, <00:44:48.924>uh, <00:44:49.100>we <00:44:49.275>are <00:44:49.450>talking, <00:44:49.625>uh,

932
00:44:51.245 --> 00:44:53.285
<00:44:51.245>with <00:44:51.525>customers <00:44:51.805>about <00:44:52.085>strategy <00:44:52.365>as <00:44:52.645>well.

933
00:44:53.385 --> 00:44:55.045
<00:44:53.385>We <00:44:53.665>talk <00:44:53.945>about <00:44:54.225>them <00:44:54.505>about, <00:44:54.785>uh,

934
00:44:55.115 --> 00:44:56.445
<00:44:55.115>what <00:44:55.314>they <00:44:55.514>do <00:44:55.713>in <00:44:55.913>a <00:44:56.112>product <00:44:56.312>sense.

935
00:44:57.025 --> 00:45:00.845
<00:44:57.025>And <00:44:57.165>so <00:44:57.305>if <00:44:57.445>you, <00:44:57.585>uh, <00:44:57.725>decide <00:44:57.865>where <00:44:58.005>to <00:44:58.145>go <00:44:58.285>in <00:44:58.425>tech,

936
00:45:00.845 --> 00:45:03.205
<00:45:00.845>look <00:45:01.078>at <00:45:01.311>opportunities, <00:45:01.544>don't <00:45:01.778>narrow <00:45:02.011>your <00:45:02.245>scope

937
00:45:03.205 --> 00:45:05.485
<00:45:03.205>to <00:45:03.380>coding <00:45:03.555>yourself, <00:45:03.730>although <00:45:03.904>it's <00:45:04.080>a <00:45:04.255>super <00:45:04.430>fun <00:45:04.605>activity.

938
00:45:06.065 --> 00:45:08.645
<00:45:06.065>But, <00:45:06.265>uh, <00:45:06.465>always <00:45:06.665>think <00:45:06.865>about <00:45:07.065>in <00:45:07.265>the <00:45:07.465>end,

939
00:45:08.745 --> 00:45:10.685
<00:45:08.745>we <00:45:08.978>are <00:45:09.211>building <00:45:09.444>solutions <00:45:09.678>for <00:45:09.911>human <00:45:10.145>beings

940
00:45:11.225 --> 00:45:12.885
<00:45:11.225>and <00:45:11.458>looking <00:45:11.691>at <00:45:11.924>what <00:45:12.158>you <00:45:12.391>can <00:45:12.625>deliver.

941
00:45:12.885 --> 00:45:16.485
<00:45:12.885>Look <00:45:13.025>at <00:45:13.165>how <00:45:13.305>you <00:45:13.445>can <00:45:13.585>bring <00:45:13.725>the <00:45:13.865>best, <00:45:14.005>uh, <00:45:14.145>to, <00:45:14.285>uh,

942
00:45:16.505 --> 00:45:17.845
<00:45:16.505>making <00:45:16.806>good <00:45:17.108>things <00:45:17.409>for <00:45:17.711>people.

943
00:45:21.355 --> 00:45:22.745
<00:45:21.355>Thank <00:45:21.563>you <00:45:21.772>so <00:45:21.980>much <00:45:22.189>for <00:45:22.397>sharing <00:45:22.606>this.

944
00:45:22.745 --> 00:45:24.265
<00:45:22.745>And <00:45:22.915>yeah, <00:45:23.087>it's <00:45:23.258>always <00:45:23.429>also <00:45:23.600>good <00:45:23.770>to <00:45:23.942>be <00:45:24.113>like

945
00:45:24.945 --> 00:45:26.025
<00:45:24.945>flexible <00:45:25.139>in <00:45:25.333>your <00:45:25.528>role <00:45:25.722>and <00:45:25.917>trust.

946
00:45:26.165 --> 00:45:30.265
<00:45:26.165>Uh, <00:45:26.305>yeah, <00:45:26.445>time <00:45:26.585>will <00:45:26.725>tell <00:45:26.865>what <00:45:27.005>you <00:45:27.145>want <00:45:27.285>to <00:45:27.425>do. <00:45:27.565>Yeah.

947
00:45:30.485 --> 00:45:34.305
<00:45:30.485>So, <00:45:30.685>um, <00:45:30.885>we <00:45:31.085>got <00:45:31.285>two <00:45:31.485>more <00:45:31.685>questions. <00:45:31.885>First.

948
00:45:34.725 --> 00:45:37.745
<00:45:34.725>Um, <00:45:34.958>sometimes <00:45:35.191>we <00:45:35.424>are <00:45:35.658>building <00:45:35.891>micro <00:45:36.125>frontends

949
00:45:37.745 --> 00:45:40.345
<00:45:37.745>that <00:45:37.920>could <00:45:38.095>be <00:45:38.270>part <00:45:38.444>of <00:45:38.620>a <00:45:38.795>larger <00:45:38.970>micro <00:45:39.145>frontend,

950
00:45:40.365 --> 00:45:43.265
<00:45:40.365>or <00:45:40.520>one <00:45:40.676>micro <00:45:40.831>frontend <00:45:40.987>could <00:45:41.142>be <00:45:41.298>shared <00:45:41.453>between <00:45:41.609>two <00:45:41.765>others.

951
00:45:43.685 --> 00:45:45.825
<00:45:43.685>Can <00:45:43.965>micro <00:45:44.245>front <00:45:44.525>ends <00:45:44.805>be <00:45:45.085>nested?

952
00:45:48.165 --> 00:45:51.385
<00:45:48.165>So <00:45:48.340>nesting <00:45:48.515>at <00:45:48.690>runtime <00:45:48.865>is <00:45:49.040>not <00:45:49.215>a <00:45:49.390>good <00:45:49.565>idea,

953
00:45:52.705 --> 00:45:56.015
<00:45:52.705>especially <00:45:52.938>in, <00:45:53.171>um, <00:45:53.404>this <00:45:53.638>client <00:45:53.871>side <00:45:54.105>approach.

954
00:45:56.765 --> 00:46:00.265
<00:45:56.765>And <00:45:56.920>why <00:45:57.076>is <00:45:57.231>that? <00:45:57.387>Um, <00:45:57.542>you <00:45:57.698>will <00:45:57.853>realize <00:45:58.009>that, <00:45:58.165>um,

955
00:46:01.315 --> 00:46:04.765
<00:46:01.315>when <00:46:01.548>you <00:46:01.781>share <00:46:02.015>micro <00:46:02.248>frontends <00:46:02.481>between <00:46:02.715>teams

956
00:46:04.955 --> 00:46:07.005
<00:46:04.955>that <00:46:05.188>you <00:46:05.421>start <00:46:05.654>building <00:46:05.888>dependencies <00:46:06.121>on <00:46:06.355>them

957
00:46:08.145 --> 00:46:11.045
<00:46:08.145>and <00:46:08.320>this <00:46:08.495>will <00:46:08.670>inhibit <00:46:08.845>you <00:46:09.020>the <00:46:09.195>ability <00:46:09.370>to <00:46:09.545>deliver

958
00:46:11.715 --> 00:46:13.005
<00:46:11.715>what <00:46:12.005>you <00:46:12.295>can <00:46:12.585>do <00:46:12.876>instead.

959
00:46:13.625 --> 00:46:14.845
<00:46:13.625>Or <00:46:13.808>let <00:46:13.991>me <00:46:14.174>go <00:46:14.357>one <00:46:14.540>step <00:46:14.723>back.

960
00:46:14.845 --> 00:46:16.725
<00:46:14.845>So, <00:46:15.078>so <00:46:15.311>this <00:46:15.544>ability <00:46:15.778>to <00:46:16.011>deliver, <00:46:16.245>um,

961
00:46:17.025 --> 00:46:20.685
<00:46:17.025>is <00:46:17.180>not <00:46:17.336>necessarily <00:46:17.491>impeded <00:46:17.647>when <00:46:17.802>you <00:46:17.958>are <00:46:18.113>aligned <00:46:18.269>with <00:46:18.425>the,

962
00:46:20.865 --> 00:46:22.925
<00:46:20.865>uh, <00:46:21.145>other <00:46:21.424>kind <00:46:21.705>of <00:46:21.984>microphone <00:46:22.265>development.

963
00:46:23.545 --> 00:46:24.925
<00:46:23.545>If <00:46:23.793>it <00:46:24.041>lives <00:46:24.290>in <00:46:24.538>different <00:46:24.787>team,

964
00:46:25.105 --> 00:46:26.765
<00:46:25.105>you <00:46:25.385>cannot <00:46:25.665>influence <00:46:25.945>what <00:46:26.225>you're <00:46:26.505>doing.

965
00:46:27.465 --> 00:46:31.685
<00:46:27.465>And, <00:46:27.605>uh, <00:46:27.745>then <00:46:27.885>you <00:46:28.025>have <00:46:28.165>a <00:46:28.305>dependency <00:46:28.445>on <00:46:28.585>a <00:46:28.725>autonomous <00:46:28.865>scope

966
00:46:31.745 --> 00:46:35.205
<00:46:31.745>and <00:46:31.920>you're <00:46:32.095>creating <00:46:32.270>a, <00:46:32.444>um, <00:46:32.620>a, <00:46:32.795>a, <00:46:32.970>a <00:46:33.145>chain

967
00:46:35.205 --> 00:46:36.765
<00:46:35.205>of <00:46:35.555>dependencies <00:46:35.904>there, <00:46:36.255>which <00:46:36.605>will

968
00:46:36.765 --> 00:46:37.925
<00:46:36.765>grow <00:46:37.026>more <00:46:37.287>complex <00:46:37.548>with <00:46:37.809>time.

969
00:46:38.425 --> 00:46:41.925
<00:46:38.425>And <00:46:38.580>what <00:46:38.736>you <00:46:38.891>will <00:46:39.047>do <00:46:39.202>then <00:46:39.358>is <00:46:39.513>start <00:46:39.669>negotiating, <00:46:39.825>uh,

970
00:46:42.035 --> 00:46:45.685
<00:46:42.035>different <00:46:42.234>API <00:46:42.435>levels, <00:46:42.634>which <00:46:42.835>is <00:46:43.035>also <00:46:43.234>a <00:46:43.435>problem

971
00:46:45.685 --> 00:46:47.485
<00:46:45.685>because <00:46:46.151>then <00:46:46.618>teams <00:46:47.085>need

972
00:46:47.485 --> 00:46:49.805
<00:46:47.485>to <00:46:47.685>maintain <00:46:47.885>different <00:46:48.085>versions <00:46:48.285>of <00:46:48.485>their <00:46:48.685>micro <00:46:48.885>front.

973
00:46:49.905 --> 00:46:52.565
<00:46:49.905>And, <00:46:50.060>uh, <00:46:50.216>and <00:46:50.371>this <00:46:50.527>is <00:46:50.682>very <00:46:50.838>hard <00:46:50.993>to <00:46:51.149>share <00:46:51.305>runtime

974
00:46:52.565 --> 00:46:54.805
<00:46:52.565>because <00:46:52.798>that's <00:46:53.031>obviously <00:46:53.265>there <00:46:53.498>is <00:46:53.731>an <00:46:53.965>operational

975
00:46:54.805 --> 00:46:57.165
<00:46:54.805>responsibility <00:46:55.085>when <00:46:55.365>we <00:46:55.645>talk <00:46:55.924>about, <00:46:56.205>uh,

976
00:46:57.395 --> 00:46:59.045
<00:46:57.395>pure <00:46:57.861>client <00:46:58.328>side <00:46:58.795>artifacts.

977
00:46:59.045 --> 00:47:02.565
<00:46:59.045>It <00:46:59.172>may <00:46:59.299>be <00:46:59.426>bearable <00:46:59.554>because <00:46:59.681>it <00:46:59.808>runs, <00:46:59.935>uh, <00:47:00.063>statically <00:47:00.190>on <00:47:00.317>A <00:47:00.445>CDN.

978
00:47:02.905 --> 00:47:05.365
<00:47:02.905>But <00:47:03.138>if <00:47:03.371>we <00:47:03.605>talk <00:47:03.838>about, <00:47:04.071>uh, <00:47:04.305>BFF

979
00:47:05.385 --> 00:47:08.445
<00:47:05.385>or <00:47:05.525>backend <00:47:05.665>for <00:47:05.805>front <00:47:05.945>end, <00:47:06.085>that <00:47:06.225>would <00:47:06.365>usually <00:47:06.505>be <00:47:06.645>some <00:47:06.785>sort

980
00:47:08.445 --> 00:47:10.645
<00:47:08.445>of, <00:47:08.795>uh, <00:47:09.145>compute, <00:47:09.495>um, <00:47:09.845>like,

981
00:47:10.645 --> 00:47:12.725
<00:47:10.645>like <00:47:10.820>a <00:47:10.995>virtual <00:47:11.170>machine <00:47:11.345>instance <00:47:11.520>or <00:47:11.695>things <00:47:11.870>like <00:47:12.045>that.

982
00:47:12.985 --> 00:47:16.045
<00:47:12.985>So <00:47:13.140>you <00:47:13.296>want <00:47:13.451>to <00:47:13.607>avoid <00:47:13.762>sharing <00:47:13.918>runtime <00:47:14.073>services <00:47:14.229>that, <00:47:14.385>uh,

983
00:47:16.235 --> 00:47:18.365
<00:47:16.235>have <00:47:16.701>a <00:47:17.168>front <00:47:17.635>implication.

984
00:47:19.275 --> 00:47:23.485
<00:47:19.275>What <00:47:19.415>you <00:47:19.555>can <00:47:19.695>do <00:47:19.835>is <00:47:19.975>extract <00:47:20.115>the <00:47:20.255>capabilities <00:47:20.395>that <00:47:20.535>you <00:47:20.675>want

985
00:47:23.485 --> 00:47:24.925
<00:47:23.485>to <00:47:23.744>share <00:47:24.003>into <00:47:24.262>a <00:47:24.521>library, <00:47:24.781>right?

986
00:47:25.025 --> 00:47:28.805
<00:47:25.025>So <00:47:25.180>although <00:47:25.336>it's <00:47:25.491>framework <00:47:25.647>list, <00:47:25.802>you <00:47:25.958>can <00:47:26.113>use <00:47:26.269>tooling <00:47:26.425>that

987
00:47:28.805 --> 00:47:31.165
<00:47:28.805>to <00:47:29.038>build <00:47:29.271>your <00:47:29.504>application <00:47:29.738>to <00:47:29.971>manage <00:47:30.205>dependencies.

988
00:47:31.185 --> 00:47:32.805
<00:47:31.185>You <00:47:31.465>will <00:47:31.745>have <00:47:32.025>dependencies, <00:47:32.305>for <00:47:32.585>instance,

989
00:47:32.865 --> 00:47:35.045
<00:47:32.865>for <00:47:33.145>mulling <00:47:33.424>reality, <00:47:33.705>things <00:47:33.984>like <00:47:34.265>that.

990
00:47:35.705 --> 00:47:39.005
<00:47:35.705>So <00:47:35.904>extract <00:47:36.105>them <00:47:36.305>into <00:47:36.505>an <00:47:36.705>MPM <00:47:36.904>package, <00:47:37.105>use

991
00:47:39.005 --> 00:47:42.045
<00:47:39.005>that <00:47:39.145>in <00:47:39.285>your <00:47:39.425>build <00:47:39.565>process <00:47:39.705>and <00:47:39.845>deliver <00:47:39.985>a <00:47:40.125>ready, <00:47:40.265>baked, <00:47:40.405>um,

992
00:47:42.255 --> 00:47:44.725
<00:47:42.255>micro <00:47:42.535>front <00:47:42.815>and <00:47:43.095>into <00:47:43.375>your <00:47:43.655>application.

993
00:47:45.505 --> 00:47:49.485
<00:47:45.505>You <00:47:45.680>might <00:47:45.855>then <00:47:46.030>wonder <00:47:46.205>if <00:47:46.380>I <00:47:46.555>share <00:47:46.730>those <00:47:46.905>things

994
00:47:49.505 --> 00:47:53.485
<00:47:49.505>as <00:47:49.680>dependencies <00:47:49.855>and <00:47:50.030>they <00:47:50.205>are <00:47:50.380>replicated <00:47:50.555>across <00:47:50.730>multiple, <00:47:50.905>uh,

995
00:47:53.485 --> 00:47:56.485
<00:47:53.485>micro <00:47:53.660>front <00:47:53.835>ends, <00:47:54.010>will <00:47:54.185>I <00:47:54.360>not <00:47:54.535>have <00:47:54.710>code <00:47:54.885>redundancy?

996
00:47:57.425 --> 00:48:01.085
<00:47:57.425>Yes, <00:47:57.580>you <00:47:57.736>will. <00:47:57.891>Ideally <00:47:58.047>you <00:47:58.202>will <00:47:58.358>not <00:47:58.513>take, <00:47:58.669>uh, <00:47:58.825>libraries

997
00:48:01.085 --> 00:48:04.805
<00:48:01.085>that <00:48:01.260>are <00:48:01.435>hundreds <00:48:01.610>of <00:48:01.785>kilobytes <00:48:01.960>or <00:48:02.135>megabytes <00:48:02.310>in <00:48:02.485>size,

998
00:48:04.805 --> 00:48:06.685
<00:48:04.805>but <00:48:05.038>you <00:48:05.271>will <00:48:05.504>use <00:48:05.738>very <00:48:05.971>lightweight <00:48:06.205>solutions

999
00:48:07.345 --> 00:48:10.245
<00:48:07.345>and <00:48:07.500>then <00:48:07.656>the <00:48:07.811>redundancy <00:48:07.967>will <00:48:08.122>be <00:48:08.278>acceptable <00:48:08.433>in <00:48:08.589>my <00:48:08.745>opinion.

1000
00:48:10.255 --> 00:48:13.205
<00:48:10.255>Again, <00:48:10.430>this <00:48:10.605>is <00:48:10.780>an <00:48:10.955>architectural <00:48:11.130>trade-off <00:48:11.305>in <00:48:11.480>the <00:48:11.655>scope

1001
00:48:13.225 --> 00:48:15.125
<00:48:13.225>of <00:48:13.575>a <00:48:13.924>migration <00:48:14.275>modernization <00:48:14.625>project.

1002
00:48:15.705 --> 00:48:20.405
<00:48:15.705>So <00:48:15.832>if <00:48:15.959>you <00:48:16.086>make <00:48:16.214>a <00:48:16.341>conscious, <00:48:16.468>um, <00:48:16.595>choice <00:48:16.723>for, <00:48:16.850>uh, <00:48:16.977>sharing <00:48:17.105>code

1003
00:48:20.405 --> 00:48:22.565
<00:48:20.405>through <00:48:20.580>libraries, <00:48:20.755>then <00:48:20.930>you <00:48:21.105>will <00:48:21.280>add <00:48:21.455>a <00:48:21.630>few <00:48:21.805>K

1004
00:48:22.785 --> 00:48:25.165
<00:48:22.785>to <00:48:22.960>your <00:48:23.134>overall <00:48:23.310>load <00:48:23.484>and <00:48:23.660>it <00:48:23.835>should <00:48:24.009>be <00:48:24.185>acceptable.

1005
00:48:27.475 --> 00:48:29.565
<00:48:27.475>Alright, <00:48:28.174>thank <00:48:28.875>you.

1006
00:48:32.145 --> 00:48:35.885
<00:48:32.145>So, <00:48:32.300>and, <00:48:32.456>uh, <00:48:32.611>the <00:48:32.767>last <00:48:32.922>question <00:48:33.078>is <00:48:33.233>actually <00:48:33.389>too <00:48:33.545>long

1007
00:48:36.145 --> 00:48:38.645
<00:48:36.145>to <00:48:36.378>paste <00:48:36.611>it <00:48:36.845>into <00:48:37.078>our, <00:48:37.311>uh, <00:48:37.545>banner.

1008
00:48:39.625 --> 00:48:41.165
<00:48:39.625>So, <00:48:39.798>uh, <00:48:39.971>let <00:48:40.144>me <00:48:40.318>just <00:48:40.491>read <00:48:40.664>it <00:48:40.837>to <00:48:41.011>you.

1009
00:48:42.505 --> 00:48:45.845
<00:48:42.505>It <00:48:42.660>looks <00:48:42.816>like <00:48:42.971>all <00:48:43.127>dependencies <00:48:43.282>are <00:48:43.438>baked <00:48:43.593>into <00:48:43.749>the <00:48:43.905>code

1010
00:48:45.905 --> 00:48:47.725
<00:48:45.905>of <00:48:46.185>a <00:48:46.465>single <00:48:46.745>micro <00:48:47.025>front <00:48:47.305>end.

1011
00:48:48.345 --> 00:48:51.445
<00:48:48.345>As <00:48:48.520>soon <00:48:48.694>as <00:48:48.870>I <00:48:49.044>have <00:48:49.220>two <00:48:49.395>micro <00:48:49.569>front <00:48:49.745>ends

1012
00:48:51.745 --> 00:48:55.045
<00:48:51.745>who <00:48:51.920>need <00:48:52.095>the <00:48:52.270>same <00:48:52.444>dependencies, <00:48:52.620>I <00:48:52.795>see <00:48:52.970>two <00:48:53.145>problems.

1013
00:48:55.415 --> 00:49:00.365
<00:48:55.415>First, <00:48:55.570>I <00:48:55.726>will <00:48:55.881>load <00:48:56.037>code <00:48:56.192>twice, <00:48:56.348>which, <00:48:56.503>which <00:48:56.659>seems <00:48:56.815>redundant.

1014
00:49:00.585 --> 00:49:03.485
<00:49:00.585>Second, <00:49:00.865>there <00:49:01.145>may <00:49:01.425>be <00:49:01.705>naming <00:49:01.985>conflicts.

1015
00:49:03.705 --> 00:49:05.525
<00:49:03.705>How <00:49:03.985>do <00:49:04.265>I <00:49:04.545>address <00:49:04.825>these <00:49:05.105>issues?

1016
00:49:07.565 --> 00:49:10.145
<00:49:07.565>Yes. <00:49:07.720>So, <00:49:07.876>so <00:49:08.031>I <00:49:08.187>think <00:49:08.342>I <00:49:08.498>already <00:49:08.653>answered <00:49:08.809>the <00:49:08.965>one

1017
00:49:10.145 --> 00:49:11.345
<00:49:10.145>about, <00:49:10.685>uh, <00:49:11.225>redundancy.

1018
00:49:11.515 --> 00:49:13.105
<00:49:11.515>Again, <00:49:11.748>this <00:49:11.981>is, <00:49:12.214>uh, <00:49:12.448>in <00:49:12.681>a <00:49:12.915>trade

1019
00:49:13.105 --> 00:49:14.865
<00:49:13.105>of <00:49:13.455>situation <00:49:13.805>may <00:49:14.155>be <00:49:14.505>acceptable

1020
00:49:15.605 --> 00:49:18.065
<00:49:15.605>and <00:49:15.805>obviously <00:49:16.005>would, <00:49:16.205>uh, <00:49:16.405>try <00:49:16.605>to <00:49:16.805>avoid <00:49:17.005>it

1021
00:49:18.065 --> 00:49:21.905
<00:49:18.065>or <00:49:18.240>have <00:49:18.415>the <00:49:18.590>la <00:49:18.765>uh, <00:49:18.940>lease <00:49:19.115>footprint, <00:49:19.290>uh, <00:49:19.465>possible.

1022
00:49:22.725 --> 00:49:26.425
<00:49:22.725>The <00:49:23.005>naming <00:49:23.285>conflicts, <00:49:23.565>um, <00:49:23.845>that's <00:49:24.125>harder

1023
00:49:26.425 --> 00:49:29.545
<00:49:26.425>because <00:49:26.580>it <00:49:26.736>really <00:49:26.891>depends <00:49:27.047>on <00:49:27.202>how <00:49:27.358>the <00:49:27.513>naming <00:49:27.669>conflict <00:49:27.825>arises.

1024
00:49:30.135 --> 00:49:33.385
<00:49:30.135>What <00:49:30.335>you <00:49:30.535>might <00:49:30.735>have <00:49:30.935>is, <00:49:31.135>um, <00:49:31.335>a <00:49:31.535>library

1025
00:49:33.455 --> 00:49:35.025
<00:49:33.455>that <00:49:33.805>pollutes <00:49:34.154>the <00:49:34.505>global <00:49:34.855>namespace,

1026
00:49:35.115 --> 00:49:38.305
<00:49:35.115>which <00:49:35.270>is <00:49:35.426>quite <00:49:35.581>common <00:49:35.737>if <00:49:35.892>they <00:49:36.048>don't, <00:49:36.203>uh, <00:49:36.359>use, <00:49:36.515>uh,

1027
00:49:38.325 --> 00:49:40.145
<00:49:38.325>proper <00:49:39.725>encapsulation.

1028
00:49:41.095 --> 00:49:42.465
<00:49:41.095>What <00:49:41.341>you <00:49:41.588>can <00:49:41.834>do <00:49:42.081>is <00:49:42.328>try

1029
00:49:42.465 --> 00:49:43.905
<00:49:42.465>to <00:49:42.681>address <00:49:42.897>this <00:49:43.113>with <00:49:43.329>your <00:49:43.545>build <00:49:43.761>tooling.

1030
00:49:43.905 --> 00:49:46.625
<00:49:43.905>If <00:49:44.045>you're <00:49:44.185>able <00:49:44.325>to <00:49:44.465>kind <00:49:44.605>of, <00:49:44.745>uh, <00:49:44.885>transpire <00:49:45.025>it <00:49:45.165>to <00:49:45.305>something

1031
00:49:46.655 --> 00:49:48.905
<00:49:46.655>that, <00:49:47.005>uh, <00:49:47.355>uh, <00:49:47.705>encapsulate <00:49:48.055>this

1032
00:49:48.965 --> 00:49:52.185
<00:49:48.965>or, <00:49:49.120>uh, <00:49:49.276>rewrites <00:49:49.431>this, <00:49:49.587>you <00:49:49.742>might <00:49:49.898>need <00:49:50.053>to <00:49:50.209>fork <00:49:50.365>this.

1033
00:49:53.045 --> 00:49:55.665
<00:49:53.045>Um, <00:49:53.325>in <00:49:53.605>the <00:49:53.885>context <00:49:54.165>of, <00:49:54.445>um,

1034
00:49:56.795 --> 00:49:59.785
<00:49:56.795>micro <00:49:56.935>fronted <00:49:57.075>the <00:49:57.215>custom <00:49:57.355>elements, <00:49:57.495>what <00:49:57.635>you <00:49:57.775>will <00:49:57.915>see <00:49:58.055>is, <00:49:58.195>uh,

1035
00:49:59.785 --> 00:50:04.345
<00:49:59.785>you <00:49:59.960>cannot <00:50:00.134>simply <00:50:00.310>define <00:50:00.484>a <00:50:00.660>second, <00:50:00.835>um, <00:50:01.009>custom <00:50:01.185>element

1036
00:50:04.375 --> 00:50:06.305
<00:50:04.375>with <00:50:04.550>the <00:50:04.725>same <00:50:04.900>name <00:50:05.075>in <00:50:05.250>the <00:50:05.425>same <00:50:05.600>browser <00:50:05.775>context,

1037
00:50:06.775 --> 00:50:08.145
<00:50:06.775>because <00:50:07.186>this <00:50:07.597>will <00:50:08.008>collide.

1038
00:50:08.145 --> 00:50:09.665
<00:50:08.145>There's <00:50:08.373>no <00:50:08.601>name <00:50:08.829>spacing <00:50:09.057>at <00:50:09.285>this <00:50:09.513>level.

1039
00:50:10.245 --> 00:50:14.385
<00:50:10.245>So <00:50:10.361>what <00:50:10.478>you <00:50:10.595>can <00:50:10.711>do <00:50:10.828>is <00:50:10.944>if <00:50:11.061>you <00:50:11.178>need <00:50:11.295>to <00:50:11.411>share <00:50:11.528>custom <00:50:11.645>elements

1040
00:50:14.405 --> 00:50:17.665
<00:50:14.405>as <00:50:14.638>NPM <00:50:14.871>packages, <00:50:15.105>you <00:50:15.338>can <00:50:15.571>prefix <00:50:15.805>them.

1041
00:50:18.325 --> 00:50:22.345
<00:50:18.325>So <00:50:18.480>instead <00:50:18.636>of, <00:50:18.791>uh, <00:50:18.947>registering <00:50:19.102>the <00:50:19.258>literal <00:50:19.413>name <00:50:19.569>of <00:50:19.725>the

1042
00:50:22.885 --> 00:50:27.725
<00:50:22.885>custom <00:50:23.085>elements <00:50:23.285>right <00:50:23.485>away, <00:50:23.685>you <00:50:23.885>can <00:50:24.085>expose <00:50:24.285>the,

1043
00:50:27.905 --> 00:50:30.525
<00:50:27.905>uh, <00:50:28.255>interface <00:50:28.605>for <00:50:28.955>registering <00:50:29.305>that

1044
00:50:30.585 --> 00:50:32.085
<00:50:30.585>to <00:50:31.035>the <00:50:31.485>integrating <00:50:31.935>component

1045
00:50:32.625 --> 00:50:35.045
<00:50:32.625>and <00:50:32.825>that <00:50:33.025>it <00:50:33.225>prefix <00:50:33.425>the, <00:50:33.625>uh, <00:50:33.825>custom <00:50:34.025>element

1046
00:50:35.105 --> 00:50:36.565
<00:50:35.105>and <00:50:35.324>then <00:50:35.543>have <00:50:35.762>this <00:50:35.981>kind <00:50:36.200>of, <00:50:36.419>uh,

1047
00:50:36.565 --> 00:50:38.285
<00:50:36.565>namespace <00:50:37.031>in <00:50:37.498>conflict <00:50:37.965>avoided.

1048
00:50:40.605 --> 00:50:41.985
<00:50:40.605>Mm-Hmm. <00:50:41.847>Great.

1049
00:50:42.395 --> 00:50:44.945
<00:50:42.395>Thank <00:50:42.570>you <00:50:42.745>for, <00:50:42.920>shed <00:50:43.095>also <00:50:43.270>some <00:50:43.445>light <00:50:43.620>on <00:50:43.795>this

1050
00:50:45.205 --> 00:50:48.345
<00:50:45.205>and <00:50:45.438>may, <00:50:45.671>um, <00:50:45.904>since <00:50:46.138>we <00:50:46.371>talked, <00:50:46.605>uh,

1051
00:50:48.345 --> 00:50:51.305
<00:50:48.345>earlier <00:50:48.578>about <00:50:48.811>your <00:50:49.044>like <00:50:49.278>journey <00:50:49.511>in <00:50:49.745>tech

1052
00:50:51.305 --> 00:50:54.905
<00:50:51.305>and <00:50:51.432>now <00:50:51.559>you're <00:50:51.686>at <00:50:51.814>AWS <00:50:51.941>maybe <00:50:52.068>you <00:50:52.195>want <00:50:52.323>to <00:50:52.450>share <00:50:52.577>with <00:50:52.705>us

1053
00:50:55.295 --> 00:50:59.785
<00:50:55.295>what <00:50:55.435>is <00:50:55.575>a <00:50:55.715>senior <00:50:55.855>solutions <00:50:55.995>architect <00:50:56.135>doing <00:50:56.275>the <00:50:56.415>whole <00:50:56.555>day <00:50:56.695>at

1054
00:50:59.945 --> 00:51:02.745
<00:50:59.945>AWS <00:51:00.178>or <00:51:00.411>in <00:51:00.645>general, <00:51:00.878>like <00:51:01.111>a <00:51:01.345>typical

1055
00:51:03.615 --> 00:51:05.905
<00:51:03.615>working <00:51:03.848>day <00:51:04.081>if <00:51:04.314>something <00:51:04.548>like <00:51:04.781>this <00:51:05.015>exists?

1056
00:51:06.935 --> 00:51:07.945
<00:51:06.935>That, <00:51:07.162>that's <00:51:07.389>a <00:51:07.616>good <00:51:07.844>question.

1057
00:51:08.005 --> 00:51:10.425
<00:51:08.005>So <00:51:08.205>on <00:51:08.405>sunrise, <00:51:08.605>uh, <00:51:08.805>we <00:51:09.005>give, <00:51:09.205>uh, <00:51:09.405>presentations

1058
00:51:10.485 --> 00:51:13.825
<00:51:10.485>and <00:51:10.660>have, <00:51:10.835>um, <00:51:11.010>talks <00:51:11.185>with <00:51:11.360>community, <00:51:11.535>which <00:51:11.710>is, <00:51:11.885>uh,

1059
00:51:13.825 --> 00:51:16.065
<00:51:13.825>something <00:51:14.058>we, <00:51:14.291>uh, <00:51:14.524>we <00:51:14.758>like <00:51:14.991>to <00:51:15.225>do.

1060
00:51:16.605 --> 00:51:18.585
<00:51:16.605>Uh, <00:51:16.760>a <00:51:16.916>lot <00:51:17.071>of <00:51:17.227>that <00:51:17.382>of <00:51:17.538>course <00:51:17.693>is, <00:51:17.849>uh, <00:51:18.005>of,

1061
00:51:18.585 --> 00:51:21.385
<00:51:18.585>of <00:51:18.760>the <00:51:18.935>job <00:51:19.110>is <00:51:19.285>a <00:51:19.460>technical <00:51:19.635>conversations <00:51:19.810>helping <00:51:19.985>our

1062
00:51:21.625 --> 00:51:24.305
<00:51:21.625>customers <00:51:22.091>to <00:51:22.558>well <00:51:23.025>understand

1063
00:51:24.385 --> 00:51:26.985
<00:51:24.385>what <00:51:24.735>AWS <00:51:25.085>has <00:51:25.435>in <00:51:25.785>solutions

1064
00:51:27.095 --> 00:51:30.465
<00:51:27.095>because, <00:51:27.328>uh, <00:51:27.561>many <00:51:27.794>of <00:51:28.028>you <00:51:28.261>may <00:51:28.495>know

1065
00:51:30.465 --> 00:51:32.585
<00:51:30.465>that <00:51:30.698>AWS <00:51:30.931>has <00:51:31.165>a <00:51:31.398>very <00:51:31.631>broad <00:51:31.865>and,

1066
00:51:32.585 --> 00:51:34.865
<00:51:32.585>and <00:51:32.865>deep, <00:51:33.145>um, <00:51:33.425>set <00:51:33.705>of <00:51:33.985>capabilities

1067
00:51:35.125 --> 00:51:37.705
<00:51:35.125>and <00:51:35.280>picking <00:51:35.436>the <00:51:35.591>right <00:51:35.747>solution <00:51:35.902>may <00:51:36.058>be <00:51:36.213>challenging <00:51:36.369>if <00:51:36.525>you

1068
00:51:37.705 --> 00:51:39.225
<00:51:37.705>don't, <00:51:38.047>uh, <00:51:38.389>have <00:51:38.731>much <00:51:39.073>experience.

1069
00:51:39.885 --> 00:51:43.585
<00:51:39.885>And, <00:51:40.025>uh, <00:51:40.165>when <00:51:40.305>you <00:51:40.445>look <00:51:40.585>at <00:51:40.725>what, <00:51:40.865>what <00:51:41.005>benefits <00:51:41.145>of <00:51:41.285>going

1070
00:51:43.585 --> 00:51:45.785
<00:51:43.585>to <00:51:43.740>the <00:51:43.896>cloud <00:51:44.051>are, <00:51:44.207>it <00:51:44.362>is <00:51:44.518>a <00:51:44.673>lot <00:51:44.829>about, <00:51:44.985>uh,

1071
00:51:45.785 --> 00:51:46.785
<00:51:45.785>leveraging <00:51:46.234>those <00:51:46.685>things

1072
00:51:46.805 --> 00:51:48.985
<00:51:46.805>to <00:51:47.085>the <00:51:47.365>business <00:51:47.645>benefit <00:51:47.924>of <00:51:48.205>organization.

1073
00:51:49.045 --> 00:51:50.505
<00:51:49.045>So <00:51:49.307>this <00:51:49.570>is <00:51:49.833>basically <00:51:50.096>our <00:51:50.359>mission,

1074
00:51:50.975 --> 00:51:53.825
<00:51:50.975>help <00:51:51.130>create <00:51:51.286>customers <00:51:51.441>value <00:51:51.597>with <00:51:51.752>the <00:51:51.908>things <00:51:52.063>we <00:51:52.219>have <00:51:52.375>there.

1075
00:51:54.525 --> 00:51:56.305
<00:51:54.525>So <00:51:54.758>you <00:51:54.991>have <00:51:55.225>a <00:51:55.458>set <00:51:55.691>of <00:51:55.925>customers,

1076
00:51:56.325 --> 00:51:59.865
<00:51:56.325>you <00:51:56.464>have <00:51:56.605>specializations <00:51:56.745>in <00:51:56.884>some <00:51:57.024>areas, <00:51:57.165>so, <00:51:57.305>uh, <00:51:57.444>I <00:51:57.585>am <00:51:57.725>one

1077
00:51:59.865 --> 00:52:02.385
<00:51:59.865>that <00:52:00.145>has <00:52:00.424>experience <00:52:00.705>with <00:52:00.984>web <00:52:01.265>architecture,

1078
00:52:02.725 --> 00:52:04.585
<00:52:02.725>but <00:52:03.005>I'm <00:52:03.285>also <00:52:03.565>working <00:52:03.845>very <00:52:04.125>strategically

1079
00:52:04.585 --> 00:52:07.585
<00:52:04.585>with <00:52:04.725>my <00:52:04.865>customers <00:52:05.005>along, <00:52:05.145>as <00:52:05.285>I <00:52:05.425>said, <00:52:05.565>uh, <00:52:05.705>with <00:52:05.845>leadership <00:52:05.985>and,

1080
00:52:07.585 --> 00:52:11.145
<00:52:07.585>and <00:52:07.725>product <00:52:07.865>management <00:52:08.005>to <00:52:08.145>have <00:52:08.285>a <00:52:08.425>broader <00:52:08.565>picture <00:52:08.705>of <00:52:08.845>what <00:52:08.985>it,

1081
00:52:11.165 --> 00:52:12.905
<00:52:11.165>uh, <00:52:11.398>means <00:52:11.631>to <00:52:11.865>create <00:52:12.098>a <00:52:12.331>digital <00:52:12.565>product.

1082
00:52:13.445 --> 00:52:16.945
<00:52:13.445>But <00:52:13.678>other <00:52:13.911>solutions <00:52:14.145>architects <00:52:14.378>have <00:52:14.611>other <00:52:14.845>profiles

1083
00:52:17.045 --> 00:52:19.665
<00:52:17.045>and, <00:52:17.278>uh, <00:52:17.511>can <00:52:17.745>bring <00:52:17.978>other, <00:52:18.211>uh, <00:52:18.445>sets

1084
00:52:19.665 --> 00:52:21.145
<00:52:19.665>of <00:52:19.998>value <00:52:20.331>to <00:52:20.663>their <00:52:20.997>customers.

1085
00:52:21.645 --> 00:52:23.425
<00:52:21.645>And <00:52:21.878>that's <00:52:22.111>the <00:52:22.345>beauty <00:52:22.578>we <00:52:22.811>have <00:52:23.045>internally.

1086
00:52:23.485 --> 00:52:26.745
<00:52:23.485>We <00:52:23.660>form <00:52:23.835>a <00:52:24.010>community <00:52:24.185>and, <00:52:24.360>uh, <00:52:24.535>we <00:52:24.710>can, <00:52:24.885>uh,

1087
00:52:26.745 --> 00:52:30.545
<00:52:26.745>support <00:52:26.900>each <00:52:27.056>other <00:52:27.211>in <00:52:27.367>building <00:52:27.522>value <00:52:27.678>for <00:52:27.833>our <00:52:27.989>customer <00:52:28.145>base

1088
00:52:31.785 --> 00:52:33.025
<00:52:31.785>together, <00:52:32.008>of <00:52:32.231>course, <00:52:32.454>with <00:52:32.677>other <00:52:32.901>roads

1089
00:52:33.025 --> 00:52:37.305
<00:52:33.025>that <00:52:33.165>we <00:52:33.305>have <00:52:33.445>an <00:52:33.585>organization <00:52:33.725>that <00:52:33.865>all <00:52:34.005>are <00:52:34.145>helping <00:52:34.285>to, <00:52:34.425>um,

1090
00:52:37.715 --> 00:52:39.345
<00:52:37.715>bring <00:52:38.065>the <00:52:38.415>cloud <00:52:38.765>to <00:52:39.115>people,

1091
00:52:41.275 --> 00:52:42.275
<00:52:41.275>Bring <00:52:41.455>the <00:52:41.635>cloud <00:52:41.815>to <00:52:41.995>people. <00:52:42.175>Awesome.

1092
00:52:42.275 --> 00:52:46.105
<00:52:42.275>And <00:52:42.450>so <00:52:42.625>Alexander, <00:52:42.800>uh, <00:52:42.975>maybe <00:52:43.150>as <00:52:43.325>a <00:52:43.500>closing <00:52:43.675>question

1093
00:52:47.165 --> 00:52:49.425
<00:52:47.165>for <00:52:47.320>all, <00:52:47.476>all, <00:52:47.631>all <00:52:47.787>this <00:52:47.942>that <00:52:48.098>we <00:52:48.253>talked <00:52:48.409>about <00:52:48.565>today,

1094
00:52:49.445 --> 00:52:51.945
<00:52:49.445>do <00:52:49.620>we <00:52:49.795>have <00:52:49.970>maybe <00:52:50.145>some <00:52:50.320>additional <00:52:50.495>resources <00:52:50.670>to <00:52:50.845>share?

1095
00:52:52.195 --> 00:52:55.225
<00:52:52.195>Could <00:52:52.370>be <00:52:52.545>anything <00:52:52.720>like <00:52:52.895>from <00:52:53.070>blogs <00:52:53.245>to <00:52:53.420>don't <00:52:53.595>know,

1096
00:52:55.225 --> 00:52:57.305
<00:52:55.225>YouTube <00:52:55.575>channels, <00:52:55.924>something <00:52:56.275>like <00:52:56.625>that

1097
00:52:58.155 --> 00:53:01.345
<00:52:58.155>where <00:52:58.310>people <00:52:58.466>can <00:52:58.621>get <00:52:58.777>more <00:52:58.932>knowledge <00:52:59.088>about <00:52:59.243>all <00:52:59.399>of <00:52:59.555>this?

1098
00:53:02.005 --> 00:53:05.785
<00:53:02.005>Yes. <00:53:02.132>Uh, <00:53:02.259>so, <00:53:02.386>uh, <00:53:02.514>I <00:53:02.641>shared <00:53:02.768>a <00:53:02.895>few <00:53:03.023>links <00:53:03.150>in <00:53:03.277>the <00:53:03.405>presentation.

1099
00:53:06.005 --> 00:53:07.945
<00:53:06.005>I'm <00:53:06.180>happy <00:53:06.355>to <00:53:06.530>share <00:53:06.705>the <00:53:06.880>slides <00:53:07.055>with <00:53:07.230>you <00:53:07.405>afterwards

1100
00:53:08.005 --> 00:53:09.185
<00:53:08.005>so <00:53:08.156>you <00:53:08.308>can <00:53:08.460>have <00:53:08.611>a <00:53:08.763>look <00:53:08.915>at <00:53:09.067>this.

1101
00:53:09.185 --> 00:53:12.465
<00:53:09.185>Yeah. <00:53:09.325>Um, <00:53:09.465>there <00:53:09.605>is <00:53:09.745>a <00:53:09.884>very <00:53:10.025>good <00:53:10.165>book <00:53:10.305>on <00:53:10.445>micro <00:53:10.585>front.

1102
00:53:12.465 --> 00:53:14.585
<00:53:12.465>It's <00:53:12.745>not <00:53:13.025>necessarily <00:53:13.305>on <00:53:13.585>interface <00:53:13.865>contracts,

1103
00:53:14.605 --> 00:53:17.545
<00:53:14.605>but <00:53:14.780>on <00:53:14.955>different <00:53:15.130>architectural <00:53:15.305>patterns <00:53:15.480>you <00:53:15.655>can <00:53:15.830>use <00:53:16.005>when

1104
00:53:17.745 --> 00:53:19.265
<00:53:17.745>building <00:53:18.087>micro <00:53:18.429>fronted <00:53:18.770>by, <00:53:19.113>uh,

1105
00:53:19.535 --> 00:53:21.025
<00:53:19.535>Luka <00:53:19.803>Ali, <00:53:20.071>a <00:53:20.339>colleague <00:53:20.607>of <00:53:20.876>mine.

1106
00:53:21.725 --> 00:53:24.745
<00:53:21.725>And <00:53:21.852>if <00:53:21.979>you <00:53:22.106>want <00:53:22.234>to <00:53:22.361>dive <00:53:22.488>very <00:53:22.615>deep <00:53:22.743>into <00:53:22.870>micro <00:53:22.997>fronted <00:53:23.125>in

1107
00:53:24.745 --> 00:53:27.245
<00:53:24.745>different <00:53:24.978>ways <00:53:25.211>of <00:53:25.444>building <00:53:25.678>micro <00:53:25.911>front <00:53:26.145>architectures,

1108
00:53:27.805 --> 00:53:31.205
<00:53:27.805>I <00:53:27.932>would <00:53:28.059>strongly <00:53:28.186>recommend <00:53:28.314>to <00:53:28.441>uh, <00:53:28.568>have <00:53:28.695>a <00:53:28.823>look <00:53:28.950>at <00:53:29.077>this <00:53:29.205>book

1109
00:53:31.625 --> 00:53:34.005
<00:53:31.625>and <00:53:31.800>some <00:53:31.975>of <00:53:32.150>the <00:53:32.325>blocks <00:53:32.500>that <00:53:32.675>Luke <00:53:32.850>has <00:53:33.025>written.

1110
00:53:34.345 --> 00:53:36.765
<00:53:34.345>Of <00:53:34.484>course, <00:53:34.625>we <00:53:34.765>have <00:53:34.904>a <00:53:35.044>broader <00:53:35.185>community, <00:53:35.325>so <00:53:35.464>you <00:53:35.605>have, <00:53:35.745>uh,

1111
00:53:36.765 --> 00:53:38.125
<00:53:36.765>seen <00:53:37.173>Florian <00:53:37.581>earlier <00:53:37.989>today.

1112
00:53:38.265 --> 00:53:41.645
<00:53:38.265>Uh, <00:53:38.392>and <00:53:38.519>we <00:53:38.646>have <00:53:38.774>other <00:53:38.901>good <00:53:39.028>people <00:53:39.155>that, <00:53:39.283>uh, <00:53:39.410>are <00:53:39.537>really, <00:53:39.665>uh,

1113
00:53:41.645 --> 00:53:44.805
<00:53:41.645>pushing <00:53:41.845>the, <00:53:42.045>um, <00:53:42.245>possibilities <00:53:42.445>of <00:53:42.645>what <00:53:42.845>you <00:53:43.045>do

1114
00:53:44.805 --> 00:53:45.845
<00:53:44.805>with <00:53:45.116>micro <00:53:45.428>front <00:53:45.741>ends,

1115
00:53:45.845 --> 00:53:49.045
<00:53:45.845>but <00:53:46.044>also <00:53:46.245>related <00:53:46.444>technologies <00:53:46.645>that <00:53:46.845>you <00:53:47.044>can <00:53:47.245>use

1116
00:53:49.045 --> 00:53:50.805
<00:53:49.045>to <00:53:49.278>build <00:53:49.511>micro <00:53:49.745>front <00:53:49.978>ends <00:53:50.211>like, <00:53:50.445>uh,

1117
00:53:50.805 --> 00:53:52.725
<00:53:50.805>different <00:53:51.085>frameworks <00:53:51.365>suited <00:53:51.645>for <00:53:51.924>that <00:53:52.205>purpose

1118
00:53:52.865 --> 00:53:54.125
<00:53:52.865>or <00:53:53.243>a <00:53:53.621>module <00:53:53.999>federation.

1119
00:53:54.785 --> 00:53:57.965
<00:53:54.785>So <00:53:54.940>I <00:53:55.096>would, <00:53:55.251>uh, <00:53:55.407>start <00:53:55.562>suggesting <00:53:55.718>research <00:53:55.873>in <00:53:56.029>this <00:53:56.185>direction

1120
00:53:58.425 --> 00:54:02.245
<00:53:58.425>and <00:53:58.600>then, <00:53:58.775>uh, <00:53:58.950>building <00:53:59.125>that <00:53:59.300>knowledge <00:53:59.475>to <00:53:59.650>understand, <00:53:59.825>uh,

1121
00:54:02.275 --> 00:54:04.765
<00:54:02.275>what <00:54:02.450>architectural <00:54:02.625>decisions <00:54:02.800>you <00:54:02.975>will <00:54:03.150>be <00:54:03.325>able <00:54:03.500>to <00:54:03.675>make.

1122
00:54:07.015 --> 00:54:10.345
<00:54:07.015>Alright, <00:54:07.214>then <00:54:07.415>Alexander <00:54:07.615>Shane, <00:54:07.815>thank <00:54:08.015>you <00:54:08.214>for <00:54:08.415>sharing

1123
00:54:10.445 --> 00:54:11.825
<00:54:10.445>so <00:54:10.755>much <00:54:11.066>with <00:54:11.376>us <00:54:11.687>today.

1124
00:54:11.825 --> 00:54:13.585
<00:54:11.825>Thank <00:54:11.964>you <00:54:12.105>for <00:54:12.245>so <00:54:12.384>much. <00:54:12.524>Also <00:54:12.665>for <00:54:12.805>the <00:54:12.944>q <00:54:13.085>and <00:54:13.225>a.

1125
00:54:13.605 --> 00:54:15.465
<00:54:13.605>Now <00:54:13.885>you <00:54:14.165>answered <00:54:14.445>lots <00:54:14.725>of <00:54:15.005>questions.

1126
00:54:15.645 --> 00:54:18.105
<00:54:15.645>Um, <00:54:15.761>yeah, <00:54:15.878>if <00:54:15.995>you <00:54:16.111>want <00:54:16.228>to <00:54:16.345>send <00:54:16.461>us <00:54:16.578>your <00:54:16.695>slides, <00:54:16.811>uh, <00:54:16.928>we <00:54:17.045>can

1127
00:54:18.165 --> 00:54:20.825
<00:54:18.165>of <00:54:18.340>course <00:54:18.515>also <00:54:18.690>add <00:54:18.865>them <00:54:19.040>to <00:54:19.215>our <00:54:19.390>recap <00:54:19.565>email,

1128
00:54:20.835 --> 00:54:23.545
<00:54:20.835>which <00:54:21.068>everywhere <00:54:21.301>every <00:54:21.535>few <00:54:21.768>receives <00:54:22.001>on <00:54:22.235>Friday.

1129
00:54:24.685 --> 00:54:27.145
<00:54:24.685>So <00:54:24.840>that <00:54:24.996>would <00:54:25.151>be <00:54:25.307>a, <00:54:25.462>an <00:54:25.618>awesome <00:54:25.773>addition <00:54:25.929>of <00:54:26.085>course.

1130
00:54:27.765 --> 00:54:30.185
<00:54:27.765>And <00:54:27.940>yeah, <00:54:28.115>apart <00:54:28.290>from <00:54:28.464>that, <00:54:28.640>thank <00:54:28.815>you <00:54:28.990>so <00:54:29.165>much

1131
00:54:30.205 --> 00:54:31.305
<00:54:30.205>for <00:54:30.535>joining <00:54:30.865>us <00:54:31.194>today

1132
00:54:31.485 --> 00:54:33.785
<00:54:31.485>and <00:54:31.640>hopefully <00:54:31.796>we <00:54:31.951>see <00:54:32.107>each <00:54:32.262>other <00:54:32.418>on <00:54:32.573>another <00:54:32.729>live <00:54:32.885>day.

1133
00:54:34.315 --> 00:54:35.185
<00:54:34.315>Thank <00:54:34.510>you <00:54:34.706>very <00:54:34.902>much <00:54:35.098>for

1134
00:54:35.345 --> 00:54:36.385
<00:54:35.345>inviting <00:54:35.500>me. <00:54:35.657>Have <00:54:35.813>a <00:54:35.969>good <00:54:36.125>day <00:54:36.281>everybody.

1135
00:54:37.195 --> 00:54:38.625
<00:54:37.195>Thank <00:54:37.624>you, <00:54:38.053>Alexander. <00:54:38.482>Bye-Bye.