miércoles, 9 de febrero de 2011

Monitoreo toda una ciencia

He estado trabajando con nagios y resulta bastante interesante.

Poder monitorear sitios, servidores, equipos de telecom, etc,etc...
No es de soplar y hacer bombas pero es relativo, aca algunos links de interes

Instalación en ubuntu:
http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html

Obtener plugins:
http://exchange.nagios.org/

miércoles, 8 de septiembre de 2010


domingo, 13 de junio de 2010

jppf español

Java Parallel Procesing Framework

JPPF Manual

CONCEPTO

JPPF permite a las aplicaciones con grandes necesidades de potencia de procesamiento y que van hacer ser ejecutadas en cualquier número de computadoras, a fin de reducir dramáticamente su tiempo de procesamiento. Esto se hace mediante el fraccionamiento de una aplicación en partes más pequeñas que pueden ser ejecutadas simultáneamente en diferentes máquinas.

CARACTERISTICAS

  • Facilidad de uso

Simples API’s que requieren pequeñas curvas de aprendizaje
Despliegue automático de código de la aplicación en el grid
Capacidad de reutilizar los objetos existentes o heredados sin modificación
"happy path" sin necesidad de configuración adicional
Descubrimiento automático del servidor
Aplicación reutilizables conveniente plantilla de forma rápida y sencilla empezar a desarrollar aplicaciones JPPF

  • Auto-reparación y recuperación
Reconexión automática nodo con la estrategia de conmutación por error
Reconexión automática del cliente con la estrategia de conmutación por error
Trabajo con tolerancia a fallos requeuing

  • Trabajo a nivel de SLA
* Las políticas permiten la ejecución nodo basado en reglas de filtrado
* El número máximo de nodos que se pueden ejecutar en un trabajo
* Trabajo priorización
* Trabajo de inicio programada la fecha

  • Gestión y seguimiento
* Nivel de tareas eventos
* Nivel de empleo eventos
* Las estadísticas de rendimiento del servidor
* Gráficos de rendimiento del servidor
*Gráficas definidas por el usuario
* El control de servidor remoto y supervisión
* Nodos de control remoto y monitorización
* El seguimiento de uso de CPU
* Gestión de equilibrio de carga
* Gestión y control disponibles a través de las API y la interfaz gráfica de usuario (consola de administración)

  • Plataforma de extensibilidad
Todos los beans de gestión se pueden conectar, los usuarios pueden añadir sus propios módulos de gestión en el servidor o nodo de nivel
Clases de inicio: los usuarios pueden añadir sus propios módulos de inicialización en el servidor y el nodo de inicio
Seguridad: los datos que transitan por la red ahora pueden ser codificados por el camino de las transformaciones definidas por el usuario
Módulos de equilibrio de carga permite a los usuarios escribir su propia carga de equilibrio de estrategias
Capacidad para especificar esquemas alternativos de serialización

  • Rendimiento y eficiencia de los recursos
Múltiples algoritmos configurables de equilibrio de carga
Adaptación de equilibrio de carga se ajusta en tiempo real la carga de trabajo los cambios
Servidores de la memoria-aware y nodos (conmutación automática de la memoria al archivo de almacenamiento cuando la memoria se vuelve escasa)
El lado del cliente piscinas de conexión del servidor

  • Dinámica de la ampliación topología
Nodos se pueden agregar y quitar de forma dinámica de la red
Servidores se pueden agregar y quitar de forma dinámica de la red
Servidores pueden trabajar solos o unidos en topología P2P con otros servidores conectores de terceros
J2EE conector compatible con JCA 1.5, desplegado como un adaptador de recursos estándar
GigaSpaces XAP conector
Apache Tomcat conector

  • Complementos para Firefox
Multiplexor TCP, las rutas de tráfico a través de JPPF un único puerto TCP para trabajar con los entornos de un cortafuegos

Modos de implementación

Todos los componentes se despliegan como aplicaciones Java
Servidores y nodos son desplegables como Linux / Unix demonios
Servidores y nodos son desplegables como los servicios de Windows
Implementación de aplicaciones cliente como web, J2EE o aplicación GigaSpaces XAP

Ejecución de los modos

Empleo de comunicaciones síncronas y asíncronas
El cliente puede ejecutar en modo local (prestaciones a los sistemas con muchas CPU)
El cliente puede ejecutar en modo distribuido (ejecución delegada a los nodos remotos)
El cliente puede ejecutar en modo mixto local / distribuido con adaptación de equilibrio de carga.

ARQUITECTURA
Arquitectura de Alto Nivel

Descripción de Componentes

Marco tiene una arquitectura 3 niveles, consta de 3 capas distintas:
* Nivel de cliente: proporciona un API y herramientas de comunicación que utilizan el marco para presentar las tareas, a ejecutar en paralelo.
* Capa de servicios: responsable de la comunicación entre los clientes y los nodos, junto con la gestión de la cola de ejecución, el balanceo de carga y características de recuperación, y la carga dinámica de ambos marco y clases de la aplicación en los nodos correspondientes.
* Ejecución de capa: estos son los nodos. Ellos ejecutan las tareas individuales, devuelva los resultados de ejecución, y dinámicamente solicitud, desde el controlador de JPPF, el código que necesitan para ejecutar las tareas de cliente.

Flujo de ejecución


Clase de carga en JPPF


Topología extendida de la red


JPPF puede ser extendido para incluir muchos servidores, comunicarse juntos en una topología de punto a punto.

En esta topología, cada servidor es visto por sus pares como un nodo, y ve a sus pares como clientes.

Hay un gran número de ventajas a este diseño:

* Permite una mayor escalabilidad de la red JPPF, al permitir que el "pluging-in" de servidores adicionales dynamcally. De esta manera, un servidor puede delegar una parte de su carga a otros servidores.
* No importa cuántos servidores están presentes, los nodos y los clientes se comunican con ellos de la misma manera exacta
* Servidor de las conexiones entre los propios beneficios de la conmutación por error mismo y la recuperación de características disponibles para los nodos y los clientes

Ventajas
Entre los beneficios JPPF es su facilidad de instalación, uso y despliegue. No es necesario para pasar unos días para escribir un "Hola Mundo". Un par de minutos, hasta un par de horas como máximo, será suficiente. Implementación de componentes JPPF más de un grupo es tan simple como copiar archivos a través de FTP o cualquier otro sistema de archivos de red. JPPF permite a los desarrolladores centrarse en su núcleo de desarrollo de software, en lugar de perder el tiempo en la complejidad de procesamiento paralelo y distribuido.
Con el framework 100% Java, JPPF se ejecutará en cualquier sistema que soporte Java: MacOS, Windows, Linux, zOS, en cualquier hardware de una computadora portátil simple hasta una computadora central. Esto no quiere decir que JPPF se limita a los trabajos en ejecución de Java Puede ejecutar cualquier aplicación que está disponible en su plataforma como un trabajo JPPF. Por ejemplo, usted podría querer ejecutar la suite de gráficos favorito en el modo por lotes, para que la multiplicidad de imágenes grandes y complejas a la vez.
Otro beneficio de JPPF es una simplificación, casi inmediata, el proceso de despliegue de la aplicación de la parrilla. Pesar de que su aplicación se ejecutará en los nodos a la vez, sólo es necesario incorporar este sistema en un solo lugar. Al extender la clase Java de carga mecanismo, JPPF elimina la mayor parte de la carga de la implementación del ciclo de vida de la aplicación, acortando dramáticamente el tiempo de salida al mercado y el tiempo de producción para.

