martes, 3 de octubre de 2023

Me retiro del desarrollo de Software

 Apreciable audiencia

Me retiro del desarrollo de Software, ahora me voy a dedicar a las Inversiones y Trading, si quieres seguirme puedes suscribirte a mi canal


https://www.youtube.com/@eltradermexicano

lunes, 19 de junio de 2023

Mapear XML a Objetos en Java

 En Java tenemos al menos dos FrameWorks para mapear objetos de XML a Java y viceversa. El primero es XML Beans y el segundo es Eclipse Modeling Framework (EMF). Aclaro que no soy muy fan de Eclipse y en esta entra no voy a entrar en detalles.



Mapear XML a Objetos usando EMF

Esta entrada no está muy detallada, no soy fan de Eclipse así que solo lo revisaremos de forma muy superficial.

Instalación de los plugins


Generando el Jar con Objetos


domingo, 18 de junio de 2023

Java RMI

En el sentido más amplio, "RMI" está vivo y bien: hay muchas aplicaciones en las que un proceso expone métodos para ser ejecutados por otro. La situación es ligeramente diferente cuando el término se usa para referirse al método patentado de RMI que está integrado en la JVM y ha existido desde los primeros días de Java. Este método de RMI utiliza un protocolo que es bastante específico de Java, no tiene soporte incorporado para propagar un contexto de transacción o un contexto de seguridad, y es complicado de enrutar a través de firewalls. Puede usar el mismo marco RMI en Java con protocolos como IIOP, que son independientes del idioma y admiten la propagación del contexto de seguridad y transacciones; pero todavía hay problemas con los firewalls.

La tecnología RMI de Java tradicional todavía se usa ampliamente para la administración y el monitoreo remotos, pero no veo que se use mucho a nivel de aplicación. Parece más popular en estos días exponer métodos como servicios web e invocarlos usando HTTP(S). Hay marcos para hacer esto en Java, y dichos servicios pueden hacerse independientes del idioma.

Este tutorial está diseñado y probado para Java 8, veremos de repaso algunos temas que ya están deprecados y que difícilmente podremos llevarlo a la practica.

Un resumen de las aplicaciones RMI

Las aplicaciones RMI a menudo se componen de dos programas, un programa servidor y un programa cliente. Un programa servidor crea objetos remotos, permite que puedan ser referenciados y espera para que otros programas clientes invoquen los métodos de estos objetos. Un programa cliente obtiene referencias remotas de uno o mas objetos que se encuentran en el servidor y entonces invoca los métodos de estos.

RMI proporciona el mecanismo por el cual el servidor y el cliente se comunican y pasan información de un lado a otro. Tal aplicación a veces se denomina aplicación de objetos distribuidos.

Los objetos de las aplicaciones distribuidas necesitan realizar lo siguiente:

  • Localizar objetos remotos. Las aplicaciones pueden usar varios mecanismos para obtener referencias de objetos remotos. Por ejemplo, una aplicación puede registrar objetos remotos con el registro RMI RMI's simple naming facility. Alternativamente, una aplicación puede pasar y retornar referencias de objetos remotos como parte de otras invocaciones remotas.
  • Comunicarse con objetos remotos. Detalles de la comunicación entre objetos remotos son manejados por RMI. Para el programador, la comunicación remota parece similar a una invocación regular de métodos Java.
  • Cargar definiciones de clases para los objetos que se pasan. Porque RMI habilita que os objetos se pasen de un lado a otro, proporciona mecanismos para cargar la definición de clase de un objeto así como también mecanismos para la transmisión de datos del objeto.


La siguiente ilustración representa una aplicación distribuida RMI que usa el registro RMI para obtener una referencia a un objeto remoto. El server invoca el nombre del objeto remoto registrado. El cliente busca el objeto remoto por el nombre con el que se registro en el servidor y luego ejecuta los metodos. La ilustración también muestra que el sistema RMI usa un servidor web para cargar las definiciones de clases, desde el servidor hacia el cliente y desde el cliente hacia el servidor, para los objetos cuando sean requeridos.


viernes, 17 de marzo de 2023

Como administrar tu lista de tareas TODO en Netbeans

 Es común que mientras estás codificando van surgiendo tareas que se derivan de la tarea principal pero que no son prioritarios en el momento. Para que no te olvides puedes poner comentarios con el prefijo //TODO

Si eres un usuario recurrente de NetBeans ya estás enterado que a partir de la versión 8 o 9, NetBeans paso a formar parte de la fundación Apache y con ello muchos cambios vinieron.

Como administrar tu lista de tareas en NetBeans 13

El prefijo no necesariamente tiene que ser //TODO ya que lo puedes configurar a tu gusto, para ello debes ir a Tools - Team - Pestaña Action Items
Ahí puedes agregar patrones para TODO FIXME PENDING

Para ver las lista de estas tareas o comentarios debes activar el panel, para ello ve a Windows - Action Items



viernes, 3 de febrero de 2023

Java Util Logger

 


Java Logging Levels

java.util.logging.Level define diferente niveles de logging. Hay 7 niveles de logging en Java

SEVERE (el mas alto)

WARNING

INFO

CONFIG

FINE

FINER

FINEST

Hay otros dos niveles de logging, OFF que "apaga o ignora" todas las sentencias de logging y ALL que registra todas las sentencias de logging.

Te recomiendo probar todos los niveles de logging para que puedes comprender mejor su funcionamiento y prioridad.



Referencia

https://sematext.com/blog/java-logging/

https://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

https://docs.oracle.com/cd/E57471_01/bigData.100/data_processing_bdd/src/rdp_logging_config.html

https://www.digitalocean.com/community/tutorials/logger-in-java-logging-example

https://commons.apache.org/proper/commons-logging/guide.html#Introduction