jueves, 2 de octubre de 2008

Java RMI-MiniProyectoI

INTRODUCCIÓN:


En este trabajo se revisaron: el procedimiento y las consideraciones a realizarse durante la construcción de una aplicación RMI. Dicha aplicación fue desarrollada en base a la siguiente especificación:

Don Chente el de la tienda de la esquina quiere modernizar su changarrito y desea poner en línea sus servicios: consulta de su catálogo, administración de órdenes por Internet, ventas del día. Para poder lograrlo le solicita implementar una aplicación cliente servidor que ofrezca las siguientes funciones: consulta de catálogo por tipo de producto, recuperación de órdenes de compra considerando la disponibilidad de los productos, vista consolidada de las ventas del día (suma de las ventas). Don Chente le agradece de antemano la aplicación y cuenta con usted para montar su e-changarrito.


OBJETIVO:

Estudiar los pasos a seguir y las consideraciones que hay que tomar en cuenta durante la construcción de una aplicación con Java RMI.


DESCRIPCIÓN TÉCNICA:


Modelado

Se utilizó el patrón de diseño MVC (Model, View, Controller) mismo que indica la separación del código en:

Vista: Se centra en la interfaz de usuario.

Controlador: Recibe eventos que se generan en la interfaz y basándose en ellos, los dirige al modelo.

Modelo: Encapsula el estado de la aplicación e implementa la lógica aplicativa.


Basándonos en estos principios, nuestra aplicación incluye las siguientes clases:


Interfaz.java Interfaz que sirve de contrato entre el cliente y el servidor


Servidor.java Del lado del Servidor: clases que definen los métodos

Base de Datos miniproyecto (modelo) e incluye la conexión a la base de datos

Producto.java

Venta.java


Cliente.java De lado del cliente, tenemos la vista y su controlador


Diagrama de componentes

Diagrama de Clases



Diagramas de Secuencia:

-Conexión -Consulta de catálogo y orden de compra


-Visualizar Lista de ventas

LECCIONES APRENDIDAS:

-El cliente envía mensajes representados en solicitudes SQL hacia el servidor de bases de datos. -Los resultados de cada orden de SQL son devueltos al cliente.

-El cliente invoca procedimientos remotos que residen en el servidor, por lo tanto se intercambia un solo mensaje de solicitud/respuesta.

- El DBMS se encarga de recolectar los datos desde su base de datos.

-Luego de terminada una transacción en forma exitosa (commit) los cambios se vuelven permanentes.

-Para que la aplicación se pueda comunicar con la Base de Datos debe tenerse habilitado un driver, en este caso JDBC (Java DataBase Conectivity).

-JDBC es realmente un conjunto de clases que representan conexiones con bases de datos, sentencias SQL, conjuntos de datos y metadatos entre otras cosas. El API definido por JDBC permite enviar sentencias en SQL al motor de bases de datos, y procesar los resultados.



Integrantes del equipo:


Paola González Pérez 127418

paola.gonzalezpz@gmail.com

Víctor Madrigal Barón

José Eduardo Santos Contreras 129762

Key.bearer@gmail.com

Héctor Manuel Gutiérrez Rubio 129202

hekmont@hotmail.com



Java RMI: Práctica I


INTRODUCCIÓN:

En esta práctica se revisó el procedimiento y las consideraciones que deben realizarse, durante la construcción de una aplicación con Java RMI. Tomando como objeto de estudio, una aplicación simplificada de soporte a un sitio dedicado a la venta de artículos, dicha aplicación se basa en un modelo de subastas cuyo escenario típico es el siguiente:
- Un usuario (con rol de vendedor) se conecta y ofrece un producto, estableciendo un precio inicial
- Los compradores potenciales, se conectan como cualquier usuario y tienen la opción de visualizar el catálogo de productos disponibles a la compra. Aunado a que al seleccionar un producto, pueden realizar una oferta. Cada comprador puede conectarse y realizar ofertas sobre un producto varias veces, siempre y cuando su oferta sobrepase el monto actual del producto.
- Finalizando el periodo de subasta, el producto es asignado al mejor postor.

OBJETIVO:

Estudiar los pasos a seguir y las consideraciones que hay que tomar en cuenta durante la construcción de una aplicación con Java RMI.

DESCRIPCIÓN TÉCNICA:

Modelado

Se utilizó el patrón de diseño MVC (Model, View, Controller) mismo que indica la separación del código en:

Vista: Se centra en la interfaz de usuario.
Controlador: Recibe eventos que se generan en la interfaz y basándose en ellos, los dirige al modelo.
Modelo: Encapsula el estado de la aplicación e implementa la lógica aplicativa.


Basándonos en estos principios, nuestra aplicación incluye las siguientes clases:

Subasta.java Interfaz que sirve de contrato entre el cliente y el servidor

SubastaServer.java (Modelo) Del lado del Servidor, tenemos al modelo y las clases que
InformaciónProducto.java ocupa
InformaciónOferta.java

SubastaClient.java De lado del cliente, tenemos la vista y su controlador
SubastaVista.java
SubastaControlador.java






LECCIONES APRENDIDAS:

