Unidad1PHP N

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Departamento de informática y comunicaciones

Desarrollo web en entorno servidor

Selección de
arquitecturas y
herramientas de
programación
Unidad 1
Yolanda Iglesias Suárez

DAW
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

Contenido
0.- Actitud Vs Aptitud, ¿Con qué se quedan en el trabajo? ......................................................3
UNIDAD 1. Selección de arquitecturas y herramientas de programación. ..............................3
1.- Introducción a la web como medio de comunicación .........................................................3
1.1 Web es un sistema Hipertexto/Hipermedia ........................................................................3
1.2. Páginas estáticas vs páginas dinámicas. ..............................................................................4
2.- Páginas dinámicas ..............................................................................................................................5
3.- Tecnologías para programación web del lado del servidor. ..............................................8
4.- Arquitecturas y plataformas. ..........................................................................................................9
5.- Lenguajes Web de servidor ......................................................................................................... 10
5.1.- PHP................................................................................................................................................ 10
5.2.- JSP, Java Server Pages ........................................................................................................... 11
6.- ¿Qué es un framework? ................................................................................................................ 13
7.- Software a usar a lo largo del curso ......................................................................................... 14
7.1 -Apache .......................................................................................................................................... 14
7.2.- MySQL.......................................................................................................................................... 16
7.3- PHP................................................................................................................................................. 18
7.4.- Laravel .......................................................................................................................................... 20

Profesora: Yolanda Iglesias Suárez


2
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

0.- Actitud Vs Aptitud, ¿Con qué se quedan en el trabajo?


La aptitud es la capacidad de una persona para realizar adecuadamente una acción o
tarea. Esta está estrechamente relacionada con la inteligencia y con las habilidades
tanto innatas como adquiridas, fruto de un proceso de aprendizaje.

La actitud, en cambio, es la forma de actuar de una persona, es decir, el


comportamiento que emplea un individuo para hacer las labores.

Y es que la actitud frente al trabajo es lo que diferencia a un profesional de otro.


Muchas aptitudes pueden ser adquiridas (con una buena actitud), en cambio, la actitud
en la mayoría de ocasiones es algo innato, forma parte de la personalidad y de la
manera de ser de las personas.

Por lo tanto, si me preguntas, ¿eliges aptitud o actitud?, sin duda elijo ambas, pero le
doy más importancia a la actitud. No cabe duda de que necesitas los conocimientos y
habilidades para desarrollar cualquier trabajo, pero creo que lo que finalmente te hace
decidirte por un candidato u otro a la hora de contratar a alguien es su actitud, su
predisposición al trabajo, su capacidad por afrontar situaciones, su manera incluso de
concebir la vida y de relacionarse con las personas.

Video: https://www.youtube.com/watch?v=n5mcIfmBLrg

UNIDAD 1. Selección de arquitecturas y herramientas de


programación.

1.- Introducción a la web como medio de comunicación

La web se encuadra dentro de Internet, no es más que un servicio de los muchos que
presta la Red, entre los que podemos encontrar

 Correo electrónico
 IRC o chat
 FTP
 El propio web

1.1 Web es un sistema Hipertexto/Hipermedia

El sistema con el que está construido el web se llama


hipertexto y es un entramado de páginas conectadas

Profesora: Yolanda Iglesias Suárez


3
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

con enlaces.

Los sistemas de hipertexto se utilizan en otros contextos aparte del web, como la ayuda
del Windows. Son muy fáciles de utilizar y también es muy fácil encontrar lo que
buscamos rápidamente, gracias a que pulsando enlaces vamos accediendo a la
información que más nos interesa.

La web no solo se limita a presentar textos y enlaces, sino que también puede
ofrecernos imágenes, videos, sonido y todo tipo de presentaciones, llegando a ser el
servicio más rico en medios que tiene Internet. Por esta razón, para referirnos al sistema
que implementa el web (hipertexto), se ha acuñado un nuevo término que es
hipermedia, haciendo referencia a que el web permite contenidos multimedia.

1.2. Páginas estáticas vs páginas dinámicas.

En la web podemos encontrar, o construir, dos tipos de páginas:

 Las que se presentan sin movimiento y sin funcionalidades más allá de


los enlaces.
 Las páginas en las que podemos interactuar.

