Java Expert....Java/Open Source Addict

Redes Sociales

twitterlinkedinrss feedemail youtube

viernes, 31 de agosto de 2018

JDBC Connection Pool - Resource Type Datasources



When we need to configure the connection pool on Glassfish or Payara Server, could be that the Resource Types Datasources options are not clear. Because in this post I going to explain the differences between them.

Resource Types Datasource

  • javax.sql.Datasource.- This datasource type is used in applications that manage a global transaction that always involves just one resource. Sometimes called local transactions. This datasource is related with No-XA Transaction.
  • javax.sql.XADatasource.-  This datasource type is used in applications that manage distributed transactions with one or more databases or other resources like JMS. This datasource is related with XA Transaction.
  •  javax.sql.ConnectionPoolDatasource.- This datasource type is more general, produces a connection (PooledConnection) object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling, generally isn't used by a programmer.

Datasource Hierarchy (Ref: shengwangi)


jueves, 30 de agosto de 2018

Problema Could be another instance of Payara Server or Payara Micro


Una vez que se haya instalado PayaraServer y se requiere levantar el servidor de aplicación, en el dominio por defecto (domain1) puede que se presente el siguiente error:




El cual de lo investigado se debe a un conflicto de configuración del valor que tiene la variable  hostname con el valor registrado en los hosts del equipo /etc/hosts, como se puede apreciar en la figura a continuación.




Para solventar el inconveniente, lo que se realizó es actualizar la variable de hostname a localhost para que este igual a la configuración que se tenía en /etc/hosts y posterior a eso ejecutar nuevamente el comando ./asadmin start-domain como se muestra en las figuras a continuación. Es importante mencionar que la actualización de la variable hostname debe realizarse como superusuario.


miércoles, 29 de agosto de 2018

Payara Server una alternativa interesante!!!


En el mundo del desarrollo de software de aplicaciones Java en el ámbito web se han manejado específicamente dos tipos de servidores durante varios años, los servidores web y los servidores de aplicaciones. En este último se han tenido varias opciones como JBossAS, JBossEAP, Wildfly, Gerónimo, Glassfish entre otros; manteniendo mucha similitud entre ellos.

Sin embargo a partir del 2014 se crea un nuevo servidor de aplicaciones llamado Payara Server, el cual aparece producto de la noticia de Oracle en la cual manifiesta que descontinuará el soporte comercial para Glassfish.

Dicho servidor es creado basado en el servidor de aplicaciones Glassfish, pero con algunas diferencias interesantes razón por la cual hoy muchos desarrolladores lo han adoptado y otros estamos en ese proceso.  Les quiero compartir a continuación, las más reelevantes desde mi punto de vista.


  • Actualización Constante.- Payara Server a diferencia de Glassfish  que tenia una frecuencia irregular de liberación de versiones, establece una frecuencia de liberación constante de forma trimestral no solo para las versiones sino también para los parches y actualización de componentes.
  • Herramientas de Caching.- Payara Server integra varias herramientas para manejar el tema del cache como son JCache, Domain Data Grid y Payara Scales (tiene un costo adicional).
  • Agrupamiento Automático.- Payara Server integra a Hazelcast, la cual es una herramienta escalable utilizada para la distribución de datos, para manejar la clusterización (agrupamiento) de manera automática.
  • Seguridad, Monitoreo.- Payara Server incluye varias herramientas para manejar el tema de seguridad y monitoreo.
  • Soporte Microservicios.- Payara Server cuenta con una distribución llamada Payara Micro para el manejo de microservicios. Adicionalmente soporte MicroProfile.
  • Optimizado para Producción.- Payara Server tiene un soporte comercial tanto para ambientes de producción y desarrollo que incluye un soporte 24/7 con una hora de delay de tiempo de respuesta para asuntos de producción urgentes.
  • Participación de la Comunidad.- El proyecto Payara Server se encuentra subido en un repositorio de Payara Github, lo cual permite a la comunidad revisar el código fuente, descargarlo y participar en las mejoras. Adicionalmente se puede apoyar de varias maneras lo cual se puede revisar en el siguiente enlace How to Contribuite Payara Server.