- RMI (Remote Method Invocation) habilita un objeto en la máquina virtual de java para invocar métodos en un objeto sobre otra máquina virtual. (cliente-servidor)

- La relación que se establece entre los diferentes objetos, es definida por una interfaz que extiende la interfaz remota (Subasta en nuestro caso).

- El stub o talón es utilizado para enviar mensajes (aunado a los parámetros) de la máquina local al objeto remoto e implementa todos los métodos de la interfaz remota.

-Los argumentos y los tipos de retorno de los métodos remotos, tienen que ser de tipo primitivo, objetos remotos o un objeto serializable (implementa java.io.Serializable), para que puedan ser pasados y/o devueltos por un método remoto.


DEMOSTRACIONES:

En la siguiente imagen se observan tres clientes distintos que juegan diferentes roles, ya sea de vendedor y/o comprador; a su vez, uno de ellos únicamente obtiene la lista de los objetos disponibles. De manera que podemos darnos cuenta que al modificar el precio de los productos, al dar de alta a uno nuevo y/o hacer una nueva oferta, la vista de los otros clientes no es actualizada, o sea la información no está sincronizada para todos los clientes.

Para resolver este problema, se puede hacer que el servidor sea capaz de notificar los cambios en el modelo a cada uno de los clientes.



Integrantes del equipo:
Paola González Pérez 127418 paola.gonzalezpz@gmail.com
Víctor Madrigal BarónJosé Eduardo Santos Contreras 129762 Key.bearer@gmail.com
Héctor Manuel Gutiérrez Rubio 129202 hekmont@hotmail.com

martes, 12 de febrero de 2008

Etnografía Virtual

1. Introducción

La etnografía es una metodología fundamental de la investigación social y cultural. A través de ella el investigador trata de conocer la trama de significados y materiales que conforman la cultura. [Hine 2000]
Los planteamientos actuales en la etnografía virtual son diversos, la difusión y el surgimiento de propuestas ha sido constante a lo largo de los últimos años. La etnografía digital, etnografía a través de Internet, etnografía conectiva, etnografía de la red, ciber-etnografía, etc., han sido términos ampliamente difundidos dentro de este campo de estudio.


2. Síntesis

Según el Dr. Daniel Domínguez, las posturas varían desde quienes consideran que la etnografía virtual es una forma específica de etnografía, pues hay quienes conciben que la investigación etnográfica del ciberespacio no tiene ninguna singularidad.
Las diversas formas de conceptualizar la etnografía virtual están asociadas con una reflexión sobre el trasfondo cultural de Internet y sobre el diálogo de las experiencias y las interacciones sociales con ese trasfondo cultural. Internet es un lugar rico en interacciones sociales donde la práctica, los significados y las identidades culturales se entremezclan a través de diversas vías.
Lo que se presenta bajo el lema ‘etnografía virtual’ muestra una amplia gama de líneas de experimentación que responden a los múltiples retos metodológicos derivados de un proceso de cambio. Este proceso expone a la investigación cualitativa a nuevas posibilidades de recolección y análisis de datos en diferentes escenarios sociales y a ciertos problemas metodológicos. Por ejemplo, al buscar respuestas a la integración del análisis de datos textuales y datos audiovisuales, o a la investigación "delante de una interfaz" y/o en el campo virtual. Además, existe una tensión entre la facilidad para recopilar ciertos datos y la dificultad de la participación del investigador en el campo de estudio.
Si bien los problemas etnográficos de la representación, de la perspectiva y de la participación no son nuevos en la etnografía, hacer de Internet el objeto estudio lleva a que se replanteen nuevamente y que se reformulen, junto con otros elementos fundamentales como el de comunidad, el valor de la experiencia del investigador en el campo o las ideas de acceso y abandono del mismo.
Internet es un espacio de interacción que acoge formas de práctica social que pueden derivar en usos diversos y con finalidades igualmente variadas. Son muchas las especialidades que recurren al método etnográfico para aproximarse a sus objetos de estudio.
La diversidad de enfoques, junto con la recuperación de algunos debates etnográficos clásicos como: las relaciones del investigador con el campo, las cuestiones éticas, el método de observación o la "construcción" del discurso etnográfico, vuelven a plantearse en sus propios términos con el estudio etnográfico de Internet.

3. Investigaciones relacionadas e importantes en ésta área

Juegos de rol en línea

El artículo introduce al lector en el mundo de los MUDs (Dominios Multi-Usuario). Con el objeto de analizar cuestiones sociales asociadas con la comunicación mediada por computadora (CMC), de forma específica en relación con el concepto de juego; con el proceso implicado en la construcción del “Yo” o la “personalidad online”; percibida como la culminación de las "idas y venidas" entre el juego y la realidad; con el concepto de comunidad que se desarrolla entre dos marcos diferentes – el virtual y el real – ; y, finalmente, con el concepto de "experiencia" virtual y física. [Simona 2007]
La investigación está centrada en comparar un juego interactivo de MUD italiano y uno canadiense, se recurrió primero a la etnografía virtual y, en seguida, a las entrevistas a los jugadores como una forma de validar el fenómeno. Existe una cuestión fundamental en el estudio de los MUD: ¿es el juego online la única aspecto a considerar? ¿Cuál es el impacto de otros medios de comunicación como: la mensajería instantánea, los foros virtuales, el correo electrónico, SMS, etc., empleados por los ‘mudders’ para organizar el juego y conocerse entre ellos? ¿Es necesario que el investigador abandone totalmente el contexto social de los jugadores, incluso cuando ha centrando el estudio en las relaciones online? Esas son algunas preguntas que se pretenden responder al mantenerse al tanto de los problemas metodológicos de los investigadores cuando estudian internet, tanto como medio (de comunicación) y como marco para la investigación.

