1
00:00:01,680 --> 00:00:07,360
Moin und Hallo zur Folge 94 von 
einfach komplex nach 2 Themen 

2
00:00:07,440 --> 00:00:10,640
mehr mit Industriebezug geht es 
heute mal wieder um pures 

3
00:00:10,640 --> 00:00:13,280
Developer Gold. 
Wir werden von Burkhard 

4
00:00:13,280 --> 00:00:17,520
erfahren, wie er eigentlich auf 
die Idee kam, Vrpc zu 

5
00:00:17,560 --> 00:00:18,880
programmieren. 
Kann man das so sagen, zu 

6
00:00:18,880 --> 00:00:22,160
erfinden und zu programmieren? 
Ja und was das eigentlich genau 

7
00:00:22,160 --> 00:00:23,160
ist? 
Wir haben das irgendwann mal 

8
00:00:23,160 --> 00:00:24,880
angerissen, aber jetzt machen 
wir das mal heute kurz und 

9
00:00:24,880 --> 00:00:28,760
knackig wir mal auf Vrpc ein. 
Und verstehen gleichzeitig noch 

10
00:00:28,760 --> 00:00:31,360
in dieser Folge, was eigentlich 
die Probleme mit Rest vor allem 

11
00:00:31,360 --> 00:00:34,160
sind VPC ganz kurz, Burkhard, 
wofür steht es? 

12
00:00:34,760 --> 00:00:37,640
Man könnte meinen, das heißt 
sowas wie versatile, also RPC 

13
00:00:37,640 --> 00:00:40,000
Remote procedure calls stehender
Begriff. 

14
00:00:40,000 --> 00:00:42,760
Diese 3 Letters und dann gibt es
das V davor und das ist aber 

15
00:00:42,760 --> 00:00:44,360
nicht versatile oder irgend 
sowas, sondern das heißt 

16
00:00:44,360 --> 00:00:48,480
Variadic und Variadic fragt man 
sich, was ist los mit dem 

17
00:00:48,480 --> 00:00:51,760
Heisen, wieso Variadic kommt aus
C plus plus, es gibt die 

18
00:00:51,760 --> 00:00:55,080
Variadischen Templates, 
Programmierpetter relativ modern

19
00:00:55,080 --> 00:00:58,320
im C plus plus. 
Gibt es noch nicht immer und nur

20
00:00:58,320 --> 00:01:01,600
mit den Variatischen Templates 
kann man das lösen, was VRPC 

21
00:01:01,600 --> 00:01:06,080
macht und das deswegen fand ich 
das so krass als add on in der t

22
00:01:06,080 --> 00:01:10,520
plus plus Sprache, dass ich es 
variatic RPC getauft hab, weil 

23
00:01:10,520 --> 00:01:13,480
man damit auch t plus plus 
anbinden kann, quasi aber nur 

24
00:01:13,480 --> 00:01:15,800
über diese Technologie. 
Ja, also variatic Remote 

25
00:01:15,800 --> 00:01:20,480
procedure calls VRPC wir. 
Sprechen darüber, weil es ist n 

26
00:01:20,480 --> 00:01:24,240
Open Source Projekt, was unter 
der MIT Lizenz glaub ich 

27
00:01:24,320 --> 00:01:28,080
verfügbar ist. 
Jeder, jeder das Benutzen unter 

28
00:01:28,080 --> 00:01:31,120
Heisenware, Github, repo oder 
wofür will man das finden, wenn 

29
00:01:31,120 --> 00:01:33,200
man das mal angucken möchte oder
benutzen würde? 

30
00:01:33,680 --> 00:01:35,640
Ja genau, also man findet es 
einfach in github. 

31
00:01:35,640 --> 00:01:38,680
Es gibt das VRPC in 
verschiedenen Ausprägungen 

32
00:01:38,680 --> 00:01:40,960
kommen wir dann in der Folge 
noch drauf, weil es gemacht 

33
00:01:40,960 --> 00:01:42,760
werden muss für alle 
Technologien, für alle 

34
00:01:42,760 --> 00:01:46,880
Programmiersprachen, das 
Bestausgebauteste ist VRPC minus

35
00:01:46,880 --> 00:01:51,040
JS, so heißt es repo, das liegt 
bei uns in der AT Heisenware 

36
00:01:51,440 --> 00:01:54,280
Company quasi no organization. 
Ob er das ist? 

37
00:01:54,280 --> 00:01:56,560
Da steht halt at heißen wir 
davor, stört aber nicht. 

38
00:01:56,560 --> 00:02:00,400
Das Repo ist genauso wie der wie
der Code und wie die Lizenz MIT 

39
00:02:00,800 --> 00:02:04,560
also free to use Free to change 
baut es ein in kommerzielle 

40
00:02:04,560 --> 00:02:06,480
Produkte könnt ihr sogar 
weiterverkaufen und so weiter 

41
00:02:06,480 --> 00:02:10,600
also hat die krasseste und die 
weit geöffnetste Open Source 

42
00:02:10,600 --> 00:02:12,240
Lizenz, die es im Prinzip gibt, 
ja. 

43
00:02:12,720 --> 00:02:15,680
OK, prima. 
Der Plan ist für heute 

44
00:02:15,760 --> 00:02:18,360
tatsächlich mal zu gucken, wie 
ich schon erwähnt habe, was sind

45
00:02:18,360 --> 00:02:20,160
eigentlich die aktuellen 
Schmerzen, zum Beispiel mit 

46
00:02:20,160 --> 00:02:25,360
Rest, welche potenziellen? 
Themen sind da nicht optimal. 

47
00:02:25,360 --> 00:02:28,160
Wenn man Entwickler ist. 
Ja, und damit arbeitet und im 

48
00:02:28,160 --> 00:02:30,960
zweiten Schritt zu gucken, wie 
VRPC vielleicht auch Remote 

49
00:02:30,960 --> 00:02:33,280
Procedure Calls n bisschen 
allgemeiner hier und da das 

50
00:02:33,280 --> 00:02:35,680
Ganze besser lösen. 
Am Ende wollen wir natürlich 

51
00:02:35,680 --> 00:02:37,600
auch noch n bisschen drauf 
gucken, wie wir das eigentlich 

52
00:02:37,600 --> 00:02:39,920
bei uns einsetzen, vielleicht 
ganz kurz, weil n großer Teil 

53
00:02:39,920 --> 00:02:42,280
von Heisenway ist. 
Eben auf VRPC auch basierend, so

54
00:02:42,280 --> 00:02:44,320
viel darf man sagen. 
Genau. 

55
00:02:44,960 --> 00:02:47,120
OK, Burka dann. 
Erzähl doch mal wie. 

56
00:02:47,120 --> 00:02:49,600
Was hast du damals gedacht? 
Er hat so ne Restappi vor dir 

57
00:02:49,600 --> 00:02:52,000
gedacht, hast du die Hände überm
Kopf zerschlagen, zerschlagen, 

58
00:02:52,000 --> 00:02:56,040
geschlagen und gedacht? 
Nein, schon wieder eine restappi

59
00:02:56,040 --> 00:02:57,600
ich hab keine Lust mehr oder wie
lief das? 

60
00:02:58,560 --> 00:03:01,360
Ja, es ist so n bisschen so ne. 
Also ich kann mal sagen, Gerrit 

61
00:03:01,360 --> 00:03:03,720
und ich sind ja auch, wir müssen
ja ab und zu mal pitchen, so als

62
00:03:03,720 --> 00:03:07,120
Co Founders eines Startups und 
wenn man pitcht, dann lernt man,

63
00:03:07,120 --> 00:03:10,160
dass man ne Geschichte erzählen 
muss, also mit dem und anfängt 

64
00:03:10,160 --> 00:03:12,280
mit dem Pain. 
Ja und ich will jetzt gar nicht 

65
00:03:12,280 --> 00:03:14,800
Rest dissen oder irgendsowas ja 
es geht gar nicht darum, dass. 

66
00:03:15,120 --> 00:03:17,680
Rest oft schlecht ist oder 
irgend so wie ja das das das 

67
00:03:17,680 --> 00:03:20,560
kann dann so klingen in der 
Folge, aber es war halt mein 

68
00:03:20,560 --> 00:03:24,000
Pain ne ich hatte gewissen Pain 
als Entwickler n Entwickler Pain

69
00:03:24,400 --> 00:03:27,360
und den hatte ich schon ziemlich
lange und wenn man wenn man viel

70
00:03:27,360 --> 00:03:30,960
pain verspürt dann dann verspürt
man im nächsten Moment also 

71
00:03:30,960 --> 00:03:34,280
jedenfalls manche Leute bei mir 
geht es ganz stark so dass man 

72
00:03:34,280 --> 00:03:38,040
irgendwie was machen muss um den
Pain zu releven ne ich würde 

73
00:03:38,040 --> 00:03:40,640
gerne anfangen zu erklären warum
ich VLPC gemacht hab. 

74
00:03:41,120 --> 00:03:43,280
Indem ich einfach erzähle, was 
mein Pain war. 

75
00:03:43,360 --> 00:03:46,560
Und unter anderem war Halt Rest 
in Pain genau, ja, das ist so 

76
00:03:47,280 --> 00:03:50,160
und da muss man kurz n bisschen 
gucken, wo waren wir in welchem 

77
00:03:50,160 --> 00:03:52,400
Setting, also das weiß auch 
nicht jeder, ich kannte den 

78
00:03:52,400 --> 00:03:54,720
Gerrit auch schon bevor der 
bevor wir mit der Heisenware 

79
00:03:54,720 --> 00:03:59,280
losgelegt haben in in einer 
anderen Company, die auch IOT im

80
00:03:59,280 --> 00:04:03,080
größten und IIOT im größeren 
Sinne gemacht hat, da kommt 

81
00:04:03,080 --> 00:04:06,160
einem sofort ein Pain in den Weg
und zwar. 

82
00:04:06,640 --> 00:04:09,520
Netzwerkarchitektur, das will 
ich mal ganz als Erstes nennen. 

83
00:04:09,520 --> 00:04:11,840
Ja, ich hab ich hab mir so n auf
meinen Spicker hab ich inbound 

84
00:04:11,840 --> 00:04:16,880
geschrieben ja also und warum ja
IOT heißt ja, dass ich ganz oft 

85
00:04:16,880 --> 00:04:22,079
entfernte Geräte und so weiter 
Remote kontrollieren will, also 

86
00:04:22,079 --> 00:04:25,120
digitaler Zwilling und so weiter
alles das kann ich nur machen 

87
00:04:25,120 --> 00:04:28,560
wenn ich oder macht nur Sinn 
wenn ich irgendwie zentral von 

88
00:04:28,560 --> 00:04:32,240
der Cloud aus mit Remote quasi n
Zwilling bauen kann, mit 

89
00:04:32,240 --> 00:04:34,640
irgendwer der der nicht bei mir 
in der Cloud liegt, ja der liegt

90
00:04:34,800 --> 00:04:38,000
normalerweise in irgendeiner. 
Factory oder wenn es IOT ist, 

91
00:04:38,000 --> 00:04:40,040
dann ist es vielleicht auch 
irgendwie nur ein Mülleimer oder

92
00:04:40,040 --> 00:04:42,320
irgendwas, der draußen steht, 
der Smart gemacht hat oder so. 

93
00:04:42,320 --> 00:04:47,200
Ja und was diese Dinger nicht 
mögen ist, dass wenn man jetzt 

94
00:04:47,200 --> 00:04:49,280
muss, man sich die 
Netzwerkarchitektur angucken, 

95
00:04:49,280 --> 00:04:52,080
die mögen nicht als Server 
auftreten, diese Dinge, ja, die 

96
00:04:52,080 --> 00:04:54,600
mögen keinen, und wenn sie 
nämlich als Server auftreten, 

97
00:04:54,600 --> 00:04:57,520
dann muss ich quasi einen 
wählen, das nennt sich inbound, 

98
00:04:57,520 --> 00:05:01,280
ja, ich muss quasi aus der Cloud
Reinwählen in das Device, ja. 

99
00:05:01,720 --> 00:05:05,320
Und warum mögen die das nicht? 
Weil meistens die IT Abteilung 

100
00:05:05,320 --> 00:05:07,800
das nicht mögen und aus gutem 
Grund, weil dann muss ich 

101
00:05:07,800 --> 00:05:11,720
nämlich n Port aufmachen und ich
bin nicht ich bin nicht gut 

102
00:05:11,720 --> 00:05:14,120
geschützt, ja ich weiß ja nicht 
wann mich jemand anruft, ja wenn

103
00:05:14,120 --> 00:05:16,440
ich, wenn ich einfach sage ich 
bin ich, ich kann angerufen 

104
00:05:16,440 --> 00:05:19,000
werden, dann mach ich mich 
relativ weit auf ja also das ist

105
00:05:19,000 --> 00:05:21,240
was was man nicht haben will, ja
ich will das, ich will, die will

106
00:05:21,240 --> 00:05:24,560
die Verantwortlichkeit drehen, 
ich will wenn ich kommunizieren 

107
00:05:24,560 --> 00:05:27,200
will, dann ruf ich gefälligst an
mit dem, dem ich kommunizieren 

108
00:05:27,200 --> 00:05:29,120
will, das ist 
sicherheitstechnisch. 

109
00:05:29,720 --> 00:05:32,000
Von der Logik her und so weiter 
ist es das, was ich haben will. 

110
00:05:32,000 --> 00:05:37,120
So, und da ist schon das erste 
Problem, weil in der Restwelt, 

111
00:05:37,120 --> 00:05:39,280
also wenn ich das jetzt 
technisch realisieren will, muss

112
00:05:39,280 --> 00:05:42,240
ich irgendwas nehmen, ich brauch
netzwerkkommunikation Punkt ja 

113
00:05:42,240 --> 00:05:44,960
also ich brauch irgendwie was, 
ja und was ich als erstes aus 

114
00:05:44,960 --> 00:05:47,040
der Schublade ziehe, weil es 
halt der krasseste Standard ist 

115
00:05:47,040 --> 00:05:49,040
überall und so weiter ist halt 
die Rest API. 

116
00:05:49,040 --> 00:05:52,960
Ja und in der Rest API gibt es 
die Server und den Klienten und 

117
00:05:52,960 --> 00:05:55,040
der Server ist der der länger 
lebt und der Klient ist der der 

118
00:05:55,040 --> 00:05:56,720
anruft und kürzer lebt 
typischerweise. 

119
00:05:57,120 --> 00:05:59,240
Und wenn man das über Rest API 
denkt, dann muss ich jetzt 

120
00:05:59,240 --> 00:06:01,920
trotzdem irgendwie dem der 
Maschine oder Irgendsowas die 

121
00:06:01,920 --> 00:06:03,440
würde jetzt trotzdem der Server 
werden. 

122
00:06:03,440 --> 00:06:05,040
Ja von der Logik her geht gar 
nicht anders. 

123
00:06:05,040 --> 00:06:07,680
Ja und jetzt bin ich aber auch 
schon im Klo, weil ich wenn ich 

124
00:06:07,680 --> 00:06:11,160
n Server bin brauch ich halt ne 
inbound connection ne also jetzt

125
00:06:11,160 --> 00:06:14,080
muss ich doch einwählen ne und 
hab den ganzen Server am Start 

126
00:06:14,080 --> 00:06:16,640
ja das ist irgendwie n Mist. 
Ja also da fängt man schon an 

127
00:06:16,640 --> 00:06:18,640
Kopfschmerzen zu bekommen und 
das ist schon mein erster großer

128
00:06:18,640 --> 00:06:21,640
Kopfschmerz wie kriegt man also 
das das will man einfach nicht, 

129
00:06:21,640 --> 00:06:23,440
man will es irgendwie drehen ne 
so. 

130
00:06:23,760 --> 00:06:26,320
Mehr zu sag ich das sogar nicht,
aber es ist halt voll nicht easy

131
00:06:26,320 --> 00:06:30,080
das mit Rest Krams aufzubauen. 
Ne ist mein 1.1. 

132
00:06:30,080 --> 00:06:32,480
Pain ne so weit so klar geritt 
das. 

133
00:06:32,480 --> 00:06:35,240
Das das soweit so klar ja und 
ich ich schätze mal man könnte 

134
00:06:35,240 --> 00:06:37,000
jetzt wahrscheinlich bei jedem 
dieser einzelnen Paints sagen, 

135
00:06:37,000 --> 00:06:39,280
Moment, da gibt es aber dies und
das, aber wir müssen 

136
00:06:39,280 --> 00:06:42,000
wahrscheinlich die Pains als 
Gesamtpaket am Ende betrachten. 

137
00:06:42,480 --> 00:06:44,680
Genau deswegen würde ich auch 
das so aufbauen, dass ich erst 

138
00:06:44,680 --> 00:06:47,080
mal die ganzen Pains 
runterratter und von ihr merkt, 

139
00:06:47,080 --> 00:06:49,000
dass es dann irgendwie, dass man
dann schon auch irgendwie 

140
00:06:49,000 --> 00:06:51,560
Schmerzen haben kann. 
Oder auch nicht. 

141
00:06:51,560 --> 00:06:54,160
Ja, ich bin natürlich auch, also
man muss ja auch dazu sagen, die

142
00:06:54,160 --> 00:06:57,280
Entwickler sind ja sehr sehr 
faule Menschen, ne, also wir 

143
00:06:57,280 --> 00:06:59,280
haben überhaupt keinen Bock 
irgendwie uns immer mit mit 

144
00:06:59,280 --> 00:07:02,160
Boilerplay zu beschäftigen und 
so weiter und je weniger wir 

145
00:07:02,160 --> 00:07:04,280
Code tippen müssen und je wie 
einfach alles irgendwie 

146
00:07:04,280 --> 00:07:06,280
funktioniert, desto glücklicher 
ist man ja. 

147
00:07:06,280 --> 00:07:08,720
Also es kann ja auch schon n 
pain sein, wenn man irgendwo zu 

148
00:07:08,720 --> 00:07:11,520
viel machen will, bringt mich 
zum nächsten, zum nächsten Pain 

149
00:07:11,520 --> 00:07:14,560
den ich hab, wenn man jetzt 
nicht nur ne Datenbank hat. 

150
00:07:15,040 --> 00:07:18,720
Wo man irgendwelche Records 
irgendwie crud mäßig verhandelt.

151
00:07:18,720 --> 00:07:22,000
Ja, also was heißt crud noch mal
kurz create read update delete 

152
00:07:22,000 --> 00:07:25,360
ja also mein normaler Zyklus, 
ich mach nen Ich trag was neues 

153
00:07:25,360 --> 00:07:28,480
ein in die Tabelle das ist das 
create ich les was aus read ich 

154
00:07:28,480 --> 00:07:31,520
update eine Row Fine Update und 
dann delete ich lösch den 

155
00:07:31,520 --> 00:07:33,960
Eintrag ja und wenn ich nicht so
einfache Sachen hab wie 

156
00:07:33,960 --> 00:07:37,680
irgendwie Blog, Post oder 
irgendsowas ja dann kann so nen 

157
00:07:37,680 --> 00:07:42,480
crud basierter Ansatz den Rest 
halt auch wieder hat ja auch 

158
00:07:42,480 --> 00:07:45,680
voll zum Pain werden ja weil. 
Jetzt bin ich auf einmal. 

159
00:07:45,680 --> 00:07:48,360
Ich bin auf einmal weg von 
einfach nur Datenbanken. 

160
00:07:48,360 --> 00:07:50,920
Ja, ich bin auf einmal auf 
Devices, ja, ich hab digitaler 

161
00:07:50,920 --> 00:07:53,760
Zwilling am Anfang gesagt, ja, 
auf einmal hat so ne Device ja 

162
00:07:53,760 --> 00:07:57,600
ne semantic ne was heißt 
semantic, ich will sagen connect

163
00:07:57,920 --> 00:08:04,080
Disconnect ja is connected set 
registers set variable oder was 

164
00:08:04,080 --> 00:08:06,240
weiß ich und dann auch noch 
hochspezifisch je nach je nach 

165
00:08:06,240 --> 00:08:09,200
Device ja spreche ich mit dem 
OBCOA Server hab ich ja ne ganz 

166
00:08:09,200 --> 00:08:12,720
andere Nomenklatur. 
Ne ganz andere Semantik mit dem 

167
00:08:12,720 --> 00:08:15,120
ich sprechen will und ich hätte 
gerne die Semantik auch 