Las primeras páginas son las que denominamos páginas estáticas, se construyen con el
lenguaje HTML, que no permite grandes florituras para crear efectos ni funcionalidades
más allá de los enlaces.

Estas páginas son muy sencillas de crear, aunque ofrecen pocas ventajas tanto a los
desarrolladores como a los visitantes, ya que sólo se pueden presentar textos planos
acompañados de imágenes y a lo sumo contenidos multimedia como pueden ser
videos o sonidos.

Cuando una página estática se descarga a tu ordenador, su contenido define qué


se debe mostrar en pantalla. Este contenido está programado en un lenguaje de
marcado, formado por etiquetas, que puede ser HTML o XHTML. Las etiquetas que
componen la página indican el objetivo de cada una de las partes que la componen.
Así, dentro de estos lenguajes hay etiquetas para indicar que un texto es un
encabezado, que forma parte de una tabla, o que simplemente es un párrafo de texto.

Además, si la página está bien estructurada, la información que le indica al navegador


el estilo con que se debe mostrar cada parte de la página estará almacenado en
otro fichero, una hoja de estilos o CSS.

Estos dos ficheros se descargan a tu ordenador desde un servidor web como respuesta

Profesora: Yolanda Iglesias Suárez


4
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

a una petición. El proceso es el que se refleja en la siguiente figura.

Los pasos son los siguientes:

1. Tu ordenador solicita a un servidor web una página con extensión .htm,


.html o .xhtml.
2. El servidor busca esa página en un almacén de páginas (cada una suele ser un
fichero).
3. Si el servidor encuentra esa página, la recupera.
4. Y por último se la envía al navegador del cliente para que éste pueda mostrar
su contenido.

Este es un ejemplo típico de una comunicación cliente-servidor. El cliente es el que


hace la petición e inicia la comunicación, y el servidor es el que recibe la petición y la
atiende. En nuestro caso, el navegador es el cliente web.

El segundo tipo de páginas se denomina página dinámica. Una página es dinámica


cuando se incluye cualquier efecto especial o funcionalidad y para ello es necesario
utilizar otros lenguajes de programación, aparte del simple HTML.

Las páginas dinámicas son más complejas y versátiles. Para aclarar este concepto,
veremos con detalle a continuación qué son las páginas dinámicas.

2.- Páginas dinámicas

Dentro de las páginas web dinámicas, es muy importante distinguir dos tipos:

 Aquellas que incluyen código que ejecuta el navegador. En estas páginas el


código ejecutable, normalmente en lenguaje JavaScript, se incluye dentro del
HTML (o XHTML) y se descarga junto con la página. Cuando el navegador
muestra la página en pantalla, ejecuta el código que la acompaña. Este código
puede incorporar múltiples funcionalidades que pueden ir desde mostrar
animaciones hasta cambiar totalmente la apariencia y el contenido de la página.
En este módulo no vamos a ver JavaScript, salvo cuando éste se relaciona con la

Profesora: Yolanda Iglesias Suárez


5
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

programación web del lado del servidor.

 Como ya sabes, hay muchas páginas en Internet que no tienen extensión .htm,
.html o .xhtml. Muchas de estas páginas tienen extensiones como .php, .asp,
.jsp, .cgi o .aspx. En éstas, el contenido que se descarga al navegador es similar
al de una página web estática: HTML (o XHTML). Lo que cambia es la forma en
que se obtiene ese contenido. Al contrario de lo que vimos hasta ahora, esas
páginas no están almacenadas en el servidor; más concretamente, el contenido
que se almacena no es el mismo que después se envía al navegador. El HTML
de estas páginas se forma como resultado de la ejecución de un programa,
y esa ejecución tiene lugar en el servidor web (aunque no necesariamente por
ese mismo servidor).

El esquema de funcionamiento de una página web dinámica es el siguiente:

Pasos:

1. El cliente web (navegador) de tu ordenador solicita a un servidor web una


página web.
2. El servidor busca esa página y la recupera.
3. En el caso de que se trate de una página web dinámica, es decir, que su
contenido deba ejecutarse para obtener el HTML que se devolverá, el servidor
web contacta con el módulo responsable de ejecutar el código y se lo envía.
4. Como parte del proceso de ejecución, puede ser necesario obtener
información de algún repositorio, como por ejemplo consultar registros
almacenados en una base de datos.
5. El resultado de la ejecución será una página en formato HTML, similar a
cualquier otra página web no dinámica.
6. El servidor web envía el resultado obtenido al navegador, que la procesa y
muestra en pantalla.

