¿Cuántas veces encontramos la necesidad de exponer como servicios distintas funciones de nuestras aplicaciones? O peor aún, ¿cuántas veces nos vemos en la necesidad de consumir este tipo de servicios?
Es en estas situaciones donde solemos hacer uso de los Web Services, y en particular SOAP y sus estándares asociados(WSDL, WS-Security, WS-Notification, etc), que aunque cumplen con su propósito suelen traer bajo el brazo una serie de inconvenientes que no se pueden obviar (complejidad extra – ya sea en los XML para la comunicación, como en los clientes-, perdida de performance, dificultad para debbugear, etc.) . Muchos de ustedes, seguramente, habrán usado CXF para configurarlos, y aunque con eso es probable que se hayan evitado ciertas dificultades en la configuración, el resto de los aspectos “negativos” no desaparecen tan rápido.
Es por esto que en este post quiero mostrarles como utilizar CXF para exponer o consumir servicios sin agregar complejidad adicional utilizando servicios RESTful.
Muchos de los que escriben unit test, seguramente se habrán topado con la necesidad de crear objetos para el Fixture de los diferentes tests.
Una primera solución a esta cuestión consiste en crear los objetos del fixture directamente en el test method.
Supongamos que el objeto necesario en el fixture es un Person que requiere un nombre, apellido y documento para poder existir, entonces tendríamos el siguiente código:
public void testMethod() {
Person person = new Person("Pepe", "Muleiro", new Document(Type.A, new Number(23232222)));
....
}
En cuanto aparece otro test method que requiere un person como en este caso, empezamos a notar cierta duplicación.
También, muchas veces se da que en algunos test, no nos importa el Person, solo requerimos uno para pasarlo por parámetro a algún otro objeto, o para crear otro.
¿Cuántas veces hemos utilizado una planilla de cálculo para administrar algo o resolver un problema pensando en lo beneficioso que sería disponer de un software que nos permita hacerlo de manera más automática y eficiente?
¿Y cuántas de esas veces no lo hicimos solamente por no disponer del tiempo necesario para el desarrollo o porque la relación costo-beneficio no era atractiva? Visual Studio LightSwitch es una herramienta que nos permite crear aplicaciones muy rápidamente y escribiendo poco o nada de código, según la complejidad de la aplicación en cuestión.
Continuando con el post anterior de GIS sobre MapServer veremos como navegar en mapas generados por un servidor de mapas. La intención es que la experiencia de navegación e interacción con los mapas sea muy parecida a la que brinda Google Maps.
En particular hablaremos de una biblioteca muy conocida y soportada por la comunidad llamada OpenLayers. Consiste en una biblioteca javascript que tiene como finalidad poder armar una grilla de imágenes obtenidas desde un servidor de mapas y distribuir las imágenes de tal forma que se puedan navegar de forma fluída. La biblioteca también permite interactuar con el mapa marcando puntos, como también líneas y zonas.
Hace muchos años que venimos desarrollando aplicaciones con frameworks de ORM, como Hibernate, TopLink, iBatis, para manejar la persistencia de las mismas. JPA es una especificación cada día mas utilizada, que intenta estandarizar el “acceso” a todos ellos.
Existen muchos aspectos importantes en las aplicaciones que el lenguaje no nos provee, por ejemplo persistencia, transaccionalidad, seguridad, etc. Para lograr estos aspectos, se han hecho importantes implementaciones en contenedores de nuestro codigo, asi nuestro modelo queda limpio y alguien por afuera sería el encargado de manejar todos estas cuestiones transversales a nuestra aplicación. Continuar leyendo »