168
00:08:15,120 --> 00:08:18,640
beibehalten, weil die Experten 
die Domain Experten dieses 

169
00:08:18,640 --> 00:08:22,080
bedienen sollen. 
Die wollen ja nicht in einer 

170
00:08:22,080 --> 00:08:24,720
Wahnsinns abstraktionsschicht 
irgendwie sich das mappen, 

171
00:08:24,720 --> 00:08:28,000
müssen selber mental. 
Was heißt denn jetzt irgendwie 

172
00:08:28,000 --> 00:08:31,560
put Connect oder irgendsowas ah 
das macht wohl ne Connection 

173
00:08:31,560 --> 00:08:35,240
oder irgendsowas ja. 
Das Problem mit Rest ist, es ist

174
00:08:35,240 --> 00:08:38,080
halt n krasser Abstraktions und 
krasser Standard. 

175
00:08:38,080 --> 00:08:40,640
Das ist cool, damit wird es 
quasi nutzbar, ziemlich zu 

176
00:08:40,640 --> 00:08:44,400
vielen Sachen, verlierst aber 
komplett die Semantik der Dinge,

177
00:08:44,400 --> 00:08:48,480
ja weil alles müssen Nomen sein,
ja es gibt es gibt eigentlich 

178
00:08:48,480 --> 00:08:51,680
gar keine Verben in der AP, weil
die Verben sind ja schon das Get

179
00:08:51,680 --> 00:08:54,720
Put, Patch, Post und delete, ja 
quasi die Anweisung was ich 

180
00:08:54,720 --> 00:08:58,360
mache retrite Update und delete 
ja das ist ja umgesetzt in die 

181
00:08:58,360 --> 00:09:01,360
Verben und dann hab ich nur noch
so Nomen ja in der AP ja. 

182
00:09:01,840 --> 00:09:04,240
Damit es irgendwie Sinn macht. 
Ja, und ich sprech so von 

183
00:09:04,240 --> 00:09:07,200
Ressourcen, das passt ja auf 
viele Sachen, aber es passt 

184
00:09:07,200 --> 00:09:10,320
halt, es ist halt voll, ist halt
voll Schwachen. 

185
00:09:10,320 --> 00:09:12,600
Wenn ich jetzt mehr als 
Datenbanken mache und irgendwie 

186
00:09:12,600 --> 00:09:15,360
ne ne wilde IOT Welt habe und 
irgendwie alle möglichen Dinge 

187
00:09:15,360 --> 00:09:16,800
mir vorstelle die ich damit 
machen könnt. 

188
00:09:17,800 --> 00:09:21,320
Das heißt, du sagst die Rest AP 
ist ursprünglich wahrscheinlich 

189
00:09:21,320 --> 00:09:23,760
auch dafür gemacht, insbesondere
gut mit Datenbanken zu 

190
00:09:23,760 --> 00:09:26,480
kommunizieren? 
Ja, die die crod Operation 

191
00:09:26,640 --> 00:09:28,720
lassen sich direkt übersetzen 
auf die Haupt. 

192
00:09:29,120 --> 00:09:31,680
Operationen oder werben, die es 
in in der Rest AP gibt. 

193
00:09:31,680 --> 00:09:35,480
Deswegen und wenn ich jetzt aber
n reales Device angucke oder 

194
00:09:35,480 --> 00:09:38,480
irgendwelche auch auch nicht 
realen oder virtuellen Dinge, 

195
00:09:38,480 --> 00:09:41,040
die man in der Fabrik zum 
Beispiel findet wie NOPCA Server

196
00:09:41,680 --> 00:09:45,440
oder vielleicht auch irgendeine 
PLC oder so oder sonst was, dann

197
00:09:45,440 --> 00:09:46,640
ist das nicht unbedingt 
aufgebaut. 

198
00:09:46,640 --> 00:09:49,600
Wieso ne Datenbank wo ich nur 
mit Kontooperationen weiter 

199
00:09:49,600 --> 00:09:52,440
komme, das heißt ich müsste 
diese Operation, die ich in der 

200
00:09:52,440 --> 00:09:55,760
Rest AP zur Verfügung habe immer
schwer umbiegen und mappen. 

201
00:09:56,000 --> 00:09:58,080
Um dann doch wieder mit den 
Devices zu kommunizieren. 

202
00:09:58,080 --> 00:09:59,120
Und das will ich eigentlich 
nicht, oder? 

203
00:09:59,120 --> 00:10:00,480
Das ist n Pain einfach letzten 
Endes. 

204
00:10:00,560 --> 00:10:03,200
Ja, genau das ist n Pain und das
ist vor allen Dingen auch n 

205
00:10:03,200 --> 00:10:06,960
Entwickler Pain, weil du musst. 
Es ist überhaupt nicht einfach 

206
00:10:06,960 --> 00:10:10,320
ne schöne Rest LPI zu designen. 
Wenn du n sehr semantisches 

207
00:10:10,320 --> 00:10:12,040
Problem hast. 
Es sind ja Sachen weißt du in 

208
00:10:12,040 --> 00:10:13,800
dem Moment wo ich vielleicht 
auch zum Beispiel mehrere Sachen

209
00:10:13,800 --> 00:10:17,080
zusammenfinden muss und wo ich 
filtering anbiete, ja wo ich wo 

210
00:10:17,080 --> 00:10:19,520
ich dem Nutzer sage, OK, du 
kannst ja ganz dynamisch mit 

211
00:10:19,520 --> 00:10:22,760
mehreren Ressourcen sprechen und
so weiter den den der erste Pain

212
00:10:22,760 --> 00:10:25,920
den du hast, du musst das ja. 
Du hast ja Code am Ende des 

213
00:10:25,920 --> 00:10:28,120
Tages und Du hast schöne 
Funktionen aufgeschrieben. 

214
00:10:28,120 --> 00:10:30,360
Ja, die haben einen schönen 
Namen, das lernt man als 

215
00:10:30,360 --> 00:10:32,400
Entwickler im ersten Semester, 
das ist das Wichtigste. 

216
00:10:32,400 --> 00:10:35,400
Ja, Namen, Namen, Namen, du 
schreibst also Klassen hin, du 

217
00:10:35,400 --> 00:10:37,840
strukturierst deinen Backend 
Code, der quasi das macht was du

218
00:10:37,840 --> 00:10:40,440
machen möchtest und die 
Funktionen haben tolle Namen, da

219
00:10:40,440 --> 00:10:43,280
steht genau drin was du machst. 
Die haben verschiedene Argumente

220
00:10:43,520 --> 00:10:46,080
und die Argumente haben auch 
Namen und widerspiegeln genau 

221
00:10:46,080 --> 00:10:48,800
das was da rauskommen soll. 
So hast du wenn du den Code 

222
00:10:48,800 --> 00:10:51,680
liest zum Beispiel ein sehr 
gutes Verständnis was da los 

223
00:10:51,680 --> 00:10:52,880
ist. 
Im besten Fall hast du sogar 

224
00:10:52,880 --> 00:10:55,600
noch JS Dock. 
Also eine Art Dokumentation. 

225
00:10:55,600 --> 00:10:57,840
Das ist in Python mit in der 
Funktion sogar drinne, bei 

226
00:10:57,920 --> 00:11:00,960
anderen Programmiersprachen wird
das extra dran geklebt, wenn man

227
00:11:00,960 --> 00:11:02,320
das liest. 
Als Entwickler ist man 

228
00:11:02,320 --> 00:11:04,440
eigentlich fertig, wenn man das 
toll designt hat, hast du eine 

229
00:11:04,440 --> 00:11:09,040
wunderbare API und jetzt kommt 
Rest und jetzt kommt der Pain, 

230
00:11:09,320 --> 00:11:12,880
jetzt musst du diese wunderbare 
API auseinandernehmen und neu 

231
00:11:12,880 --> 00:11:17,040
ausdrücken mit diesen Verben und
diesen Nomen und du musst 

232
00:11:17,040 --> 00:11:19,200
itempotent sein und es gibt 1000
regeln. 

233
00:11:19,640 --> 00:11:23,160
Und dann wird es einfach kacke, 
so meistens ja, und es ist auch 

234
00:11:23,160 --> 00:11:25,880
nicht standardisiert und weil es
kacke wird, wird es halt auch 

235
00:11:25,880 --> 00:11:29,280
für den Nutzer dann kacke sag 
ich mal ja und wie gesagt bei 

236
00:11:29,280 --> 00:11:31,440
einfachen Sachen genau du hast 
gesagt Gerät funktioniert das 

237
00:11:31,600 --> 00:11:34,640
leidlich sobald es komplexer 
wird würd ich sagen hat das 

238
00:11:34,640 --> 00:11:38,480
schnell n Ende ja. 
Und das mit dem Nomen heißt so 

239
00:11:38,480 --> 00:11:41,120
viel wie ich nehm jetzt zum 
Beispiel nen nen GAD und dann 

240
00:11:41,120 --> 00:11:44,560
hab ich das Nomen dahinter ist 
dann sowas wie Maschine oder so 

241
00:11:44,560 --> 00:11:47,520
und. 
Zustand oder sowas oder oder was

242
00:11:47,520 --> 00:11:49,840
meinst du mit mit wer? 
Ja, die die die, die ja die 

243
00:11:49,840 --> 00:11:53,520
Nomen sind, ja die die Namen der
also ne Rest API sind ja immer 

244
00:11:53,520 --> 00:11:56,360
URLS, wenn das dich gehört, der 
hat noch mal ne Folge, also in 

245
00:11:56,360 --> 00:11:58,640
den in den Browser und dann 
heißt das Halt irgendwie Blogs 

246
00:11:58,640 --> 00:12:01,880
zum Beispiel also bla bla bla 
bla bei der Domäne heißen wir 

247
00:12:01,880 --> 00:12:04,760
topcloud oder irgendwas slash so
dann kannst du zum Beispiel 

248
00:12:04,760 --> 00:12:07,920
sagen und dann kommt meistens 
noch AP damit angezeigt wird 

249
00:12:07,960 --> 00:12:10,680
hier kommt nichts für den 
Browser sondern für die für die 

250
00:12:10,680 --> 00:12:13,840
Klienten AP, Slash und dann zum 
Beispiel Blogs. 

251
00:12:14,400 --> 00:12:18,480
Blogse mit g, also deine deine 
Blogeinträge ja so, das ist das 

252
00:12:18,480 --> 00:12:21,280
Nomen das ich meine, also deine 
ganze Funktion, dein ganzes 

253
00:12:21,280 --> 00:12:23,440
Getöns heißt einfach nur noch 
Blogs, ja und dann kannst du 

254
00:12:23,440 --> 00:12:26,040
sagen, get, wenn du n get Call 
machst, dann heißt es so viel 

255
00:12:26,040 --> 00:12:28,920
wie Get Blogs, dann kriegst du 
halt alle ja so, wenn du ne 

256
00:12:28,920 --> 00:12:30,720
bestimmte haben willst, dann 
musst du schon wieder mit query 

257
00:12:30,720 --> 00:12:33,600
Parametern irgendwie mit dem 
Fragezeichen und so weiter darum

258
00:12:33,600 --> 00:12:36,240
Hühnern und so das ist ja alles 
voll nicht intuitiv, ja. 

259
00:12:36,640 --> 00:12:38,400
Das ist ja quasi das Beispiel, 
was ich gerade machen wollte, 

260
00:12:38,400 --> 00:12:41,040
mit wenn ich nicht Blogs, 
sondern übertragen auf diese 

261
00:12:41,040 --> 00:12:43,120
Welt, in der du unterwegs warst 
mit Maschine. 

262
00:12:43,600 --> 00:12:47,600
Genau und und und dann slash 
weiß ich nicht, Motor 5 oder n 

263
00:12:47,600 --> 00:12:50,080
slash Zustand oder sowas. 
Genau, Motor 5. 

264
00:12:50,080 --> 00:12:52,160
Genau und dann müsstest du 
sagen, genau und dann musst du 

265
00:12:52,160 --> 00:12:55,440
auch gucken, irgendwie zustand 
oder oder Speed oder was heißt 

266
00:12:55,440 --> 00:12:57,760
denn Start und Stop und so 
weiter du kannst ja noch nicht 

267
00:12:57,760 --> 00:13:01,000
mal hinschreiben Motor 1, slash 
Start oder irgendsowas weil 

268
00:13:01,000 --> 00:13:03,720
Start ist eigentlich keine 
saubere Rest App in dem Sinne ja

269
00:13:03,720 --> 00:13:04,960
aber dann was machst du denn 
dann? 

270
00:13:04,960 --> 00:13:08,400
Ja Motor 1 Post und in der 
Nachricht Post schickst du dann 

271
00:13:08,400 --> 00:13:10,920
in den Start Befehl mit und so 
weiter und wie kriegst du die 

272
00:13:10,920 --> 00:13:14,280
Antwort dass er gestartet wurde 
und so kriegst du. 1000 

273
00:13:14,280 --> 00:13:16,800
Kopfschmerzen ja und fängst und 
denkst dir irgend, oh, ich muss 

274
00:13:16,800 --> 00:13:19,360
das irgendwie standardisieren 
und so weiter ja, wenn du das 

275
00:13:19,360 --> 00:13:21,240
denkst, ich muss das irgendwie 
standardisieren, dann sind wir 

276
00:13:21,240 --> 00:13:24,080
bei der Folge, die wir auch 
hatten, Asset Administration, 

277
00:13:24,080 --> 00:13:26,680
Shell und so weiter die haben 
nämlich auch genau diesen Pain 

278
00:13:26,680 --> 00:13:27,720
gefühlt. 
Ja und dann wird rum 

279
00:13:27,720 --> 00:13:29,840
standardisiert, dann werden 
Modelle entwickelt und so weiter

280
00:13:29,840 --> 00:13:33,920
das sind aber alles mappings, ja
und du bist du bist als 

281
00:13:33,920 --> 00:13:36,880
Entwickler gezwungen es zweimal 
zu schreiben, es zweimal zu 

282
00:13:36,880 --> 00:13:39,360
denken und fühlst dich irgendwie
trotzdem immer noch nicht wohl. 

283
00:13:39,400 --> 00:13:42,400
Ja ich hab das gehasst. 
Ja ist für mich n krasser Pain. 

284
00:13:42,920 --> 00:13:44,680
Da hab ich das verstanden. 
Ja, also erst Thema Inbound 

285
00:13:44,680 --> 00:13:47,400
zweites jetzt mappings ja 
überflüssige Mappings letzten 

286
00:13:47,400 --> 00:13:49,520
Endes. 
Überflüssige Mappings und 

287
00:13:49,520 --> 00:13:52,640
erstens überflüssig und zweitens
Verschlimmbessern die das ja, 

288
00:13:52,640 --> 00:13:56,960
weil du typischerweise Semantik 
kurzer Teaser heute unsere ganze

289
00:13:56,960 --> 00:14:00,680
KI Welt ist unglaublich 
semantisch, was mein ich denn 

290
00:14:00,680 --> 00:14:03,240
überhaupt mit semantisch? 
Semantisch heißt es kommt total 

291
00:14:03,240 --> 00:14:07,520
drauf an wie ich Sachen benenne 
und wie der Kontext ist von 

292
00:14:07,520 --> 00:14:11,520
Benennungen ne unsere KI ist 
deswegen gut weil wir prompts 

293
00:14:11,520 --> 00:14:13,800
schreiben. 
Die semantischen Kontext 

294
00:14:13,800 --> 00:14:15,640
darbieten. 
Ja, ich weiß auf einmal, wenn 

295
00:14:15,640 --> 00:14:18,640
ich von Apple spreche, hab 
dahinter irgendwie noch iphone 

296
00:14:18,640 --> 00:14:21,040
oder Irgendsowas, dann entsteht 
n Kontext. 

297
00:14:21,040 --> 00:14:23,280
Ich weiß, dass ich von der Firma
Apple spreche und nicht vom 

298
00:14:23,280 --> 00:14:26,160
Apfel, ja, weil ich nicht, nicht
nicht Pia dahinter geschrieben 

299
00:14:26,160 --> 00:14:29,360
hab oder irgendwas nicht bei den
Früchten ja und der Teaser ist, 

300
00:14:29,360 --> 00:14:33,560
wenn wir Semantik erhalten in 
der gesamten Kommunikation und 

301
00:14:33,560 --> 00:14:35,920
in der Ansprache zwischen und 
Kommunikation kann ja auch 

302
00:14:35,920 --> 00:14:39,600
zwischen Softwarestücken sein, 
dann ist KI mächtig. 

303
00:14:40,120 --> 00:14:42,880
Weil KI kann ja mit semantischen
APS viel besser umgehen und die 

304
00:14:42,880 --> 00:14:45,120
verstehen als diese 
runtergedampften 1234 Art 

305
00:14:45,120 --> 00:14:47,360
Anweisungen und irgendwelche 
komischen Nomen. 

306
00:14:47,360 --> 00:14:51,680
Ne vielleicht der wieviel 
nächste Infos so gut der pain 

307
00:14:51,680 --> 00:14:55,800
wenn ich denke ich denke der ist
n bisschen klar geworden gehen 

308
00:14:55,800 --> 00:14:58,040
wir zum nächsten Pain ne 
nächster riesiger Pain 

309
00:14:58,040 --> 00:15:04,880
eventhandlung eventhandling. 
Und das ist krass in da, in 

310
00:15:04,880 --> 00:15:07,040
dieser Welt. 
Wenn einfach mir der Server 

311
00:15:07,040 --> 00:15:09,120
Nachrichten geben will. 
Ja, also noch mal, der Server 

312
00:15:09,120 --> 00:15:11,360
wär quasi unser Device, also 
unsere Maschine nehmen wir noch 

313
00:15:11,360 --> 00:15:14,800
mal gerade und die einfach ne 
Info hat für mich ja scheiße mir

314
00:15:14,800 --> 00:15:18,080
geht es schlecht, mir ist heiß 
geworden Alarm ja oder was oder 

315
00:15:18,080 --> 00:15:22,400
Störung ich bin hängen geblieben
also das ganze Alarming sowieso,

316
00:15:22,480 --> 00:15:25,120
dann aber auch vielleicht ganz 
normale Sachen wie ich ich 

317
00:15:25,120 --> 00:15:27,640
arbeite Stücke ab und jedes Mal 
wenn n Stück Arbeit abarbeitet 

318
00:15:27,640 --> 00:15:29,440
ist krieg ich n Stückzahl 
Feedback ja. 

319
00:15:29,920 --> 00:15:32,240
On product done oder Irgendsowas
einfach so. 

320
00:15:32,240 --> 00:15:35,280
Callbacks nennt man oder Events 
das gleiche Prinzip. 

321
00:15:35,280 --> 00:15:38,520
Hier also quasi Sachen, die ich 
nicht andauernd anfragen will, 

322
00:15:38,520 --> 00:15:41,880
wo ich nicht sagen will, hey, 
geht es dir noch gut ja hey geht

323
00:15:41,880 --> 00:15:43,520
es dir noch gut ja hey geht es 
dir noch? 

324
00:15:43,520 --> 00:15:47,040
Nein jetzt hab ich n Alarm, so 
gibt es einfach nicht ja 

325
00:15:47,040 --> 00:15:49,000
nächster pain mehr muss ich 
jetzt noch nicht sagen ist klar 

326
00:15:49,000 --> 00:15:53,120
oder weil der Rest sieht es 
nicht vor genau wir müssen jetzt

327
00:15:53,120 --> 00:15:56,440
mal ja ja wir müssen jetzt noch 
ich war ganz kurz zu kurz gesagt

328
00:15:56,440 --> 00:15:57,360
so ne. 
Gute Tee. 

329
00:15:58,160 --> 00:16:01,360
Aber, aber wir wollen, wir gehen
ja erst mal die Pains durch. 

330
00:16:01,360 --> 00:16:03,840
Ja, du warst ja sind ja paar 
Jahre zurück und du hast auf das

331
00:16:03,840 --> 00:16:07,040
auf die Welt geguckt und so 
festgestellt, erst mal ja. 

332
00:16:07,360 --> 00:16:10,160
Ja und Vorsicht. 
MQTT ist halt nicht West. 

333
00:16:10,160 --> 00:16:13,280
Ja West IPI setzt den 
Transportkanal fest und der ist 

334
00:16:13,280 --> 00:16:18,960
HTTP und Punkt und nichts MQTT. 
Ja genau, MQTT ist Teil meiner 

