lunes, 24 de agosto de 2009

El envío de XML del servidor al cliente

AJAX utiliza XML para transmitir los datos del servidor al cliente, para que el contenido del documento XML sea reconocido como tal por el cliente es necesario que desde el servidor se especifique el siguiente encabezado para indicar al navegador que el documento que sigue es de tipo XML:

Content-Type: text/xml

Además, como los datos que el servidor manda al cliente se habrán generado de forma dinámica, habrá que procurar que el navegador trabaje siempre con la última versión del documento y no con una versión previa que pueda tener en la caché. Para controlar esto se añadirán los siguientes encabezados:

Cache-Control: no-cache, must-revalidate
Expires: Mon, 01 Jan 2007 01:00:00 GMT

A continuación se muestran los comandos necesarios para enviar estos encabezados al cliente por medio de jsp (Java Server Pages):

Encabezado XML en JSP

<% response.setHeader("Content-Type", "text/xml;charset=utf-8"); response.setHeader("Expires", "Mon, 01 Jan 2007 01:00:00 GMT"); response.setHeader("Cache-Control", "must-revalidate"); response.setHeader("Cache-Control", "no-cache"); %>

WAR's

Toda aplicación en Tomcat se encuentra agrupada en WARS ("Web-Archives"), la estructura de un WAR es definida por Sun (el creador de Java) la cual debe ser implementada en cualquier producto de "Servlet Engine"(Web-Container).

WARS en Tomcat

Cuando recién se instala "Tomcat" éste ya contiene varios WARS, los cuales contienen ejemplos y documentación, estos WARS se encuentran bajo el directorio /usr/local/tomcat/webapps, donde /usr/local/tomcat es el directorio raíz de Tomcat (TOMCAT_HOME) definido al instalar Tomcat

Si se desciende a este directorio se observará que además de los archivos *.war existe además un directorio con el mismo nombre del WAR, esto es, si existen WAR's por nombre ROOT.war y examples.war también existen directorios llamados ROOT y examples.

Estos directorios son los que precisamente contienen la estructura del archivo WAR, esto es, el archivo WAR en sí no es legible sino que tiene que ser expandido/descomprimido para ser leído.

Estructura de un Archivo WAR

La estructura de un Archivo WAR es la siguiente:

  • / *.html *.jsp *.css : Este directorio base contiene los elementos que comúnmente son utilizados en un sitio, Documentos en HTML , JSP's , CSS("Cascading Style Sheets") y otros elementos.

  • /WEB-INF/web.xml : Contiene elementos de seguridad de la aplicación así como detalles sobre los Servlets que serán utilizados dentro de la misma.

  • /WEB-INF/classes/ : Contiene las clases Java adicionales a las del JDK que serán empleadas en los JSP's y Servlets

  • /WEB-INF/lib/ : Contiene los JAR's que serán utilizados por su aplicación.

Este tipo de estructura permite portabilidad a las diversas aplicaciones que son desarrolladas en Java, esto es , si se genera una aplicación para Foros o transacciones financieras estas se pueden contener en un archivo WAR, concentrando cualquier clase Java dentro de /WEB-INF/classes, parámetros específicos en /WEB-INF/web.xml , archivos JAR's en /WEB-INF/lib/ y los diversos JSP's,CSS y documentos HTML bajo el directorio raíz del archivo WAR.

jueves, 20 de agosto de 2009

Grafica Dinamica OpenFlash en Pentaho 3.0

Crear una gráfica dinámica con OpenFlash.

El tutorial muestra como crear una gráfica OpenFlash en la plataforma Pentaho BI 3.0. El parámetro para hacer dinámica la gráfica es enviado al xaction por medio de un archivo jsp que se conecta al datamart.

El tutorial y los archivos de las prácticas puede ser descargado del siguiente link:


Adjunto encontraras los archivos de las práctica realizada.

Saludos..

martes, 11 de agosto de 2009

