sábado, 16 de diciembre de 2017

¿Qué opinas? Crees que este hombre que apostó todo su patrimonio por el próximo big bang de #Bitcoin hizo lo correcto?

David Alarcon, un buen amigo de hace muchos años, posteó en LinkedIn la pregunta…

¿Qué opinas? Crees que este hombre que apostó todo su patrimonio por el próximo big bang de #Bitcoin hizo lo correcto?

Pues, intentaba dar una respuesta apropiada y, lo que resulto fué este breve artículo…

Yo estuve en esa posición hace algunos años cuando apenas se vislumbraba la opción, y debo reconocer que tomé la decisión de no hacerlo. Una pena, de haberlo hecho hoy contaría con una pequeña fortuna.

La siguiente ola

Lo cierto es que según los expertos, la siguiente ola es la de Ethereum…

Se Empieza a Doblar el Precio del Ethereum Ahora, Dicen Quienes Predijeron el Bitcoin a $5.000 para el 2018

Captura de pantalla 2017-12-16 a las 12.20.05Y tampoco hay que ser un tremendo analísta para observar el comportamiento de esta criptomoneda que recientemente rompió records de transacciones diarias y precio., logrando incrementar su precio más de 20% con respecto al 10 de Diciembre, partiendo de USD $457.42 y tocando el precio más alto de su historia, USD $549.22.

Fuente: Diario Bitcoin

La defensa del “status quo”

La pregunta entonces sería,…

En verdad el mundo está listo para el “big bang” de otra criptomoneda?

Crees que el sistema económico mundial está permitiendo esta ola de anarquía sin haber previsto las acciones correctivas necesarias para mantener su status quo?

Yo pienso que no, y creo que esto no es más que una muy elaborada estrategía económica diseñada para comenzar a retirar disponible del mercado y reconcentrar la riqueza en manos de las eternas cúpulas de poder.

Por una parte, el propio artículo reseña, casí como nota al margen, como UBS, con la ayuda de Barclays, Creddit Suisse, KBC, SIX y Thomson Reuters han impulsado el desarrollo de la Plataforma distribuida de reconciliamiento autónomo masivo (Massive Autonomous Distributed Reconciliation) o” Madrec”.

Algunos paises han comenzado a reformar sus marcos legales, calificando como ilícito la minería de criptomonedas, y es cuestión solo de tiempo para que el propio uso de las criptomonedas sea declarado igualmentec omo un acto ilícito, para lo cual seguro sobran argumentaciones.

La evolución tecnológica…

Pero por otra parte, hay que recordar que la inversión multimillonaria que han permitido el desarrollo en IA e IoT son solo un paso en la evolución hacia la siguiente era tecnológica.

El desarrollo en estás áreas junto con los avances en robótica, han permitido la construcción de procesadores cada vez más rápidos y poderosos. Y no estamos hablando solo de Intel o AMD. Por ejemplo, podríamos referir la evolución de los procesadores de Apple.

1366_2000

Pero, lo mismo podríamos hacer refiriendonos a los aún más poderosos Qualcomm Snapdragon utilizados popularmente en dispositivos Android.

…y su impacto en el valor de las criptomonedas

El caso es que, una criptomoneda a diferencia de una moneda tradicional que sustenta su valor en algún supuesto respaldo, llamese el Patrón Oro (en desuso luego de la WW2) o el Patron Bretton Woods, lo hace en otro tipo de supuestos, que por supuesto no pienso debatir acá, pero de los cuales si destacaré esencialmente dos: “privacidad y seguridad”.

Y es aquí en donde surge el custionamiento real, para poder dar respuesta a nuestras iniciales preguntas, tendríamos que primero observar que estamos relativamente cerca de los límites de la “Ley de Moore”.

“El propio Moore afirmó en 2010, en una entrevista con el medio especializado Techworld, que su ley había quedado obsoleta.”

 