335
00:16:18,960 --> 00:16:22,320
meines Pain, wie Leavers später,
das erzähl ich dann genau, aber 

336
00:16:22,320 --> 00:16:25,520
hast du gut gefühlt ja genau OK 
next pain. 

337
00:16:25,760 --> 00:16:29,320
Asynchronität auch so n Scheiß 
ja, als wäre unsere Welt nicht 

338
00:16:29,320 --> 00:16:31,360
asynchron. 
Ne, also das muss man sich ja 

339
00:16:31,360 --> 00:16:34,480
einmal, das muss sich ja einmal 
runter verdauen, ne also wenn 

340
00:16:34,480 --> 00:16:37,040
man entwickelt heutzutage als 
Entwickler und man hat noch nie 

341
00:16:37,040 --> 00:16:39,520
was von Promises oder 
Asynchronität gehört, dann kann 

342
00:16:39,520 --> 00:16:41,920
man auch, ja dann lassen wir es 
über die KI machen sag ich mal. 

343
00:16:42,000 --> 00:16:45,720
Aber die Welt ist halt komplett 
asynchron, ne ist alles dauert 

344
00:16:45,720 --> 00:16:48,280
seine Zeit, ja und wenn es nur n
Datenbank also alles ist 

345
00:16:48,280 --> 00:16:50,160
verteilt, das ist nämlich 
modern. 

346
00:16:50,640 --> 00:16:52,680
Wenn was verteilt ist, dann hab 
ich Netzwerk dazwischen. 

347
00:16:52,680 --> 00:16:55,920
Dann hab ich einfach überall 
Zeit, selbst wenn ich NSQL query

348
00:16:55,920 --> 00:16:59,360
mache und sag hier gib mir mal 
alle was weiß ich gib mir mal 

349
00:16:59,360 --> 00:17:02,880
alle maschinenlaufzeiten raus 
oder so, das macht es schon, es 

350
00:17:02,880 --> 00:17:05,520
geht auch relativ schnell, aber 
das ist wurscht wie schnell das 

351
00:17:05,520 --> 00:17:10,000
ist, dass es relativ schnell 
geht heißt, dass ich nicht im 

352
00:17:10,000 --> 00:17:14,599
Programm anhalte, alles anhalte,
warte bis der Befehl zurückkommt

353
00:17:14,599 --> 00:17:17,319
und dann weitermache und das 
nennt sich synchron, wenn ich 

354
00:17:17,319 --> 00:17:19,839
quasi ne sagen wir mal ich bin 
nen Backend. 

355
00:17:20,000 --> 00:17:22,839
Und ich mache diesen Request. 
Gib mir alle Maschinendaten raus

356
00:17:22,839 --> 00:17:25,920
und selbst wenn der nur 10 
Millisekunden dauert, ich will 

357
00:17:26,160 --> 00:17:29,040
nicht alles anhalten. 
Ja ich will sagen, hol mir das 

358
00:17:29,040 --> 00:17:32,960
raus und wenn du es hast, sag 
mir Bescheid und ich verbaue das

359
00:17:32,960 --> 00:17:36,560
quasi in meinen in meinen Fluss.
Ja, das nennt sich asynchron, ja

360
00:17:36,720 --> 00:17:40,480
asynchronität kannst du auch 
wieder nicht darstellen mit HTTP

361
00:17:40,480 --> 00:17:43,600
ja wenn irgendwas lange dauert 
mit Rest Entschuldigung ja und 

362
00:17:43,600 --> 00:17:46,640
HTTP in dem Sinne ja wenn was 
lange dauert bist du auch 

363
00:17:46,640 --> 00:17:49,920
geflickt. 
Gibt es Wege und und Umwege? 

364
00:17:49,920 --> 00:17:52,840
Also sowas wie n Longpol jetzt 
für die alle die sagen ja gibt 

365
00:17:52,840 --> 00:17:57,120
es ja, gibt es ja longpol ja, 
gruselig ist nicht, ist hackey 

366
00:17:57,120 --> 00:18:00,880
ja es ist funktioniert nicht gut
ist errorproon dann gibt es noch

367
00:18:00,960 --> 00:18:03,280
die Möglichkeit wenn man 
asynchron Prozesse hat, dass man

368
00:18:03,280 --> 00:18:06,600
quasi sagt ich stoß den an und 
dann krieg ich im HTTP zurück ne

369
00:18:06,600 --> 00:18:10,920
Nachricht ja hast du angestoßen 
ist asynchron lösen wir 

370
00:18:10,920 --> 00:18:14,560
irgendwie auf oder so ist alles 
alles großer Rand hab ich alles 

371
00:18:14,560 --> 00:18:18,000
probiert hatte immer. 
Also es schmerzt, ja, 

372
00:18:18,000 --> 00:18:20,520
funktioniert nicht. 
Bleibst du also, bleibst du also

373
00:18:20,520 --> 00:18:23,640
am Ende dabei und pollst ja und 
optimierst Polling ja, da fängst

374
00:18:23,640 --> 00:18:26,840
du an, wirst Experte im Polling,
wie kann ich geschickt, wenn ich

375
00:18:26,840 --> 00:18:28,560
muss mich ganz viele Sachen 
Pollen auf einmal. 

376
00:18:28,960 --> 00:18:31,160
Also wenn ich natürlich nur eine
Maschine Pollen muss mit dem 

377
00:18:31,160 --> 00:18:35,360
Alarm, das ist ja fein ne, aber 
jetzt wir haben ja Flotten von 

378
00:18:35,360 --> 00:18:37,800
Devices, manchmal will ich ja 
10000 Devices auf einmal sehen, 

379
00:18:37,800 --> 00:18:41,040
ne dann poll die mal alle da 
hast du aber da hast du aber 

380
00:18:41,040 --> 00:18:43,760
Alarm auf dem auf auf dem 
Klienten der das alles Pollen 

381
00:18:43,760 --> 00:18:46,560
soll und so ja. 
Implementier das mal geschickt, 

382
00:18:46,560 --> 00:18:51,880
Pain ohne Ende, Pain gut, Next 
Pain ja, fehlerbehandlung auch 

383
00:18:51,880 --> 00:18:54,600
sowas was mich total nervt. 
Ja, also das ist eigentlich fast

384
00:18:54,600 --> 00:18:57,880
so wie das Mapping, deswegen 
fasse ich es kurz die Entwickler

385
00:18:57,880 --> 00:19:01,240
wenn sie Code entwickeln, also 
in Python oder in Java Script 

386
00:19:01,240 --> 00:19:04,480
oder in Java oder in C plus plus
egal ja machen sich viele 

387
00:19:04,480 --> 00:19:07,560
Gedanken was passiert wenn 
irgendwas nicht so läuft wie es 

388
00:19:07,560 --> 00:19:10,400
laufen soll. 
Ja zum Beispiel jemand sagt mir 

389
00:19:10,400 --> 00:19:12,800
lies aus das file aber das 
scheiß File gibt es gar nicht 

390
00:19:12,800 --> 00:19:15,800
auf der Platte ja. 
Dann kann ich ja als Funktion 

391
00:19:15,800 --> 00:19:19,200
die die heißt CSV zum Beispiel 
und das CSV. 

392
00:19:19,200 --> 00:19:21,600
Der Pfad ist nicht da. 
Ja, da kann ich nichts machen, 

393
00:19:21,600 --> 00:19:23,160
ja, da muss ich mir, also da 
muss ich, das ist ne 

394
00:19:23,160 --> 00:19:26,720
fehlerkondition ne und in allen 
allen Programmiersprachen ist 

395
00:19:26,720 --> 00:19:30,000
das super schön standardisiert, 
das heißt Exceptions oder error 

396
00:19:30,000 --> 00:19:33,920
ja, meistens heißt Exception, ja
ist eine Ausnahme und 

397
00:19:34,000 --> 00:19:37,280
Ausnahmebehandlung ist Teil 
einer jeden modernen 

398
00:19:37,280 --> 00:19:39,840
Programmiersprache, das kann ich
wunderbar machen, ja, das ist 

399
00:19:39,840 --> 00:19:42,400
ein zweiter Fluchtweg, 
normalerweise hab ich ne 

400
00:19:42,400 --> 00:19:45,520
Funktion, die kriegt Argumente. 
Und die hat n Return wert. 

401
00:19:45,520 --> 00:19:48,400
Ja ja hab ich gelesen oder? 
Hier hast du das ganze File oder

402
00:19:48,400 --> 00:19:51,440
wie auch immer bei dem RE CSV 
zum Beispiel kann ich das aber 

403
00:19:51,440 --> 00:19:54,000
einfach nicht machen, weil mir 
irgendwie die Knüppel zwischen 

404
00:19:54,000 --> 00:19:56,160
die Beine geschmissen sind 
technisch, weil das File gar 

405
00:19:56,160 --> 00:19:58,160
nicht da ist brauch ich ne 
Ausnahme. 

406
00:19:58,160 --> 00:20:00,880
Ja und dann schmeiß ich eine 
Exception, so sagt man das ich 

407
00:20:00,880 --> 00:20:04,440
schmeiß eine Ausnahme da sagt 
man zum Beispiel New Error oder 

408
00:20:04,440 --> 00:20:06,880
irgendwas im im im javascript ja
und dann kann ich noch ne 

409
00:20:06,880 --> 00:20:09,200
Beschreibung reinpacken was ist 
denn mein Fehler ja. 

410
00:20:09,680 --> 00:20:11,080
Ja, hier. 
Ich wollte das File lesen, aber 

411
00:20:11,080 --> 00:20:14,080
es ist nicht da und so weiter 
und diese diese Fehler, die die 

412
00:20:14,320 --> 00:20:17,440
die Bobbeln dann quasi in die 
nächste Funktion, weil wir haben

413
00:20:17,440 --> 00:20:19,600
ja im Code ganz viel, dass 
Funktion, Funktion, Funktion 

414
00:20:19,600 --> 00:20:21,880
aufrufen, das ist ja alles 
nächste, das ist ja alles nicht 

415
00:20:21,880 --> 00:20:24,720
nur ganz einfach, es ist alles 
gut ausgedacht, ja 

416
00:20:24,720 --> 00:20:27,760
hundertprozentig kommst du als 
Entwickler ganz klar so, und 

417
00:20:27,760 --> 00:20:31,960
jetzt jetzt wirst du aufgerufen 
über ne Rest API mit dem ganzen 

418
00:20:31,960 --> 00:20:33,640
Kram. 
Ja, da kommen wunderbare 

419
00:20:33,640 --> 00:20:37,200
Exceptions an und Rest API hat 
kein Verständnis, nichts von 

420
00:20:37,200 --> 00:20:41,040
Fehlern und Ausnahmen, ne. 
Musste Mappen in Nummern, ja in 

421
00:20:41,040 --> 00:20:46,080
HTTP nummern ja 500 400 
irgendwas und so weiter die 

422
00:20:46,080 --> 00:20:48,480
ganzen Texte die da drinne sind 
in der Exception musst du 

423
00:20:48,480 --> 00:20:52,560
programmatisch umbiegen, dass 
die in dem HTTP Protokoll 

424
00:20:52,560 --> 00:20:54,760
entsprechend ankommen und so 
weiter hat ne ganz andere Idee. 

425
00:20:54,760 --> 00:20:58,960
Stack Traces gibt es nicht und 
so weiter Katastrophe ja also du

426
00:20:58,960 --> 00:21:01,440
du schmeißt einfach an dieser 
Grenze, dass du an dieser Abi 

427
00:21:01,440 --> 00:21:04,280
Grenze schmeißt du einfach die 
die Capability der 

428
00:21:04,280 --> 00:21:07,440
Programmiersprachen weg ja und 
fängst schon wieder an drüber 

429
00:21:07,440 --> 00:21:10,240
nachzudenken. 
Oh, wenn das file nicht da ist. 

430
00:21:10,240 --> 00:21:14,720
Was ist denn das für n Fehler? 
Ist das irgendwie 403 oder 407 

431
00:21:14,720 --> 00:21:16,880
oder was weiß ich? 
Da gibt es n Riesenkatalog dann 

432
00:21:16,880 --> 00:21:18,760
der ist halt vorgegeben weil es 
n Standard ist. 

433
00:21:18,760 --> 00:21:21,080
Dann musst du das Hinmappen zu 
deinen Dingern fängst du schon 

434
00:21:21,080 --> 00:21:24,120
wieder an nachzudenken als 
nächsten Pain ne einfach so pain

435
00:21:24,120 --> 00:21:26,880
so ich denk so scheiße das ich 
hab es doch schon gemacht ich 

436
00:21:26,880 --> 00:21:30,160
will es einfach nicht noch mal 
ja so plus und was ich ganz 

437
00:21:30,160 --> 00:21:32,920
kacke finde ist plus. 
Du hast ja dann, wenn du ne Rest

438
00:21:32,920 --> 00:21:34,480
API bist. 
Du bist ja auch noch am Server 

439
00:21:34,480 --> 00:21:36,560
und und das ist auch noch 
relativ viel Code, der einfach 

440
00:21:36,560 --> 00:21:39,480
gar nicht die Business Logik 
bedient, sondern einfach nur die

441
00:21:39,480 --> 00:21:43,200
Kommunikation selber, also die 
ne das etablieren der Rest AP da

442
00:21:43,200 --> 00:21:45,840
kann auch Fehler passieren und 
diese Fehlercodes werden einfach

443
00:21:46,160 --> 00:21:49,200
hart zwischengemischt da da 
kriegst du als Client kriegst du

444
00:21:49,200 --> 00:21:51,720
alles mögliche ab, ja musst du 
genau mal gucken, ist das 

445
00:21:51,720 --> 00:21:55,280
überhaupt jetzt n Fehler der der
API oder n Fehler des 

446
00:21:55,520 --> 00:21:57,040
tatsächlichen logischen 
Backends? 

447
00:21:57,040 --> 00:22:00,400
Ja find ich auch Scheiße, dass 
das alles durcheinander ist, ja.

448
00:22:01,160 --> 00:22:03,920
Aber gut ist so, ja. 
OK, das hab ich glaub ich 

449
00:22:03,920 --> 00:22:05,880
verstanden. 
Klingt jetzt so als wär restapi 

450
00:22:05,880 --> 00:22:08,440
wirklich erstmal so ne klar 
durchlässige aber irgendwie so 

451
00:22:08,440 --> 00:22:11,200
ne Mauer, die sich da in den Weg
stellt, die jetzt nicht 

452
00:22:11,200 --> 00:22:12,680
besonders. 
Für den Entwickler belassen ist 

453
00:22:12,880 --> 00:22:15,280
ja. 
Also man muss gucken ne. 

454
00:22:15,280 --> 00:22:17,760
Also wenn man ne tolle Rest AP 
hat die gut funktioniert, dann 

455
00:22:17,760 --> 00:22:19,360
ist das als Anwender schon auch 
erträglich. 

456
00:22:19,360 --> 00:22:21,120
Ja und als als Klient der 
dagegen ist. 

457
00:22:21,360 --> 00:22:24,160
Ich hab die Brille eines 
Softwareentwicklers auf heute 

458
00:22:24,200 --> 00:22:28,600
und der der wirklich 8 Stunden 
am Tag verdonnert ist Sachen 

459
00:22:28,600 --> 00:22:30,400
fertig zu kriegen. 
Und dann? 

460
00:22:30,400 --> 00:22:33,280
Dann dann kommst du, dann kommst
du diesen ganzen Stacheldraht an

461
00:22:33,360 --> 00:22:35,760
und musst musst diese einzelnen 
Dinger irgendwie alle abfräsen 

462
00:22:35,760 --> 00:22:37,760
und lösen. 
Ja, weil dein Chef im Notfall 

463
00:22:37,760 --> 00:22:40,320
interessiert sich nicht dafür, 
was du da alles für Pains hast 

464
00:22:40,320 --> 00:22:42,160
ich gerade gesagt, also will 
einfach dass es funktioniert. 

465
00:22:43,120 --> 00:22:45,680
Gut, dann komm ich zum letzten, 
da hab ich n bisschen was 

466
00:22:45,680 --> 00:22:50,680
zusammengefasst aber ich hab es 
genannt Discovery also ist n 

467
00:22:50,680 --> 00:22:53,840
gutes deutsches Wort es gibt so 
n Service Discovery heißt das 

468
00:22:53,840 --> 00:22:57,760
ist das Passwort so in der Tag 
Sprache also automatisches. 

469
00:22:58,400 --> 00:23:01,360
Erkennen, wer ist da würde ich 
sagen, ja, ist jetzt auch wieder

470
00:23:01,360 --> 00:23:03,000
n Thema was du nicht brauchst, 
wenn du weißt, dass du ne 

471
00:23:03,000 --> 00:23:05,760
Datenbank hast und so. 
Aber gib mich mal mal den Teaser

472
00:23:05,760 --> 00:23:09,600
zur IOT und so ne, also kann ja 
sein, gibt ne neue Maschine oder

473
00:23:09,600 --> 00:23:11,800
ne neue Mülltonne, manchmal sind
ja die Sachen auch sehr klein, 

474
00:23:11,800 --> 00:23:15,800
neues Device, neues IOT Device, 
das wird einfach reingerollt ja 

475
00:23:15,800 --> 00:23:18,400
ist jetzt auch da, ja und und 
dann willst du vielleicht auch 

476
00:23:18,400 --> 00:23:21,360
nicht wieder fragen wer ist 
alles da und muss ich dann und 

477
00:23:21,440 --> 00:23:23,400
und im schlimmsten Falle 
müsstest du sogar sagen Oh da 

478
00:23:23,400 --> 00:23:26,240
ist n neues Device jetzt muss 
ich noch n Stück mehr Rest API 

479
00:23:26,240 --> 00:23:28,960
schreiben. 
Und zwar muss ich jetzt als 

480
00:23:29,240 --> 00:23:31,200
Softwareentwickler noch mal 
aktiv werden auf dem Device 

481
00:23:31,200 --> 00:23:34,080
selber, was jetzt da ist. 
Und dann muss ich noch mal und 

482
00:23:34,080 --> 00:23:36,240
dann muss ich als 
Klientenbediener, also 

483
00:23:36,240 --> 00:23:38,560
derjenige, der Rest ABI bedient,
der muss es auf einmal auch noch

484
00:23:38,560 --> 00:23:42,000
wissen und muss lesen. 
Ah Version 3 der AP oder so, ja 

485
00:23:42,000 --> 00:23:43,880
oder jetzt hab ich noch mehr, 
also wenn ich gut mache, dann 

486
00:23:43,880 --> 00:23:47,840
hab ich das als Ressourcen und 
so weiter aber oft ist es noch 

487
00:23:47,840 --> 00:23:50,960
mal damit involviert, dass ich 
die, dass ich es anfassen muss, 

488
00:23:50,960 --> 00:23:53,040
ja. 
Das mein ich mit Flexibilität. 

489
00:23:53,040 --> 00:23:55,160
Ja, Discovery ist es. 
Ich sehe, dass es ist. 

490
00:23:55,160 --> 00:23:58,160
Automatisch integriert sich das 
System Service Discovery, ich 

491
00:23:58,160 --> 00:24:00,080
sehe was ist wer ist alles da, 
mit wem könnte ich 

492
00:24:00,080 --> 00:24:03,680
kommunizieren, Flexibilität ist 
ich will eigentlich gar keinen 

493
00:24:03,680 --> 00:24:05,680
Aufwand haben, weil das ist 
eigentlich das gleiche Ding noch

494
00:24:05,680 --> 00:24:08,560
mal und das muss von alleine non
intrusive so schön wie ich das 

495
00:24:08,560 --> 00:24:11,920
sage einfach eingebunden werden 
ja und dann hab ich noch n Multi

496
00:24:11,920 --> 00:24:15,080
Backend wenn man wenn man im 
Restbusiness unterwegs ist dann 

497
00:24:15,080 --> 00:24:17,200
hab ich ja immer ne direkte 
Kommunikation zwischen Client 

498
00:24:17,200 --> 00:24:20,720
und Server das heißt ich kann 
von einem Client aus gar nicht. 

499
00:24:20,920 --> 00:24:24,080
Also technisch tieftechnisch 
Entwicklermäßig kann ich nicht 

500
00:24:24,080 --> 00:24:27,720
mit mehreren Servern sprechen. 
Ne das könnte man aber wollen. 

501
00:24:27,720 --> 00:24:30,320
Ich wollte das immer, ich fänd 
es mich total toll wenn ich im 

