Este documento explica los fundamentos de la programación orientada a aspectos (POA). La POA permite separar la funcionalidad principal de una aplicación de conceptos transversales como la seguridad, sincronización y persistencia mediante la utilización de aspectos. Los aspectos se implementan usando lenguajes de aspectos especiales y son combinados con el código funcional a través de un tejedor. La POA ofrece ventajas como un código más modular, reutilizable y fácil de modificar, aunque también plantea desafíos como posibles conflictos entre