• No se han encontrado resultados

Herramientas y lenguajes a ocupar en

CAPITULO III: HERRAMIENTAS Y DESCRIPCIÓN DEL SITIO

3.2 Herramientas y lenguajes a ocupar en

Como se menciona el sitio web tiende hacer dinámico puesto que requiere de sesiones, conexiones a base de datos, validaciones de formularios, sliders de imágenes, menú, etc.

Es por eso, que haciendo una comparativa entre los lenguajes que podemos ocupar se realiza la selección de 6 lenguajes y un servidor web que más adelante se explicará el por qué de esta selección. Estos lenguajes son los siguientes, cabe destacar que se requiere de una combinación de los 6 para poder lograr la funcionalidad del sitio:

1. PHP. 2. HTML. 3. JavaScript. 4. Ajax. 5. Mysql. 6. Css. 7. XAMPP.

En la siguiente tabla podemos observar las características de lenguajes considerados como los mejores para el diseño web:

Tabla 2. Ventajas y desventajas de cada lenguaje

Lenguaje Ventajas Desventajas HTML  Sencillo que permite describir

hipertexto.

 Texto presentado de forma estructurada y agradable.

 No necesita de grandes

conocimientos cuando se cuenta con un editor de páginas web o WYSIWYG.

 Archivos pequeños.

 Despliegue rápido.

 Lenguaje de fácil aprendizaje.

 Lo admiten todos los exploradores.

 Lenguaje estático.

 La interpretación de cada navegador puede ser diferente.

 Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la corrección.

 El diseño es más lento.

 Las etiquetas son muy limitadas.

JavaScript  Lenguaje de scripting seguro y fiable.

 Los script tienen capacidades limitadas, por razones de seguridad.

 El código Javascript se ejecuta en el cliente.

 Código visible por cualquier usuario.

 El código debe descargarse completamente.

 Puede poner en riesgo la seguridad del sitio, con el actual problema llamado XSS (significa en inglés Cross Site Scripting renombrado a XSS por su similitud con las hojas de estilo CSS)

PHP  Muy fácil de aprender.

 Se caracteriza por ser un lenguaje muy rápido.

 Soporta en cierta medida la orientación a objeto. Clases y herencia.

 Es un lenguaje multiplataforma: Linux, Windows, entre otros.

 Capacidad de conexión con la mayoría de los manejadores de base de datos: MySQL,

PostgreSQL, Oracle, MS SQL

 Se necesita instalar un servidor web.

 Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las

solicitudes aumenten de número.

 La legibilidad del código puede verse afectada al mezclar sentencias

Server, entre otras.

 Capacidad de expandir su potencial utilizando módulos.

 Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.

 Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

 Incluye gran cantidad de funciones.

 No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

HTML y PHP.

 La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.  Dificulta la modularización.  Dificulta la organización por capas de la aplicación.

ASP.NET  Completamente orientado a objetos.

 Controles de usuario y personalizados.

 División entre la capa de

aplicación o diseño y el código.

 Facilita el mantenimiento de grandes aplicaciones.

 Incremento de velocidad de respuesta del servidor.

 Mayor velocidad.

 Mayor seguridad.

Mayor consumo de recursos.

Flash Reluce la vista de cualquier sitios web pues sus animaciones son muy

llamativas y de carisma agradable

Genera problemas en cuestión de tiempo pues genera que un sitio web tarde más en cargar la aplicación, además que los dispositivos móviles no soportan esta tecnología

Para la elección de los lenguajes anteriormente mencionados y considerando los puntos de la tabla anterior se describen los siguientes parámetros:

3.2.1 PHP

 No requiere de costos, pues es un lenguaje libre, a diferencia de asp.net, además de que es un lenguaje multiplataformas adaptable a las más conocidas. En nuestro caso la plataforma de utilización es dreamweaver. .

 Nos brinda seguridad puesto que toda su información se maneja dentro del servidor ya que es él, quien se encarga de ejecutar las instrucciones y enviarlo mediante HTML (ESTO ES ALGO CONVENIETE PARA EL DESARROLLO DEL SITIO YA QUE LA TODA LA INFORMACIÓN DE LA BASE DE DATOS NO ES TAN FÁCIL DE OBSERVARSE MEDIANTE EL NAVEGADOR)

 Su conexión con diferentes motores de base de datos, es demasiado práctica y sencilla, abre el panorama a la elección, pues si en algún momento se requiere la migración de la base de datos a un nuevo motor la conexión es más simple y sin tantas complicaciones.

 Mayor documentación en su página, donde podemos apoyarnos para observar la funcionalidad de este mismo.

3.2.2 HTML

Se utiliza para el desarrollo de texto dentro del sitio a demás de poder estructurar correctamente todas las secciones del mismo, su utilización dentro del desarrollo es de gran importancia pues a través de él podemos hacer uso de otros lenguajes en este caso PHP, JavaScript y AJAX.

3.2.3 JAVASCRIPT

Principalmente su utilización dentro de la estructura del diseño, es para mejorar las interfaces que se presentan a lo largo de la navegación de la página web, anteriormente se mencionan desventajas como tal como la publicación de todo su contenido, pero para esta aplicación solo se maneja para dar mayor dinamismo y validación de los formularios, también se maneja para relucir la página con presentación de sliders y muchos detalles más como mensajes de alertas etc.

Por lo general en esté siglo XXI podemos encontrar un mundo de información o scripts ya realizados en este lenguaje solo para su aplicación dentro de cualquier desarrollo web.

3.2.4 AJAX