Sistema de información desarrollado por el equipo Americano-Noruego: Implicaciones de tiempo y espacio

Esta investigación trata sobre la comprensión de cómo la colaboración es posible entre los miembros de un equipo virtual, las implicaciones del tiempo y del espacio, es decir el lugar. Es por ello que se interpretan los modelos de comunicación, o sea los medios para examinar a los miembros de los equipos virtuales localizados en EUA y Noruega. Varios inhibidores de la colaboración son identificados, junto con las estrategias usadas por los miembros del quipo.

4. Referencias

Domínguez, Daniel., Beaulieu, Anne., Estalella, Adolfo., Gómez, Edgar., Read, Rosie y Schnettler, Bernt. 2007. Etnografía virtual. Forum Qualitative Social Research 8, 3(Septiembre), http://www.qualitative-research.net/fqs-texte/3-07/07-3-E1-s.htm

Hine, Christine. 2000. Etnografía Virtual. Editorial UOC, EUA.

Simona, Isabella. 2007. Etnografía de los juegos de rol en línea: El rol de lo virtual y lo real en la construcción del campo. Forum Qualitative Social Research 8, 36(Septiembre), http://www.qualitative-research.net/fqs-texte/3-07/07-3-36-s.htm

Suprateek, Sarker y Sundeep, Sahay. 2002. Information Systems Development by US-Norwegian Virtual Teams:Implications of Time and Space. Proceedings of the 35th Hawaii International Conference on System Sciences – 2002,114-125.

martes, 22 de enero de 2008

Participación en un estudio de usabilidad evaluando una interfaz de usuario

El desarrollo de diversos recursos y/o materiales interactivos tales como: las llamadas “salas multimediales de colaboración”, mismas que cuentan con pizarrones interactivos, equipo de videoconferencia y audio de alta calidad, apoyan el aprendizaje robusto; tema que ha adquirido gran importancia, pues fomenta que el conocimiento quede bien establecido y a su vez, que prevalezca después de un cierto tiempo, de modo que la persona que interactúe con dichos recursos, pueda desarrollar ciertas habilidades.Si bien es cierto que en la actualidad el aprendizaje se apoya en diversos materiales interactivos como resultado del desarrollo tecnológico, entonces podremos entender la importancia de probar estos recursos y de someterlos a un estudio de usabilidad.
En primera instancia, nos fueron expuestos nuestros derechos como participantes del experimento de investigación, los cuales entre otras cosas consisten en ser tratados con respeto, dignidad, honestidad, confidencialidad, integridad y apertura; además, de ser informado de los resultados de la investigación si así lo queríamos.

Posteriormente, se nos hizo entrega de un formato de consentimiento, que al ser firmado da por hecho que estamos dispuestos a participar como sujetos de estudio, que conocemos nuestros derechos y que entendemos los términos de la investigación.

También nos aplicaron unos formularios, cuyo objeto era saber si contábamos con conocimientos previos acerca del contenido que se manejaría en la interfaz de usuario; aunado a si ya habíamos estado en contacto con este tipo de tecnología (pizarrones interactivos).

El software que estábamos probando, era funcional y fácil de usar, la interfaz permitía relacionar conceptos de acuerdo al momento y el lugar donde ocurrían: mismo lugar-mismo tiempo, mismo lugar- diferente tiempo, diferente lugar-mismo tiempo y diferente lugar-diferente tiempo; de hecho cuando ocurría algún error se señalaba, lo que habla de su eficiencia. Otro aspecto importante es que facilita el aprendizaje y la familiarización no sólo con ese tipo de software, sino también con el material dispuesto en la sala multimedial. [Sánchez 2003]

Inicialmente fue un tanto incomodo para mí el hecho de que nos grabasen, pues no me gusta sentirme observada, pero conforme fuimos avanzando en el desempeño de las actividades, esa situación pasó a segundo término.

Al llevar a cabo las actividades marcadas y pese a que no era la primera vez que utilizaba el pizarrón interactivo, tuve ciertas dificultades al arrastrar las etiquetas, lo cual causó que nos fuese revelada otra forma de llevar a cabo la misma acción (el arrastre de objetos), sólo que la explicación se dio ya empezada la tarea; una de mis sugerencias sería que las diferentes formas de realizar las cosas fuesen explicadas antes de comenzar a utilizar el sistema.

Otro aspecto curioso fue que un de las tareas hubo cierta confusión acerca de si se trataba de espacio físico o virtual, y aunque puede parecer algo obvio de cierta forma no lo era pues no se especificaba en la interfaz.