Las aplicaciones web emplean páginas web dinámicas para crear aplicaciones que se
ejecuten en un servidor web y se muestren en un navegador.

Hoy en día existen aplicaciones web para multitud de tareas como procesadores de
texto, gestión de tareas, o edición y almacenamiento de imágenes. Estas aplicaciones

Profesora: Yolanda Iglesias Suárez


6
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

tienen ciertas ventajas e inconvenientes si las comparas con las aplicaciones


tradicionales que se ejecutan sobre el sistema operativo de la propia máquina.

Ventajas de las aplicaciones web:

 No es necesario instalarlas en aquellos equipos en que se vayan a utilizar. Se


instalan y se ejecutan solamente en un equipo, en el servidor, y esto es
suficiente para que se puedan utilizar de forma simultánea desde muchos
equipos.
 Como solo se encuentran instaladas en un equipo, es muy sencillo gestionarlas
(hacer copias de seguridad de sus datos, corregir errores, actualizarlas).
 Se pueden utilizar en todos aquellos sistemas que dispongan de un navegador
web, independientemente de sus características (no es necesario un equipo
potente) o de su sistema operativo.
 Se pueden utilizar desde cualquier lugar en el que dispongamos de conexión
con el servidor. En muchos casos esto hace posible que se pueda acceder a las
aplicaciones desde sistemas no convencionales, como por ejemplo teléfonos
móviles.

Inconvenientes de las aplicaciones web:

 El interface de usuario de las aplicaciones web es la página que se muestra en el


navegador. Esto restringe las características del interface a aquellas de una
página web.
 Dependemos de una conexión con el servidor para poder utilizarlas. Si nos falla
la conexión, no podremos acceder a la aplicación web.
 La información que se muestra en el navegador debe transmitirse desde el
servidor. Esto hace que cierto tipo de aplicaciones no sean adecuadas para su
implementación como aplicación web (por ejemplo, las aplicaciones que
manejan contenido multimedia, como las de edición de vídeo).

Profesora: Yolanda Iglesias Suárez


7
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

3.- Tecnologías para programación web del lado del servidor.

Los componentes principales con los que debes contar para ejecutar aplicaciones web
son los siguientes:

 Un servidor web para recibir las peticiones de los clientes web (normalmente
navegadores) y enviarles la página que solicitan (una vez generada puesto que
hablamos de páginas web dinámicas). El servidor web debe conocer el
procedimiento a seguir para generar la página web: qué módulo se encargará
de la ejecución del código y cómo se debe comunicar con él.
 El módulo encargado de ejecutar el código o programa y generar la página web
resultante. Este módulo debe integrarse de alguna forma con el servidor web, y
dependerá del lenguaje y tecnología que utilicemos para programar la
aplicación web.
 Una aplicación de base de datos, que normalmente también será un servidor.
Este módulo no es estrictamente necesario pero en la práctica se utiliza en
todas las aplicaciones web que utilizan grandes cantidades de datos para
almacenarlos.

Además de los componentes a utilizar, también es importante decidir cómo vas a


organizar el código de la aplicación. Muchas de las arquitecturas que se usan en la
programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones
en capas o niveles.

El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las
funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un
servidor distinto (en caso de que sea necesario).

En una aplicación puedes distinguir, de forma general, funciones de presentación (se


encarga de dar formato a los datos para presentárselo al usuario final), lógica (utiliza
los datos para ejecutar un proceso y obtener un resultado), persistencia (que mantiene

Profesora: Yolanda Iglesias Suárez


8
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

los datos almacenados de forma organizada) y acceso (que obtiene e introduce datos
en el espacio de almacenamiento).

Cada capa puede ocuparse de una o varias de las funciones anteriores. Por ejemplo, en
las aplicaciones de 3 capas nos podemos encontrar con:

 Una capa presentación, esta es la que ve el usuario, es donde se programa


todo lo relacionado con el interface de usuario, esto es, la parte visible de la
aplicación con la que interactuará el usuario.
 Una capa de negocio, es donde se programa la funcionalidad de la aplicación,
