¿Qué es electron? Electron es un framework que permite la creación de aplicaciones de escritorio utilizando JavaScript puro, a través de un runtime con APIs nativas, enfocado en aplicaciones de escritorio, en vez de servidores web, es de código abierto y multiplataforma (funciona bajo Linux, Mac y Windows). Esto no significa que Electron sea un binding de librerías GUI para JavaScript. Electron utiliza páginas web como su GUI, por lo cual puedes verlo como un navegador Chromium mínimo, controlado por JavaScript. Compañías como Microsoft, Facebook, Slack y Docker utilizan esta plataforma. Electron en acción Primeramente para continuar necesitas tener instalado Node.js, para luego… Continuar leyendo


RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para invocar un método de manera remota. Permite que un objeto ejecutándose en un JVM llame a métodos de otro objeto que esta en una JVM diferente. Para plataformas diferentes se necesitaría SOAP o CORBA. RMI se caracteriza por la facilidad de su uso en la programación por estar específicamente diseñado para Java; proporciona paso de objetos por referencia (no permitido por SOAP), recolección de basura distribuida (Garbage Collector distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA). A través de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estará accesible a… Continuar leyendo


Una de las prácticas habituales en los desarrollos, es la creación de script sql incrementales. Con lo que comenzamos con script de creación de tablas, script de inserción de datos etc etc … y, a medida que avanza el desarrollo, cada uno de los desarrolladores va creando scripts con las modificaciones oportunas que le exige la tarea que está llevando a cabo. Esta práctica hace del proceso de cambios de base de datos un proceso totalmente manual, que puede llevar a confusiones, sobre todo debido a que es muy posible no saber que scripts se han ejecutado y cuales faltan… Continuar leyendo


Common Object Request Broker Architecture (CORBA) es un estándar definido por Object Management Group (OMG) que permite que diversos componentes de software escritos en múltiples lenguajes de programación y que corren en diferentes computadoras, puedan trabajar juntos; es decir, facilita el desarrollo de aplicaciones distribuidas en entornos heterogéneos. IDL es un lenguaje de definición de interfaces que utiliza CORBA, el cual le permitirá definir las interfaces para los servicios que ofrecerá, de estas interfaces parten las implementaciones de la parte servidor y cliente en cualquiera de los diversos lenguajes que implementan CORBA (Ada, C, C++, Smalltalk, Java, Python, Perl).  Comenzamos con la implementación (El ejemplo es para realizar una… Continuar leyendo


Diseño de Programas Distribuidos: Diseño orientado a la comunicación (Prog. con sockets) –Diseñar primero el protocolo. –Construir programas acorde al protocolo. Diseño orientado a la Aplicación (RPC) –Construir aplicaciones. –Dividir los programas y añadir protocolos de comunicación. RPC (Remote Procedure Call) : En unix es posible tener en ejecución un programa en C con varias funciones que pueden ser llamadas desde otro programas. Estos otros programas pueden estar corriendo en otros ordenadores conectados en red. Supongamos, por ejemplo, que tenemos un ordenador muy potente en cálculo matemático y otro con un buen display para gráficos. Queremos hacer un programa con mucho cálculo… Continuar leyendo


Tuberías Una tubería (pipe, cauce o ‘|’) consiste en una cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo. Permiten la comunicación y sincronización entre procesos. Es común el uso de buffer de datos entre elementos consecutivos. Una tubería es unidireccional. La utilización de tuberías mediante el uso de la shell es “el pan nuestro de cada día”, cualquier administrador de sistemas medianamente preparado encadena comandos y comandos mediante tuberías de forma natural: cat /etc/passwd | grep bash | wc –lines Los comandos “cat”, “grep” y “wc” se… Continuar leyendo


CLASES  Las clases son lo más simple de Java. Todo en Java forma parte de una clase, es una clase o describe como funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java. Todas las acciones de los programas Java se colocan dentro del bloque de una clase o un objeto. Todos los métodos se definen dentro del bloque de la clase, Java no soporta funciones o variables globales. Esto puede despistar a los programadores de C++, que pueden definir métodos fuera del bloque de la clase, pero esta posibilidad es más un intento… Continuar leyendo


El lenguaje Java tiene varias estructuras de control para bucles y bifurcaciones condicionales. El famoso Hola Mundo e ingreso de datos a través del programa en ejecución: Ahora entramos en la parte de las estructuras de control, antes de continuar, recomiendo ingresar a este link ya que no quiero volver a escribir todo sobre cada tipo de estructura, solo dejaré los ejemplos para Java. Ejemplo completo: Excepciones try-catch-throw try { sentencias; } catch( Exception ) { sentencias; } Java implementa excepciones para facilitar la construcción de código robusto. Cuando ocurre un error en un programa, el código que encuentra el error… Continuar leyendo


Operadores relacionales en Java: En ocasiones se desea que se ejecuten un conjunto de declaraciones si una condición es verdadera, y otro grupo si la condición es falsa. Es decir, deseamos que el programa tome decisiones y responda de acuerdo a ellas. Para que el programa tome una decisión, generalmente realiza algún tipo de prueba, una comparación. Para ello utilizará los llamados operadores relacionales: Operador          Relación ==           … igual a … !=             … distinto de … >              … mayor que … <              … menor que … >=           … mayor o igual que … <=           … menor o igual que … !                   … Continuar leyendo