SlideShare una empresa de Scribd logo
MPWAR
Master en Programación Web de
Alto Rendimiento
Quién soy?
Eloi Poch
http://twitter.com/eloipoch
http://github.com/eloipoch
http://linkedin.com/in/eloipoch
• Software Developer
• Autodidacta
• Team Learner
Eloi Poch
http://twitter.com/eloipoch
http://github.com/eloipoch
http://linkedin.com/in/eloipoch
• Technical Lead
@Akamon
• CTO @TusJuegos
• Software Development
Manager @Grupo ITnet
• Senior PHP Developer
@Groupalia
Eloi Poch
http://twitter.com/eloipoch
http://github.com/eloipoch
http://linkedin.com/in/eloipoch
• To mock or not to mock
@DeSymfony Bcn 2014
• DDD as an
implementation detail
@PHP Barcelona Febrero
2015
Introduction to Akamon software arquitecture for MPWAR
Introduction to Akamon software arquitecture for MPWAR
Introduction to Akamon software arquitecture for MPWAR
En números
• + 60 trabajadores
• + 30 son desarrolladores
• 3 oficinas (Bcn, Vlc y Tlv)
• 12 millones de € de facturación
en 2014
Filosofía
• Transparencia (incluso sueldos)
• Flexibilidad
• Trabajo remoto
• Cultura Lean
Tecnologías
Números a nivel técnico
• Más de 24 millones de usuarios
• 25.000 jugadores concurrentes
• 420.000 DAUs
• 50 - 100 servidores
@jordillonch @SergiGP
@jorgeavila_ss @jdiezc
@jvalduvieco
@amassa5
Estas son mis slides.
Si no os gustan tengo
otras :)
Agenda
• Symfony
• Symfony en Akamon
• Código PHP en Akamon
• Ejercicio Práctico
Symfony
Componentes
vs
Framework
Symfony
• Uno de los frameworks más avanzados
• Gran comunidad y ecosistema
• Gran ecosistema
• Rápida (y buena) evolución
• Alta flexibilidad
• Rápido (para ser PHP)
Symfony
Solventa problemas
redundantes, incluso
alguno difícil y sin
molestar demasiado
Symfony
Symfony en Akamon
Varias aplicaciones SF2
en un mismo proyecto/
repositorio
Symfony en Akamon
Symfony en Akamon
• Enrutamiento
• Contenedor de Servicios
• Comandos de Consola
• Logging
• Plantillas (Twig)
• Traducciones
Doctrine 2
Symfony en Akamon
• Monolog Bundle
• FOSRest Bundle
• JMS Serializer Bundle
• Nelmio ApiDoc Bundle
Symfony en Akamon
Desacoplamos la lógica
de negocio del
framework
Symfony en Akamon
Lógica de negocio
integrada en SF2 a través
(no dentro) de Bundles
Symfony en Akamon
Introduction to Akamon software arquitecture for MPWAR
UserPostController Command Bus
UserRegistratorCommandHandler
UserRegistrator
Domain
Event
Publisher
UserRegisteredDomainEv
entSubscriber
UserAccountOpener
User UserRepository Event
Subscribers
.
.
.
POST /users
[
userId: 0db90987-5ce1-4683-bb05-7d1b5539cb0b
]
Command
Handlers
.
.
.
UserRegisteredDomainEvent
User
HORUS
BASIC REQUEST
UserRegistrationCommand
UserRegistrationCommand
userId
analyticsContextId
userId
analyticsContextId
UserRegisteredDomainEvent
userId
analyticsContextId
id 

(Economy Account)
Ejercicio
https://github.com/
eloipoch/mpwar
Ejercicio
git checkout
welcome-bonus-test
Ejercicio
./bin/behat
Ejercicio
• Crear Subscriber
GiveWelcomeBonusOnAccountOpened
• Crear Service TransactionProcessor
• Añadir el método Save al
AccountRepository
• Configurar los servicios en el contenedor
• Lanzar evento de dominio
AccountBalanceChanged
Ejercicio
1. Acceptance test for the Welcome Bonus of 100
coins
2. Welcome Bonus subscriber on account opened
3. Economy Transaction Processor application
service
4. Add method save to Account Repository
5. Configure Welcome Bonus subscriber in the
container
6. Publish Account balance changed domain event
7. Behaviour & Integration tests for Welcome Bonus

Más contenido relacionado

PDF
Redescubre la programación - #MPWAR - #OpenDayLaSalle
PDF
Desymfony - Servicios
PDF
Gestión Remota de Equipos con Python
PPSX
Introducción a symfony
PPTX
JS Patterns Applied to a Real World Example
PDF
Webinar Arquitectura de Microservicios
PDF
Silex para aplicaciones web MVC
Redescubre la programación - #MPWAR - #OpenDayLaSalle
Desymfony - Servicios
Gestión Remota de Equipos con Python
Introducción a symfony
JS Patterns Applied to a Real World Example
Webinar Arquitectura de Microservicios
Silex para aplicaciones web MVC

Similar a Introduction to Akamon software arquitecture for MPWAR (20)

PPTX
BilboStack - Php en el 2012
PDF
Drupal camp2010bcn cmis-drupal_alfresco-v1.1
PDF
Symfony Parte 3
PPTX
Introducción a los Frameworks PHP
PPT
Adentrándonos al Framework Symfony
PDF
1. Presentación e instalación de Python.pdf
PPT
Symfony en la gestión de un centro de computación avanzada
PPT
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
PPT
Symfony2 un framework para maximizar tu productividad en desarrollo web
PPTX
Introducción a Silex
PDF
Frontal Avanzado y Assetic
PDF
Frontal avanzado y assetic
ODP
Introducción a Symfony
PPTX
PDF
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
PPTX
Herramientas para desarrollar rápidamente
PDF
Omnileads del opensource a la omnicanalidad
PPTX
Symfony-Community: Introducción a Symfony Framework
PPT
03 webinar content_deliveryplatform_v1.0-intix
PDF
!barralibrecamp Gad
BilboStack - Php en el 2012
Drupal camp2010bcn cmis-drupal_alfresco-v1.1
Symfony Parte 3
Introducción a los Frameworks PHP
Adentrándonos al Framework Symfony
1. Presentación e instalación de Python.pdf
Symfony en la gestión de un centro de computación avanzada
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Symfony2 un framework para maximizar tu productividad en desarrollo web
Introducción a Silex
Frontal Avanzado y Assetic
Frontal avanzado y assetic
Introducción a Symfony
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
Herramientas para desarrollar rápidamente
Omnileads del opensource a la omnicanalidad
Symfony-Community: Introducción a Symfony Framework
03 webinar content_deliveryplatform_v1.0-intix
!barralibrecamp Gad
Publicidad

Último (11)

PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Implementación equipo monitor12.08.25.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
sistemas de informacion.................
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Fundamentos de Python - Curso de Python dia 1
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Implementación equipo monitor12.08.25.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Derechos_de_Autor_y_Creative_Commons.pptx
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
sistemas de informacion.................
AutoCAD Herramientas para el futuro, Juan Fandiño
Publicidad

Introduction to Akamon software arquitecture for MPWAR