Menú principal

Java México

Subscribe to canal de noticias Java México
La misión de este sitio es establecer un punto de reunión entre la comunidad que desarrolla en el lenguaje Java en México con fines tan diversos como ayuda colaborativa, reuniones de esparcimiento, congresos y pláticas sobre el lenguaje.
Actualizado: hace 1 hora 54 mins

Kotlin, Undertow como proxy

Mié, 07/02/2018 - 18:16
Introduccion

Las tecnologias del front están creciendo como la espuma y bien sabemos que el front ya no es solamente hacer validaciones o hacer marquesinas, ahora se desarrollan aplicaciones enteras con el concepto de Single Page Applications, dejando a Java solo en el Middleware o en Android. Y después de Kotlin ya ni en Android :P. Seamos sinceros al comparar una aplicación hecha con React o con Angular contra una aplicación en JSF, se nota el porque casi todas las grandes compañías del mundo voltearon a ver a Nodejs (que es mucho muy bueno) y a tecnologías puramente de Front.

Dejando atrás las discusiones sobre si Tomcat o Spring Batch o EJB o Nodejs, que ademas de nunca acabar, no dejan de ser servidores que entregan archivos HTML, JS, CSS y otros (pdf, imagenes, txt, csv, xls, xml), que pueden estar hechos como tu quieras (React, Angular, Aurelia, Vue, Jquery). Por lo que un servidor http siempre esta involucrado; muchas soluciones actuales dejan totalmente el Front en Nodejs y los servicios en Java, otros combinan Nginx con Nodejs y Java; mientras otros solo Java o solo Nodejs.

leer más

Kotlin, Camel y MyBatis

Mié, 24/01/2018 - 14:30
Introducción

Ya con nuestro servicio en forma de mock, podemos empezar a extenderlo un poco mas e incluir mas endpoints. En ese sentido agregaremos consultas a una base de datos, usando MySQL; no sera una tabla muy grande, pero servirá para ejemplificar el proceso. El mapeador de objetos java a SQL sera MyBatis, voy a hacer enojar a muchos tal vez, pero considero que JPA es de los frameworks mas obscuros del mundo Java :D, no se enojen; a mi no me gusta, no significa que no sea util para alguien.

Vamos a obtener los datos de la base para las operaciones que ya creamos, getAll y getByID, asimismo agregaremos una operación mas para insertar Preguntas en la base.

Prerequisitos

Ahora si tenemos mas pre-requisitos:

  • MySQL instalado en donde sea pero que tengamos acceso a una base
  • El conector jdbc-mysql en el repo local de maven
  • El proyecto hasta el POST anterior
La Base de Datos

La base por ahora solo sera una tabla QUESTION, con la estructura siguiente:

