2. REVISIÓN BIBLIOGÁFICA 1 Antecedentes
2.4. Técnicas de Diseño de Diagramas y Casos de Uso
2.5.2 La Plataforma PHP
Con plataforma nos referimos al ambiente de hardware y software en donde el programa se ejecuta, por ejemplo, plataformas como Linux, Solaris, Windows 2003. En casi todos los casos las plataformas son descritas como la combinación del sistema operativo y el hardware.
En las tecnologías WAMP esto se consigue mediante la unión de las siguientes tecnologías:
Windows, el sistema operativo.
Apache, el servidor web.
MySQL, el gestor de bases de datos.
- 24 -
La combinación de estas tecnologías es usada para definir la infraestructura de un servidor web.
El uso de un WAMP permite servir páginas HTML a internet, además de poder gestionar datos en ellas, al mismo tiempo un WAMP, proporciona lenguajes de programación para desarrollar aplicaciones web.
LAMP es el sistema análogo que corre bajo ambiente Linux.
WAMP es el sistema análogo que corre bajo ambiente Windows.
MAMP es el sistema análogo que corre bajo ambiente Macintosh.
Apache HTTP Server.- El servidor HTTP Apache es un servidor web libre y de código abierto, el más popular en cuanto a uso, sirviendo como plataforma de referencia para el diseño y evaluación de otros servidores web.
MySQL.- Es un Sistema de Gestión de Bases de Datos (SGBD) relacional, que por lo tanto utiliza SQL, multihilo y multiusuario del que se estiman más de un millón de instalaciones.
PHP.- (acrónimo recursivo de "PHP: Hipertext Preprocessor") es un lenguaje de programación diseñado para producir sitios web dinámicos. PHP es utilizado en aplicaciones del lado del servidor, aunque puede ser usado también desde una interfaz de línea de comandos o como aplicación de escritorio.
- 25 - 2.5.3 Arquitectura MVC
Esta arquitectura como describen sus siglas se basa en:
Modelo.- Básicamente clases orientadas a la interacción con la base de datos. Vista.- Todo lo que se mostrará, es decir la parte del diseño. Controlador.- Es la parte donde se maneja el modelo y se invocan las vistas, el que arma todo el asunto como diría.
Figura 2.15 Arquitectura MVC
Fuente:Desarrollo Software [En línea] 2012 [Consultado el 20 de Junio del 2012]. http://www.rincondeloajeno.com/php-y-la-arquitectura-mvc/
Modelo.- Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado.
- 26 -
Vista.- Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
Controlador.- Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.
La unión entre capa de presentación y capa de negocio conocido en el paradigma de la Programación por capas representaría la integración entre Vista y su correspondiente Controlador de eventos y acceso a datos, MVC no pretende discriminar entre capa de negocio y capa de presentación pero si pretende separar la capa visual gráfica de su correspondiente programación y acceso a datos, algo que mejora el desarrollo y mantenimiento de la Vista y el Controlador en paralelo, ya que ambos cumplen ciclos de vida muy distintos entre sí.
De hecho, este patrón separa el código en tres capas:
2.5.3.1 Capa Modelo
Esta capa se encarga de interactuar con la base de datos y también se ejecuta las reglas de negocio.
2.5.3.2 Capa Controlador
El Controlador procesa las peticiones de la página web (vista), y envía estos datos a la capa modelo, para que esta le devuelva la información adecuada para mostrarla en la capa vista.
- 27 - 2.5.3.3 Capa Vista
La vista es el código HTML que se muestra al usuario, con la información proveniente del controlador.
2.5.3.4 Tecnología Web
Para el desarrollo de aplicaciones de negocio se utiliza frecuentemente el patrón de diseño MVC Modelo Vista Controlador (Model View Controller) que además es sencillo de implementar en las aplicaciones Web. En este patrón el modelo es modificable por las funciones de negocio. Estas funciones son solicitadas por el usuario mediante el uso de un conjunto de vistas de la aplicación que solicitan dichas funciones de negocio a través de un controlador, que es el módulo que recibe las peticiones de las vistas y las procesa. Se suele clasificar en dos tipos a las aplicaciones basadas en MVC:
Tipo 1.- Las vistas conocen la acción que se va a invocar en su petición, normalmente la función esta cableada dentro de la vista.
Tipo 2.- El controlador introduce un conjunto de reglas que mapean a las peticiones con las funciones, controlando además el flujo de navegación por la aplicación.
2.5.3.5 ¿Porqué utilizar MVC?
El fácil mantenimiento de código en un futuro, ya que al estar separadas los distintos procesos según su tipo.
Si quisiéramos por ejemplo cambiar de tipo de base de datos, solo tendremos que cambiar la capa modelo.
- 28 - 2.5.3.5.1 Ventajas de MVC
Las principales ventajas de la arquitectura MVC son:
La separación del Modelo de la Vista es decir, separar los datos de la representación visual de los mismos.
Es mucho más sencillo agregar múltiples representaciones de los mismos datos o información.
Facilita agregar menos tipos de datos según sea requerido por la aplicación ya que son independientes del funcionamiento de las otras capas.
Crea independencia de funcionamiento.
Facilita el mantenimiento en caso de errores.
Ofrece maneras más sencillas para probar el correcto funcionamiento del sistema.
Permite el escalamiento de la aplicación en caso de ser requerido.
2.6. Servidor Web Apache