Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRIMERO DE MAYO
TECNOLOGÍA EN INFORMÁTICA
ASIGNATURA:
Introducción a la web
CICLO:
Quinto
DOCENTE:
DIEGO VICENTE GUAMÁN JIMA
Contenidos
PRIMERA UNIDAD: INTRODUCCIÓN A LA PROGRAMACIÓN WEB ...........................3
1.1. HTML 5 ...........................................................................................................................3
1.1.1. Características .....................................................................................................3
1.1.2. ¿Qué se necesita para realizar una página web? ........................................4
1.1.3. Las bases de HTML .............................................................................................9
1.1.4. Estructura de una página ................................................................................11
1.1.5. Etiquetas básicas ..............................................................................................12
1.2. Hojas de estilo CSS ..................................................................................................17
1.2.1. Breve historia de CSS ......................................................................................18
1.2.2. Funcionamiento básico de css. .....................................................................19
1.2.3. Archivo externo ..................................................................................................20
1.3. Javascript ....................................................................................................................22
1.3.1. Breve Historia .....................................................................................................22
1.3.2. Especificaciones Oficiales ..............................................................................23
1.3.3. Incluir javascript en los documentos ...........................................................24
SEGUNDA UNIDAD: JAVA SERVER FACES ...................................................................26
2.1. Introducción al Framework .........................................................................................27
2.2. JAVA PERSISTENCE API (JPA) .................................................................................29
2.3. Tipos de Sesiones y Lenguaje de Expresiones EL ...............................................30
2.4. Message – Driven Beans .............................................................................................32
TERCERA UNIDAD: APIS Y LIBRERIAS IMPORTANTES.............................................32
3.1. Primefaces y Bootfaces ...............................................................................................33
3.2. Java Mail ..........................................................................................................................34
3.3. Google Maps ...............................................................................................................35
3.3.1. Crear un mapa web ...............................................................................................35
3.4. Social Login ................................................................................................................37
3.5. Ajax ...............................................................................................................................38
3.6. Sockets y Tecnologia Push .........................................................................................39
3.6.1. Paradigma Request / Response..........................................................................40
CUARTA UNIDAD: PERSISTENCIA DE DATOS MEDIANTE HIBERNATE ................41
4.1. Introducción a ORM ..................................................................................................41
4.2. Hibernate – Configuración ......................................................................................42
4.3. Relaciones mediante Anotaciones ........................................................................43
4.3.1. Relación uno a muchos ...................................................................................43
2
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una de las características más importantes de las páginas Web es que son
hipertexto. Esto quiere decir que las páginas no son elementos aislados, sino
que están unidas a otras mediante los links o enlaces hipertexto. Gracias a estos
enlaces el navegante de internet puede pulsar sobre un texto (texto al que
llamaremos de ahora en adelante activo) de una página para navegar hasta otra
página. Será cuestión del programador de la página inicial decidir que palabras
o frases serán activas y a donde nos conducirá pulsar sobre ellas.
1.1. HTML 5
Lenguaje de Maquetado de Hyper Texto (HTML).
1.1.1. Características
Pero empecemos ya con lo que nos interesa. ¿Cómo se hace una página Web?
Cuando los diseñadores del WWW se hicieron esta pregunta decidieron que se
debían cumplir, entre otras, las siguientes características:
• El Web tenía que ser hipertexto y debía ser fácil navegar por él.
3
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
• Tenía que ser compatible con todo tipo de ordenadores (PCs, Macintosh,
estaciones de trabajo...) y con todo tipo de sistemas operativos (Windows, MS-
DOS, UNIX, MAC-OS).
Estas características son las que marcaron el diseño de todos los elementos del
WWW incluida la programación de páginas Web. Como respuesta a todos estos
requisitos se creo el lenguaje HTML (HiperText Markup Language), cuyas siglas
significan "lenguaje hipertexto de marcas".
4
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una vez hemos escrito el código deberemos guardar el archivo (con formato de
texto) con la extensión .html (o .htm en MS-DOS, Windows 3.1 o cualquier otro
sistema que sólo acepte tres letras en la extensión. Los siguientes son nombres
válidos de archivos que contengan código HTML: index.html, index.htm,
principal.html, PRINCIPAL.htm, etc...
• Editores WYSIWYG (What You See Is What You Get, lo que ves es lo que
obtienes): estos editores permiten crear páginas web sin escribir código HTML
como si se tratase de un programa de dibujo por ordenador. Algunos ejemplos
de este tipo de editores son Macromedia Dreamweaver™, HotMetal™ o
Microsoft Frontpage™.
Todos estos editores HTML tipos pueden ser de gran ayuda y tienen sus ventajas
e inconvenientes, pero la experiencia demuestra que conocer el lenguaje HTML
ofrece bastantes ventajas:
6
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
¿Por qué funciona así? En un principio esta característica del HTML puede
resultar molesta para el creador de la página, que no puede saber como será
vista su página más que de una forma aproximada. Sin embargo es fundamental
para conseguir que el World Wide Web pueda ser navegado con cualquier tipo
de ordenador (dicho con otras palabras, que el WWW sea multiplataforma).
Debemos tener en cuenta que no todos los sistemas operativos son gráficos,
que incluso usando un mismo sistema operativo existen diferentes resoluciones
de pantalla, ... Por esta razón el lenguaje necesario para crear páginas debe ser
descriptivo y como consecuencia tras crear una página el programador debe ver
como es mostrada con varios navegadores distintos como Netscape Navigator™
o Microsoft Internet Explorer™ incluyendo algún navegador de texto como
Lynx™.
NOTA: Una vez creada una página es recomendable probar nuestra página, no
sólo con varios navegadores, sino también con varias resoluciones de pantalla
7
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una vez a quedado claro cual es el espíritu de HTML, hay que decir que
últimamente se han introducido métodos para conseguir un mayor control sobre
las páginas. Estos métodos permiten controlar aspectos como el tamaño de la
8
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Las órdenes de este lenguaje estarán formadas por unos comandos llamados
etiquetas que pueden tener o bien la siguiente estructura:
<NOMBRE_ETIQUETA>
Como vemos, la primera estructura está formada por una única instrucción y la
segunda por dos: una que marca el inicio de la etiqueta y otra que marca el final,
con texto entre ambas.
Por ejemplo, para indicarle al navegador que queremos que pinte una línea
horizontal debemos escribir:
<hr>
Pero las etiquetas no se limitan a indicar ordenes tan sencillas, estas órdenes
tienen en ocasiones parámetros. Por ejemplo la etiqueta <hr> tal y como lo
hemos hecho anteriormente daría lugar a la línea que vemos en la siguiente
figura, es decir le dice al navegador que dibuje una línea horizontal en la pantalla.
9
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Sin embargo, hay muchas formas de pintar una línea y sería deseable poder
elegir detalles tales como la anchura y el grosor que va a tener dicha línea. Para
especificar este tipo de detalles se crearon los atributos de las etiquetas. Este
nuevo elemento se introduce en una etiqueta de la siguiente manera:
<etiqueta atributo="valor">
10
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
11
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
12
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Saltos de línea
En este texto podemos observar cómo tras el primer punto era necesario un
cambio de línea, por lo que hemos usado <br>.
Para introducir un espacio vertical entre líneas debe usarse la etiqueta <br>. Si
se ponen varias seguidas no se mostrará más espacio, pero esto puede
solucionarse insertando entre las etiquetas la cadena " ". Por ejemplo, para
insertar tres líneas en blanco puede usarse:
13
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
La etiqueta usada para insertar imágenes es: <img >. Esta etiqueta está
compuesta por una única instrucción y por tanto </img> no existe y su uso está
prohibido. Podemos insertar una imagen en medio de una frase como si fuese
una palabra más de ella y será mostrada por el navegador a continuación del
texto (o cualquier otro elemento anterior).
14
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Para insertar una imagen en una página WEB necesitamos tenerla en un archivo
aparte. Existen multitud de formatos para almacenar una imagen en un archivo:
BMP, GIF, JPEG, XPM, XBM, PNG, TIFF, etc. cada uno de los cuales tienen
unas características. El formato elegido en el World Wide Web es el formato GIF
que distingue a sus archivos porque tienen la terminación “.gif”. Podríamos decir
que todos los navegadores son capaces de mostrar las imágenes incluidas en
este formato. Los navegadores en modo texto suelen proporcionar métodos para
ver las imágenes usando algún programa visor externo. Un segundo formato que
se ha introducido en el WWW y que es soportado por la gran mayoría de los
navegadores (incluyendo al Explorer™ y al Navigator ™) es el JPEG. Este
formato es especialmente útil para las fotos ya que es capaz de comprimir este
tipo de imagen de manera que ocupen hasta 4 veces menos que las imágenes
con formato GIF. Los archivos que contienen imágenes con formato JPEG
suelen tener la terminación “.jpg”.
15
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una vez visto como introducir distintos tipos de texto y párrafos así como insertar
imágenes en una página, lo único que queda por aprender para ser capaces de
crear una página Web bastante completa son los enlaces hipertexto. Con ellos
se pueden activar frases o palabras de la página para que al pulsar sobre ellas
se salte a cualquier otra página de Internet que decidamos.
Estos enlaces hipertexto (en inglés links) no son más que unas zonas
(habitualmente palabras o frases) especiales de nuestro texto que ofrecen la
posibilidad de pulsar sobre ellas para ir a otras páginas. El concepto del
hipertexto no es nuevo, la mayoría de los lectores lo habrán usado ya en la ayuda
de Windows™ o en otros muchos sistemas, lo realmente novedoso que ofrecen
estos enlaces en el WWW es la posibilidad de pulsar y navegar hasta páginas
que se encuentren en el otro extremo de la tierra. El navegante puede moverse
de España a Japón con una única pulsación sobre el texto adecuado. En seguida
se verá lo sencillo que es incluir esta impresionante tecnología en una página
web.
Los enlaces pueden clasificarse en dos tipos, los internos o locales y los
externos:
1. Los enlaces internos son aquellos que enlazan las páginas que componen un
mismo sitio web (web site). Todas estas páginas estarán (generalmente) en el
mismo servidor WWW, y por tanto estarán también en el mismo ordenador. Por
esta razón sólo será necesario indicar en nuestro código el nombre del archivo
donde está la página que queremos enlazar y el directorio en el que se
encuentra. Un ejemplo dirección de un enlace interno es:
/hobbies/index.html
2. Los enlaces externos permiten saltar desde una página hasta otra puede estar
en cualquier otro lugar del mundo en otro servidor web. Al crear estos enlaces
es necesario especificar la dirección completa de Internet (la URL) de la página
que queremos enlazar. Por ejemplo:
http://www.otroservidor.com/hobbies/index.html
16
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Por último, cabe resaltar que aunque la mayoría de las veces los links se usan
para enlazar una páginas con otras también pueden usarse con imágenes,
sonido, vídeo y prácticamente cualquier tipo de fichero.
<a href="hobbies.html">hobbies</a>
17
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto
de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal
y vertical entre elementos, posición de cada elemento dentro de la página, etc.
La propuesta CHSS fue realizada por Håkon Wium Lie y SSP fue propuesto por
Bert Bos. Entre finales de 1994 y 1995 Lie y Bos se unieron para definir un nuevo
lenguaje que tomaba lo mejor de cada propuesta y lo llamaron CSS (Cascading
Style Sheets).
18
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
El ejemplo anterior utiliza la etiqueta <font> con sus atributos color, face y size
para definir el color, la tipografía y el tamaño del texto de cada elemento del
documento.
Por otra parte, el diseño de los sitios web está en constante evolución y es
habitual modificar cada cierto tiempo los colores principales de las páginas o la
tipografía utilizada para el texto. Si se emplea la etiqueta <font>, habría que
modificar el valor de 1.5 millones de atributos para modificar el diseño general
del sitio web.
19
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
20
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
• rel: indica el tipo de relación que tiene el recurso enlazado (en este caso,
el archivo CSS) y la página HTML. Para los archivos CSS, siempre se
utiliza el valor stylesheet.
• type: indica el tipo de recurso enlazado. Sus valores están
estandarizados y para los archivos CSS su valor siempre estext/css.
• href: indica la URL del archivo CSS que contiene los estilos. La URL
indicada puede ser relativa o absoluta y puede apuntar a un recurso
interno o externo al sitio web.
• media: indica el medio en el que se van a aplicar los estilos del archivo
CSS. Más adelante se explican en detalle los medios CSS y su
funcionamiento.
De todas las formas de incluir CSS en las páginas HTML, esta es la más
utilizada con mucha diferencia. La principal ventaja es que se puede incluir
un mismo archivo CSS en multitud de páginas HTML, por lo que se garantiza
la aplicación homogénea de los mismos estilos a todas las páginas que
forman un sitio web.
21
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
1.3. Javascript
JavaScript es un lenguaje de programación que se utiliza principalmente para
crear páginas web dinámicas.
Unapáginawebdinámicaesaquellaqueincorporaefectoscomotextoqueapareceyd
esaparece, animaciones, acciones que se activan al pulsar botones y ventanas
con mensajes de aviso al usuario.
22
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Con unas aplicaciones web cada vez más complejas y una velocidad de
navegación tan lenta, surgió la necesidad de un lenguaje de programación que
se ejecutara en el navegador del usuario. De esta forma, si el usuario no
rellenaba correctamente un formulario, no se le hacía esperar mucho tiempo
hasta que el servidor volviera a mostrar el formulario indicando los errores
existentes.
23
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Para que la página XHTML resultante sea válida, es necesario añadir el atributo
type a la etiqueta <script>. Los valores que se incluyen en el atributo type están
estandarizados y para el caso de JavaScript, el valor correcto es text/javascript.
24
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Ejemplo:
Archivo codigo.js
En el Documento
Además del atributo type, este método requiere definir el atributo src, que es el
que indica la URL correspondiente al archivo JavaScript que se quiere enlazar.
Cada etiqueta <script> solamente puede enlazar un único archivo, pero en una
misma página se pueden incluir tantas etiquetas<script> como sean necesarias.
25
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
26
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
27
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
5. Java Naming and Directory Interface (JNDI): Esta API, incluida en Java
SE, se utiliza para acceder a los sistemas de nombres y directorios. La
aplicación se utiliza para asociar (enlazar) los nombres de los objetos y
luego encontrar estos objetos (búsqueda) en un directorio. Puede buscar
fuentes de datos, JMS, EJB y otros recursos.
28
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
JPA es una abstracción que está por encima de JDBC lo que permite ser
independiente de SQL. Todas las clases y anotaciones de esta API se
encuentran en el paquete javax.persistence. Los principales componentes de
JPA son:
29
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
30
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
EJB divide la capa de negocio en dos partes: Capa de lógica de negocio donde
se encuentra EJB y capa de persistencia. EJB cuenta con dos componentes de
proceso de negocio, los beans de sesión (Session Beans) y los beans dirigidos
por mensajes (Message-Driven Beans, MDBs), ambos son desarrollados por una
aplicación de negocio e implementados y ejecutados por el Contenedor de EJB.
A continuación, se explican los dos componentes:
Sessions Beans
Los beans de sesión (Session Beans) son componentes Java que se pueden
ejecutar tanto en contenedores EJB independientes como en contenedores EJB
que son parte del estándar Java EE. Dichos componentes son típicamente
utilizados para modelar una tarea particular del usuario o un caso de uso, tal
como introducir la información del cliente o implementar un proceso que
mantiene un estado de la conversación con una aplicación cliente. Existen varios
tipos de beans de sesión, como los beans de sesión sin estado (Stateless
Session Beans, SLSBs ), beans de sesión con estado (Stateful Session Beans ,
SFSBs) y un tipo particular de beans; los beans de sesión singleton (Singleton
Beans).
• SLSBs: Son útiles para los casos en que el estado no necesita ser
mantenido de invocación a invocación. El cliente no puede asumir que las
solicitudes posteriores utilizarán una instancia particular del bean. El
contenedor puede destruir o crear nuevas instancias según determine que
es más eficiente.
• SFSBs: Difieren de los SLSBs en que se garantiza que todas las
peticiones invoquen la misma instancia del bean. Cada SFSB contiene un
contexto de sesión aislado por lo que las llamadas de una sesión no
afectan a las demás. Las sesiones de estado y sus correspondientes
instancias de bean son creadas en algún momento antes de la primera
invocación a su instancia objetivo. Viven hasta que el cliente invoca un
método que el proveedor del bean ha marcado como un evento para
31
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Al igual que los SLSBs, en los MDBs cualquier instancia puede ser utilizada para
atender un mensaje, el cliente no tiene conocimiento del MDB.
En términos generales, EJB se puede ver como una plataforma para la creación
de aplicaciones empresariales portables, reutilizables y escalables utilizando el
lenguaje de programación Java y el estándar Java EE.
32
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
https://www.primefaces.org/
Bootfaces
33
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
https://www.bootsfaces.net/
34
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
https://javaee.github.io/javamail/
Lo primero que tenemos que saber es que todas las aplicaciones de la API de
Google Maps requieren de una clave. Por lo tanto tendremos que acudir a la
página de Google y obtener una clave de API.
35
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Una vez que tengamos la clave podemos empezar a construir nuestro mapa.
Necesitamos utilizar y por tanto conocer, aunque sea mínimamente, los tres
lenguajes básicos que se utilizan en una página web: HTML, CSS y JavaScript.
36
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Vemos que el código anterior no es más que una estructura HTML estándar a
la que hemos añadido unos estilos css. Hay que destacar que hemos creado un
elemento <div id=”mapa”> que será el espacio encargado de albergar nuestro
mapa. Observamos que en los estilos asignamos a este div el 100% del espacio,
para adaptarlo a los diferentes tipos de dispositivos.
Todos los mapas necesitarán de dos opciones obligatorias para poder construir
el mapa, se trata de center y zoom. En center se determinan las coordenadas
geográficas del centro del mapa y en zoom el nivel inicial de zoom.
El social login resuelve este paso al ofrecer utilizar la identidad ya creada para
otro portal, tal como Facebook, LinkedIn o Twitter. Su creciente adopción se
37
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
3.5. Ajax
El término AJAX se presentó por primera vez en el artículo "Ajax: A New
Approach to Web Applications
(http://www.adaptivepath.com/publications/essays/archives/000385.php) "
publicado por Jesse James Garrett el 18 de febrero de 2005. Hasta ese
momento, no existía un término normalizado que hiciera referencia a un nuevo
tipo de aplicación web que estaba apareciendo. En realidad, el término AJAX es
un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como
"JavaScript asíncrono + XML". El artículo define AJAX de la siguiente forma: “
Ajax no es una tecnología en sí mismo. En realidad, se trata de varias
tecnologías independientes que se unen de formas nuevas y sorprendentes.”
38
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
39
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
40
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
responda con todas las porciones de respuesta que solicita el cliente, que
no son otra.
Desde hace muchos años el lenguaje más usado para acceder a las bases de
datos relacionales ha sido el SQL. ¿Por qué entonces cambiar y pasarse a un
ORM?
• Ventajas
o Facilidad y velocidad de uso
o Abstracción de la base de datos usada.
o Seguridad de la capa de acceso a datos contra ataques.
• Desventajas
o En entornos con gran carga poner una capa más en el proceso
puede mermar el rendimiento.
41
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Esto se hizo de esta manera durante muchos años, hasta que comenzaron a
surgir las soluciones de Mapeo Objeto/Relacional (ORM por sus siglas en
inglés). El mapeo objeto/relacional se refiere a una técnica de mapear
representaciones de datos de un modelo de objetos a un modelo de datos
relacionales con un esquema basado en SQL.
42
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
Configuración
La forma de configurar hibernate es usando el fichero XML de configuración
llamado hibernate.cfg.xml. Este fichero deberemos guardarlo en el paquete raíz
de nuestras clases Java, es decir fuera de cualquier paquete.Si estamos usando
NetBeans deberá ser en la carpeta src de nuestro proyecto.
La información que contiene es la siguiente:
▪ Propiedades de configuración.
▪ Las clases que se quieren mapear.
El fichero tiene la siguiente estructura:
43
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
44
TECNOLOGÍA EN INFORMÁTICA INTRODUCCIÓN A LA WEB
45