cqrs

Recursos de programación de cqrs
🙋‍♂️ Un jueves más en el canal de Apiumhub, Diego y Rafa nos enseñan los desafíos y soluciones relacionados con la validación de objetos, clases con polimorfismo y otras diferencias notables que hemos encontrado al trabajar con C Sharp, especialmente en comparación con Kotlin.. ✍🏻 Descubre cómo enfrentar la ausencia de ciertas funcionalidades directas en C Sharp, y cómo Microsoft nos ofrece soluciones que, aunque útiles, podrían integrarse de manera más natural en el lenguaje. Exploramos ejemplos prácticos y patrones en el código para abordar estos desafíos. 🙌 Si te interesa aprender programación en C Sharp, o saber más sobre nuestra experiencia con este lenguaje, y las soluciones que hemos ido encontrando, ¡suscríbete al canal de YouTube de Apiumhub para no perderte ni un detalle! Docs referenciados en el vídeo: Typesafe Enum 📑https://www.javacamp.org/designPattern/enum.html Use enumeration classes instead of enum types 📑https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types -- Apiumhub is a software development hub that solves complex problems with high-quality solutions. Our purpose is to build scalable software to help our clients strengthen their businesses with powerful technology. Large and well-known companies have trusted us including Inditex, Mango, Bitpanda, Nestle, Axa, Tous, Adidas and more. Our services include web development, mobile app development, devops, quality assurance and software architecture. In addition to offering these services, we have a learning platform called ApiumAcademy where we offer customized courses. We have two digital products. VYou, a user management and access management solution and Koople, a Feature Flags tool. Both developed by developers for developers. Every year, we host the Global Software Architecture Summit (GSAS). An event that brings together hundreds of software architecture experts interested in learning, sharing, and connecting. Successful industry professionals such as Mark Richards, Neal Fords & Carola Lilienthal have attended our event as speakers. -- Visit our site: https://apiumhub.com/ Learn more about our ApiumAcademy courses: https://apiumacademy.com/ Attend our event, Global Software Architecture Summit: https://gsas.io/ VYou, our digital product: https://vyou-app.com/en/ Koople, our Feature Flags tool: https://www.koople.io/ -- Social: https://twitter.com/Apium_hub https://www.linkedin.com/apium_hub https://www.instagram.com/apiumhub/ -- 00:00 Introducción 01:50 Enums en C# 08:24 Patrón type safe enum 10:43 Solución propuesta por Microsoft 16:25 Enums en Kotlin 20:25 TypeSafe enum en c# 31:43 Conclusión
Breve resumen del Open Space sobre DDD con Christian Ciceri Óscar López. Un evento abierto celebrado en Apiumhub en el que nuestros expertos en arquitectura de Software comparten con el público sus impresiones acerca de multitud de temas relacionados con Domain Driven Design, hablando, entre otras cosas de temas como Event Sourching, CQRS, la relación entre Arquitectura Hexagonal y DDD, o cuando partir agregados, entre otros. 📆 Las preguntas pendientes se tratarán el día 5 de octubre de 2023 en el siguiente enlace https://youtube.com/live/x18VrtQZEHg?feature=share 🙋‍♂️ Suscríbete a nuestro canal de YouTube para participar en el chat durante el evento online. 👉 Puedes ver el vídeo del evento completo en este enlace: https://www.youtube.com/watch?v=m3h_NQdqsmw&ab_channel=Apiumhub -- Ofrecemos un descuento del 30% en la inscripción al Global Software Architecture Summit que estamos organizando en octubre para los asistentes del meetup.www.gsas.io -- Sobre Christian Ciceri y Óscar López: Christian Ciceri es un arquitecto de software y cofundador de Apiumhub, una empresa de desarrollo de software reconocida por su excelencia en arquitectura de software. Comenzó su carrera profesional con un interés específico en temas de diseño orientado a objetos, con profundos estudios en patrones y técnicas de diseño a nivel de código y arquitectura. Es un antiguo practicante de metodologías ágiles, particularmente de programación extrema (eXtreme programming), con experiencia en prácticas como TDD, integración continua, pipelines de compilación y diseño evolutivo. Siempre ha buscado un conocimiento tecnológico amplio; es por eso que ha explorado una amplia gama de tecnologías y estilos arquitectónicos, incluyendo Java, .NET, lenguajes dinámicos, lenguajes de script puros, desarrollo de aplicaciones nativas en C++, capas clásicas, centradas en el dominio, SOA (Arquitectura Orientada a Servicios) clásica y buses de servicios empresariales. En sus propias palabras: "Un arquitecto de software debería crear un ecosistema funcional que permita a los equipos tener una producción escalable, predecible y más económica". Christian es un ponente en conferencias internacionales y co-autor del libro "Software Architecture Metrics", escrito en colaboración con Neal Ford, Eoion Woods, Andrew Harmel-Law, Dave Farley, Carola Lilienthal, Michael Keeling, Alexander von Zitzewitz, Joao Rosa y Rene Weiß. Por otro lado, Oscar Lopez es un experto en desarrollo backend con una notable experiencia en la industria. Ha ocupado roles de liderazgo en proyectos, siendo CTO en Groupalia y Nemuru, así como liderando el aspecto técnico del Grupo Europcar como Tech Lead. Oscar cuenta con destacadas habilidades técnicas y personales, y gracias a su experiencia como profesor, sabe cómo enseñar de manera atractiva y efectiva. Actualmente, Oscar es un experto clave en desarrollo backend en Apiumhub, recibiendo constantemente comentarios altamente positivos de los clientes, marcando la diferencia en sus proyectos de software. Ambos poseen una vasta experiencia en DDD y acaban de diseñar un taller enfocado en DDD y arquitectura hexagonal, abordando los siguientes temas: patrones de DDD, modelado de dominios, arquitectura hexagonal, capa de aplicación, servicios de aplicación, capa de dominio, agregados, entidades, objetos de valor, servicios de dominio, capa de infraestructura, patrón de Outbox/Inbox, arquitecturas orientadas a eventos y antipatrones de microservicios. Esta es una oportunidad excepcional para sumergirse en DDD, compartir experiencias, inquietudes y desafíos, y recibir feedback de líderes en la industria.
Acompáñanos en este Open Space sobre DDD con Christian Ciceri Óscar López. Un evento abierto celebrado en Apiumhub en el que nuestros expertos en arquitectura de Software compartirán con el público sus impresiones acerca de multitud de temas relacionados con Domain Driven Design, hablando, entre otras cosas de temas como Event Sourching, CQRS, la relación entre Arquitectura Hexagonal y DDD, o cuando partir agregados, entre otros. 📆 Las preguntas pendientes se tratarán el día 5 de octubre de 2023 en el siguiente enlace https://youtube.com/live/x18VrtQZEHg?feature=share 🙋‍♂️ Suscríbete a nuestro canal de YouTube para participar en el chat durante el evento online. -- 00:00 Introducción 03:00 Preguntas 09:07 Relación entre Arquitectura Hexagonal y DDD 20:02 ¿Cuándo partir un agregado? 36:42 CQRS, cómo y cuándo usarlo correctamente 52:22 Eventsourcing 58:35 Agregados, casos de uso 1:07:37 Despedida -- Christian Ciceri es un arquitecto de software y cofundador de Apiumhub, una empresa de desarrollo de software reconocida por su excelencia en arquitectura de software. Comenzó su carrera profesional con un interés específico en temas de diseño orientado a objetos, con profundos estudios en patrones y técnicas de diseño a nivel de código y arquitectura. Es un antiguo practicante de metodologías ágiles, particularmente de programación extrema (eXtreme programming), con experiencia en prácticas como TDD, integración continua, pipelines de compilación y diseño evolutivo. Siempre ha buscado un conocimiento tecnológico amplio; es por eso que ha explorado una amplia gama de tecnologías y estilos arquitectónicos, incluyendo Java, .NET, lenguajes dinámicos, lenguajes de script puros, desarrollo de aplicaciones nativas en C++, capas clásicas, centradas en el dominio, SOA (Arquitectura Orientada a Servicios) clásica y buses de servicios empresariales. En sus propias palabras: "Un arquitecto de software debería crear un ecosistema funcional que permita a los equipos tener una producción escalable, predecible y más económica". Christian es un ponente en conferencias internacionales y co-autor del libro "Software Architecture Metrics", escrito en colaboración con Neal Ford, Eoion Woods, Andrew Harmel-Law, Dave Farley, Carola Lilienthal, Michael Keeling, Alexander von Zitzewitz, Joao Rosa y Rene Weiß. Por otro lado, Oscar Lopez es un experto en desarrollo backend con una notable experiencia en la industria. Ha ocupado roles de liderazgo en proyectos, siendo CTO en Groupalia y Nemuru, así como liderando el aspecto técnico del Grupo Europcar como Tech Lead. Oscar cuenta con destacadas habilidades técnicas y personales, y gracias a su experiencia como profesor, sabe cómo enseñar de manera atractiva y efectiva. Actualmente, Oscar es un experto clave en desarrollo backend en Apiumhub, recibiendo constantemente comentarios altamente positivos de los clientes, marcando la diferencia en sus proyectos de software. Ambos poseen una vasta experiencia en DDD y acaban de diseñar un taller enfocado en DDD y arquitectura hexagonal, abordando los siguientes temas: patrones de DDD, modelado de dominios, arquitectura hexagonal, capa de aplicación, servicios de aplicación, capa de dominio, agregados, entidades, objetos de valor, servicios de dominio, capa de infraestructura, patrón de Outbox/Inbox, arquitecturas orientadas a eventos y antipatrones de microservicios. Esta es una oportunidad excepcional para sumergirse en DDD, compartir experiencias, inquietudes y desafíos, y recibir feedback de líderes en la industria. Ofrecemos un descuento del 30% en la inscripción al Global Software Architecture Summit que estamos organizando en octubre para los asistentes del meetup.www.gsas.io
Aunque siempre intentamos hacerlo lo mejor que podemos, hay situaciones que nos pueden llevar a dificultar la mantenibilidad y evolución de nuestros desarollos. Ya sea por introducir complejidad accidental, por no explorar lo suficiente el ámbito del problema o debido al uso de patrones y tecnologías por gusto o por costumbre esto genera sufrimiento a largo plazo en los equipos. En esta charla veremos ejemplos representativos de estos escenarios y exploraremos posibles alternativas que nos pueden ayudar en cada caso. Hablaremos de Microservicios, CQRS, patrones de resiliencia, streams de mensajes y otra serie de buzzwords, y lo haremos tanto desde la perspectiva del abuso como de la del “buen” uso. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Aunque siempre intentamos hacerlo lo mejor que podemos, hay situaciones que nos pueden llevar a dificultar la mantenibilidad y evolución de nuestros desarollos. Ya sea por introducir complejidad accidental, por no explorar lo suficiente el ámbito del problema o debido al uso de patrones y tecnologías por gusto o por costumbre esto genera sufrimiento a largo plazo en los equipos. En esta charla veremos ejemplos representativos de estos escenarios y exploraremos posibles alternativas que nos pueden ayudar en cada caso. Hablaremos de Microservicios, CQRS, patrones de resiliencia, streams de mensajes y otra serie de buzzwords, y lo haremos tanto desde la perspectiva del abuso como de la del “buen” uso.
PromoFarma by DocMorris es una de las empresas tech más grandes de España. Hoy contamos con Andrés Díaz, Senior Software Engineer en Orders Teams, para que nos cuente cómo está hecho por detrás, qué problemas de rendimiento/escalabilidad se han encontrado y los grandes retos a los que se afrontan. Aquí el stack que utilizan en el equipo de Andrés y que veremos en el directo: - DDD - Arquitectura Hexagonal - CQRS - RabbitMQ - MySQL - PHP - GraphQL ﹤🍍﹥ CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 👋 Twitter Andrés: https://twitter.com/andresdiazbcn ├ 🧔🏻‍♂️ Twitter Javi: https://twitter.com/JavierCane ├ 💂‍♀️ Twitter Rafa: https://twitter.com/rafaoe ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely Siguiente directo (Potencial IA): https://www.youtube.com/live/sYZHBO3HRhA
Añadir eventos de dominio en un Sistema Legacy puede llegar a ser muy complicado. Al igual que hacer una primera importación en un nuevo microservicio. Hoy vamos a ver diferentes técnicas para añadir domain-driven design (DDD) en nuestro sistema con o sin CQRS. Curso Gestión de Datos en Bash: https://bit.ly/datos-bash ﹤🍍﹥ CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🫧 Twitter Javi: https://twitter.com/JavierCane ├ 💂‍♀️ Twitter Rafa: https://twitter.com/rafaoe ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🥋 Academy: https://codely.com/academy └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
La arquitectura Onion / Clean / Hexagonal suele ser vista como un gold standard a la hora de organizar el desarrollo de una aplicación. Pero... ¿Seguro que es siempre la mejor opción? ¿Hay alguna forma mejor de organizar nuestro código? En esta sesión veremos otra opción: la llamada Vertical Slice Arquitecture (VSA), una forma diferente de organizar nuestro código que nos puede aportar muchas ventajas. ¿Qué vas a aprender en esta sesión? - Desventajas de una arquitectura Onion/Clean/Hexagonal - Ventajas de la Vertical Slice Architecture. - Como encaja DDD o CQRS en este tipo de architectura. - Cómo pasar de una Onion Arquitecture a una Vertical Slice Arquitecture (Veremos un pequeño ejemplo con código) ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Hoy en día muchos proyectos y aplicaciones se arrancan con el objetivo de desplegarlas en la nube, de soportar una gran cantidad de carga y permitir escalar fácilmente. Si nos fijamos en los grandes proyectos, y nos dejamos llevar por las modas (o el hype), es fácil que acabemos cayendo en la tentación de comenzar a diseñar toda su aplicación con una arquitectura de microservicios ... Porque, ya sabes, eso es lo que todo el mundo hace, ¿verdad? Pero... ¿Son los microservicios un objetivo en sí o un medio para lograr un propósito? En esta charla nos centraremos en un enfoque diferente: volveremos a la base, nos fijaremos más en el camino que en el destino final y veremos cómo siguiendo las prácticas DDD, CQRS, Event-Sourcing y teniendo siempre en mente conseguir Location-Transparency para conseguir diseñar y evolucionar nuestra aplicación comenzando con la sencillez de un monolito pero dotándole de la capacidad de escalar a microservicios cuando (y, lo más importante, sólo si) lo necesitamos. Esta sesión estará dividida en dos partes: Una charla primero y en la segunda parte, haremos un live-coding mostrando cómo llevar a la práctica los conceptos presentados, apoyándose en la capa de abstracción sobre el middleware de mensajería que nos brinda AxonFramework. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
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 that would help others in building event-driven, reactive systems. Sara is an experienced in agile software development methods, she loves to see things from different perspectives. With an all-around approach to software development, from coding skills to high-level architectural view, since she joined AxonIQ she has focused on the development of Axon Framework and Axon Server.