CREATE TABLE IF NOT EXISTS `questions`.`QUESTION` (

leer más

Java Scheduler

Mar, 23/01/2018 - 15:22

Hola Amigos, soy nuevo en esta pagina, les tengo una pregunta a ver si alguien me puede ayudar..

La question es que quiero hacer un scheduler para agendar jobs que ejercutaran queries a "X" base de datos, he empezado ver quartz , que opinian creen que sea buen API para mi requerimiento o hay alguno otro que deberia revisar la idea es :

Que un usuario llene unos campos como el cron expression, query username y password se hara una extracion de los registros y se creara un archivo, y se mandare por email el resultdo de su queries, pero quiero ser capaz de monitorear la JVM porque si varios Job estan corriendo al mismo tiempo se pueden terminar el heap de la JVM, tener la habilidad de terminarlos y monitorealos

Espero sus opiniones de antemano gracias

Kotlin, Camel y CXF

Jue, 18/01/2018 - 14:47
Mock del primer servicio

Una vez que tenemos la base del proyecto, podemos agregar nuestro primer servicio REST usaremos la referencia JAX-RS 2 con la implementacion Apache CXF.

Nuestro primer servicio sera un endpoint de preguntas, con dos operaciones la primera consultar una lista de preguntas, de momento escritas en el mismo codigo, y la segunda de esa lista de preguntas obtener una en particular por su codigo.

Prerequisitos

De momento el unico requerimiento previo es tener nuestro proyecto como lo dejamos en el primer post.

Mensajes de Camel

Apache camel al igual que EJB estan basados en los principios de lo que ahora conocemos como microservicios antes de que incluso se llamaran asi, pequenias aplicaciones que al sumarse todas dan como resultado un proceso complejo, cada microservicio se comunica con otros para resolver la tarea en especifica que tiene asignada.

leer más

Hello World!!! Kotlin

Jue, 11/01/2018 - 11:15
Introduccion

Este es el inicio de una pequenia serie de posts donde tratare de mostrar una alternativa a Spring y a JEE para la creacion de Servicios, desde la perspectiva del middleware.

Para ello hare uso de una herramienta no tan conocida, pero que ha estado ahi desde hace mucho tiempo (gratuita tambien), facilitando la integracion de sistemas empresariales, esta herramienta es Apache Camel. Apache Camel es en resumen un framework que implementa los Patrones de Integracion Empresariales EIP por sus siglas en ingles, o sea pautas a seguir para facilitar la integracion de Sistemas.

Herramientas de desarrollo

Para poder realizar la primera practica estas son las herramientas que debemos tener instaladas en nuestra maquina:

  • Intellij Community Edition
  • Java SE 9 integrado en el PATH de nuestra maquina de desarrollo
  • Gradle integrado en el PATH de nuestra maquina de desarrollo
Crear el proyecto con Intellij

Primero abrimos IntelliJ y seleccionamos la opcion Create New Project

leer más

Java México dice adiós a todos ... bienvenido csharpmexico.org

Jue, 28/12/2017 - 16:31

Java México (http://www.javamexico.org) nació gracias a la iniciativa de @benek y otros usuarios más con el objetivo de ayudar a la comunidad de programadores java. Conforme han pasado los años el mantenimiento del sitio se ha vuelto insostenible debido a varios factores como: el spam, altos costos de mantenimiento de los servidores, y ¡hasta los cyber ataques!

Por estas y muchas más razones se ha decidio tomar la lastimosa decisión de dar de baja al sitio y crear uno nuevo y completamente diferente. El único pero es que es necesario pedir de su valiosa cooperación, el monto monetario (voluntario hay que decir)
es alrededor de $50 dólares por usuario registrado. En caso de ver apatía por parte de los usuarios se verá la necesidad de cerrar el sitio y crear uno nuevo, pero con costo de registro.

Dejemos que sea el propio Benek quien aclare todo esto:

leer más

Opiniones acerca de Groovy

Lun, 13/11/2017 - 11:57

Hola a todos,

Tengo una inquietud, toda mi vida he estado trabajando con java y sus diferentes frameworks, spring, hibernate, etc, pero en mi empresa me asignaron a un proyecto con Groovy y servicios rest básicamente, con el cual no había trabajado y es algo para un buen tiempo.

Mi inquietud es acerca de que tan rentable es aprender este lenguaje? Me refiero a nivel laboral si se encuentran buenas propuestas? Este lenguaje va para rato?

He leído opiniones en algunos foros unas no muy buenas otras sí.

Gracias de antemano por cualquier opinión.

Saludos.

Meetup JVM MX de Noviembre 2017

Vie, 10/11/2017 - 14:02

Como algunos saben, el equipo de JVM MX realiza un meetup cada mes con charlas relacionadas a la Java Virtual Machine y/o la tecnología Java.

El meetup de este mes fue anunciado hace unos momentos y el contenido es excelente.

La agenda es la siguiente:

  • Bienvenida por Enrique Zamudio
  • Presentación "Desplieque de aplicaciones con Docker Swarm" por Carlos Cavazos
  • Presentación "Más allá de REST con gRPC" por Domingo Suárez
  • Presentación "Realizando pruebas con Spock" por Andrés Almiray
  • Cerveza / Pizza / Networking

¡El cupo es limitado a 60 personas y tiene cuota de recuperación de $100 MXN!

Si les interesa reserven su lugar cuanto antes.

Fecha y hora: 27 de noviembre, 7 a 10 pm.
Lugar: Oficinas de Globant. Av. Insurgentes Sur 859, Piso 15, Ciudad de Mexico.

Registro aquí: https://www.eventbrite.com/e/jvm-mx-noviembre-2017-tickets-39778840583

leer más

Comparar fechas

Jue, 09/11/2017 - 13:21
       Un pequeño aporte a Luz Jasso. Mie, 08/02/2017 - 13:26        

        //fechas de ejemplo
        String fecha_ini = "2007-11-08";
        String fecha_fin = null;
        //hojas de ejemplo
        String hr_ini    = "02:00";
        String hr_fin    = "02:30";
        //declaracion de variables
        double diff, min, hrf;
        Date   result1, result2;
       
        SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm");
       
        try {
            result1 = formater.parse(fecha_ini+" "+hr_ini);
            result2 = formater.parse(fecha_fin+" "+hr_fin);
            //
            diff = result2.getTime() - result1.getTime();
            long tiempoMensual =0;
            tiempoMensual += diff;
            min=((diff%3600000)/60000)/60;
            hrf=diff/3600000;            
        } catch (ParseException ex) {
            //Escriba aqui los valores de retorno al ocurrir error
            min=0;hrf=0;
        }