Simplemente es el complemento necesario para relucir las características dinámicas que el sitio nos presenta, el principal motivo de su utilización es porque se maneja en conjunto de JavaScript.

3.2.5 SERVIDOR XAMPP

Figura 4. Complementos servidor XAMPP

Existe diversos servidores que son de gran utilidad para el montaje de una aplicación web, entre los más conocidos se encuentran: LAMP Y WAMP. Se opta por trabajar con ellos ya que son software libres que además contiene herramientas demasiado útiles para complementar nuestro desarrollo web.

Tienen las mismas características, es decir, los tres se conforman por aplicaciones conjugadas que son el servidor Apache, todo el interprete del leguaje PHP y como extra contienen el motor de bases de datos MySQL.

Se toma la decisión de optar por el servidor XAMPP ya que su principal característica extra, es, que puede ser operado en cualquier sistema operativo, los otros dos funciona de la misma forma en su sistema operativo correspondiente.

Ahora de manera rápida se explicará la función de cada uno de las aplicaciones del servidor XAMPP mencionadas anteriormente:

APACHE: es un servidor de código abierto que está basado en protocolos HTTP y HTTPS para la publicación de sitios web estáticos y dinámicos.  PHP: Básicamente es el intérprete del lenguaje, es decir, contiene las

librerías para que el servidor compile el código, realice las instrucciones y sean enviadas como lenguaje HTML.

MYSQL: Es el motor de la base de datos que nos permitirá la creación de tablas dinámicas o cualquier otro tipo, para el resguardo de la información importante a manejar. A demás que al instalar este paquete nos brinda la oportunidad de manejar las bases en forma gráfica sin necesidad de meterse a programar verdaderamente una base de datos, lo cual hace más sencillo su elaboración y las bases pueden ser migradas si es necesario.

Es importante hacer mención que aparte de estas ventajas mencionadas, el servidor XAMPP, nos brinda la oportunidad de poder hacer las configuraciones pertinentes para poder realizar envíos de mail mediante PHP, claro está que para este proceso se necesita contar con un servidor de correo electrónico si su utilización es a nivel empresarial, o bien una simple cuenta de correo si su utilización es de manera personal (ver anexo manual de configuración para el servidor de correo electrónico).

3.2.6 Modelo de bases de datos.

Para el funcionamiento del presente desarrollo web es fundamental la utilización de base de datos, para el resguardo, modificación y publicación de información a la que los administradores podrán tener acceso.

Como se menciona anteriormente se utiliza el motor de base de datos MySQL, pues es un complemento del servidor utilizado,. A demás de poder utilizar las bases creadas en otro motor de base de datos es decir se pueden migrar.

En el desarrollo de este diseño solo se requiere de una base de datos la cual contiene cuatro tablas, dos de ellas individuales y otras dos relacionadas la base de datos tiene por nombre “hotel”. La primera tabla tiene por nombre “huéspedes”, se diseña para el resguardo de la información de los usuarios, es decir todos los datos personales como nombres, apellidos, teléfonos, direcciones, habitación donde está hospedado, nombre de usuario y contraseña para poder identificarse en la página, a demás de tener una relación con la tabla petición para poder identificar en esa tabla quien es la persona que realiza dicha solicitud.

La segunda y tercer tabla están relacionadas, el nombre de la primera es de “servicios” y la segunda “opciones”, es decir la primer| tabla solo contiene dos campos que es el identificador y el nombre del servicio, la otra tabla contiene las opciones disponibles de cada servicio presentado, contienen campos como nombre del servicio, descripción, precio, imagen, y el identificador para la relación con la tabla anterior, mejor dicho el ID del servicio de la primer tabla está relacionado con el identificador de la tabla opciones, de manera que por cada servicio se podrán relacionar cuantas opciones sean necesarias. Esta relación se realiza para poder modificar, eliminar o crear servicios de una forma dinámica. Caber destacar que la tabla opciones también tiene relación con la tabla petición, pues en esta tabla se ingresa la información solicitada.

La última tabla maneja la información de las solicitudes realizadas por los usuarios, es decir, a través de las relaciones antes mencionadas esta tabla contiene por relación información del usuario e información de la solicitud pretendida. La tabla petición solo es visualizada por los administradores para tener el control de todas las peticiones realizadas y poder cumplir su objetivo que es atender dicha solicitud en tiempo y adecuadamente.

En la figura 6 se puede observar el funcionamiento de las tablas y como se relacionan entre ellas.

huespedes ID nombre apellidop apellidom edad domicilio cuenta telefono celular email email_alt fechai fechas habitacion tipo_usuario usuario password pago_actual pago_total deuda opciones ID nombre descripcion precio descripcion_precio imagen identificador Servicios ID servicios peticion ID usuario nombrepet comentario horario atendido

Figura 5. Relación entre las tablas de registros.

Aclarando este punto de la funcionalidad, cuantas tablas son y sus nombres, se harán mención de esta base durante todo el desarrollo web, es decir, en los temas posteriores.

3.2.7 CSS.

CSS es un lenguaje de estilo que define la presentación de los documentos HTML. Por ejemplo, CSS abarca cuestiones relativas a fuentes, colores, márgenes, líneas, altura, anchura, imágenes de fondo, posicionamiento avanzado y muchos otros temas.

Es posible usar HTML, o incluso abusar del mismo, para añadir formato a los sitios web. Sin embargo, CSS ofrece más opciones y es más preciso y sofisticado. CSS está soportado por todos los navegadores hoy día.

Documento similar