502
00:24:30,720 --> 00:24:34,360
wenn ich in meiner in meiner UI 
quasi einen Client hätte einmal 

503
00:24:34,360 --> 00:24:37,520
authentifiziert und ich spreche 
auf einmal mit allen, mit allen 

504
00:24:37,520 --> 00:24:40,560
Dingen auf einmal wär noch Luxus
ja also für mich war das auch n 

505
00:24:40,560 --> 00:24:44,320
pain ne. 
Ganz schöne, ganz schöne Liste 

506
00:24:44,320 --> 00:24:46,440
die du da aufzählst. 
Ja, also wenn man, wenn man das 

507
00:24:46,440 --> 00:24:48,800
so hört, als nicht 
Softwareentwickler. 

508
00:24:49,120 --> 00:24:51,680
Klar, du hast das jetzt 
natürlich auch alles gut 

509
00:24:51,680 --> 00:24:54,720
zusammengefasst und und und auf 
einen Schlag und aber wenn man 

510
00:24:54,720 --> 00:24:58,040
das hört ja auch du patchst das 
genau oder bin ich jetzt mal n 

511
00:24:58,040 --> 00:25:00,400
bisschen n bisschen böse? 
Ja da könnte man so denken, Oh 

512
00:25:00,400 --> 00:25:02,000
mein Gott, wieso benutzt das 
überhaupt noch jemand? 

513
00:25:02,000 --> 00:25:03,720
Ja, aber vielleicht kann man am 
Ende das ja noch mal alles 

514
00:25:03,720 --> 00:25:05,520
einordnen, ich will dich jetzt 
nicht so lange aufhalten. 

515
00:25:06,560 --> 00:25:08,520
Ja, ja, nee, ich wollte ja auch 
jetzt wie gesagt ne, ich will 

516
00:25:08,520 --> 00:25:10,680
das nicht dissen, aber ich 
wollte, ich wollte euch einfach 

517
00:25:10,680 --> 00:25:14,640
mal so n in die Lage versetzen 
mein Bauchgefühl mitzufühlen, ja

518
00:25:14,640 --> 00:25:16,360
weil. 
Also und und und. 

519
00:25:16,360 --> 00:25:18,560
Und der Pain muss schon groß 
sein, bevor du das machst, was 

520
00:25:18,560 --> 00:25:20,760
ich dann gemacht hab. 
Ich hab überlegt wir brauchen 

521
00:25:20,760 --> 00:25:24,840
halt ne andere Art der Internet 
oder Web oder überhaupt 

522
00:25:24,840 --> 00:25:27,280
Kommunikation. 
Ja und das ist ja schon was 

523
00:25:27,280 --> 00:25:30,240
ziemlich fundamentales. 
Ja so ne Aussage zu treffen ja 

524
00:25:30,240 --> 00:25:33,440
und ich bin jetzt auch weg von 
naiv, dafür bin ich schon zu alt

525
00:25:33,840 --> 00:25:38,280
und ich weiß, dass man im in der
Softwarebranche entweder die 

526
00:25:38,280 --> 00:25:41,040
Best practices nimmt und sich 
gefälligst an den Standard hält,

527
00:25:41,040 --> 00:25:44,000
das gehört sich so ja oder wenn 
man dann was macht, dann muss 

528
00:25:44,000 --> 00:25:45,760
es. 
Dann musst du irgendwie die 

529
00:25:45,760 --> 00:25:49,480
Ärmel hochkrempeln. 
Das sehr, sehr gut machen und am

530
00:25:49,480 --> 00:25:51,760
besten auch auf Standards 
aufsetzen, die es schon gibt. 

531
00:25:52,080 --> 00:25:55,200
Ja, und dann wird es ne 
Innovation, quasi auch ne 

532
00:25:55,200 --> 00:25:58,240
tiefgründige und ich hab mir 
überlegt gut ich hatte irgendwie

533
00:25:58,640 --> 00:26:01,520
Bock und der Pain war so high, 
dass ich gesagt hab ich mache 

534
00:26:01,520 --> 00:26:04,720
das ja ich entwickel 
tatsächlich, ich versuche es mal

535
00:26:04,720 --> 00:26:09,920
und entwickel mal ne Alternative
die alle diese Pains releved 

536
00:26:10,000 --> 00:26:12,720
damit ich mal endlich ne 
Kommunikation hab die genau. 

537
00:26:13,440 --> 00:26:15,400
Die genauso funktioniert, wie 
ich es gerne hätte. 

538
00:26:15,400 --> 00:26:18,600
Ja, das war natürlich, das kann 
man sich ja wünschen und ob man 

539
00:26:18,600 --> 00:26:21,280
das dann schafft, weiß ich 
nicht, aber ich würd sagen, ich 

540
00:26:21,280 --> 00:26:23,280
bin nah dran ne, es gibt 
vielleicht immer noch hier n 

541
00:26:23,280 --> 00:26:26,760
paar mühs, aber wo es noch 
cooler sein könnte ja ich finde 

542
00:26:26,760 --> 00:26:31,360
es ist gelungen ja Mhm. 
Ein kurzer Hinweis in eigener 

543
00:26:31,360 --> 00:26:33,480
Sache. 
Kennst du das auch, dass von 

544
00:26:33,480 --> 00:26:35,680
neuer Software zur 
Digitalisierung der Produktion 

545
00:26:35,680 --> 00:26:37,920
zurückgeschreckt wird? 
Ihr seid gefangen zwischen 

546
00:26:37,920 --> 00:26:40,880
starrer, veralteter 
Standardsoftware und endlosen 

547
00:26:40,880 --> 00:26:44,240
Individualentwicklungsprojekten.
Unsere Mission bei Heisenway ist

548
00:26:44,240 --> 00:26:47,680
es, das zu beenden. 
Mit unserem App Baukasten geben 

549
00:26:47,680 --> 00:26:50,480
wir dir die Möglichkeit, 
maßgeschneiderte Software für 

550
00:26:50,480 --> 00:26:53,600
den Shopfloor schnell und ohne 
Code zu erstellen. 

551
00:26:53,920 --> 00:26:56,720
Denk an Maschinendatenerfassung 
moderne Visualisierung für die 

552
00:26:56,720 --> 00:26:59,360
Produktionsleiter oder eine 
mobile App zur Buchung von 

553
00:26:59,360 --> 00:27:03,240
Zeiten direkt am Arbeitsplatz 
und das beste du kannst deine 

554
00:27:03,240 --> 00:27:06,960
Lösungen ganz einfach ohne IT 
Aufwand selbst betreiben kurz 

555
00:27:06,960 --> 00:27:10,480
gesagt, günstiger als eine 
externe Entwicklung unendlich 

556
00:27:10,480 --> 00:27:12,240
passender als Software von der 
Stange. 

557
00:27:12,480 --> 00:27:15,680
Weitere Infos und eine 
kostenlose 30 Tage Testphase 

558
00:27:15,680 --> 00:27:19,200
findest du auf heisenware.com. 
Slash einfach minus komplex als 

559
00:27:19,200 --> 00:27:22,800
Träumhörer bieten wir dir im 
Anschluss 20% Rabatt auf alle 

560
00:27:22,800 --> 00:27:26,120
Pakete im ersten Jahr und jetzt 
viel Spaß mit der weiteren Folge

561
00:27:26,120 --> 00:27:30,440
OK, dann gut, gehen wir jetzt 
noch mal deine deine Pains 

562
00:27:30,440 --> 00:27:35,440
gestartet von Inbound los durch 
und dann sagst du mal was VPC an

563
00:27:35,440 --> 00:27:38,080
der Stelle anders macht oder wie
es das Macht oder wie hast du es

564
00:27:38,080 --> 00:27:40,800
vor? 
Ja, so könnte man es machen. 

565
00:27:40,800 --> 00:27:44,080
Ja genau richtig, ich sag noch 
eine Sache, bevor ich das tue, 

566
00:27:44,080 --> 00:27:46,000
ich find es n guten Plan, wir 
gehen jetzt noch mal einfach von

567
00:27:46,000 --> 00:27:49,040
vorne los die Pains und dann 
dann mach ich die Solutions 

568
00:27:49,040 --> 00:27:53,280
quasi dran es gibt das wissen 
alle, es hat es ja RPC dazu muss

569
00:27:53,280 --> 00:27:56,960
ich kurz 2 Worte verlieren, RPC 
ist ja im Namen drin und ich hab

570
00:27:56,960 --> 00:27:59,440
gesagt RPC gibt es ja schon und 
so ist stehender Begriff Remote 

571
00:27:59,480 --> 00:28:03,280
PCJ Calls ja das ist schon immer
ne alternative Art der 

572
00:28:03,280 --> 00:28:06,720
Kommunikation gewesen die anders
ist als zum Beispiel Rest. 

573
00:28:06,880 --> 00:28:11,520
Weil was heißt RPC heißt. 
N Remote Procedure Procedure 

574
00:28:11,520 --> 00:28:14,880
steht im Prinzip für Funktionen,
ne Funktion nämlich und welche 

575
00:28:14,880 --> 00:28:18,320
Funktion ja Funktion eigentlich 
deines, deines Backends, deiner 

576
00:28:18,320 --> 00:28:21,040
deiner Logik. 
Ja, also diese dieses Maschinen 

577
00:28:21,040 --> 00:28:24,280
zum Beispiel ist Start Motor 
oder irgendsowas ja, wenn wir 

578
00:28:24,280 --> 00:28:26,640
das jetzt mal hätten, ja wir 
haben jetzt ne ne Klasse, die 

579
00:28:26,640 --> 00:28:28,960
heißt Motor und da ist der 
funktionstart Motor, dann würde 

580
00:28:28,960 --> 00:28:32,880
im RPC Sinne tatsächlich auch 
nichts mehr gebunden und nichts 

581
00:28:32,880 --> 00:28:37,280
mehr abstrahiert und so, sondern
man würde einfach start Motor 

582
00:28:37,760 --> 00:28:40,480
aufrufen wollen. 
Und zwar von der Ferne, deswegen

583
00:28:40,480 --> 00:28:42,720
Remote. 
Also dass ich start Motor 

584
00:28:42,720 --> 00:28:44,880
aufrufen kann, wenn ich in der 
Anwendung selber bin. 

585
00:28:44,880 --> 00:28:48,000
Ja und das ist ja ist ja 
einfach, das ist ja quasi in der

586
00:28:48,480 --> 00:28:52,080
in der Programmiersprache die 
Kunst ist des RPCS ist die 

587
00:28:52,080 --> 00:28:54,960
Funktion Start Motor, die jetzt 
auch in irgendeiner 

588
00:28:54,960 --> 00:28:57,920
Programmiersprache geschrieben 
sein kann, sag mal C plus plus 

589
00:28:57,920 --> 00:29:02,120
ja weil es n altes Dingel ist. 
Keine Ahnung, ja diese Funktion 

590
00:29:02,120 --> 00:29:05,200
will ich jetzt aufrufen können. 
Von Remote, das heißt übers 

591
00:29:05,200 --> 00:29:07,280
Internet verbunden oder 
wenigstens über ein Netzwerk 

592
00:29:07,280 --> 00:29:09,200
verbunden, muss nicht unbedingt 
das Internet sein. 

593
00:29:09,600 --> 00:29:13,480
Mit einem Klienten, also einem 
anderen Programm, was irgendwie 

594
00:29:13,480 --> 00:29:16,760
eine Idee hat davon, von diesem 
Motor und diese Funktion 

595
00:29:16,760 --> 00:29:20,000
irgendwie sehen kann oder sie 
ihm vermittelt bekommen wurde 

596
00:29:20,000 --> 00:29:23,920
irgendwie, dass es die gibt und 
das ruft jetzt Start Motor auf 

597
00:29:24,480 --> 00:29:29,280
und dieser Aufruf wird quasi 
seamingly rüber gesendet zu dem 

598
00:29:29,280 --> 00:29:32,320
echt zu der echten Anwendung die
das die das wirkliche Start 

599
00:29:32,320 --> 00:29:34,800
Motor trägt. 
Und ruft es auf. 

600
00:29:35,680 --> 00:29:38,280
Und zwar kann dann dieser, der 
Aufrufende kann, ganz andere 

601
00:29:38,280 --> 00:29:40,960
Technologie sein, könnte zum 
Beispiel Java Script sein, 

602
00:29:41,200 --> 00:29:44,720
während der Aufgerufene die 
Start Motor in C plus plus 

603
00:29:44,720 --> 00:29:47,600
geschrieben ist. 
Das ist die fundamentale Idee 

604
00:29:47,600 --> 00:29:51,040
von RPC und das auch die 
fundamentale Idee von VRPC ja, 

605
00:29:51,040 --> 00:29:53,760
ich bin, muss es einfach sagen, 
ich bin einfach ein totaler 

606
00:29:53,760 --> 00:29:58,480
Verfechter von dieser Grundidee,
ja, weil diese Grundidee säuft 

607
00:29:58,480 --> 00:30:00,520
schon ein paar Paints, die, das 
könnte jetzt, da gehen wir 

608
00:30:00,520 --> 00:30:02,320
gleich noch mal durch, aber das 
könnt ihr jetzt schon sehen. 

609
00:30:02,720 --> 00:30:06,640
Weil, was fällt nämlich weg? 
Im besten falle ne ganze Menge 

610
00:30:06,640 --> 00:30:09,400
von diesen, von diesen 
Ummappings, von dieser 

611
00:30:09,400 --> 00:30:12,640
Abstraktionsschicht, ja, weil 
jetzt muss ich nämlich nicht 

612
00:30:12,640 --> 00:30:15,280
mehr den Namen mappen, das ist 
das erste, was wegfällt, ja, ich

613
00:30:15,440 --> 00:30:21,320
hab die Semantik des Backends im
Klienten, im Aufrufer, alles was

614
00:30:21,320 --> 00:30:23,840
sich der Entwickler schön 
ausgedacht hat, wie das heißen 

615
00:30:23,840 --> 00:30:28,160
soll, bleibt auch so, selbst 
wenn ich es von perne bettine. 

616
00:30:28,720 --> 00:30:31,160
Es hat aber viele Nachteile und 
so, das will ich gar nicht 

617
00:30:31,160 --> 00:30:33,400
sagen, was da geht. 
Und RPC ist auch erstmal Client 

618
00:30:33,400 --> 00:30:35,720
Server und sofort. 
Es gibt auch da können wir n 

619
00:30:35,720 --> 00:30:38,880
bisschen gleichzeitig mit drauf 
gucken, ne sehr tolle RPC 

620
00:30:38,880 --> 00:30:40,920
Bibliothek die Google mal 
initiiert hat, deswegen heißt 

621
00:30:40,920 --> 00:30:44,800
die auch GRPC nicht zu 
verwechseln mit VRPC das ist das

622
00:30:44,800 --> 00:30:47,560
der Kram den ich da auch 
rausgestellt hab, da sind viele 

623
00:30:47,560 --> 00:30:50,760
guten Gedanken drin, aber immer 
noch zu viele Pains würde ich 

624
00:30:50,760 --> 00:30:52,360
sagen ja. 
Die wir mitgenommen haben. 

625
00:30:52,480 --> 00:30:54,080
Genau da musst du mal gucken, 
wenn dich das interessiert, wie 

626
00:30:54,080 --> 00:30:55,680
das GAPC oder sowas dann gelöst 
hat. 

627
00:30:55,680 --> 00:30:57,440
Ich will das nicht zu komplex 
machen, aber wir haben ja schon 

628
00:30:57,440 --> 00:31:00,000
Rest jetzt irgendwie auf der 
Audiospur im Kopf wer bin ich da

629
00:31:00,000 --> 00:31:02,160
gerne was zu, ansonsten würd ich
es erstmal kurz weglassen 

630
00:31:02,160 --> 00:31:04,880
einfach nur erklären wie ich das
jetzt alles gelöst hab ne? 

631
00:31:05,440 --> 00:31:06,760
Ja genau, lass uns das 
vielleicht. 

632
00:31:06,760 --> 00:31:08,480
Vielleicht kannst du es am Ende 
ja sogar noch mal n bisschen 

633
00:31:08,480 --> 00:31:10,720
machen, wenn wir ne Einordnung 
machen, was könnte man wofür 

634
00:31:10,720 --> 00:31:12,600
vielleicht noch besser benutzen 
oder so ne aber erstmal. 

635
00:31:12,600 --> 00:31:14,560
Das ist ne gute Idee glaub ich. 
Dann lass uns erstmal kurz 

636
00:31:14,560 --> 00:31:16,360
verstehen was ich so gemacht hab
und dann können wir vielleicht 

637
00:31:16,360 --> 00:31:18,360
wenn wir das verstanden haben, 
noch einmal kurz gucken, wo sind

638
00:31:18,360 --> 00:31:21,200
jetzt noch die Unterschiede 
zwischen zwischen GAPC und VRPC 

639
00:31:21,200 --> 00:31:25,560
oder so ja OK gut dann Let's Go 
Inbound, hab ich zuerst gesagt 

640
00:31:25,560 --> 00:31:28,320
Mein mein größter Schmerz 
erinnert euch IT Abteilungen 

641
00:31:28,720 --> 00:31:32,880
mögen nicht angerufen zu werden 
in ihrem privaten Shopfloor und 

642
00:31:32,880 --> 00:31:35,120
in Netzwerken wie kann man das 
lösen? 

643
00:31:35,360 --> 00:31:37,520
Gerrit hat es schon 
zwischendurch MQTT gesagt, ist 

644
00:31:37,520 --> 00:31:40,280
halt auch genau das Ding. 
Ja, also wenn du nicht angerufen

645
00:31:40,280 --> 00:31:43,040
werden willst, musst du 
rauswählen, das heißt 

646
00:31:43,200 --> 00:31:45,600
Netzwerktechnisch kannst du 
nicht mehr Server sein, das ist 

647
00:31:45,600 --> 00:31:48,720
die erste Erkenntnis und das ist
mal auch nicht mehr in NVRPC 

648
00:31:48,960 --> 00:31:52,560
Netzwerktechnisch ist ja das 
Device die Maschine das IT 

649
00:31:52,560 --> 00:31:55,360
Device derjenigen den denjenigen
den ich kontrollieren will, das 

650
00:31:55,360 --> 00:31:59,560
Backend quasi im allgemeinen 
wird nen Client, das ist ne 

651
00:31:59,560 --> 00:32:03,840
krasse Änderung ja jeder Rest. 
Server, also jede API in einem 

652
00:32:03,840 --> 00:32:07,360
Rest Business, ist ein Server 
technisch tatsächlich TCP. 

653
00:32:07,360 --> 00:32:10,080
Technisch gibt den Unterschied 
zwischen Server und Client ja, 

654
00:32:10,560 --> 00:32:16,880
jetzt ist es so, in Power PC 
wird der Angerufene auch Client 

655
00:32:16,880 --> 00:32:19,840
netzwerktechnisch. 
So und jetzt kannst du aber 

656
00:32:19,840 --> 00:32:23,560
nicht mit einem Client also und 
was was du aber auch willst ist,

657
00:32:23,560 --> 00:32:27,600
dass der Anrufende ja der dir 
den Befehl abgibt startmotor. 

658
00:32:27,840 --> 00:32:29,600
Der soll jetzt aber nicht auf 
einmal Server werden. 

659
00:32:29,600 --> 00:32:31,600
Ich hab das nicht nur gedreht, 
weil das würde ja überhaupt gar 

660
00:32:31,600 --> 00:32:33,440
keinen Sinn machen. 
Also das ist ja dann noch 

661
00:32:33,440 --> 00:32:36,320
katastrophaler, weil den Server 
zu schreiben ist halt einfach 

662
00:32:36,400 --> 00:32:39,400
und aufzubringen ist halt der 
hätte dann inbound Scheiß und 

663
00:32:39,400 --> 00:32:42,640
so, der ist auch Client, der 
soll schon klein bleiben. 

664
00:32:42,640 --> 00:32:45,800
Jetzt hab ich war das Problem 
ich hab der der Angerufene und 

665
00:32:45,800 --> 00:32:49,120
der Anrufende sind beides 
Clients, das funktioniert aber 

666
00:32:49,120 --> 00:32:54,480
nicht, es ist wie 22 Stecker 
oder 2 Buchsen da. 

667
00:32:54,960 --> 00:32:56,720
So funktioniert einfach die 
Netzwerktechnik nicht. 