Cabe mencionar que una aplicación Web(.war) o JEE(.ear) puede ejecutarse en cualquier servidor de aplicación. Sin embargo, la decisión de elegir uno u otro dependerá mucho de las características que nos brinden y la expertiz que se tenga en el manejo de uno en particular.

lunes, 16 de abril de 2018

Cloud Computing



Ya ha pasado muchos años desde 1999 en que SalesForge.com comenzó a ofrecer entrega de servicios de aplicaciones por Internet y que más tarde se popularizaría con el  término "Cloud Computing". Sin embargo en  la actualidad para muchas personas sigue siendo un tema nuevo y lleno de interrogantes. En este post tratare de  explicar lo más fundamental del tema y agudizar algunas dudas.... comencemos.


1. Qué es el Cloud Computing.


Es ofrecer servicios  a través de la conectividad y utilización de Internet, ofreciendo al cliente un conjunto de recursos de computación de hardware y software.


  • En lo que se refiere a hardware se incluye el hosting o alojamiento de las aplicaciones, su mantenimiento y administración.. En cuanto al alojamiento  las características de los servidores, memoria, almacenamiento y procesamiento están bajo demanda del cliente según las necesidades de su aplicación en cuanto a usuarios, tráfico entre otros.
  • En lo que se refiere al software están el servicio de aplicaciones de diferente índole al usuario final.

2. Pilares Cloud Computing


Pilares Cloud Computing (Tomado de www.engisystem.com)


2,1. Software como Servicio (SaaS)

El Software como servicio (SaaS) es un modelo de distribución de software donde el software conjuntamente con los datos se almacena en servidores de proveedores ubicados en la nube que son accedidos a través del Internet utilizando una cuenta de usuario. Los servicios de mantenimiento, operación diaria y soporte son proveídos por el proveedor  del servicio, lo que finalmente se paga es por el uso de la aplicación.

2.2. Plataforma como Servicios (PaaS)

