SlideShare una empresa de Scribd logo
1 de 31
AOP (Aspect Oriented Programming) (Programación Orientada a Aspectos) Mayer Horna García 08 de febrero de 2010 copyright © 2010 [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna http://osum.sun.com/group/springperu http://spring.pe
Objetivos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Evolución del Software ,[object Object],[object Object],[object Object],ventas.cpp
Evolución del Software ,[object Object],[object Object],[object Object],Sub  grabarCliente( Codigo  As String ,  Apellido  As String ,  Nombre  As String ,  Calle  As String , Ciudad  As String , … ) 'Codigo para grabar Clientes End Sub ¿Que ocurría si mas adelante, se decide que el cliente no debe registrar Ciudad ni Pais, y SÍ un campo llamado Contacto? Problema : Se hubiera tenido que modificar los parámetros en la función grabarCliente y en cualquier otra función que grabe, consulte o edite un cliente. Solución : Encapsular estas propiedades en una estructura llamada Cliente. ¿¿¿Estaremos hablando de  Clases y Objetos ???
Evolución del Software ,[object Object],[object Object],[object Object],public void  grabarCliente(Cliente objCliente){  // Codigo para grabar Clientes } ClienteServiceImpl.java Cliente -codigo:String -apellido:String -nombre:String … +getNombre():String …
Evolución del Software ,[object Object],[object Object],[object Object]
Problema: ClienteServiceImpl.java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Partiendo de la premisa anterior ,[object Object],1)Aspecto: Seguridad Aspecto: Transaccionalidad 2)  y 5) Aspecto: Auditoria 4) Objetivo Principal ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Partiendo de la premisa anterior(En el Código) ,[object Object],1)Aspecto: Seguridad Aspecto: Transaccionalidad 2)  y 5) Aspecto: Auditoria 4) Objetivo Principal
Partiendo de la premisa anterior(En el Código) ,[object Object],1)Aspecto: Seguridad Aspecto: Transaccionalidad 2)  y 5) Aspecto: Auditoria 4) Solo debemos preocuparnos en el objetivo principal, que es grabar un registro de cliente. Y lo demás separarlo como aspectos
¿Qué es AOP? ,[object Object],[object Object],[object Object]
Aplicación sin separación de aspectos: El método  saveCustomer() , realiza las siguientes funcionalidades: 1) graba un registro en la tabla customer . 2) graba constancia de registro en la tabla auditoria Como observan este proceso 2), se repetiría para tantos métodos de grabado requieran que se registre auditoría.
Aplicación con separación de aspectos: El método  saveCustomer() , realiza las siguientes funcionalidades: 1) graba un registro en la tabla customer . ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Antes de empezar, entendamos algunos conceptos AOP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Antes de empezar, entendamos algunos conceptos AOP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sintaxis AspectJ ,[object Object]
Demo demo01: Creando un proyecto AspectJ   uso de pointcut y advice  aspecto aplicado antes de la ejecución del cuerpo de un  método proyecto: demos_aop
Demo demo02:  Aspecto aplicado después del llamado de un método (Diferencias entre call y execution) Ver los .class generados y comparar diferencias proyecto: demos_aop
Demo demo03:  Aspecto aplicado antes y después de la ejecución del cuerpo    de un método Ver los .class generados y observar el código generado proyecto: demos_aop
Demo demo04:  Aspecto aplicado de tipo  around   Uso de  proceed()  para ejecutar el cuerpo del método Ver los .class generados y comparar diferencias proyecto: demos_aop
Demo demo05:  Aspecto aplicado de tipo  after  solo si el método arroja    una exepción (  after() throwing ()  ) probar throwing(ArithmeticException ex) u otras excep.   Ver los .class generados y comparar diferencias proyecto: demos_aop
Demo demo06:  Aspecto aplicado de forma genérica a un conjunto de métodos   que cumplen un mismo patrón. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
Demo demo07:  Aspecto aplicado de forma genérica a un conjunto de métodos   que cumplen un mismo patrón y que dichos métodos tienen  un parámetro en su declaración. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
Demo demo08:  Aspecto aplicado de forma genérica a un conjunto de métodos   que cumplen un mismo patrón y que dichos métodos tienen  mas de un parámetro en su declaración. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
Demo demowebconaop_base: Proyecto web(Servlets y JSP) sin aspectos   Tarea: Aplicar un aspecto   Solución: proyecto:   demowebconaop_base _solucion proyecto: demowebconaop_base
¿Y que tiene que ver AOP con Spring? ,[object Object]
Spring AOP ,[object Object]
Demo demowebconaop_spring_solucion:  Proyecto web(Spring) con AOP proyecto: demowebspringaop
Preguntas
Gracias Mayer Horna García [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna http://osum.sun.com/group/springperu http://spring.pe

Más contenido relacionado

Destacado (20)

CLONACIÓN
CLONACIÓNCLONACIÓN
CLONACIÓN
 
Mi PresentacióN Ppt Fjg
Mi PresentacióN Ppt   FjgMi PresentacióN Ppt   Fjg
Mi PresentacióN Ppt Fjg
 
Si Leemos Frecuentemente Desarrollaremos Una Mente Mas Agil
Si Leemos Frecuentemente Desarrollaremos Una Mente Mas AgilSi Leemos Frecuentemente Desarrollaremos Una Mente Mas Agil
Si Leemos Frecuentemente Desarrollaremos Una Mente Mas Agil
 
Mitos del Internet
Mitos del InternetMitos del Internet
Mitos del Internet
 
Apuntes2º t2
Apuntes2º t2Apuntes2º t2
Apuntes2º t2
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tema1
Tema1Tema1
Tema1
 
Curriculum
CurriculumCurriculum
Curriculum
 
Narrativas digitales2
Narrativas digitales2Narrativas digitales2
Narrativas digitales2
 
Administracion De Rrhh
Administracion De RrhhAdministracion De Rrhh
Administracion De Rrhh
 
Examen psicologico
Examen psicologicoExamen psicologico
Examen psicologico
 
INFOVA Presentación
INFOVA PresentaciónINFOVA Presentación
INFOVA Presentación
 
Presentación proyecto
Presentación proyectoPresentación proyecto
Presentación proyecto
 
Annuncia
AnnunciaAnnuncia
Annuncia
 
Version liviana de teorias
Version liviana de teoriasVersion liviana de teorias
Version liviana de teorias
 
Sintomas Bebida
Sintomas BebidaSintomas Bebida
Sintomas Bebida
 
Perfumadas ante el trono del rey
Perfumadas ante el trono del reyPerfumadas ante el trono del rey
Perfumadas ante el trono del rey
 
Palabras del Corazon
Palabras del CorazonPalabras del Corazon
Palabras del Corazon
 
26spanish
26spanish26spanish
26spanish
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
 

Similar a AOP - OSUM springperu(1era Reunion)

Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareLenin Lozano
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónPablo Parola
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La ProgramaciónPablo Parola
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
Webinar usando graylog para la gestión centralizada de logs
Webinar usando graylog para la gestión centralizada de logsWebinar usando graylog para la gestión centralizada de logs
Webinar usando graylog para la gestión centralizada de logsatSistemas
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2Roger CARHUATOCTO
 
Frank estaba ensayo
Frank estaba ensayoFrank estaba ensayo
Frank estaba ensayoID Z
 
Agile SOA
Agile SOAAgile SOA
Agile SOAWSO2
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumenfelixzenon
 
Programación orientada a aspectos
Programación orientada a aspectosProgramación orientada a aspectos
Programación orientada a aspectosprogramadorjavablog
 
Mahikel s peñuelag_ensayo
Mahikel s peñuelag_ensayoMahikel s peñuelag_ensayo
Mahikel s peñuelag_ensayoMahikel Peñuela
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )em3marquez
 