es donde se produce el procesamiento de la información. Puede ser
programada tanto en el entorno cliente como en el entorno servidor.
 Una capa de persistencia o de datos, que se tendrá que encargar de almacenar
la información de la aplicación en una base de datos y recuperarla cuando sea
necesario, está formada por uno o más gestores de bases de datos.

Video explicativo: https://youtu.be/0Y75RKAztx4

4.- Arquitecturas y plataformas.

Existen paquetes software que incluyen en una única instalación una plataforma
AMP completa. Algunos ni siquiera es necesario instalarlos, e incluso disponen de
versiones para distintos sistemas operativos como Linux, Windows o Mac. Uno de los
más conocidos es XAMPP, es una distribución de Apache que contiene MySQL, PHP y
Perl.

WampServer es otro entorno de desarrollo web de Windows, está disponible de


forma gratuita (bajo licencia GPML). Te permite crear aplicaciones web con Apache,
PHP y la base de datos MySQL.

Es una herramienta OpenSource para Windows que facilita la instalación de


Apache, MySQL y PHP en la cual estas aplicaciones se configuran de forma automática.

Profesora: Yolanda Iglesias Suárez


9
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

5.- Lenguajes Web de servidor

Los lenguajes del lado del servidor son utilizados para desarrollar páginas dinámicas y
estos medios son entre otros:

 ASP (Active Server Pages)


 JSP (Java Server Pages)
 PERL (Practical Extension and Report Languaje)
 PHP (Hypertext Preprocessor)

5.1.- PHP

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado


del servidor gratuito e independiente de plataforma, rápido, con una gran librería de
funciones y mucha documentación.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo
antes de que se envíe la página a través de Internet al cliente. Las páginas que se
ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y
otras tareas para crear la página final que verá el cliente. El cliente solamente recibe
una página con el código HTML resultante de la ejecución de la PHP. Como la página
resultante contiene únicamente código HTML, es compatible con todos los
navegadores.

PHP se escribe dentro del código HTML, lo que lo hace realmente fácil de utilizar, al
igual que ocurre con el popular ASP de Microsoft, pero con algunas ventajas como su
gratuidad, independencia de plataforma, rapidez y seguridad. Cualquiera puede

Profesora: Yolanda Iglesias Suárez


10
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

descargar a través de la página principal de PHP www.php.net y de manera gratuita, un


módulo que hace que nuestro servidor web comprenda los scripts realizados en este
lenguaje. Es independiente de plataforma, puesto que existe un módulo de PHP para
casi cualquier servidor web. Esto hace que cualquier sistema pueda ser compatible con
el lenguaje y significa una ventaja importante, ya que permite portar el sitio
desarrollado en PHP de un sistema a otro sin prácticamente ningún trabajo.

PHP permite configurar el servidor de modo que se permita o rechacen diferentes usos,
lo que puede hacer al lenguaje más o menos seguro dependiendo de las necesidades
de cada cual.

Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está
desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas
contribuciones de otros desarrolladores.

Este lenguaje de programación está preparado para realizar muchos tipos de


aplicaciones web gracias a la extensa librería de funciones con la que está dotado. La
librería de funciones cubre desde cálculos matemáticos complejos hasta tratamiento de
conexiones de red, por poner dos ejemplos.

Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases
de datos más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por ejemplo.
Incluye funciones para el envío de correo electrónico, “upload” de archivos, crear
dinámicamente en el servidor imágenes en formato GIF, incluso animadas y una lista
interminable de utilidades adicionales.

5.2.- JSP, Java Server Pages

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como
Páginas de Servidor Java. Con JSP podemos crear aplicaciones web que se ejecuten en
variados servidores web, de múltiples plataformas, ya que Java es en esencia un
lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML
mezclado con etiquetas especiales para programar scripts de servidor en sintaxis Java.

En la imagen siguiente se puede ver un ejemplo extremadamente simple de una página


JSP.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

Profesora: Yolanda Iglesias Suárez


