Você está na página 1de 4

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE CMPUTO


Departamento de Ingeniera en Sistemas Computacionales
Academia de Sistemas Distribuidos

UNIDAD DE APRENDIZAJE: Aplicaciones para


comunicaciones en red

UNIDAD TEMTICA: Sockets de flujo

Prctica No. 2 Carrito de compra

Tiempo de realizacin: 3 horas

Objetivo de la prctica:
El estudiante implementar una aplicacin de carrito de compra para la seleccin y adquisicin de
artculos, generacin de recibo de compra y el envo de mltiples objetos serializados a travs de la red
haciendo uso de sockets de flujo.
Situacin problemtica:
En la actualidad, un sin nmero de empresas utilizan medios electrnicos para ofertar sus productos a
travs de Internet, ya sea mediante portales web, aplicaciones mviles o de escritorio; para ofrecer
tales productos las aplicaciones hacen uso de un catlogo, en el cual se muestra informacin detallada
sobre los productos que se ofertan, dentro de los datos ms importantes que se muestran estn los
siguientes: distintas imgenes del producto, descripcin, colores disponibles, tamao, precio, tiempo
de entrega, etc. Tambin se cuenta con un carrito de compra para que los usuarios puedan realizar la
compra de los artculos seleccionados. Dos caractersticas importantes de los carritos de compra son
que la informacin de disponibilidad de los productos debe estar siempre actualizada y debe ser
consistente. Por otro lado, la informacin del catlogo deber generarse dinmicamente y ser enviada a
la aplicacin cliente para que pueda ser exhibida al usuario. Para esto se tendr que enviar dicho
catlogo como una coleccin de datos de distintos tipos (imgenes, nmeros, cadenas, etc.)
De qu manera enviaras esta coleccin de datos?
Competencia especfica:
Desarrolla aplicaciones en red con base en el modelo cliente-servidor y utilizando nicamente la
interfaz de sockets de flujo bloqueantes, para el envo de datos.
Competencias genricas:
Aplica los conocimientos en la prctica
Demuestra habilidad para trabajar en
equipo
Demuestra capacidad de investigacin
Desarrolla aplicaciones en red con base en
la tecnologa ms adecuada

Elementos de competencia:
Implementa el concepto de serializacin
para el envo de tipos de datos complejos
Programa aplicaciones en red con base en
el modelo Cliente-Servidor y la interfaz de
aplicaciones de sockets de flujo.
Analiza los servicios definidos en la capa
de transporte
Emplea el modelo Cliente-Servidor para
construir aplicaciones en red
Programa aplicaciones Cliente-Servidor
utilizando sockets de flujo bloqueantes

Criterios de Evaluacin (por cada alumno)

Mdulo para cargar catlogo de productos (trabaja con


el servidor)
o El catlogo de productos se puede modificar para
agregar/quitar/editar productos. (0.5/3)
o Inicializa la cantidad de existencias para cada
producto. (0.5/3)
o Carga el catlogo de productos desde un archivo o
BD usando serializacin. (2/3)

3
Puntaje mximo si cumple con
todos los puntos descritos

Servicios que provee el Servidor


o Dar servicio en el puerto especificado por el
profesor. (0.25/1.75)
o Carga en memoria el catlogo de productos y
provee un mtodo para descargar las imgenes
de los productos del catlogo antes de que el
usuario visualice la interfaz de compra. (1/1.75)
o Una vez desconectado un cliente, queda listo en
espera de la siguiente conexin y guarda el estado
actualizado de existencias de los productos.
(0.5/1.75)
Interfaz de compra del Cliente
o Solicita al usuario la direccin del servidor a
conectarse. (0.25/5.25)
o Establecida la conexin, deber descargarse el
catlogo correctamente para ser visto por el
usuario. (1/5.25)
o Dar al usuario la opcin de
agregar/eliminar/modificar productos de su
carrito de compra, validando las existencias de
cada producto. (1.5/5.25)
o El estado del carrito de compra se puede revisar
en cualquier momento. (0.5/5)
o Permite realizar operacin de compra. (0.5/5.25)
o Emitir recibo de compra (txt o pdf) indicando:
(1/5.25)
Lista de productos
Cantidades
Costos unitarios
Subtotales
Total a pagar
Hora y fecha de compra
o Al haber finalizado una compra, permite al
usuario seguir comprando con la disponibilidad de
los productos actualizada. (0.25/5.25)
o El usuario podr cerrar la aplicacin cliente (el
socket). (0.25/5.25)

1.75
Puntaje mximo si cumple con
todos los puntos descritos

5.25
Puntaje mximo si cumple con
todos los puntos descritos

Se pueden dividir el trabajo, sin