La ‘Ley de Moore’ seguirá viva hasta 2023, según Intel

Y entonces, que pasará?

Un futuro… ¿incierto?, ¿para quién?

Pues, la respuesta aún no es clara, al menos para la mayoría de las personas, pero lo más seguro será que todo aquello que hoy conocemos en torno a sistemas informáticos va a cambiar.

Algunos piensan que la línea evolutiva presentará una inflexión al alcanzar los límites físicos y químicos. Yo en lo personal, sospecho que las grandes cúpulas de poder ya se han asegurado que esta barrera haya sido superada con el desarrollo tecnológico actual.

La computadora cuántica, el “santo grial” de la informática…

La conspiración

Así pues, siendo que desde la cumbre de la dominación mundial ya tengo la certeza de que no ocurrira tal inflexión, sino que por lo contrario la capacidad de computo se exponenciará haciendo que procesamientos hoy considerados complejos puedan ser resueltos en breves intervalos de tiempo, como por ejemplo… bueno, ya saben…

Esto no es realmente lo que se llama una teoría conspirativa, así que ni para que explicarles porque el valor de las criptomonedas se esperaría que estuviera cayendo de manera abrupta en tan solo unos años.

Mejor dejemos que cada quien elija cuando entrar y en que momento salir de este tipo de inversión.

 

Espero te haya parecido interesante este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.


Archivado en: Informática e Internet, Piensa diferente Tagged: Bitcoin, Criptomonedas, IA, IoT

sábado, 14 de octubre de 2017

gvNIX: herramienta #OpenSource para el desarrollo rápido de aplicaciones (RAD)

JygJMWfMgvNIX es una distribución de SpringRoo que además integra frameworks como: jQuery, Bootstrap 3, Leaflet, Datatables, Dandelion Datatables, entre otros.

La propuesta es contar con una plataforma que permita crear aplicaciones web en tan solo minutos.

 

gvNIX_003

Obteniendo gvNIX

Para obtenerla solo tenemos que visitar el sitio oficial http://ob.tener.me/2yl6e4i y descargar la versión mas reciente.

gvNIX_001

Yo me he quedado con la versión 1.4.1 que al momento es la versión estable.

Prerrequisitos de gvNIX

Como requisito, ademas de nuestro JDK debemos contar con Maven 3 en nuestro equipo.

gvNIX_004

 

Como particularmente acostumbro usar Gradle para crear aplicaciones Java, tuve que realizar la instalación de Maven en mi equipo.

gvNIX_002

 

Podemos utilizar gvNIX como un tool independiente o integrarlo a nuestro Spring Tool Suite (STS).

Yo he preferido ir por la integración con el IDE.

Para ello, tendremos que…

Configurar Maven 3 en nuestro Spring Tool Suite (STS)

Seleccionamos el menú “Window > Preference” y en la ventana emergente, de la barra lateral “Maven > Installations”.

Luego pulsamos el botón [Add…], marcamos como tipo de instalación “External” y luego el botón [Directory] para ubicar nuestra ruta de instalación.

Pulsamos [Aceptar] , seleccionamos nuestra instalación y finalmente [Apply and Close]

Haga click para ver el pase de diapositivas.

Instalar Spring Roo y Spring IDE – Roo Extension

Spring Roo no está incluido de manera predeterminada en el Spring Tool Suite (STS) de manera que tendremos que realizar la instalación del mismo.

gvNIX_005

 

Para ello, en el Dashboard de nuestro Spring Tool Suite (STS), localizamos el botón [IDE Extensions]

Haga click para ver el pase de diapositivas.

 

Seleccionamos “Spring Roo (current production release)” y “Spring IDE – Roo Extension”, y pulsamos el botón [Install]

Haga click para ver el pase de diapositivas.

La instalación se realizará de la manera acostumbrada al final de lo cual nos requerirá que reiniciemos nuestro Spring Tool Suite (STS)

 