11
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-
1">
<title> entrega el nombre como parámetro, de lo contrario lo pide y
saluda
</title>
</head>
<body>
<%
String nombre = request.getParameter("nombrePila");
if (nombre != null) {
%>
<h1>
Hola <%= nombre %>, <br />
¡ Bienvenido a la página !
</h1>
<%}
else {
%>
<form action="saludo.jsp" method = "get">
<p>Escriba su nombre y pulse Enviar </p>
<p><input type = "text" name = "nombrePila" />
<input type = "submit" value = "Enviar" />
</p>
</form>
<%}%>
</body>
</html>

Para aprender JSP, aparte de conocer HTML, será necesario comprender y tener algo de
experiencia en la programación en Java, que es un lenguaje de programación
Orientado a Objetos por completo. Una vez conocida la programación en Java se
puede estudiar por encima el sistema de Servlets, lo que nos dará una mejor idea del
funcionamiento interno del motor JSP.

Profesora: Yolanda Iglesias Suárez


12
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

6.- ¿Qué es un framework?

Un framework es una estructura conceptual y tecnológica de soporte definido,


normalmente con artefactos o módulos de software concretos, que puede servir de
base para la organización y desarrollo de software. Vamos, una manera de hacernos
más fácil la programación.

La palabra framework si la traducimos de forma directa sería "marco de trabajo", pero


haciendo una traducción más adaptada a la forma de utilizarla sería estructura o
infraestructura digital. En ella se trabaja escribiendo el código con un sólo lenguaje que
puede ser PHP, Python, Ruby.

Para entender mejor qué es la infraestructura y cuál el lenguaje vamos a señalar


algunos ejemplos:

Framework -> Django / Lenguaje de programación -> Python

Framework -> Kohana / Lenguaje de programación -> PHP

Framework -> Ruby on Rails / Lenguaje de programación -> Ruby

Framework -> Catalyst /Lenguaje de programación -> Perl

Framework -> Spring / Lenguaje de programación -> Java

Razones para utilizar un framework:

1.- Evitar escribir código repetitivo

La mayoría de los proyectos tienen partes comunes necesarias para el funcionamiento


como, por ejemplo, acceso a base de datos, validación de formularios o seguridad. Un
framework nos evita tener que programar estas partes, de esta manera nos resulta más

Profesora: Yolanda Iglesias Suárez


13
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

fácil centrarnos en programar la aplicación.

2.- Utilizar buenas prácticas

Los frameworks están basados en patrones de desarrollo, normalmente MVC (Modelo-


Vista-Controlador) que ayudan a separar los datos y la lógica de negocio de la interfaz
con el usuario. Vamos, que gracias a ellos, lo tenemos todo más ordenado.

3.-Permitir hacer cosas avanzadas que tú no harías

Está claro que un framework siempre te va permitir hacer cosas de una manera fácil y
segura, que para ti serían imposibles o al menos te costaría mucho tiempo hacerlas.

4.-Desarrollar más rápido

Si tenemos en cuenta los puntos anteriores, sabremos que desarrollar una aplicación
con un framework nos permite hacerlo más rápido, más limpio y más seguro.

7.- Software a usar a lo largo del curso

A lo largo de todo este curso, vamos a necesitar diferentes softwares, con diferentes
objetivos cada uno de ellos. Aun así, entre los tres conseguiremos un objetivo común:
diseño e implementación de páginas web dinámicas.
Las herramientas que vamos a emplear van a ser las siguientes:
• Apache. Como servidor de páginas web.
• MySQL. Como gestor de bases de datos.
• Intérprete PHP. Mediante este intérprete instalado en el servidor Apache y mediante
consultas a las bases de datos MySQL podremos conseguir crear páginas web
dinámicas, utilizando su lenguaje de programación.
• Laravel Como framework