¿Para que pagar licencias de MSN Messenger, si existe OpenFire?

Existen empresas grandes que pagan anualmente una cantidad considerable de licencias de MSN Messenger por cada uno de los usuarios que utilizan un cliente en el messenger interno de la empresa. Estas empresas se ahorrarian muchisimo dinero si conocieran y utilizaran el servidor de mensajeria instantanea opensource llamado OpenFire (http://www.igniterealtime.org/projects/openfire/index.jsp) actualmente en su version 3.6.4 que por cierto, tiene un bug en la instalacion, mas adelante explicaré los detalles de este error.

Algunas caracteristicas de OpenFire

1.- La administración del servidor se hace a través de una interfaz web, que corre por defecto en el puerto 9090 (HTTP) y 9091 (HTTPS). Los administradores pueden conectarse desde cualquier lugar y editar la configuración del servidor, agregar y borrar usuarios,etc.
2.- Openfire es un servidor escrito en Java.
3.- Amigable.
4.- Transferencia de Archivos.
5.- Mensajes offline.
6.- Almacenamiento en Active Directory, LDAP, MS SQL, MySQL, Oracle y PostgreSQL.
7.- Estadísticas del Servidor, mensajes, paquetes.

Les comento que la instalacion fue realizada con las siguientes herramientas:

- Centos 5.2
- openfire-3.6.3-1
- Mysql 5.0.45

Nota: La version 3.6.4 de openfire no marca ningun error de instalación. El error sucede cuando quieres ingresar a la configuracion del servidor ingresando con el usuario admin, no te permite loguear, es decir aunque ingreses la contraseña del administrador que se establece en la instalacion, te dice que son incorrectos los datos, es por eso que mejor busque la version anterior de OpenFire y encontre la version 3.6.3-1, que es la que instale. La verdad no recuerdo en que sitio la encontre, pero por ahi en la red debe de andar en algun sitio.

Instalacion de OpenFire.

1.- Consiguete el rpm de instalacion de openfire "openfire-3.6.3-1.i386.rpm". Escribe el nombre en google y navega un rato.

2.- El siguiente paso sera instalar el paquete, para ello haremos uso del comando "rpm".
[root@localhost]# rpm -ivh openfire-3.6.3-1.i386.rpm
Preparando... ###########################################
[100%]
1:openfire ###########################################
[100%]

3.-El siguiente paso sera crearle una base de datos a Openfire por lo que haremos uso del servidor LAMP (Linux Apache Mysql Php).
[root@localhost]# mysql -u root -p
Enter password: ****************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

Lo siguiente sera dar de alta la base de datos para el servidor de mensajería openfire
Mysql> CREATE DATABASE openfire;
Query OK, 1 row affected (0.00 sec)
mysql>

4.-Diríjase al directorio "/opt/openfire/resources/database".
[root@localhost]# cd /opt/openfire/resources/database

5.- Importe el fichero .sql a la base de datos que creamos, en este caso como nuestro manejador de bases de datos es MySQL seleccionamos el fichero .sql que hace referencia a mysql como se muestra a continuación:

[root@localhost]# cat openfire_mysql.sql | mysql -u root -p openfire
Enter password:*******

nos pedirá teclear la contraseña de root de MySQL misma que creamos en el capitulo anterior.

Lo siguiente sera asignarle al administrador de openfire una cuenta dentro de MySQL y luego de ello asignarle a este usuario permisos de lectura, escritura y ejecución sobre la base de datos que antes creamos, esto se consigue de la siguiente manera.

mysql> GRANT ALL ON openfire.* TO 'adminopenfire'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

La palabra “PASSWORD” se refiere al password del usuario “adminopenfire” el cual sera asignado por usted.

6.-Activar openfire.Para iniciar el servidor de mensajería Openfire por primera vez solo deberá teclear en terminal el siguiente comando:
[root@ localhost ~]# /etc/init.d/openfire start

Como alternativa también podemos ocupar el siguiente comando para iniciar el servidor de mensajería Openfire
[root@ localhost ~]# service openfire start

Recuerde que estos comandos se ejecutan como root

Con esto queda terminado nuestro servidor OpenFire.

Configurando el servidor Openfire

Para completar el proceso de instalación del servidor de mensajería Openfire primero deberán estar levantados los servicios de mysql asi como el openfire, asi que si alguno de estos esta apagado no podrá visualizar la interfaz gráfica del servidor Openfire.

Una vez que nos hemos asegurado que estos servicios están levantados , solo tendremos que abrir un navegador y teclear en la parte superior, la URL de la dirección IP del servidor que tiene instalado el servidor seguido del puerto por el cual recibe peticiones el servidor Openfire somo se muestra a continuación:

http://192.168.1.50:9090/

Posteriormente, nos hará elegir el idioma sobre el cual trabajara el servidor, elegimos como idioma "Español" y damos clic en "Continue".

El siguiente paso sera elegir el dominio sobre el cual trabajara el servidor, en este caso nuestro dominio tiene por nombre "server1.com", la elección de los puertos 9090 y 9091 son los puertos por los cuales podremos acceder en futuras sesiones para fines de gestión y administración del servidor, a menos que usted quiera cambiar estos puertos,se recomienda dejarlos como están.

El siguiente paso sera configurar la fuente de datos, de las cuales elegiremos la "Conexión Estandard" y luego de ello, dar clic en el botón "Continuar".

Posteriormente en la sección "Driver Predefinido" seleccionaremos el driver de MySQL esto es porque nosotros configuramos el servidor con MySQL, en caso de haber sido PosgreSQL se tendría que haber elegido el driver de PosgreSQL, el campo "Clase del Driver JDBC" sera generado automáticamente después de haber seleccionado el driver de MySQL. Deberán quedar estos datos de la siguiente forma:
- Drivers Predefinidos: Mysql
- Clase del driver JDBC: com.mysql.jdbc.Driver
- URL de la Base de Datos: jdbc:mysql://localhost:3306/openfire
- Nombre de usuario:openfire
- Contraseña: password

Damos clic en el botón "Siguiente".

El siguiente paso sera elegir en la sección "Seteos de Perfil" la opción "Por defecto" y posteriormente dar clic en siguiente.

Por ultimo, solo tenemos que brindar una cuenta de correo electrónico de quien administrara el servidor de mensajería Openfire y una contraseña para el Administrador de servidor, el usuario "admin".

Una vez confirmado, nos redireccionara a la consola de administración del servidor de mensajería de Openfire y con ello la instalación habrá concluido.

Para logearnos en la consola de administración solo tendremos que teclear la palabra "admin" acompañado del password que usted le asigno.

Con esto, queda terminada la instalacion y esta listo nuestro servidor openfire para poder conectarnos a el mediante un cliente.

Instalación del Cliente Openfire

El primer paso para la implementacion del cliente de mensajería sera descargar el paquete que contiene dicha aplicación, para ello tendremos que dirigirnos al siguiente enlace:

http://www.igniterealtime.org/downloads/index.jsp

Descargue el cliente spark_2_5_8.exe para Windows o spark_2_5_8.tar.gz para linux.

Instalar Spark en Linux
Copie el archivo descargado a la carpeta /opt y dirijase a esa carpeta.
[root@itinajero opt]# cd /opt
[root@itinajero opt]# tar xf spark_2_5_8.tar.gz

Se crear un directorio llamado Spark.Dirijase a este directorio
[root@itinajero opt]# cd Spark/

Ejecute Spark de la siguiente forma:
[root@itinajero Spark]# ./Spark

Aparecera un programa similar al MSN Messenger

Instalar Spark en Windows
No tiene caso explicar.

Una vez que ya esta instalado nuestra cliente Spark, ya podemos conectarnos y comenzar conversaciones siempre y cuando ya nos hayan asignado un usuario y contraseña.

Para conectarnos desde el cliente, siempre tenemos que proporcionar 3 datos obligatorios:

UserName:nombreUsuario
Password:mypassword
Servidor:192.168.1.50

Dando de alta cuentas en el Servidor de Mensajeria Openfire

1.- Acceda a la consola de administración escribiendo en una navegador web la direccion: "http://192.168.1.50:9090/".
2.- Ingrese el usuario "admin" y la contraseña.
3.- Ya dentro, diríjase a la sección "Usuarios/Grupos".
4.- En esta sección se darán de alta a los usuarios que podrán hacer uso del chat, los cuales serán gestionados por el administrador del servidor. Como ejemplo daremos de alta a dos usuarios, para ello daremos clic en la sección "Crear Nuevo Usuario".
5.- La forma en que se tienen que dar de alta estos usuarios es llenando los campos correspondientes y presionar el botón "Crear usuario".

Bueno, con esto ya tenemos listo nuestro servidor OpenFire instalado y los clientes para poder conectarnos al servidor. Espero que este tutorial les sea de utilidad.

Saludos.

Los Alias. Una forma corta de ejecutar comandos muy largos

Utiliza Alias en Linux
Alias es un comando de Linux que te permite ahorrar mucho texto asingnándole un nombre a comandos largos.

Desde la consola
La primera sería desde la consola, pero este método sólo se mantendrá mientras esa terminal esté abierta.

Escribe
$ alias hola="echo Hola Mundo"

Si vuelves a intentar crear otro alias con ese nombre, lo sustituirás por el nuevo.

Para borrarlo pon: unalias

Ejemplo:
alias windows="mount -t ntfs-3g /dev/sda1 /mnt/windows/"

Para que el alias quede permanente, hay que declararlo en el archivo de configuracion. Editar el archivo ~/.bashrc

# nano ~/.bashrc

Contenido del archivo:


# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias windows='mount -t ntfs-3g /dev/sda1 /mnt/windows/'

Guardar el archivo

Variables de Entorno

Para crear una variable de entorno que permanezca durante las sesion de consola. Al cerrar la consola se pierde.

# PELICULAS=/home/itinajero/desktop/peliculas ; export PELICULAS
# export PELICULAS=/home/itinajero/desktop/peliculas

Para crear una variable y que esta permanzca para el usuario, de debede crear dentro del archivo
# nano ~/.bashrc
Agregar la siguiente linea
export PELICULAS=/home/itinajero/desktop/peliculas
Guardar


Para crear para todo el sistema (todos los usuarios), se debe de crear dentro del archivo
# nano /etc/profile

Para borrar una variable de sesion
# unset NOMBREVARIABLE

EXPRESIONES CON VARIABLE DE ENTORNO
1.- # $[expresion]
Ejemplo
[itinajero@server1 ~]$ echo "Tengo $[2009-1979] años"

2.- # $((expresion))
Ejemplo
[itinajero@server1 ~]$ echo "Tengo $((2009-1979)) años"


Algunas variables de entorno y su significado

1.- BASH
Ruta completa de nuestro interprete de comandos
/bin/bash

2.- BASH_VERSION
Representa la version actual del interprete de comandos

3.- HISTFILE
Ubicacion de nuestro historial
$HOME/.bash_history

4.- HISTFILESIZE
Indica cuantas entradas guardara el historial de comandos.

5.- HISTCMD
Indica el numero actual del historial de comandos

6.- HOSTTYPE
Muestra la arquitecura de nuestro PC.
Por ejemplo i686

7.- HOME
Indica el directorio del usuario logueado

8.- MAIL
Indica el nombre y ruta del archivo de correo del usuario.

9.- OSTYPE
Indica el nombre del sistema operativo actual

10.- RANDOM
Genera un valor aleatorio entre 0 y 99999.

11.- SECONDS
Indica el numero de segusdos desde que iniciamos el inteprete de comandos

12.- UID
No de usuario asignado por el sistema

jueves, 6 de agosto de 2009

Instalar una impresora por medio de CUPS

Iniciar detener CUPS

[root@localhost ~]# service cups start;
Iniciando cups:
[root@localhost ~]# service cups stop;
Parando cups:

Acceder a la administracion de CUPS

http://localhost:631/

Add Printer

Description: Impresora para documentacion
Location: oficina de Anita
Make and Model: HP LaserJet 1320 series Postscript (recommended)
Printer State: idle, accepting jobs, published.
Type Device: Windows Printer Via Samba
Device URI: smb://usuario_windows:password_usuario_windows@10.119.18.117/hp_1320(Recurso Compartido)

Nota: Si pide un usuario y contraseña, se le da la del usuario Linux

miércoles, 5 de agosto de 2009

Comprimir y descomprimir con rar

Comprimir
# rar a archivo.rar ficheros
# rar a archivo.rar tmp/*
# rar a nombreArchivo.rar CarpetaAComprimir/*

Descomprimir
# rar x archivo.rar
# unrar x nombreArchivo.rar


Ver contenido (dos maneras)
# rar l archivo.rar
# rar v archivo.rar

martes, 4 de agosto de 2009

El comando chkconfig

Comando chkconfig
Este comando es una herramienta util para levantar o desactivar servicios los cuales son aplicados durante el
arranque del equipo asi como tambien conocer el estado de los servicios que se estan ejecutando.

1.- Para conocer el estado de los procesos que estan corriendo en su sistema puede ejecutar el siguiente

# chkconfig --list

2.- Para conocer el status de algun proceso en particular solo teclee esto

[root@itinajero tomcat6]# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:on 6:off

Lo cual nos mostrara bajo que niveles de ejecucion esta corriendo el proceso o servicio.

3.- Para levantar algun proceso o servicio durante el arranque del sistema solo teclee esto
[root@localhost ~]#chkconfig –­level 35 httpd on
De esta manera estamos especificando el sistema que siempre que este inicie levante el servidor web apache
en los niveles de ejecucion 3 y 5

Regresar a primer plano un proceso en segundo plano

# emacs file.txt & Mandar a segundo plano
[1] 7526

# %1 Regresar a Primer plano

# kill %1 Terminar(Matar) proceso

Instalar RAR en Centos 5.2

Instalación de RAR en Linux

Primero hay que bajar el paquete comprimido para linux desde AQUI
http://www.rarlab.com/download.htm

Luego lo descomprimimos con el siguiente comando

tar -xzvf rarlinux-3.5.0.tar.gz

Ahora viene lo bueno

ingresamos al directorio que se crea luego de la descompresión con el comando cd

Deberian quedar en algo asi:

debian:/home/itinajero/rar#

Esto indica que estoy como root posisionado sobre el directorio rar

Luego de esto ejecutamos los siguientes comandos para realizar la instalacion del tipo “a mano, pero seguro” XD

cp rar /bin
cp unrar /bin
cp rarfiles.lst /etc
cp default.sfx /lib
cp unrar /sbin
cp rar /sbin

Luego de esto ya pueden ejecutar el comando rar y unrar desde la consola de comandos
Tambien en el menu contextual del Konqueror aparecera

Saludos

Ejecutar programas en segundo plano (Linux)

Ejecutar programas en segundo plano.

Si estamos trabajando con una consola y queremos usar un programa pero que este nos deje seguir trabajando en nuestra consola tenemos que ejecutarlo en segundo plano. Para ejecutar un programa en segundo plano solo tenemos que hacer lo siguiente:

# programa &

Ejemplo:

# ./start.sh &

La consola nos muestra el PID del programa y podemos seguir trabajando en la consola..

Saludos..