Como veremos al ingresar nuevamente a nuestro Spring Tool Suite (STS), contaremos con un nuevo menu “File > New > Spring Roo Project” y nuestra ventana de Preferencias podremos encontrar “Spring > Roo Support”.

 

Instalando gvNIX

Finalmente, ya podremos realizar la instalación de gvNIX.

gvNIX_006

Solo tenemos que descomprimir el archivo previamente descargado y configurar la ruta en nuestro Spring Tool Suite (STS) seleccionando el boton [Add…] de la opción “Spring > Roo Support” en nuestra ventana de Preferencias. Luego pulsamos [Browse…] y seleccionamos la ruta donde hemos instalado el gvNIX.

gvNIX_018

 

Al pulsar [Aceptar] veremos que nos indica la versión de la instalación. Pulsamos [OK] y  finalmente [Apply and Close]

gvNIX_019

Y listo, ya contaremos con nuestro gvNIX para comenzar a construir nuestra aplicación.

 

Espero te haya parecido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.


Archivado en: Eclipse, IDE, Informática e Internet, Java, Maven, OpenSource, Piensa diferente, Spring, STS Tagged: Eclipse, IDE, Java, Maven, OpenSource, Spring, STS

#Spring Tool Suite (STS) 3.9.1 para el desarrollo #Java

