Este documento describe una tienda virtual desarrollada como proyecto de curso llamada H2M. La tienda consta de una parte cliente para compradores y una parte de administración. La parte cliente permite ver el catálogo de productos, añadirlos al carrito, registrarse, y realizar pedidos. La parte de administración permite gestionar pedidos, productos, clientes y más. La base de datos subyacente almacena información de categorías, productos, pedidos, clientes y administradores.
El documento describe el Burj Al Arab, un hotel de 7 estrellas en Dubái. Fue diseñado por 7 compañías árabes y 3 estadounidenses y 1 británica. Con 321 metros de altura, es el edificio más alto que funciona como hotel y el único con categoría de 7 estrellas. Cuenta con 202 suites de lujo.
Memoria comercial Oficinas flat Beehive LimaFlat Peru
El edificio empresarial se encuentra ubicado en el distrito de lince en la esquina de la Avenida Arenales con la Calle General Canevaro, zona considerada con la mayor disponibilidad de servicios, comercios, hospitales, universidades, bancos, centros comerciales, y actualmente en una zona muy comercial.
Diseñado por el estudio de arquitectura BAUDAY & CROUSSE, el centro de negocios FLAT, tiene una imagen muy moderna y actual, diferenciándose de los actuales edificios de oficinas.
El documento describe la arquitectura romana, incluyendo tipos de edificios públicos como templos, basílicas, termas y estructuras para espectáculos; monumentos conmemorativos como arcos de triunfo y columnas; obras de ingeniería como puentes y acueductos; y viviendas privadas como domus e insulae. El Panteón de Roma se destaca como un templo circular innovador con una gran cúpula y óculo central que influenció la arquitectura posterior.
O documento descreve a evolução histórica dos sistemas de controle de elevadores, desde os anos 1970 até os dias atuais, e fornece detalhes sobre treinamento técnico relacionado a diferentes tipos de placas de controle, como LCB I e LCB II.
La construcción de la Catedral de Milán, conocida como el Duomo di Milano, comenzó en 1386 bajo el arzobispo Antonio da Saluzzo. Entre 1500 y 1510, durante el gobierno de Ludovico Sforza, se completó la cúpula octogonal y se decoró el interior con sesenta estatuas de santos, profetas y personajes bíblicos. La última puerta se inauguró en 1965, marcando la conclusión de un proceso de construcción que duró muchas generaciones.
Los templos romanos seguían un diseño rectangular con una cella central rodeada de columnas, influenciados por los templos griegos, y presentaban un alto basamento y escalinata frontal como los templos etruscos, dividiendo internamente la cella en tres partes y con ornamentación austera.
El documento describe el Burj Al Arab, un hotel de 7 estrellas en Dubái. Fue diseñado por 7 compañías árabes y 3 estadounidenses y 1 británica. Con 321 metros de altura, es el edificio más alto que funciona como hotel y el único con categoría de 7 estrellas. Cuenta con 202 suites de lujo.
Memoria comercial Oficinas flat Beehive LimaFlat Peru
El edificio empresarial se encuentra ubicado en el distrito de lince en la esquina de la Avenida Arenales con la Calle General Canevaro, zona considerada con la mayor disponibilidad de servicios, comercios, hospitales, universidades, bancos, centros comerciales, y actualmente en una zona muy comercial.
Diseñado por el estudio de arquitectura BAUDAY & CROUSSE, el centro de negocios FLAT, tiene una imagen muy moderna y actual, diferenciándose de los actuales edificios de oficinas.
El documento describe la arquitectura romana, incluyendo tipos de edificios públicos como templos, basílicas, termas y estructuras para espectáculos; monumentos conmemorativos como arcos de triunfo y columnas; obras de ingeniería como puentes y acueductos; y viviendas privadas como domus e insulae. El Panteón de Roma se destaca como un templo circular innovador con una gran cúpula y óculo central que influenció la arquitectura posterior.
O documento descreve a evolução histórica dos sistemas de controle de elevadores, desde os anos 1970 até os dias atuais, e fornece detalhes sobre treinamento técnico relacionado a diferentes tipos de placas de controle, como LCB I e LCB II.
La construcción de la Catedral de Milán, conocida como el Duomo di Milano, comenzó en 1386 bajo el arzobispo Antonio da Saluzzo. Entre 1500 y 1510, durante el gobierno de Ludovico Sforza, se completó la cúpula octogonal y se decoró el interior con sesenta estatuas de santos, profetas y personajes bíblicos. La última puerta se inauguró en 1965, marcando la conclusión de un proceso de construcción que duró muchas generaciones.
Los templos romanos seguían un diseño rectangular con una cella central rodeada de columnas, influenciados por los templos griegos, y presentaban un alto basamento y escalinata frontal como los templos etruscos, dividiendo internamente la cella en tres partes y con ornamentación austera.
Este documento resume cuatro obras arquitectónicas trascendentales: la Pirámide de Keops en Egipto, el Coliseo en Roma, el Partenón en Grecia y la Ópera de Sídney en Australia. La Pirámide de Keops es la construcción de piedra más grande del mundo y fue construida en el 2670 a.C. en Egipto. El Coliseo en Roma fue construido en el siglo I d.C. y sigue siendo un icono de la arquitectura romana. El Partenón en Grec
El documento describe diferentes tipos de lugares de culto y templos romanos. Explica que los templos (aedes) eran los edificios religiosos más importantes y que existían otros espacios más pequeños como aediculas y sacella. También describe las características arquitectónicas de los templos romanos y los diferentes órdenes arquitectónicos utilizados, e incluye ejemplos como el Templo de Vesta y el Templo de Saturno en el Foro Romano.
This Guide explains how to use VNC remote access and control software from RealVNC to connect two
computers over a network, and control one from the other.
En este webinar mostramos cómo desarrollar aplicaciones low code con Oracle APEX, para construir rápida y fácilmente una aplicación atractiva desde cero.
Hablamos de configuraciones de distintos tipos de componentes tales como dashboard con gráficos, informes, maestro detalle, búsqueda por facetas … ¡y modo oscuro!
El Castillo Real de Chambord en Francia es uno de los castillos más reconocibles en el mundo debido a su distintiva arquitectura renacentista que combina estilos medievales e italianos. Construido como un pabellón de caza para el Rey Francisco I, el castillo tiene seis torres inmensas, 440 habitaciones, 365 chimeneas y 84 escaleras. Una de sus características más impresionantes es una doble escalera helicoidal en el centro que podría haber sido diseñada por Leonardo da Vinci.
JSP tiene ventajas como ser un lenguaje totalmente en Java, tener una fuerte capacidad de manipulación de gráficos, aprovechar APIs y ser de código abierto, pero también tiene desventajas como poseer una interfaz limitada, requerir muchas líneas de código para interfaces elaboradas y tener un riesgo de sobrecargar el servidor.
Roma fue fundada en el 753 a.C. y se convirtió en una gran potencia que dominó gran parte de Europa y el Mediterráneo. Su arte, arquitectura y urbanismo tuvieron una gran influencia. Desarrollaron nuevos tipos de construcciones como el arco, la bóveda y la cúpula, y órdenes arquitectónicos como el toscano y el compuesto. Sus ciudades se organizaban en torno a ejes principales y contaban con edificios públicos como el foro, las basílicas, los templos y las
The document provides sizing guidelines for deploying Oracle Identity Manager 11gR2PS1 based on testing. It discusses factors that impact hardware sizing like the number of users, provisioning operations, reconciliation data volume and frequency, and certification campaigns. The guidelines help estimate the computing resources and database size needed to support expected usage.
El documento describe los principales monumentos de la Atenas clásica, incluyendo los órdenes arquitectónicos griegos (dórico, jónico y corintio), las partes del templo griego, y los tipos de templos. Luego describe en detalle los edificios más importantes de la Acrópolis de Atenas como los Propíleos, el Partenón, el Erecteion y el Templo de Atenea Nike. Finalmente, menciona otros monumentos como el Teatro de Dioniso y el Templo de Hefesto.
Análisis Arquitectónico de Basílica de San Apolinar in clase, Ravena ItaliaMonge Gregori
La Basílica de San Apolinar in Classe en Rávena, Italia data del siglo VI d.C. y pertenece al estilo arquitectónico bizantino. Tiene planta basilical de tres naves separadas por columnas de mármol. El interior se ilumina a través de los mosaicos y columnas, y presenta rica decoración de mosaicos en el ábside. Es considerado un importante ejemplo del arte paleocristiano y bizantino temprano.
Juniper Networks is in the business of network innovation. From devices to data centers, from consumers to cloud providers, Juniper Networks delivers the software, silicon and systems that transform the experience and economics of networking.
El documento describe la arquitectura de Mesopotamia a través de los períodos. Los sumerios introdujeron el zigurat y el ladrillo cocido como materiales de construcción principales. Los asirios y babilonios posteriormente desarrollaron estos estilos, construyendo grandes palacios y templos con ladrillos vidriados. El zigurat de Babilonia fue una de las maravillas del mundo antiguo.
La arquitectura griega antigua se caracteriza por sus templos altamente normalizados y elegantes. Los arquitectos más importantes incluyen a Ictino, Calícrates y Fidias, quienes diseñaron obras maestras como el Partenón y el Erecteión en la Acrópolis de Atenas. La arquitectura griega sentó las bases de las formas y actitudes más duraderas de la cultura occidental.
001 introduction Fortigate Administration IntroductionMohamed Sana
FortiGate Multi-Threat Security Systems I Course 201 - Administration, Content Inspection and VPNs.
Module Objectives
•By the end of this module, participants will be able to: »Identify the major features of the FortiGate Unified Threat Management appliance »Modify administrative access restrictions on an interface »Create and manage administrative users »Create and manage administrator access profiles »Backup and restore configuration files »Create a DHCP server on a FortiGatedevice interface »Upgrade or downgrade a FortiGateunit’s firmware
The information contained herein is subject to change without notice. No part of this publication including text, examples, diagrams or illustrations may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical or otherwise, for any purpose, without prior written permission of Fortinet Inc
Artemisa fue una importante diosa griega de la caza, los animales salvajes y la virginidad. Era hija de Zeus y Leto y hermana melliza de Apolo. A menudo se la representaba como una cazadora con arco y flechas. Uno de sus templos más famosos fue el Templo de Artemisa en Éfeso, una de las Siete Maravillas del Mundo Antiguo.
Las Termas de Caracalla fueron construidas en Roma entre 211-216 d.C. durante el reinado del emperador Caracalla. Cubrían un área de 13 hectáreas y podían albergar hasta 1,700 bañistas. Contenían baños fríos, calientes y tibios, así como bibliotecas, estatuas y mosaicos decorativos. Caracalla construyó las termas para hacer frente a las dificultades económicas de Roma a través de mayores impuestos de los nuevos ciudadanos romanos.
El documento describe las características de la arquitectura griega. Comenzó a desarrollarse en el siglo VII a.C. y se caracterizó por tener un carácter comunitario y oficial, con énfasis en el espacio exterior. El edificio emblemático fue el templo, que generalmente tenía planta rectangular y estaba construido con mármol o ladrillo. La Acrópolis de Atenas contenía notables ejemplos como el Partenón, el Erecteión y el templo de Atenea Niké.
Buenas prácticas para la Construcción en Acero - Edificación IndustrialEducagratis
Curso gratis de Estructuras Metálicas: http://construccion.educagratis.org
Las naves industriales y los edificios industriales en general, son muy habituales en los parques tecnológicos, de ocio y pabellones deportivos. Su funcionalidad y calidad arquitectónica están influenciadas por muchos factores, por ejemplo, el programa a desarrollar, la variedad de usos prevista y la calidad deseada del edificio. El acero ofrece numerosas posibilidades al lograr un uso funcional flexible y agradable.
Esta publicación ofrece una guía útil de diseño en construcción de acero destinada a la edificación industrial, enfocada a arquitectos y a otros profesionales del sector en las primeras fases de planificación del proyecto. Es la segunda de una serie de tres guías que recogen los conocimientos adquiridos en el proyecto de divulgación Euro-Build in Steel desarrollado dentro del Programa del Fondo de Investigación del Carbón y del Acero, Research Fund for the Coal and Steel- RFCS (Proyecto nº RFS2-CT-2007-00029).
En el curso de Educagratis "Curso de Estructuras Metálicas" es posible encontrar más información sobre el tema y clases online:
http://construccion.educagratis.org
Este documento resume el arte griego desde sus orígenes hasta la época helenística. Comienza describiendo el arte prehelénico minoico y micénico, incluyendo detalles sobre los palacios cretenses y los megarones. Luego describe el desarrollo del arte griego clásico, con énfasis en la escultura de Fidias, Policleto y Praxíteles. Finalmente, resume brevemente el periodo helenístico y algunas de sus obras maestras como la Venus de Milo y la Victoria de Samotracia.
herramientas de software para comercio electronicofelipeflorez00
Este documento describe diferentes herramientas de software para el desarrollo de comercio electrónico, incluyendo herramientas de desarrollo como compiladores y depuradores, DHTML para crear sitios web interactivos, herramientas avanzadas como administradores de información y groupware, y bases de datos para almacenar datos de manera sistemática.
El objetivo de esta práctica es aplicar de forma integral los aspectos básicos de flash en una aplicación web, realizada totalmente en flash(ActionScript), que permite clasificar y acceder a una serie de prácticas resueltas relacionadas con materias informáticas. En esta práctica se utilizan componentes (Accordion, Button, ProgressBar, RadioButton, ScrollPane, Tree, MediaDisplay, MediaController, Window,…), loadMovie, #include (.as), import (class), clips de película, audio y video, capas máscara y guía, etc.
Este documento resume cuatro obras arquitectónicas trascendentales: la Pirámide de Keops en Egipto, el Coliseo en Roma, el Partenón en Grecia y la Ópera de Sídney en Australia. La Pirámide de Keops es la construcción de piedra más grande del mundo y fue construida en el 2670 a.C. en Egipto. El Coliseo en Roma fue construido en el siglo I d.C. y sigue siendo un icono de la arquitectura romana. El Partenón en Grec
El documento describe diferentes tipos de lugares de culto y templos romanos. Explica que los templos (aedes) eran los edificios religiosos más importantes y que existían otros espacios más pequeños como aediculas y sacella. También describe las características arquitectónicas de los templos romanos y los diferentes órdenes arquitectónicos utilizados, e incluye ejemplos como el Templo de Vesta y el Templo de Saturno en el Foro Romano.
This Guide explains how to use VNC remote access and control software from RealVNC to connect two
computers over a network, and control one from the other.
En este webinar mostramos cómo desarrollar aplicaciones low code con Oracle APEX, para construir rápida y fácilmente una aplicación atractiva desde cero.
Hablamos de configuraciones de distintos tipos de componentes tales como dashboard con gráficos, informes, maestro detalle, búsqueda por facetas … ¡y modo oscuro!
El Castillo Real de Chambord en Francia es uno de los castillos más reconocibles en el mundo debido a su distintiva arquitectura renacentista que combina estilos medievales e italianos. Construido como un pabellón de caza para el Rey Francisco I, el castillo tiene seis torres inmensas, 440 habitaciones, 365 chimeneas y 84 escaleras. Una de sus características más impresionantes es una doble escalera helicoidal en el centro que podría haber sido diseñada por Leonardo da Vinci.
JSP tiene ventajas como ser un lenguaje totalmente en Java, tener una fuerte capacidad de manipulación de gráficos, aprovechar APIs y ser de código abierto, pero también tiene desventajas como poseer una interfaz limitada, requerir muchas líneas de código para interfaces elaboradas y tener un riesgo de sobrecargar el servidor.
Roma fue fundada en el 753 a.C. y se convirtió en una gran potencia que dominó gran parte de Europa y el Mediterráneo. Su arte, arquitectura y urbanismo tuvieron una gran influencia. Desarrollaron nuevos tipos de construcciones como el arco, la bóveda y la cúpula, y órdenes arquitectónicos como el toscano y el compuesto. Sus ciudades se organizaban en torno a ejes principales y contaban con edificios públicos como el foro, las basílicas, los templos y las
The document provides sizing guidelines for deploying Oracle Identity Manager 11gR2PS1 based on testing. It discusses factors that impact hardware sizing like the number of users, provisioning operations, reconciliation data volume and frequency, and certification campaigns. The guidelines help estimate the computing resources and database size needed to support expected usage.
El documento describe los principales monumentos de la Atenas clásica, incluyendo los órdenes arquitectónicos griegos (dórico, jónico y corintio), las partes del templo griego, y los tipos de templos. Luego describe en detalle los edificios más importantes de la Acrópolis de Atenas como los Propíleos, el Partenón, el Erecteion y el Templo de Atenea Nike. Finalmente, menciona otros monumentos como el Teatro de Dioniso y el Templo de Hefesto.
Análisis Arquitectónico de Basílica de San Apolinar in clase, Ravena ItaliaMonge Gregori
La Basílica de San Apolinar in Classe en Rávena, Italia data del siglo VI d.C. y pertenece al estilo arquitectónico bizantino. Tiene planta basilical de tres naves separadas por columnas de mármol. El interior se ilumina a través de los mosaicos y columnas, y presenta rica decoración de mosaicos en el ábside. Es considerado un importante ejemplo del arte paleocristiano y bizantino temprano.
Juniper Networks is in the business of network innovation. From devices to data centers, from consumers to cloud providers, Juniper Networks delivers the software, silicon and systems that transform the experience and economics of networking.
El documento describe la arquitectura de Mesopotamia a través de los períodos. Los sumerios introdujeron el zigurat y el ladrillo cocido como materiales de construcción principales. Los asirios y babilonios posteriormente desarrollaron estos estilos, construyendo grandes palacios y templos con ladrillos vidriados. El zigurat de Babilonia fue una de las maravillas del mundo antiguo.
La arquitectura griega antigua se caracteriza por sus templos altamente normalizados y elegantes. Los arquitectos más importantes incluyen a Ictino, Calícrates y Fidias, quienes diseñaron obras maestras como el Partenón y el Erecteión en la Acrópolis de Atenas. La arquitectura griega sentó las bases de las formas y actitudes más duraderas de la cultura occidental.
001 introduction Fortigate Administration IntroductionMohamed Sana
FortiGate Multi-Threat Security Systems I Course 201 - Administration, Content Inspection and VPNs.
Module Objectives
•By the end of this module, participants will be able to: »Identify the major features of the FortiGate Unified Threat Management appliance »Modify administrative access restrictions on an interface »Create and manage administrative users »Create and manage administrator access profiles »Backup and restore configuration files »Create a DHCP server on a FortiGatedevice interface »Upgrade or downgrade a FortiGateunit’s firmware
The information contained herein is subject to change without notice. No part of this publication including text, examples, diagrams or illustrations may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical or otherwise, for any purpose, without prior written permission of Fortinet Inc
Artemisa fue una importante diosa griega de la caza, los animales salvajes y la virginidad. Era hija de Zeus y Leto y hermana melliza de Apolo. A menudo se la representaba como una cazadora con arco y flechas. Uno de sus templos más famosos fue el Templo de Artemisa en Éfeso, una de las Siete Maravillas del Mundo Antiguo.
Las Termas de Caracalla fueron construidas en Roma entre 211-216 d.C. durante el reinado del emperador Caracalla. Cubrían un área de 13 hectáreas y podían albergar hasta 1,700 bañistas. Contenían baños fríos, calientes y tibios, así como bibliotecas, estatuas y mosaicos decorativos. Caracalla construyó las termas para hacer frente a las dificultades económicas de Roma a través de mayores impuestos de los nuevos ciudadanos romanos.
El documento describe las características de la arquitectura griega. Comenzó a desarrollarse en el siglo VII a.C. y se caracterizó por tener un carácter comunitario y oficial, con énfasis en el espacio exterior. El edificio emblemático fue el templo, que generalmente tenía planta rectangular y estaba construido con mármol o ladrillo. La Acrópolis de Atenas contenía notables ejemplos como el Partenón, el Erecteión y el templo de Atenea Niké.
Buenas prácticas para la Construcción en Acero - Edificación IndustrialEducagratis
Curso gratis de Estructuras Metálicas: http://construccion.educagratis.org
Las naves industriales y los edificios industriales en general, son muy habituales en los parques tecnológicos, de ocio y pabellones deportivos. Su funcionalidad y calidad arquitectónica están influenciadas por muchos factores, por ejemplo, el programa a desarrollar, la variedad de usos prevista y la calidad deseada del edificio. El acero ofrece numerosas posibilidades al lograr un uso funcional flexible y agradable.
Esta publicación ofrece una guía útil de diseño en construcción de acero destinada a la edificación industrial, enfocada a arquitectos y a otros profesionales del sector en las primeras fases de planificación del proyecto. Es la segunda de una serie de tres guías que recogen los conocimientos adquiridos en el proyecto de divulgación Euro-Build in Steel desarrollado dentro del Programa del Fondo de Investigación del Carbón y del Acero, Research Fund for the Coal and Steel- RFCS (Proyecto nº RFS2-CT-2007-00029).
En el curso de Educagratis "Curso de Estructuras Metálicas" es posible encontrar más información sobre el tema y clases online:
http://construccion.educagratis.org
Este documento resume el arte griego desde sus orígenes hasta la época helenística. Comienza describiendo el arte prehelénico minoico y micénico, incluyendo detalles sobre los palacios cretenses y los megarones. Luego describe el desarrollo del arte griego clásico, con énfasis en la escultura de Fidias, Policleto y Praxíteles. Finalmente, resume brevemente el periodo helenístico y algunas de sus obras maestras como la Venus de Milo y la Victoria de Samotracia.
herramientas de software para comercio electronicofelipeflorez00
Este documento describe diferentes herramientas de software para el desarrollo de comercio electrónico, incluyendo herramientas de desarrollo como compiladores y depuradores, DHTML para crear sitios web interactivos, herramientas avanzadas como administradores de información y groupware, y bases de datos para almacenar datos de manera sistemática.
El objetivo de esta práctica es aplicar de forma integral los aspectos básicos de flash en una aplicación web, realizada totalmente en flash(ActionScript), que permite clasificar y acceder a una serie de prácticas resueltas relacionadas con materias informáticas. En esta práctica se utilizan componentes (Accordion, Button, ProgressBar, RadioButton, ScrollPane, Tree, MediaDisplay, MediaController, Window,…), loadMovie, #include (.as), import (class), clips de película, audio y video, capas máscara y guía, etc.
El documento describe un proyecto para desarrollar una tienda virtual utilizando ASP.NET y SQL Server. La tienda permitirá a los clientes comprar productos en línea de manera fácil y rápida. El proyecto incluirá funciones como consultar productos por categoría, ver detalles de productos, agregar productos a un carrito de compras, y realizar pedidos. Se implementarán medidas de seguridad para proteger la información personal de los clientes.
El documento describe tres ejemplos de uso de acciones en JSP. El primer ejemplo utiliza jsp:forward para redirigir a otra página y pasar un parámetro. El segundo ejemplo utiliza jsp:include para incluir la misma página varias veces con diferentes parámetros. El tercer ejemplo utiliza jsp:useBean, jsp:setProperty y jsp:getProperty para manipular un objeto bean creado en la página.
Las directivas en JSP se usan para proporcionar información al motor JSP para generar la página. Existen tres tipos de directivas: página, inclusión de archivos y librería de etiquetas. La directiva page se usa para definir atributos que se aplican a toda la página JSP e incluye archivos, como el tipo de contenido, la página de error y la importación de clases.
Explicación del código del Servlet HolaMundojubacalo
El documento explica el código de un servlet simple que devuelve la página "Hola Mundo". El servlet extiende la clase HttpServlet y sobreescribe el método doGet() para establecer el tipo de contenido como HTML y escribir la página usando un PrintWriter. Cuando se recibe una petición GET, el servidor llama al método doGet() para devolver la respuesta.
1) El documento explica cómo crear un proyecto JSP en Eclipse usando Tomcat como servidor de aplicaciones. 2) Se crea un proyecto web dinámico y se agrega un archivo JSP que muestra la fecha y hora actual usando código Java. 3) El código Java utiliza la clase SimpleDateFormat para formatear la fecha y hora en un formato específico.
Este documento explica los tres métodos para insertar código Java en una página JSP: expresiones, scriptlets y declaraciones. Las expresiones evalúan código Java y escriben el resultado, los scriptlets ejecutan código arbitrario y pueden escribir en la salida, y las declaraciones definen variables fuera de los métodos del servlet generado.
Servlets que manejan datos de formularios HTMLjubacalo
El documento describe un formulario HTML que solicita el nombre de usuario y contraseña de un usuario. Luego, un servlet recupera estos parámetros y los muestra en otra página generada por el servlet. El servlet usa los métodos getParameter de HttpServletRequest para recuperar los valores de los campos del formulario enviados a través del método POST.
Acceso a BBDD mediante un servlet que delega temporalmente el procesamiento de la petición a un segundo servlet que conecta y realiza operaciones con la base de datos.
Este documento describe los pasos para implementar un servlet simple que muestra la página "Hola Mundo" en Java usando Eclipse e integrado con el servidor Apache Tomcat. Primero se integra Tomcat en Eclipse y se crea un proyecto web dinámico. Luego se genera un servlet que imprime el mensaje "Hola Mundo" y se ejecuta en el servidor.
El documento describe el desarrollo de un juego del Tres en Raya utilizando el framework AWT de Java. El juego tendrá dos modalidades, entre humanos y entre un humano y la computadora (que jugará de forma aleatoria). Se implementarán botones, paneles, grupos de casillas y lógica para detectar ganadores.
El documento presenta un ejemplo de sincronización de hilos en Java. Se propone crear una clase Contenedor que actúe como buffer para almacenar un número entero de forma que sólo un hilo pueda escribir o borrar el valor a la vez. Se implementan clases ThreadEscribir y ThreadBorrar para gestionar los hilos y una clase TestSincroThreads con el método main para iniciarlos.
El documento describe una tienda virtual como un comercio en línea que utiliza un sitio web para realizar transacciones. Las tiendas virtuales permiten a los clientes ver imágenes y especificaciones de productos y comprarlos de forma rápida y conveniente desde cualquier lugar. La mayoría requieren crear una cuenta con datos personales y los pagos se realizan típicamente con tarjeta de crédito.
Este documento describe el desarrollo de una tienda virtual llamada T-MarMar utilizando un enfoque ágil. Explica los requisitos funcionales y no funcionales, las herramientas de desarrollo como PHP y MySQL, y el uso de casos de uso UML y metodologías ágiles como Crystal Clear. El objetivo final era crear un sitio web funcional para T-MarMar mediante un proceso de diseño, implementación, pruebas y mejora continua.
El documento describe una aplicación para gestionar información de alumnos, incluyendo altas, bajas y modificaciones. La interfaz tendrá tres pestañas y los datos se almacenarán en una tabla de una base de datos. Se definen las clases Alumno y Dirección para almacenar los datos, y la clase ConexionDDBB para conectarse a la base de datos.
Este documento presenta el análisis y propuesta para el desarrollo de una tienda virtual llamada "Driver" dedicada a la venta de equipos de cómputo. Incluye un análisis de mercado, necesidades y factibilidad, así como el diseño, desarrollo y requerimientos técnicos del sitio web, con el objetivo de ampliar el mercado de la empresa de manera virtual.
Cadena de suministros area compras y suministrosWERS2012
El documento resume el proceso de compras y suministros de Mecánicos Asociados S.A. (MASA). Describe que MASA mantiene inventarios en sus bodegas y realiza análisis periódicos para controlar y optimizar los recursos. También planifica por órdenes de trabajo para controlar el stock de herramientas, equipos y materiales. MASA usa tecnologías de la información como una base de datos de proveedores y políticas de seguridad para el uso adecuado de recursos tecnológicos.
Este documento presenta la información de una papelería llamada ElectroFast. Incluye los objetivos de la empresa, que son ayudar a estudiantes a comprar útiles escolares. También describe las actividades de venta de útiles y presenta diagramas de flujo del proceso de facturación. Finalmente incluye tablas con la información de clientes, productos, vendedores y la bibliografía utilizada.
Este documento presenta la información de una papelería llamada ElectroFast. Incluye los objetivos de la empresa, que son ayudar a estudiantes a comprar útiles escolares. También describe las actividades de venta de útiles y presenta diagramas de flujo del proceso de facturación. Finalmente incluye tablas con la información de clientes, productos, vendedores y la bibliografía utilizada.
Este documento presenta la información de una empresa de venta de productos para el hogar, incluyendo su objetivo de ofrecer buena atención y calidad a los clientes, y realizar ventas de productos de consumo diario. También describe la estructura organizacional de la empresa, con Alicia Pérez como gerente y responsable de ventas, proveedores, devoluciones y facturación. Finalmente, presenta los campos de las tablas de datos de clientes, empleados, productos y facturas.
Este documento presenta la información de una empresa de venta de productos para el hogar, incluyendo su objetivo de ofrecer buena atención y calidad a los clientes. Se describen las actividades de la empresa como la atención al cliente y venta de productos de consumo diario, además de detallar la estructura organizacional y los procesos de ventas, facturación y pedidos.
Este documento presenta la información de una empresa de venta de productos para el hogar, incluyendo su objetivo de ofrecer buena atención y calidad a los clientes, y actividades de venta de productos y atención al cliente. También describe la estructura organizacional de la empresa y los procesos de facturación, ventas y pedidos.
Este documento proporciona información sobre la empresa Locuras Hallmark, incluyendo su gerente, propietario, tipo de empresa, servicios, ubicación, teléfono y detalles sobre su proceso de facturación. También incluye enlaces sobre organigramas y diagramas de flujo.
Este documento presenta el proyecto de facturación de una papelería y bazar llamada "La Huaca". Describe los procesos de venta de mercadería, pedidos, almacenamiento y facturación. El propietario Leónidas Barbecho supervisó el desarrollo del sistema de facturación, el cual presenta de manera comprensible los pasos del proceso de venta y emisión de facturas para los clientes de la tienda.
Imagestión es un sistema de gestión de abastecimiento y control de presupuestos basado en una plataforma web. Optimize los procesos de requerimientos, cotizaciones, órdenes de compra, recepción en bodega y facturación para mejorar el control presupuestario y la productividad. Ofrece reportes en línea para el análisis y seguimiento de gastos.
Este documento presenta información sobre una empresa ficticia dedicada a la venta de útiles escolares y de oficina. Incluye datos sobre los objetivos y actividades de la empresa, su organigrama, diagramas de flujo de procesos internos como facturación y pedidos, tablas con campos de datos de productos, clientes y vendedores, y una reflexión del alumno sobre lo aprendido al realizar este análisis empresarial.
Este documento presenta información sobre la empresa Espress-arte, una cafetería ubicada en Boca del Río, Veracruz. Incluye datos generales de la empresa como nombre, dirección y antigüedad. También describe brevemente la historia de la empresa, su misión, visión y valores. Finalmente, propone la automatización de un sistema de ventas para la empresa mediante el uso de software de punto de venta y otros dispositivos tecnológicos.
Este documento presenta información sobre la empresa Espress-arte, una cafetería ubicada en Boca del Río, Veracruz. Incluye detalles sobre los dueños, ubicación, misión, valores y una breve historia de la empresa. También analiza los problemas actuales de la empresa como el robo hormiga y la falta de control de inventario, y propone la automatización de un sistema de punto de venta para resolver estos problemas.
Gestión de calidad con six sigma alconsa v2marilia33
El documento describe un proyecto Six Sigma para reducir los reclamos de clientes en el área de atención al cliente de Alconsa. Actualmente, los tiempos de espera para la atención superan los 30 y 15 minutos en muchos casos, lo que genera insatisfacción. El objetivo del proyecto es reducir los tiempos de espera a un mínimo para mejorar la satisfacción del cliente. Se analizó el proceso de atención identificando las etapas con mayores tiempos de espera para proponer soluciones como un asistente de ticketera y mejor
Este manual técnico describe una aplicación llamada Factu desarrollada para sistematizar los procesos de una peluquería. La aplicación permite gestionar productos, clientes y facturas. Se compone de tres capas: datos, reglas de negocio y diseño. Explica los procedimientos y procesos de la aplicación para facilitar su uso.
El documento describe el modelado UML de un sistema de alquiler de películas, incluyendo escenarios, casos de uso, diagramas de actividades, clases, secuencias, colaboración, componentes y despliegue. Se analizan los procesos principales de registrar cliente, registrar películas, alquilar películas, entregar películas, devolver películas y emitir informes.
Este documento describe la implementación de cuadros de diálogo en una aplicación jQuery Mobile. La aplicación contiene dos páginas HTML que muestran dos tipos de cuadros de diálogo: uno enlazado a una página externa y otro enlazado internamente con un tema personalizado. Los cuadros de diálogo se abren usando data-rel="dialog" y permiten mostrar información de forma modal sin cambiar de página principal.
jQuery Mobile :: Enlaces a páginas internas.jubacalo
El documento describe una aplicación móvil con jQuery que consta de una página principal con enlaces a páginas de "Nombre", "Apellidos" y "Ciudad". Cada página secundaria muestra la información respectiva del usuario y un botón para volver a la página principal.
Este documento describe cómo crear una aplicación en MIT App Inventor 2 que permite pintar sobre una imagen o foto con el dedo. La aplicación incluye un ListPicker para seleccionar colores, un botón para tomar fotos con la cámara, un ImagePicker para cargar imágenes de la galería, y un Canvas y botón Borrar para pintar y borrar trazos sobre la imagen.
Este documento describe cómo crear una aplicación cronómetro simple usando la herramienta MIT App Inventor 2. Explica que App Inventor permite diseñar interfaces gráficas y programar la lógica de una aplicación para Android sin necesidad de código. Para el cronómetro, se usan componentes como etiquetas y botones, y un componente reloj oculto que dispara eventos cada segundo para actualizar el tiempo. La lógica programa el comportamiento de los botones y actualiza los dígitos del cronómetro según pasen los segundos y
Este documento describe la creación de una aplicación Android para simular un banco infantil. La aplicación permite a los niños ingresar y retirar cantidades de euros ficticios y almacena el saldo actual usando SharedPreferences para mantenerlo entre sesiones. El código Java define la interfaz, lógica de negocio y almacenamiento del saldo, mientras que los archivos de diseño y strings definen la interfaz gráfica y texto para los usuarios.
1. Se instala el JDK, Eclipse, las librerías de Android SDK y las herramientas de desarrollo Android (ADT).
2. Se configura Eclipse para utilizar la versión correcta de Java y se indica la ubicación del SDK de Android.
3. Se instalan las versiones y componentes necesarios de Android SDK como la versión 4.2.2.
Este documento describe un proyecto para implementar una página web de noticias utilizando Ajax y PHP. La página mostrará noticias inicialmente y permitirá filtrarlas por fecha a través de un formulario. Las solicitudes Ajax actualizarán el contenido sin recargar la página. El proyecto usa PHP para acceder a una base de datos MySQL y devolver las noticias en formato XML, el cual es procesado por JavaScript para mostrarlo en la página.
El documento describe cómo crear, administrar y generar informes de escenarios en Excel. Se crean tres escenarios: uno con los valores iniciales del modelo, otro que aumenta las visitas de clientes en un 5% y reduce los ingresos por visita en un 5%, y uno más que reduce los costes directos por visita en un 10%. Finalmente, se genera un informe de resumen de los tres escenarios.
Este documento presenta una práctica de Excel sobre matrices a nivel avanzado. El objetivo es introducir el concepto de fórmulas matriciales para responder cinco cuestiones usando nombres de rango. Se explica cómo crear nombres de rango para los datos de precio y cantidad y luego construir fórmulas matriciales para encontrar el resultado.
El documento describe una práctica en Excel para crear un gráfico que compare la asistencia a clase de un alumno en dos años escolares utilizando datos de una hoja sin necesidad de crear una tabla auxiliar. Se selecciona un gráfico de columnas agrupadas vacío y se añaden las series de datos dos veces cada una, una como columna y otra como línea, para comparar los datos en el mismo gráfico.
Este documento describe cómo crear una tabla dinámica en Excel para analizar datos de ventas. Instruye al lector sobre cómo agregar un nombre de rango a los datos, crear la tabla dinámica en una nueva hoja, agregar campos como mes, vendedor, forma de pago y suma de importes, y aplicar un diseño de esquema y estilo a la tabla dinámica.
El documento describe una práctica en Excel sobre el uso de tablas de datos para calcular pagos mensuales de una hipoteca variando el tipo de interés y el plazo del préstamo. Se crea una tabla de dos variables con los tipos de interés en una columna y los plazos en filas, y se inserta la fórmula de pago en la celda de intersección. Luego se analizan los datos para ver el efecto de cambiar el interés y plazo en el pago mensual.
Este documento presenta un minitutorial básico para crear una textura de agua en Photoshop. En 3 pasos: 1) crear un archivo rojo y negro, 2) aplicar un degradado diagonal, y 3) distorsionar la imagen con el filtro Rizo.
Este documento presenta una práctica en Excel para manejar funciones lógicas y condicionales. La práctica involucra calcular descuentos y aumentos para varios productos según sus categorías, granjas, presentaciones y montos base usando funciones como Si, Y, O. También incluye asignar categorías a los productos y presentaciones numéricas.
Este documento presenta dos problemas de optimización resueltos usando la herramienta Solver en Excel. El primer problema busca el gasto en publicidad para el primer trimestre que maximice los beneficios. El segundo problema determina los presupuestos publicitarios óptimos para cada trimestre que maximicen los beneficios anuales. En ambos casos, Solver encuentra soluciones que relacionan los gastos de publicidad con los beneficios máximos resultantes.
Este documento describe cómo crear un glosario interactivo en Word utilizando Visual Basic para Aplicaciones (VBA). Se utilizan controles ActiveX como un cuadro combinado y una etiqueta para mostrar definiciones al seleccionar términos. El documento explica agregar código VBA para cargar los términos en el cuadro combinado y mostrar definiciones, y proteger el formulario con contraseña.
1. Informe Técnico
Desarrollo de Aplicaciones Web para comercio electrónico. Tiendas Virtuales
Tienda Virtual: H2M (Hogar 2ª Mano)
2. Introducción
Como trabajo del curso se ha realizado una pequeña tienda de comercio electrónico denominada H2M (Hogar 2ª Mano),
(en adelante H2M) cuyo objetivo es facilitar a cualquier familia una herramienta para la venta online de artículos del hogar
de segunda mano.
H2M se divide en dos bloques esenciales, por un lado una parte cliente dirigida a los potenciales compradores y por otro
una parte de administración reservada a usuarios propietarios de la tienda.
Parte Cliente de la Aplicación
Contiene la operativa básica para que un potencial comprador pueda realizar un pedido con los artículos que le interesen
de aquellos ofertados. Consta de las secciones:
Catálogo: El catálogo agrupa los artículos en distintas categorías las cuales a su vez estarán desglosadas
en subcategorías.
Carrito: En esta sección el cliente podrá ver en todo momento aquellos artículos seleccionados del
catálogo y que de forma provisional desea comprar. Al igual que una cesta de la compra tradicional se
podrán agregar, eliminar, incrementar o decrementar los artículos almacenados en el carrito.
Registro: Para que el cliente pueda tramitar un pedido necesita estar registrado como tal en la base de
datos de clientes de la tienda. El registro se realiza una vez facilitando los datos de acceso y de
facturación y tras el proceso el cliente obtiene una cuenta de usuario (email,contraseña).
Pedido: En la tramitación de un pedido y una vez que el cliente se identifica con los datos de su cuenta
obtenida en el proceso de registro, se genera automáticamente un pedido asociando el carrito con los
artículos a los datos del cliente. Los datos de facturación (dirección de envío del pedido) serán en principio
los que facilitó el cliente en el registro pero podrán ser modificados de forma independiente para cada
pedido.
Queda pendiente para un futuro implementar otras secciones como una sección de ofertas, una sección de contacto
donde los clientes podrán comunicarse con los responsables de la tienda para sugerencias, quejas o solicitar información
sobre algún pedido, una sección donde se identifiquen los responsables de la tienda y otras muchas que por falta de
tiempo no se han realizado.
Parte de Administración de la Aplicación
Se trata de una zona restringida a la que únicamente podrán acceder, previa identificación, usuarios considerados
administradores de tienda y que deberán estar dados de alta como tales en la base de datos. En principio sólo está
operativa de forma incompleta la sección de pedidos en la que un administrador podrá ver y realizar búsquedas sobre los
pedidos realizados por los clientes. Lógicamente la administración de una tienda virtual conlleva varias tareas como
seguimiento de pedidos (en proceso, anulados, pagados,...), gestión de productos (alta, bajas y modificaciones tanto de
categorías como de artículos), gestión del correo de clientes (contacto), gestión de cuentas de administración y muchas
otras que por el momento no se han implementado dado el tamaño de la tarea.
1
3. Estructura del Programa
http://localhost/TVProjectV00/cliente/index.php
PARTE CLIENTE
H2M
HOME CATALOGO CARRITO REGISTRO
TRAMITAR PEDIDO CLIENTE
(Validar Cliente)
DATOS DE REALIZAR
LISTAR PRODUCTOS INCREMENTAR ACCESO PEDIDO
Añadir DECREMENTAR
Compra PRODUCTOS DATOS DE
ENVÍO ACTUALIZAR
BÚSQUEDA SENCILLA
PEDIDO
BORRAR PRODUCTO Tramitar
Pedido
BÚSQUEDA AVANZADA CANCELAR
PEDIDO
VACIAR CARRITO ENVÍO
DETALLE DEL PRODUCTO N
CONFIRMAR
S PEDIDO
¿Cliente
Registrado?
2
4. http://localhost/TVProjectV00/admon/admin.php
PARTE SERVIDOR H2M
VALIDAR ADMINISTRADOR
(Login, Password)
N
¿Existe
usuario?
S
GESTIÓN DE PEDIDOS GESTIÓN DE CORREO GESTIÓN DE ARTÍCULOS GESTIÓN DE CLIENTES GESTIÓN DE CUENTAS
(Sin implementar) (Sin implementar) (Sin implementar) (Sin implementar)
Cerrar
Sesión
3
5. Arquitectura de la Aplicación sobre la base de una posible ruta de navegación
A continuación se muestra un ejemplo de funcionamiento de la aplicación tomando como base una posible compra
realizada por un cliente. La ruta descrita en el proceso de compra servirá para explicar los diagramas de estructura
vistos anteriormente y describir la operativa de la aplicación a través de sus interfaces (guía de usuario).
Proceso de Compra
En la parte cliente de la aplicación un usuario podrá seleccionar uno o varios artículos de su interés de un catálogo, llenar
su cesta de la compra (carrito) con dichos artículos y realizar un pedido con su compra. Es requisito para que el usuario
pueda tramitar un pedido estar registrado en la base de datos de clientes donde, una vez finalizado el proceso de registro
se le facilitará una cuenta de usuario (email,contraseña) que serán los datos de identificación que necesitará para
tramitar los pedidos.
Catálogo de Artículos
Al catálogo de artículos se accede pinchando en la opción correspondiente del menú horizontal principal.
Se compone de un menú vertical izquierdo que contiene un árbol de categorías de productos desglosadas a su vez en
subcategorías. Por el momento sólo se ha implementado la sección [OCIO Y CULTURA] con las subcategorías <libros> y
<música> puesto que el proceso de codificación de las restantes categorías sería similar.
Para cada tipo de artículo, se muestra, en principio, un listado completo ordenado por subcategoría. El resultado se
mostrará paginado, en este caso el tamaño de artículos por página es de 3. Cada ítem del listado contiene un pequeño
resumen informativo sobre el artículo que podrá ampliarse pinchando en el vínculo <Leer más>.
4
6. La página de detalle de un artículo ofrece una descripción más amplia del producto.
Para agilizar la localización de un artículo(s) determinado(s) dentro de un tipo de producto, se han implementado unas
herramientas de búsqueda que permiten filtrar los resultados por un cierto(s) criterio(s).
Cata tipo de producto contará con un buscador genérico que buscará una cadena de texto en varios de los campos que
describen al artículo y un buscador más específico que nos permitirá afinar más la búsqueda.
Buscador Genérico (ejemplo para la subcategoría <Libros>)
Buscará la cadena de texto (criterio) escrita en la caja de texto de búsqueda en varios de los campos descriptivos del
<Libro> como isbn, título del libro, autor, editorial, descripción resumida. De esta forma las búsquedas serán más toscas
(mayor cantidad de resultados) cuanta menos información tengamos del libro que queremos localizar puesto que la
cadena de búsqueda será más ambigua, y más precisas a medida que el criterio de búsqueda sea más específico. Por ej.
si como criterio de búsqueda ponemos el nombre de un autor, se mostrarán todos los libros disponibles de ese autor,
pero si ponemos el isbn de un libro localizará concretamente el libro que se corresponda con ese isbn puesto que es
único.
Buscador Específico (ejemplo para la subcategoría <Libros>)
En este caso podemos realizar búsquedas de libros por tema y subtema.
5
7. Las dos listas, tema y subtema, están en correspondencia de forma que si en el primer combo seleccionamos un tema
concreto (por ej. Informática), el segundo combo cargará los subtemas relacionados (Base de Datos, Programación), lo
cual nos permitirá filtrar un conjunto de libros que sea de nuestro interés.
Carrito (Cesta de la Compra)
El carrito de la compra permite al cliente ir almacenando aquellos artículos que son de su interés en el proceso de
compra (navegación y selección de productos en catálogo). Esta herramienta permite al cliente visualizar en todo
momento un listado agrupado de los productos que desea comprar y realizar ciertas operaciones sobre ese listado:
a) Incrementar o decrementar las unidades de un producto.
b) Eliminar un artículo concreto.
c) Vaciar la Cesta cancelando la lista temporal.
Para cada actualización sobre el carrito se recalcularán las cantidades parciales y totales a pagar.
Tramitación del Pedido
Una vez que el cliente está satisfecho con los artículos que desea comprar puede comenzar a tramitar su pedido pulsando
en el botón de comando <Tramitar Pedido> del carrito.
En este punto pueden ocurrir dos cosas, o bien que el cliente ya esté registrado con lo cual para seguir adelante en el
proceso de tramitación del pedido bastaría con identificarse mediante su cuenta de acceso (email y contraseña), o bien
que se trate de un nuevo cliente que deberá registrarse antes de poder continuar con el proceso.
6
8. En el proceso de registro el usuario tendrá con cumplimentar un formulario que consta de dos bloques principales, sus
datos de acceso (email y contraseña) y los datos de facturación que incluye la identificación de la empresa o profesional
y su dirección. Esta dirección será tomada por defecto como dirección de envío para los pedidos pero podrá ser
modificada de forma independiente para cada pedido que realice este cliente.
Una vez que el cliente está registrado puede continuar con la tramitación del pedido identificándose con los datos de
acceso obtenidos.
Tras la identificación el usuario accede a la información de su pedido compuesto en principio por los datos de compra
junto con los datos de facturación.
7
9. Los datos de facturación facilitados en el proceso de registro podrán ser ahora modificados si así lo desea el cliente.
También se podrá seleccionar la forma de pago (contrareembolso o ingreso en cuenta) y el tipo de envío (correo o
mensajería). De esta elección, junto con el peso del artículo dependerá el cálculo de los gastos de envío que se sumarán al
coste del pedido.
El cliente puede realizar tres operaciones sobre un pedido:
a) Cancelarlo, con lo cual se anulará el pedido y su cesta de la compra.
b) Actualizar Pedido, pudiendo modificar los datos de envío, forma de pago y tipo de envío.
c) Aceptar Pedido, con lo cual el pedido se procesará y será guardado en la base de datos para su posterior
seguimiento.
Queda pendiente en este punto implementar el envío automático al email del cliente de un mensaje de correo con la
información de su pedido, previa comprobación de existencias.
8
10. Administración de la Tienda
A la parte de administración de la tienda se accede por una URL distinta a la de la parte cliente ya que se ha preferido, por
seguridad, no habilitar en la parte cliente ningún acceso a este área restringida, de forma que no haya conexión entre
ambas zonas.
Por tanto accedemos a la zona de gestión de la tienda mediante la URL: http://localhost/TVProjectV00/admon/admin.php
Lo que nos sitúa en la página de control de acceso de usuarios administradores. Para que un usuario sea validado tendrá
que estar dado de alta en la tabla <administradores> de la base de datos.
Tras la identificación accedemos al Panel de Control de Gestión de la tienda, desde donde se podrán administrar distintos
procesos como seguimiento de pedidos, correo de clientes, dar de alta-modificar-borrar productos, gestión de cuentas de
clientes y de administradores de tienda.
9
11. A cada área de gestión se accederá a través del botón de comando correspondiente situado en el menú vertical
izquierdo.
Tal como se comentó anteriormente, se ha implementado por el momento parte de la gestión de pedidos, el resto queda
pendiente de implementación ya que requiere una enorme cantidad de tiempo.
Implementación de la Base de Datos
La figura muestra el modelo relacional de base de datos que da soporte a la tienda. Como se observa, por el momento
está compuesta por seis tablas relacionadas (integridad referencial). La base de datos tendrá que ampliarse a medida que
se dote de más funcionalidades a la tienda, pero por el momento se corresponde con la parte implementada de la
aplicación.
Explicación del modelo: Por un lado están las tablas que sirven de almacén para los productos de la tienda, <categorias> y
<articulos>. Puesto que una categoría puede contener varios artículos su relación es de 1:n. El árbol de categorías y
subcategorías se almacena en la tabla <categorias> considerando para cada nueva categoría la categoría padre
(idCategoriaPadre) a la que pertenece. Respecto a la tabla de artículos se ha optado por el momento por una sola tabla
para almacenar los distintos tipos de artículos. Esta tabla contiene unos campos que son comunes a todo tipo de artículo
(nombre, descripción breve, descripción detallada, precio, imagen pequeña, imagen ampliada, peso, iva, existencias,
conjunto, subconjunto, etc) y otros campos genéricos (itemText01,itemText02,itemMemo01,itemNum01,etc) que contendrán
aquellos campos de cada tipo de artículo que sean distintos de los comunes.
Respecto a los pedidos un cliente podrá realizar varios pedidos 1:n y un pedido a su vez contiene varias lineas de pedido
(varios artículos).
Por último la tabla de <administradores> contiene las cuentas de usuario de los gestores de la tienda virtual.
10
12. Listado del programa (manual del desarrollador)
A continuación se comentan los aspectos más interesantes de los ficheros del programa. La estructura de ficheros de la
aplicación sigue un modelo similar al del libro de texto del curso. El conjunto de ficheros que dan funcionalidad a la parte
cliente y de administración, están agrupados en sus respectivas carpetas <cliente> y <admon>. Las otras dos carpetas
importantes <biblioteca> y <css> son de uso común a ambas zonas.
Parte Cliente -> Carpeta <cliente>
index.php
Este fichero implementa la página <Home> o de inicio de la aplicación.
Los aspectos más interesantes son por un lado la visualización de la fecha y hora que se actualiza automáticamente sin
necesidad de refrescar la página. El código javascript está implementado en el fichero <fecha-hora.js> (archivo
encontrado en internet) donde básicamente el refresco de hora se realiza mediante la función setTiemout
<setTimeout("horaActual()",1000)>.
Por otro lado se implementa el menú de navegación principal de la aplicación. Se trata de un menú horizontal
implementado con una lista html a la que se le ha aplicado estilos css para que la lista tome aspecto horizontal y cada
ítem del menú cambie de color al situar el ratón encima (ver estilos para menú de navegación horizontal del archivo
<estilos.css>).
11
13. index.php
catalogo.php
Este fichero implementa el catálogo de artículos con sus distintos tipos de productos. Como aspectos importantes está
por una parte el árbol de categorías y subcategorías de artículos cuya estructura se muestra a continuación:
12
14. La implementación de esta estructura se realiza mediante una función recursiva. Partiendo de la categoría raíz (0), la
función va recorriendo y entrando de forma recursiva en cada nivel y subnivel del árbol.
Por otro lado la distinción entre los distintos tipos de artículos se realiza mediante una estructura de tipo switch-case
switch($_REQUEST["idCategoria"]), de forma que dependiendo de la categoría que se haya pasado como parámetro
ejecutará el código correspondiente. Por el momento sólo se han implementado los casos para las subcategorías 45
(libros) y 46 (discos) de la categoría <OCIO Y CULTTURA>, siendo el proceso repetitivo para las demás categorías.
La operativa para cada tipo de artículo se implementa en su clase correspondiente con sus propiedades y métodos. Por
tanto la funcionalidad para la categoría libros estará basada en un objeto de la clase libro, los discos en un objeto de la
clase disco y así sucesivamente.
Si tomamos como ejemplo el tipo de artículos <libros> (los procesos son similares para cualquier otro tipo de producto),
tenemos que en el catálogo se dan ciertos tipos de operaciones comunes:
a) Si no existe ningún tipo de filtrado, se mostrará un listado completo ordenado primero por tema y luego por subtema. El
resultado aparecerá paginado con un tamaño de tres artículos por página (el tamaño de paginación es configurable). La
paginación se basa en la cláusula LIMIT utilizada para restringir el número de registros retornados por el comando
SELECT tal como se implementa en el método siguiente de <class libro>.
13
15. b) Existen dos tipos de filtros, un buscador genérico y un buscador avanzado que para el caso de <libros> se implementan
en el código siguiente:
Buscador genérico: Corresponde a un método de <class libro> y básicamente busca un patrón (cadena de texto) en varios
campos del artículo de la categoría correspondiente.
Buscador Avanzado: Para el caso de <libros> el buscador avanzado se basa en un par de combos correlacionados de
forma que el tema seleccionado en el primer combo carga las materias relacionadas en el segundo combo.
Los combos se cargan mediante los métodos de <class libro>, getTemas() y getMaterias($Tema). Una vez que
seleccionamos tema y subtema en los combos, el filtrado se realiza a través del método de <class libro> siguiente:
14
17. libro_descripcion.php – disco_descripcion.php – etc...
Los ficheros de descripción de un artículo determinado muestran un zoom o descripción más detallada de un artículo
concreto seleccionado de un listado. Los listados de productos muestran de forma resumida las características más
importantes de un artículo, sin embargo podremos ampliar esta información mediante los ficheros objeto_descripción.php
que ayudarán al cliente a decidir de forma más exacta si le interesa o no el producto antes de añadirlo a la cesta de la
compra.
16
18. libro_descripcion.php
Como se observa, básicamente y para el caso de <libro> (sería similar para cualquier otro tipo de objeto), se recupera
mediante el método leerLibroParam($idLibro) de <class libro> el libro del que queremos hacer un zoom y lo mostramos
mediante la función mostrarLibroZoom($arrayLibros).
17
19. carrito.php
El carrito o cesta de la compra basa su operativa en un objeto de la clase <class carrito>. En este caso se ha optado por
implementar el carrito de forma distinta a la expuesta en el libro de texto, ya que en lugar de utilizar una clase para cada
tipo de artículo he preferido utilizar una estructura de arrays tal como se muestra a continuación.
Cursor ($num_articulos)
idArticulo (array) 0 1 2 ------------------------------ n
nombre (array) ------------------------------
0 1 2 n
precioUnidad(array) 0 1 2 ------------------------------ n
------------------------------------------------------------
------------------------------------------------------------
0 1 2 ------------------------------ n
Articulo1 ArticuloN
Articulo2
De esta forma se crea un array para cada campo del artículo en el carrito. Cada vez que se inserta un nuevo artículo se
desplaza el cursor una posición en el conjunto de arrays.
La clase carrito contiene métodos que permiten:
a) Añadir un nuevo artículo. Cada vez que se añade un artículo es necesario llamar a los métodos para recalcular
los totales, tanto parciales (de línea) como finales.
b) Eliminar un nuevo artículo: Hay que destacar que el borrado de un artículo es un borrado lógico (se marca con
0 el objeto eliminado) y por tanto no se borra físicamente dicho producto.
c) Como consecuencia de lo anterior se necesita un método que recuente la cantidad de artículos real,
discriminando aquellos marcados con 0.
18
21. Otro aspecto muy importante respecto al carrito, es que el objeto de la clase carrito que se crea se almacena en una
variable de sesión. Esto nos permite disponer del carrito desde cualquier parte de la aplicación, tanto para seguir
añadiendo artículos desde cualquier parte del catálogo, como posteriormente para añadir a los datos del cliente cuando
se realiza un pedido.
La variable de sesión carrito se destruirá cuando el usuario vacía su carrito o al aceptar un pedido ya que los datos se
vuelcan a la base de datos.
20
23. registroCliente.php
Como se comentó en la descripción general del programa, para que un cliente pueda tramitar un pedido, es necesario que
esté dado de alta en la base de datos de clientes. En este proceso el usuario o empresa facilita unos datos de acceso y los
datos de facturación o dirección de envío. Finalizado el proceso de alta el cliente obtiene una cuenta de usuario (email,
password) que le permitirá por un lado identificarse y por otro que se carguen sus datos por defecto en la tramitación de
un pedido.
El fichero consta de un formulario dividido en dos secciones, datos de acceso y datos de facturación, que un cliente
particular o una empresa han de cumplimentar.
Otro aspecto a destacar es la validación de datos insertados en el formulario. Esta validación se realiza mediante
JavaScript, comprobando que se rellenan los campos obligatorios, que el email tiene una sintaxis mínimamente correcta,
que la clave y su confirmación son coincidentes, etc.
Si todo es correcto se envían los datos del formulario y a través del método addCliente($clienteValues) de <class cliente>,
se añade el nuevo cliente a la base de datos mediante una sentencia INSERT.
22
27. tramitarPedidoLogin.php
En este fichero es donde se identifica el cliente (1ª fase del proceso de tramitación) para poder tramitar su pedido. Si no
está registrado (cliente nuevo) se le facilita un enlace para acceder a la página de registro.
Se trata de un formulario de autenticación que valida los datos de entrada. Se comprueba que no se deje ningún campo
en blanco, que la sintaxis del email sea mínimamente correcta, que exista el usuario y que su clave coincida con la
almecenada en la base de datos.
Tras la validación del formulario se mostrará un listado con los errores en caso de existir o bien si todo es correcto se
pasará a la siguiente fase de la tramitación.
Un aspecto importante a tener en cuenta es que si el cliente se valida con éxito se crea una variable de sesión
$_SESSION["autenticado"]= "SI". Esta variable se usa para evitar que un usuario pueda acceder por URL a páginas que
requieren que previamente se haya identificado.
//COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO=======================================
if ((!isset($_SESSION["autenticado"])) or ($_SESSION["autenticado"] != "SI"))
{
header ("Location: index.php");
}
26
29. finalizarPedido.php – grabarPedido.php
En estos fichero es donde se crea el pedido anexando los datos de la cesta de la compra a los datos del cliente. Por
defecto se cargan los datos de facturación que el cliente facilitó cuando se registró. El cliente tiene la posibilidad de
actualizar los datos de envío para el pedido en curso, seleccionar el tipo de envío y la forma de pago. En función del tipo de
envío y peso del artículo se calcularán los gastos de envío mediante un algoritmo.
El pedido se crea basándose en un objeto de <class pedido> y puesto que existe integridad referencial en la base de datos
entre las tablas <pedidos> y <lineaPedido>, es necesario insertar primero los datos de pedido y luego los datos del carrito
que conforman las lineas de pedido.
28
35. Parte de Administración -> Carpeta <admon>
admin.php
En este fichero se valida que el usuario administrador que pretende acceder a la zona de gestión de la tienda esté dado
de alta en la base de datos en la tabla de administradores (login,passwd).
Si la autenticación es correcta, se crea y activa la variable de sesión $_SESSION["auth_admin"]= 1.
Esta variable se utilizará posteriormente en todas las demás páginas de la zona de administración para evitar accesos
indebidos por URL a páginas que requieren de una previa identificación.
//COMPRUEBA QUE EL USUARIO ADMINISTRADOR ESTA AUTENTICADO
if ((!isset($_SESSION["auth_admin"])) or ($_SESSION["auth_admin"] != 1))
{
header ("Location: admin.php");
}
34
38. admin_ControlPanel.php
Se ha implementado el esqueleto del Panel de Control desde donde se gestionarán todas las operaciones de
administración de la tienda (Correo Entrante, Clientes, Administradores, Seguimiento de Pedidos, Gestión de Artículos,...).
admin_ControlPanel.php
37
41. Se utiliza una estructura de tipo switch-case (switch($_SESSION['OPCION'])), para que se interprete el código de la
operación de gestión seleccionada en la botonera del menú izquierdo.
La sección de pedidos está implementada en parte, y por el momento se pueden filtrar pedidos por empresa o profesional,
restringiendo además por el estado del pedido (En Proceso, Anulado, Pagado, Cualquier Estado).
40
42. Ficheros de Biblioteca y configuración-> Carpeta <biblioteca>
Esta carpeta contiene el fichero <clases.php> que agrupa todas las clases utilizadas en la aplicación a excepción de la
clase carrito que se implementa en un fichero aparte. Las clases libro, disco, cliente, pedido, administrador, contienen
métodos muy intuitivos y prácticamente su funcionalidad se autoexplica por el nombre del método, por lo que no
considero necesario describir cada uno de ellos.
Una clase especial es <class conexion> que nos permite conectarnos a la base de datos de la tienda facilitando los
parámetros: servidor, base de datos, usuario y contraseña. Esta clase nos permite crear en cualquier momento y en
cualquier parte de la aplicación un objeto de la misma para interactuar con la base de datos.
La clase además implementa el método, public function consulta($consulta), que nos permite lanzar una consulta SQL a la
base de datos devolviendo el resultado de la misma.
El fichero de funciones <funciones.php> agrupa una serie de funciones donde la mayor parte de ellas son funciones de
interfaz que sirven para mostrar resultados (mostrar libros, mostrar discos, mostrar el detalle de un libro o de un disco,
visualizar el carrito, etc).
También contiene algunas funciones de validación y las funciones para crear el árbol de categorías y para calcular los
gastos de envío de un pedido en función del peso del artículo y el tipo de envío seleccionado.
El fichero <configurador.php> contiene la definición de los parámetros de configuración de la aplicación de forma
centralizada. Por el momento están definidas las rutas a las carpetas de imágenes y el tamaño de página utilizado por el
paginador de artículos.
<?php
//Ruta a la imágines de la tienda virtual
DEFINE("PATHIMGTV","/TVProjectV00/imagenes/imgTV/");
DEFINE("PATHIMGAPP","/TVProjectV00/imagenes/imgAPP/");
//Bloque de páginas por página (Paginador)
DEFINE("TAMANO_PAGINA",3);
?>
41
59. Herramientas utilizadas para el desarrollo del programa
Entorno Completo de Desarrollo: XAMPP para Windows Version 1.6.8
Editor HTML: Macromedia DREAMWEAVER 8
PHP Version 5.2.6
Gestor Web de Bases de Datos: phpMyAdmin - 2.11.9.2
Servidor Web: Apache/2.2.9 (Win32)
Servidor de Base de Datos (MYSQL): Versión 5.0.67-community-nt
Aplicación para diseño de Bases de Datos: DB Designer 4
Conclusiones, Limitaciones del Programa y Reflexiones finales
Las limitaciones del programa se deben sobre todo a la falta de tiempo para el desarrollo completo del mismo. A
continuación se enumeran algunos aspectos a completar en un futuro:
1) Control automático de existencias de artículos.
2) Crear una sección de productos en oferta.
3) Permitir comunicación entre clientes y responsables de la tienda a través de mensajes de correo.
4) Mejora de la gestión de excepciones y errores.
5) Envío automático de email al cliente con información del pedido que ha realizado.
6) Mejorar los aspectos de seguridad creando usuarios mysql con privilegios limitados.
7) Implementar la forma de pago mediante PayPal.
8) Completar la parte de Administración de la tienda.
9) Implementar SSL.
10) Y otros muchos aspectos,...
Respecto al curso el material del mismo es muy interesante, y en la parte negativa resaltar la poca actividad que ha
tenido el foro (falta de dinamización).
58