cqrs

Recursos de programación de cqrs
Software Engineer at AxonIQ Milan Savić is Software Engineer at AxonIQ. He has experience with various software projects ranging from chemical analyzers to contactless mobile payment systems. In some of those projects, CQRS and Event Sourcing came as a natural solution, but things had to be built from scratch almost every time. Finding out about AxonFramework got him interested in being a part of the solution. In March 2018 he joined AxonIQ team on a mission to build tools which would help others in building event-driven, reactive systems.
Creator of CQRS Gregory Young coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. Greg is an independent consultant and serial entrepreneur. He has 15+ years of varied experience in computer science from embedded operating systems to business systems and he brings a pragmatic and often times unusual viewpoint to discussions. He’s a frequent contributor to InfoQ, speaker/trainer at Skills Matter and also a well-known speaker at international conferences. Greg also writes about CQRS, DDD and other hot topics on codebetter.com.
RAFT protocol is a well-known protocol for consensus in Distributed Systems. Want to learn how consensus is achieved in a system with a large amount of data such as Axon Server’s Event Store? Join this talk to hear about all specifics regarding data replication in highly available Event Store! Axon is a free and open source Java framework for writing Java applications following DDD, event sourcing, and CQRS principles. While especially useful in a microservices context, Axon provides great value in building structured monoliths that can be broken down into microservices when needed. Axon Server is a messaging platform specifically built to support distributed Axon applications. One of its key benefits is storing events published by Axon applications. In not so rare cases, the number of these events is over millions, even billions. Availability of Axon Server plays a significant role in the product portfolio. To keep event replication reliable we chose RAFT protocol for consensus implementation of our clustering features. In short, consensus involves multiple servers agreeing on values. Once they reach a decision on a value, that decision is final. Typical consensus algorithms make progress when any majority of their servers is available; for example, a cluster of 5 servers can continue to operate even if 2 servers fail. If more servers fail, they stop making progress (but will never return an incorrect result). Join this talk to learn why we chose RAFT; what were our findings during the design, the implementation, and testing phase; and what does it mean to replicate an event store holding billions of events!
Alberto Grande Una de las problemáticas más comunes que nos encontramos al trabajar con una arquitectura basada en microservicios es el tratamiento de la transaccionalidad. Un problema generalmente resuelto en el mundo monolítico se convierte en un desafío en las arquitecturas distribuidas. ¿Cómo podemos atacar esta necesidad transaccional de forma eficiente? En esta charla estudiaremos técnicas y patrones habituales (CQRS, event sourcing, lectura de logs transaccionales...) que nos ayudarán a gestionarla. La charla será teórico práctica con ejemplos sobre las técnicas analizadas.
José Manuel López Doña, José Alberto Ruiz Casarrubios Hoy en día todos llevamos un ordenador repleto de aplicaciones en el bolsillo o incluso, en la muñeca. Estamos rodeados de dispositivos electrónicos que nos facilitan las rutinas diarias, nos dicen cuánto vamos a tardar en llegar a nuestra cita, nos ponen la música que queremos oír o nos conectan en tiempo real con amigos y familia. Puede parecer, por tanto, que estamos ante una ingeniería software muy madura y estable. Nada más lejos de la realidad. Los avances en ingeniería del software de los últimos 5 años claramente superan a los últimos 10 y estos a su vez dejan obsoletos los anteriores 25, en un modelo que, de forma similar a la ley de Moore, muestra un crecimiento exponencial. Esta rápida evolución no está exenta de cambios, muchas veces contradictorios e incipientes, fruto de una innovación acelerada por las necesidades constantes de software con el que poder competir en un mundo cada vez mas tecnológico. En perspectiva, estamos asistiendo al nacimiento real de la ingeniera del software, con una evolución cada vez mas intensa que se espera continúe así los próximos años, máxime con la llegada de nuevas tecnologías como IA, IoT, Big Data, Real-time, Blockchain, Cloud, etc. Al mismo tiempo, el software se vuelve cada vez mas importante para soportar los modelos de negocio actuales y nuevos que constantemente están surgiendo y que demandan los clientes. Como usuarios de software, hemos pasado de una posición reactiva, en la que simplemente "esperábamos" a que las empresas de software construyesen software y lo pusieran a nuestra disposición, a una posición totalmente proactiva, en el que nosotros demandamos software para cubrir nuestras necesidades y lo demandamos ya. Ahora, somos los que imponemos los tiempos a las empresas y ojo, no solo a las empresas propias de desarrollo de software. Desde un punto vista arquitectural, observamos evoluciones con un patrón similar al biológico, pasando de estructuras sencillas con arquitectura monolíticas, a sistemas con mas necesidades de integración y comunicación, evolucionando a versiones mas autónomas, especializadas y desacopladas como arquitecturas de microservicios, service mesh, basadas en eventos, etc. En esta charla os contaremos nuestra visión de como las arquitecturas han evolucionando desde las épocas doradas de los grandes monolitos hasta la actual donde justamente el reto es romperlos y no caer en errores del pasado, ofreciendo un enfoque mucho mas moderno que permita soluciones mas versátiles. Pero no nos quedaremos solo en los puntos fuertes, sino que también profundizaremos principales dificultades en su aplicación y tendencias futuras, tanto a nivel de arquitectura como organizativo, metodológico, gobierno, cultura, plataforma, etc. Si te apasionan los microservicios, arquitecturas EDA, service mesh, orientación a productos, CQRS, event sourcing, DDD, PaaS, CaaS, etc., y buscas una charla donde se ponga todo en perspectiva, sin duda, te lo pasaras bien.
Dates: 29th, 30th SeptemberOfficial site: http://scbcn.github.io/ Talks Feedback: https://joind.in/event/software-crafters-barcelona-2018/scheduleTwitter : https://twitter.com/bcnswcraftOfficial hashtag: https://twitter.com/hashtag/scbcn18?src=hashA month ago I had the pleasure of attending the Software Crafters Barcelona 2018. I think it's the fourth time I've been to this conference and it's among my favorites.I loved this year's edition. The first two years the conference had around 80 attende...
Analizamos los beneficios de introducir una interface en términos de tolerancia al cambio y testabilidad. Nos planteamos cuándo sería apropiado por tanto introducir una interface en nuestro código, y sobre todo, cuándo y por qué sería algo a evitar. ❓ Preguntas a responder: * Cuándo definís interfaces (Árbol decisional para meter una interface como el que comentamos en el vídeo) * Inyectáis los Domain Services en los Application Services vía constructor, ¿o los instanciáis en el constructor del Application Service? Links relacionados: * 👨‍👩‍👧‍👦 Vídeo Composición sobre herencia: https://www.youtube.com/watch?v=OyTPDFyGWRc * 🎟️ Tweet a hacer RT para entrar en sorteo de training Kotlin: * 👨‍🎓 Training Kotlin por Karumi: https://www.karumi.com/open-training/android-kotlin-jump-start-first-edition * 🐘 Repositorio ejemplos PHP: https://github.com/CodelyTV/cqrs-ddd-php-example * ⚛️ Repositorio ejemplos Scala: https://github.com/CodelyTV/scala-http-api * 👩‍💻 Curso Principios SOLID Aplicados: http://bit.ly/solid-codelytv * 🎯 Curso Arquitectura Hexagonal: http://bit.ly/hexagonal-codelytv * ℹ️ Post Matthias Noback al respecto: https://matthiasnoback.nl/2018/08/when-to-add-an-interface-to-a-class/
¿Por qué se suele decir que la herencia es mala en Programación Orientada a Objetos? ¿En qué se basa #CompositionOverInheritance? Bajemos al terreno con ejemplos de código estos conceptos 🚀 Links relacionados: * Repo código acoplado: https://github.com/CodelyTV/coupled-code-php-example * Repo CQRS y DDD: https://github.com/CodelyTV/cqrs-ddd-php-example * Curso Principios SOLID Aplicados: http://bit.ly/solid-codelytv * Curso Arquitectura Hexagonal: http://bit.ly/hexagonal-codelytv