spring-frameworkPara quienes están dedicados al desarrollo Java, Spring (https://spring.io/) es algo que no requiere mayor presentación. Un framework open source que nacio, creció y evolucionó (de la mano de Pivotal Software, Inc.) para satisfacer las grandes tendencias del mercado y que, en su más reciente versión Spring 5.0, continúa siendo el rey para el desarrollo Java.

Su stack tecnológico abarca de manera efectiva cada una de las diferentes capas de casi cualquier aplicación Java desarrollada prácticamente bajo cualquier arquitectura. Incluyendo las nuevas tendencias de MicroServicios.

 

De manera que, cuando se trata de Java, es lógico que automáticamente se señale el Spring Tool Suite (STS) como el IDE apropiado para el desarrollo.

Recientemente (el pasado 12-oct-2017) ha sido liberada la versión de Spring Tool Suite (STS) 3.9.1 basado en Eclipse Oxygen.1a Release (4.7.1a) el cual podemos obtener desde: http://ob.tener.me/2xEvyAd

Haga click para ver el pase de diapositivas.

Solo tenemos que descargarlo, descomprimirlo y comenzar a utilizarlo ejecutando el archivo STS.exe.

NOTA: Asumimos que como desarrollador java, ya cuentas con tu ambiente configurado con el JDK

sts_006

 

El Spring Tool Suite (STS) incluye el “Pivotal tc Server Developer Edition” que nos permitirá contar con un completo entorno de desarrollo sin necesidad de preocuparnos de hacer nada mas.

Aunque en lo personal, tengo algunos plugins favoritos de los cuales no me gusta prescindir: Any Edit Tools, JAutodoc y Path Tools.

sts_008

 

Por otra parte, a pesar de contar con Maven 3, siempre se echa en falta la integración con Gradle. Pero eso ya será para otra ocasión.

 

Espero te haya parecido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 


Archivado en: byTechnology, IDE, Informática e Internet, Java, OpenSource, Spring, STS Tagged: Gradle, IDE, Java, JDK, Maven, OpenSource, Spring, STS

lunes, 2 de octubre de 2017

viernes, 22 de septiembre de 2017

Creando un proyecto #Java con #OpenXava 5.7.1 y #MySQL

openxava_001Hace algún tiempo había comentado acerca del Framework para desarrollo rápido de aplicaciones web empresariales OpenXava. Realmente no he notado mucha evolución desde entonces hasta la versión actual (5.7.1); sin embargo, retomaré el tema con un ejercicio que nos lleve más allá de esos primeros pasos.

Concretamente, vamos a crear un nuevo proyecto OpenXava con la base de datos MySQL.

Para comenzar, asumiremos que ya cuentan con la plataforma adecuadamente configurada, y que ya han logrado ejecutar apropiadamente la aplicación de ejemplo MySchool.

openxava2_001

Creando el Proyecto Java

Como tampoco es la idea aburrirlos repitiendo lo que tienen en la documentación oficial disponible en: http://ob.tener.me/2hpWRrQ, daremos por sentado que ya conocen los pasos para crear su proyecto.

Básicamente solo tienen que:

  • Crear un proyecto Java en su Eclipse IDE
  • Ejecutar el script Ant “Crear nuevo proyecto OpenXava” e indicar el nombre del proyecto Java creado previamente.

openxava2_005

Colocando el Driver de MySQL

OpenXava trae de manera predeterminada el driver de HSQLDB. Si deseamos hacer uso de otra base de datos, como en nuestro caso MySQL, tendremos que incorporar el driver correspondiente a nuestro proyecto.

Como External Jar

Para ello, de las propiedades del proyecto elegimos configurar las “Libraries” en el “Java Build Path”, y pulsamos el botón [Add External JARs…]

Desde la ventana emergente localizamos la ruta donde tengamos ubicado el driver mysql-connector-java, y seleccionamos el jar.

openxava2_010b

Sin embargo, quizás nos convenga más integrar efectivamente el Driver de MySQL en el Framework.

Integrando el Driver de MySQL en OpenXava

Para integrar el Driver de MySQL en OpenXava, debemos como primer paso, colocar el jar en la carpeta “lib” del proyecto “OpenXava”.

openxava2_011

Luego, en nuestro Eclipse IDE, vamos al proyecto “OpenXava” y luego de hacer “Refresh”, podremos ubicar el jar del Driver de MySQL en la carpeta “lib”.

Hacemos click derecho sobre el jar y del menú contextual seleccionamos “Build Path > Add to Build Path”, con lo cual ya podremos verlo en las “Referenced Libraries”.

Debemos recordar construir todo para poder referirlo entonces en nuestro proyecto.

Para ello, el proceso es similar al descrito anteriormente, solo que en lugar de seleccionar [Add External JARs…] ahora podremos seleccionar [Add JARs…] ya que la librería se encuentra integrada en nuestro proyecto OpenXava.

Nótese en la imagen la diferencia entre ambos métodos

openxava2_013

IMPORTANTE: Si elige realizar la integración no olvide remover la dependencia hacia el JAR externo.

Ajustando el archivo build.xml

Luego de configurar nuestro Driver, tendremos que ajustar nuestro archivo build.xml para que cargue el driver al momento de realizar la construcción.

openxava2_017

NOTA: Por algún motivo, a pesar de que se ajuste el archivo build, la aplicación desplegada no logra encontrar el Driver de MySQL. De manera que, para resolver el despliegue, colocamos el driver directamente en el directorio “lib” del Apache Tomcat.

Configurando Hibernate

OpenXava hace uso del framework de persistencia Hibernate para abstraernos del manejo de esta capa.

Para cambiar de base de datos, tendremos que realizar en nuestro proyecto el ajuste de los archivos de configuración: hibernte.cfg.xml y persistence.xml.

Configurando hibernate.cfg.xml

En el archivo hibernate.cfg.xml debemos cambiar la definición del “hibernate.dialect” para indicar el correspondiente a MySQL

<property name=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>

openxava2_014

Configurando persistence.xml

De manera similar, hemos de ajustar la definición en el archivo persistence.xml

openxava2_015

Aunque en este caso, tendremos que ajustar también la configuración del JUnit.

openxava2_016

 

Configurando el Apache Tomcat

Otro paso que deberán realizar es configurar el Apache Tomcat de la distribución en su Eclipse IDE.

Ciertamente podrían elegir configurar un servidor diferente al entregado en la distribución del framework; sin embargo, por lo pronto solo trabajaremos con el de la distribución.

Aquí vale la pena recordar que…

  • Debemos tener en nuestro equipo, apropiadamente configurada las variables de entorno del sistema JAVA_HOME y CATALINA_HOME.
  • Previo a la configuración de nuestro servidor tenemos que haber configurado nuestro Eclipse IDE para que utilice nuestro JDK como el JRE predeterminado.
  • Al señalar la ruta del directorio de instalación de Tomcat debemos hacerlo hasta la raíz (es decir, sin el directorio “bin”)
Haga click para ver el pase de diapositivas.

Al final de estos pasos, nuestro workspace debería verse así:

openxava2_002

Configurando el DataSource

Del proyecto “Servers”, editaremos el archivo “context.xml” para incorporar la definición de nuestro DataSource.

<Resource name=”jdbc/{mi-nombre-de-datasource}” auth=”Container” type=”javax.sql.DataSource”

maxActive=”20″ maxIdle=”5″ maxWait=”10000″

username=”{mi-usuario}” password=”{mi-password}” driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:http://mysqllocalhost:3306/{mi-esquema-de-base-de-datos}”/>

Donde habremos de colocar los valores correspondientes para nuestra base de datos.

IMPORTANTE:
{mi-nombre-de-datasource} corresponde al nombre de {mi-proyecto}DS
Si deseamos utilizar otro nombre tendremos que cambiar la configuración de nuestro archivo “hibernate.cfg.xml”

Creando la Clase

Con base a la estructura de nuestra base de datos

CREATE TABLE `scian` (
`ID_SCIAN` int(11) NOT NULL AUTO_INCREMENT,
`COD_SCIAN` varchar(11) NOT NULL,
`SCIAN_ES` varchar(250) NOT NULL,
`SCIAN_EN` varchar(250) NOT NULL,
PRIMARY KEY (`ID_SCIAN`),
UNIQUE KEY `COD_SCIAN_UNIQUE` (`COD_SCIAN`)
) ENGINE=InnoDB AUTO_INCREMENT=2091 DEFAULT CHARSET=utf8 COMMENT=’ID_SCIAN: Identificador autoincremental, COD_SCIAN: Codigo SCIAN, SCIAN_ES: Definicion SCIAN Español, SCIAN_EN: Definicion SCIAN Ingles’;

 

Crearemos nuestra clase y anotaremos conforme a las definiciones de identificador, tipo de dato, longitud y requerimiento.

openxava2_019

 

Despliegue de la aplicación

Construimos todo pulsando el botón [Build All].

Agregamos nuestro proyecto al servidor Apache Tomcat y lo iniciamos.

openxava2_007

Y listo, podremos abrir nuestro browser y ver nuestro sitio

http://localhost:8080/mi-proyecto

openxava2_008

Y ver como la magia está hecha

openxava2_018

 

Espero te haya sido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter  @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 


Archivado en: Eclipse, Hibernate, IDE, Informática e Internet, Java, MySQL, OpenSource, Piensa diferente Tagged: Eclipse, Hibernate, IDE, Java, MySQL, OpenSource

sábado, 9 de septiembre de 2017

Yo que no se #Java

solocProbablemente algunos se sorprenderan que alguién con mi experiencia diga que no sabe Java; y quizás, mucho más probable será que aparezcan aún más personas que salgan a ratificar que efectivamente no se Java.

Calmados que no, no va por allí el tema. El asunto es que para mucha gente si no eres capaz de recordar cada sentencia, entonces no sabes. Si eres de los que además del IDE tienes que abrir un browser para buscar como se hace cada pieza de tu código, entonces no sabes.

Pues bien, siendo así, no tengo ningún reparo en reconocer yo que no se Java.

El asunto es simple, a veces, ni siquiera recuerdo que día es, o si tengo algún asunto pendiente. Pero no siempre fue así, en otras épocas era capaz de recitar textualmente, con punto y señal todo aquello que hubiere leído, visto o escuchado por al menos todo un año (dependiendo del nivel de importancia era capaz de recordarlo con precisión detallada hasta por mayor tiempo).

Se que algunos dirán que he envejecido, y otro que es porque el alcohol ha acabado con las pocas neuronas que tengo (ya saben que soy “beer lover“), pero no, ni lo uno, ni lo otro.

La verdad es que en la medida en que maduras como profesional, vas aprendiendo más y más cosas y resulta humanamente imposible recordarlo todo, así que tal como uno de mis principales inspiraciones (Albert Einsten) diría:

einstein

 

¿Por qué habría de gastar mis neuronas en recordar información cuando para eso hemos desarrollado tantos medios para conservarla?

Mejor las utilizo en algo más productivo como razonar.

socratesMas vale saber pensar,
que pensar que se sabe por recordar.

Otra manera de plantear aquella filosofia que reza: “Solo sé que nada sé; en latín: scio me nihil scire o scio me nescire“.

 

Espero te haya parecido interesante este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 


Archivado en: Piensa diferente

lunes, 4 de septiembre de 2017

#Camunda: Business Process Management (#BPM) #OpenSource

logotipo

Una de las tecnologías que se ha mantenido con poca aceptación en el mercado de aplicaciones empresariales ha sido quizás la de los BPM. Básicamente creo que se debe a dos elementos clave:

  • La tecnología BPM es generalmente poco comprendida por los usuarios, y
  • Los engine de BPM son en líneas generales productos licenciados que introducen un alto costo a la operación.

Pues bien, ante esta realidad ya habían surgido propuestas como jBPM o Bonita; sin embargo, hoy vamos a hablar de Camunda, una propuesta hasta ahora poco mencionada y no menos interesante.

Camunda is an open source platform for workflow and business process management

Obteniendo Camunda

Lo primero que debemos hacer es ir al sitio web: https://camunda.org/

Camunda_001

Vamos a la sección “Download” y descargamos la opción que nos convenga de acuerdo al Application Server que dispongamos. En nuestro caso, hemos de descargar la correspondiente a WildFly.

Haga click para ver el pase de diapositivas.

 

Iniciando Camunda

Un vez completada la descarga hemos de descomprimir el archivo en nuestro equipo local. Por simplicidad recomiendo hacerlo directamente en C:

Si hemos instalado nuestro WildFly Application Server Java EE7 Full & Web Distribution (LGPL 2.1 License) powered by RedHat tendremos que asegurarnos que el mismo no esté ejecutandose. Ello porque Camunda ya trae la distribución de WildFly y la despliega sobre el puerto predeterminado 8080.

Abrimos una consola, nos ubicamos en el directorio de camunda y ejecutamos el comando

start-camunda

Camunda_004

Dependiendo de los recursos de nuestro equipo la carga puede demorar un poco y el browser indicarnos un mensaje de error.

Camunda_005

Nada de que preocuparnos, solo esperemos a que levante por completo el server e intentamos de nuevo.

Camunda_006

 

Una vez que tengamos ejecutando nuestro engine, podemos ingresar al demo

Camunda_008

O mejor aún descargar el Modeler para comenzar a construir nuestra propia app.

Camunda_007

Obteniendo el Modeler

Tan sencillo como ha sido tener nuestro engine ejecutando es obtener el Modeler, solo hay que descargar el archivo correspondiente a nuestro OS, descomprimirlo en nuestro equipo y ejecutarlo haciendo doble click en el archivo “camunda-modeler”.

 

Y ya aquí comienza lo divertido. Les recomiendo darse una leida a la documentación que Camunda nos comparte, especialmente el BPMN 2.0 Tutorial.

 

Espero te haya parecido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 


Archivado en: BPM, Informática e Internet, OpenSource, Piensa diferente Tagged: BPM, Camunda, OpenSource