El grupo de investigación TAWS agradece por el apoyo brindado por el Decano de la FIEC, Ing. Sergio Flores, al asignarnos nuestras oficinas!

Gracias a esto, nos continuaremos desarrollando como Grupo de Investigación de la FIEC y aportando a la comunidad politécnica con charlas, talleres y software desarrollado para la comunidad politécnica.

Gracias Ing. Flores!

Hypertable

27th Enero 2009

Hypertable es un Sistema Gestor de Bases de Datos de tipo “open source”, desarrollado por la compañía Zvents[1]. Es un sistema de almacenamiento de datos distribuido y de alto desempeño,  ideal para aplicaciones que necesitan manejar datos que evolucionan rápidamente y diseñado para soportar una gran demanda de datos en tiempo real, y fue modelado basándose en el diseño de Google’s BigTable.

Hypertable surgió para facilitar el procesamiento de grandes cantidades de datos, tras la gran explosión de información que acompañó el inicio de la Web 2.0, y se caracteriza por ser un gestor de bases de datos distribuido, escalable, no relacional y que no soporta transacciones.

Este gestor de bases de datos ha sido desarrollado en C++, pero inicialmente se pensó hacerlo en Java, idea que fue rechazada debido al gran consumo de memoria de dicho lenguaje de programación, y a la intensidad del flujo de datos de una aplicación de la naturaleza de Hypertable[2]

La principal diferencia entre Hypertabe y los gestores de bases de datos relacionales es que, en los gestores de bases de datos relacionales, se tienen muchas tablas muy pequeñas, y se las une con la operación de join, pero ni siquiera todos los join y todas las tablas juntas suelen acercarnos al verdadero volumen de datos generados por aplicaciones web 2.0, además de que el excesivo uso de operaciones join vuelve más “lenta” nuestra aplicación web; entonces la idea de Hypertable es que guardemos toda esta gran cantidad de información en una sola tabla (eliminando la necesidad de las operaciones join) y colocarla en un Sistema de Archivos Distribuido, para que las operaciones realizadas sobre la tabla puedan ser procesadas de forma simultánea por todos los sistemas conectados a la red.

La dirección web oficial del proyecto Hypertable es: http://www.hypertable.org/. Allí podrás encontrar información más detallada (en inglés), y descargar de forma gratuita la aplicación en su última versión (actualmente la 0.9.0.12 Alpha) Hypertable se distribuye bajo los términos de la Licencia GPL 2.0.

Por Andrés Vargas

Dado que las aplicaciones Web mejoran su interacción con el usuario cuando se evita recargar la página para actualizar una parte de la misma, es importante considerar todas las alternativas que se tienen para conseguir este objetivo.

Además del famoso modelo propuesto por JJ Garret ( Sí! AJAX ), existen otros mecanismos que pueden ayudarnos con los requerimientos al servidor: las llamadas remotas a procedimientos (RPC por sus siglas en inglés).Existen dos protocolos importantes en el mundo de los RPC: XML-RPC y JSON-RPC.

Antes de continuar, es importante definir qué es JSON y cuáles son sus ventajas:

  • JSON es un formato de texto para intercambio de datos, tal como XML, sólo que mucho más liviano.
  • Se utiliza para representar estructuras de datos simples llamados objetos y arreglos asociativos.
  • Existe código para parsear y generar datos JSON para una larga variedad de lenguajes de programación.

JSON está construido en dos estructuras:

  • Una colección de pares nombre/valor: Objeto
  • Una lista de Valores ordenada: Colecciones ( arreglos ).

En el ejemplo siguiente, observamos texto representado usando JSON. En el texto mostrado, la clave phoneNumbers representa un arreglo, la clave address representa un objeto y las claves firstName y lastName que representan pares nombre:valor son parte del objeto que empieza en las llaves más externas.

{

“firstName”: “John”,

“lastName”: “Smith”,

“address”: {

“streetAddress”: “21 2nd Street”,

“city”: “New York”,

“state”: “NY”,

“postalCode”: 10021

},

“phoneNumbers”: [

"212 555-1234",

"646 555-4567"

]

}

Características de JSON-RPC-Java

JSON-RPC-Java es un framework que implementa el protocolo JSON-RPC. Permite mapear objetos de Java a objetos de JavaScript y viceversa.

Manejando el Servidor y el Cliente

Del lado del Servidor lo primero que se debe hacer es desarrollar las clases que serán accesibles desde el cliente, es recomendable que estén diseñadas de tal manera que no permitan ejecutar funciones de negocio que puedan comprometer la seguridad del sistema. Estas clases permitirán ejecutar acciones y obtener datos necesarios con el mínimo número de mensajes HTTP, mejorando así la eficiencia. Para hacer públicos los métodos debemos registrar una instancia de nuestra clase en un objeto JSONRPCBridge que previamente habremos creado y guardado en la sesión HTTP todo esto implementado en un Servlet.