7.1 -Apache
Apache es un servidor HTTP de código abierto y licenciamiento libre, que funciona en
Linux, sistemas operativos derivados de Unix™, Windows, Novell Netware y otras
plataformas. Ha desempeñado un papel muy importante en el crecimiento de la red
mundial, y continúa siendo el servidor HTTP más utilizado, siendo además, el servidor
de hecho contra el cual se realizan las pruebas comparativas y de desempeño para
otros productos competidores. Apache es desarrollado y mantenido por una
comunidad de desarrolladores auspiciada por Apache Software
Foundation (http://www.apache.org).

Profesora: Yolanda Iglesias Suárez


14
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

HTTP (Hypertext Transfer Protocol, o Protocolo de Trasferencia de Hipertexto), es el


protocolo utilizado para transferir o transportar información en Internet (WWW,World
Wide Web). Su propósito original fue el proveer una forma de publicar y recuperar
documentos HTML.
El desarrollo del protocolo fue coordinado por World Wide Web Consortium y la IETF
(Internet Engineering Task Force, o Fuerza de Trabajo en Ingeniería de Internet),
culminando con la publicación de varios RFC (Request For Comments), de entre los que
destaca el RFC 2616.
HTTP es un protocolo de solicitud y respuesta a través de Transmission Control
Protocol (TCP) o Protocolo de Control de Transmisión, entre agentes de usuario
(navegadores) y servidores,regularmente utilizando el puerto 80. Entre la comunicación
entre éstos pueden intervenir como servidores Intermediarios (Proxies), puertas de
enlace y túneles.
Volviendo a Apache, en primer lugar, tenemos que destacar el gran auge que ha tenido
en tan corto espacio de tiempo, y como hoy en día, según las estadísticas, es empleado
en el 60% de soluciones de servidores http en el mundo, desbancando a sus principales
rivales como es el caso de Microsoft, con su software Microsoft IIS (Internet Information
Server).

Como características diferenciadoras podríamos citar a modo general las siguientes:

� Apache es un servidor altamente configurable de diseño modular. Será sencillo poder


ampliar las capacidades del servidor Web Apache. Con un poco de experiencia en
lenguaje como C o Perl, podremos escribir nuestro propio módulo para poder realizar
una función determinada. Como consecuencia, existen una gran cantidad de módulos
diseñados para Apache y que están disponibles para su utilización.

� Apache es una tecnología gratuita de código fuente abierto (open source). El hecho
realmente importante no es que sea gratuito, que también, sino sobre todo el hecho de
que sea de código abierto, ya que vamos a poder implementar soluciones
desarrolladas y mejoradas por una gran comunidad.

� Apache puede trabajar con una gran cantidad de lenguajes de programación como
PHP, Perl u otros lenguajes de script.

� Apache fue diseñado especialmente para sistemas Unix. Linux, al ser un sistema
basado en Unix, se ha aprovechado especialmente del auge que ha supuesto la

Profesora: Yolanda Iglesias Suárez


15
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

implementación de soluciones Apache, y por lo tanto, forman el binomio habitual en la


instalación y configuración de servidores de servicios de hosting. Otros sistemas de
Unix como FreeBSD, Solaris o Mac OS, también pueden implementar Apache, formando
también parte de la ampliación de usuarios de Apache.

� Apache también trabaja bajo Windows. A partir de la versión 2.0 de


Apache, su integración en sistemas Windows mejoró ostensiblemente, y hoy en día,
suele ser implementado en multitud de sistemas Windows, en detrimento de la propia
solución de Microsoft, Microsoft Internet Information Server.

7.2.- MySQL
MySQL es un sistema gestor de bases de datos relacionales, rápido y sólido. Con la
utilización de bases de datos, podremos realizar operaciones de búsqueda, ordenación
y consulta de datos de una forma óptima.
Instalando un servidor MySQL, podremos controlar el acceso a estos datos para, de
esta forma, poder asegurar el uso simultáneo de varios usuarios, para que puedan
acceder a sus datos, garantizando que sólo podrán acceder a aquellos quienes tengan
autorización para realizar dichas tareas.
MySQL es un servidor multiusuario y de subprocesamiento múltiple que utiliza el
lenguaje SQL (Structured Query Language, Lenguaje de consulta estructurado), que es
el lenguaje estándar para la consulta de bases de datos más utilizado en todo el
mundo.

Una base de datos relacional va a guardar sus datos en tablas separadas en lugar de
poner todos sus datos en un gran almacén. Con esto conseguimos aumentar la
velocidad y flexibilidad. La parte SQL de MySQL se refiere a "Structured Query
Language".
SQL es el lenguaje estandarizado más común para acceder a bases de datos y está
definido por el estándar ANSI/ISO SQL. El estándar SQL ha evolucionado desde 1986 y
existen varias versiones. En este manual, "SQL-92" se refiere al estándar del 1992,
"SQL:1999" se refiere a la versión del 1999, y "SQL:2003" se refiere a la versión actual
del estándar. Usamos la frase "el estándar SQL" para referirnos a la versión actual de
SQL.MySQL se distribuye bajo un sistema de licencias dual. Podremos utilizarlo con una
licencia de código abierto (GPL), que será gratuita mientras cumplamos sus
condiciones. Pero si deseamos distribuir una aplicación que no sea GPL y que incluya
MySQL, tendremos que comprar una licencia adicional. MySQL™ es propiedad y
patrocinio de MySQL AB.

Profesora: Yolanda Iglesias Suárez


16
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

Entre los competidores oficiales de MySQL se encuentran otros gestores de bases de


datos como, por ejemplo, PostgreSQL, Microsoft SQL Server u Oracle entre otros.

En cuanto a las razones por las que nos descantamos por MySQL, podemos citarlas
siguientes:

� Escalabilidad y flexibilidad. MySQL puede trabajar con bases de datos sencillas de


1Mb de tamaño hasta otras con varios Tb de información. Como ya hemos comentado,
su flexibilidad nos permitirá poder instalarlo en sistemas Windows, Linux o Mac OS. Al
ser open source, podremos personalizar características de MySQL en el servidor.

� Alto rendimiento. MySQL puede trabajar en cualquier sistema, desde un sistema de


procesamiento transaccional de alta velocidad, hasta una página web que tenga
millones de consultas diarias. Esto lo puede realizar gracias a la implementación de
herramientas de carga de alta velocidad, índices fulltext y otros mecanismos.

� Alta disponibilidad. MySQL tiene a la disposición de sus clientes herramientas de alta


disponibilidad, tales como replicación a servidores de cluster especiales.

� Soporte transaccional. MySQL tiene uno de los motores de bases de datos


transaccionales mejores del mercado. Esto se traduce en la inclusión de un sistema
ACID (atómica, consistente, aislada, duradera), realización de transacciones distribuidas,
soporte de transacciones múltiples donde un lector no podrá bloquear a un escritor, o
al revés. Ofrece integridad completa de los datos a través de integridad referencial o
niveles de aislamiento de transacciones.

� Protección de datos. Suministra potentes mecanismos para autorizar el acceso al


servidor solo a usuarios autentificados, soporte para conexiones seguras, funciones de
cifrado y descifrado, utilidades de backup y recuperación o una fuerte estructura de
privilegios para usuarios.

� Posibilidad de desarrollo con diferentes lenguajes de programación. No importará si

Profesora: Yolanda Iglesias Suárez


17
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

un programador va a utilizar PHP, Perl, Java, Visual Basic o .NET, por ejemplo, ya que
MySQL ofrece procedimientos almacenados, triggers, vistas, funciones, cursores, SQL
estándar y otras librerías que facilitarán la vida del programador.

� Facilidad de instalación. El proceso de instalación de MySQL es extremadamente


sencillo. Desde su descarga hasta su primer funcionamiento no deberían de pasar más
de 15 minutos.

7.3- PHP
PHP (PHP Hipertext Preprocessor) es un lenguaje de secuencia de comandos de
servidor que fue desarrollado de forma específica con el objetivo de construir sitios
web. Utilizaremos el lenguaje PHP en el diseño de una web, programando un código
fuente que será ejecutado cada vez que un usuario visite la página web. El código que
hayamos generado se ejecutará siempre en el lado del servidor, y será transformado a
código HTML, así como a otro tipo de contenido.
PHP es una de las soluciones adoptadas por la mayoría de programadores y empresas
para llevar a cabo sus proyectos web en Internet. Tiene todas las ventajas para que así
sea, ya que se trata de un software de código abierto (Open
Source), y por lo tanto, con la ventaja que supone también que exista una gran
comunidad dando soporte a la mejora de la tecnología y compartiendo sus proyectos
para que puedan ser mejorados por el resto.
Está desarrollado para que pueda trabajar con las plataformas más utilizadas
(Windows, Linux, Macintosh, Solaris, etc.) e incluye soporte para un gran número de
gestores de bases de datos y otras tecnologías como Java o XML.
Otro de sus puntos fuertes es su fácil aprendizaje. Como podremos comprobar a lo
largo de este libro, crear páginas PHP no resultará nada difícil; y si además, ya
poseemos algún conocimiento sobre todos lenguajes de programación, aún será más
fácil asimilarlo y llevar a la práctica esta nueva forma de crear páginas dinámicas.

En el diseño de páginas web se pueden utilizar lenguajes que se ejecutan en cliente o


en el servidor. Los lenguajes de cliente (HTML, Javascript o VBscript…) se caracterizan
porque su código es ejecutado en los navegadores de los usuarios que visitan estas
páginas web, de tal forma que será el navegador el encargado de interpretar el código
y mostrarlo en pantalla. Esto nos supone el principal inconveniente, que a la hora de
desarrollar el código, tendremos que prestar especialmente atención a los diferentes
navegadores que existan en el mercado, para que pueda ser compatible con todos.

Por el contrario, los lenguajes como PHP que se ejecutan en el lado del servidor, será

Profesora: Yolanda Iglesias Suárez


18
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

éste quien se encarga de interpretar el código y llevar hasta el usuario el resultado


obtenido. El proceso será el siguiente: el navegador realiza una llamada al servidor web,
que pasará la petición a través de la interfaz PHP del servidor web.
Esta interfaz realizará una llamada al intérprete PHP, que accederá a la zona del disco
donde estén almacenados los scripts PHP, de tal forma que el servidor recuperará el
código PHP y lo enviará a un compilador. Este compilador convertirá el código en
HTML, que podrá ser interpretado por el navegador del usuario.
Para hacer un resumen de sus principales características, vamos a dividirlo en dos
partes. En primer lugar, haremos un resumen de sus principales características más
generales, y a continuación, haremos hincapié en características más técnicas.
En cuanto a las características generales, el resumen sería el siguiente:

� Lenguaje de programación multiplataforma. Podremos trabajar con PHP


en entornos diferentes como Linux, Windows o Macintosh.

� Accesibilidad a un gran número de gestores de bases de datos. Con


PHP podremos utilizar una gran diversidad de SGBD (Sistemas Gestores de Bases de
Datos). La lista sería inacabable, pero podríamos citar de entre las más conocidas:
Adabas D, dbm, dBase, filePro, Hyperwave, Informix, InterBase, LDAP, Microsoft SQL
Server, Msql, MySQL, ODBC, Oracle, PostgreSQL o Solid, entre otras.

� Gran cantidad de librerías. PHP tiene definidas muchas funciones ya implementadas


que nos permitirán realizar acciones como, por ejemplo, las siguientes:

� Acceso a servidores FTP.


� Generación de gráficos dinámica y documentos PDF.
� Análisis de documentos XML.

Gran variedad de aplicaciones para facilitar la programación con PHP.


Existen una gran cantidad de editores gratuitos diseñados para trabajar exclusivamente
con PHP. También existen muchos frameworks (entornos de trabajo) y CMS (Gestores
de Contenidos) basados en PHP como Joomla,
Drupal, etc.

� Simplicidad y facilidad de aprendizaje. PHP dispone de una gran documentación,


tanto en manuales como ejemplos, que podemos conseguir a través de Internet. Con
este libro y los recursos comentados, el aprendizaje será más sencillo.

Profesora: Yolanda Iglesias Suárez


19
DEPARTAMENTO DE INFORMÁTICA Y COMUNICACIONES
Desarrollo de Aplicaciones Web
Módulo de Desarrollo Web en entorno servidor
Centro Integrado de Formación Profesional Unidad 1. Selección de arquitecturas y herramientas de programación
AVILÉS

7.4.- Laravel

El objetivo de Laravel es el de ser un framework que permita el uso de una sintaxis


refinada y expresiva para crear código de forma sencilla, evitando el “código espagueti”
y permitiendo multitud de funcionalidades. Aprovecha todo lo bueno de otros
frameworks y utiliza las características de las últimas versiones de PHP.
La mayor parte de su estructura está formada por dependencias, especialmente de
Symfony, lo que implica que el desarrollo de Laravel dependa también del desarrollo
de sus dependencias.

Características Generales
o Sistema de ruteo, también RESTful
o Blade, Motor de plantillas
o Peticiones Fluent
o Eloquent ORM
o Basado en Composer
o Soporte para el caché
o Soporte para MVC
o Usa componentes de Symfony
o Adopta las especificaciones PSR-2 y PSR-4

Profesora: Yolanda Iglesias Suárez


20

También podría gustarte