Introducción
Dirigido a:
Este manual está dirigido a desarrolladores, ingenieros de software y arquitectos que deseen conocer, aprender o profundizar sus conocimientos de JPPF y cómo funciona. La intención es también proporcionar los conocimientos suficientes no sólo para escribir sus propias aplicaciones usando JPPF, sino también hacerla extensiva mediante la creación de complementos y los conectores con otros frameworks.
Requisitos previos
JPPF funciona en cualquier sistema que soporte Java. No se requiere sistema operativo, puede ser instalado en todos los sabores de Unix, Linux, Windows, Mac OS y otros sistemas, como zOS u otros sistemas mainframe.
JPPF requiere lo siguiente instalado en su máquina:
Java Standard Edition versión 1.5 o posterior, con la variable de entorno JAVA_HOME apuntando a la carpeta raíz de instalación de Java
Apache Ant, la versión 1.7.0 o posterior, con la variable de entorno ANT_HOME apuntando a la carpeta raíz de instalación de Ant
Las inscripciones en el PATH del sistema por defecto para JAVA-HOME/bin y Bin ANT_HOME /
Donde descargar
Todo el software JPPF se puede descargar desde la página de descargas JPPF .
Hemos tratado de dar a cada módulo un nombre que tenga sentido. El formato es JPPF-xyz-. Zip, cuando:
x es el número de versión principal
y es el número menor de versión
z es el número de lanzamiento del parche - no aparecerá si no hay parche ha sido puesto en libertad (es decir, si es igual a 0)
es el nombre dado al módulo
Instalación
Cada descarga JPPF está en formato zip. Para instalarlo, simplemente descomprimir en un directorio de su elección.
Cuando descomprimido, el contenido será bajo un directorio llamado JPPF-xyz-
Ejecución de los módulos independientes
La distribución JPPF incluye una serie de módulos independientes o componentes, que se pueden implementar y ejecutar de forma independiente en cualquier máquina, ya sea separadas, y / o en máquinas desde una ubicación distinta.
Estos módulos son los siguientes:
plantilla de aplicación: esta es la plantilla de aplicación para utilizar como punto de partida para una nueva aplicación JPPF, archivo JPPF-2.0-application-template.zip
driver: éste es el componente de servidor, el archivo JPPF-2.0-driver.zip
nodo: este es el componente del nodo, archivo JPPF-2.0-node.zip
consola de administración: esta es la gestión y la interfaz de usuario de seguimiento, archivo JPPF-2.0.admin-ui.zip
multiplexor: este es el Multiplicador de TCP que las rutas de todo el tráfico a través de un solo puerto, archivo JPPF-2.0.multiplexer.zip.
Estos módulos están diseñados para ejecutarse desde un script de Ant. La secuencia de comandos siempre se llama "build.xml" y siempre tiene un destino predeterminado llamado "run". Para ejecutar cualquiera de estos módulos, simplemente escriba "ant" o "ant run" en un símbolo del sistema o consola de shell.
Software necesario
En este tutorial, vamos a estar escribiendo una muestra JPPF aplicación, y se lo ejecuta en una red pequeña. En este sentido, tendremos que descargar e instalar los siguientes componentes JPPF:
JPPF plantilla aplicación: este es el archivo JPPF-xyz-application-template.zip
JPPF driver: este es el archivo JPPF-xyz-driver.zip
JPPF nodo: este es el archivo JPPF-xyz-node.zip
JPPF consola de administración: esta es el archivo JPPF-xyz-admin-ui.zip
Nota: "xyz" designa a la última versión de JPPF (mayor.menor.update). En general, "xy0" se abrevia en "xy".

Estos archivos están disponibles desde el instalador JPPF y / o desde la página de descarga JPPF .
Además de esto, Java 1.5 o posterior y Apache Ant 1.7.0 o posterior ya debería estar instalado en su máquina.
Vamos a suponer la creación de una nueva carpeta llamada "JPPF-Tutorial, en el que todos estos componentes son descomprimidos. Por lo tanto, debemos tener la siguiente estructura de carpetas:
JPPF-Tutorial
JPPF-xyz-admin-ui
JPPF-xyz-application-plantilla
JPPF-xyz-driver
JPPF-xyz-nodo
Información general
Tutorial organización
Vamos a base de este tutorial sobre una solicitud de pre-existentes de plantilla, que es uno de los componentes de la distribución JPPF. La ventaja es que la mayoría de los cables de bajo nivel ya está escritos para nosotros, y de este modo, puede centrarse en los pasos para armar una aplicación JPPF. La plantilla es un muy simple, pero totalmente funcional, aplicación JPPF, y contiene completamente comentado el código fuente, archivos de configuración y scripts para generar y ejecutar la misma.
Se organiza con la siguiente estructura de directorios:
directorio raíz: contiene las secuencias de comandos para generar y ejecutar la aplicación
src: aquí es donde las fuentes de la aplicación se encuentran
clases: el lugar donde el compilador Java lugar las fuentes construidas
config: contiene el JPPF y la explotación forestal archivos de configuración
lib: contiene las bibliotecas necesarias para generar y ejecutar la aplicación
Expectativas
Vamos a aprender cómo:
Escribir una tarea JPPF
crear un trabajo y lo ejecutamos
proceso de la ejecución resultados
administrar los trabajos JPPF
ejecutar una aplicación JPPF

Las características de JPPF que vamos a utilizar:
· JPPF Trabajo y tarea API’s
· los cambios del código local cuenta automáticamente, en
· JPPF API de cliente
· la gestión y la consola de supervisión
· configurar JPPF

Al final de este tutorial, vamos a tener una aplicación JPPF de pleno derecho que podemos construir, ejecutar, supervisar y administrar de una red de JPPF. También se han adquirido los conocimientos del funcionamiento de una aplicación típica de JPPF y estaremos listos para escribir la vida real, las aplicaciones habilitadas para la red.
Escribir una tarea JPPF
Una tarea JPPF es la unidad más pequeña de código que puede ejecutarse en una red JPPF. Desde una perspectiva JPPF, que se define así como un código de la unidad atómica. Una tarea siempre se define como una subclase de la clase JPPFTask . JPPFTask es una clase abstracta que implementa la interfaz Runnable. La parte de una tarea que se ejecutará en la parrilla es lo que está escrito en su método run ().
Desde el punto de vista del diseño, la escritura una tarea JPPF comprenderá dos pasos principales:
crear una subclase de JPPFTask.
aplicar el método run ().
Desde la carpeta de plantillas de aplicación de la raíz, navegue a la carpeta src / org / jppf / application / plantilla. Verás 2 ficheros Java en esta carpeta: "TemplateApplicationRunner.java" y "TemplateJPPFTask.java". Abra el archivo "TemplateJPPFTask.java" en tu editor de texto favorito.
En el editor podrás ver una tarea JPPF de pleno derecho declarada como sigue:
public class TemplateJPPFTask extends JPPFTask
Por debajo de este, se encuentra un método run () declararse como sigue:
public void run()
{
// write your task code here. /
System.out.println("Hello, this is the node executing a template JPPF task");
// ... / / ...

// eventually set the execution results /
setResult("the execution was performed successfully");
}
Podemos adivinar que esta primera tarea se imprimirá un "Hola ..." mensaje a la consola, a continuación, la resultado de la ejecución mediante una llamada al setResult () con un mensaje de cadena. El setResult() método en realidad toma cualquier objeto, y se ofrecen como un servicio para almacenar los resultados de la ejecución de la tarea, para su posterior recuperación.
En este método, para demostrar que hemos personalizado la plantilla, vamos a reemplazar la línea "/ / ..." con una declaración en la impresión de un segundo mensaje, por ejemplo "De hecho, esto es más que el modelo estándar". El método run () se convierte en:
public void run()
{
// write your task code here. /
System.out.println("Hello, this is the node executing a template JPPF task");
System.out.println("In fact, this is more than the standard template");

// eventually set the execution results
setResult("the execution was performed successfully");
}
No se olvide de guardar el archivo para que este cambio se tenga en cuenta.
El siguiente paso es crear un trabajo JPPF de una o varias tareas, y ejecutar este trabajo en el grid.
Crear y ejecutar un trabajo
Un trabajo es un conjunto de tareas con un conjunto común de características comunes y un SLA. Estas características incluyen:
datos comunes compartidos entre las tareas
una prioridad
un número máximo de nodos de un trabajo puede ser ejecutado
una política de ejecución de los nodos que describen qué puede funcionar
un indicador de suspensión, que permite la presentación de un trabajo en estado de suspensión, en espera de un comando externo para reanudar o comenzar su ejecución
un indicador de bloqueo / no-bloqueo, especificando si la ejecución del trabajo es sincrónica o asincrónica desde el punto de vista de la aplicación
Crear y llenar un puesto de trabajo
En el API JPPF, un puesto de Job se representa como una instancia de la clase JPPFJob .
Para ver cómo se crea un puesto de Job, vamos a abrir el archivo de origen "TemplateApplicationRunner.java" en la carpeta JPPF-xyz-application-template/src/org/jppf/application/template. En este archivo, vaya a la createJob método ().
Este método se escribe como sigue:
public JPPFJob createJob() throws Exception
{
// create a JPPF job
JPPFJob job = new JPPFJob();
// Controlar y gestionar la misma.
job.setId("Template Job Id");

// Añadir una tarea para el trabajo.
job.addTask(new TemplateJPPFTask());
// Añadir tareas más aquí ...

// No hay ninguna garantía sobre la orden de ejecución de las tareas,
// Fin de que las tareas.
return job;
}
Podemos ver que la creación de un puesto de trabajo se realiza mediante una llamada al constructor predeterminado de la clase JPPFJob. La llamada al método job.setId (String) se utiliza para dar el trabajo de un nombre significativo que después puede utilizar para manejarlo. Si este método no se llama a un id se genera automáticamente, como una cadena de 32 caracteres hexadecimales.