Del lado del Cliente se debe crear una instancia de la clase JSON-RPC, y con esto llamar a nuestra función Java desde JavaScript.

Cómo usarlo

Para implementar aplicaciones que usen JSON-RPC-Java necesitaremos descargar la distribución de la misma en La utilización de esta tecnología se basa principalmente en descargar la siguiente distribución aqui.

Al descomprimir la mencionada distribución, los archivos que nos interesan añadir al proyecto son: jsonrpc-1.0.jar (directorio raíz) y jsonrpc.js (/webapps/jsonrp). Lo siguiente es indicar en el deployment descriptor (web.xml) la referencia al Servlet que se encuentra en la librería, Este Servlet será el encargado de comunicar al código JavaScript la estructura de nuestras clases compartidas.

El siguiente paso es informar al Servlet de cuáles son nuestras clases. Sólo es necesario registrar las clases una vez en cada sesión. Para ello utilizamos la clase JSONRPCBridge. Mantendremos una instancia de JSONRPCBridge por cada sesión.

Tipos de Retornos

Una vez que todo esté funcionando podremos con facilidad invocar métodos de clases de Java que nos devuelvan Tipos de datos Simples, Objetos, además puede serializar colecciones de objetos de clases que implementen las interfaces Map, Set o List.

Existen dos formas de acceder a los métodos de Java, Asíncrona y Síncrona, si se lo realiza de una forma síncrona tendremos que esperar la respuesta del Servidor para que el cliente JavaScript desbloquee el navegador, en cambio si es asíncrona podremos seguir con la ejecución de la aplicación.

Conclusión

¿Quien alguna vez no ha sentido la necesidad de usar directamente un método de Java desde el Cliente? Pues bien esta tecnología nos permite implementarlo, si bien es cierto un requerimiento AJAX normal nos proporciona una buena solución, puede llegar a ser un poco más complicado de implementar.

JSON-RPC-Java, nos ayuda a disminuir el número de líneas de código significativamente tanto del lado del Cliente como del Servidor, convirtiéndose en una herramienta útil para aumentar el rendimiento de nuestras aplicaciones. En una próxima entrega, incluiré códigos de ejemplo explicados paso a paso para visualizar aún mejor la implementación de aplicaciones que incluyen esta alternativa que sin duda alguna es muy útil!

Fuentes

  • http://json.org/
  • http://www.ateneatech.com/blog/json-rpc-java-comunicaciones-ajax-transparentes-tutorial-completo-y-ejemplos
  • http://edgenhuang.blog.51cto.com/47333/23778
  • http://oss.metaparadigm.com/jsonrpc/

Logo neptuno

Logo neptuno

Neptuno, es una Base de Datos Estructurada, distribuída a larga escala, considerada como la versión libre para la implementación de BigTable de Google.

Las característica de Neptune:

  • Sistema de Administración de Base de Datos. (No soporta modelo relacional)
  • Escalabilidad:Puede almacenar hasta Petabytes de información.
  • Confiabilidad
  • Bajo Costo, Alto desempeño: Es posible utilizar pc’s.
  • Fácil y rápido análisis: Paradigma MapReduce
  • Sistema de Archivos Abstracto: Soporta varios sistemas de archivos (Por defecto el sistema de archivos de Hadoop)

Modelo de Datos de Neptuno

Es un modelo distribuído y persistente de mapa multidimensional basado en el modelo de BigTable de Google.

  • Tablas: Los datos son almacenados en “tablas”. Está identificada por un nombre de tabla(debe ser único en el clúster de Neptune)
  • Columna: Una tabla tiene múltiples columnas. Una columna tiene las mismas propiedades que una columna RDBMS.
  • Fila: Una tabla consiste en múltiples filas.
  • Fila.Clave:  Cada fila tiene un identificador único (creado por Neptune del tipo String)
  • Celda: Es la intersección de una fila con una columna. Tiene múltiples valores clave - valor.
  • Celda.Clave: De tipo String, permite identificar los datos.
  • Celda.Valor: Tiene múltiples valores y son almacenados por la fecha de creación en orden descendente.

Para las PYMES, es muy importante tener ventajas competitivas. Una manera de lograrlo es ofreciendo a sus clientes nuevos servicios, rápidos y de bajo costo. Sin embargo, para conseguirlo el uso de tecnología es imprescindible, tecnologías tales como servidores con grandes capacidades de procesamiento y almacenamiento, ya sea para alojar aplicaciones empresariales de nivel operativo o aplicaciones que impliquen procesamiento de datos para la toma de decisiones. Pero estas tecnologías no suelen estar al alcance de las PYMES por los altos costos de compra y mantenimiento. Cloud computing es una alternativa que permite hacer uso de servicios de computación a través del internet. cloud computing

