Software aus Komponenten - IPD Goos
Software aus Komponenten - IPD Goos
Software aus Komponenten - IPD Goos
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Prof. Dr. G. <strong>Goos</strong> <strong>Software</strong> <strong>aus</strong> <strong>Komponenten</strong> 36<br />
Beispiel: Rückruf und Ereignisse: Konzepte<br />
Example: Callbacks and Events I<br />
abstract solution<br />
goal: communication client-server whenever a situation<br />
(event, state change) arises at the server requiring action<br />
• Ziel: Kommunikation zwischen Dienstnehmer und Dienstgeber, wenn eine<br />
Situation by the client (Ereignis, Zustandsübergang) im Dienstgeber Aktivität des<br />
Dienstnehmers erfordert<br />
abstract solution: introduce event server between client and<br />
• abstrakte Lösung: Ereignisdienst als Zwischenschicht einführen<br />
server<br />
event<br />
client<br />
server<br />
server<br />
◮ Dienstnehmer abonniert relevante Ereignisse beim Dienstgeber<br />
client notifies event server in advance about all events of interest<br />
relevant“ durch Nebenbedingungen weiter einschränkbar<br />
“interest” ”<br />
◮ Dienstgeber may benachrichtigt constraint by Dienstnehmer mentioning additional über conditions Ereignisse (mit<br />
Nutzdaten)<br />
server notifies event server about all incoming events (state<br />
changes) including additional information<br />
◮ Ereignis kann keinen, einen, oder beliebig viele Dienstnehmer erreichen<br />
event server may notify zero, one or several clients about the event<br />
◮ Synchrone oder asynchrone Benachrichtigung<br />
notification by event server may be synchronous or asynchronous<br />
◮ Ereignisdienst oft im Dienstgeber integriert (Ereignisschleife)<br />
event server often integrated into the server (“event loop”)<br />
Gerhard <strong>Goos</strong>, <strong>Software</strong> from Components, Overview 22