Agregar una tarea para el trabajo se hace mediante una llamada al método addTask (tarea de objetos, objetos ... args). Los argumentos opcionales se utilizan cuando queremos ejecutar otras formas de tareas, que no son subclases de JPPFTask. Veremos su uso en los sectores más avanzados del manual de usuario JPPF. Como podemos ver, todo el trabajo ya se hace en el archivo de plantilla, así que no hay necesidad de modificar el createJob () método por ahora.
La ejecución de un trabajo y procesamiento de los resultados
Ahora que hemos aprendido a crear un puesto de trabajo y rellenarla con las tareas, todavía es necesario para ejecutar este trabajo en el grid, y procesar los resultados de esta ejecución. Aún en el archivo de origen "TemplateApplicationRunner.java", vamos a navegar a la principal (String. .. args) método, en primer lugar a echar un vistazo más de cerca el bloque try, el cual contiene una declaración de inicialización muy importante:
jppfClient = new JPPFClient();
Esta sola declaración inicializa el marco JPPF en su aplicación. Cuando se ejecuta JPPF hará varias cosas:
leer el fichero de configuración
establecer una conexión con uno o varios servidores para la ejecución del trabajo
establecer un seguimiento y gestión de la conexión con cada servidor conectado
registro oyentes para controlar el estado de cada conexión
Como puede ver, el cliente tiene un impacto JPPF no despreciable sobre la memoria y recursos de red. Es por eso que recomendamos a declararlo como un producto único, y utilizar siempre la misma instancia en toda la aplicación. Esto también asegurará una mayor escalabilidad, ya que también está diseñado para su uso simultáneo por parte de varios hilos. Para este efecto, hemos declarado como una variable estática en TemplateApplicationRunner.java:
private static JPPFClient jppfClient = null;
También es una buena práctica para liberar los recursos utilizados por el cliente JPPF cuando no están en desuso. En realidad recomiendo hacer esto llamando a su método close () en un finally{} bloque :
finally
{
if (jppfClient != null) jppfClient.close();
}
Volver al método principal, después de inicializar el cliente JPPF, son los próximos pasos para inicializar nuestro corredor de trabajo, crear un trabajo y ejecutarlo:
// create a runner instance.
TemplateApplicationRunner runner = new TemplateApplicationRunner();
// Create a job
JPPFJob job = runner.createJob();
// execute a blocking job
runner.executeBlockingJob(job);
La llamada a runner.createJob () es exactamente lo que vimos en la sección anterior 2.4.1. Lo que queda por hacer es ejecutar el trabajo y el proceso de los resultados, que es la intención de la llamada a executeBlockingJob (JPPFJob Trabajo):
/**
* Execute a job in blocking mode. The application will be blocked until the job
* execution is complete.
* @param job the JPPF job to execute.
* @throws Exception if an error occurs while executing the job.
*/
public void executeBlockingJob(JPPFJob job) throws Exception
{
// set the job in blocking mode.
job.setBlocking(true);
// Submit the job and wait until the results are returned.
// The results are returned as a list of JPPFTask instances,
// in the same order as the one in which the tasks where initially added the job.
List results = jppfClient.submit(job);
// process the results
for (JPPFTask task: results)
{
// if the task execution resulted in an exception
if (task.getException() != null)
{
// process the exception here ...
}
else
{
// process the result here ...
}
}
}
La primera declaración de este método asegura que el trabajo se presentará en modo de bloqueo, lo que significa que la aplicación se bloqueará hasta que el trabajo se ejecuta:
job.setBlocking(true);
Esto es, de hecho, opcional desde la presentación en modo de bloqueo es el comportamiento predeterminado en JPPF.
La segunda declaración es la que va a enviar el trabajo al servidor y esperar hasta que haya sido ejecutado y los resultados devueltos son los siguientes:
List results = jppfClient.submit(job);
Podemos ver que los resultados se devuelven como una lista de objetos JPPFTask. Se garantiza que cada tarea en esta lista tiene la misma posición que la tarea correspondiente que se ha añadido al trabajo. En otras palabras, los resultados son siempre en el mismo orden que las tareas en el trabajo que él.

El último paso consiste en interpretar y procesar los resultados. Desde el punto de vista JPPF, hay dos posibles resultados de la ejecución de una tarea: una que plantea una Throwable, y uno que no lo hizo. Cuando uno no detectada Throwable (es decir, en general, una instancia de una subclase de java.lang.Error jo java.lang.Exception) se eleva, JPPF lo cogerá y lo puso como el resultado de la tarea. Para ello, el método JPPFTask.setException (Excepción) se llama. Usted notará que el parámetro es una instancia de excepción o de una de sus subclases. Por lo tanto, cualquier error no detectado se verá envuelto en una JPPFException. JPPF considera que el procesamiento de excepciones es parte del ciclo de vida de una tarea y proporciona los medios para capturar esa información en consecuencia.

