SlideShare una empresa de Scribd logo
1 de 7
• Crossplatform
– Browser, Android, Ios
• Echtzeit
– Das Spiel läuft unaufhörlich weiter
– Schnelle Information über Statusänderungen
• Multiplayer
– Spieler können einander beeinflussen
– Schnelle Information über Beeinflussungen
DB
DB
DB
Globaler Redis
Pub-Sub
Websocket vNodeJS Redis
Push-Pull
Webserver
PHP WorkerPHP WorkerPHP Worker
vNodeJS Redis
Push-Pull
Webserver
PHP WorkerPHP WorkerPHP Worker
Worker
Dispatcher Controller
Repository
Domain ObjekteDomain Service
Redis
Event
Dispatcher
Redis
DB Views
• Daemon
– Abarbeiten zeitgesteuerter Spielereignisse
– Arbeitet nicht selbst, erstellt Messages
• Cronjobs
– Werden über den Daemon abgehandelt
• Sockets ersetzen Sessions
• Zusätzliche Daten am Socket
– Connection ID, Player ID, Spielwelt, Etc.
– Gesetzt durch Messages von PHP
– Zusätzliche Indizes
• In Messages zwischen Node & PHP enthalten
– Node  PHP: alle am senden Socket gespeicherte Daten
– PHP  Node: eine Kombination der Daten auf die alle
verbundenen Sockets gematcht werden
• Weiterleitung passender Messages
– Interne Daten werden entfernt
• API-Test
– Beschreibung
– Eingehender Nachricht
– Ausgehende Nachrichten
• Basierend auf Fixtures
• Nur auf PHP-Ebene
• Rollback nach jedem Test
• Dienen gleichzeitig als Dokumentation
– Dokumentation ist zwangsweise immer aktuell

Más contenido relacionado

Destacado

Interpretac Constitucional 19 Marzo 2009
Interpretac Constitucional 19 Marzo 2009Interpretac Constitucional 19 Marzo 2009
Interpretac Constitucional 19 Marzo 2009oflores
 
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...Florian Schmidinger
 
Por Que Los Paises Son Asi
Por Que Los Paises Son AsiPor Que Los Paises Son Asi
Por Que Los Paises Son AsiNelson Hernandez
 
Animals mamífers ainhoa tena
Animals mamífers ainhoa tenaAnimals mamífers ainhoa tena
Animals mamífers ainhoa tenajuanacorriols
 
Brochure ger 2
Brochure ger 2Brochure ger 2
Brochure ger 2Europages2
 
03_Matthias.ppt
03_Matthias.ppt03_Matthias.ppt
03_Matthias.pptSumba003
 
Seguridad energetica (con Explicacion)
Seguridad energetica (con Explicacion)Seguridad energetica (con Explicacion)
Seguridad energetica (con Explicacion)Nelson Hernandez
 
Academia De Tenis[1]
Academia De Tenis[1]Academia De Tenis[1]
Academia De Tenis[1]Sandro Suito
 
PresentacióN2
PresentacióN2PresentacióN2
PresentacióN2galomoraga
 
El Proyecto Censurado 2008
El Proyecto Censurado 2008El Proyecto Censurado 2008
El Proyecto Censurado 2008Pere Eurotopia
 
Verdadesdelmatrimonio
VerdadesdelmatrimonioVerdadesdelmatrimonio
Verdadesdelmatrimonioyak072
 

Destacado (20)

Riba, jual beli, hutang
Riba, jual beli, hutangRiba, jual beli, hutang
Riba, jual beli, hutang
 
Tema 2 Tecno audiovisual
Tema 2 Tecno audiovisualTema 2 Tecno audiovisual
Tema 2 Tecno audiovisual
 
Interpretac Constitucional 19 Marzo 2009
Interpretac Constitucional 19 Marzo 2009Interpretac Constitucional 19 Marzo 2009
Interpretac Constitucional 19 Marzo 2009
 
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...
Sunflex Schiebe-Dreh-Systeme SF25 für Terrassenverglasung - jetzt bei Fenster...
 
