Ir al contenido principal

Entradas

Mostrando entradas de septiembre, 2017

AOP con Spring Boot Programación orientada a aspectos ASPECTJ (en 10 minutos)

Código fuente del articulo: https://www.dropbox.com/s/zf7vkaiy9rmmuw5/TestSpringBoot.zip?dl=0 Un paradigma no tan nuevo en la programación es la Programación Orientada a Aspectos, digamos que es ir un paso adelante de la Programación Orientada a Objetos y que ante todo es algo muy simple y que esta aquí para hacer las cosas mas modulares y ante todo simples e eficientes. Para entender que es la AOP, primero tienes que tener claro que es un aspecto, los aspectos son todos los (cross cutting concerns) es decir todos los problemas transversales, cosas como la seguridad, los logs, las transacciones, auditoria ... etc.  Todos estos problemas son asuntos que le conciernen a toda la aplicación y que como tal necesitan una solución global que no afecte la implementación de otros módulos. Imagina que para la aplicación REST que creamos en  este articulo ( https://programmingbabel.blogspot.com/2017/09/rest-sevices-con-spring-boot-en-minutos.html   ) ANTES DE CONTINU...

Conectarse al LDAP (directorio activo) utilizando JAVA

Un LDAP es un sistema de autenticación estándar utilizado por muchas compañías para controlar el acceso a aplicaciones y recursos. Por lo general se espera que cualquier nueva aplicación haga uso del LDAP para realizar la autenticación y controlar los permisos en forma unificada, la seguridad es transversal a todos los procesos que realiza una organización. Una vez regado el cuento a lo que vinimos, como conectarse a un LDAP. Lo primero que debes saber es que no se requieren librerías adicionales, JAVA en su distribución estandar ya cuenta con todo lo que necesitas. primero tres siglas que tienes que tener en cuanta. CN  = Common Name OU  = Organizational Unit DC  = Domain Component Para conectarse primero necesitas es instanciar un Objeto de la clase LdapContext, este se encargara de manejar la conexión al LDAP y las peticiones que se hagan al mismo. por consiguiente necesitara que le entregues una serie de propiedades de conexión. Esto lo haras con un Map de...

Java 8 Iteradores pasivos (forEach) y Stream API

Antes de la funcion forEach, todos los iteradores en JAVA eran activos es decir, involucraban un ciclo for o un while que recorría la colección de datos hasta cumplir con cierta condición. Es decir que recorrer una colección se vería así; List<String> names = new LinkedList<String>(); for (String name : names)     System.out.println(name); Con la introducción de forEach como una función en la interfaz Iterable, todas las clases que implementen iterable tiene añadida la función forEach y el siclo anterior se podría simplificar así: names.forEach(name -> System.out.println(name)); como puedes ver es una sola linea de código y lo mas inusual es este símbolo -> lo que nos indica estamos lidiando con una expresión Lambda, si no sabes nada de expresiones lambda ingresa a este link que tiene un tutorial a prueba de... digamos que for dummies ( https://programmingbabel.blogspot.com/2017/09/lambda-expressions-java.html ). La expresión lambda en ...

Lambda expressions JAVA

Código fuente articulo: https://www.dropbox.com/s/pzw44ot0ji2metl/Lambda.zip?dl=0 Una nueva funcionalidad introducida desde la versión 8 de JAVA son las Lambda expressions, estas son expresiones que simplifican la escritura de código haciendo mas concisa la implementación de algunos métodos. Piensa en clases anónimas pero aun mas simples, el problema es que al simplificar se agregan nuevos símbolos, un par de clases de utilidad y se deben tener en cuenta reglas como el numero de métodos que debe especificar la interfaz a implementar. Para iniciar diremos que para usar una expresión Lambda se necesita definir una interfaz interface VerificarPersona {     boolean verificar(Persona p);   } Esta interfaz es llamada interfaz funcional porque solo tiene una función, se decir si le agregas otra función la arruinas de forma miserable, porque el compilador no sabría cual de las dos funciones estarías implementando con la expresión Lambda. Para ilustrar ...

Clases anónimas JAVA (Anonymous Classes)

Código fuente articulo: https://www.dropbox.com/s/pzw44ot0ji2metl/Lambda.zip?dl=0 Las Clases anónimas en JAVA son una solución rápida para implementar una clase que se va utilizar una vez y de forma inmediata. Por ejemplo el  EventHandler  para un botón se puede implementar en la misma asignación valiendonos de la interfaz  EventHandler  que ya esta definida. Pero mejor vamos con un ejemplo mas simple. De la definición anterior concluimos dos cosas la primera es que para crear una clase anónima es necesario haber definido una interfaz, una clase o una clase abstracta. La clase anónima lo que hará sera implementar la interfaz definida o sobre escribir los métodos definidos. Para ilustrar esto utilizaremos el ejemplo del JAVA Tutorial https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html . en este ejemplo tenemos que implementar clases que cumpliendo con la interfaz Saludo sean capaces de saludar en diferentes idiomas. El paso uno ...