Esto explica por qué, en nuestro código de la plantilla, hemos separado el resultado de procesamiento de cada tarea en 2 bloques:
if (task.getException() != null)
{
// process the exception here ...
}
else
{
// process the result here ...}

Los resultados reales de la computación de una tarea puede ser cualquier atributo de la tarea, o cualquier objeto accesible de ellos. El API JPPFTask ofrece dos métodos de conveniencia para ayudar a hacer esto: setResult (Objeto) y getResult (), sin embargo no es obligatorio su uso, y se puede aplicar el resultado de su propia manipulación régimen, o podría ser simplemente una parte de la tarea diseño.
Como ejemplo para este tutorial, vamos a modificar esta parte del código para mostrar el mensaje de excepción si la excepción se planteó, y para mostrar el resultado de otro modo:
if (task.getException() != null)
{
System.out.println("An exception was raised: "
+ task.getException().getMessage());
}
else
{
System.out.println("Execution result: "
+ task.getResult());
}
Ahora puede guardar el archivo y ciérrelo.
Ejecución de la aplicación RECETA
Ahora estamos listos para probar nuestra aplicación JPPF. A tal efecto, tendrá que empezar primero una rejilla JPPF, de la siguiente manera:
Paso 1: iniciar un servidor
Vaya la carpeta JPPF-xyz-driver y abrir una línea de comandos o consola de shell. Escriba "ant". Usted debe ver las siguientes líneas en la consola:
run:
[echo] starting the JPPF driver
[java] Class Server initialized - listening on port 11111
[java] Client Server initialized - listening on port 11112
[java] Tasks Server initialized - listening on port 11113
[java] JPPF Driver management initialized
[java] JPPF Driver initialization complete

El servidor ya está listo para procesar las solicitudes de trabajo.

Paso 2: comienzo de un nodo
Ir a la carpeta JPPF-xyz-nodo y abrir una línea de comandos o consola de shell. Escriba "ant". A continuación, verá las siguientes líneas en la consola:
run:
[java] JPPFClassLoader.init(): attempting connection to the class server
[java] JPPFClassLoader.init(): Reconnected to the class server
[java] PeerNode.init(): Attempting connection to the JPPF driver
[java] PeerNode.init(): Reconnected to the JPPF driver
[java] Node successfully initialized
En conjunto, este nodo y el servidor constituyen la más pequeña rejilla JPPF que usted pueda tener.
Paso 3: ejecutar la aplicación
Ir a la JPPF-xyz-application-carpeta de plantillas y abrir una línea de comandos o consola de shell. Escriba "ant". Esta vez, la secuencia de comandos Ant primero compilará nuestra aplicación, a continuación, ejecutarlo. Usted debe ver estas líneas en la consola:
run:
[java] [client: driver-1 (:11198)] ClassServerDelegate.init(): Attempting
connection to the class server
[java] [client: driver-1 (:11198)] ClassServerDelegate.init():
Reconnected to the class server
[java] [client: driver-1 (:11198)] : Attempting connection to the JPPF
task server
[java] [client: driver-1 (:11198)] : Reconnected to the JPPF task server
[java] Execution result: the execution was performed successfully
donde corresponde a la dirección IP de su ordenador.
Usted se dará cuenta de que la última línea impresa es el mismo mensaje que hemos utilizado en nuestra tarea en el método run (), para establecer el resultado de la ejecución en la declaración:
setResult("the execution was performed successfully");
Ahora bien, si se cambia de nuevo al nodo de la consola, debería ver que 2 mensajes nuevos se han publicado:
[java] Hello, this is the node executing a template JPPF task
[java] In fact, this is more than the standard template
Estas líneas 2 son los que en realidad codificada a principios de ejecutar la tarea del método ():
System.out.println("Hello, this is the node executing a template JPPF task");
System.out.println("In fact, this is more than the standard template");
A partir de estos mensajes, podemos concluir que nuestra aplicación se ejecute correctamente. ¡Felicitaciones!
En este punto, hay sin embargo un aspecto que todavía no hemos abordado: desde el nodo es un proceso independiente de nuestra aplicación, ¿cómo sabe para ejecutar nuestra tarea? Recuerde que ni siquiera hemos tratado de implementar las clases aplicación a cualquier ubicación específica. Simplemente hemos recopilado de manera que les podemos ejecutar nuestra aplicación a nivel local. Este tema es objeto de la siguiente sección de este tutorial.
Dinámica de implementación
Una de las mayores características de JPPF es su capacidad para cargar dinámicamente el código de una aplicación que se utilicen tan sólo a nivel local. JPPF amplía la clase estándar de Java mecanismo de carga de manera que, simplemente utilizando las API de JPPF, las clases de una aplicación se cargan a cualquier nodo remoto que las necesita. La ventaja es que no hay despliegue de la aplicación es necesaria para que se ejecute en una cuadrícula JPPF, no importa cómo muchos nodos o servidores están presentes en la red. Además, este mecanismo es totalmente transparente para el desarrollador de aplicaciones.
Una ventaja importante es que los cambios de código son tomados en cuenta de forma automática, sin necesidad de reiniciar los nodos o el servidor. Esto significa que, al cambiar cualquier parte del código que se ejecuta en un nodo, lo único que tienes que hacer es volver a compilar el código y ejecutar la aplicación, y los cambios tendrán efecto de inmediato, en todos los nodos que ejecutan la aplicación.
Ahora vamos a demostrar esto haciendo un pequeño, pero un cambio visible, el código y ejecutarlo en el servidor y el nodo ya hemos empezado, si usted los ha dejado ya, simplemente realizar nuevamente todos los pasos descritos en la sección anterior (2,5), antes de continuar.
Está abierto de nuevo el archivo de origen Let "TemplateJPPFTask.java" en JPPF-xyz-application-template/src/org/jppf/application/template /, y vaya a la método run().Vamos a sustituir las dos primeras líneas con lo siguiente:
System.out.println("*** We are now running a modified version of the code ***");
El método run () ahora debe verse así:
public void run()
{
// write your task code here.
System.out.println("*** We are now running a modified version of the code ***");
// eventually set the execution results
setResult("the execution was performed successfully");
}
Guarde los cambios en el archivo y abrir o volver a una línea de comandos o shell de la consola en el JPPF-xyz-application-carpeta de plantillas. A partir de ahí, el ant "tipo" para ejecutar la aplicación de nuevo. Ahora debería ver los mismos mensajes que en el largo inicial se muestra en la consola. Esto es lo que esperábamos. Por otra parte, si se cambia de nuevo al nodo de la consola, ahora debería ver un nuevo mensaje:
[java] *** We are now running a modified version of the code ***
Éxito! Hemos implementado exitosamente nuestra nuevo código sin ningún tipo de redistribución explícito.
Administración de los trabajos
Ahora que somos capaces de crear, presentar y ejecutar un trabajo, podemos empezar a pensar acerca de la supervisión y, finalmente, el control de su ciclo de vida del grid. Para ello, usaremos la administración y supervisión JPPF consola. El JPPF consola es una herramienta independiente que proporciona interfaces gráficas fáciles de usar para:
obtener estadísticas sobre el rendimiento del servidor
definir, personalizar y visualizar gráficos de rendimiento del servidor
supervisar y controlar el estado y la salud de los servidores y nodos
vigilar y controlar la ejecución de los trabajos en la parrilla
gestionar la carga de trabajo y el comportamiento de equilibrio de carga
Preparar el trabajo para la gestión
En nuestra plantilla de aplicación, el trabajo que llevamos a cabo en el grid tiene una sola tarea. Como hemos visto, esta tarea es muy corto en vivo, ya que se ejecuta en no más de unos pocos milisegundos. Esto definitivamente no nos permite que controlemos o gestionar con nuestro tiempo desnuda reacción humana. A los efectos de este tutorial, ahora vamos a adaptar la plantilla a algo más realista desde esta perspectiva.
Paso 1: Hacer las tareas duran más
Lo que haremos aquí es añadir un retardo a cada tarea, antes de que termine. No hará nada durante este tiempo, sólo esperar a un tiempo determinado. Vamos a editar de nuevo el archivo de origen "TemplateJPPFTask.java" en JPPF-xyz-application-template/src/org/jppf/application/template / y modificar el método run () de la siguiente manera:
public void run()
{
// write your task code here.
System.out.println("*** We are now running a modified version of the code ***");
// simply wait for 3 seconds
try
{
Thread.sleep(3000L);
}
catch(InterruptedException e)
{
setException(e);
return;
}
// eventually set the execution results
setResult("the execution was performed successfully");
}
Tenga en cuenta que aquí, hacemos una llamada explícita a setException(), en el caso de una InterruptedException se eleva. Puesto que esta excepción se producen en el nodo, capturando nos permitirá saber lo que pasó desde el lado de la aplicación.

Paso 2: añadir más tareas a los puestos de trabajo, lo presentará como suspendida
Esta vez, nuestro trabajo va a contener más de una tarea. Para que podamos tener el tiempo para manipular desde la consola de administración, también se inicia en modo suspendido. En este sentido, vamos a modificar el método de createJob () del corredor de aplicaciones"
public JPPFJob createJob() throws Exception
{
// create a JPPF job
JPPFJob job = new JPPFJob();
// give this job a readable unique id that we can use to monitor and manage it.
job.setId("Template Job Id");
// add 10 tasks to the job.
for (int i=0; i<10; i++) job.addTask(new TemplateJPPFTask());
// start the job in suspended mode
job.getJobSLA().setSuspended(true);
return job;}

Paso 3: Inicie los componentes JPPF
Si ha dejado el servidor y el nodo, simplemente empezar de nuevo como se describe en los dos primeros pasos de la sección 2.5 de este tutorial.
También vamos a iniciar la consola de administración:
Ir a la JPPF-xyz-admin-carpeta ui y abrir una línea de comandos o consola de shell. Type "ant". Escriba "ant".
Cuando la consola se inicia, verá un panel llamado "Topología" que muestra los servidores y los nodos conectados a ellos. Se debe tener este aspecto:

Podemos ver aquí que un servidor se inicia en la máquina "lolo-quad" y que tiene un nodo se le atribuye. El color para el servidor es un indicador de salud, lo que significa verde que se está ejecutando normalmente y roja que significa que está abajo.
Cambiemos al "Trabajo de datos" panel, que debería tener este aspecto:

También vemos la información del controlador de la salud con códigos de color en este panel. Actualmente no hay otro elemento en pantalla, porque no hemos presentado un trabajo todavía.

Paso 4: iniciar un nuevo trabajo
Ahora vamos a comenzar un trabajo mediante la ejecución de nuestra aplicación: ir a la JPPF-xyz-application-carpeta de plantillas y abrir una línea de comandos o consola de shell. Escriba "ant". Switch. Vaya a la consola de la administración. Ahora, deberíamos ver un cambio en la pantalla:

Ahora vemos que un trabajo está presente en la cola del servidor, en estado de suspensión (destacado en amarillo). He aquí una explicación de las columnas de la tabla:
"Driver / Trabajo / Nodo": muestra un nombre de usuario para un servidor, por un trabajo presentado a ese servidor, o para un nodo al que algunas de las tareas en el trabajo han sido enviados para su ejecución
"Estado": el estado actual de un trabajo, ya sea "suspendido" o de ejecución "
"Contar tarea inicial": el número de tareas en el trabajo en el momento en que se envía a la aplicación
"Contar tarea actual": el número de tareas pendientes en el trabajo, que no han sido ejecutados
"Prioridad": esta es la prioridad, del trabajo, el valor por defecto es 0.
"Max nodos": el número máximo de nodos de un trabajo puede ser ejecutado en. De forma predeterminada, no hay límite, que se representa como el símbolo de infinito

Paso 5: la reanudación de la ejecución de trabajo
Dado que el trabajo se presentó en estado de suspensión, se reanudará su ejecución manualmente desde la consola Seleccione la línea en el trabajo "ID de la plantilla de trabajo" en la pantalla. Usted debe ver que algunos botones se activará. Haga clic en el botón de reanudar (marcados con el icono [[Image:]]) para reanudar la ejecución del trabajo, como se muestra a continuación:

Tan pronto como reanudar el trabajo, el servidor inicia la distribución de tareas a los nodos, y podemos ver que el recuento de la tarea actual comienza a disminuir en consecuencia, y el estado de los trabajos se ha cambiado a "Ejecutar":

Se le anima a experimentar con la herramienta y el código. Por ejemplo, puede añadir más tareas a los puestos de trabajo, los hacen durar más tiempo, suspender, reanudar o terminar el trabajo mientras se está ejecutando, etc ..
Conclusión
En este tutorial, hemos visto cómo escribir una aplicación JPPF habilitado de punta a punta. También hemos aprendido de las API básicas que nos permiten escribir una solicitud de las unidades de ejecución atómica e independiente llamada tareas y agruparlas en puestos de trabajo que pueden ser ejecutados en la parrilla. También hemos aprendido cómo los trabajos se pueden administrar y controlar de forma dinámica durante la ejecución. Por último, también se enteró de que, a pesar de que una aplicación puede ser distribuida a través de cualquier número de nodos, no hay necesidad de desplegar explícitamente el código de la aplicación, ya que JPPF implícitamente se encarga de ello.

lunes, 21 de septiembre de 2009

Consejos para el Mantenimiento de una Portátil

1. Nunca limpie su computadora con productos abrasivos o que contengan alcohol o combustibles inflamables. Utilice para su limpieza externa solo productos antiestáticos especialmente diseñados para computadoras o simplemente un trapo levemente humedecido con agua.

2. Nunca sobrecargue su batería mas de 24 horas. Tampoco la recargue luego de estar conectada a la corriente con carga completa. Es recomendable en este caso, que la computadora trabaje con bastante frecuencia solo con su batería hasta descargarse por completo.

3. Nunca mueva el computador encendido con la pantalla abierta, cierre la pantalla hasta que las luces indiquen que la maquina esta en congelación.

4. Siempre consulte primero el manual de usuario antes de efectuar cualquier operación inusual en el equipo.

5. Recurra siempre al taller de servicio autorizado por para cualquier reparación, o donde la adquirió para el servicio de garantía. Manos no calificados pueden dañar el equipo o invalidar la garantía.

6. Nunca escriba o coloque cosas de peso sobre el computador. Tampoco se apoye o presione fuertemente la pantalla.

7. No coma, ni beba cerca del computador, para evitar ensuciarla o causarle daño.

Cuidados de la batería

TIPOS DE CARGA:

1. CARGA RÁPIDAMENTE: Se conecta el equipo apagado al toma corriente.

2. CARGA LENTAMENTE: se conecta el equipo en uso al toma corriente, esta opción usar el computador mientras la batería se carga.

La batería principal de la computadora automáticamente carga la batería de respaldo. Como resultado de este proceso, la batería de respaldo consume cerca del 15 % de la carga de la batería principal, por día, cuando la computadora se deja conectada y no se usa. Por lo tanto es normal que para una batería totalmente cargada se descargue cuando no se encuentra conectada al toma corriente.

Problemas con la bateria de su compu!
Si tienes problemas para cargar la batería o si la capacidad de la batería ha decrecido con el tiempo, puedes utilizar el siguiente procedimiento el cual puede "re-acondicionar" la batería:

* Desconecta la computadora del adaptador de corriente y enciéndela. Deja que la computadora funcione utilizando la batería hasta que la computadora se apague, indicando que la batería está totalmente descargada.
* Quita la batería.
* Utiliza una franela, limpia los conectores de la batería y los conectores del adaptador de corriente.
* Coloca la batería en su lugar.
* Conecta el adaptador de corriente a la computadora y al toma corriente asegúrate de que las conexiones se encuentran bien.
* Con la computadora apagada permite que la batería se cargue hasta que el indicador le cambie a color verde.
* Desconecta el adaptador de corriente.
* Retira la batería.
* Espera 30 segundos y coloca la batería.
* Conecta el adaptador de corriente.
* Deja que la batería se recargue hasta que el indicador cambie a color verde o el icono despliegue 100%.
* Ahora la batería deberá estar completamente cargada. Desconecta la computadora del tome corriente y enciende el equipo. Deberás notar que la duración de la batería se prolonga.

miércoles, 5 de agosto de 2009

Instalando Ubuntu

Consideraciones para instalar ubuntu,

1. Particiones:

  • Partición para Área de intercambio = ext3 = 1gb
  • Partición para el sistema = / = ext3 = 6 – 10 gb
  • Partición para documentos de usuario = /home = ext3 = 10 gb


2. Actualizaciones:

1. Sistema -> Administración -> Gestor de actualizaciones

2. Presionar el botón de comprobar

3. Una vez descargados los paquetes, presionar el botón de instalar actualizaciones

4. Reiniciar

5. Repetir el proceso de actualización por aquello.

6. Sistema -> Administración -> Gestor de Paquetes Synaptic

7. En la opción de buscar poner el ubuntu-restricted-extras, marcarlo para instalar y presionar el botón de aplicar

8. Luego buscar amsn, marcarlo para instalar y presionar el botón de aplicar
cerrar ventana

9. Generalmente en laptops, hay problema con algunos controladores:
  • Sistema -> Administración -> Controladores de Hardware, y activar el controlador de video.
  • reiniciar
  • luego en los mismos controladores, ver si esta la inalámbrica u otro controlador.

miércoles, 29 de julio de 2009

Asistencia remota con MSN

Que se necesita para acceder a otro computador??

El messager nos ofrece una aplicación bastante útil para acceder a la maquinas remotas, claro cuando este funciona. Admitiendo la verdad lo he probado varias veces y en ciertas ocasiones es perfecto y otras no tanto. El porque, no lo he descubierto, pero voy a documentar lo que si se!!

Pasos para asistencia remota con MSN:


1. Permitir enviar y recibir asistencia, según sea el caso.
En mipc, clic derecho - propiedades - vemos la cejilla remoto(como muestra la imagen siguiente) y activa las casillas correspondientes.




2. Desactivar firewalls y demás barreras de la red.


3. Tener una conversación mediante msn, con la persona a compartir la maquina.
En el menú del chat, hay una opción Actividades, - clic en -Solicitar Asistencia remota
esperar que la otra persona acepte.


4. lo demás es instinto.


Para mas ayuda, acá la fuente y links que ayudan:

5. No olvide desactivar la asistencia remota en las propiedades del sistema al finalizar ;)