La plataforma como servicio (PaaS) engloba un conjunto de servicios de aplicación , frameworks de desarrollo (lenguajes, API's y herramientas), también incluye  infraestructura (servidores, almacenamiento y redes); es decir, es un entorno de desarrollo e implementación completo en la nube con recursos que permitan entregar todo, desde aplicaciones sencillas basadas en la nube hasta aplicaciones empresariales sofisticadas habilitadas para la nube.

2.3. Infraestructura como Servicio (IaaS)

La Infraestructura como servicio (IassS) es una infraestructura informática que se administra a través del Internet, permitiendo escalar o reducir verticalmente los recursos con rapidez para ajustarlos a la demanda,

Pilares Cloud Computing (Tomado de azure.microsoft.com)



3. Proveedores de Cloud Computing

Entre algunos de los proveedores de Cloud Computing  más utilizados se puede mencionar los siguientes:



Finalmente es importante tener claro los pilares del Cloud Computing al momento de contratar un servicio en la nube y revisar algunos temas como SLA, crecimiento bajo demanda, portabilidad (que se puede llevar a otros proveedores), entre otras.

Espero les haya servido como referencia, no olviden compartir, comentar. Adicionalmente les invitó a revisar el canal de Matoosfe y subscribirse, Un abrazo, bendiciones.

martes, 20 de marzo de 2018

Instalación TeamViewer 12 sobre Centos 7


Hola amig@s... como están.

En esta oportunidad vamos a revisar como instalar TeamViewer 12 en un Centos 7, el cual es una herramienta muy interesante que permite conectarse a un equipo de manera remota y controlar las acciones dentro del mismo. Utilizado muy frecuentemente en el trabajo remoto  ya se para soporte a usuarios o para trabajos puntuales. Para instalarlo en Centos 7 se debe realizar lo siguiente.

1.- Descargarse la versión TeamViewer 12 en formato .rpm de su sitio oficial. En el caso de que se tenga una versión superior a la fecha se tiene que hacerlo del siguiente enlace.

2.- Logearse como root y proceder a instalar las dependencias (librerías) del TeamViewer a través del siguiente comando.

yum install -y libSM.i686 libXdamage.i686 libXext.i686 libXfixes.i686 libXinerama.i686 libXrandr.i686 libXrender.i686 libXtst.i686 freetype.i686 fontconfig.i686 libpng12.i686 dbus-libs.i686 libjpeg-turbo.i686 libgcc.i686 alsa-lib.i686

3. Finalmente ejecutar el comando rpm -i teamviewer_12.0.93330.i686.rpm con lo que tendremos listo nuestro programa para comenzar a trabajar de manera remota.






Espero les guste el video no olviden compartirlo, subscribirse al canal de Matoosfe. Sus comentarios siempre serán importantes para mejorar. Un abrazo, bendiciones.
 



Curso Angular 4 - Instalación Angular Cli, Creación Proyecto



Estimad@s amig@s

Les doy la bienvenida al curso de Angular 4, en esta oportunidad iniciaremos el curso donde aprenderemos los siguientes temas:
  • Como Instalar Angular Cli, el cuál es herramienta de línea de comandos para angular. Que permite entre otras cosas crear los proyectos angular con una estructura base (scatefolding).
  • Crear un nuevo proyecto angular a través del comando ng new , donde representa el nombre de su proyecto a utilizar.
  • Finalmente una vez creado el proyecto lo abriremos en un IDE de Desarrollo JavaScript llamado WebStorm, el cual utilizaremos para administrar el proyecto.



Espero les guste el video no olviden compartirlo, subscribirse al canal de Matoosfe. Sus comentarios siempre serán importantes para mejorar. Un abrazo, bendiciones.

jueves, 8 de marzo de 2018

Instalar VokoScreen - Recording Screen


Hola amigos como están.... en esta oportunidad vamos a revisar como instalar VokoScreen, el cual es un programa que funciona en Linux para grabar las acciones que se realizan en el escritorio; es decir, un Recording Screen. Entre las características que tiene están las siguientes:

  • Permite configurar la pantalla a grabar, pudiendo ser la pantalla completa o todas las pantallas si se tiene adicionales conectadas, una ventana o una área seleccionada. Adicionalmente permite configurar temas adicionales como la ampliación, showkey y cuenta regresiva.
 
  • Permite configurar el sonido ya sea utilizando PULSE o la capa base ALSA.

  • Permite configurar los codecs de video, audio, formatos de salida y número de fotogramas. 



  • Permite configurar la ruta donde se almacenará el video, el reproductor a utilizar entre otros temas.

  • Permite configurar la cámara web y su posición, permitiendo desplegar un diálogo en el transcurso de la grabación.


  • Y finalmente se puede pausar la grabación en algún momento dado y retomarla.
Para realizar el proceso de instalación se necesita logearse como root(super-usuario) y seguir los siguientes pasos:

1.- Instalar el repositorio de nux, donde se encuentran los paquetes fundamentales de vokoscreen. Se utiliza el siguiente comando yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
2.- Instalar el kit de herramientas para manipular los archivos matroska (formato .mkv) utilizados por vokoscreen. Para lo cual se instala el repositorio y posterior el paquete con los siguientes comandos. 
  • rpm -Uhv https://mkvtoolnix.download/centos/bunkus-org-repo-2-3.noarch.rpm 
  • yum update 
  • yum install mkvtoolnix.x86_64 
3.- Instalar ffmpeg, el cual es la plataforma utilizada por Vokoscreen para grabar, convertir el audio y vídeo. Para lo cual se utiliza el siguiente comando yum install ffmpeg
4.- Finalmente una vez instalado todos los paquetes mencionados, se debe proceder a instalar vokoscreen. Para lo cual se utiliza el siguiente comando yum install vokoscreen 
Para ejecutar vokoscreen se debe realizarlo como usuario normal (no root) para evitar configuración adicional de permisos. 

Espero que les saquen provecho, no olviden compartir la información. Además les invito a subscribirse a mi canal de youtube MATOOSFE, bendiciones.