Implementación de arquitecturas hexagonales

Sdílet
Vložit
  • čas přidán 2. 10. 2022
  • Implementación de arquitecturas hexagonales y ejemplo de una API Rest con Java, Spring Boot y PostgreSQL.

Komentáře • 136

  • @NullSafeArchitect
    @NullSafeArchitect  Před rokem +52

    Aquí tenéis disponible el código de ejemplo del vídeo de esta semana sobre Arquitectura Hexagonal con #Java #SpringBoot y #PostgreSQL . Buen fin de semana -> github.com/acoronadoc/java-springboot-hexagonal-architecture-sample

    • @rickhunter8216
      @rickhunter8216 Před 11 měsíci +3

      PROFE CON SPRING INITIALIZR ES MAS RAPIDO. SE NOTA QUE UD ES DE LA VIEJA ESCUELA. 🙂

  • @kaliduss
    @kaliduss Před 5 měsíci +4

    Simple, directo al grano y bien explicado. Muchas gracias!

  • @dannyjimenez182
    @dannyjimenez182 Před 4 dny +1

    Gran video, muchas gracias!

  • @Jblanco1989
    @Jblanco1989 Před rokem +1

    Que alegría verte de vuelta. Como siempre, otro vídeo de gran valor. Gracias por todo tu aporte y dedicación.

  • @tohno_shiki
    @tohno_shiki Před rokem +1

    Muchísimas gracias por hacerte un tiempo a pesar de que ahora te cuesta más sacar espacio para esto, hacía tiempo que no veía nuevos vídeos por el canal, que bueno que lo vuelvas a retomar aún si ya no se puede al ritmo de antes. Me gusta mucho la forma en la que explicas, ayudándome mucho a entender algunos conceptos que me son nuevos, gracias desde Chile

  • @Fibri77o
    @Fibri77o Před rokem +1

    Se te echaba mucho de menos. Qué alegría verte de vuelta!

  • @alxrlja
    @alxrlja Před rokem +3

    Acabo de encontrar tu canal y estoy viendo los vídeos anteriores. Solo puedo decir que todos tus videos son oro puro. Tienes conmigo un seguidor más , veo que dejaste de subir durante un tiempo, espero no haber llegado muy tarde y que no desistas de crear estos videos tan buenos! Muchas Gracias por compartir tu experiencia con el mundo, y apenas tenga oportunidad, más que suscribirme, me unirme a tu canal.

  • @juansarm
    @juansarm Před rokem +1

    Que bueno verte por aquí, grande. Saludos

  • @EliberioSoftEC
    @EliberioSoftEC Před rokem +1

    Me alegra tenerte de vuelta, siempre tutos de gran calidad saludos desde Ecuador

  • @alexonxxx
    @alexonxxx Před rokem +1

    Un placer volverte a tenerte por aquí! Muy buen video!

  • @yonathangutierrez1733
    @yonathangutierrez1733 Před rokem +1

    Me alegra volverte a ver de vuelta!

  • @menietom
    @menietom Před rokem +1

    Que alegría que vuelvas! mil gracias

  • @angelmanuelcamarero9813
    @angelmanuelcamarero9813 Před rokem +2

    Me alegra que vuelvas a publicar contenido, contenido bien explicado, que hace que quieras aprender más sobre lo que has hablado. Gracias.

  • @evapardeza1647
    @evapardeza1647 Před rokem +1

    Albert, qué alegría volver a tenerte aquí! Muchas gracias!

  • @angelfornes4812
    @angelfornes4812 Před rokem +5

    Encantado de volver a verte, yo creo que seria interesante repasar temas de monitorización (grafana, nagios, elastic...) y un poco de AWS. Muchas gracias por compartir

  • @gmoqa1188
    @gmoqa1188 Před rokem +1

    Se te echaba de menos, que gran sorpresa, buen video.

  • @d0bl3r
    @d0bl3r Před rokem +2

    Me alegro de tu vuelta Albert!!! hace poco revise uno de los videos antiguos por una dudas y me sirvio de mucho.

  • @franmartin2758
    @franmartin2758 Před rokem +8

    Me alegro de tu vuelta!!!

  • @walterrodriguez2696
    @walterrodriguez2696 Před rokem +2

    Albert, gran retorno con este video! se agradece mucho! . De ser posible hacer otro video más con arquitectura hexagonal. Saludos!

  • @13680seba
    @13680seba Před rokem +5

    Volvió¡ Que bueno¡ Estoy aprendiendo mucho con sus videos¡ Usted esta muy adelantado a los temas y muy actualizado, dele tiempo a su canal y será millones¡ Desde Córdoba, Argentina todos los éxitos y gracias por tanto¡

  • @GioNoris
    @GioNoris Před rokem +1

    Ey me alegra verte de vuelta , gracias

  • @cgr4817
    @cgr4817 Před 5 měsíci +2

    La mejor explicación práctica que he visto sobre arquitectura hexagonal. Muchas gracias!

  •  Před rokem +7

    Se te echaba de menos. Gracias por este pedazo de vídeo. Como decías, las arquitecturas hexagonales se terminan tergiversando por la simplificación del concepto. Gracias al ejemplo lo tenemos más claro. Temas interesantes: patrones CQRS, Event Sourcing y Sagas. También estaría interesante explicar en una serie, algunos de los consejos más útiles del código limpio

  • @AndreySalas
    @AndreySalas Před rokem +1

    Excelente, me alegra tu regreso.

  • @pabloarancibia
    @pabloarancibia Před 7 měsíci +2

    Muchas gracias, es muy dificil encontrar contenido de esta calidad con casos prácticos. Esto tiene mucho valor para los que estamos aprendiendo arquitectura. Saludos!!!!!

  • @Pablo-Ramirez
    @Pablo-Ramirez Před rokem +1

    Felicitaciones Albert me alegro por tu nuevo video, como siempre muy bien explicado. Saludos.

  • @alextempra2026
    @alextempra2026 Před rokem +1

    Gracias por todo el contenido interesante que se trata en tu canal, es de gran utilidad para los que nos iniciamos en el mundo laboral

  • @camilofernandez9542
    @camilofernandez9542 Před rokem +1

    Como te extrañaba gran Maestro, aprendo de otros pero siempre vuelvo para aprender de ud.

  • @centineladeisrael
    @centineladeisrael Před 10 měsíci +1

    Es verdad profe un poco de gente en CZcams que no saben de programación explicando lo que no saben , usted si sabe

  • @alonsodeviana6010
    @alonsodeviana6010 Před rokem +1

    Que maravilla!días buscando documentación de la arquitectura hexagonal y en media hora me lo has dejado clarísimo!muchas gracias máster!!

  • @samuelsaldana1575
    @samuelsaldana1575 Před rokem +1

    Excelente, no se nos pierda... Oportuno tema, como siempre... Saludos desde Panamá.

  • @QKST117
    @QKST117 Před rokem +1

    Buen video, justo en tema que ahora se me hace muy interesante. ❤

  • @timberoable
    @timberoable Před rokem +1

    vale la pena. Es cierto. Es usted un crack y mejor profesor.

  • @FranciscoOrtizC
    @FranciscoOrtizC Před rokem +1

    Muy buena explicación y ejemplo. Muchas Gracias !!!!

  • @user-bk6lv9md6j
    @user-bk6lv9md6j Před 5 měsíci +1

    Me ha venido genial para entenderlo, gracias por existir!

  • @potnox
    @potnox Před rokem +1

    que gusto verte de nuevo

  • @franciscoalanzavesromero4944

    Gran programador y muy bien explicado el video......

  • @dspada1965
    @dspada1965 Před rokem +1

    Se lo extrañaba por qui maestro, excelente video

  • @mjatmjatmjat
    @mjatmjatmjat Před 8 měsíci +1

    La mejor explicación que he visto hasta el momento. Excelente

  • @sergiocentenero
    @sergiocentenero Před rokem +2

    Impresionante la forma de explicar la arquitectura hexagonal. Muchisimas gracias por tu explicación.

  • @crisswalt2
    @crisswalt2 Před rokem +1

    Excelente, muy buen vídeo. Saludos cordiales desde Chile

  • @GargaMelBodacho
    @GargaMelBodacho Před rokem +1

    Me ha resultado muy útil, refactorizando un proyecto que supuestamente usan está arquitectura y la verdad es que me has aclarado bastante

  • @yamid-rc
    @yamid-rc Před rokem +1

    Muchas gracias por compartir sus conocimientos para todos

  • @jacobgonzalez4746
    @jacobgonzalez4746 Před rokem +1

    Excelente ejemplo me ayudó a acaparar muchas dudas sobre java/kotlin, muchas gracias

  • @gouki178
    @gouki178 Před rokem +1

    Volviste Albert que bueno !!! Abrazo !!

  • @TheWilfrido
    @TheWilfrido Před rokem +2

    Mi querido Albert tu canal me ha servido de mucho para repasar temas. Ojalá te animes en un futuro a hablar y demostrar cosas no tan conocidas o poco habladas, que se encuentran difícilmente en internet, como el tema de Kubernetes de hacer actualizaciones progresivas sin tiempo de inactividad del servicio "Rolling updates"...

  • @miguelcuevas9514
    @miguelcuevas9514 Před rokem +1

    Te felicito por tu trabajo. grandiosa y muy util explicación.

  • @SkillTrailMalefiahs
    @SkillTrailMalefiahs Před 10 měsíci +1

    Increible explicación!

  • @mateohuancho5497
    @mateohuancho5497 Před rokem +1

    nuevo suscriptor, este es una joya, muchas gracias

  • @andresariascapurro
    @andresariascapurro Před rokem +1

    gracias por compartir tu conocimiento y hacerlo de una forma sencilla y clara

  • @edgaralfonsopatroncoral3568

    Despues de un año regreso el buen Albert saludos bro. gracias

  • @SaulRincon
    @SaulRincon Před rokem +1

    Muchas gracias por regresar (y)

  • @HoydejameDormir
    @HoydejameDormir Před rokem +1

    Ya se lo extrañaba maestro!

  • @luiscid5239
    @luiscid5239 Před 3 měsíci

    La verdad que me ha gustado mucho el video, es largo pero necesario, con el ejercicico práctico se aclaran muchas dudas, ya que consultas por ahí y cada uno lo hace como quiere, respetando un poco los conceptos base, ... más o menos.
    Me asalta 2 dudas:
    i) Al usar el objeto de dominio en el adaptador de BBDD. Dado que pensaba que los objetos de dominio solo se usaban dentro de la capa application.
    ii) El uso de un repositorio genérico, que entiendo que puede ser muy corto cuando precises de búsquedas específicas, no se si sería mejor tirar por Spring Data Jpa. Además, que entiendo que si vas haciendo aplicaciones pequeñas, quizás no haya tantos repositorios.

  • @user-qw5bt2xp3e
    @user-qw5bt2xp3e Před 9 měsíci +1

    Muchas Gracias, considero que este es un buen proyecto para aplicarle Vertical Slice

  • @juanrebella2589
    @juanrebella2589 Před rokem +2

    Gracias Albert!
    Abrazo.

  • @fernandobayona
    @fernandobayona Před rokem +1

    Me gusto mucho esta explicación

  • @JesusKITT
    @JesusKITT Před rokem +1

    Este contenido me ha servido para aclararme un poco más con un problema que estoy teniendo en el mismo caso de un proyecto de CRM para una tienda y no consigo desde mi proyecto con Springboot inserte datos utilizando Hibernate H2 tiene como registros customers, products, price...

  • @mirxtremapps
    @mirxtremapps Před 10 měsíci +1

    Excelente explicación!, apenas estoy aprendiendo y explicas muy bien, otra cosa es que no he visto muchos ejemplos del lado del front. y otros ejemplos he visto que todas las interfaces van en el dominio porque es el que define las reglas. tal vez como tu dices no he visto un estandar en el scafold de carpetas.
    un saludo desde colombia y aqui tienes un sub mas!

  • @demoel
    @demoel Před rokem +1

    Qué bueno !!! Gracias a ti tengo mi página con certificado ssl .. lo recuerdo muy bien … no se desaparezcas amigo 😅..

  • @LtdJorge
    @LtdJorge Před rokem +1

    Hostia Albert, pensaba que te había pasado algo. Bienvenido de nuevo :)

  • @alexxyolol4903
    @alexxyolol4903 Před rokem +1

    i really apreciate your help with dowloanding this software

  • @fabiansepulveda4634
    @fabiansepulveda4634 Před rokem +1

    Hey man, It works great and without any problems.

  • @cesarram0s
    @cesarram0s Před rokem +1

    Enhorabuena 👏!!!

  • @biko8
    @biko8 Před rokem +1

    Bienvenido!! 🚀 Buen tema!

  • @sendo_19
    @sendo_19 Před rokem +4

    El retorno del rey

  • @rodrighost
    @rodrighost Před rokem +1

    Excelente video 😉

  • @DuluxTV
    @DuluxTV Před rokem +1

    Interesante video, ojala pueda hacer videos sobre implementacion serveless, saludos.

  • @claudioaltamirano389
    @claudioaltamirano389 Před rokem +1

    muchas gracias!!

  • @FERNANDOMATADECOCO
    @FERNANDOMATADECOCO Před rokem +1

    Buena explicaciónsobre ingeniería de software

  • @benjaminsepulveda1664

    Que genial que vuelvas a generar contenido, hexagonal es un gran tema eso si en mi opinión los puertos no fueron implementados de la manera que significan de verdad los puertos de entrada son interfaces que interactúan con el dominio y los puertos de salida son los que interactúan con componentes externos al dominio lo mismo para las capa de application ejemplo: un repositorio sería un puerto de entrada y una interface que envíe un correo o ejecute una acción externa al dominio o sea no lo modifique sería un puerto de entrada. Pero como dijo en el video no existe una receta rígida para implementar hexagonal

    • @pacoscotty9693
      @pacoscotty9693 Před rokem

      Me sacas de dudas, es como creía que se implementaba, pero al ver que el lo hace de esta manera me ha surgido la duda. Gracias!

  • @gelver.chinchilla
    @gelver.chinchilla Před rokem +1

    Welcome back!!!

  • @alesofton
    @alesofton Před rokem +2

    Bravo!!!!

  • @christiansanchez2217
    @christiansanchez2217 Před rokem +1

    GRANDE CRACK!!!

  • @kajotaese-uu7qm
    @kajotaese-uu7qm Před 8 měsíci +1

    "Si no es fácil de testear no se está haciendo bien" me quedo mucho con esa frase.
    La gran mayoría de arquitecturas hexagonales en las que trabajé o no tienen test o tienen test que son complicados de mantener o abusan de mocks.

  • @harlxxx
    @harlxxx Před rokem +2

    Hace un tiempo encontre tu canal, y todo el contenido es excelente se te agradece mucho. Solo tengo una duda con respecto a como se estructura esta arquitectura, tengo entendido que las dependencias van de adentro hacia afuera DOMINIO(No depende de nada externo) APLICACION(Puede depender de dominio pero no de INFRA) INFRA(Pueden depender de dominio y aplicacion ) no se si mi pensamiento es muy purista. por ahi fue algo que se te paso en el ejemplo donde aplicacion depende de infra(porque los puertos y adaptadores los colocaste en infra). Saludos

  • @rickhunter8216
    @rickhunter8216 Před 11 měsíci

    QUE RICA DEPILADA DE CEJAS SE HIZO PROFE. 🙂

  • @robertomendez7405
    @robertomendez7405 Před rokem +4

    Muy buen video. A partir de ahora tienes un nuevo seguidor :)
    Pero quería comentar algo que no se si está bien... veo que en el caso de uso `CustomerUseCase` que se encuentra en la capa de Aplicación se está haciendo uso de un componente que se encuentra en infraestructura... que es el `EntityRepository` violando el principio de que solo las capas exteriores tienen conocimiento de las capas internas... se me está pasando algo?
    Yo por mi parte lo que haría seria simplemente mover esa interfaz de EntityRepository a Aplicación, aunque lo que solemos hacer es tener todas las interfaces de las entidades en el Dominio.... que tampoco se si es el lugar correcto. ¿Qué opinas de todo esto que te comento?

    • @ciltocruz
      @ciltocruz Před 10 měsíci +1

      Es que la interfaz debe estar en la carpeta de aplicación y su implementación en la infraestructura.

  • @jrbarcenilla8019
    @jrbarcenilla8019 Před rokem +1

    Bien!!

  • @ssupercrack
    @ssupercrack Před rokem +1

    Grande

  • @kevinospina9617
    @kevinospina9617 Před rokem +1

    Hola Albert, muchas gracias por la explicación, de pronto recomiendas alguna bibliografía para complementar?

  • @ismaelescobarcorona7256
    @ismaelescobarcorona7256 Před rokem +1

    No me gustó la implementación, pero eres muy bueno como arquitecto en la reutilización de código, aprendí algunas cosas interesantes

  • @jeffersonsantillan6925
    @jeffersonsantillan6925 Před rokem +1

    Hola, si que te haces esperar, pero me diste tiempo a ver hartos videos tuyos de dockers, kubernetes y cloud

  • @manuvalbu
    @manuvalbu Před rokem +1

    Lo del hexágono no es que esté mal ni sea falso. Es simplemente un símil con 6 adaptadores. Igual que ponen un hexágono, podrían poner un heptágono, un pentágono o un cuadrado.
    Sino estás de acuerdo con lo del hexágono entonces no la denomines hexagonal, denomínala arquitectura de puertos y adaptadores, que es su otro nombre.

  • @gabrielavalle626
    @gabrielavalle626 Před rokem

    Buenos días. gracias por la explicación con el ejemplo queda mas claro. Una de las ideas de las arquitecturas limpias es que el dominio no dependa de ninguna librería, al usar lombok en el domain ¿ no estamos acoplando el domain a una librería ?
    Gracias, saludos!

  • @JamsMendez
    @JamsMendez Před rokem +1

    💙

  • @FranciscoMartinez-uk6ni
    @FranciscoMartinez-uk6ni Před rokem +2

    Me ha parecido genial la explicación, a mi siempre me preocupa cómo estructurar los proyectos. La inyección de dependencia lo hace directo spring sin tener que configurar nada? Y el testing como se haría?
    Muchas gracias!

  • @Piczzi
    @Piczzi Před rokem +2

    El "EntityRepository" es como lo que viene siendo un "DAO" ??

  • @lubeckable
    @lubeckable Před rokem +1

    bravisimo

  • @oshoosho4604
    @oshoosho4604 Před 11 měsíci +1

    14:00 ES EN SERIO!!!!
    USE spring initializr!!!!!

  • @gerard2309
    @gerard2309 Před 4 měsíci

    Hola Albert, muchas gracias por tan excelente video, tengo una pregunta, es buena practica mantener los servicios o la capa de aplicación libre de DTOS y mantener toda esta manipulación de DTOS y mappers en la capa de infraestructura o controllers? Muchas gracias.

  • @rjurado5867
    @rjurado5867 Před rokem

    Muy completo el vídeo. Me choca que la interface del repositorio se encuentre en la carpeta de infra. En las arquitecturas límpias suelo ver la definición del repositorio en la capa de dominio y su implementación en la de infraestructura.

  • @maikolcucunuba2252
    @maikolcucunuba2252 Před 4 měsíci

    mil gracias por la explicacion, en este caso si quisiera cambiar de base de datos el cambio se tendria que hacer creando la por ejemplo la clase MysqlRepository en el paquete outputadapter?

  • @ricanmalra
    @ricanmalra Před rokem

    Que son los value object (vo)? Excelente video.. muchas gracias por compartir el repositorio..

  • @Ajfcvh
    @Ajfcvh Před rokem +1

    Tengo una duda, la capa de dominio y casos de usos o de negocios no debería ser independiente de la tecnología de persistencia o interfaz con el usuario?, es decir en este caso seria código java puro, sin anotaciones que hagan referencia a Spring. Pues de esta forma si cambiamos el framework
    o el tipo de aplicación por ejemplo a una aplicación de escritorio o móvil, no tendríamos que cambiar nada la lógica de negocio porque no está amarrada a ninguna tecnología en particular lo único que tendríamos que hacer es cambiar los adaptadores y lo que esta después y que respondan a la tecnología de persistencias etc.

  • @ignaciocaffaratti867
    @ignaciocaffaratti867 Před rokem +2

    Buen video!, en un momento haces referencia a no crear repositorios por cada entidad. Pero me gustaría saber, si tenes alguna consulta compleja o especifica de algunas entidades (Siempre las hay en proyectos de la vida real), donde pondrías estas consultas? En un repositorio generico como en este ejemplo PostgresRepository? No crees que sería muy poco cohesivo?. Saludos!

    • @jhonnyvargas7421
      @jhonnyvargas7421 Před 7 měsíci

      También me pregunto cómo haría la inyección de dependencias en ese caso.

  • @jesuscangalaya5450
    @jesuscangalaya5450 Před 11 měsíci

    Hola albert , alguna documentación que me recomiendas leer para aprender más sobre arquitectura exagonal? 😊

  • @eliotanderson658
    @eliotanderson658 Před rokem +1

    Bienvenido

  • @yonathangutierrez1733
    @yonathangutierrez1733 Před rokem +1

    Observabilidad: extender usos de Prometheus y Jaeger en diferentes proyectos (agente y cliente caso Jaeger)

  • @mamisho
    @mamisho Před rokem

    Primeramente déjame felicitarte por el vídeo, soy nuevo subscriptor. Respecto a la dependencia entre capas tengo la duda de por qué la interface del input y output van en el paquete de infraestructura, no se supone que quien pone el contrato/puerto/interfaz es la capa de aplicación?. Y quien depende de dicha capa es la infraestructura. Si la dependencia lo dicta así, por qué se coloca la interfaz en otro paquete?. Es solo una forma de organizar los paquetes o realmente tienen que estar ahí?. Lo pongo como observación porque si queremos cambiar todo el paquete, no llevamos también la interfaz. Y la gracia es que podamos cambiar sin menor coste. Que no digo que no se haga porque finalmente quien implementa el adaptador al puerto está en la infraestructura.