martes, 16 de junio de 2009

Comparación de Generadores de Sitios de Comercio Electrónico. Oscommerce vrs zen cart

El siguiente es un trabajo realizado sobre dos soluciones para sitios web de comercio electronico oscommerce vrs Zen cart

Introducción

En el mundo del Internet existen muchos sitios que generan ingresos, entre ellos los de comercio electrónico, área que presenta una de las oportunidades de negocio más importantes, para aquellas empresa que mejor entiendan las ventajas que esto representa y las sepan aprovechar. Este trabajo viene hacer una comparación de dos de las soluciones más importantes para el desarrollo de este tipo de sitios Web.

En los últimos tiempos el proceso de tener un sitio de estos se ha simplificado con la utilización de generadores de sitios de comercio electrónico. Estos son soluciones ya programadas, con las que se pueden crear tiendas virtuales con gran facilidad.

En este presente trabajo trata sobre dos soluciones disponibles en Internet para crear sitios de comercio electrónico, estas son Zen cart vrs Oscmmerce. El contenido de este documento inicia dando una descripción y características de cada una de estas soluciones, ventajas desventajas de cada una. Posteriormente se analiza la facilidad y factibilidad; mediante el uso y la consulta a la experiencia de otros desarrolladores. Para finalizar se brindan los resultados y conclusiones del trabajo.

1. Descripción y Características

1.1 Oscommerce

osCommerce Online Merchant [1] es una solución completa para la creación de tiendas online que contiene un frente de tienda (catalogo) y herramienta de administración, las que pueden ser fácilmente instaladas y configuradas mediante procesos basados en Web.

Características

La instalación básica de osCommerce, tiene unas características por defecto, que luego podemos modificar bien por administración o con ayuda de contribuciones, como nuevos módulos de pago (e-pagado), de envío (Seur), etc. Según la pagina oficial de osCommerce-[1] se encuentra todavía en su fase de desarrollo. En las versiones estables se consideran las siguientes características principales de la instalación de osCommerce:

Generales:

ü Compatible con todas las versiones de PHP3/PHP4

ü Requiere: mysql, php,

ü Total funcionalidad recién instalado

ü Todas las funciones activadas por defecto para una completa out-of-the-box solución.

ü Diseño modular

ü Completamente multilingüe con Inglés, Alemán, Español y siempre y por defecto

ü Los pedidos, clientes y productos se almacenan en una base de datos de fácil consulta vía administración Web.

ü Posibilidad de implementar un servidor seguro (SSL) o no.

ü Puede mostrar el número de productos en cada una de las categorías y se descuentan según son vendidos.

ü Lista global o por categoría de los productos más vendidos y más vistos.

ü Fácil e intuitiva navegación por categorías.

ü Posibilidad de ofrecer a los usuarios la suscripción a un boletín de noticias.

ü Controla la posibilidad de mostrar o no en la tienda virtual los productos agotados.

ü Generación automática de productos especiales.

ü Estadísticas de peticiones y fecha.

ü Número de productos en cada categoría se pueden mostrar u ocultar.

ü Camino de hormiga o sendero de fácil navegación por el sitio.

ü Automática visualización de especiales, en novedades, mas vendidos o productos del mes, etc.

ü Descripciones de los productos basados en HTML.

ü Relación Dinámica de atributos y producto.

ü Posibilidad de agregar extras o características adicionales a los productos y hacer un cálculo automático del precio.

Diseño

ü Plantilla de aplicación de ESTRUCTURA:

o Permiten cambios de diseño adaptable, fácil y rápido de hacer.

o Permite una fácil integración en un sitio existente

ü Soporte para imágenes dinámicas.