Por Que Los Paises Son Asi
Por Que Los Paises Son AsiPor Que Los Paises Son Asi
Por Que Los Paises Son Asi
 
Animals mamífers ainhoa tena
Animals mamífers ainhoa tenaAnimals mamífers ainhoa tena
Animals mamífers ainhoa tena
 
Las4estaciones
Las4estacionesLas4estaciones
Las4estaciones
 
Brochure ger 2
Brochure ger 2Brochure ger 2
Brochure ger 2
 
Superar La Crisis
Superar La CrisisSuperar La Crisis
Superar La Crisis
 
03_Matthias.ppt
03_Matthias.ppt03_Matthias.ppt
03_Matthias.ppt
 
2 C
2 C2 C
2 C
 
DXN Austria - Existence Programm
DXN Austria - Existence ProgrammDXN Austria - Existence Programm
DXN Austria - Existence Programm
 
Presion 9no
Presion 9noPresion 9no
Presion 9no
 
Seguridad energetica (con Explicacion)
Seguridad energetica (con Explicacion)Seguridad energetica (con Explicacion)
Seguridad energetica (con Explicacion)
 
Academia De Tenis[1]
Academia De Tenis[1]Academia De Tenis[1]
Academia De Tenis[1]
 
PresentacióN2
PresentacióN2PresentacióN2
PresentacióN2
 
12 Apostoles
12 Apostoles12 Apostoles
12 Apostoles
 
Irdevacaciones
IrdevacacionesIrdevacaciones
Irdevacaciones
 
El Proyecto Censurado 2008
El Proyecto Censurado 2008El Proyecto Censurado 2008
El Proyecto Censurado 2008
 
Verdadesdelmatrimonio
VerdadesdelmatrimonioVerdadesdelmatrimonio
Verdadesdelmatrimonio
 

Similar a Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013

Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere RESTMartin Abraham
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Christian Wenz
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anyninesanynines GmbH
 
Api Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformApi Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformStefan Adolf
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsStefan Adolf
 

Similar a Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013 (11)

Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
 
SETapp Präsentation
SETapp PräsentationSETapp Präsentation
SETapp Präsentation
 
Api Platform: the ultimate API Platform
Api Platform: the ultimate API PlatformApi Platform: the ultimate API Platform
Api Platform: the ultimate API Platform
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013

  • 1.
  • 2. • Crossplatform – Browser, Android, Ios • Echtzeit – Das Spiel läuft unaufhörlich weiter – Schnelle Information über Statusänderungen • Multiplayer – Spieler können einander beeinflussen – Schnelle Information über Beeinflussungen
  • 3. DB DB DB Globaler Redis Pub-Sub Websocket vNodeJS Redis Push-Pull Webserver PHP WorkerPHP WorkerPHP Worker vNodeJS Redis Push-Pull Webserver PHP WorkerPHP WorkerPHP Worker
  • 4. Worker Dispatcher Controller Repository Domain ObjekteDomain Service Redis Event Dispatcher Redis DB Views
  • 5. • Daemon – Abarbeiten zeitgesteuerter Spielereignisse – Arbeitet nicht selbst, erstellt Messages • Cronjobs – Werden über den Daemon abgehandelt
  • 6. • Sockets ersetzen Sessions • Zusätzliche Daten am Socket – Connection ID, Player ID, Spielwelt, Etc. – Gesetzt durch Messages von PHP – Zusätzliche Indizes • In Messages zwischen Node & PHP enthalten – Node  PHP: alle am senden Socket gespeicherte Daten – PHP  Node: eine Kombination der Daten auf die alle verbundenen Sockets gematcht werden • Weiterleitung passender Messages – Interne Daten werden entfernt
  • 7. • API-Test – Beschreibung – Eingehender Nachricht – Ausgehende Nachrichten • Basierend auf Fixtures • Nur auf PHP-Ebene • Rollback nach jedem Test • Dienen gleichzeitig als Dokumentation – Dokumentation ist zwangsweise immer aktuell