668
00:32:56,720 --> 00:32:58,040
Ja, das weiß jeder, der 
entwickelt hat. 

669
00:32:58,040 --> 00:33:01,440
Also wir brauchen schon noch n 
Server und jetzt die Frage, aber

670
00:33:01,600 --> 00:33:04,080
wo ist dieser Server? 
Ja und das ist die krasseste, 

671
00:33:04,320 --> 00:33:07,840
die krasseste Änderung und die 
tatsächlich krasseste, wenn man 

672
00:33:07,840 --> 00:33:10,400
das sich anguckt auch zu GRPC 
sag ich jetzt schon mal 

673
00:33:10,800 --> 00:33:14,480
architektonische Neuerung in 
VRPC es basiert auf einem 

674
00:33:14,480 --> 00:33:17,280
dritten Komponente an, nämlich 
einem Message Broker. 

675
00:33:17,760 --> 00:33:20,880
Und der Message Broker ist quasi
so ne Art man in the Middle ne 

676
00:33:21,040 --> 00:33:24,560
ein eine Art also es wird eine 
Art Sternenarchitektur, es ist 

677
00:33:24,560 --> 00:33:28,480
ein Server, der außer der quasi 
als dritte Komponente irgendwie 

678
00:33:28,480 --> 00:33:33,680
außerhalb steht und den und den 
Traffic, den die Unterhaltung 

679
00:33:33,680 --> 00:33:37,600
zwischen den 2 Klienten 
vermittelt als zentrale Instanz 

680
00:33:38,000 --> 00:33:40,720
und dieses Vermitteln, das kann 
man jetzt, das könnte man jetzt 

681
00:33:40,720 --> 00:33:42,960
alles neu erfinden, dann wäre es
uncool. 

682
00:33:42,960 --> 00:33:45,360
Ich hab ja gesagt, wenn man. 
Wenn man so Bolt ist und will 

683
00:33:45,360 --> 00:33:47,520
was Neues aufbauen, dann muss 
man wenigstens sehen, dass man 

684
00:33:47,520 --> 00:33:51,200
so viel wie es geht an Standard 
Grundkomponenten mit Reinnimmt. 

685
00:33:51,760 --> 00:33:54,640
Das hab ich gemacht und ich hab 
mich entschieden MQTT zu nehmen.

686
00:33:55,120 --> 00:33:59,400
MQTT ist n erstens n Protokoll 
für was erlaubt Publish 

687
00:33:59,400 --> 00:34:04,480
Subscribe Patterns zu lösen, 
also quasi Events von sich aus 

688
00:34:04,480 --> 00:34:08,199
gut zu managen und was 
voraussetzt einen zentralen 

689
00:34:08,199 --> 00:34:11,679
Message Broker zu haben ne und 
für Inbound ist das. 

690
00:34:11,840 --> 00:34:15,199
Key ja, weil jetzt hab ich auf 
einmal nur noch ausgehende 

691
00:34:15,199 --> 00:34:16,760
Verbindung. 
Ja diesen Message Broker, den 

692
00:34:16,760 --> 00:34:19,199
kann ich irgendwo in die Cloud 
setzen und auf einmal dürfen 

693
00:34:19,199 --> 00:34:23,760
alle Clients und sowohl der 
aufgerufene und der Aufruf finde

694
00:34:23,840 --> 00:34:27,120
die dürfen alle Outbound 
funktionieren ne und dann brauch

695
00:34:27,120 --> 00:34:29,520
ich der IT Abteilung noch sagen 
ich brauch diesen Port frei im 

696
00:34:29,520 --> 00:34:32,360
Notfall kannst du das sogar über
443 machen der Standardport der 

697
00:34:32,360 --> 00:34:35,360
ist immer frei meistens und ich 
hab überhaupt gar keinen Schmerz

698
00:34:35,360 --> 00:34:39,920
mehr volles Pain Relief an 
dieser Stelle einfach durch ne 

699
00:34:39,920 --> 00:34:43,199
komplette andere. 
Netzwerkarchitektur durch das 

700
00:34:43,199 --> 00:34:46,320
Einführen dieser zentralen 
Komponente und durch das 

701
00:34:46,320 --> 00:34:48,960
Umkehren der Server Client 
Architektur, ja. 

702
00:34:49,360 --> 00:34:52,239
Das das hat nachher noch mehr 
Vorteile, aber für das Inbound 

703
00:34:52,239 --> 00:34:56,560
List ist das ja und ich meine 
jetzt hast du aber ne extra 

704
00:34:56,560 --> 00:35:00,400
Komponente eingeführt, also es 
ist ja schon auch nen Kompromiss

705
00:35:00,400 --> 00:35:02,880
sag ich mal oder es ist ne 
gewisse Abhängigkeit die du dann

706
00:35:02,880 --> 00:35:04,840
hast von dieser extra Komponente
Broker vielleicht auch n 

707
00:35:04,840 --> 00:35:07,480
Nachteil oder die Vorteile 
bewegen einfach so stark oder 

708
00:35:07,480 --> 00:35:10,000
ist das gar kein Nachteil? 
Doch es hat immer alles vor und 

709
00:35:10,000 --> 00:35:11,880
Nachteile. 
Ja, der größte Nachteil ist 

710
00:35:11,880 --> 00:35:15,520
Latenz, weil wir haben Server 
Client sind wir quasi direkt 

711
00:35:15,520 --> 00:35:18,120
verbunden mit dem, mit dem Wir 
sprechen wollen, das heißt, wenn

712
00:35:18,120 --> 00:35:20,600
ich das Paket rüber schicke ist 
das relativ zügig da und wenn 

713
00:35:20,600 --> 00:35:22,720
der die Antwort schickt ist die 
auch relativ zügig da. 

714
00:35:22,960 --> 00:35:26,640
Im GAPC gibt es sogar die machen
das mit HTTP 2, die können sogar

715
00:35:26,640 --> 00:35:30,240
gleichzeitig schicken und 
senden, das ist n sogenanntes 

716
00:35:30,240 --> 00:35:34,080
Duplex Protokoll ne also ist 
quasi wieder der der Zug der 

717
00:35:34,080 --> 00:35:35,920
fährt hin und der andere fährt 
schon zurück und die treffen 

718
00:35:35,920 --> 00:35:37,600
sich irgendwo in der Mitte das 
wo das Kabel ist. 

719
00:35:38,000 --> 00:35:40,880
Mal bildlich gesprochen, ja, 
während mit mit meinem Broker 

720
00:35:40,880 --> 00:35:44,720
jetzt in der Mitte es ist. 
Es ist es weder so, dass da 2 

721
00:35:44,720 --> 00:35:47,640
Züge gleichzeitig fahren, noch 
das stimmt nicht ganz, wenn ich 

722
00:35:47,640 --> 00:35:49,600
zum Beispiel aufrufe, dann 
schick ich ja das erst mal. 

723
00:35:49,600 --> 00:35:53,240
Zum Message Broker ist der erste
Hop das Paket, der muss gucken, 

724
00:35:53,240 --> 00:35:57,360
wo soll denn das überhaupt hin? 
Ja der muss das Routen, ja das 

725
00:35:57,360 --> 00:36:00,440
macht nur sogenannte Topics und 
da steht quasi drin mit wem will

726
00:36:00,440 --> 00:36:03,080
ich überhaupt sprechen später 
wenn ihr das Geroutet habt, dann

727
00:36:03,080 --> 00:36:06,560
schickt ihr das noch mal weiter 
ja zweiter Hop ja das heißt ich 

728
00:36:06,560 --> 00:36:10,920
erzeuge. 
Ne dauerhafte Verlangsamung des 

729
00:36:10,920 --> 00:36:14,240
Transports der Nachrichten ja um
Millisekunden. 

730
00:36:14,560 --> 00:36:17,200
Ich sag aber wir haben es wird 
immer so schnell, also die 

731
00:36:17,200 --> 00:36:19,600
Hardware und das Internet und 
die Netzwerkverbindungen ja 

732
00:36:20,000 --> 00:36:23,280
konstant besser und nicht 
schlechter, deswegen sag ich das

733
00:36:23,280 --> 00:36:27,560
ist n akzeptables akzeptables 
Down ja das ist n Nachteil ganz 

734
00:36:27,560 --> 00:36:29,800
klar so und und das zweite 
Nachteil ist an der Stelle du 

735
00:36:29,800 --> 00:36:33,040
hast gefragt nach den Nachteilen
ist du hast ein ja wie ich für 

736
00:36:33,040 --> 00:36:35,160
ne Komponente ein und die ist 
auch noch Single Point of Fail 

737
00:36:35,160 --> 00:36:37,840
ja. 
Weil alle Kommunikation jetzt 

738
00:36:37,840 --> 00:36:42,480
mit VRPC, also wenn du nur einen
nimmst, ja und wenn du in in 

739
00:36:42,480 --> 00:36:45,040
diesem Raum kommunizieren 
willst, dann hast du halt quasi 

740
00:36:45,040 --> 00:36:47,960
einen Message Broker. 
Und ja, der ist natürlich, der 

741
00:36:47,960 --> 00:36:50,480
ist alleine, ja den kannst du 
nicht skalieren, stimmt aber 

742
00:36:50,480 --> 00:36:53,360
auch nicht, also logisch wäre 
der alleine auf dem Bild auf dem

743
00:36:53,360 --> 00:36:55,320
Blatt Papier aufmals hast du n 
Stern in der Mitte ist der 

744
00:36:55,320 --> 00:36:57,800
Message Broker und dann hast du 
verteilt die ganzen Kringel die 

745
00:36:57,800 --> 00:37:00,200
alle miteinander sprechen 
technisch kannst du das auch 

746
00:37:00,200 --> 00:37:02,840
wieder machen wenn im Q zum 
Beispiel wunderbar ja kannst du 

747
00:37:02,840 --> 00:37:05,360
irgendwie logisch den Broker 
aussehen lassen als einen. 

748
00:37:05,840 --> 00:37:08,400
Und faktisch sind das ganz viele
Notes, wenn man sagt, also 

749
00:37:08,400 --> 00:37:13,640
verschiedene Hardware Server die
das übernehmen, ne, also das 

750
00:37:13,640 --> 00:37:15,360
hatten, da hatten wir auch ne 
Folge, hört euch die gerne an, 

751
00:37:15,360 --> 00:37:18,680
super spannend von mit MQTT mit 
Hive MQ Entschuldigung Hive MQ 

752
00:37:18,680 --> 00:37:20,400
ist nämlich die Firma die 
dahinter steht, die Wissen wie 

753
00:37:20,400 --> 00:37:23,040
man genau dieses Problem, das 
haben die nämlich auch weil das 

754
00:37:23,040 --> 00:37:26,040
sind die MQTT Experten wie man 
das gut beseitigt, ja das ist 

755
00:37:26,040 --> 00:37:28,680
gelöst. 
Also gibt es gibt es das Problem

756
00:37:28,680 --> 00:37:30,960
nicht nur auf dem Papier. 
Jetzt muss ich doch noch kurz 

757
00:37:30,960 --> 00:37:32,800
eine Frage stellen dazu, auch 
wenn das jetzt alles n bisschen 

758
00:37:32,800 --> 00:37:36,560
länger dauert, kann ich jetzt. 
Wenn ich VRPC nutze beliebige 

759
00:37:36,800 --> 00:37:40,880
MQTT Broker nutzen zum Beispiel.
Gute Frage. 

760
00:37:40,880 --> 00:37:43,520
Ja, weil ich nichts Spezial 
gemacht hab. 

761
00:37:43,520 --> 00:37:46,120
Genau du kannst. 
Du kannst den IFMQ Server nehmen

762
00:37:46,120 --> 00:37:48,600
und das ist zum Beispiel cool. 
Es gibt von IFMQ ich ich mach 

763
00:37:48,600 --> 00:37:51,280
mal kurz n bisschen Werbung, 
aber Kollegen sind total nett, 

764
00:37:51,800 --> 00:37:54,480
die haben sogar n freien Broker 
ja das heißt du musst eigentlich

765
00:37:54,480 --> 00:37:56,960
diese dritte Komponente noch 
nicht mal bedenken, du kannst 

766
00:37:56,960 --> 00:38:00,200
einfach VRPC benutzen und tippst
halt quasi als Server, das musst

767
00:38:00,200 --> 00:38:02,880
du eintippen im Protokoll ist ne
Konfiguration welchen Broker 

768
00:38:02,880 --> 00:38:05,680
willst du nehmen? 
Erstens kann das kann das 

769
00:38:05,680 --> 00:38:10,160
Moskito sein, Burn, MQ, hif, MQ,
alles alle die das ist ja ein 

770
00:38:10,160 --> 00:38:12,320
Standard, alle die diesen 
Standard ordentlich 

771
00:38:12,320 --> 00:38:16,320
implementieren, es geht sogar 
mit dem alten 3.1.1 nutzt VRPC 

772
00:38:16,480 --> 00:38:19,160
funktioniert einfach ja und das 
heißt du kannst auch einfach den

773
00:38:19,160 --> 00:38:22,600
freien Broker von von Hif MQ 
nehmen, der ist immer da, der 

774
00:38:22,600 --> 00:38:25,400
ist highly available eigentlich 
und es funktioniert schon mal. 

775
00:38:25,400 --> 00:38:28,160
Ja würde ich jetzt nicht für 
Produktion irgendwie raten weil 

776
00:38:28,160 --> 00:38:31,600
es gut wir wissen ja wenn es 
nichts kostet dann. 

777
00:38:31,920 --> 00:38:34,280
Na ja, aber easy. 
Ja, kannst du ja auch bei Hifum 

778
00:38:34,280 --> 00:38:35,240
Q. 
Wenn du keinen Bock hast auf n 

779
00:38:35,240 --> 00:38:37,720
Broker selber schmeißt die 
Münzen ein, bei Hifum Q kriegst 

780
00:38:37,720 --> 00:38:40,560
du einen oder wenn du keinen 
Bock hast auf Broker ziehst du 

781
00:38:40,560 --> 00:38:43,800
den Dockercontainer mit nem 
Broker drinne bis nach 5 Minuten

782
00:38:43,800 --> 00:38:45,760
hast du n Broker ja und du musst
nichts machen, den musst du 

783
00:38:45,760 --> 00:38:48,800
nicht konfigurieren, der kommt 
einfach hoch fertig ja und los 

784
00:38:48,800 --> 00:38:50,720
geht es ja. 
Also es ist jetzt zwar ne neue 

785
00:38:50,720 --> 00:38:54,160
Komponente aber der Aufwand die 
irgendwie ins Leben zu rufen ist

786
00:38:54,640 --> 00:38:57,360
echt minimal. 
Ja gibt keinen Kane dabei. 

787
00:38:57,920 --> 00:38:59,760
OK. 
Gut, das inline Thema ist dann 

788
00:38:59,760 --> 00:39:02,000
jetzt erstmal gelöst. 
Würde ich sagen, vollständig 

789
00:39:02,000 --> 00:39:04,640
gelöster, genau nächster Pain 
den ich gesagt hatte. 

790
00:39:04,640 --> 00:39:07,680
Punkt 2 war das Mapping und hier
die Semantik und so weiter ne 

791
00:39:07,680 --> 00:39:11,040
Crat die ganzen blöden Wörter 
und Vokabeln, das machen wir 

792
00:39:11,040 --> 00:39:14,000
jetzt schnell, weil das hab ich 
gerade schon gesagt als ich RPC 

793
00:39:14,000 --> 00:39:16,960
erklärt hab, das ist halt 
einfach gelöst damit, dass man, 

794
00:39:17,520 --> 00:39:22,240
dass man bei RPC kein Mapping 
hat und bei VRPC erst recht 

795
00:39:22,240 --> 00:39:24,440
nicht, ja. 
Und hole dich jetzt doch noch 

796
00:39:24,440 --> 00:39:26,440
mal kurz aus. 
Das heißt, ich kann einfach als 

797
00:39:26,440 --> 00:39:29,120
Entwickler mein Backend 
schreiben, in der Sprache, auf 

798
00:39:29,120 --> 00:39:31,000
die ich Bock hab. 
Ja, also am besten funktioniert 

799
00:39:31,000 --> 00:39:33,200
es da jetzt auch gleich auf 
Tonspur im No JS. 

800
00:39:33,600 --> 00:39:36,800
So, jetzt kann ich einfach no JS
hingehen, schreibt ne Klasse ja 

801
00:39:37,040 --> 00:39:40,400
class Motor zum Beispiel ja dem 
gebe ich alle Funktionen die ich

802
00:39:40,400 --> 00:39:43,120
so hab Bock hab ja die und die 
Funktion die benenn ich schön ja

803
00:39:43,360 --> 00:39:45,800
und die machen ganz verschiedene
Sachen ja manche starten 

804
00:39:45,800 --> 00:39:47,440
irgendwas, manche stoppen 
irgendwas, manche geben 

805
00:39:47,440 --> 00:39:49,360
irgendwas zurück, lesen 
irgendwelche Parameter aus was 

806
00:39:49,360 --> 00:39:51,520
weiß ich ja und es muss nicht 
nur Motor sein, es kann 

807
00:39:51,600 --> 00:39:54,880
irgendwas sein also die. 
Jetzt was ich sagen will ist 

808
00:39:55,200 --> 00:39:56,800
Programmier einfach auf was du 
Bock hast. 

809
00:39:56,800 --> 00:40:00,480
Einfach in no GS. 
Ja und das ist total horizontal.

810
00:40:00,480 --> 00:40:05,760
Ja und jetzt das VR PC 
versprechen ist non intrusive 

811
00:40:06,000 --> 00:40:09,360
also nicht. 
Also du musst dich vergiss mal 

812
00:40:09,360 --> 00:40:12,520
VR PC mach mal erstmal dein 
Business fertig ja und wenn das 

813
00:40:12,520 --> 00:40:15,440
funktioniert dann kannst du 
jetzt sagen okay das wäre aber 

814
00:40:15,440 --> 00:40:18,960
cool wenn ich das von der Ferne 
ausrufen könnte und das kannst 

815
00:40:18,960 --> 00:40:22,480
du indem du quasi diese klasse 
oder den Code. 

816
00:40:23,120 --> 00:40:26,320
Mal den du da geschrieben hast, 
registrierst da. 

817
00:40:26,320 --> 00:40:30,760
Da gibt es eine Komponente in 
Vrpc, die heißt Adapter und man 

818
00:40:30,760 --> 00:40:32,240
kann sich wirklich auch 
vorstellen wie ein Adapter. 

819
00:40:32,240 --> 00:40:35,040
Du hast den ganz normalen Code, 
der muss nicht vorbereitet 

820
00:40:35,040 --> 00:40:39,120
werden auf auf Vrpc, der muss 
noch nicht mal ein Requirement 

821
00:40:39,120 --> 00:40:43,920
sein, in einem anderen weiteren 
Pfeil kannst du sagen, so jetzt 

822
00:40:43,920 --> 00:40:46,880
lad mir den, gib mir mal den 
Vrpc Adapter vrpc ist eine 

823
00:40:46,880 --> 00:40:50,560
Bibliothek für no ts und 
adaptiere diese klasse. 

824
00:40:51,120 --> 00:40:53,360
Und was jetzt passiert ist, ist 
pure Magie. 

825
00:40:53,360 --> 00:40:56,320
Das ist das, wo ich geschützt 
hab, als ich VAPC gemacht hab. 

826
00:40:56,720 --> 00:40:59,520
Jetzt nutze ich quasi, und das 
ist für jede Programmiersprache 

827
00:40:59,520 --> 00:41:03,360
anders, die sogenannte 
Reflection Reflection ist, die 

828
00:41:03,360 --> 00:41:07,200
man nennt, Reflection ist NN, 
Fachwort aus der 

829
00:41:07,200 --> 00:41:11,720
Softwareentwicklung, Reflection 
heißt mit der Programmiersprache

830
00:41:11,720 --> 00:41:15,360
selber finde ich raus was 
programmiert wurde, also so n 

831
00:41:15,360 --> 00:41:17,400
bisschen wie tatsächlich 
Reflektion da ich reflektiere 

832
00:41:17,400 --> 00:41:20,160
selber über mich ja also die ne,
so kann man sich, deswegen heißt

833
00:41:20,160 --> 00:41:22,880
es so ja. 
Also man reflektiert quasi mit 

834
00:41:22,880 --> 00:41:24,960
der Programmiersprache. 
Was hab ich eigentlich alles, 