Cloud computing es un servicio que hemos usado todos alguna vez. Quién no ha utilizado un browser para leer su mail, o el servicio de bloggers que Google nos provee de manera gratuita? Este servicio está alojado en los servidores de Google, el propietario del blog no tiene por qué preocuparse del hardware.

Un ejemplo ilustrativo del potencial de Cloud computing es el nuevo servicio que pretende ofrecer Oracle al poner a disposición el uso de sus motores de bases de datos y sus aplicaciones en uno de los servidores de Amazon (Proveedor de Cloud computing), para que esté disponible para sus clientes.

Los costos del uso del servicio que provee Amazon por el uso de su Cloud computing es de unos centavos por hora, una gran ventaja comparados con la enorme inversión que tendría que realizar la empresa en la compra de hardware.

Definitivamente como empresa hay que estar atentos de los grandes beneficios que podría ofrecernos el uso de clusters para procesamiento y almacenamiento a través del Internet y lo mejor de todo a un costo relativamente bajo.

En el website de Amazon, puedes encontrar casos de estudio sobre empresas que se decidieron a contratar servicios de Cloud Computing como Amazon EC2, Amazon S3, Amazon SQS. Puedes visitar el link http://aws.amazon.com/solutions/case-studies/ y conocer un poco más sobre estas compañías, la próxima puede ser la tuya!

By Irene Varas - ivaras2007@gmail.com

 

Tags:

Al parecer Windows Vista tiene un error interno, por lo que no registra VBScript, que no permite instalar ciertos tipos de programas:

Primero, debes encontrar el archivo vbscript.dll, por lo general está en C:\Windows\System32, si lo encuentras … perfecto!

Ahora, se necesita ejecutar el command prompt como administrador, por lo cual, accede a Inicio -> Accesorios y dá click derecho sobre el Comman prompt en “Run as administrator”.

En el cmd, escribes “cd C:\Windows\System32″ y luego tipea “regsvr32 vbscript.dll”.

Debe aparecer una ventana confirmando que todo funcionó correctamente… y luego continúas con la instalación del programa inicial.

http://forums.support.roxio.com/index.php?showtopic=19110

Tags: , ,

Mientras se construye un sitio web, es necesario identificarlo con palabras claves frecuentemente utilizados, que permiten a los usuarios realizar búsquedas por esas palabras; pero, que significa “frecuente”?

Para entender mejor el uso optimizado de palabras claves, es necesario poseer una metodología para medir la frecuencia.  (Para verificar la frecuencia de una palabra clave, es posible por Live-Keyword-Analysis.com.)

Existen formas más complejas de calcular la densidad de una palabra clave, tomando en cuenta los componentes HTML en la página (Meta tags como en: title, keywords, alt text, description y comments). Cuando se utiiliza esta medida, no sólo consiste en contar las palabras, también, cuenta las palabras en las secciones de los metas.

Enlaces de referencia:


Tags: , ,

El Viernes 24 de Octubre, en el Aula Magna de la ESPOL, se llevó a cabo la Ceremonia de Premiación y Entrega de Menciones Honoríficas, donde MsC. Carmen Vaca,  Coordinadora del Grupo TAWS, recibió una Mención Honorífca como mejor Profesora de la FIEC.

Fuera del Aula Magna junto a nuestra coordinadora.

Tags: ,

TAWS iGoogle Theme

29th Octubre 2008

Si usas iGoogle y quieres tener un diseño que te identifique con la ESPOL, intenta lo siguiente:

  1. Accede a tu cuenta de iGoogle
  2. Coloca en la barra de direcciones el siguiente URL:

http://www.google.com/ig?skin=http://espoltheme.googlecode.com/svn/trunk/Espol50Theme.xml

y verás como tu diseño de iGoogle cambia!.

Escríbenos tus sugerencias.

Tags:


No dijo ni una palabra en español, pero Stephen Wozniak, inventor del computador personal y cofundador de la empresa Apple Computers, en todo momento mantuvo el diálogo con autoridades, profesores y estudiantes de la Escuela Superior Politécnica del Litoral (Espol).

Sonriente y saludando a quienes encontraba a su paso, Wozniak ingresó pasadas las 11:00 al auditorio de la Facultad de Ingeniería en Electricidad y Computación (FIEC).

Lo hizo en compañía de Moisés Tacle, rector; Armando Altamirano, vicerrector general; y, Miguel Fierro, vicerrector de Asuntos Estudiantiles.

http://www.expreso.ec/html/guayaquil1.asp

http://www.espol.edu.ec/wozniak/index.html

Tags:
Newer Posts »