cqrs

Recursos de programación de cqrs
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...
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
Automatiza la ejecución de cualquier script en bash a través de un atajo de teclado gracias a Automator. En este vídeo veremos cómo generar UUIDs y guardarlos en el portapapeles para usarlos fácilmente mientras desarrollamos. Enlaces relacionados: ????‍????Código del script: http://bit.ly/uuid-script ???? Preguntas frecuentes de CQRS y DDD (entre ellas, por qué usar UUIDs): https://www.youtube.com/watch?v=auEhX4WfCRA ???? Subscribe: https://www.youtube.com/c/CodelyTV?su... ???? Cursos CodelyTV Pro: https://codely.tv/pro/cursos ???? Descuentos promocionales: https://codely.tv/pro/verano18 ????‍????‍????‍???? Planes para empresas: https://codely.tv/pro/teams ???? Facebook: https://www.facebook.com/CodelyTV/ ???? Twitter: https://twitter.com/CodelyTV
Ánalisis del estándar #AsyncAPI con su creador, Fran Méndez. AsyncAPI es un estándar similar a #OpenAPI/#Swagger pero para sistemas de mensajería como ActiveMQ (#RabbitMQ), #Kafka, #MQTT, etc. ¿Para qué lo puedes usar? ???? Pon en orden y documenta los eventos de dominio que publican tus #microservicios en Message Brokers internos (como los que vimos en el vídeo sobre comunicación entre microservicios), y también APIs públicas cliente/servidor a través de #WebSockets, streaming por HTTP, MQTT (Internet of Things™️) etc. de forma estándar. Actualmente usan AsyncAPI empresas como Slack, RedHat, NewRelic, y muchos más. Enlaces relacionados: ???? Intro a Comunicación entre microservicios: #EventDrivenArchitecture: https://www.youtube.com/watch?v=V4mjxJ5czog ???? Curso comunicación entre microservicios - Event-Driven Architecture: http://bit.ly/curso_eda ???? Curso CQRS: Command Query Responsibility Segregation: http://bit.ly/curso_cqrs ???? Curso CQRS y Event Sourcing con Kotlin y Axon Framework: http://bit.ly/curso_es ???? GitHub AsyncAPI: https://github.com/asyncapi/asyncapi ✍️ Editor AsyncAPI: http://editor.asyncapi.org/ ???? Slack AsyncAPI: https://async-apis-slack.herokuapp.com/ CodelyTV: ???? Subscribe: https://www.youtube.com/c/CodelyTV?sub_confirmation=1 ???? Cursos CodelyTV Pro: https://codely.tv/pro/cursos ????‍????‍????‍???? Planes para empresas: https://codely.tv/pro/teams ???? Facebook: https://www.facebook.com/CodelyTV/ ???? Twitter: https://twitter.com/CodelyTV
In this presentation we will talk about our approach to build complex and distributed applications following DDD and Reactive principles. You will learn on how we approached this problem from a pure functional way using our opensource framework (reactive-platform), how Scala helped us through its advanced type system and DSL capabilities to combine underlying technologies such as Kafka, Cassandra and Akka to implement an actor distributed system based on CQRS/ES and NoSQL.