835
00:41:24,960 --> 00:41:27,320
das kann man machen und das 
Macht der Adapter, der sagt 

836
00:41:27,320 --> 00:41:30,640
quasi Hey in dem in der 
Anwendung die ich jetzt hier 

837
00:41:30,640 --> 00:41:33,480
gerade habe, was hat denn der, 
was ist denn da alles zur 

838
00:41:33,480 --> 00:41:35,960
Verfügung, welche Klassen gibt 
es und welche Methoden haben die

839
00:41:35,960 --> 00:41:39,040
Klassen, welche sind statisch, 
welche sind normal und so weiter

840
00:41:39,040 --> 00:41:41,760
das kannst du alles machen ne 
das Macht der Adapter um 

841
00:41:41,760 --> 00:41:44,720
rauszufinden was da ist und wie 
es wie es heißt und was der 

842
00:41:44,720 --> 00:41:48,960
Adapter auch macht, sogar der 
liest sogar die Kommentare von 

843
00:41:48,960 --> 00:41:50,880
den Codes. 
Und alles das wird 

844
00:41:50,880 --> 00:41:54,080
zusammengepackt und das wird das
Interface, das wird quasi 

845
00:41:54,080 --> 00:41:58,240
rausgeschickt an den Message 
Broker und der und dann und dann

846
00:41:58,240 --> 00:42:02,840
kann jeder Client kann sehen, ah
guck mal auf diesem auf diesem 

847
00:42:02,840 --> 00:42:05,840
Agenten, also in diesem Programm
was da läuft, gibt es die klasse

848
00:42:05,840 --> 00:42:09,880
Motor und die hat die Funktion 
salalalalü und nicht nur hat das

849
00:42:09,880 --> 00:42:12,480
die Funktion, sondern da war 
sogar ne Dokumentation dran. 

850
00:42:12,480 --> 00:42:15,440
Die Argumente der Funktion 
heißen so und so sind optional 

851
00:42:15,440 --> 00:42:17,520
oder und so weiter haben die 
Datentypen so und so. 

852
00:42:17,840 --> 00:42:21,320
Das heißt, wir haben eine 
vollkommene, ein vollkommenes, 

853
00:42:21,320 --> 00:42:25,600
komplettes Abbild mit voller 
Beschreibung vom Backend, so wie

854
00:42:25,600 --> 00:42:27,680
es ist, so wie es der Entwickler
einmal gemacht hat. 

855
00:42:27,760 --> 00:42:30,560
Je besser der das gemacht hat, 
je schöner der das benannt hat, 

856
00:42:30,560 --> 00:42:34,000
je mehr Kommentare der dran 
gemacht hat, desto toller wird 

857
00:42:34,000 --> 00:42:38,400
die API, quasi die VR PC API für
denjenigen, der den irgendwann 

858
00:42:38,400 --> 00:42:40,600
mal von Remote aufruft, da der 
muss den überhaupt noch nicht 

859
00:42:40,600 --> 00:42:42,720
gekannt haben. 
Ja und jetzt kommt jetzt nehme 

860
00:42:42,720 --> 00:42:46,040
ich 1 voraus Discovery. 
Es kommt nicht immer an der 

861
00:42:46,040 --> 00:42:48,280
Stelle mit, weil und weil 
einfach, wenn ich das Anmache 

862
00:42:48,280 --> 00:42:50,360
mit dem Adapter und dann gibt es
jetzt noch den Agent. 

863
00:42:50,360 --> 00:42:53,120
Der Adapter ist quasi nur im 
Code, der macht diese Reflexion 

864
00:42:53,280 --> 00:42:56,320
und im Prinzip macht er sowas 
wie ne automatische Erstellung 

865
00:42:56,320 --> 00:42:58,880
der Rest API wo man es jetzt 
noch mal da vergleichen würde, 

866
00:42:59,040 --> 00:43:02,080
er erstellt quasi die 
Schnittstelle und der Agent der 

867
00:43:02,080 --> 00:43:05,360
sagt so und jetzt stell ich dich
online der macht die MQTT 

868
00:43:05,360 --> 00:43:08,640
Verbindung ja und ich stell dich
nicht nur online sondern ich 

869
00:43:08,640 --> 00:43:11,280
sage auch, dass du da bist und 
alle dürfen das sehen, ne? 

870
00:43:11,440 --> 00:43:14,640
Der Adapter ist so ne Art 
Crawler auf dem Stück Code was 

871
00:43:14,640 --> 00:43:18,240
da vorhanden ist und versteht, 
das kann man sagen, von vorne 

872
00:43:18,240 --> 00:43:22,200
bis hinten und ja tatsächlich 
erstellt dann automatisch ne 

873
00:43:22,200 --> 00:43:25,280
mindestens mal Beschreibung. 
Nee nicht nur ne Beschreibung 

874
00:43:25,280 --> 00:43:29,400
dieser dieses ja dieses Codes 
oder dieses was dort ist, 

875
00:43:29,520 --> 00:43:31,800
sondern gleichzeitig auch noch 
die Schnittstelle, also er sagt 

876
00:43:31,800 --> 00:43:33,840
nicht nur das ist da, sondern er
sagt dir gleichzeitig wie ich es

877
00:43:33,840 --> 00:43:36,160
aufrufen kann, weil du es ja 
aufrufen kannst mit den 

878
00:43:36,160 --> 00:43:38,320
Originalnamen quasi ne. 
Genau, ja. 

879
00:43:38,640 --> 00:43:40,080
OK, und jetzt kommt der nächste 
Clou. 

880
00:43:40,080 --> 00:43:42,560
Er sagt zwar, wie man es 
aufrufen kann, aber das krasse 

881
00:43:42,560 --> 00:43:45,320
ist, jetzt muss ich ja jetzt 
gehen wir mal rüber, jetzt haben

882
00:43:45,320 --> 00:43:47,440
wir die Seite verstanden die 
adaptiert wird, also die die ich

883
00:43:47,440 --> 00:43:49,880
aufrufen möchte gehen wir mal 
kurz auf die andere Seite wie 

884
00:43:49,880 --> 00:43:53,280
wie würde es denn aussehen für 
den der aufruft das ist auch ne 

885
00:43:53,280 --> 00:43:55,400
Komponente, ich hab ja gesagt 
Adapter das ist das ist der 

886
00:43:55,400 --> 00:43:59,040
Crawler richtig dann haben wir 
den Agent, der stellt quasi das 

887
00:43:59,040 --> 00:44:01,760
Ding mit MQTT zur Verfügung, 
sodass es aufgerufen werden 

888
00:44:01,760 --> 00:44:04,040
kann, der der macht ja quasi die
stehende Verbindung, den 

889
00:44:04,040 --> 00:44:07,680
Telefonanruf stellt er zum 
Verfügung zum Broker und jetzt 

890
00:44:07,680 --> 00:44:10,080
hab ich ja. 
Beliebig viele Klienten, die den

891
00:44:10,080 --> 00:44:11,920
Aufrufen können, die können 
kommen und gehen. 

892
00:44:12,400 --> 00:44:15,120
Aber wie sieht der Klient aus? 
Das ist der vrpc Klient, das ist

893
00:44:15,120 --> 00:44:17,400
die dritte Komponente, das sind 
3 wichtige Komponenten, die es 

894
00:44:17,400 --> 00:44:22,400
da gibt, den Klienten, den 
Agenten und den Adapter, Adapter

895
00:44:22,400 --> 00:44:26,640
und Agent arbeiten zusammen auf 
der bilden quasi den Aufrufenden

896
00:44:26,640 --> 00:44:32,160
ab und der vrpc Klient, das ist 
der Aufrufende und der Klient 

897
00:44:32,160 --> 00:44:36,080
ist auch da für jede 
Programmtechnologie ja. 

898
00:44:36,400 --> 00:44:38,800
Du musst jetzt, musst den 
Agenten, wenn der Note JS 

899
00:44:38,800 --> 00:44:42,400
geschrieben ist, muss es nicht 
ein Note JS client sein, der den

900
00:44:42,400 --> 00:44:43,760
aufruft. 
Kann irgendein Client sein, 

901
00:44:43,760 --> 00:44:45,200
irgendeine Sprache die du Bock 
hast? 

902
00:44:45,200 --> 00:44:47,920
Ja wo du dich wohlfühlst. 
Manchmal sind ja die Frontend 

903
00:44:47,920 --> 00:44:49,880
Entwickler, das sind 
typischerweise die Frontend 

904
00:44:49,880 --> 00:44:53,320
Entwickler die den Aufrufen 
andere anderes Gesortet als die 

905
00:44:53,320 --> 00:44:55,200
Backend Entwickler, die haben 
verschiedene Programmiersprachen

906
00:44:55,200 --> 00:44:57,800
das das schicke ich kann das 
jetzt mixen ne aber wie sieht 

907
00:44:57,800 --> 00:45:00,880
der Client aus? 
Das krasse ist wenn ich jemanden

908
00:45:00,880 --> 00:45:03,080
aufrufe dann bin ich dann mach 
ich das am liebsten ja auch so 

909
00:45:03,080 --> 00:45:04,920
wie ich es kenne als Entwickler 
und was kann ich denn als 

910
00:45:04,920 --> 00:45:08,000
Entwickler ja mein Code ja. 
Jetzt gibt es Proxy Objekte. 

911
00:45:08,000 --> 00:45:12,080
Ich hab quasi mit VRPC einen 
digitalen Zwilling des Codes 

912
00:45:12,080 --> 00:45:14,640
geschrieben. 
Ja, wenn die klasse Motor hieß, 

913
00:45:14,880 --> 00:45:18,560
dann kannst du jetzt mit dem 
VRPC Klienten diese klasse Motor

914
00:45:18,560 --> 00:45:22,560
instanzieren ne Instanz machen 
ne als wäre sie in deinem Code 

915
00:45:22,560 --> 00:45:27,040
drin, genauso wie du es machst. 
Ja mit dem Code ohne Schnörkel 

916
00:45:27,040 --> 00:45:30,960
ja und du rufst einfach diese 
Funktion auf und es funktioniert

917
00:45:30,960 --> 00:45:33,360
einfach und die Funktion ist so 
als hättest du die. 

918
00:45:33,760 --> 00:45:36,480
Direkt neben dir aufgerufen, 
dass das ein Netzwerktraffic 

919
00:45:36,480 --> 00:45:38,640
Macht, zum Broker geht, 
aussortiert wird, das aufruft, 

920
00:45:39,040 --> 00:45:41,720
da den Returnwert abholt, der 
wieder zurückkommt und dir den 

921
00:45:41,720 --> 00:45:43,680
Returnwert Reinspielt, kriegst 
du alles nicht mit, es passiert 

922
00:45:43,680 --> 00:45:47,920
einfach, das ist das Ultrakrasse
daran, du kannst einfach 

923
00:45:47,920 --> 00:45:51,520
programmieren, als ob du in 
einer Anwendung bist. 

924
00:45:51,520 --> 00:45:54,160
Monolith, aber es ist krass 
verteilter. 

925
00:45:54,760 --> 00:45:56,400
Das hab ich verstanden. 
Das klingt ziemlich cool und ich

926
00:45:56,400 --> 00:45:58,360
kenn das ja auch irgendwie so 
bei uns, ich, ich, ich hab ja 

927
00:45:58,360 --> 00:46:00,000
die ganze Zeit n Bild im Kopf 
wie das so aussieht. 

928
00:46:00,000 --> 00:46:02,360
Was sind Produkte auch und so 
was das bedeutet wenn da jetzt n

929
00:46:02,360 --> 00:46:05,160
Agent an ist und dann plötzlich 
sind da die Funktionen exposed 

930
00:46:05,160 --> 00:46:07,360
und dann kann ich einfach 
aufrufen in irgendwelchen 

931
00:46:07,360 --> 00:46:09,680
anderen Netzwerken so das kann 
man sich ja bei uns alles 

932
00:46:09,680 --> 00:46:12,680
ansehen und ich mach das ja auch
aber jetzt Devils advocard ja 

933
00:46:12,680 --> 00:46:15,840
also jetzt muss ich ja schon 
alles Mögliche an Funktionen 

934
00:46:15,840 --> 00:46:18,640
kennen in diesen ganzen 
verteilten Dingen die ich da so 

935
00:46:18,640 --> 00:46:21,040
angebunden habe. 
Also alle möglichen Funktionen 

936
00:46:21,040 --> 00:46:22,160
ne. 
Also ich muss schon wissen was 

937
00:46:22,160 --> 00:46:23,680
die dann tun. 
Ich hab nicht so ne Art 

938
00:46:23,680 --> 00:46:26,880
Abstraktion drinne die 
vielleicht runtergebrochen auf 4

939
00:46:27,280 --> 00:46:29,560
werben, auch wenn die vielleicht
zu wenig sind mir eigentlich 

940
00:46:29,560 --> 00:46:31,040
sagen was man da so tun kann, 
ne? 

941
00:46:31,520 --> 00:46:33,200
Ja, was wäre denn der Mehrwert, 
wenn du das hättest? 

942
00:46:33,200 --> 00:46:35,440
Gibt es nicht. 
Ja, weil du willst. 

943
00:46:35,520 --> 00:46:38,560
Ja weil du willst ja komplexe 
Sachen mit deinem Backend machen

944
00:46:38,560 --> 00:46:41,680
und du willst es nicht 
abstrahieren, ne du willst und 

945
00:46:41,680 --> 00:46:44,320
es gibt auch nichts zu 
abstrahieren ne weil weil das du

946
00:46:44,320 --> 00:46:47,440
das ist ne 1 zu 1 Übersetzung 
das dessen was da ist ja. 

947
00:46:48,160 --> 00:46:49,520
Und das nutzt du oder nutzt du 
nicht? 

948
00:46:49,520 --> 00:46:51,240
Du musst ja die nutzen. 
Ja, du kannst ja auch, also du 

949
00:46:51,240 --> 00:46:53,440
hast alle Funktionen da, aber 
wie du sie nutzt und so ist ja 

950
00:46:53,440 --> 00:46:56,320
völlig frei. 
Ja genau, also da, da gibt es 

951
00:46:56,320 --> 00:46:58,200
überhaupt gar keinen Pain, das 
ist einfach nur Release. 

952
00:46:58,240 --> 00:47:01,040
Ja das ist einfach so schön und 
wenn wenn ich das sehe wenn wir 

953
00:47:01,040 --> 00:47:03,640
Frontend entwickeln und die 
Backend Entwickler, also wir 

954
00:47:03,640 --> 00:47:07,360
sind alle hier Full Stack n 
bisschen aber du musst halt also

955
00:47:07,360 --> 00:47:09,240
bis wir ne neue Funktion 
reinschreiben du sagst du kennst

956
00:47:09,240 --> 00:47:10,960
das ja weil wir auch noch die 
Funktion dann grafisch 

957
00:47:10,960 --> 00:47:12,920
darstellen ja du kannst ja sogar
bei uns, das ist ja das 

958
00:47:12,920 --> 00:47:16,800
heisenware coole, aber das löst 
sich halt auch nur durch VRPC. 

959
00:47:17,200 --> 00:47:19,160
Wir sehen ja sogar die 
Funktionen grafisch ja, aber 

960
00:47:19,160 --> 00:47:22,240
sogar programmiertechnisch wenn 
du was Neues machen willst, ja 

961
00:47:22,240 --> 00:47:24,480
dann dann programmierst du 
einfach ganz plain in deinem 

962
00:47:24,480 --> 00:47:27,600
Backend hin, was du Bock hast. 
Adaptierst das mit dann das ist 

963
00:47:27,600 --> 00:47:31,120
eine Zeile Code wo du sagst 
Register VAPC Adapter Punkt 

964
00:47:31,120 --> 00:47:34,840
Register my Code ja und schon 
kannst du es aufrufen im 

965
00:47:34,840 --> 00:47:39,240
Frontend benutzen ne es ist halt
vom Developer Speed und Releave 

966
00:47:39,680 --> 00:47:42,720
der ist halt gigantisch ja wenn 
du überlegen müsstest wenn du 

967
00:47:42,720 --> 00:47:45,280
das jetzt wenn wenn du jetzt ne 
Rest API hast, dann musst du 

968
00:47:45,280 --> 00:47:47,160
erstmal. 
Ja, dann musst du erstmal deinen

969
00:47:47,160 --> 00:47:49,560
Code mappen in die Rest API, 
dann musst du neue Dokumentation

970
00:47:49,560 --> 00:47:52,040
der Rest API schreiben, dann 
musst du die Fehlercodes mappen 

971
00:47:52,040 --> 00:47:53,840
und so weiter den ganzen Scheiß 
den ich dir vorher gesagt hab 

972
00:47:54,080 --> 00:47:56,320
und dann geht es erst los ja und
dann musst du im Kleinen 

973
00:47:56,320 --> 00:47:58,840
verstehen ah die heißt Rest API 
ist neu muss ich mir rausholen, 

974
00:47:58,840 --> 00:48:00,160
du musst dir alles zurückmappen 
und so. 

975
00:48:01,040 --> 00:48:03,080
Kannst du nicht. 
Also das ist einfach nicht ja 

976
00:48:03,080 --> 00:48:05,120
dazwischen. 
Ja, es ist Fiat gegen delorean 

977
00:48:05,120 --> 00:48:07,440
weiß ich nicht, aber gut, das 
muss ich jetzt sagen, es war 

978
00:48:07,440 --> 00:48:08,560
jetzt wieder gepitcht, 
Entschuldigung. 

979
00:48:09,640 --> 00:48:11,840
Ja, absolut richtig. 
Ja, ich bin ja nur hier um das 

980
00:48:11,840 --> 00:48:13,200
auch n bisschen versuchen 
rauszukitzen. 

981
00:48:13,200 --> 00:48:15,360
Also also der größte Pain 
Releave ist halt echt beim 

982
00:48:15,360 --> 00:48:18,600
Developer und einfach der Speed.
Ja und die die Flexibilität, die

983
00:48:18,600 --> 00:48:21,320
Dynamik die du reinkriegst. 
So und jetzt wo wir da sind muss

984
00:48:21,320 --> 00:48:23,920
ich komm ich jetzt zum nächsten 
Thema der nächste Pain war Event

985
00:48:23,920 --> 00:48:27,360
ja der passt hervorragend jetzt 
da rein müssen wir auch noch mal

986
00:48:27,360 --> 00:48:30,040
kurz angucken weil. 
Jetzt ist es auch so, das musst 

987
00:48:30,040 --> 00:48:32,160
du auch verstehen. 
Gehört in der Programmiersprache

988
00:48:32,160 --> 00:48:34,520
selber. 
Also wenn du codest, dann kannst

989
00:48:34,520 --> 00:48:37,160
du ja alle Patterns machen. 
Ja, also wir sind jetzt weg von 

990
00:48:37,160 --> 00:48:39,120
Netzwerk Patterns. 
Ja beim Netzwerk gibt es halt 

991
00:48:39,120 --> 00:48:42,480
immer dieses Ding Request 
Response Publish und Subscribe 

992
00:48:42,480 --> 00:48:45,400
und so das kennt man ja diese 
Patterns ja oder oder Worker und

993
00:48:45,400 --> 00:48:49,040
Slave und so ja im Code selber 
machst du das den ganzen Tag für

994
00:48:49,040 --> 00:48:51,720
den Entwickler ist das völlig 
klar, entweder rufst du mal was 

995
00:48:51,720 --> 00:48:55,360
direkt auf ja sowas wie was weiß
ich Set entry oder Irgendsowas 

996
00:48:55,360 --> 00:48:58,560
so dann Datenstrukturen oder. 
Da wo du sagst Funktionen, 

997
00:48:58,640 --> 00:49:00,960
alter, Ruf mich zurück, wenn 
wenn du irgendwas gelesen hast 

998
00:49:00,960 --> 00:49:03,600
und sofort ja, also da gibt es 
diese ganzen Patterns. 

999
00:49:03,600 --> 00:49:07,720
Ja und The Note JS ist es sogar 
noch noch viel cooler als in 

1000
00:49:07,720 --> 00:49:11,560
anderen Sprachen, da gibt es den
sogenannten Event Emitter als 

1001
00:49:11,560 --> 00:49:14,880
Objekt, als Teil der 
Programmiersprache, wo du sagen 

1002
00:49:14,880 --> 00:49:17,240
kannst, ich registriere mich zum
Beispiel gegen so n Event 

