Mostrando entradas con la etiqueta web. Mostrar todas las entradas
Mostrando entradas con la etiqueta web. Mostrar todas las entradas

8/15/2015

Montar un servidor web y un sitio web en Windows 7 con XAMPP y WordPress

Os explicamos paso a paso cómo montar un servidor web en un equipo con Microsoft Windows 7. Mostramos cómo configurar un equipo para hacerlo servidor web y montar nuestro propio sitio o página web. Para ello utilizaremos: Microsoft Windows 7, XAMPP (con PHPApache y MySQL) y WordPress 4.1.1. Explicamos cómo realizar algunas tareas de administración y configuración como la creación de menús en WordPress

7/07/2014

Cómo hacer robot indexación páginas web Delphi AjpdSoft Capturador páginas web

Cómo hacer robot indexación páginas web Delphi AjpdSoft Capturador páginas web

Tutorial donde explicamos paso a paso cómo desarrollar una aplicación semejante a un robot de indexación de páginas web. Mostramos cómo realizar una aplicación en Delphi 6 y base de datos
Paradox para acceder a páginas web (especificando la URL o la IP), obtener el contenido HTML y guardarlo en una base de datos. Es el fundamento de los motores de búsqueda como Google, Bing, Yahoo, etc..

6/16/2013

Instalar Joomla! 3.1 en Linux Ubuntu Server 13.04 con Apache PHP MySQL


Cómo instalar Joomla! 3.1 en equipo con Linux Ubuntu Server 13.04. Mostramos algunas de las novedades de esta nueva versión y los requisitos necesarios para su instalación, cómo crear la base de datos y el usuario, cómo establecer las opciones de seguridad de los ficheros y carpetas, instalar paquetes de idioma y enumeramos algunas consideraciones básicas para mejorar la seguridad de Joomla!.

6/02/2013

Obtener contenido HTML de una URL con C# C Sharp

Ejemplo que obtiene el contenido de una página web, obtiene el contenido HTML de una URL especificada y la muestra en un TextBox. Básicamente usaremos WebClient.DownloadString perteneciente al espacio de nombres System.Net.

3/19/2013

Servidor web con Ubuntu Server 12 y LAMP Server Apache PHP MySQL



Cómo instalar GNU Linux Ubuntu Server 12.10 x64 en un equipo nuevo con LAMP Server (Apache, PHP y MySQL). Mostramos en este tutorial cómo establecer una IP estática, cómo cambiar la contraseña del superusuario root, cómo acceder de forma externa mediante FileZilla usando Open SSH y cómo configurar MySQL para permitir acceso desde otros equipos de la red LAN.



Requisitos iniciales para montar servidor web con Apache, PHP, MySQL sobre Linux Ubuntu Server 12.10

Si montamos el servidor web con LAMP Server (Apache, PHP y MySQL) en una máquina virtual descargaremos el fichero ISO del sitio web oficial de Ubuntu, abriendo un navegador web y accediendo a la URL:
http://www.ubuntu.com/download/server
Elegiremos el que se ajuste a la arquitectura del servidor, en nuestro caso x64, por lo que elegiremos 64 bit y "Get Ubuntu 12.04 LTS".
Si vamos a instalar Ubuntu Server sobre un equipo físico será conveniente pasar el fichero ISO a DVD o bien a pendrive (lápiz de memoria) si nuestro servidor soporta arranque desde pendrive.
En los siguientes tutoriales explicamos cómo crear un DVD de arranque con una imagen ISO:
Y, además, necesitaremos arrancar desde el DVD por lo que tendremos que tener configurada correctamente la BIOS del equipo para la secuencia de arranque correcta (primero el DVD):

Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH

Tras introducir el DVD de Linux Ubuntu Server 12 (o crear la máquina virtual y arrancar con el fichero ISO) se iniciará el instalador de Linux Ubuntu Server 12.10, elegiremos el idioma para la instalación:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Seleccionaremos "Instalar Ubuntu Server" y pulsaremos INTRO:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos el idioma de nuestra ubicación:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos "No" en la siguiente opción que nos permite probar el modelo de teclado, normalmente no es necesario:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos el país del teclado:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos la distribución del teclado:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Introduciremos el nombre DNS de la máquina (hostname), será el nombre de red del equipo:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Introduciremos el nombre completo del usuario que se creará:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Introduciremos el nick con el que iniciaremos sesión para el usuario que se creará:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Introduciremos la contraseña para el usuario:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Repetiremos la contraseña:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Indicaremos si queremos que se cifre la carpeta personal del usuario que se creará:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Detectará la localización actual, si no es correcta podremos elegirla de una lista seleccionando "No", si es correcta selccionaremos "Sí" para continuar con la instalación de Linux Ubuntu:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos el disco duro donde instalaremos Linux Ubuntu Server 12:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
El sistema creará dos particiones en la unidad elegida, una para los datos con ext4 y otra swap (intercambio). Si estamos seguros de que no hay datos válidos en la unidad elegida seleccionaremos "Sí" para continuar con el particionamiento:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Si tenemos proxy en nuestra red podremos indicarlo a continuación, si no tenemos proxy pulsaremos INTRO para continuar:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
A continuación podremos elegir el método de actualizaciones, en nuestro caso elegiremos "Instalar actualizaciones de seguridad automáticamente":
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Marcaremos los programas a instalar, en este tutorial elegiremos "OpenSSH Server" y "LAMP Server":
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Puesto que hemos elegido LAMP Server el sistema instalará MySQL Server, por lo que nos solicitará una contraseña para el usuario root de MySQL (no tiene nada que ver con el superusuario root de Linux Ubuntu Server):
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Volveremos a introducir la contraseña para el usuario root de MySQL Server:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Elegiremos ahora "Sí" para que el asistente de instalación instale el cargador de arranque GRUB en el equipo, si sólo tenemos un sistema operativo es necesirio instalarlo de lo contrario el equipo no arrancará por si solo, si tenemos otros sistemas operativos y queremos mantener el arranque de estos elegiremos "No". En nuestro caso, puesto que es una instalación limpia en un PC nuevo elegiremos "Sí" para que instale el cargador GRUB:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Con los pasos anteriores la instalación de Linux Ubuntu Server 12 habrá concluido. Pulsaremos INTRO para realizar el primer inicio en Linux Ubuntu Server:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
El equipo arrancará, introduciremos el usuario creado anteriormente y la contraseña y ya tendremos Linux Ubuntu Server 12.10 x64 instalado en nuestro equipo:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH
Si la instalación ha sido correcta, puesto que hemos instalado el paquete LAMP Server, podremos probar el servidor web Apache desde cualquier equipo de la red LAN abriendo un navegador e introduciendo en la URL la IP del servidor con Linux Ubuntu Server, nos mostrará esta página:
Instalar Linux Ubuntu Server 12.10 con LAMP Server Apache, PHP, MySQL y Open SSH

Tareas iniciales Linux Ubuntu Server: IP estática, contraseña root

Establecer IP estática en Linux Ubuntu Server

Una vez instalado Linux Ubuntu Server 12.10 x64, es muy conveniente, puesto que va a ser servidor web, que el equipo cuente con una IP estática y no dínamica establecida por DHCP que podría variar. Para establecer una IP estática introduciremos el siguiente comando Linux:
sudo nano /etc/network/interfaces
Establecer IP estática en Linux Ubuntu Server
Introduciremos las siguientes líneas en el fichero "interfaces" para establecer la IP estática:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0

network 192.168.1.255
broadcast 192.168.1.255
gateway 192.168.1.1
Establecer IP estática en Linux Ubuntu Server
Donde "address" será la IP estática para el servidor y "gateway" será la puerta de enlace.
Guardaremos los cambios en el fichero "interfaces" pulsando "Control" + "O" y cerraremos pulsando "Control" + "X".
Resetearemos la red para que se aplique el cambio de IP con los comandos Linux:
sudo ifdown -a
sudo ifup -a
Con el comando Linux ifconfig obtendremos la configuración de la red del equipo:
Establecer IP estática en Linux Ubuntu Server

Cambiar contraseña superusuario root Linux Ubuntu Server

Es recomendable establecer una contraseña para el superusuario root, para ello ejecutaremos el comando Linux:
sudo passwd root
Nos solicitará que introduzcamos la contraseña del usuario actual "ajpdsoft", luego la nueva contraseña para el superusuario root (dos veces):
Cambiar contraseña superusuario root Linux Ubuntu Server

Acceso con FileZilla Client mediante SSH a Linux Ubuntu Server

Si queremos acceder por FTP a nuestro servidor Linux Ubuntu Server desde cualquier equipo de la red incluso con otros sistemas operativos como Microsoft Windows 8 podremos hacerlo usando FileZilla Client. Puesto que hemos instalado Open SSH en el servidor Linux, será suficiente con abrir FileZilla Client e indicar los datos de acceso en una nueva conexión:
  • Servidor: IP del servidor.
  • Protocolo: seleccionaremos SFTP - SSH File Transfer Protocol.
  • Modo de acceso: "Normal".
  • Usuario: podremos usar el superusuario "root" al que previamente le hemos establecido la contraseña.
  • Contraseña: contraseña del usuario anterior.
Acceso con FileZilla Client mediante SSH a Linux Ubuntu Server
Como ejemplo, transferiremos una web en PHP a la carpeta de Apache de nuestro servidor web con Linux Ubuntu Server, en concreto a la carpeta /var/www:
Acceso con FileZilla Client mediante SSH a Linux Ubuntu Server

Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN

Si necesitamos acceder a MySQL Server desde otros equipos de la red LAN con cualquier sistema operativo (Windows, Linux) podremos hacerlo siguiendo los siguientes pasos:
Desde el servidor con Linux Ubuntu Server y MySQL (instalado con el paquete LAMP Server) ejecutaremos el siguiente comando para editar el fichero de configuración de MySQL my.cnf:
sudo nano /etc/mysql/my.cnf
Buscaremos la línea "bind-address = 127.0.0.1 y la comentaremos añadiendo el carácter "#" (almoadilla) delante:
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN
Guardaremos los cambios en el fichero my.cnf pulsando "Control" + "O" y cerraremos la edición pulsando "Control" + "X".
Reiniciaremos el servicio de MySQL para que se apliquen los cambios con el comando:
sudo service mysql restart
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN
Ahora crearemos un usuario administrador para MySQL (es recomendable no usar root por motivos de seguridad). Para ello escribiremos el comando:
mysql -u root -p
Nos solicitará la contraseña del usaurio "root" de MySQL, contraseña que introdujimos en el proceso de instalación del LAMP Server. Una vez conectados a MySQL escribiremos los siguientes comandos:
create user 'adminajpdsoft'@'%' identified by 'contraseña';
grant all privileges on *.* to 'adminajpdsoft'@'%' with grant option;
Con los comandos anteriores habremos creado un usuario llamado "adminajpdsoft" con la contraseña "contraseña" y con todos los permisos para todos los esquemas de MySQL. Ahora podremos administrar MySQL desde cualquier equipo de la red usando por ejemplo MySQL Administrator o cualquier otro como MySQL Workbench o AjpdSoft Administración Bases de Datos, introduciremos el puerto (por defecto si no lo hemos cambiado será 3306), la IP del servidor, el usuario y la contraseña:
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN
Y ya tendremos acceso a nuestro servidor MySQL Server desde cualquier equipo incluso con cualquier sistema operativo:
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN

Como ejemplo podremos restaurar una base de datos que podríamos usar para un sitio web dinámico con Apache, PHP y MySQL (todos los componentes ya instalados por el paquete LAMP Server):
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN
La ventaja de este servidor Linux Ubuntu Server con LAMP Server es que sin apenas configuración podremos montar un servidor web profesional con CMS (Content Management System) como Joomla!, PHP-Nuke (ya en desuso), Drupal, PostNuke, Zikula, SilverStripe, Concrete5, cmsMadeSimple, etc. y otros sistemas que usan Apache+PHP+MySQL como blog (b2evolution, LifeType, sBolg, Workpress), CRM (Siwapp, SugarCRM), eLearning (ATutor, eFront, Mahara, Moodle, Omeka), Foros (Phorum, phpBB, Simple Machines Forum), Framework (CakePHP, CodeIgniter, Kohana, PEAR, Symfony, Zend Framework, galerías (Coppermine Photo Galery, Gallery 3, Zenphoto), microblogging (StatusNet), gestores de proyectos (Project, Feng Office, Mantis Bug Tracker, PHProject), social (elgg, LimeSuvey, Yourls), tiendas (Magento, Mibew Messenger, OpenCart, osCommerce, PrestaShop, Zen Cart), webmail (Atmail, Crystal Mail, Roundcube, SquirrelMail), wiki (DockuWiki, MediaWiki). Y por supuesto webs a medida con PHP + MySQL + Apache como indicamos en el siguiente tutorial:
El resultado de ejemplo en nuestro caso que hemos hecho una réplica de nuestro sitio web en el servidor Linux Ubuntu Server con LAMP Server (copiando los ficheros PHP e importando la bd de MySQL):
Configurar MySQL para permitir conexiones externas desde otros equipos de la LAN


Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd, miembro del Proyecto AjpdSoft.

4/28/2011



Explicamos paso a paso cómo instalar el IDE de desarrollo gratuito Eclipse en un equipo con Microsoft Windows 7 (válido para otros sistemas operativos Microsoft), mostramos cómo descargar y OpenXava para integrarlo con Eclipse. Mostramos cómo iniciar y modificar una aplicación de ejemplo en OpenXava. Como motor de base de datos usaremos MySQL Server, explicamos cómo conectar nuestras aplicaciones OpenXava con MySQL Server.



 

OpenXava

OpenXava es un marco de trabajo de código abierto para desarrollar aplicaciones de gestión de una forma efectiva. Permite el desarrollo rápido y fácil de mantenimientos y listados pero, a su vez, es lo suficientemente flexible para desarrollar complejas aplicaciones de gestión de la vida real como contabilidad, facturación, gestión de personal, nóminas, gestión de almacenes, etc.
OpenXava permite definir aplicaciones simplemente con POJOs, JPA y anotaciones de Java 5.
Actualmente OpenXava genera aplicaciones web Java (J2EE/JavaEE), que pueden ser desplegadas en cualquier portal Java (JSR-168) como una aplicación de portlets.
La esencia de OpenXava es que el desarrollador define en vez de programar, y el marco provee automáticamente la interfaz de usuario, el acceso a los datos, el comportamiento por defecto, etc. De esta manera, todo lo común se resuelve fácilmente, pero siempre el desarrollador tiene la posibilidad de programar manualmente cualquier parte de la aplicación, de esta forma es lo bastante flexible para resolver los casos particulares. OpenXava está basado en el concepto de componente de negocio.
Algunas característistica de OpenXava son:
  • Alta productividad para aplicaciones de gestión.
  • Curva de aprendizaje corta y sencillez de uso.
  • Suficientemente flexible como para crear aplicaciones sofisticadas.
  • Es posible insertar nuestra propia funcionalidad en cualquier punto.
  • Basado en el concepto de componente de negocio.
  • Genera una aplicación J2EE completa, incluyendo la interfaz de usuario (AJAX).
  • Soporta cualquier servidor de aplicaciones (Tomcat, JBoss, WebSphere).
  • Soporta JSR-168: todos los módulos OpenXava también son portlets estándar.
  • Soporte completo de EJB3 JPA.
  • Está probado con los portales: JetSpeed 2, WebSphere Portal, Liferay y Stringbeans.
  • Fácil integración de informes hechos con JasperReports.
  • Licencia LGPL.
  • Todas las etiquetas y mensajes están en inglés, español, alemán, polaco, indonesio, francés, italiano, chino y catalán.

Eclipse

Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar Aplicaciones de Cliente Enriquecido, opuesto a las aplicaciones Cliente-liviano basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.
Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.
La base para Eclipse es la Plataforma de cliente enriquecido (del Inglés Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido:
  • Plataforma principal: inicio de Eclipse, ejecución de plugins.
  • OSGi: una plataforma para bundling estándar.
  • Standard Widget Toolkit (SWT): Un widget toolkit portable.
  • JFace: manejo de archivos, manejo de texto, editores de texto.
  • Workbench de Eclipse: vistas, editores, perspectivas, asistentes.
Los widgets de Eclipse están implementados por una herramienta de widget para Java llamada SWT, a diferencia de la mayoría de las aplicaciones Java, que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse también tiene una capa GUI intermedia llamada JFace, la cual simplifica la construcción de aplicaciones basadas en SWT.
El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (plug-in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no. Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos. La arquitectura plugin permite escribir cualquier extensión deseada en el ambiente, como sería Gestión de la configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente para soportar otros lenguajes de programación.

HSQLDB

HSQLDB ó HyperSQL (Hyperthreaded Structured Query Language Database) es un sistema gestor de bases de datos libre escrito completamente en Java.
La última versión de HyperSQL (2.1) introduce mejoras en todos los ámbitos. Es compatible con la más amplia gama de características estándar SQL como cualquier otro motor de base de datos..
HSQLDB está basado en HypersonicSQL, un proyecto de Thomas Mueller abandonado en la actualidad.
Las características más importantes de HSQLDB:
  • Escrito por completo en Java.
  • Completo sistema gestor de bases de datos relacional.
  • Tiempo de arranque mínimo y gran velocidad en las operaciones: SELECT, INSERT, DELETE y UPDATE.
  • Sintaxis SQL estándar.
  • Integridad referencial (claves foráneas).
  • Procedimientos almacenados en Java.
  • Triggers.
  • Tablas en disco de hasta 8GB.
  • Tres modelos de control de transacciones, incluyendo los modelos basados ​​en bloqueos y MVCC.
  • Totalmente multiproceso.
  • Diseño compacto del código.
  • Soporta JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x, 1.6.x en HyperSQL 1.8.1 y 1.5.x y 1.6.x en HyperSQL 2.0.
  • Soporte para JDBC.
  • Soporta todos los tipos de datos estándar SQL, incluyendo BINARY, BIT, BOOLEAN, date-time, INTERVAL, BLOB, CLOB.
  • Soporte para transacciones COMMIT, ROLLBACK y SAVEPOINT.
  • Soporte ODBC.
  • Se puede usar en applets, en medios de sólo lectura (CD/DVD), en aplicaciones embebidas.
  • Múltiples bases de datos por JVM.
  • Copia de seguridad online y offline (en frío y en caliente).

Instalar Eclipse Helios en Microsoft Windows

En primer lugar descargaremos Eclipse Helios desde la web oficial, descargaremos Eclipse IDE for Java EE Developers, descargaremos la versión 32 ó 64 bits según sea la arquitectura de nuestro procesador y el sistema operativo instalado:
http://www.eclipse.org/downloads
Instalar Eclipse Helios en Microsoft Windows
Seleccionaremos el origen de la descarga del fichero eclipse-jee-helios-SR2-win32.zip (en nuestro caso desde RedIRIS):
Instalar Eclipse Helios en Microsoft Windows
Marcaremos "Guardar archivo" y pulsaremos "Aceptar":
Instalar Eclipse Helios en Microsoft Windows
Se iniciará la descarga del fichero eclipse-jee-helios-SR2-win32.zip de 206MB:
Instalar Eclipse Helios en Microsoft Windows
Descomprimiremos el fichero descargado:
Instalar Eclipse Helios en Microsoft Windows
Cortaremos la carpeta descomprimida "eclipse":
Instalar Eclipse Helios en Microsoft Windows
Y la pegaremos en la carpeta donde queramos dejarlo definitivamente, en nuestro caso hemos creado una carpeta llamada "desarrollo" y dentro de esta iremos colocando todos las herramientas y proyectos para realizar aplicaciones. Pegaremos la carpeta "eclipse":
Instalar Eclipse Helios en Microsoft Windows
Eclipse no necesita instalación, con descomprimir el fichero es suficiente. Para ejecutarlo abriremos el fichero "eclipse.exe" haciendo doble cli sobre él o pulsando con el botón derecho y seleccionando "Ejecutar como administrador" (aunque no es necesario):
Instalar Eclipse Helios en Microsoft Windows
Si lo hemos ejecutado como administrador, el Control de cuentas de usuario de Microsoft Windows 7 nos mostrará una advertencia, pulsaremos "Sí":
Instalar Eclipse Helios en Microsoft Windows
Se iniciará Eclipse Helios, nos preguntará la ubicación del Workspace seleccionaremos nuestra carpeta de "desarrollo" (más adelante cambiaremos el Workspace o espacio de trabajo para OpenXava):
Instalar Eclipse Helios en Microsoft Windows
Y ya tendremos disponible el IDE Eclipse Helios para desarrollar aplicaciones Java:
Instalar Eclipse Helios en Microsoft Windows

Instalar Java SE Development Kit, preparar el entorno de desarrollo

Descargaremos el Java SE Development Kip desde la web oficial de Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Leeremos los términos de licencia, si estamos de acuerdo marcaremos "Accept License Agreement ". Seleccionaremos la versión que se adapte a nuestro sistema operativo y a la arquitectura de nuestro equipo (en nuestr ocaso "Windows x86" jdk-6u25-windows-i586.exe de 77MB:
Instalar Java SE Development Kit
Pulsaremos en "Guardar archivo":
Instalar Java SE Development Kit
Tras la descarga ejecutaremos el fichero para iniciar el asistente de instalación de Java SE Development Kit, pulsaremos "Next":
Instalar Java SE Development Kit
Anotaremos la carpeta donde se instalará el JDK (por defecto C:/Archivos de programa/Java/jdk1.6.0_25) y pulsaremos "Next":
Instalar Java SE Development Kit
Tras la instalación de JDK, el asistente solicitará instalar el JRE, pulsaremos "Next":
Instalar Java SE Development Kit
Tras la instalación, comprobaremos que los ficheros del JDK están en la carpeta que hemos anotado:
Instalar Java SE Development Kit
A continuación añadiremos la variable de entorno JAVA_HOME, necesaria para la ejecución de Tomcat. Para ello accederemos al botón "Iniciar" de Microsoft Windows 7, pulsaremos con el botón derecho en "Equipo" y seleccionaremos "Propiedades":
Instalar Java SE Development Kit
Pulsaremos en "Configuración avanzada del sistema":
Instalar Java SE Development Kit
En la pestaña "Opciones avanzadas" pulsaremos en "Variables de entorno":
Instalar Java SE Development Kit
En "Variables del sistema" pulsaremos en "Nueva":
Instalar Java SE Development Kit
Introduciremos los siguientes datos:
  • Nombre de la variable: JAVA_HOME.
  • Valor de la variable: la carpeta de instalación de JDK, en nuestro caso C:/Program Files/Java/jdk1.6.0_25.
Pulsaremos "Aceptar" y quedará guardada la variable de entorno JAVA_HOME que más tarde necesitará Tomcat para su ejecución:
Instalar Java SE Development Kit

 

Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo

Una vez instalado Eclipse, instalado JDK y añadida la variable de entorno JAVA_HOME, descargaremos e instalaremos OpenXava (que ya lleva incluido Tomcat). Para ello accederemos a la web oficial de OpenXava a la sección de descargas:
http://www.openxava.org/web/guest/downloads
Pulsaremos en la descarga disponible (en el momento de realizar este manual la versión 4.1.2):
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Guardaremos el archivo comprimido con OpenXava (openxava-4.1.2.zip):
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Descomprimiremos el fichero openxava-4.1.2.zip descargado:
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Podremos decomprimirlo directamente en nuestra carpeta "desarrollo":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Una vez descomprimido podemos cambiar el nombre a la carpeta y dejar sólo "openxava". Accederemos a la carpeta de OpenXava y ejecutaremos Tomcat haciendo doble clic sobre el fichero "start-tomcat.bat":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Microsoft Windows 7 nos mostrará una advertencia de seguridad al abrir un archivo ejecutable descargado de Internet, pulsaremos "Ejecutar":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Si todo es correcto y el puerto 8080 (puerto por defecto de Tomcat) no está siendo usado por otra aplicación, se iniciará el servicio Tomcat y tendremos disponible este servidor web y de aplicaciones. Se abrirá una ventana de MS-DOS, al final de la carga de Tomcat indicará "INFO: Server startup in xxx ms":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Si no se muestra la ventana anterior es porque Tomcat no ha podido iniciarse, en ese caso podremos ver el log del error que se ha producido en:
C:/desarrollo/openxava/tomcat/logs/catalinaxxx.log
Si todo es correcto y se ha inicado Tomcat, abriendo un navegador web y accediendo a la URL:
http://localhost:8080
Debe aparecernos la página inicial de Apache Tomcat:
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Ya tendremos disponible este servidor web y servidor de aplicaciones web para su uso.
Ahora abriremos Eclipse Helios, nos mostrará la ventana de selección del espacio de trabajo "Workspace". En "Workspace" seleccionaremos la carpeta "workspace" de OpenXava, en nuestro caso:
C:/desarrollo/openxava/workspace
Si no queremos que nos vuelva a preguntar por el Workspace marcaremos "Use this as the default and do not ask again". Pulsaremos "OK":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
Con estos sencillos pasos ya tendremos preparado el entorno de desarrollo Eclipse para usar el framework OpenXava para desarrollar aplicaciones web profesionales de forma sencilla y casi sin usar código (lo genera OpenXava de forma automática).
Nota: si no nos aparece la ventana de selección del Workspace en Eclipse, podremos abrirla desde el menú "File" - "Switch Workspace" - "Other":
Descargar y configurar OpenXava, Tomcat y enlace con Eclipse, preparar el entorno de desarrollo
 

Ejecutar aplicación de prueba OpenXava MiEscuela

OpenXava incluye varios ejemplos en su descarga, uno de ellos es MiEscuela. Para ejecutarlo y probarlo seguiremos los siguientes pasos.
Tras instalar Eclipse, OpenXava y configurar e iniciar Tomcat abriremos Eclipse usando como Workspace la carpeta "workspace" de OpenXava (como ya hemos explicado en este artículo). En la parte izquierda, en el Package Explorer de Eclipse, nos aparecerán los proyectos de ejemplo de OpenXava, seleccionaremos "MiEscuela" y pulsaremos en el botón "Run":
Ejecutar aplicación de prueba OpenXava MiEscuela
Tras la compilación del proyecto (lo indicará en la pestaña "Console") OpenXava, pulsaremos en el menú "Project" - "Build All" (Control + B):
Ejecutar aplicación de prueba OpenXava MiEscuela
Tras la construcción del proyecto (lo indicará en la pestaña "Console" con "BUILD SUCCESSFUL") pulsaremos en el botón "Run" y seleccionaremos "MiEscuela.desplegarWar":
Ejecutar aplicación de prueba OpenXava MiEscuela
Ahora, para probar la aplicación de prueba MiProfesor compilada anteriormente, abriremos un navegador de Internet y accederemos a la URL:
http://localhost:8080/MiEscuela/modules/Profesor
Si todo es correcto nos mostrará la aplicación MiEscuela de ejemplo de desarrollo en OpenXava:
Ejecutar aplicación de prueba OpenXava MiEscuela
Podremos realizar pruebas de filtros, búsqueda, ordenación, inserción, eliminación, etc.:
Ejecutar aplicación de prueba OpenXava MiEscuela
Dicha aplicación estará disponible para cualquier equipo de nuestra red (siempre que hayamos abierto el puerto 8080 en el cortafuegos del equipo donde hemos instalado en entorno de desarrollo) e incluso disponible desde Internet si hemos mapeado (redireccionado) convenientemente el puerto 8080 del router o cortafuegos de nuestra LAN a la IP del equipo con el servidor web Tomcat. Por supuesto, antes de permitir accesos externos a la aplicación conviene tener en cuenta el número de usuarios que se conectarán concurrentemente así como la cantidad aproximada y tipo de transacciones que realizarán. Con esta valoración deberemos estimar las características hardware de nuestro servidor con Tomcat, la aplicación OpenXava y la base de datos. Por supuesto no es recomendable usar el mismo equipo que usamos para desarrollo como servidor para la aplicación y la base de datos, es conveniente (mediante virtualización u otras técnicas) tener un equipo de pruebas para el desarrollo y separarlo del equipo en producción.
 

Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse

OpenXava, por defecto, en sus ejemplos, usa como base de datos HSQLDB que ya viene embebida en Tomcat para su uso directo, sin tener que configurar nada. Vamos a explicar cómo cambiar la base de datos HSQLDB por el motor de bases de datos MySQL Server. Obviamente, como requisito indispensable necesitaremos disponer de un equipo (sea Linux ó Windows) con el motor de base de datos MySQL Server instalado, en los siguientes enlaces explicamos cómo instalar MySQL Server en varios sistemas operativos (Linux y Windows):
Accederemos a MySQL Server con MySQL Administrator o cualquier otro software que permita crear un nuevo esquema y ejecutar consultas SQL. Crearemos el esquema para nuestra aplicación OpenXava, en el caso de MySQL Administrator, pulsando con el botón derecho sobre los esquemas y seleccionando "Crear New Schema":
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Nos conectaremos al esquema creado con MySQL Query Browser o cualquier otro software que permita ejecutar CREATE en la base de datos y ejecutaremos la siguiente consulta SQL para crear la tabla "Profesor" con los campos "codigo" y "nombre":
CREATE TABLE Profesor (
codigo varchar(5) NOT NULL,
nombre varchar(40),
PRIMARY KEY (codigo)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Una vez que hayamos creado el esquema y la tabla en la base de datos MySQL Server es conveniente y recomendable crear un usuario que sólo tenga acceso a este esquema, por seguridad, para no usar el superusuario root en nuestra aplicación OpenXava pues podría acceder a cualquier esquema y realizar cualquier acción. Teniendo en cuenta que será una aplicación Web hay que tener precaución y usar un usuario de MySQL sólo con permisos para las tablas de la aplicación. Así pues, desde MySQL Administrator, en la opción "User Administration" pulsaremos en "Add new user":
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
En la pestaña "User Information" introduciremos el nombre del usuario que usaremos para OpenXava, por ejemplo "ajpdsoft" (en MySQL User) y la contraseña de este usuario:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
En la pestaña "Schema Privileges" estableceremos los permisos para este usuario, es recomendable no asignar los permisos de CREATE, DROP, GRANT, ALTER, TRIGGER, CREATE_ROUTINE y ALTER_ROUTINE pues son peligrosos para uso por una aplicación Web. Así pues, seleccionaremos en "Schemata" el esquema creado anteriormente "bdopenxava", en "Available Privileges" iremos pasando a "Assigned Privileges" los permisos que queramos asigrnale: SELECT, INSERT, UPDATE, DELETE, LOCK_TABLES, SHOW_VIEW y EXECUTE. Una vez que hayamos asignado los privelios pulsaremos en "Apply changes":
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Tras disponer del servidor con MySQL Server, el esquema, las tablas y el usuario y contraseña, configuraremos ahora Tomcat para que admita acceso a MySQL Server para ello descargaremos el driver JDBC de la web oficial de MySQL:
http://dev.mysql.com/downloads/connector/j
Descargaremos el fichero mysql-connector-java-5.1.16.zip para Windows, lo descomprimiremos y copiaremos el fichero mysql-connector-java-5.1.15-bin.jar descomprimido:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Lo pegaremos en la carpeta .../tomcat/lib:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Si tenemos iniciado Tomcat deberemos detenerlo y volverlo a iniciar para que "coja" el nuevo driver añadido.
Tras instalar el driver JDBC para MySQL, ahora abriremos el fichero de configuración de conexiones "context.xml" con cualquier editor de texto plano (notepad, wordpad, notepad++, etc.). Dicho fichero se encuentra en:
C:/desarrollo/openxava/tomcat/conf/context.xml
(donde C:/desarrollo será la carpeta donde hayamos instalado OpenXava)
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Cambiaremos el siguiente texto correspondiente al recurso de conexión MiEscuelaDS:
 
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Por este otro para acceso a la base de datos MySQL creada anteriormente:

Guardaremos los cambios:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Es recomendable, si tenemos Tomcat abierto, cerrarlo y volverlo a abrir, para que todos los cambios se apliquen correctamente. A partir de ahora, cuando los usuarios accedan a nuestra aplicación MiEscuela con OpenXava los datos los consultarán y modificarán en nuestro servidor MySQL. Todo ello sin cambiar ni una sola línea de código en nuestro proyecto:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
Los datos, como decimos, quedarán guardados en MySQL:
Cambiar base de datos de HSQLDB a MySQL en aplicaciones OpenXava y Eclipse
 

Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava

Vamos a realizar algunas modificaciones en el proyecto de ejemplo que viene con OpenXava MiEscuela. Vamos a añadir una nueva entidad llamada "Alumno" y vamos a ver el resultado.
Abriremos nuestro proyecto OpenXava desde Eclipse como hemos explicado anteriormente, accederemos a Package Explorer, a "MiEscuela" - "src" - "org.openxava.escuela.modelo", seleccionaremos "Profesor.java" y pulsaremos en "Copy":
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Seleccionaremos "org.openxava.escuela.modelo", pulsaremos el botón derecho y seleccionaremos "Paste":
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Introduciremos el nombre para la nueva clase, en nuestro caso "Alumno":
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Haremos doble clic sobre el nuevo fichero creado "Alumno.java", añadiremos una nueva columna de ejemplo "dni", para ello añadiremos el siguiente código:
 @Column(length=10)
 private String dni;
 
 public String getDni() {
  return dni;
 }

 public void setDni(String dni) {
  this.dni = dni;
 }

Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Con estos sencillos pasos ya tendremos preparado el proyecto con una nueva opción "Alumnos", sin añadir ni una sola línea de código, sólo con la definición de las entidades y columnas, OpenXava se encargará de forma totalmente automática de generar la interfaz gráfica para la nueva entidad Alumno. Lo único que nos falta, obviamente, es crear la tabla "Alumno" en MySQL Server con los campos: codigo, nombre y dni, para ello podremos ejecutar la siguiente sentencia SQL desde cualquier administrador de MySQL:
CREATE TABLE Alumno (
codigo varchar(5) NOT NULL,
nombre varchar(40),
dni varchar(10),
PRIMARY KEY (codigo)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Y ya podremos recompilar la aplicación pulsando en Run:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Pulsaremos en "Project" - "Build All":
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava

Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Para ver el resultado, accederemos a la URL:
http://localhost:8080/MiEscuela/modules/Alumno
Y ya tendremos disponible la ventana para los Alumnos, sin usar ni una sola línea de código, gracias a OpenXava. Podremos añadir nuevos alumnos pulsando en "Nuevo":

Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava

Nos mostrará una ventana de edición para añadir el alumno con los campos indicados en la clase java Alumno:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
En la lista tendremos disponibles todas las opciones: nuevo registro, eliminar registros, generar listado en PDF o CSV (Excel), cambia vista a lista, detalle o ambas, filtros personalizados, ordenar por cualquier columna, etc.:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Otra prueba, para comprobar la sencillez de manejo y flexibilidad de OpenXava, vamos a enlazar los alumnos con los profesores, de tal forma que un alumno tenga un profesor asociado y un profesor tenga varios alumnos asociados. Para ello editaremos el fichero "Alumno.java" y añadiremos:
  @ManyToOne
 private Profesor profesor;
  
 public Profesor getProfesor() {
     return profesor;
 }
  
 public void setProfesor(Profesor profesor) {
     this.profesor = profesor;
 } 
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Ahora, como siempre que añadimos una nueva entidad o campo en nuestro proyecto OpenXava deberemos añadirlo en la base de datos. En este caso añadiremos el campo "profesor_codigo" (pues es el nombre que le da OpenXava al campo por defecto) en la tabla "Alumno" con el tipo de datos VARCHAR(5) que debe ser el mismo tipo de datos que la clave primeria de la tabla "Profesor" que es con la que enlazaremos mediante la clave foránea "profesor_codigo". Para añadir este campo a la tabla "Alumno" ejecutaremos la siguiente consulta SQL en cualquier software que permita ejecutar consultas SQL contra MySQL:
ALTER TABLE bdopenxava.Alumno
ADD COLUMN profesor_codigo VARCHAR(5);
O bien hacerlo gráficamente con MySQL Administrador, editando la tabla:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Ahora ya podremos probar esta nueva característica para nuestra aplicación web, volveremos a compilarla y volveremos a abrirla con el navegador web. Como siempre con OpenXava, nos habrá generado la modificación, en este caso añadiendo una nueva opción de selección de Profesor al dar de alta un nuevo Alumno:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Además, OpenXava incluye opción de selección del Profesor mediante lista, o incluso añadir un nuevo profesor desde la ventana de Alumno:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
En este caso hemos realizado un enlace "Muchos a uno" (ManyToOne). De forma que un Alumno sólo podrá estar asociado con un Profesor. Ahora vamos a definir una conexión "Uno a muchos" (OneToMany) en el caso del Profesor, que podrá tener varios Alumnos asociados. Para ello editamos el fichero Profesor.java de nuestro proyecto OpenXava y añadimos las siguientes líneas:
 @OneToMany(mappedBy="profesor")
 private Collection alumnos;
  
 public Collection getAlumnos() {
     return alumnos;
 }
  
 public void setAlumnos(Collection alumnos) {
     this.alumnos = alumnos;
 }
Nota: para que el código anterior funcione hay que añadir en la parte inicial de la clase "Profesor" el import:
import java.util.*;
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
En este caso no es necesario añadir campos a la tabla MySQL pues el enlace ya ha quedado grabado en la tabla Alumno mediante la clave foránea "profesor_codigo", por lo tanto podremos compilar la aplicación directamente para ver la nueva característica, en este caso en Profesor:
http://localhost:8080/MiEscuela/modules/Profesor
OpenXava nos mostrará la lista de Profesores, seleccionando uno de ellos para ver el detalle:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava
Nos habrá creado de forma automática la nueva característica de mostrar los alumnos asociados con el profesor. Desde aquí podremos quitar o añadir alunos a la lista de asociados con el profesor actual:
Modificar proyecto MiEscuela de OpenXava, probando las características de OpenXava

 

Conclusiones sobre OpenXava

OpenXava es una herramienta fabulosa, una utilidad añadida a Eclipse para desarrollar aplicaciones web profesionales y con un buen diseño sin apenas conocimientos de programación. Que, además, separa la lógica de negocio de la interfaz gráfica y permite cambiar de motor de base de datos sin realizar modificaciones en el código. Por ello es una muy buena opción para desarrollar aplicaciones Java (JSP) para servidores web de forma profesional y con multitud de opciones que lo hacen sumamente flexible.
Sin duda lo recomendamos para desarrollo de aplicaciones web profesionales de facturación, contabilidad, recursos humanos, helpdesk, almacén, control de stock, gestión, etc.
Una de las maravillas de OpenXava es que necesitaremos una curva de aprendizaje muy pequeña, en poco tiempo adquiriremos los conocimientos necesarios para desarrollar aplicaciones, con lo cual podremos dedicar el tiempo no perdido en formación a desarrollar más aplicaciones y conseguir más ingresos.

Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.