embargo, es responsabilidad de
ambos integrantes del equipo
saber la forma en que funciona la
aplicacin y dominar el tema que
estn aplicando.
Dominio general del tema y la aplicacin

Se penalizar a ambos
integrantes con 1pto menos de la
calificacin obtenida en el
programa, por cada pregunta que
no sepan contestar sobre el
funcionamiento de su aplicacin.

Introduccin
El envo de archivos a travs de la red es una caracterstica importante para la gran mayora de las aplicaciones que
hoy da se utilizan (blogs, redes sociales, mensajera instantnea, declaracin de impuestos, educacin en lnea,
etc.), sin embargo, no todas las aplicaciones disponibles permiten el envo de archivos de gran tamao (p.ej. El
correo electrnico no permite enviar archivos de ms de 10 o 25 MB). Esto hace necesario el desarrollo de
aplicaciones que permitan transferir archivos sin importar el tamao de stos.

Recursos y/o materiales

Manual de prcticas de laboratorio de Aplicaciones para


Comunicaciones en Red
Bibliografa

Internet
Computadora
IDE de desarrollo
Apuntes

Instrucciones
En esta prctica debes implementar una aplicacin cliente- servidor de un carrito de compra para la venta de
diversos productos. Los productos debern ser exhibidos mediante imgenes, mismas que sern descargadas del
servidor a la aplicacin cliente antes de visualizar la interfaz de compra. El carrito deber permitir al usuario
agregar/cancelar/modificar nmero de productos en el carrito, as como realizar la compra, generndose derivado
de esto un ticket de compra.
Adicionalmente el catlogo de productos deber ser modificable por el administrador (el alumno), es decir podr
agregar/quitar productos y modificar existencias desde el archivo de texto o BD.
El lenguaje de desarrollo puede ser Java, C, C++. NOTA: No es una aplicacin Web.

Desarrollo de la prctica (por parejas)


Tomando como punto de partida el desarrollo de la prctica 1, desarrolla lo que se te pide a continuacin:
El servidor deber dar servicio en el puerto (de TCP) especificado por el profesor.
Una vez iniciado el servidor, deber cargar en memoria el catlogo de productos que se ofertarn a los
clientes (debers crear un mdulo que se encargue de cargar el catlogo de productos, ya sea desde un
archivo o una base de datos utilizando la serializacin). El tipo de productos es de libre eleccin. Tambin
deber ser inicializada la cantidad de existencias para cada producto en esta etapa.
Haciendo uso de la prctica 1, implementa un mtodo que permita enviar un archivo desde el servidor
hacia el cliente. Este mtodo se utilizar para descargar las imgenes de los productos que se
desplegarn en el catlogo del cliente.
La aplicacin cliente deber solicitar al usuario la direccin del servidor al cual se conectar y una vez
establecida la conexin deber descargarse el catlogo para ser visto por el usuario.
La aplicacin cliente adems de mostrar los productos del catlogo, junto con su informacin, tambin
deber dar al usuario la posibilidad de agregar/eliminar/modificar productos de su carrito de compra,
validando las existencias de cada producto.
Deber ser posible revisar el estado del carrito en cualquier momento, as como realizar la operacin de
compra.
Al momento de realizar la compra se emitir un recibo al usuario indicando la lista de productos que
compr, cantidades, costos unitarios, subtotales y total a pagar, as como la hora y fecha de la compra.
Una vez efectuada la compra, la aplicacin cliente deber permitir al usuario seguir realizando ms
compras y manteniendo el estado de disponibilidad de los productos actualizado.
En caso de que el cliente ya no desee realizar ms compras, el usuario podr cerrar la aplicacin cliente y
el servidor estar listo para aceptar la siguiente conexin guardando el estado de existencias de los
productos del catlogo actualizado.

Cierre de la prctica
Preguntas:
1.
2.
3.

Qu es serializacin?
En qu difiere del marshalling?
Por qu es importante la serializacin?

Evidencias de aprendizaje
Reporte que debe incluir:
o Portada: Escuela, No. de prctica, Profesor, Grupo, Nombre de los alumnos, Fecha
o Objetivo: El mismo de este documento
o Introduccin: Lo investigado por el equipo para poder realizar la prctica
o Desarrollo: Explicacin paso a paso para llegar al objetivo, debe incluir cdigo
documentado, pruebas, impresiones de pantalla con sus respectivos pies de imagen
o Cuestionario: Preguntas del cierre de la prctica
o Conclusiones: Por cada integrante del equipo
o Referencias: libros, artculos, revistas, etc. que consultaron para su investigacin
Una visualizacin grfica del funcionamiento del sistema se muestra a continuacin:

Você também pode gostar