ü Aplicación de plantillas

Pagos:

ü Medios de pago offline (transferencias, cheques, ingresos, etc.).

ü Medios de pago online (etc.).

ü Aceptar muchas formas de pago en linea(PayPal, 2CheckOut, Authorize.net, E-Pagado, TPV virtual,iPayment, ..)

ü Posibilidad de deshabilitar algunos medios de pago según la zona geográfica del usuario.

ü Flexible en la aplicación de impuestos en un estado y país. Zonas de impuestos, tipos y porcentajes. Posibilidad de modificar impuesto y se aplican automáticamente al precio. Establecer los diferentes tipos impositivos para los distintos productos.

ü Carga fiscal sobre el transporte marítimo de un envío por servicio

Envíos:

ü Precios de envío por peso, destino y precio.

ü Precios reales disponibles en tiempo real para algunos operadores (UPS, FedEx).

ü Posibilidad de deshabilitar determinados servicios de envío en función de zonas geográficas.

Funcionalidades para el Cliente:

ü Cuentas de clientes.

ü Todas las órdenes almacenadas en la base de datos para una rápida y eficaz recuperación.

ü Los clientes pueden mantener sus cuentas o direcciones para múltiples direcciones de envío y facturación. como forma de promocionar el envío de regalos.

ü Permite mantener carrito de compra para invitados, hasta decidir ir a la caja debe registrarse.

ü Libro de direcciones de clientes (otras direcciones de envíos)

ü Rápidas y amigables funciones de búsqueda rápida y avanzadas. Búsquedas en catálogo por productos o fabricantes, palabras.

ü Notificaciones por correo electrónico.

ü Suscripción a notificaciones de productos, posibilidad de seleccionar los productos a recibir notificaciones.

ü Número de productos que se muestra por cada categoría.

ü Lista de los más vendidos.

ü Los clientes podrán comprobar el historial y el estado de sus pedidos una vez registrados.

ü Los clientes pueden cambiar sus datos de perfil de usuario desde su apartado cliente.

ü Soporte de comentarios de productos por los clientes.

ü Posibilidad de permitir a los usuarios valorar los productos comprados, además de comentarlos.

ü Ver que otros clientes han comprado un producto.

Funcionalidades para el Administrador:

ü Diseño fácil de utilizar.

ü Instalación online fácil.

ü Añadir/editar/eliminar categorías, productos, fabricantes, clientes y comentarios.

ü Estadísticas de productos y clientes.

ü Definir atributos dinámicamente a productos.

ü Control de zonas de impuestos, clases y ratios.

ü Configuración de parámetros en base de datos para edición remota.

ü El sistema de administración puede se instalado en otro servidor separado del catálogo.

ü Módulos de pagos (BBVA, La Caixa, Unicaja, etc...) y envíos.

ü Soporte para varios tipos de moneda, con automático modificación de los precios según elección del usuario, además conexión con sistema online para comprobar equivalencias de tipos de cambio entre monedas.

ü Utilidad de copia de seguridad. Backup y restauración de base de datos.

ü Administración del área protegida con un nombre de usuario y contraseña definidos durante la instalación.

ü Soporte ilimitado de productos y categorías

o Estructura Productos-categorías.

o Estructura Categorías-categorías

ü Soporte de envío físico y virtual (envíos y descargas)

ü Contacto con clientes directamente por email o boletines informativos

ü Imprimir facturas y listas de envíos.

ü Soporte para banners estáticos y dinámicos con estadísticas completas

1.1 zen cart

Zen cart™ en su sito Web[2] lo definen como un arte de comercio electrónico, gratuito, fácil de usar, de código abierto. El diseño del software está siendo desarrollado por el grupo con la misma actitud e ideas afines; comerciantes, programadores, diseñadores, consultores que piensan el diseño de sitios de comercio electrónico podría y debería hacerse de otra manera.

Características

ü Puede ser instalado y puesta en marcha por cualquier persona con el más básico conocimiento de creación de sitios web y de computación.

ü Fácil instalación

ü Clientes en múltiples modos

ü Ilimitada profundidad en las Categorías

ü Varias opciones de liquidaciones y descuentos.

ü Múltiples modos de exhibición.

ü Sistema de plantillas XHTML

ü Páginas ilimitadas

ü Controlador de banner

ü Múltiples opciones de pago

ü Múltiples opciones de envío.

ü Administrador de Boletines

ü Cupones de descuento

ü Certificados de regalo

ü Descuentos por cantidad

ü Exhibición de productos..

ü Fácil de mantener actualizado los productos/catalogo; no requiere código html para incluir modificar o eliminar

ü Utiliza la combinación de las tecnologías PHP y mysql.

ü acceso seguro al catalogo por usuario administrador.

ü Fácil de instalar a través del proceso de configuración. Interfaz de usuario es validada XHTML 1.0 Transitional.

ü Avanzado sistema de plantillas mediante hojas de estilo e imágenes.

ü Los cambios en el código php pueden ser protegidos por el sistema de protección incorporado que protege durante las actualizaciones.

ü El cambio de una plantilla a otra es tan simple como un par de clics en el administrador.

ü Las opciones de precios en la mercadería pueden ser unitarios o múltiples, incluyendo porcentajes de descuento, arreglos por cantidad, nuevos precios, etc. Cada venta puede incluir o excluir atributos del producto. Puede poner toda una categoría o la totalidad de tienda en liquidación.

ü Los productos pueden ser marcados como libre o Llame para consultar el precio.

ü Los productos pueden ser marcados como destacados.

ü Los productos pueden estar vinculados y / o copiado a múltiples categorías.

ü Usted puede fijar los requisitos para cada producto. Cantidades máximas o mínimas a vender por cliente, exigir cuantas unidades debe comprar.

ü Cantidad de descuentos puede ser configurado por el producto para diferentes niveles de precios o cantidades.

ü Atributos del producto se pueden agregar, ya sea como botones, casillas, listas desplegables, cuadros de texto, envío de archivos, descargas de archivos, entre otros.

ü Los atributos de texto también puede ser apoyo a los precios, tales como el precio por palabra o el precio por carta para personalizar.

ü Integración con phpbb para que el acceso a administración de el foro y la tienda tengan el mismo acceso de administración.

ü Publicación de avisos en caso de querer bajar el sitio para administración.

ü Es posible enviar mensajes de correo electrónico administrativos. Las direcciones de correo electrónico está protegida contra los abusos, ya que no se visualiza en la pantalla. La página "Contacto" puede ser configurado para soportar múltiples destinos, tales como ventas, soporte técnico, webmaster, etc. Evita el spam.

ü Características, textos y opciones se pueden activar y desactivar rápidamente y fácilmente en el area de administración.

ü Múltiples elementos pueden ser añadidos al shopping cart.

ü Permite configurar las características de los productos para ser visualizados de forma diferente.

ü Puede añadir múltiples imágenes a sus productos, en pequeñas / medianas y de gran formato. Pop-ups están disponibles si se desea para la visualización de imágenes.

ü El número de verificación de la tarjeta para la verificación se puede mantener activado / desactivado en el área de administrador.

ü Diseño de la tienda se puede controlar con gran detalle, simplemente cambiando los valores en el área de administración. Tamaño de columnas, separador, activar / desactivar los vínculos en distintos lugares.

ü Atributos puede mostrar la imagen/muestras de color.

ü Todas las categorías de productos (o productos) se puede activar y desactivar con unos pocos clics.

ü Se controla el orden los productos en el área de administración.

ü Control de acceso a los clientes puede configurar su tienda para que sólo permita el acceso a ver los precios a los clientes. Se puede reducir de navegación en todos también, si así lo desea.

ü Puede configurar su tienda para ser simplemente una exhibición de productos, sin la fijación de precios a todos.

ü Opciones de búsqueda de productos basados en el nombre, la descripción, las meta etiquetas, el precio, y mucho más.

ü Meta etiquetas palabras claves y descripciones pueden ser controlados en el nivel de producto

ü Detección automática de las arañas de los motores de búsqueda.

ü La generación inteligente de meta etiquetas contenido para los motores de búsqueda.

ü Fácil de actualizar de una versión a otra. Notifica a los administradores actualizar la detección de nuevas versiones en el inicio de sesión.

ü Usa correo electrónico compatible con HTML. Y este se archiva para apoyo a la auditoria.

ü Publicidad banners muestra información sobre su empresa y realizar un seguimiento de banner de otros. Banners pueden abrir en ventana nueva para que los clientes nunca salir de su sitio web.

ü Bonos y certificados de regalo

ü Fijación de precios por grupos de Clientes

ü Boletín producto y sistemas de notificación.

ü Tasas de Impuesto, zonas impuestos, etc. Se configuran fácilmente

ü Paypal IPN ™ y muchos otros servicios

ü Los clientes pueden comentar productos, pero el administrador tiene control sobre los mensajes.

