Archive for septiembre, 2012

Requerimientos no funcionales

sábado, septiembre 29th, 2012

Los rquerimientos no funcionales son por lo general exigencias de los clientes o usuarios que no tienen que ver con la información o procesos que va a contener el sistema. Si afectan al sistema, pero más bien a la percepcion de calidad de este. En algunos si afectan el funcionamiento del software cuando estos no se cumplen.
Ejemplos serían:

  • rendimiento
  • disponibilidad
  • seguridad
  • accesibilidad
  • usabilidad
  • estabilidad
  • portabilidad
  • costo
  • operatividad
  • interoperabilidad
  • escalabilidad
  • concurrencia
  • mantenibilidad

Que un requerimiento funcional no se cumpla, implica que no se cumplen los requisitos del sistema, y afecta al sistema en distinto grado, pero sigue siendo un requerimiento no funcional.

Hay que tener cuidado eso si en definir bien si es un requerimeinto funcional o no funcional. Cuando tiene que ver con una salida de datos y presentacion de información eso es un requerimiento funcional.

Ejemplo:
Concurrencia: El sistema debe proveer la capacidad de 2000 usuarios concurrentes el mismo minuto.
Disponibilidad: 24×7 es para sistemas online que debiese estar el 100% del tiempo disponible para el usuario, 9×5 serían por ejemplo sistemas transaccionales ocupados en horarios laborales de lunes a viernes.
Rendimiento: El software debe consumir sòlo hasta un 60% de CPU

Cambiando el tiempo de transaccionalidad en JBoss 4.2.3.GA

miércoles, septiembre 26th, 2012

Para los desarrolladores que «debugean» es util cambiar el valor de timeout de la transaccionabilidad el JBoss que esta configurada en 300 segundos por defecto, esto porque la depuración puede de un proceso largo puede tomar más que esos 300 segundos, luego de lo cual la transaccionalidad se pierde, y pierdes además conexiones y cosas similares. En el archivo jboss-service.xml, se debe modificar la seccion, con los segundos en 5000.

   
   
      5000
      ${jboss.server.data.dir}/tx-object-store 
   

Habilitando modulo expires de apache

miércoles, septiembre 26th, 2012

Una de las estrategias para acelerar la carga de tus páginas (al menos a las personas que ya te han visitado) es activando el modulo expires de Apache. Esto significa que se transmite dentro del protocolo una directiva al navegador que estes utilizando la fecha de expiración de los archivos.

Existen archivos que por su naturaleza no son dinamicos, y su vida util es bastante más que un día o una hora, por lo que cuando se transmite el archivo, no es necesario volver a transmitirlo si el usuario ya lo posee en su caché.

Activando el modo expires, se le entrega información al navegador para que mantenga por un tiempo determinado los recursos transmitidos.

En el caso de este blog por ejemplo los javascript (*.js), los css (*.css) y algunos otros tipos de archivos luego de ser subidos no son modificados, ni tampoco son dinámicos con lo que la configuracion de mi .htaccess esta de la siguiente forma:

ExpiresActivate On
<filesMatch "\.(ico|gif|jpg|jpeg|png|flv|pdf|swf|mov|mp3|wmv|ppt|xml|txt|html|js|css|htm)$">
  ExpiresDefault A2419200
  Header append Cache-Control "public"

Lo que significa que todos esos tipos de archivo pueden expriras después de un año.

Se puede complementar con (dentro del bloque de IfModule)

<filesMatch "\.(php|cgi|pl)$">
  ExpiresDefault A0
  Header set Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
  Header set Pragma "no-cache"

Para indicar que esas extensiones son dinamicas, no deben se cacheadas y deben siempre consultarse.

Añadir un usuario existente a un grupo en Unix

miércoles, septiembre 26th, 2012

Cuando ya existente se debe utilizar el comando usermod de la siguiente forma

# usermod -G nombre_grupo nombre_usuario

a más de un grupo

# usermod -G nombre_grupo_1,nombre_grupo_2 nombre_usuario

Como configurar VNCSERVER en Centos 6

miércoles, septiembre 5th, 2012

Una guía rápida de configuración de vncserver en Centos 6 sería, primero descargar el grupo gnome que en Centos 6 cambia de nombre a «Desktop»

yum groupinstall "Desktop"

Luego descargar el vnc server

yum install tigervnc-server xorg-x11-fonts-Type1

Con esto ya hecho como usuario (que es el que quiere compartir su escritorio) debes ejecutar

vncserver

La primera ejecución te establecerá el password que será el que utilizarás de ahí en adelante. Es util saber que para entrar a la sesision te dara un numero, y en el cliente vnc debes establecer este numero, o sea,

En donde :1 significa que es el primer escritorio disponible.
Para terminar la ejecución del vncserver en tu sesión debes ejecutar

vncserver -kill :1

Donde nuevamente el :1 es el numero que te otorgo a ti. Esto ultimo es porque si tres personas ejecutan vncserver, la última recibirá por ejemplo el escritorio numero 3 y tendra que ingresar con :3 como sufijo.

Exportar DDL de un esquema desde DB2

miércoles, septiembre 5th, 2012

Para exportar un esquema desde DB2 debe hacerse con una de las herramientas que trae consigo db2, llamada db2look. Con ella puedes exportar el DDL de un esquema sin problemas, basicamente podrías ejecutar

db2look -e -d nombreEsquema -o db2look.sql 

Con lo que obtendrás basicamente la información de las tablas, con sus indices y claves primarias. Esto en conjunto con otras herramientas te pueden ayudar a exportar una base de datos desde un servidor a otro.