Fases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa ConceptualFases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa Conceptualariannalizeeth
 

Similar a AOP - OSUM springperu(1era Reunion) (20)

Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming Middleware
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La Programación
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Modelos de proceso de software
Modelos de proceso de softwareModelos de proceso de software
Modelos de proceso de software
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Webinar usando graylog para la gestión centralizada de logs
Webinar usando graylog para la gestión centralizada de logsWebinar usando graylog para la gestión centralizada de logs
Webinar usando graylog para la gestión centralizada de logs
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2
 
Frank estaba ensayo
Frank estaba ensayoFrank estaba ensayo
Frank estaba ensayo
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
 
Agile SOA
Agile SOAAgile SOA
Agile SOA
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Expo metodologia
Expo metodologiaExpo metodologia
Expo metodologia
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumen
 
Programación orientada a aspectos
Programación orientada a aspectosProgramación orientada a aspectos
Programación orientada a aspectos
 
Mahikel s peñuelag_ensayo
Mahikel s peñuelag_ensayoMahikel s peñuelag_ensayo
Mahikel s peñuelag_ensayo
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )
 
Fases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa ConceptualFases de dasorrollo de un software Mapa Conceptual
Fases de dasorrollo de un software Mapa Conceptual
 

Último

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

AOP - OSUM springperu(1era Reunion)

  • 1. AOP (Aspect Oriented Programming) (Programación Orientada a Aspectos) Mayer Horna García 08 de febrero de 2010 copyright © 2010 [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna http://osum.sun.com/group/springperu http://spring.pe
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Aplicación sin separación de aspectos: El método saveCustomer() , realiza las siguientes funcionalidades: 1) graba un registro en la tabla customer . 2) graba constancia de registro en la tabla auditoria Como observan este proceso 2), se repetiría para tantos métodos de grabado requieran que se registre auditoría.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Demo demo01: Creando un proyecto AspectJ uso de pointcut y advice aspecto aplicado antes de la ejecución del cuerpo de un método proyecto: demos_aop
  • 19. Demo demo02: Aspecto aplicado después del llamado de un método (Diferencias entre call y execution) Ver los .class generados y comparar diferencias proyecto: demos_aop
  • 20. Demo demo03: Aspecto aplicado antes y después de la ejecución del cuerpo de un método Ver los .class generados y observar el código generado proyecto: demos_aop
  • 21. Demo demo04: Aspecto aplicado de tipo around Uso de proceed() para ejecutar el cuerpo del método Ver los .class generados y comparar diferencias proyecto: demos_aop
  • 22. Demo demo05: Aspecto aplicado de tipo after solo si el método arroja una exepción ( after() throwing () ) probar throwing(ArithmeticException ex) u otras excep. Ver los .class generados y comparar diferencias proyecto: demos_aop
  • 23. Demo demo06: Aspecto aplicado de forma genérica a un conjunto de métodos que cumplen un mismo patrón. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
  • 24. Demo demo07: Aspecto aplicado de forma genérica a un conjunto de métodos que cumplen un mismo patrón y que dichos métodos tienen un parámetro en su declaración. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
  • 25. Demo demo08: Aspecto aplicado de forma genérica a un conjunto de métodos que cumplen un mismo patrón y que dichos métodos tienen mas de un parámetro en su declaración. Uso de expresiones de AspectJ en los pointcut proyecto: demos_aop
  • 26. Demo demowebconaop_base: Proyecto web(Servlets y JSP) sin aspectos Tarea: Aplicar un aspecto Solución: proyecto: demowebconaop_base _solucion proyecto: demowebconaop_base
  • 27.
  • 28.
  • 29. Demo demowebconaop_spring_solucion: Proyecto web(Spring) con AOP proyecto: demowebspringaop
  • 31. Gracias Mayer Horna García [email_address] [email_address] http://www.linkedin.com/in/mayerhorna http://mayerhorna.blogspot.com @mayerhorna http://osum.sun.com/group/springperu http://spring.pe