A tecnologia Java tem se caracterizado como um padrão de mercado, e, com a crescente complexidade dos sistemas, existem situações em que Java e Programação Orientada a Objetos (POO) não são capazes de atender satisfatoriamente aos usuários, sem que alguns de seus conceitos e regras sejam transgredidos. A Programação Orientada a Aspectos (POA) surgiu como resposta a essa problemática, fornecendo mecanismos que permitem a separação clara entre os interesses da lógica de negócio e a lógica de suporte à aplicação, que normalmente se entrelaçam em um emaranhado de difícil compreensão. A tecnologia Java tem se caracterizado como um padrão de mercado, e, com a crescente complexidade dos sistemas, existem situações em que Java e Programação Orientada a Objetos (POO) não são capazes de atender satisfatoriamente aos usuários, sem que alguns de seus conceitos e regras sejam transgredidos. A Programação Orientada a Aspectos (POA) surgiu como resposta a essa problemática, fornecendo mecanismos que permitem a separação clara entre os interesses da lógica de negócio e a lógica de suporte à aplicação, que normalmente se entrelaçam em um emaranhado de difícil compreensão.