style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Blogs

Como andar de metiche con Camel

Introduccion

Este es el ultimo post de la serie :(.

Bueno aunque no a todos nos gusta que nos estén supervisando y que nos digan a cada instante que haces, como vas, que paso, etc. En las aplicaciones es todo lo contrario, monitorear una aplicación ya no es mas un addon o un extra en las aplicaciones modernas (solía serlo por ahi del 2007): sino que se debe tener como indispensable.

A veces es requerido trabajo extra para implementarlo, otras veces solo instalar una aplicacion y muchas otras un dolor de cabeza, porque nunca se pensó que se debía monitorear.

Bueno sea el caso que sea, ahora vamos a revisar como monitorear nuestra aplicación creo yo de una forma simple.

Prerequesitos

Hawtio

Kotlin, Undertow como proxy

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.

Kotlin, Camel y MyBatis

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` (

Guía básica de GitHub

Estimados,
Les dejo una guía básica de GitHub para los novatos

https://marcosrobertos.blogspot.cl/2017/10/guia-rapida-de-github.html

Saludos

Kotlin, Camel y CXF

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.

Hello World!!! Kotlin

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

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

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:

Juego del Gato o Triqui

/*
 *
 * Autor : jl_
 * Fecha de Creacion : 2017_12_12
 *
 */

package triqui;

public class Triqui {

    public static void main(String[] args) {
        triqui.JframeTriqui.main(null);
    }
}
//fin clase Triqui

/*
 * Juego Triqui
 * Autor: jl_
 * Fecha de Creacion : 2017_12_11
 *
 * Notas: el juego del gato o triqui debes compilarlo y agregar en la carpeta dist del jar
 * la carpeta de las imagenes para que las muestre en el JFrame
 * porque utilizo el metodo diractual() para asignar la ruta de las imagenes
 *
*/

package triqui;

import java.io.File;

public class JframeTriqui extends javax.swing.JFrame {

    //declaracion de variables
    public int jugador            = 1;
    public int jugadorant         = 1;
    public int minimonumjugadas   = 0;
    public int maximonumjugadas   = 9;
    public int juegoiniciado      = 0;
    public String [][] configposicionjuego = new String[3][3];
    public int    [][] posicionjugadas     = new int[3][3];
    boolean jl_triqui=false;
    String x=null, y=null;
    String pos0=null, pos1=null, pos2=null;
    int pos0jugador=0, pos1jugador=0, pos2jugador=0;

Guia Basica de Maven

Estimados,

Les dejo una guía Básica de Maven, para los recien llegados, la idea es que con esta guía se pongan manos a la obra cuando antes.

http://marcosrobertos.blogspot.cl/2017/12/guia-rapida-de-maven.html

Saludos.

[Java] Utilizar un ArrayList en un JFrame

/*
 *  -----------------------------------
 *  java mexico
 *  -----------------------------------
 *  Descripcion :
 *  Hola, estoy realizando un pequeño programa, el cual consiste en que, al hacer clic en un panel se dibuje un circulo,
 *  y cuando se vuelva hacer clic, se dibuje otro círculos de otro color, pero sin que se borre el primer circulo,
 *  y así hasta tapizar el panel de círculos de diferentes colores.
 *  Mi pregunta es, ¿como almacenar los círculos en la memoria, para que no se borren?, ya tengo el evento del clic y que
 *  los círculos cambien de color,
 *  he estado investigando como hacer esto, tengo entendido que se puede hacer con un ArrayList o con un Vector.
 *  -----------------------------------
 *  Actualizacion: 2017_12_06
 *  -----------------------------------
 *  Descripcion :
 *  Para el siguiente ejercicio utilizo Vectores. de poscion dinamica...
 *  el vector va aumentando en tamaño o posiciones cada vez que hago clic en el JFrame. v.add()
 *  -----------------------------------
 *  1. import java.util.Vector;                  importar clase
Distribuir contenido

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">