1003
00:49:17,240 --> 00:49:20,080
Emitter ist wieso ne Art Mini 
Broker, das ist wie der Message 

1004
00:49:20,080 --> 00:49:22,800
Broker nur innerhalb des Codes 
ja der Event Emitter, da sagst 

1005
00:49:22,800 --> 00:49:27,280
du halt on value on dann. 
On error on irgendwas. 

1006
00:49:27,280 --> 00:49:30,320
Ja, kannst du dich registrieren 
und dann ruft er Funktion von 

1007
00:49:30,320 --> 00:49:33,400
dir auf und dann kannst du auch 
sagen Imit, Events und so weiter

1008
00:49:33,400 --> 00:49:35,760
und sofort ja alles da, alles 
prima. 

1009
00:49:35,760 --> 00:49:39,680
Ja kannst du nutzen und das 
coole ist VRPC ist halt nicht 

1010
00:49:39,680 --> 00:49:42,880
nur halbseiden geschrieben, 
sondern ich hab halt versucht 

1011
00:49:43,200 --> 00:49:47,440
alle Features einer jeden 
Programmiertechnologie zu 

1012
00:49:47,440 --> 00:49:50,000
supporten. 
Ja das heißt wenn du jetzt in 

1013
00:49:50,000 --> 00:49:54,240
dem Client sagst der eigentlich 
übers Netzwerk und von Ferne ist

1014
00:49:54,800 --> 00:49:58,880
on. 
Dann oder on on alarm, sag ich 

1015
00:49:58,880 --> 00:50:03,200
mal von der Maschine und die 
Maschine hat hat auch das Ding 

1016
00:50:03,200 --> 00:50:05,760
on alarm wo einfach eine 
Funktion reinkommt. 

1017
00:50:05,840 --> 00:50:09,000
Programmiermäßig ein Callback 
der dann aufgerufen wird wenn 

1018
00:50:09,000 --> 00:50:12,360
ein Alarm ist von Alarm, ja dann
machst du das einfach, ja dann 

1019
00:50:12,360 --> 00:50:16,480
machst du im Client on alarm und
machst dein clientseitigen 

1020
00:50:16,960 --> 00:50:19,600
Listen dahin, was eine Funktion 
ist in der Technologie wo du 

1021
00:50:19,600 --> 00:50:24,240
Bock hast und magisch. 
Wenn tatsächlich ein Event 

1022
00:50:24,240 --> 00:50:28,000
kommt. 
Auf dem Angerufenen dann wird 

1023
00:50:28,000 --> 00:50:31,560
dieses Event Event getrieben 
weitergeleitet über ein MQTT 

1024
00:50:31,560 --> 00:50:33,760
Publish Subscribe. 
Da ist kein Polling, da ist gar 

1025
00:50:33,760 --> 00:50:37,040
nichts und da muss aber eine 
ganze Menge passieren im 

1026
00:50:37,040 --> 00:50:39,280
Hintergrund. 
Ich muss richtig mich subscriben

1027
00:50:39,440 --> 00:50:42,640
also wenn du das machst wenn du 
das Registrierst wenn du dich an

1028
00:50:42,640 --> 00:50:45,240
ein Event registrierst von einem
Klienten aus, dann muss ich 

1029
00:50:45,240 --> 00:50:48,320
quasi technisch subscriptions 
aufbauen am Topic und so weiter 

1030
00:50:48,320 --> 00:50:51,600
und das macht das ist das wo wo 
Vrbc viele Versionen hat. 

1031
00:50:51,960 --> 00:50:54,480
Das effizient zu machen und nur 
genau das minimale 

1032
00:50:54,480 --> 00:50:57,320
Rüberzuschicken und dabei nicht 
nachdenken zu müssen, dass das 

1033
00:50:57,320 --> 00:51:00,480
sogar Events sind. 
Ja, das heißt VRPC dieses 

1034
00:51:00,480 --> 00:51:03,880
Eventgetriebene ist ist ne 
grundsatzlösung es ist nicht nur

1035
00:51:03,880 --> 00:51:06,000
n pain Relief das ich glaub das 
ist das erste Mal so gelöst wie 

1036
00:51:06,000 --> 00:51:07,760
man es eigentlich haben. 
Will du willst nicht drüber? 

1037
00:51:07,760 --> 00:51:10,000
Nachdenken soll einfach 
funktionieren, die Scheiße. 

1038
00:51:10,000 --> 00:51:12,640
Ja, und tatsächlich ist das ich 
hab jetzt auch gerade die 

1039
00:51:12,640 --> 00:51:15,440
letzten Tage noch mal was 
verbessert an diesem Eventing, 

1040
00:51:15,440 --> 00:51:18,640
es ist sogar so krass. 
Dass jetzt was für die ganz 

1041
00:51:18,640 --> 00:51:21,640
technischen, dass sogar die 
callback Objekte, das ist 

1042
00:51:21,640 --> 00:51:22,960
wichtig. 
Ich kann n gleiches Objekt 

1043
00:51:22,960 --> 00:51:26,440
Referenzidentität heißt das vom 
Pointer, die werden auf der 

1044
00:51:26,440 --> 00:51:30,440
anderen Seite auch mitgetragen, 
sodass ich sogar so Event 

1045
00:51:30,440 --> 00:51:33,600
dublications und so weiter ich 
kann quasi auf dem Aufrufenden 

1046
00:51:33,600 --> 00:51:38,160
sehen, ob dieses Event von 
diesem Typ schon mal registriert

1047
00:51:38,160 --> 00:51:41,480
wurde, damit ich es eventuell 
Skippe für ne noch weitere 

1048
00:51:41,480 --> 00:51:43,840
Registrierung, weil sonst krieg 
ich sowas wie Event dublications

1049
00:51:43,840 --> 00:51:45,960
hin. 
Kriegt 2 Nachrichten, das ist 

1050
00:51:45,960 --> 00:51:47,920
immer das schwierige bei 
eventgetriebene Systeme, da 

1051
00:51:47,920 --> 00:51:51,120
denkt man nie da, das ist total 
geil und total effizient, weil 

1052
00:51:51,120 --> 00:51:52,320
ich die Nachricht krieg, wenn 
ich es ist. 

1053
00:51:52,720 --> 00:51:54,880
Aber du musst aufpassen, dass du
nicht zu viele Nachrichten 

1054
00:51:54,880 --> 00:51:56,960
schickst. 
Ja, das geht schnell, geht 

1055
00:51:56,960 --> 00:51:59,320
schnell in die Binsen, ja, und 
wir wollen auf keinen Fall übers

1056
00:51:59,320 --> 00:52:01,760
Netzwerk zu viele Nachrichten 
schicken, hat das auch gelöst. 

1057
00:52:01,760 --> 00:52:06,720
Ja und Schwierigkeit hier kurz 
Randnotiz was man nicht wissen 

1058
00:52:06,720 --> 00:52:09,200
kann auf beim Aufrufenden und 
auch grundsätzlich nicht wissen 

1059
00:52:09,200 --> 00:52:12,120
kann im Code es ist ne 
Schwierigkeit es gibt 2 Arten 

1060
00:52:12,120 --> 00:52:14,520
von Callbacks. 
Es gibt die Callbacks, wo ich 

1061
00:52:14,520 --> 00:52:17,440
mich registriere, wird einmal 
aufgerufen und dann hat er quasi

1062
00:52:17,440 --> 00:52:21,200
mich von von sofort vergessen. 
Ja so n so ne, ich nenne die Dun

1063
00:52:21,200 --> 00:52:24,240
callbacks wird heute eigentlich 
über Promises abgelöst, aber 

1064
00:52:24,240 --> 00:52:27,600
gibt es halt noch. 
Ja sag mir einfach, sag mir 

1065
00:52:27,600 --> 00:52:30,000
einfach, wenn du zum Beispiel 
ich sag connect und dann dann 

1066
00:52:30,000 --> 00:52:33,440
sag sag mir wenn connect fertig 
ist connect dann ja und dann hab

1067
00:52:33,440 --> 00:52:35,520
ich nur einmal aufgerufen und 
dann gibt es die sogenannten 

1068
00:52:35,520 --> 00:52:38,640
Event callbacks wo ich weiß ich 
registrier mich einmal und Krieg

1069
00:52:38,640 --> 00:52:41,680
ganz viele Antworten auf dem 
gleichen Wissener also sowas 

1070
00:52:41,680 --> 00:52:43,840
wie. 
Gib mir immer wenn du nen neuen 

1071
00:52:43,840 --> 00:52:46,800
Value hast auf dem Server OPCUA 
gib mir halt was ja on value 

1072
00:52:46,800 --> 00:52:49,760
change da, also registrier ich 
mich einmal und Krieg aber auf 

1073
00:52:49,760 --> 00:52:51,480
diesen gleichen Händler immer 
den neuen Wert. 

1074
00:52:51,480 --> 00:52:55,560
Ja auch das hat VRPC mit drin. 
Ja da gibt es Mittel und Wege 

1075
00:52:55,560 --> 00:52:58,960
wie ich wie ich dem wie ich im 
Client rauskriege was für ne Art

1076
00:52:58,960 --> 00:53:01,440
von Event bin ich ja werde ich 
nur einmal zurückrufen oder 

1077
00:53:01,440 --> 00:53:04,880
werde ich potenziell ganz oft 
zurückrufen alles mitbedacht, ja

1078
00:53:04,880 --> 00:53:07,160
nur damit wenn man auf der 
Tonspur sagt, dass das jetzt 

1079
00:53:07,160 --> 00:53:09,680
irgendwie ist. 
Nicht Jette NASA RPC Framework 

1080
00:53:09,680 --> 00:53:12,000
mal schnell gemacht, sondern 
steckt n bisschen. 

1081
00:53:12,200 --> 00:53:15,640
Da steckt n bisschen was drin, 
ne so, das heißt ich kann Events

1082
00:53:15,640 --> 00:53:17,840
synchronisieren jetzt, jetzt 
müssen wir weitermachen, sonst 

1083
00:53:18,560 --> 00:53:22,240
geht die Zeit kaputt, 
asynchronität ist quasi auch mit

1084
00:53:22,320 --> 00:53:25,680
nativ eingebaut und no JS ganz 
besonders schick no JS ist voll 

1085
00:53:25,680 --> 00:53:29,920
mit Promises, da gibt es dieses 
Async away und nur so viel du 

1086
00:53:29,920 --> 00:53:34,880
kannst quasi auf dem Aufrufenden
den Call. 

1087
00:53:35,520 --> 00:53:39,080
Der am Backend passiert und was 
muss man dafür machen? 

1088
00:53:39,080 --> 00:53:42,400
Man muss diese Promises promises
sind versprechen, das ist n 

1089
00:53:42,600 --> 00:53:44,880
gehört das einfach nur n 
Architektur Pattern wo man sagt 

1090
00:53:45,280 --> 00:53:48,000
so funktioniert ne Asynchronität
gibt es ja als Problem und die 

1091
00:53:48,000 --> 00:53:51,520
Programmiersprachen hier haben 
lange drüber nachgedacht und 

1092
00:53:51,520 --> 00:53:54,160
sehr gut gelöst. 
Ja weil dieses Problem das Rest 

1093
00:53:54,160 --> 00:53:57,200
hat mit Asynchronität das dann 
nicht so gut funktioniert, das 

1094
00:53:57,200 --> 00:53:58,360
muss sich an den 
Programmiersprachen mal 

1095
00:53:58,360 --> 00:54:01,960
spätestens gelöst haben, ja 
haben die auch und es gibt so ne

1096
00:54:01,960 --> 00:54:04,160
genannte Promis und dann 
funktioniert alles wunderbar. 

1097
00:54:04,720 --> 00:54:07,760
Und was VAPC kann, ist Promises,
also dieses Versprechen übers 

1098
00:54:07,760 --> 00:54:11,040
Netzwerk zu serilisieren. 
Und du kannst dann quasi auf ein

1099
00:54:11,040 --> 00:54:13,680
Versprechen, dass im Backend 
gegeben wurde, warten, bis es im

1100
00:54:13,680 --> 00:54:15,840
Backend fertig ist und die 
Promises löst sich quasi im 

1101
00:54:15,840 --> 00:54:18,120
Frontend auf, auch so, als 
würdest du gerade, dass du 

1102
00:54:18,120 --> 00:54:20,520
irgendwie daneben sitzen und im 
Code darauf warten. 

1103
00:54:20,520 --> 00:54:23,920
Ne ist Wunder wunderbar auch 
relativ challenging zu 

1104
00:54:23,920 --> 00:54:27,520
implementieren, aber passiert 
und das ist auch unabhängig von 

1105
00:54:27,520 --> 00:54:30,800
der Technologie. 
Weil du sagst, VAPC ist für 

1106
00:54:30,800 --> 00:54:33,520
bestimmte Technologien verfügbar
und in denen funktioniert es 

1107
00:54:33,520 --> 00:54:36,440
dann. 
Genau, genau. 

1108
00:54:36,440 --> 00:54:38,240
Es ist in C plus Plus ist ist 
es. 

1109
00:54:38,240 --> 00:54:41,120
Anders und in Python auch. 
Ich hab versucht es halt je nach

1110
00:54:41,120 --> 00:54:43,760
Technologie so umzusetzen, dass 
sich derjenige, der in der 

1111
00:54:43,760 --> 00:54:47,400
Technologie entweder als 
Aufrufen da programmiert oder 

1112
00:54:47,400 --> 00:54:52,120
als aufrufen, denn ne, also 
Client oder dings, jeweils 

1113
00:54:52,120 --> 00:54:54,080
wohlfühlt und sich die Best 
Practices von der. 

1114
00:54:54,480 --> 00:54:56,880
Technologie, wie man das Macht, 
aufnehme und es miteinander 

1115
00:54:56,880 --> 00:54:59,560
kohärent funktioniert. 
Da, da gibt es immer Luft nach 

1116
00:54:59,560 --> 00:55:00,640
oben. 
Ja, das ist natürlich auch 

1117
00:55:00,640 --> 00:55:03,200
krass, weil ich bin bin ja auch 
nicht ganz tiefer Experte in 

1118
00:55:03,200 --> 00:55:07,280
allen Sprachen, aber in denen, 
wo ich es bin, also jetzt no GS 

1119
00:55:07,280 --> 00:55:10,080
und n bisschen und C plus plus 
vor allem geht das schon so. 

1120
00:55:10,080 --> 00:55:13,480
Ja ja sag mal, fällt mir dazu 
ein, du sagst ja open. 

1121
00:55:13,480 --> 00:55:16,320
Source MIT Lizenz und so weiter 
jeder darf es benutzen, darf da 

1122
00:55:16,320 --> 00:55:19,520
auch jeder mit dran mitarbeiten.
Ja ja ne herzliche Einladung. 

1123
00:55:19,520 --> 00:55:21,760
Ja gut, dass du es. 
Noch mal sagst, ja, ich bin. 

1124
00:55:22,480 --> 00:55:24,400
Ich bin ja nebenbei noch 
Geschäftsführer von von der 

1125
00:55:24,400 --> 00:55:27,200
Eisenware, also auch relativ 
bisschen mit anderen Sachen. 

1126
00:55:27,200 --> 00:55:29,680
Ich freue mich, wenn wenn das 
vielleicht hier irgendjemand 

1127
00:55:29,680 --> 00:55:32,640
hört und sich kompetent fühlt, 
also ich bin nicht so jemand, 

1128
00:55:32,640 --> 00:55:35,000
der so, also das soll nicht so 
ein Projekt sein, wo wie jeder 

1129
00:55:35,000 --> 00:55:37,400
irgendwie kauderwelschig da 
irgendwie mitarbeiten soll, das 

1130
00:55:37,400 --> 00:55:39,640
habe ich auch in meine 
entsprechenden Beschreibung für 

1131
00:55:39,640 --> 00:55:41,960
das Open Source Projekt 
reingeschrieben, aber wer Lust 

1132
00:55:41,960 --> 00:55:44,800
hat, wer zum Beispiel sehr gut 
Python kann oder so, darf sich 

1133
00:55:44,800 --> 00:55:47,920
gerne mal bei mir melden und 
freue mich auf eine Community 

1134
00:55:47,920 --> 00:55:50,480
die sich da bildet. 
Ja Open Source es es kennt fast 

1135
00:55:50,480 --> 00:55:53,480
keiner, also so ein bisschen. 
Eigenwerbung heute ich glaube, 

1136
00:55:53,480 --> 00:55:55,840
es ist ein cooles Produkt, das 
erste richtig coole Produkt, was

1137
00:55:55,840 --> 00:55:58,880
ich geschafft habe in meinem 
Leben, würde ich sagen, ja 

1138
00:55:59,600 --> 00:56:03,520
genau, Gerrit kann, kann, kann 
Open Source mitgemacht, das ist 

1139
00:56:03,520 --> 00:56:05,840
ja die Idee von Open Source, 
also eine Community aufbauen und

1140
00:56:05,840 --> 00:56:08,880
das mit, das wird alles zusammen
daran arbeiten ne also bei dem 

1141
00:56:08,880 --> 00:56:12,160
No GS habe ich schon mal 
Community also Feedback bekommen

1142
00:56:12,160 --> 00:56:14,880
und auch PRS und so aber es ist 
noch überschaubar, das können 

1143
00:56:14,880 --> 00:56:17,840
wir noch, können wir noch 
verbessern ne OK unser großer 

1144
00:56:17,840 --> 00:56:21,520
Kick off für heute kick off. 
Version 35. 1. 

1145
00:56:22,720 --> 00:56:26,560
Dann hast du glaub ich. 
Alle Pains einmal abgefräst oder

1146
00:56:26,560 --> 00:56:28,640
außer die Fehlerbehandlung. 
Aber nee doch, die eigentlich 

1147
00:56:28,640 --> 00:56:31,360
auch, das ist ja abgetarnt quasi
mit dem ja, die Fehlerbehandlung

1148
00:56:31,360 --> 00:56:32,720
ist halt funktioniert, das sind 
so Sachen die. 

1149
00:56:32,720 --> 00:56:34,160
Funktionieren dann einfach so 
wie man denkt. 

1150
00:56:34,160 --> 00:56:36,400
Die Exceptions werden halt auch 
übers Kabel geschickt. 

1151
00:56:36,400 --> 00:56:38,720
Ja, die Promises, die 
Exceptions, das ist halt so, ja 

1152
00:56:38,720 --> 00:56:41,600
und das ist im Prinzip ein 
asynchrones RPC geworden, ne, 

1153
00:56:41,600 --> 00:56:44,040
das ist immer also wenn man RPC 
denkt und deswegen sind Leute 

1154
00:56:44,040 --> 00:56:46,560
vorsichtig, das ist eigentlich 
früher synchron gewesen, das 

1155
00:56:46,560 --> 00:56:48,760
heißt derjenige der aufruft den 
Client, der wartet halt 

1156
00:56:48,760 --> 00:56:52,280
tatsächlich voll. 
Hast bis die Antwort kommt und 

1157
00:56:52,280 --> 00:56:54,200
dann kannst du keinen 
asynchronen Code mehr schreiben.

1158
00:56:54,200 --> 00:56:56,240
Auf der kleinen Seite. 
Das wollen wir aber, weil 

1159
00:56:56,240 --> 00:57:00,120
kleinseitiger Code ist oft React
und React darf halt nie stehen. 

1160
00:57:00,120 --> 00:57:03,600
Ja dann hast du halt und klebt 
sofort deine Maus ja also das 

1161
00:57:03,600 --> 00:57:05,880
muss alles asynchron sich da 
einfüttern ja und das kannst du 

1162
00:57:05,880 --> 00:57:08,560
mit VRPC super realisieren ne 
die sind wir einmal 

1163
00:57:08,560 --> 00:57:10,200
durchgegangen und sind so Punkt 
für Punkt für. 

1164
00:57:10,200 --> 00:57:11,600
Punkt. 
Aber jetzt machst du vielleicht 

1165
00:57:11,600 --> 00:57:14,320
noch mal den kurzen Elovator 
Pitch dafür und dann würd ich 

1166
00:57:14,320 --> 00:57:18,000
sagen, wenn du Lust hast. 
Dass wir das auch noch mal 

1167
00:57:18,000 --> 00:57:19,720
beisammen haben, ja. 
Und, und nicht nur so die. 

1168
00:57:19,720 --> 00:57:21,680
Einzelnen Fetzen ja, also ich 
mein, es ist schon viel bei 