ü Notificación de existencias, cuando el inventario este bajo.

ü Para el desarrollador - sencilla personalización a través de hojas de estilo. Y otras herramientas que permiten localizar rápidamente un ajuste o cadena de texto para ser personalizado.

ü Escalable

ü Opción interactiva de quien esta en línea

ü Múltiples idiomas

ü Apoyo a múltiples tipos de moneda

2. Ventajas y Desventajas

2.1. Ventajas de OSCommerce Vrs zen cart

OSCommerce

Zen cart

Fácil instalación, y creación de la tienda

Fácil instalación y creación de la tienda

Demostración online de prueba.


Múltiples ads-ons, paquetes y módulos, gratuitos y por pago.

Muchas de las contribuciones ya las trae instalado, y múltiples adsons libres y por pago

Licencia GNU, muchas personas detrás que lo mejoran e implementan, por ende solo tiende a la mejora.

Licencia GNU. Libre de pago de licencias. Únicamente si se desea compara ads ons per pago

paquete completo para instalación de catálogos con carrito de compras en línea

Es un paquete completo, con lo necesario para crear tienda de comercio electrónico.

Es considerado la solución numero uno para catalogo electrónico. Más usado y mejorado.

Es una solución bastante usada y completa.

Socios:

ü El Programa de Patrocinio Corporativo.

ü Planes de patrocinio comunitario, por meses.

Se financia con aportes de personas interesadas y donaciones.

Contribuciones gratuitas disponibles desde el sitio.

Contribuciones gratuitas disponibles desde el sitio.

Sistema de debuging, en donde se plantean los errores y se lleva un control para que sean resueltos. (Issue Tracker)


Extensa documentación, soporte (foros y artículos)

Extensa documentación

Evita errores de programación al hacer un sistema de estos a la medida.

Evita errores de programación

Las versiones estables están debidamente probadas y usadas por otras personas a quienes les han funcionado.

Las versiones estables están debidamente probadas y usadas por otras personas a quienes les han funcionado.

La tienda se gestiona desde un fácil Panel de Control.

La tienda se gestiona desde un fácil Panel de Control.

No necesita instalaciones, es un único proceso de personalización y copeo de archivos (en el servidor). Y los usuarios finales acceden mediante el navegador.

No necesita instalaciones, es un único proceso de personalización y copeo de archivos (en el servidor). Y los usuarios finales acceden mediante el navegador.

No necesita conocimientos previos de Informática o diseño Web

No necesita conocimientos previos de Informática o diseño Web

Tiene la mayor cantidad disponible de contribuciones y modificaciones


Mecanismo de posicionamiento de banners.

Mecanismo de posicionamiento de banners.


Opciones extra como productos gratis, llame por el precio y otros

Es personalizable

Más opciones para personalización de precios y productos según el cliente o la cantidad a comprar. En síntesis mas opciones para personalizar.

Muchas de las opciones se pueden activar o desactivar.

Muchas de las opciones se pueden activar o
desactivar.

2.1. Desventajas de OSCommerce Vrs zen cart

OSCommerce

zen cart

Solo una imagen por producto. Al agrandar la imagen es un poco tiesa y sin estética.

Al agrandar la imagen es un poco tiesa y sin estética. Aunque existen ads-ons que mitigan este problema.

No hay sistema de plantillas gráficas lo que significa que es más difícil de modificar el diseño, existen templates pero de forma rudimentaria. Se puede echar mano de CSS y archivos de imagenes

Insípida versión de skins o templates, en comparación con herramientas como joomla.

Solo se hace modificaciones en los archivos css e imágenes.

Personalizar el diseño del sitio tanto con plantillas, como modificando la estructura mediante la movilización de código es un tanto tedioso.

A pesar de ser más avanzado en el uso de plantillas, la personalización del diseño es complicado.

Modificar hay que modificarlo en el código fuente ósea en los .php, por ende el usuario va a tener que entrar a el código de la solución

Difícil incluir una nueva sección en mas de un idioma porque hay que entender el modo de funcionamiento del sitio.

Algunas modificaciones pueden requerir ingresar al código fuente ósea en los .php.

Poco documentación en español, el sitio oficial en español es relativamente pobre, poco trabajado y con errores.

Poca documentación oficial en español.

Depende de las personas que voluntariamente ofrezcan su tiempo, dinero, código y energía para mantener el proyecto funcionando.

Totalmente dependiente de donaciones y no posee estrategias como oscommerce para generar ingresos.

El servidor Web debe soportar PHP, MSQL y permitir la ejecución de scripts CGI

El servidor Web debe soportar PHP, MSQL

No es a la medida y se debe ajustar a lo que la solución brinda. Y las contribuciones deben investigarse y adaptarse

No es a la medida y se debe ajustar a lo que la solución brinda. Y las contribuciones deben investigarse y adaptarse.

No se puede utilizar contribuciones de OsCommerce.

Al instalar lenguajes se debe poner los archivos en el directorio correspondiente.

Al instalar lenguajes se debe poner los archivos en el directorio correspondiente.

Existe lo que llamamos el camino dorado. Si sigues este camino es muy fácil, si deseas modificar o te sales de lo que la solución brinda se puede complicar

Existe lo que llamamos el camino dorado. Si sigues este camino es muy fácil, si deseas modificar o te sales de lo que la solución brinda se puede complicar

Se puede tomar un montón de tiempo y dinero para instalar todas las contribuciones que desee (add-ons)

Tiene muchas varias funciones instaladas y toma un poco de tiempo analizarlas y personalizarlas. Igualmente instalar add-ons para arreglar el sitio



La interfaz del administrador no posee todas las opciones que en zen cart.

Interfaz de administrador es un poco desordenado en ciertas áreas, porque hay muchas contribuciones instaladas


Más complicada instalación (mas pasos innecesarios).

Viene en ingles solamente.

3. Facilidad y factibilidad del uso de cada uno

3.1 Facilidad

La facilidad de uso se medirá probando las herramientas mediante la instalación y desarrollo de ambos generadores de sitios.


3.1.3. Análisis de la facilidad en comparación de ambas soluciones.

En ambos casos la instalación es bastante intuitiva y fácil de seguir, ausentando el detalle de la base de datos que hay que tener creada antes de iniciar la instalación.

Zen cart por su parte da mas opciones y es un poco mas complicado por el hecho de hacer mas largo el proceso de instalación y dar mas opciones como lo del foro, y opciones de configuración, sin embargo se puede decir que es casi lo mismo lo que solicita oscommerce en cuatro pantallas, que lo que hace zen cart en 10.

Oscomerce no solicita tanto dato de licencia y verificación como zen cart haciéndolo más simple al usuario. Pero en ambos casos es sumamente sencillo y de inmediato se tiene una tienda en función, claro falta toda la parte de personalización.

Igualmente en la trastienda son muy similares, en algunos aspectos a configurar base, aunque zen cart cuenta con muchas más características y elementos de configuración como por ejemplo:

Zen cart

Oscommerce

# Configuration

My Store

Minimum Values

Maximum Values

Images

Customer Details

Shipping/Packaging

Product Listing

Stock

Logging

E-Mail Options

Attribute Settings

Zip Compression

Sessions

Regulations

GV Coupons

Credit Cards

Product Info

Layout Settings

Website Maintenance

New Listing

Featured Listing

All Listing

Index Listing

Define Page Status

EZ-Pages Settings

# Configuración

Administrators

My Store

Minimum Values

Maximum Values

Images

Customer Details

Shipping/Packaging

Product Listing

Stock

Logging

Cache

E-Mail Options

Download

Zip Compression

Sessions

# Catalog

Categories/Products

Product Types

Products Price Manager

Option Name Manager

Option Value Manager

Attributes Controller

Downloads Manager

Option Name Sorter

Option Value Sorter

Manufacturers

Reviews

Specials

Featured Products

SaleMaker

Products Expected

# Catálogo

Categorias/Productos

Atributos

Fabricantes

Comentarios

Ofertas

Próximamente

# Modules

Payment

Shipping

Order Total

# Módulos

Pago

Envío

Totalización

# Customers

Customers

Orders

Group Pricing

PayPal IP004Ecfffc

#Clientes

Clientes

Pedidos

# Locations / Taxes

Countries

Zones

Zones Definitions

Tax Classes

Tax Rates

# Zonas/Impuestos

Paises

Provincias

Zonas de Impuestos

Tipos de Impuestos

Impuestos

# Localization

Currencies

Languages

Orders Status

#Localización

Monedas

Idiomas

Estado Pedidoss

# Reports

Products Viewed

Products Purchased

Customer Orders-Total

Products Low Stock

Customers Referral

#Informes

Los Mas Vistos

Los Mas Comprados

Total por Cliente

# Tools

Template Selection

Layout Boxes Controller

Banner Manager

Send Email

Newsletter and Product Notifications Manager

Server/Version Info

Who's Online

Admin Settings

Email Welcome

Store Manager

Developers Tool Kit

EZ-Pages

Define Pages Editor

Install SQL Patches

#Herramientas

Copia de Seguridad

Banners

Control de Caché

Definir Idiomas

Archivos

Enviar Email

Boletines

Información

Usuarios conectados

# Gift Certificate/Coupons

Coupon Admin

Gift Certificates Queue

Mail Gift Certificate

Gift Certificates sent

#

# Extras

Record Artists

Record Companies

Music Genre

Media Manager

Media Types

#

En realidad y bajo mi opinión. Instalar y trabajar estas soluciones es bastante sencillo. La parte de personalización es relativa dependiendo de lo que se desee lograr, principalmente con la apariencia de la tienda. Pero nada es imposible y se ven en la Web muchos sitios con diseños innovadores que soy hechos con esta herramienta.

3.2. Factibilidad de uso de estas herramientas.

Para visualizar la factibilidad se recurrirá a la experiencia de algunos desarrolladores al usar estos generadores.

El proceso que se realizó mediante una entrevista que se adjunta en el anexo 1, en donde se tomó en cuenta la experiencia de varias personas que tienen como característica en común el desarrollo de sitios de comercio electrónico y según algunos de estos desarrolladores en general se prefiere el uso de oscommerce como solución en la creación de sitios Web de comercio electrónico, por simplicidad y facilidad.

Sin embargo muchos reconocen y recomiendan zen cart porque ya trae instalado muchas extras que con oscommerce hay que instalar por uno mismo.

3.2.1 Resultados Opinión de desarrolladores

La siguiente tabla muestra el promedio aritmético simple en el resultado de la encuesta realizada, en donde la escala es del 0 al 5, siendo 5 el grado más alto según el rubro a analizar, dichos datos se muestran como:


Zent Cart

Oscommerce

Grado de dificultad

4

2

Completitud de la solución

3

4

problemas, fallos y errores

4

2

Documentación

4

5

Figura 3.2.1. Promedio aritmético simple en el resultado de la opinión de los desarrolladores

Datos que se grafican en la siguiente figura, donde se puede notar dos columnas que representan cada una de las soluciones en cuestión.

Soluciones:

1- Zen cart

2- Oscommerse

Figura 3.2.2. Grafica de comparación de las soluciones de comercio electrónico.

Se nota que la dificultad es mayor en zen cart, igualmente es mayor los problemas y fallos presentados en esta solución que en su similar oscommerce.

Por su parte oscommerce es considerado una herramienta mas completa y mejor documentada, que cabe mencionar en este punto de todas las personas que respondieron la encuesta opinan que existe un porcentaje de 100% de documentación, lo que refuto, dado a que en español no encontré realmente mucha información sin embargo se argumenta que hay gran cantidad de blog, foros y sitios de personas particulares con contenido sobre este tema.

En conclusión según los desarrolladores entrevistados es mejor oscommerce, que su similar zen cart.

Hay algunos aspectos que no se pueden obviar. En modo resumen y tomando en cuenta los aspectos mas generales se muestra la siguiente tabla comparando estas soluciones para creación de sitios web de comercio electronico.

.

Oscommerce

zen cart

Mas rápido y fácil de configurar

Posee mas opciones al incluir productos

Ejem; si es virtual, Product is Free, posibilidad de llamar (yes/not)

Menos características

Muchas más características disponibles para utilizar. Mas funciones, algo más que oscommerce.

Posee muchos características pero no las trae en su paquete básico, si no que hay que instalarlas (add-ons)

Trae muchas características extra, ya instaladas y otras que se consiguen por aparte.

Mejor diseño original, en utilización del espacio..

No utiliza bien el espacio pero es configurable,

facilidad de modificar el aspecto, usando css y modificando las imágenes.

Existen templates ya diseñados en la web.

facilidad para modificar el aspecto con templates o skins que se descargan de forma gratuita, se compran.

Paquete completo, más fácil y barato que programar o pagar por un sitio mediante lenguajes de programación.

Paquete completo, mas fácil y barato que programar o pagar por un sitio mediante lenguajes de programación.

No es para todo sitio web, ni para todo usuario. Ya que hay que adaptarse a lo que brinda la solución.

No es para todo sitio web, ni para todo usuario. Ya que hay que adaptarse a lo que brinda la solución.

Conclusiones

En este presente trabajo se cumplió con los objetivos planteados al inicio de esta investigación, estos objetivos son:

Objetivos

Objetivo General:

Investigar dos generadores de de sitos de comercio electrónico(oscommerce y zen cart.), dando a conocer sus características, ventajas, desventajas, facilidad y factibilidad del uso de cada uno

.

Objetivos Específicos:

ü Comparar las características, ventajas y desventajas de oscommerce y zen cart.

ü Instalar ambas soluciones a fin de medir la facilidad de uso.

ü Contactar con desarrolladores, que hayan utilizado alguna de estas soluciones y tomarles opinión sobre la experiencia.

La investigación bibliografiíta muestra que en la Web no existe muchas comparaciones de estas tecnologías, solo un para de artículos sin los fundamentos necesarios para mencionarlos en bibliografía, pero que no brindan la suficiente claridad para que un usuario nuevo de este tipo de tecnologías se base.

Se instalaron, configuraron y compararon ambas soluciones y se llega a las siguientes conclusiones prácticas:

Son soluciones que brindan lo necesario de forma fácil, rápida, y sumamente barata. Oscommerce por su parte, ofrece un paquete completo, fácil, escalable, al igual que zen cart. Dado a que Zen cart ofrece las opciones de Oscommerce, integra extras que lo hacen atractivo.

Oscommerce es ampliamente usado, con muchas extras que se pueden agregar con forme se necesite.

Zen cart se vuelve desordenado y con opciones que complican.

Ambas soluciones proveen lo necesario, pero depende del tipo de negocio, de la expectativa y otros aspectos, porque es una solución y hay que adaptarse a lo que esta brinda, quizás para pequeños y medianas empresas tipo “clic and mortar”, estas soluciones brindan lo necesario para vender en la web, pero empresas “pure”, que solo venden por Internet necesitan implementar mas estrategias y tener una solución mas robusta por ende requieren mayor personalización del sitio. Cabe mencionar que es factible que se parta de esta solución, se trabaje y modifique (no se descarta del todo) pero el costo es alto, en cuanto a tiempo y requiere meterse en el código y ajustarlo a lo que se requiere.


Bibliografía

[1] Página oficial (inglés) osCommerce http://www.oscommerce.com/

[2] Página oficial (inglés) zen cart http://www.zen-cart.com/

Distintos sitios Web:

ü http://www.ecommerce-guide.com/resources/product_reviews/article.php/3463941

ü http://www.itwebexperts.com/oscommerce_zencart_xcart_comparison.php

ü http://oscommerce.qadram.com

ü http://www.hosting.laprimera.net/manuales/Manual-de-Zen-Cart-Spanish.pdf


Anexo 1

Cuestionario dirigido a desarrolladores de sitios de comercio electrónico:

  1. Cual de las siguientes sistemas/aplicaciones/fuentes para comercio electrónico ha utilizado:

a- zen cart

b-Oscommerce

c- Lenguaje de programación como php, Asp, etc.

d- otro:____________________

  1. Si pudiese medir el grado de dificultad de uso de estas soluciones para crear sitio de comercio electrónico, en una escala de 1 a 5 (siendo 5 lo más difícil y 1 extremadamente fácil), como calificaría las siguientes opciones:

Herramienta

Calificación (1 - 5)

a- zen cart


b-Oscommerce


c- Lenguaje de programación como php, Asp, etc.


d- otro:____________________


  1. Según su experiencia con las soluciones para la creación de sitios Web de comercio electrónico, califique la completitud de la solución, en una escala del 1 al 5 (siendo 5 una solucion completa)

Herramienta

Calificación (1 - 5)

a- zen cart


b-Oscommerce


c- Lenguaje de programación como php, Asp, etc.


d- otro:____________________


  1. Con respecto a problemas, fallos y errores, según su experiencia, que tanto se presentan al utilizar estas herramientas en escala de 1 a 5 (siendo 5 con mucha frecuencia y 1 sin ningún fallo o error)

Herramienta

Calificación (1 - 5)

a- zen cart


b-Oscommerce


c- Lenguaje de programación como php, Asp, etc.


d- otro:____________________


  1. Según las herramientas clasifique del 1 al 5, la documentación existente y disponibilidad de recursos en la Web para la implementación y ayuda a desarrolladores. (siendo 5 abundancia de recursos y 1 inexistencia de ayudas y documentación)

Herramienta

Calificación (1 - 5)

a- zen cart


b-Oscommerce


c- Lenguaje de programación como php, Asp, etc.


d- otro:____________________


6. Algún comentario o aporte que desee agregar sobre el uso de estas soluciones__________________________________________________________________________________________________________________________________________________________________________________________________________