1169
00:57:21,680 --> 00:57:23,840
rüber gekommen, aber vielleicht 
kannst du es uns noch mal 

1170
00:57:24,160 --> 00:57:27,440
zusammenfassen, möglichst kurz 
und knackig und und dann und in 

1171
00:57:27,440 --> 00:57:30,960
was vielleicht noch mal ein, wie
wir es vorgehabt haben, ja ich 

1172
00:57:30,960 --> 00:57:33,200
ich ich, ich kann es machen. 
Und ich, ich, ich nehm mal n 

1173
00:57:33,200 --> 00:57:34,600
bisschen KI. 
Ich hab KI natürlich auch 

1174
00:57:34,600 --> 00:57:35,920
gefragt. 
KI kennt natürlich auch n 

1175
00:57:35,920 --> 00:57:37,840
bisschen das VRPC Projekt, ich 
find es gar nicht so schlecht 

1176
00:57:37,840 --> 00:57:40,480
was da rausgekommen ist und es 
fasst das ganz gut zusammen. 

1177
00:57:40,480 --> 00:57:45,440
Also VRPC ist ein Noninvasives 
oder Nonintrusives RPC 

1178
00:57:45,440 --> 00:57:47,000
Framework. 
Was das heißt? 

1179
00:57:47,000 --> 00:57:48,880
Habt ihr begriffen, dass man 
quasi den Code erstmal so 

1180
00:57:48,880 --> 00:57:51,840
schreiben kann, wie man Bock hat
und muss sich nicht an eine AP 

1181
00:57:51,840 --> 00:57:53,200
richten? 
Ganz oft musst du dich als 

1182
00:57:53,200 --> 00:57:56,320
Entwickler richten, ja musst du 
nicht, also es ist ein non 

1183
00:57:56,400 --> 00:57:59,840
inklusives RPC Framework, das 
eine neue Komponente hat, 

1184
00:57:59,840 --> 00:58:03,440
nämlich diesen Message Broker 
und damit maximale Entkopplung 

1185
00:58:03,840 --> 00:58:07,800
der Komponenten, maximale 
Flexibilität und maximales 

1186
00:58:07,800 --> 00:58:10,960
Service Discovery und so weiter 
bietet ja das technische Prinzip

1187
00:58:10,960 --> 00:58:14,480
ist, dass es Code first ist. 
Ja und Brokerbasiert ist. 

1188
00:58:14,960 --> 00:58:18,720
Und den Code zur Laufzeit sogar 
analysieren kann. 

1189
00:58:18,880 --> 00:58:22,000
Und die Verträge, die entstehen 
zwischen den beiden Partnern zur

1190
00:58:22,000 --> 00:58:24,840
Laufzeit updaten kann. 
Ne, das heißt du du brauchst 

1191
00:58:24,840 --> 00:58:27,720
also in der Runtime, ohne dass 
du die App neu bauen musst oder 

1192
00:58:27,720 --> 00:58:31,280
irgendwas neu entwickeln musst, 
kannst du quasi flexibel Stücke,

1193
00:58:31,520 --> 00:58:34,440
Logiken, Code backends 
hinzufügen? 

1194
00:58:34,440 --> 00:58:38,800
Ja genau und was halt noch, hab 
ich ja gesagt was noch n krasses

1195
00:58:38,800 --> 00:58:41,080
Feature ist ist, dass wir 
eingebaute Echtzeit Events 

1196
00:58:41,080 --> 00:58:43,760
haben, dass wir dieses dieses 
ganze Eventing. 

1197
00:58:44,320 --> 00:58:47,120
Quasi mitbekommen und wir haben 
ne krasse Resilienz und das 

1198
00:58:47,360 --> 00:58:50,400
System ist halt auch sehr stabil
gegenüber netzwerkausfällen und 

1199
00:58:50,400 --> 00:58:54,640
so weiter weil mitgeteilt wird 
durch das Service Discovery. 

1200
00:58:54,640 --> 00:58:57,840
Oh der Agent ist gerade weg in 
der IOT Welt ist total wichtig 

1201
00:58:57,840 --> 00:59:00,680
irgendjemand zieht den Stecker 
oder die Batterie über alle der 

1202
00:59:00,680 --> 00:59:04,640
ist kurz weg, dann siehst du das
Discovery Point wenn er wieder 

1203
00:59:04,640 --> 00:59:06,360
da ist hängt er sich einfach 
wieder ins System ein. 

1204
00:59:06,360 --> 00:59:09,240
Ich kann die Funktion einfach 
wieder aufrufen ne das ist noch 

1205
00:59:09,240 --> 00:59:12,240
mal so in der in der in der Box 
vielleicht gesagt was VRPC ist 

1206
00:59:12,240 --> 00:59:14,160
und es ist halt vor allen 
Dingen. 

1207
00:59:14,640 --> 00:59:18,440
Es ist halt euer Speedmaker, 
wenn für die Entwickler, wenn 

1208
00:59:18,440 --> 00:59:21,280
man wenn man wenn man sich drauf
einlässt und will so will sowas 

1209
00:59:21,280 --> 00:59:23,160
ausprobieren. 
Ich glaub dann kriegt man extrem

1210
00:59:23,160 --> 00:59:25,360
viel Geschwindigkeit. 
Ja und ich kann euch sagen es 

1211
00:59:25,360 --> 00:59:28,720
ist natürlich immer jetzt ist 
die Frage Boah also das ist halt

1212
00:59:28,720 --> 00:59:30,960
die krasseste Entscheidung ja 
also manchmal das ist ja 

1213
00:59:30,960 --> 00:59:33,840
irgendwie Bowl zu sagen Wir 
haben Rest und wir haben GAPC es

1214
00:59:33,840 --> 00:59:37,600
gibt noch Graph QL ja aber auf 
der Liga spielt halt VRPC ja es 

1215
00:59:37,600 --> 00:59:41,520
ist genau dazu ein. 
Eine, ich sag mal eine Ergänzung

1216
00:59:41,520 --> 00:59:44,040
oder n Kompetitor oder wie auch 
immer das Schimpfen möchte. 

1217
00:59:44,040 --> 00:59:46,880
Aber auch das Abstraktionslevel 
ist das und wenn ich jetzt 

1218
00:59:46,880 --> 00:59:48,760
natürlich n großes 
Softwareprodukt baue ne 

1219
00:59:48,760 --> 00:59:52,120
Architektur und sage ich basiere
das mal auf VRPC, dann ist das 

1220
00:59:52,120 --> 00:59:53,760
natürlich auch ne krasse 
Entscheidung. 

1221
00:59:53,760 --> 00:59:56,880
Ja weil das kannst du so schnell
nicht mehr hin und her schwuppen

1222
00:59:56,880 --> 00:59:59,040
ja weil es gibt ja quasi ganz 
viel Architektur für die High 

1223
00:59:59,040 --> 01:00:02,080
Level komponenz vor, was ich 
aber sagen kann ist, wir haben 

1224
01:00:02,080 --> 01:00:03,920
das gesamte heisenware 
Universum, die gesamte 

1225
01:00:03,920 --> 01:00:07,280
Plattform, ja. 
Auf VRPC aufgebaut es ist alles 

1226
01:00:07,280 --> 01:00:11,080
VRPC, ja Backend zu Frontend, 
dann über IMQTC Stockets gelöst.

1227
01:00:11,080 --> 01:00:13,200
Dass ich die Events hab ja es 
auch, also gibt es auch alles 

1228
01:00:13,200 --> 01:00:17,120
Libraries für auch MIT Backend 
zu den IOT Dingen vor und zurück

1229
01:00:17,200 --> 01:00:19,800
die ganzen Agenten, Docker und 
so weiter die interne 

1230
01:00:19,800 --> 01:00:22,320
Kommunikation zwischen den 
Microservices unserer Microsoft 

1231
01:00:22,320 --> 01:00:26,560
Plattform, es ist alles komplett
auf VRPC wir haben hier und da 

1232
01:00:26,560 --> 01:00:29,480
noch n bisschen Rest für so die 
Standarddinger, dass man sagt OK

1233
01:00:29,480 --> 01:00:32,000
ich mein meine Resources, mein 
Media Server, die will ich 

1234
01:00:32,000 --> 01:00:35,120
doppelklicken runterladen. 
Das sind klare Nachteile von 

1235
01:00:35,120 --> 01:00:38,240
VLBC ich schicke nicht große 
Files über einen Message Broker 

1236
01:00:38,240 --> 01:00:40,760
und so, aber das kann man da an 
der Stelle auch mixen. 

1237
01:00:40,760 --> 01:00:43,440
Machen wir auch und dann finde 
ich kriegst du damit eine krasse

1238
01:00:43,440 --> 01:00:47,400
Architektur hin ne also ich das 
war auch für mich Schweißperlen,

1239
01:00:47,400 --> 01:00:49,920
so kann man das machen, aber es 
ist ja so, wenn du Innovation 

1240
01:00:49,920 --> 01:00:51,840
machst und dann haben wir 
gesagt, OK lass mal die 

1241
01:00:51,840 --> 01:00:55,280
Plattform ausprobieren, die 
ganze Grafik und so stellt sich 

1242
01:00:55,280 --> 01:00:57,920
heraus, dass das Zeug 
funktioniert, ziemlich stabil 

1243
01:00:57,920 --> 01:01:00,680
ja, obwohl es basiert auf einer 
komplett neuen 

1244
01:01:00,680 --> 01:01:03,960
Kommunikationstechnologie. 
Also das noch mal als Teaser für

1245
01:01:03,960 --> 01:01:06,080
alle, die entweder n bisschen 
mitarbeiten wollen bei dem Open 

1246
01:01:06,080 --> 01:01:08,320
Source Projekt oder mal Bock 
haben es auszuprobieren. 

1247
01:01:08,560 --> 01:01:10,600
Kann ja mal kein Projekt 
ausprobieren und mal n Gefühl 

1248
01:01:10,600 --> 01:01:15,040
für kriegen ob das cool ist oder
nicht ja OK, sehr cool dann. 

1249
01:01:15,040 --> 01:01:18,160
Lass uns doch final die diese 
Einordnung machen und mein 

1250
01:01:18,160 --> 01:01:20,720
Gefühl ist jetzt n bisschen Rest
ist irgendwie schon so n 

1251
01:01:20,720 --> 01:01:23,200
universeller Standard, der ist 
auch da, ja und der wird auch so

1252
01:01:23,200 --> 01:01:24,480
schnell wahrscheinlich nicht 
verschwinden. 

1253
01:01:25,200 --> 01:01:26,880
Vielleicht muss auch das auch 
genau. 

1254
01:01:26,880 --> 01:01:28,480
Auch gut geeignet für 
irgendwelche öffentlichen. 

1255
01:01:28,480 --> 01:01:29,920
Apis oder solche Geschichten, 
ne. 

1256
01:01:30,640 --> 01:01:33,640
Also maximal kompatibel, aber 
vielleicht irgendwo n bisschen 

1257
01:01:33,640 --> 01:01:35,680
umständlicher in der 
Entwicklung. 

1258
01:01:35,680 --> 01:01:38,080
Ja, und vor allem wenn es auch 
um bestimmte Entwicklungen geht.

1259
01:01:38,400 --> 01:01:41,320
Während VRPC also extrem 
flexibel ist. 

1260
01:01:41,320 --> 01:01:43,680
So das hab ich auch mal 
mitgenommen, ja perfekt für 

1261
01:01:43,840 --> 01:01:45,680
schnelle Entwicklung, das hast 
du jetzt zuletzt auch noch mal 

1262
01:01:45,680 --> 01:01:50,000
gesagt für den IOT Space, den 
IOT Space, alles was irgendwie 

1263
01:01:50,000 --> 01:01:52,800
total eventbasiert ist. 
Also eventbasierte Systeme ne, 

1264
01:01:53,440 --> 01:01:57,000
also live Dashboards, vielleicht
sogar Control, also nicht nur 

1265
01:01:57,000 --> 01:02:00,000
anzeigen Monitoren, sondern auch
Steuern von irgendwelchen 

1266
01:02:00,000 --> 01:02:02,400
Dingen. 
Mehr oder weniger Eventbasiert 

1267
01:02:02,400 --> 01:02:05,520
und relativ live ne und bei 
denen irgendwie maximale 

1268
01:02:05,520 --> 01:02:08,480
Entkopplung total wichtig ist. 
Ne von den ganzen Renten 

1269
01:02:08,480 --> 01:02:12,000
untereinander, so was magst du 
hinzufügen nix, das hast du 

1270
01:02:12,000 --> 01:02:13,400
super zusammengefasst. 
Ist genauso. 

1271
01:02:13,400 --> 01:02:14,640
Ja ich. 
Ich find schön, dass du es 

1272
01:02:14,640 --> 01:02:15,960
zusammenfasst. 
Zum Schluss. 

1273
01:02:15,960 --> 01:02:19,360
Ja, das ist es ja, wir haben 
hier ne Plattform und wenn man 

1274
01:02:19,360 --> 01:02:21,680
immer glaub ich wo man viele 
verteilte Komponenten hat und 

1275
01:02:21,680 --> 01:02:23,760
auch für die innere 
Kommunikation und so weiter das 

1276
01:02:23,760 --> 01:02:26,960
ist super geeignet. 
Ja ich was du sagst ist richtig.

1277
01:02:27,520 --> 01:02:31,520
West APIS haben ihre Begründung 
und sind auch gut, ja, als als 

1278
01:02:31,520 --> 01:02:35,760
äußerste Wall für absolute 
Kompatibilität innerhalb des 

1279
01:02:35,760 --> 01:02:37,800
Netzes. 
Ja, das ganze Map ist voll mit 

1280
01:02:37,800 --> 01:02:40,760
West APIS, ist auch gut so, wir 
werden auch in unserem Produkt 

1281
01:02:40,760 --> 01:02:43,040
haben, haben wir ja auch West 
APIS anbieten um bestimmte 

1282
01:02:43,040 --> 01:02:45,440
Sachen zu kontrollieren, weil 
man das einfach erwartet genau, 

1283
01:02:45,680 --> 01:02:48,000
aber ich glaube es ist klar 
geworden in den in den 

1284
01:02:48,000 --> 01:02:52,720
Erläuterungen wo es schlägt, ja 
wofür es cool ist, dann würde 

1285
01:02:52,720 --> 01:02:54,320
ich sagen, machen wir den 
Deckel. 

1286
01:02:54,320 --> 01:02:58,400
Drauf auf VRPC. 
Ihr habt es gehört, die Links 

1287
01:02:58,400 --> 01:03:00,160
kommen natürlich in die in die 
Showbeschreibung. 

1288
01:03:00,160 --> 01:03:02,880
Guckt es euch mal an, auf GH, 
probiert es aus, arbeitet 

1289
01:03:02,880 --> 01:03:06,080
womöglich sogar mit Haut bookart
an für Detailfragen, ich glaub 

1290
01:03:06,080 --> 01:03:10,080
da ist er mehrheitsoffen für 
dazu Rede und Antwort zu stehen,

1291
01:03:10,080 --> 01:03:13,360
zu diskutieren ne und und und 
auch Verbesserungsvorschläge 

1292
01:03:13,360 --> 01:03:16,360
gegenzunehmen aber vor allem 
probiert es aus als Entwickler. 

1293
01:03:16,360 --> 01:03:19,120
Ja für mich ist glaub ich nichts
oder probiert es in der 

1294
01:03:19,120 --> 01:03:21,280
Heisenware aus ja wie Bookart 
sagt, da kann man sich das 

1295
01:03:21,280 --> 01:03:24,520
visuell angucken was wie. 
Die da die Funktion aufpoppen ja

1296
01:03:24,520 --> 01:03:26,960
plötzlich von sonst. 
Dazu verlier ich vielleicht den 

1297
01:03:26,960 --> 01:03:28,600
letzten Satz noch, das ist. 
Nämlich tatsächlich cool. 

1298
01:03:28,600 --> 01:03:30,960
Das haben wir jetzt in dem neuen
8 und 80er Release, was der noch

1299
01:03:30,960 --> 01:03:34,320
nicht draußen ist, aber der 
kommt bald sehr bald. 

1300
01:03:34,560 --> 01:03:36,240
Ihr könnt euch sogar auch n 
freien Account machen von 

1301
01:03:36,240 --> 01:03:38,320
Heisenwehr und dann, wenn ihr 
das Mal ausprobieren wollt, es 

1302
01:03:38,320 --> 01:03:40,960
geht immer, da könnt ihr 
tatsächlich die nur diesen 

1303
01:03:40,960 --> 01:03:43,600
Adapter und Agentenkrempel 
machen, ihr nehmt also einfach n

1304
01:03:43,600 --> 01:03:46,560
Stück no JS schreibt irgendeine 
Klasse auf irgendeinen Code, 

1305
01:03:46,800 --> 01:03:49,560
registriert das mit VRPC und 
dann habt ihr den freien Account

1306
01:03:49,560 --> 01:03:52,240
von Heisenwehr braucht ihr quasi
nur die richtigen. 

1307
01:03:52,680 --> 01:03:55,120
Konfiguration angeben wo das 
Hinfunken soll, nämlich gegen 

1308
01:03:55,120 --> 01:03:58,960
euren Account und dann seht ihr 
eure Funktion und Eure Klasse 

1309
01:03:58,960 --> 01:04:03,320
live in unserer Plattform als 
Low Code Funktion und könnt die 

1310
01:04:03,320 --> 01:04:07,040
sogar, also könnt die grafisch 
aufrufen und auch grafisch 

1311
01:04:07,040 --> 01:04:10,240
Business Logik, die miteinander 
in Beziehung setzen und sogar 

1312
01:04:10,240 --> 01:04:13,160
auch die Daten visualisieren und
am Ende eine App machen, die auf

1313
01:04:13,160 --> 01:04:15,680
jedem Telefon läuft. 
Das ist ultra cool, also wer da 

1314
01:04:15,680 --> 01:04:17,520
mal Bock drauf hat ist 
eingeladen sich einen freien 

1315
01:04:17,520 --> 01:04:20,160
Account auf der Plattform zu 
machen und dann einfach VLPC. 

1316
01:04:20,560 --> 01:04:22,600
NPM runterzuladen und los geht 
es ja. 

1317
01:04:22,600 --> 01:04:25,760
Wir haben auch die Doku dann 
entsprechend am Start, ist schon

1318
01:04:25,760 --> 01:04:29,200
fast ganz fertig und wenn 88 
durch ist, mach das mal am Ende 

1319
01:04:29,200 --> 01:04:32,040
der Woche oder nächste Woche 
dann ist Safe safe cool so und 

1320
01:04:32,040 --> 01:04:35,040
ihr könnt das mal ausprobieren. 
Prima wird auch noch verlinkt, 

1321
01:04:35,520 --> 01:04:37,680
OK dann. 
Vielen herzlichen Dank Burkhard,

1322
01:04:37,680 --> 01:04:41,240
dass du uns VLPC näher gebracht 
hast und n bisschen mitgenommen 

1323
01:04:41,240 --> 01:04:43,960
hast in deine. 
Ja, was deine Gedanken der 

1324
01:04:43,960 --> 01:04:46,520
Vergangenheit, sagen wir es mal 
so, ja was abgegangen zu daher 

1325
01:04:46,560 --> 01:04:49,000
von deiner Arbeitswelt? 
Jetzt werden wir tatsächlich 

1326
01:04:49,000 --> 01:04:50,840
auch immer wieder gefragt, 
Moment, was habt ihr eigentlich 

1327
01:04:50,840 --> 01:04:54,240
vorher gemacht? 
Ja, das war es genau dann danke 

1328
01:04:54,240 --> 01:04:58,600
dir und danke danke euch fürs 
zuhören, wir hören uns in 2 

1329
01:04:58,600 --> 01:05:02,320
Wochen bye einfach geplex tschau
tschau Tschüss aus Hamburg. 

1330
01:05:03,200 --> 01:05:04,880
Einfach. 
Komplex wird produziert. 

1331
01:05:04,880 --> 01:05:08,200
Und präsentiert von Heisenware 
Heisenware ist deine Low Coop 

1332
01:05:08,200 --> 01:05:11,680
Plattform zur Erstellung und zum
Betrieb interaktiver Apps rund 

1333
01:05:11,680 --> 01:05:13,680
um den Shopfloor. 
Starte noch heute deinen Free 

1334
01:05:13,680 --> 01:05:17,440
Trial unterheisenware.com 
einfach minus komplex.

