Você está na página 1de 44

I.

Bases de datos

1. ¿Qué es un dato?
Matemáticamente hablando se tiene como concepción de dato a todo elemento
conocido, o que se supone conocido, del que se parte para la determinación de
incógnitas de algún problema. En los sistemas de información esta concepción es
similar a la matemática, pues se tiene que un dato es una representación simbólica
de alguna entidad, y cuando se reúne una gran cantidad de datos estos empiezan a
cobrar sentido, y en consecuencia se pueden usar para cálculos o tomas de decisiones.

2. ¿Qué es una base de datos?


Una base de datos es una recopilación de datos u información, organizada de modo
que sea de fácil y rápido acceso. El sistema de base de datos es un sistema
computarizado para llevar registros, en estos se pueden agregar nuevos archivos,
insertar datos, recuperar datos, modificar datos, eliminar datos, eliminar archivos;
estos sistemas se caracterizan por tener:
- Independencia lógica y física de los datos.
- Redundancia mínima.
- Integridad de los datos.
- Consultas complejas optimizadas.
- Seguridad de acceso.
- Respaldo y recuperación.

3. Tipos de bases de datos:


a. Bases de datos jerárquicas:
Se puede visualizar como una especie de árbol (otra similitud es una
pirámide), en el cual los datos se encuentran relacionados jerárquicamente, en
donde una raíz superior o padre puede tener varia información o datos
secundarios u hijos, es decir, se compone por una secuencia de datos donde
cada base de datos se compone de la ocurrencia de un tipo de registro. Este
tipo de base de datos permite relaciones 1:N entre los datos, lo cual significa
un gran manejo de información y además de generar estructuras estables. Pero
esto a su vez presenta una desventaja pues a la hora de realizar una búsqueda
de algún elemento que se encuentre varios niveles por debajo, se va a
encontrar con un largo recorrido por registro y/o campo, además no permite
acceso directo a un segmento del hijo si no es seleccionado primero el padre
del que depende.
Fig 1Ejemplo modelo jerárquico

b. Bases de datos en red:


Este tipo de modelo de base de datos se basa en el modelo jerárquico y
relacional, pero este tiene una ligera modificación, la cual permite una
relación de muchos a muchos. En las bases de datos en red, existen los
punteros, que son conexiones adicionales entre nodos padres y nodos hijos,
que permiten acceder a un nodo por vías distintas accediendo al mismo en
dirección descendente por las diversas ramas. El modelo en red se desechó
debido a dos razones fundamentales, la primera es que para obtener cualquier
información era indispensable tener una idea muy clara de cómo estaban
organizados los datos y la segunda razón es que no existían herramientas
sencillas que permitieran realizar consultas arbitrarias en una base de datos.

Fig 2Representación modelo jerárquico en modelo de red y ejemplo

c. Bases de datos orientadas a objetos:


Estos tipos de bases de datos tiene un sistema gestor con interfaz orientada a
objetos, este modelo logra satisfacer aplicaciones complejas, pues en estos se
ve comúnmente que los problemas que estos logran resolver, se hace por
medio de los objetos, por ende, la base permite una fácil modelación y relación
entre los objetos para solucionar el problema.
Otro motivo para la creación de las bases de datos orientadas a objetos es el
creciente uso de los lenguajes orientados a objetos para desarrollar
aplicaciones. Las bases de datos se han convertido en piezas fundamentales
de muchos sistemas de información y las bases de datos tradicionales son
difíciles de utilizar cuando las aplicaciones que acceden a ellas están escritas
en un lenguaje de programación orientado a objetos como C++, Smalltalk o
Java. Las bases de datos orientadas a objetos se han diseñado para que se
puedan integrar directamente con aplicaciones desarrolladas con lenguajes
orientados a objetos, habiendo adoptado muchos de los conceptos de estos
lenguajes.

Fig 3Esquema de clases para almacenar información de coches

d. Bases de datos transaccionales:


Las bases de datos transaccionales se caracterizan por permitir llevar a cabo
un gran número de transacciones cortas en línea, haciendo posible un
procesamiento de consultas muy rápido, manteniendo la integridad de los
datos en entornos de acceso múltiple y garantizando unos niveles de
efectividad muy elevados. Una transacción es un evento o proceso que genera
o modifica la información que se encuentran eventualmente almacenados en
un sistema de información. - muy utilizadas en las cuentas bancarias-. La
principal ventaja de las bases de datos transaccionales es su flexibilidad. En
ellas es posible modificar alguna información sin tener que manipular la
información sensible o aislada ya que, tanto la interfaz, como las reglas para
manipular la memoria de datos se pueden lograr sin cambiar la estructura
general del sistema.

Además, las bases de datos transaccionales permiten a los usuarios tener una
mejor capacidad para recuperar el historial de los datos almacenados y,
gracias a su consistencia, existe un riesgo mínimo de pérdida de datos por
causa de fallos en el sistema o en la alimentación.

e. Bases de datos multidimensional:


Una base de datos multidimensional (MDB) es un tipo de base de datos que
se ha optimizado para data warehouse y aplicaciones de procesamiento
analítico en línea (OLAP). Las bases de datos multidimensionales se crean
con frecuencia usando entradas de las bases de datos relacionales existentes.
En las tablas multivaluadas se almacenan registros referidos bien a las
dimensiones de la misma o a las métricas que se desean analizar, adoptando
un campo o columna por cada dimensión y otro campo por cada métrica o
hecho.
Las BDMD se caracterizan por una mayor versatilidad que las bases de datos
relacionales a la hora de realizar consultas. De hecho, a menudo éstas se crean
a partir de entradas de las bases de datos relacionales, a los que se
normalmente se accede mediante SQL, el lenguaje de consultas para este tipo
de bases de datos.

f. Bases de datos relacionales:


Este tipo de bases de datos permiten establecer interconexiones (relaciones)
entre los datos (que están guardados en tablas), y a través de dichas
conexiones relacionar los datos de ambas tablas.
Cada tabla está compuesta por varias columnas, y cada columna tiene un
nombre único. El modelo relacional es un ejemplo de un modelo basado en
registros.
Los modelos basados en registros se llaman así porque la base de datos se
estructura en registros de formato fijo de varios tipos. Cada tabla contiene
registros de un tipo particular.
Cada tipo de registro define un número fijo de campos o atributos. Las
columnas de la tabla corresponden a los atributos del tipo de registro.

i. Todos los datos se representan en forma de tablas (también llamadas


“relaciones”, ver nota anterior). Incluso los resultados de consultar
otras tablas. La tabla es además la unidad de almacenamiento
principal.
ii. Las tablas están compuestas por filas (o registros) y columnas (o
campos) que almacenan cada uno de los registros (la información
sobre una entidad concreta, considerados una unidad).
iii. Cada tabla debe poseer una clave primaria, esto es, un identificador
único de cada registro compuesto por una o más columnas.
iv. Para establecer una relación entre dos tablas es necesario incluir, en
forma de columna, en una de ellas la clave primaria de la otra. A esta
columna se le llama clave externa o clave foránea. Ambos conceptos
de clave son extremadamente importantes en el diseño de bases de
datos.

g. Bases de datos no SQL:


Una diferencia clave entre las bases de datos de NoSQL y las bases de datos
relacionales tradicionales, es el hecho de que NoSQL es una forma de
almacenamiento no estructurado.
Algunos tipos de almacén de bases de datos NoSQL incluyen diferentes tipos
de almacenes como por ejemplo el almacén de columnas, de documentos, de
key value store, de gráficos, de objetos, de XML y otros modos de almacén
de datos.
i. Key Value Store: En el tipo de almacén Key Value, se utiliza una
tabla hash en la que una clave única apunta a un elemento.
ii. Almacén de documentos: Los almacenes de documentos son
similares a los almacenes de valores clave, porque no tienen un
esquema y se basan en un modelo de valor clave. Ambos carecen de
coherencia en el nivel de base de datos, lo que hace posible que las
aplicaciones proporcionen más fiabilidad.
iii. Almacenamiento en columnas: Un almacén de columnas está
compuesto por una o más familias de columnas que se agrupan de
forma lógica en determinadas columnas en la base de datos. Una clave
se utiliza para identificar y señalar a un número de columnas en la base
de datos. Cada columna contiene filas de nombres o tuplas, y valores,
ordenados y separados por comas.
iv. Bases de datos de grafos: Usadas para aquellos datos cuyas
relaciones se pueden representar adecuadamente mediante un grafo.
Los datos se almacenan en estructuras grafo con nodos (entidades),
propiedades (información entre entidades) y líneas (conexiones entre
las entidades).
Con el término NoSQL se entiende como una multitud de bases de datos que
intentan solventar las limitaciones que el modelo relacional se encuentra en
entornos de almacenamiento masivo de datos, y concretamente en las que
tiene en el momento de escalar, donde es necesario disponer de servidores
muy potentes y de balanceo de carga.

4. Modelo entidad relación: El Modelo de Entidad Relación es un modelo de datos


basado en una percepción del mundo real que consiste en un conjunto de objetos
básicos llamados entidades y relaciones entre estos objetos, implementándose en
forma gráfica a través del Diagrama Entidad Relación, es decir, una herramienta que
representa la información del mundo real en forma conceptual. Entre sus elementos
se tiene:

a. Entidad: Se trata de un elemento del que se recoge información de interés de


cara a la base de datos, tiene una existencia independiente de otros elementos;
se representa son el nombre de este encerrado en un rectángulo.
b. Relación: Es una asociación de dos o más entidades. A cada una de estas
relaciones se les asigna un nombre propio para no confundirlas, y saber su
función dentro del modelo entidad relación. Estas relaciones pueden poseer
diferentes grados de cardinalidad (Expresa el número de entidades que pueden
asociarse) uno a uno, uno a varios, varios a uno, varios a varios, además
poseen un grado de relación que es el número de conjuntos de entidades que
participan; se representa por medio de un rombo
c. Atributo: Es el conjunto de propiedades que posee una entidad específica, un
atributo puede ser: simple o compuesto, univaluado o multivaluado, derivado
o almacenado, nulo o llave; se representa por óvalos ligados al rectángulo por
medio de líneas rectas.

d. Claves: Es el atributo de una entidad que tiene como objetivo distinguir cada
registro del conjunto, sirviendo sus valores como datos vinculantes de una
relación entre registros de varias tablas.

Fig 4 Notación para Diagrama

Ejemplo: Base de datos de una compañía donde: La compañía se organiza en


departamentos. Cada departamento tiene un nombre y número únicos además de
un empleado que dirige el departamento. Se desea conservar la fecha de inicio
como jefe de tales empleados, un departamento puede tener varias ubicaciones, un
departamento controla varios proyectos, cada uno con un nombre, número y ubicación,
cada empleado tiene nombre dirección sueldo, CURP, sexo y fecha de nacimiento, todo
empleado se asigna a un departamento, aunque puede trabajar en varios proyectos, los
cuales no necesariamente se controlan por el mismo departamento. Se desea conservar
el número de horas que un empleado trabaja en cada proyecto, así como el supervisor
directo de cada empleado, se conserva información de los dependientes económicos
de cada empleado.
Fig 5 Modelo E-R para ejemplo propuesto

5. Modelo relacional:
Usa el diagrama Entidad/relación, donde se relacionan tablas de una base de datos
mediante elementos, permitiendo el modelamiento de una base de datos. La
transformación se lleva a cabo de la siguiente manera:
 Entidades → Tablas
 Atributos → Columnas o Campos
 Relación →Tabla
Ejemplo: Sistema de matrícula académica para una institución de educación básica
en la que se involucre los intervinientes académicos y los recursos físicos
asignados.

Fig 6 Ejemplo Modelo E-R


Fig 7 Ejemplo modelo relacional

5. Elementos de una base de datos relacional:


i. Tabla: Es una manera de representar datos, es el nombre que recibe cada una
de las relaciones que se establecen entre los datos almacenados; cada nueva
relación da lugar a una tabla.
ii. Campos: Son las columnas de la tabla
iii. Registro: Es la fila de la tabla
iv. Llave primaria: Es una clase única elegida entre todas las candidatas que
define unívocamente a todos los demás atributos de la tabla, para especificar
los datos que serán relacionados con las demás tablas.
v. Llave foránea: Es una referencia a una clave en otra tabla. Las claves
foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde
están referenciadas.
vi. Relación: Es cómo las entidades interactúan o se asocian entre sí, es como si
fuese un verbo de interacción entre los dos
vii. Tupla: Cada uno de los renglones en una relación conteniendo valores para
cada uno de los atributos. Es una celda, entre registro y campo.

6. S.G.B.D:
Es un conjunto de programas no visibles que administran y gestionan la información
que contiene una base de datos. A través de él se maneja todo acceso a la base de
datos con el objetivo de servir de interfaz entre ésta, el usuario y las aplicaciones. El
objetivo fundamental de un SGBD consiste en suministrar al usuario las herramientas
que le permitan manipular, en términos abstractos, los datos, o sea, de forma que no
le sea necesario conocer el modo de almacenamiento de los datos en la computadora,
ni el método de acceso empleado. Entre los S.G.B.D’s más utilizados se tiene:
i. MySQL: Es un sistema de gestión de base de datos relacional, multihilo y
multiusuario seguramente el más usado en aplicaciones creadas como
software libre.
ii. Microsoft SQL Server: Es un sistema de gestión de bases de datos
relacionales basado en el lenguaje Transact-SQL, capaz de poner a
disposición de muchos usuarios grandes cantidades de datos de manera
simultánea.
iii. Oracle: Es un sistema de gestión de base de datos relacional (o RDBMS por
el acrónimo en inglés de Relational Data Base Management System),
fabricado por Oracle Corporation.
iv. Microsoft Access: Es un sistema de gestión de bases de datos Relacional
creado por Microsoft (DBMS) para uso personal de pequeñas organizaciones.
v. PostgreeSQL: Es un sistema de gestión de base de datos relacional orientada
a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL
no es manejado por una empresa y/o persona, sino que es dirigido por una
comunidad de desarrolladores que trabajan de forma desinteresada, altruista,
libre y/o apoyada por organizaciones comerciales. La comunidad PostgreSQL
se denominada el PGDG (PostgreSQL Global Development Group).
vi. DB2: Este SGBD es propiedad de IBM, bajo la cual se comercializa el sistema
de gestión de base de datos. Utiliza XML como motor, además el modelo que
utiliza es el jerárquico en lugar del modelo relacional que utilizan otros
gestores de bases de datos. Es el único de los gestores que hemos comentado
que nos relacional.
vii. Apache Derby: Apache Derby es un sistema gestor de base de datos
relacional escrito en Java que puede ser empotrado en aplicaciones Java y
utilizado para procesos de transacciones online.
viii. MongoDB: MongoDB es un sistema de base de datos NoSQL
multiplataforma, orientado a documentos desarrollado bajo la filosofía de
software libre, los datos son guardados en la base datos en estructuras de datos
similar a JSON de JavaScript e incluso tiene la capacidad de realizar consultas
utilizando JavaScript por el cual también existen api’s para distintos lenguajes
de programación para realizar consultas e informes.

7. Normalización de bases de datos:


Una vez creadas las tablas hay que verificarlas y revisar si aún se puede reducir u
optimizar de alguna manera. Los problemas tales como la redundancia que ocurren
cuando se abarrotan demasiados datos en una sola relación son llamados anomalías.
La normalización solventa estos errores, pues es el proceso de organizar de manera
eficiente los datos dentro de una base de datos. Existen tres formas de normalizar una
base de datos:

i. Esta primera Forma Normal, nos lleva a no repetir datos en nuestras tablas.
ii. La regla de la Segunda Forma Normal establece que todas las dependencias
parciales se deben eliminar y separar dentro de sus propias tablas. Una
dependencia parcial es un término que describe a aquellos datos que no
dependen de la llave primaria de la tabla para identificarlos
iii. Una tabla está normalizada en esta forma si todas las columnas que no son
llave son funcionalmente dependientes por completo de la llave primaria y no
hay dependencias transitivas. Comentamos anteriormente que una
dependencia transitiva es aquella en la cual existen columnas que no son llave
que dependen de otras columnas que tampoco son llave. Cuando las tablas
están en la Tercera Forma Normal se previenen errores de lógica cuando se
insertan o borran registros.

8. Lenguaje SQL:
SQL es un lenguaje de computación para trabajar con conjuntos de datos y las
relaciones entre ellos. Los programas de bases de datos relacionales, como Microsoft
Office Access, usan SQL para trabajar con datos. Es de eso de lo que trata el
Structured Query Language que no es más que un lenguaje estándar de comunicación
con bases de datos. El lenguaje SQL se divide en tres subconjuntos de instrucciones,
según la funcionalidad de éstas:

a. Comandos DDL (Data Definition Language): Se encarga de la


manipulación de los objetos de la base de datos, es decir, permite crear nuevos
campos, crear tablas, definir tablas, etc. Se tiene como principales comandos
los siguientes:

i. Create: Se encarga de crear nuevas tablas, campos…


Ej: CREATE TABLE tablita(
Cédula CHAR(10) PRIMARY KEY
Nombre VARCHAR(20) NOT NULL
Apellido VARCHAR(20) NOT NULL
);
ii. Drop; Se encarga de eliminar tablas, índices o vistas. En este tipo de
comando también se encuentra el DELETE que elimina una serie de
filas de la tabla y el TRUNCATE que elimina todas las filas de la tabla
sin borrar la tabla
Ej:
DROP TABLE tablita;
iii. Alter: Se encarga de modificar las tablas
Ej:
ALTER TABLE tablita RENAME tablota;

b. Comandos DML (Data Manipulation Language): Se encarga de la


manipulación de datos. Se usan de manera habitual para consultar, filtrar,
generar o actualizar información. Dentro de los comandos DML se tienen:
i. Select: Se encarga de consultar registros de la base de datos que se
podrán mostrar o ser usados en operación posterior.
Ej:
SELECT Apellido FROM tablota;
ii. Insert into: Se usa para insertar registros nuevos en las tablas.
Ej:
INSERT INTO tablota (Cédula, Nombre) VALUES
(1019138792,'Jesús de Nazareth');
iii. Update: Modifica los valores de los campos que contiene una base de
datos
Ej
UPDATE tablota SET Apellido=´Molina´ WHERE Apellido=´voiva´
iv. Delete: Elimina registros de la tabla
Ej:
DELETE FROM tablota WHERE Nombre=´Jesús de Nazareth’.

c. Cláusulas SQL:
i. From: Se usa para especificar la tabla de la cual se van a seleccionar
los registros
Ej: SELECT Apellido FROM tablota;
ii. Where: Se usa para especificar las condiciones que deben reunir los
registros que se van a seleccionar, es el análogo a un if.
Ej: UPDATE tablota SET Apellido=´Molina´ WHERE
Apellido=´voiva´
iii. Group by: Utilizada para clasificar los registros seleccionados en
grupos específicos.
Ej: select SEXO , count(*) as EMPLEADOS from EMPLEADOS
group by SEXO
iv. Having: Utilizada para expresar la condición que debe satisfacer cada
grupo, por lo general es utilizada con funciones agregadas.
Ej: SELECT Store_Name, SUM(Sales) FROM Store_Information
GROUP BY Store_Name HAVING SUM(Sales) > 1500;
v. Order by: Utilizada para ordenar los registros seleccionados de
acuerdo con un orden específico.
Ej:SELECT Store_Name, Sales, Txn_Date FROM
Store_Information ORDER BY Sales DESC;

d. Funciones de agregado SQL:


Estas funciones de agregado proporcionan utilidades de cálculos sobre los
datos de las tablas. Estas funciones se incorporan en las consultas SELECT y
retornan un único valor al operar sobre un grupo de registros. Entre estas se
encuentran:
i. AVG: Devuelve el promedio de los valores del campo
Ej: SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE
Gastos > 100;
ii. COUNT: Devuelve el número de filas que cumplen la condición dada.
La función Count no cuenta los registros que tienen campos null a
menos que expr sea el carácter comodín asterisco (*). Si utiliza un
asterisco, Count calcula el número total de registros, incluyendo
aquellos que contienen campos null.
Ej: SELECT Count(*) AS Total FROM Pedidos;
iii. SUM: Devuelve la suma de todos los valores de un campo
determinado
Ej: SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM
DetallePedido;
iv. MAX: Utilizada para devolver el valor más alto de un campo
especificado.
Ej: SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais
= 'España';
v. MIN: Utilizada para devolver el valor más bajo de un campo
especificado
Ej: SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais =
'España';

e. Subconsultas SQL:
Una subconsulta es una sentencia SELECT que aparece dentro de otra
sentencia SELECT que llamaremos consulta principal.
Ej: SELECT numemp, nombre, (SELECT MIN(fechapedido) FROM pedidos
WHERE rep = numemp) FROM empleados;
Pero también se pueden usar los siguientes predicados para realizar
subconsultas.
i. ANY: recupera registros de la consulta principal, que satisfagan la
comparación con cualquier otro registro recuperado en la subconsulta.
ii. ALL: recupera únicamente aquellos registros de la consulta principal
que satisfacen la comparación con todos los registros recuperados en
la subconsulta.
iii. IN: recuperar únicamente aquellos registros de la consulta principal
para los que algunos registros de la subconsulta contienen un valor
igual.
iv. EXISTS: se utiliza en comparaciones de verdad/falso para determinar
si la subconsulta devuelve algún registro

f. Consultas multitabla: Pueden combinarse varias tablas mediante


operaciones de SQL más complejas. Cuando se combinan tablas suele
introducirse un alias simplificado para las tablas (la primera letra por
ejemplo). Esta operación se utiliza cuando tenemos dos tablas con las mismas
columnas y queremos obtener una nueva tabla con las filas de la primera y las
filas de la segunda.

i. Composición de tablas: Consiste en concatenar filas de una tabla con


filas de otra. En este caso obtenemos una tabla con las columnas de la
primera tabla unidas a las columnas de la segunda tabla, y las filas de
la tabla resultante son concatenaciones de filas de la primera tabla con
filas de la segunda tabla. Existen distintos tipos de composición. La
implementación de este varía según el caso o problema a solucionar;
entre estas composiciones se tiene:

 El producto cartesiano: Es un tipo de composición de tablas,


aplicando el producto cartesiano a dos tablas se obtiene una
tabla con las columnas de la primera tabla unidas a las
columnas de la segunda tabla, y las filas de la tabla resultante
son todas las posibles concatenaciones de filas de la primera
tabla con filas de la segunda tabla, es decir, si hay 5 registros
en una tabla y 6 en la otra, retorna 30 filas.
Ej: SELECT Apellido FROM tablota CROSS JOIN lokura

 INNER JOIN: La sentencia INNER JOIN es el sentencia


JOIN por defecto, y consiste en combinar cada fila de una tabla
con cada fila de la otra tabla, seleccionado aquellas filas que
cumplan una determinada condición.

 UNION: Es utilizada para acumular los resultados de dos


sentencias SELECT. Las dos sentencias SELECT tienen que
tener el mismo número de columnas, con el mismo tipo de dato
y en el mismo orden.
Ej: SELECT Txn_Date FROM Store_Information UNION
SELECT Txn_Date FROM Internet_Sales;

 LEFT JOIN: Combina los valores de la primera tabla con los


valores de la segunda tabla. Siempre devolverá las filas de la
primera tabla, incluso aunque no cumplan la condición.
 RIGHT JOIN: Se podría considerar cómo el análogo al LEFT
JOIN, pues permanece la combinación entre los valores de dos
tablas, pero con la diferencia que este siempre devolverá las
filas de la segunda tabla, incluso aunque no cumplan la
condición.
II. TECNOLOGÍAS WEB.

1. W3C (WORLD WIDE WEB CONSORTIUM): Es un consorcio fundado en 1994


para dirigir la web hacia su pleno potencial mediante el desarrollo de protocolos
comunes que promuevan su evolución y aseguren su interoperabilidad, es liderado por
el inventor de la Web Tim Berners-Lee y el Director Ejecutivo (CEO) Jeffrey Jaffe.
Los estándares del W3C
Un estándar es un conjunto de reglas normalizadas que describen los requisitos que
deben ser cumplidos por un producto, proceso o servicio, con el objetivo de establecer
un mecanismo base para permitir que distintos elementos hardware o software que lo
utilicen, sean compatibles entre sí, el W3C los publica bajo el nombre de
Recomendaciones de W3C. Para tener un estándar web se tiene que tener en cuenta
que:
- La Web se basa en una gran diversidad de tecnologías
- Ninguna tecnología puede pretender cubrir todas las necesidades de la Web
- La construcción de los cimientos de la Web requiere seguir un proceso claro y
efectivo
- Es imprescindible asegurar la interoperabilidad (capacidad para poder funcionar
con otros sistemas o productos) de las tecnologías
- La Web debe ser universal y para todo el mundo
- La Web evoluciona hacia la Semántica, la web semántica es definida por Hendler,
Berners-Lee y Miller como “Una extensión de la actual Web en la que a la
información disponible se le otorga un significado bien definido que permita a los
ordenadores y a las personas trabajar en cooperación. Está basada en la idea de
proporcionar en la Web datos definidos y enlazados, permitiendo que
aplicaciones heterogéneas localicen, integren, razonen y reutilicen la información
presente en la Web.”

Algunos de los estándares Web más conocidos y ampliamente utilizados son: HTML
(HyperText Markup Language), para definir la estructura de los documentos; XML
(eXtensible Markup Language), que sirve de base para un gran número de
tecnologías; y CSS (Cascading Style Sheets), que permite asignar estilos para la
representación de los documentos.

 HTML (HyperText Markup Language) & CSS (Cascading Style Sheets):


Son tecnologías fundamentales para la construcción de páginas web. El
HTML o Lenguaje de Etiquetado de Hipertexto es utilizado para la
publicación de hipertexto en la Web es desarrollado para que cualquier
persona o tipo de dispositivo acceda, utiliza etiquetas que marcan elementos
y estructuran el texto de un documento. El CSS o Hojas de Estilo en Cascada
contiene reglas simples de cómo se va a mostrar un documento en pantalla, es
decir, lo relacionado con el estilo, el diseño, los colores y fuentes, básicamente
estiliza documentos HTML y XML donde ofrece control sobre la parte visual
separando el contenido y presentación.
 JavaScript & Web API´S: Un script es un código de programa que nos
necesita ser compilado después de ser ejecutado y una API es una interfaz de
programación de aplicaciones. En el contexto de un navegador web, el
scripting se refiere al código del programa escrito en JavaScript, que es
ejecutado por el navegador cuando una página es descargada o en respuesta a
un evento desencadenado por el usuario.
 Graphics: La web es mucho más que texto plano e información, también es
un medio para expresar la creatividad, la visualización de información y la
optimización de presentación de información para diferente tipo de público,
pues este tiene diferentes necesidades y expectativas.
Unos ejemplos de gráficos son, los mapas, las fotografías, diagramas, planos
de ingeniería o de arquitectura, tipografía, etc.
Los gráficos son usados para mejorar la apariencia de las páginas web y
también puede llegar a servir como interacción entre el usuario y la página
web.
 Audio y Video: Así como las gráficas, el audio y el video mejoran la
experiencia de los usuarios con las páginas web. Básicamente este tipo de
información es sonido, música o imagines en movimiento a través del tiempo.
 Accesibilidad: La web está diseñada para trabajar para todas las personas,
cualquiera que sea su hardware, software, idioma, cultura, localización o su
condición física y/o mental. Sin embargo, cuando los sitios web, las
tecnologías web o las herramientas web están mal diseñados, pueden crear
barreras que excluyen a las personas del uso de la Web.
 Internacionalización: Como se mencionó anteriormente en la accesibilidad,
hay personas de diferentes culturas y a su vez, hablan distintos idiomas y
tienen distintos sistemas alfabéticos. Siempre cuando se construye una página
web se debe tener en cuenta estos aspectos, para que no sea un impedimento
de accesibilidad para estas personas; se debe tratar que el diseño de la página
web sea de fácil adaptabilidad para estás personas.
 JSON (JavaScript Object Notation): JSON (JavaScript Object Notation):
Es un metaformato (los metaformatos son formatos genéricos que la gente
puede usar cuando crea sus propios lenguajes específicos de aplicaciones sin
tener que volver a crear la sintaxis) que es para el intercambio de datos,
básicamente JSON describe los datos con una sintaxis dedicada que se usa
para identificar y gestionar los datos. JSON nació como una alternativa a
XML, el fácil uso en JavaScript ha generado un gran número de seguidores
de esta alternativa. Una de las mayores ventajas que tiene el uso de JSON es
que puede ser leído por cualquier lenguaje de programación. Por lo tanto,
puede ser usado para el intercambio de información entre distintas
tecnologías.
 HTML5: Se trata de la última versión de HTML, con nuevos elementos,
atributos y comportamientos, ahora se puede añadir semántica y accesibilidad
implícitas. Es usado para estructurar y presentar el contenido para la web. Una
de las más importantes novedades está relacionada con la inserción de
multimedia en los sitios web, que ahora contarán con etiquetas HTML
especiales para poder ser incluidos. Se suma también la funcionalidad de drag
and drop, nav que es para bloque de navegación del sitio web o footer, también
la edición online de documentos ampliamente popularizada por Google Docs.
 AJAX: Significa Asincrónica JavaScript y XML, combina tecnologías
existentes como HTML, CSS, JavaScript, XML para la construcción de
aplicaciones web; la palabra asíncrono significa que cuando el cliente solicite
datos desde un servidor web, no se detiene hasta que el servidor responde,
JavaSacript es el lenguaje de instancia analiza la respuesta y luego la actualiza
por ultimo esta la el XML hace solicitud al servidor.
AJAX es utilizado cuando desee que un usuario envíe datos a su servidor, una
vez que haya completado un formulario, por ejemplo, normalmente deberá
enviar el formulario y luego esperar mientras se actualiza la página completa.
Del mismo modo, si desea recuperar datos nuevos del servidor, no tiene más
remedio que cargar una página completamente nueva.
Esto es ineficiente, lento y particularmente frustrante si solo se envía una
pequeña cantidad de datos hacia adelante y hacia atrás. Ajax, es una
tecnología que permite enviar estas solicitudes a través de pequeñas llamadas
de JavaScript, lo que significa que el usuario no tiene que esperar a que la
página se actualice.
 JQUERY: Es una librería JavaScript open-source, que funciona en múltiples
navegadores. Su objetivo principal es hacer la programación mucho más fácil
y rápida del lado del cliente, pues permite agregar interactividad a un sitio
web. Fue creada por John Resig y dentro de sus principales funciones se
destaca acceder a elementos en un documento, modificar la apariencia de una
web, alterar el contenido de un documento, responder a una interacción del
usuario, animar cambios en un documento, recoger información del servidor
sin refrescar la página, tareas diversas de Javascript.

2. XML (Extensible Markup Language): El lenguaje de Etiquetado Extensible es un


formato simple basado en texto para representar información estructurada:
documentos, datos, configuración, libros, transacciones, facturas y mucho más. Es un
lenguaje muy similar a HTML pero su función principal es describir datos y no
mostrarlos como es el caso de HTML, es decir, su función principal se refiere al
intercambio, estructuración y envió de datos en la Web, tiene la posibilidad de
estructurarlos utilizando etiquetas pero estas no están predefinidas lo que favorece a
la interoperabilidad.

Entre las tecnologías XML disponibles se destacan:


 XSL (eXtensible Stylesheet Language): El Lenguaje de Hojas de Estilo
Extensible pre visualiza como debería estar estructurado el contenido a través
de la creación de hojas. Consta de dos partes fundamentales un lenguaje de
transformación de documentos XML y un vocabulario XML para especificar
semánticas para el formato (objetos de formato).
 XPath (XML Path Language): El Lenguaje de Rutas XML permite acceder
a partes de un documento XML, como los atributos, elementos, etc.
 XLink (XML Linking Language): El Lenguaje de Enlace XML permite
insertar elementos en documentos XML para crear enlaces entre recursos
XML, es decir, que permite la creación de vínculos bidireccionales lo que
facilita la obtención de información remota.
 XPointer (XML Pointer Language): El Lenguaje de Direccionamiento
XML permite el acceso a la estructura interna de un documento XML; sus
atributos, elementos y contenido, permite llegar a partes especificas del
documento XML, funciona de forma parecida a los identificadores de
fragmentos en un documento HTML ya que se añade una URI y luego se
encuentra en un lugar específico.
 XQuery: El Lenguaje de Consulta XML permite la fácil extracción de datos
desde documentos XML, esta extracción la permite para distintos tipos de
documento como documentos estructurados, colecciones de documentos,
bases de datos, estructuras DOM, catálogos, etc., para extraer datos en la Web.

3. Servicios web: Hay numerosas definiciones de Servicios Web, lo cual simboliza su


complejidad al encontrar una definición adecuada. Se toma como una posible
definición de servicios web como el conjunto de aplicaciones o tecnologías con
capacidad para interoperar en la web. Estas tecnologías intercambian datos entre ellas
con el fin de ofrecer unos servicios. Estos servicios proporcionan mecanismos de
comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para
presentar información dinámica al usuario.

4. RSS (Rich Site Summary): Es una forma sencilla para recibir directamente en el
ordenador o en una página web online (a través de un lector RSS) información
actualizada sobre páginas favoritas o subscripción, sin necesidad de visitarlas una a
una, esta información se actualiza automáticamente a este tipo de visualización se le
conoce como “sindicación” y para lograrlo hace uso de los denominados
“agregadores” programas capaces de leer e interpretar las fuentes RSS, de estos
existen tres tipos loa agregadores de escritorio, en línea los plugins; es un formato
basado en XML. Es utilizado para recibir información desde otros sitios Web y para
ofrecer información desde nuestra propia Web.

5. Atom: Es un formato de redifusión desarrollado como alternativa a RSS, pues se notó


la incompatibilidad entre algunas versiones de dicho protocolo, pues el creador de
Atom pensaba que los protocolos de publicación basados en XML-RPC no eran lo
suficientemente interoperables.

6. Web Socket (RFC6455): El protocolo WebSocket permite la comunicación


bidireccional entre un cliente ejecutando código que no es de confianza en un entorno
controlado a un host remoto que ha optado por las comunicaciones de ese código. El
protocolo consiste en un apretón de manos de apertura seguido de enmarcado de
mensaje básico, en capas sobre TCP. El objetivo de esta tecnología es proporcionar un
mecanismo para las aplicaciones basadas en navegadores, que necesitan comunicación
bidireccional con servidores que no confíe en abrir múltiples conexiones HTTP. Es
posible que el servidor y el cliente envíen información de forma simultánea, solo se
envían los datos sin sobrecarga de cabeceras HTTP esto reduce el ancho de banda. La
conexión es posible a través de UPGRADE del protocolo HTTP.

7. Web workers: Los Web Workers hacen posible ejecutar la operación de un script en
un hilo en segundo plano separado de la ejecución el hilo principal de la aplicación
web. La ventaja de esto es que un proceso laborioso puede actuar en un hilo separado,
permitiendo al hilo principal (normalmente la UI) ejecutarse sin ser bloqueado o
ralentizado, básicamente son una API que permite ejecutar procesos en segundo plano,
no están destinados a ser utilizados en grandes cantidades, son de larga duración,
tienen un alto costo inicial de rendimiento por ejemplo la memoria.

8. Streaming códec: Es un algoritmo de compresión usado para reducir el tamaño del


stream. Contiene archivos que permiten interpretar el contenido de un tipo de
multimedia.

9. FLV: es un formato de archivo contenedor utilizado para entregar el vídeo a través de


Internet usando Adobe Flash Player, puede ser visto en la mayoría de los sistemas
operativos Contiene variantes de H.263 para el video en cuanto el audio está en
formato MP3 aunque es posible que soporte audio sin compresión.

10. WebM: Es un formato de vídeo de código abierto, basando en el codec VP8 que la
compañía adquirió el pasado año, el contenedor de Matroska y el audio Ogg Vorbis.
Está diseñado para uso en la web lo que amplía su rango de uso y fue desarrollado por
google.

11. ASF: El formato ASF, conocido como Active Streaming Format o Advanced
Streaming Format, es un contenedor de audio y vídeo digital propietario de Microsoft.
Está diseñado para la transferencia de contenido audiovisual. Los archivos ASF
incluyen contenedores de archivo para la transmisión de medios, Windows Media
Video y/o Windows Media Audio. A menudo contienen WMA y WMV, que son
prácticamente idénticos a los archivos ASF, a excepción del nombre de la extensión y
del tipo MIME.

12. VoIP(Voice Over Internet Protocol): El Protocolo de Voz por Internet es un método
por el cual tomando señales de audio analógicas se les transforma en datos digitales
que pueden ser transmitidos de internet hacia una dirección IP determinada. El VoIP
puede transformar una conexión standard a internet en una plataforma para realizar
llamadas gratuitas por internet. La comunicación se establece enviando paquetes a
través de una LAN (Red de área Local) y WAN (Red de área Amplia) lo que reemplaza
el cableado de cobre.

13. IPTV: Consiste en la distribución de señales de televisión paga mediante conexiones


de banda ancha sobre el protocolo IP. Se basa a partir de la tecnología video-streaming
o retransmisión de datos (en este caso, video).

14. H.323: Proporciona la base para la transmisión de voz, datos y vídeo sobre redes no
orientadas a conexión y que no ofrecen un grado de calidad del servicio, como son las
basadas en IP.

15. H.261: Es un estándar de codificación de video de la Unión Internacional de


Telecomunicaciones (ITU). Originalmente diseñado para la transmisión a través de
líneas RDSI en el que las ratios de datos son múltiplos de 64 kbit/s.

16. H.263: Es un estándar de compresión de video originalmente diseñado como un


formato comprimido de baja velocidad de bits para videoconferencia.

17. H.264: Es un estándar de vídeo digital de alta definición muy popular, y por buenos
motivos. Para entregar la misma calidad de vídeo, un “códec”
(codificador/descodificador) basado en el estándar H.264 comprime los archivos de
vídeo digital ocupando sólo la mitad del espacio que el estándar MPEG-2 utilizado en
discos DVD.

18. HTTP: El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol)


es un sencillo protocolo cliente-servidor que articula los intercambios de información
entre los clientes Web y los servidores HTTP. HTTP se basa en sencillas operaciones
de solicitud/respuesta. Un cliente establece una conexión con un servidor y envía un
mensaje con los datos de la solicitud. HTTP es el protocolo usado en cada transacción
Web (WWW), define la sintaxis y la semántica que utilizan los elementos software de
la arquitectura web (clientes, servidores, proxies) para comunicarse.

19. HTTP/2: HTTP/2 es un protocolo binario que conserva la misma semántica que el
protocolo HTTP1.X lo que significa que todos los verbos, cabeceras, etc. siguen
funcionando sin cambios. De hecho, HTTP/2 busca resolver los defectos que tiene la
comunicación a través TCP (la capa de transporte dentro del protocolo HTTP).

20. Arquitectura REST: REST o Representational State Transfer es un estilo de


Arquitectura a la hora de realizar una comunicación entre cliente y servidor. La
arquitectura REST donde las comunicaciones son más ligeras entre productor y
consumidor, mantenibles y escalables, hacen de REST un estilo de construcción
popular para APIs basadas en la nube, como las proporcionadas por Amazon,
Microsoft y Google.

21. AMP (Accelerated Mobila Pages): El tráfico desde dispositivos móviles hace tiempo
que es superior al de ordenadores de escritorio y que en ocasiones la navegación desde
dispositivos móviles puede ser frustrante para el usuario debido a que los sitios no
siempre están correctamente adaptados para ellos, AMP nace con el objetivo de
mejorar la velocidad de carga de las páginas web para móviles.
El objetivo de todo esto es ofrecer páginas más sencillas y optimizadas para que la
respuesta al usuario desde dispositivos móviles sea más ágil.

22. Servidores web:

 IIS: IIS es un conjunto de servicios para servidores usando Microsoft


Windows. Es especialmente usado en servidores web, que actualmente es el
segundo más popular sistema de servidor web
 Apache: Es un servidor web que resultó siendo uno de los logros más grandes
del software libre y la punta de lanza del mundo de las páginas web. Una de
las ventajas más grandes de Apache, es que es un servidor web
multiplataforma, es decir, puede trabajar con diferentes sistemas operativos y
mantener su excelente rendimiento. Apache es utilizado principalmente, para
realizar servicio a páginas web, ya sean estáticas o dinámicas. Este estupendo
servidor se integra a la perfección con otras aplicaciones, creando el famoso
paquete XAMP con Perl, Python, MySQL y PHP, junto a cualquier sistema
operativo, que por lo general es Linux, Windows o Mac OS.
 Tomcat: Tomcat es un contenedor de servlets (son módulos escritos en Java
que se utilizan en un servidor, que puede ser o no ser servidor web, para
extender sus capacidades de respuesta a los clientes al utilizar las
potencialidades de Java) que se utiliza en la Referencia oficial de la
implementación para Java Servlet y JavaServer Pages (JSP). Las
especificaciones Java Servlet y JavaServer Pages son desarrolladas por Sun
Microsystems cuyas especificaciones vienen dadas por la JCP (Java
Community Process). Apache Tomcat es desarrollado en un entorno abierto y
participatorio, bajo la licencia de Apache Software License.
 Glassfish: Es un servidor de aplicaciones que implementa la plataforma
JavaEE5, por lo que soporta las últimas versiones de tecnologías como: JSP,
JSF, Servlets, EJBs, Java API para Servicios Web (JAX-WS), Arquitectura
Java para Enlaces XML (JAXB), Metadatos de Servicios Web para la
Plataforma Java 1.0, y muchas otras tecnologías.
 Node.js: Node.js es una librería y entorno de ejecución de E/S dirigida por
eventos y por lo tanto asíncrona que se ejecuta sobre el intérprete de
JavaScript creado por Google V8 y es basada en JavaScript, por ende, tiene
un gran rendimiento.

23. Plataformas de Desarrollo Web (ASP.Net – JSP – PHP)

 ASP.Net
Es un modelo de desarrollo Web unificado que incluye los servicios necesarios para crear
aplicaciones Web empresariales con el código mínimo. ASP.NET forma parte de .NET
Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases en .NET
Framework. El código de las aplicaciones puede escribirse en cualquier lenguaje
compatible con el Common Language Runtime (CLR), entre ellos Microsoft Visual Basic,
C#, JScript .NET y J#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET que
se benefician del Common Language Runtime, seguridad de tipos, herencia, etc.
ASP.NET incluye:
 Marco de trabajo de página y controles
 Compilador de ASP.NET
 Infraestructura de seguridad
 Funciones de administración de estado
 Configuración de la aplicación
 Supervisión de estado y características de rendimiento
 Capacidad de depuración
 Marco de trabajo de servicios Web XML
 Entorno de host extensible y administración del ciclo de vida de las
aplicaciones
 Entorno de diseñador extensible
Ventajas
 Se encarga de detectar el tipo de navegador utilizado por el cliente a la hora de
realizar una petición al servidor y en consecuencia, determina la versión HTML
que éste soporta.
 Se puede utilizar en cualquier computadora que esté conectada a la red que tenga
instalado un navegador.
 Es muy fácil de programar y tiene muchas utilidades que con una breve línea de
aprendizaje pueden ser modificadas a su gusto.
 Tiene la facilidad de conectarse con la base de datos, que hace que sea muy fácil.
 Permite a los proveedores de Web ofrecer aplicaciones de negocios interactivos y
no simplemente meros contenidos publicables.
Desventajas
 Una de las limitaciones en el desarrollo con ASP es que con el tradicional
utilizamos lenguajes de scripting no tipeados como VSBcrip o JScrip. Podemos
instalar otros motores scripting que impongan verificación de tipos; sin embargo,
no son universalmente conocidos o utilizamos como los anteriores.
 Tiene que correr en PC’s normales que tengan Windows y un servidor Web.
Un servidor web ASP.NET es un servidor IIS ampliado que tiene integrado el modelo de
extensibilidad en tiempo de ejecución de ASP.NET en el servidor principal. La
configuración de servidor ASP.NET usa los módulos IIS para ASP.NET, Extensibilidad
de .NET, Filtro de solicitudes, los filtros ISAPI y las extensiones ISAPI en la instalación
predeterminada del servidor web de IIS 7.
 JSP (Java Server Pages (JSP))
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/XML mezclado con etiquetas especiales para
programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con
nuestro editor HTML/XML habitual.
En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos
tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de
la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes de
que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traducción de esa
página en un servlet, implementado en un archivo class (Byte codes de Java). Esta fase de
traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página
.jsp, aunque existe la opción de precompilar en código para evitar ese tiempo de espera la
primera vez que un cliente solicita la página.
Componentes:
 Contra Active Server Pages (ASP). ASP es una tecnología similar de Microsoft. Las
ventajas de JSP están duplicadas. Primero, la parte dinámica está escrita en Java, no
en Visual Basic, otro lenguaje específico de MS, por eso es mucho más poderosa y
fácil de usar. Segundo, es portable a otros sistemas operativos y servidores Web.
 Contra los Servlets. JSP no nos da nada que no pudiéramos en principio hacer con un
servlet. Pero es mucho más conveniente escribir (y modificar!) HTML normal que
tener que hacer un billón de sentencias println que generen HTML. Además,
separando el formato del contenido podemos poner diferentes personas en diferentes
tareas: nuestros expertos en diseño de páginas Web pueden construir el HTML,
dejando espacio para que nuestros programadores de servlets inserten el contenido
dinámico.
 Contra Server-Side Includes (SSI). SSI es una tecnología ampliamente soportada que
incluye piezas definidas externamente dentro de una página Web estática. JSP es
mejor porque nos permite usar servlets en vez de un programa separado para generar
las partes dinámicas. Además, SSI, realmente está diseñado para inclusiones sencillas,
no para programas "reales" que usen formularios de datos, hagan conexiones a bases
de datos, etc.
 Contra JavaScript. JavaScript puede general HTML dinámicamente en el cliente. Este
una capacidad útil, pero sólo maneja situaciones donde la información dinámica está
basada en el entorno del cliente. Con la excepción de las cookies, el HTTP y el envió
de formularios no están disponibles con JavaScript. Y, como se ejecuta en el cliente,
JavaScript no puede acceder a los recursos en el lado del servidor, como bases de
datos, catálogos, información de precios, etc.
Desventajas
 No posee una interfaz con muchas posibilidades, ya que la interfaz web es limitada.
 La codificación de interfaces elaboradas lleva muchas lineas de código, y la mayoria
debe hacerse usando scripts (javascript)
 La carga de la interfaz es mas lenta que la de una aplicación de escritorio
 La mayor parte de la lógica de la aplicación se ejecuta en el servidor, por lo que se
corre el riesgo de sobrecargar de trabajo al mismo
 La aplicación no está disponible si ocurre algun problema con el servidor o con la
conexión de red
Ventajas
 Es un lenguaje totalmente escrito
 Fuerte capacidad de manipulación de gráficos
 Cargas de APIs: Interfaz de programación de aplicaciones
 Open Source: Código abierto es la expresión con la que se conoce al software
distribuido y desarrollado libremente
 La ventaja fundamental en que tenemos oda la ventaja del lenguaje a java a nuestro
alcance
 Reusabilidad, robustez y multiplaaforma
 PHP (Hypertext Preprocessor)
PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que
puede ser incrustado en HTML. Es popular porque un gran número de páginas y portales
web están creadas con PHP. Código abierto significa que es de uso libre y gratuito para
todos los programadores que quieran usarlo. Incrustado en HTML significa que en un
mismo archivo vamos a poder combinar código PHP con código HTML, siguiendo unas
reglas.
PHP se utiliza para generar páginas web dinámicas. Recordar que llamamos página
estática a aquella cuyos contenidos permanecen siempre igual, mientras que llamamos
páginas dinámicas a aquellas cuyo contenido no es el mismo siempre. Por ejemplo, los
contenidos pueden cambiar en base a los cambios que haya en una base de datos, de
búsquedas o aportaciones de los usuarios, etc.
Ventajas:
 Es un lenguaje multiplataforma.
 Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a
información almacenada en una Base de Datos.
 El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el
servidor el que se encarga de ejecutar el código y enviar su resultado HTML al
navegador. Esto hace que la programación en PHP sea segura y confiable.
 Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan
en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
 PHP es que puede funcionar en un servidor Windows y en LINUX.
 Su gran comunidad de PHP hace que el soporte, guías, libros y soluciones de dudas
sea mucho más fácil en foros o redes sociales.
 PHP no requiere ningún tipo de licencia.
 Permite las técnicas de programación orientada a objetos.
Desventajas
 Promueve creación de código desordenado y con un mantenimiento complejo.
 No posee adecuado manejo de unicode.
 Es muy difícil de optimizar.
 Diseñado especialmente hacia un modo de realizar aplicaciones Web que es
problemático y obsoleto.
El servidor web ejecuta solamente un único proceso monohilo, por lo que las aplicaciones
PHP se detendrán si la solicitud está bloqueada.
Las peticiones de URI se sirven desde el actual directorio de trabajo donde PHP se inició,
a menos que la opción -t sea utilizada para especificar una raíz de documentos explícita.
Si una petición de URI no especifica un fichero, entonces el index.php o index.html que
estén en el directorio dado serán devueltos. Si ninguno de los ficheros existe, la búsqueda
de index.php e index.html continuará en el directorio padre y continuará así hasta
encontrar uno de ellos o se alcance el directorio raíz.
24. Sistemas de Gestión de contenidos:

 Joomla: Es un sistema de gestión de contenidos o CMS que en inglés significa


Content Management System que permite desarrollar sitios web dinámicos e
interactivos. Joomla es una herramienta muy potente que requiere pocos
conocimientos previos y nos permite crear páginas web en poco tiempo. Su gestión
es netamente online y está programado en y utiliza bases de datos relacionales
específicamente MySQL, mientras que MySQL guarda toda la información y la
mayor parte de la configuración del sistema, los scripts PHP ejecutan las acciones de
consulta y realizan modificaciones en la base de datos convirtiendo los datos en
simples páginas web.
 Drupal: Es un CMS o sistema de gestión de contenidos que se utiliza para crear sitios
web dinámicos y con gran variedad de funcionalidades. Esta filosofía de "bien
público" ha propiciado que a lo largo de los años Drupal haya ido impulsando la
formación de una extensa comunidad de programadores que día a día van uniendo
sinergias y mejorando el sistema, publicando sus aportaciones en beneficio de todos
lenguajes PHP y SQL y haciendo más rica esta tecnología de manera directa. Drupal
es un sistema multipropósito que permite realizar cualquier tipo de proyecto web.
Drupal es utilizado pricipalmete con Apache, MySQL y PHP pero es posible instalar
otro tipo de servidores Web como ISS o Ngnix y utiliza PostgreSQL o SQLite como
motores de bases de datos.
 WordPress: WordPress (WP o Word Press) es una plataforma que permite la gestión
de contenidos orientado a la creación de sitios web, WordPress es muy popular por
facilitar el surgimiento de blogs que pueden o no desarrollarse de manera sencilla en
páginas web, la sencillez de esta plataforma resalta a partir de sus funciones por la
gran cantidad de desarrolladores y diseñadores a su disposición que permiten, por
ejemplo, tener un banco de plantillas y plugins considerablemente amplio, su éxito se
lo deba a la flexibilidad que maneja y por ser un sistema intuitivo.
 Frog CMS: Frog es la versión PHP del CMS Radiant, un administrador de contenidos
bastante conocido programado en Ruby on Rails, con licencia (AGPL). Frog CMS
permite simplificar de manera considerable la gestión de los contenidos. Para esto
ofrece una interfaz más elegante, plantillas flexibles y una gestión de usuarios más
sencilla. Está basado en Ruby on Rails y requiere de PHP5 y MySQL.
III. CLOUD COMPUTING, BIG DATA Y ANÁLISIS DE DATOS.

1. Cloud computing:
 Conceptos
Es un término general para denominar cualquier cosa que tenga que ver con la provisión
de servicios de hospedaje a través de Internet. Estos servicios se dividen en tres grandes
categorías: Infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y
software como servicio (SaaS). El nombre de computación en la nube fue inspirado por
el símbolo de nube que se utiliza a menudo para representar a Internet en imágenes y
diagramas de flujos.
Es una tecnología nueva que busca tener todos nuestros archivos e información en
Internet, sin preocuparse por poseer la capacidad suficiente para almacenar información
en nuestro ordenador.
 Características.
Existen cinco características esenciales de la computación en la nube que las empresas
deben conocer:
1. Self-service a demanda. El consumidor puede acceder y utilizar los servicios en
función de sus necesidades.
2. Amplio acceso de red. Una característica clave de la computación en la nube es que
los servicios se encuentran disponibles en una red que puede ser privada, compartida o
pública.
3. Pool de recursos. La mayoría de las veces esta característica se refiere a los recursos
de hardware, como la capacidad de procesamiento, la asignación de memoria o el
almacenamiento.
4. Elasticidad. La escalabilidad en los métodos de despliegue tradicionales exige
planificación para los recursos tanto físicos como financieros
5. Medición de servicios. El control y la elaboración de informes sobre el uso del servicio
contribuyen al control y optimización de los recursos por parte de los proveedores de
servicios en la nube.
Beneficios:
• Integración con otros sistemas, por su estructuración la tecnología cloud computer
nos ofrece una integración más rápida y fácil con el resto de nuestras aplicaciones.
• Recuperación rápida ante desastres y reducción al mínimo de los tiempos de
inactividad.
• Simplicidad y menor inversión.
• Actualizaciones que no afectan a nuestros recursos, ¿cuántas veces una simple
actualización de nuestro sistema operativo hace que un software deje de funcionar?
• Un uso más eficiente de la energía permitiéndonos un ahorro en dicho aspecto
Desventajas:
• Tener nuestras aplicaciones e información en la nube crea una dependencia con
nuestro proveedor de servicios
• Para tener acceso a nuestras aplicaciones e información estamos obligados a tener un
acceso a Internet
• La información no reside en nuestro ordenador, por lo que podría haber un problema
de seguridad o robo de información
• Escalabilidad a largo plazo, a medida que más usuarios utilizan los recursos de cloud
computer, la carga de los servidores aumentará y disminuirá el rendimiento de los
mismos.
 Tipos.
Nubes Públicas
Se manejan por terceras partes intentan brindar a los consumidores elementos
informáticos sin complicaciones. Se trate de software, de infraestructura de aplicaciones
o de infraestructura física, el proveedor de la nube asume las responsabilidades de
instalación, gestión, provisión y mantenimiento. Dentro de sus ventajas se encuentra que
la capacidad de almacenamiento y procesamiento sin tener que instalar máquinas locales,
la integridad de los datos recae sobre el proveedor de hardware y software, el retorno de
la inversión es rápido; como inconvenientes se presenta que se cuenta con acceso de la
información a terceras empresas y la dependencia de los servicios en línea, además resulta
difícil integrar este servicio con otros.
Nubes Privadas
Son servicios de nube que se brindan dentro de la empresa que necesitan alta protección
de datos y están gestionadas por la misma empresa. Las nubes privadas ofrecen muchos
de los beneficios que ofrecen las nubes públicas, con una diferencia fundamental: la
empresa es la encargada de la configuración y el mantenimiento de la nube. La plataforma
se encuentra dentro de las instalaciones y no suele ofrecer servicios a terceros, tiene
ventaja en que la localización de los datos se encuentra en la empresa esto implica mayor
seguridad, además también puede integrase de forma fácil los otros sistemas, uno de sus
inconvenientes es la inversión que se debe hacer para la infraestructura, física sistemas
de virtualización, ancho de banda y seguridad más el gasto del mantenimiento lo que
conlleva a una retorno más lento de la inversión.
Nubes Híbridas
Combinan los modelos de nubes públicas y privadas. Por lo general, estas nubes son
creadas por empresas, aunque las responsabilidades de gestión se dividen entre la
empresa y el proveedor de la nube pública. La nube híbrida aprovecha al máximo
servicios que se encuentran tanto en el espacio público como en el privado. Dentro de sus
ventajas esta la inversión que se hace ya que es más moderada que en la privada y cuenta
con SaaS, PaaS o IaaS.
Nubes Comunitarias
Es utilizado por varias organizaciones compartan los recursos de computación y
tecnológicos al compartir negocios, servicios y objetivos, tiene menos usuarios que una
nube publica y quizás resultando más costosa su implantación, ofrece mayores niveles de
privacidad y seguridad.
 Software como servicio.
El software como servicio (SaaS) permite a los usuarios conectarse a aplicaciones
basadas en la nube a través de Internet y usarlas. Algunos ejemplos comunes son el correo
electrónico, los calendarios y las herramientas ofimáticas (como Microsoft Office 365).
SaaS ofrece una solución de software integral que se adquiere de un proveedor de
servicios en la nube mediante un modelo de pago por uso. Usted alquila el uso de una
aplicación para su organización y los usuarios se conectan a ella a través de Internet,
normalmente con un explorador web. Toda la infraestructura subyacente, el middleware,
el software y los datos de las aplicaciones se encuentran en el centro de datos del
proveedor. El proveedor de servicios administra el hardware y el software y, con el
contrato de servicio adecuado, garantizará también la disponibilidad y la seguridad de la
aplicación y de sus datos. SaaS permite que una organización se ponga en marcha y pueda
ejecutar aplicaciones con un costo inicial mínimo.
 Plataforma como servicio.
Plataforma como servicio (PaaS) es un entorno de desarrollo e implementación completo
en la nube, con recursos que permiten entregar todo, desde aplicaciones sencillas basadas
en la nube hasta aplicaciones empresariales sofisticadas habilitadas para la nube. Usted
le compra los recursos que necesita a un proveedor de servicios en la nube, a los que
accede a través de una conexión segura a Internet, pero solo paga por el uso que hace de
ellos.
Al igual que IaaS, PaaS incluye infraestructura (servidores, almacenamiento y redes),
pero también incluye middleware, herramientas de desarrollo, servicios de inteligencia
empresarial (BI), sistemas de administración de bases de datos, etc. PaaS está diseñado
para sustentar el ciclo de vida completo de las aplicaciones web: compilación, pruebas,
implementación, administración y actualización.
 Infraestructura como servicio.
La infraestructura como servicio (IaaS) es una infraestructura informática inmediata que
se aprovisiona y administra a través de Internet. Permite reducir o escalar verticalmente
los recursos con rapidez para ajustarlos a la demanda y se paga por uso.
IaaS evita el gasto y la complejidad que suponen la compra y administración de sus
propios servidores físicos y otra infraestructura de centro de datos. Cada recurso se ofrece
como un componente de servicio aparte, y usted solo tiene que alquilar un recurso
concreto durante el tiempo que lo necesite. El proveedor de servicios informáticos en la
nube administra la infraestructura, mientras que usted compra, instala, configura y
administra su propio software (sistemas operativos, middleware y aplicaciones).
Aplicaciones y/o Servicios en la nube: Windows Azure – Amazon Elastic Compute Cloud
(Amazon EC2)–Office 365–OneDrive–Google Drive-iCloud–DropBox–SugarSync-otros
 Windows Azure
Plataforma de nube abierta (permite utilizar cualquier lenguaje, marco o herramienta para
crear aplicaciones) y flexible, permite el desarrollo de aplicaciones y servicios web,
aprovecha las máquinas virtuales y extiende las limitaciones de sus sistemas de disco y
prestaciones de procesador o red. Tiene servicios de Business Intelligent y Big Data,
BBDD relacional, Media Services, SQL SERVER, Backup, soluciones Linux, etc.
 Oracle Could
Orange Cloud nos ofrece 25 GB de almacenamiento gratuito para las tarifas Ballena,
Delfín y Canguro ilimitado. Podemos configurar el espacio para que guarde todas las
fotos que realizamos con nuestro smartphone, de forma que cualquier fotografía que
tomemos con nuestro terminal estará automáticamente almacenada en la nube.
 Amazon Elastic Compute Cloud (Amazon EC2)
Servicio web con capacidad de computo adaptable o servidores de centro de datos de
Amazon utilizado para hospedar y compilar los sistemas de software.
 DropBox
Dropbox es el servicio más popular de almacenamiento en la nube. Sin embargo. es uno
de los que menos almacenamiento gratuito ofrece: apenas 2 GB, que hoy en día resultan
del todo insuficientes. Se puede lograr ganar espacio de almacenamiento gratuito si
optamos por guardar las fotos del smartphone en Dropbox o con su política de
recomendaciones, hasta un máximo de 30 GB.
Es en la funcionalidad donde tiene su punto fuerte, con un completo acceso
multiplataforma, gestionando sus archivos personales cómodamente y sin necesidad de
llevarlos almacenados en las memorias de sus dispositivos. Además, si necesitamos
compartir archivos o enlaces con otros usuarios, podemos hacerlo sin necesidad de que
ellos tengan cuenta en Dropbox.
 OneDrive – Office 365
OneDrive viene preinstalado en Windows 10 y funciona también en otras plataformas,
como iOS, Android o Mac. A pesar de que la política de Microsoft ha sido un tanto
errática con OneDrive, pasando de ofrecer 15 GB de almacenamiento gratuito a sólo 5
GB, es una de las mejores opciones para almacenar archivos e imágenes. La posibilidad
de editar si tenemos acceso a Internet con Office Online es una gran solución para los
usuarios básicos.
Para los usuarios de Office 365, ofrece 1 TB de almacenamiento, además de la posibilidad
de tener instalada y utilizar la suite ofimática de Microsoft. En este sentido, la oferta
resulta más atractiva que la de Dropbox, ya que por el mismo dinero tenemos la
suscripción anual a Office para 5 equipos.
Aquellos que poseen esta aplicación en sus smartphones, ya sea con Android, con iOS o
por supuesto con Windows 10 Mobile pueden crear archivos de World, Excel y
PowerPoint. Por supuesto, también es posible sincronizar las imágenes y vídeos que
creamos con nuestros teléfonos en OneDrive, una de las opciones más versátiles para
almacenar documentos online.
 iCloud
Guarda de forma segura fotos, vídeos, documentos, música, apps y otros contenidos, y
los mantiene actualizados en todos tus dispositivos. Permite compartir fotos, calendarios,
ubicaciones y mucho más, es para dispositivos iOS o Mac. Ofrece 5 GB de
almacenamiento gratis.
 SugarSync
Permite sincronizar archivos de tu ordenador personal en los servidores de SugarSync,
puedes ver, utilizar, descargar, modificar etc. en otros dispositivos como un celular con
android, o una PC con S.O de Mac e incluso un celular con Symbian.
 Google Drive
La propuesta de Google es Google Drive, que permite añadir ficheros y almacenarlos, así
como editarlos a través de Google Docs. Google Drive también sincroniza
automáticamente todos los contenidos que tengamos guardados, para que podamos
trabajar con ellos independientemente del dispositivo que utilicemos para acceder a
nuestra cuenta. En este caso nos ofrece 15 GB de espacio gratuito. También podemos
configurarlo para que guarde una copia de las imágenes y vídeos de nuestros dispositivos
móviles.

2. BIG DATA:
Big Data es un conjunto de datos o combinaciones de conjuntos de datos cuyo tamaño
(volumen), complejidad (variabilidad) y velocidad de crecimiento (velocidad)
dificultan su captura, gestión, procesamiento o análisis mediante tecnologías y
herramientas convencionales, tales como bases de datos relacionales y estadísticas
convencionales o paquetes de visualización, dentro del tiempo necesario para que
sean útiles.
Aunque el tamaño utilizado para determinar si un conjunto de datos determinado se
considera Big Data no está firmemente definido y sigue cambiando con el tiempo, la
mayoría de los analistas y profesionales actualmente se refieren a conjuntos de datos
que van desde 30-50 Terabytes a varios Petabytes.
Herramientas
- Hadoop
No se puede hablar de Big Data sin hablar de la veterana Apache Hadoop. Esta
herramienta Big Data open source se considera el framework estándar para el
almacenamiento de grandes volúmenes de datos; se usa también para analizar y
procesar, y es utilizado por empresas como Facebook y Yahoo!.
La biblioteca Hadoop utiliza modelos de programación simples para el
almacenamiento y procesamiento distribuido de grandes conjuntos de datos en
clusters, dando redundancia para no perder nada y, al mismo tiempo, aprovechando
muchos procesos a la vez.
- MongoDB
Dentro de las bases de datos NoSQL, probablemente una de las más famosas sea
MongoDB. Con un concepto muy diferente al de las bases de datos relacionales, se
está convirtiendo en una interesante alternativa para almacenar los datos de nuestras
aplicaciones.
MongoDB es una base de datos orientada a documentos (guarda los datos en
documentos, no en registros). Estos documentos son almacenados en BSON, que es
una representación binaria de JSON.
- Elasticsearch
Elasticsearch es una potente herramienta para la búsqueda entre grandes cantidades
de datos, especialmente cuando los datos son de tipo complejo.
Nos permite indexar y analizar en tiempo real un gran volumen de datos y hacer
consultas sobre ellos. Un ejemplo de uso son las consultas de texto completo; al estar
los datos indexados, los resultados se obtienen de forma muy rápida. En el IIC
utilizamos esta herramienta para indexar datos dentro de nuestras soluciones de
entorno digital.
- Apache Spark
Apache Spark es un motor de procesamiento de datos de código abierto realmente
rápido.
Creado por Matei Zaharia en la Universidad de Berkeley, se considera el primer
software open source que hace la programación distribuida (muy en esencia, consiste
en distribuir el trabajo entre un grupo de ordenadores, “cluster”, que trabajan como
uno) realmente accesible a los científicos de datos.
- Apache Storm
Apache Storm es un sistema de computación distribuida en tiempo real orientado a
procesar flujos constantes de datos, por ejemplo, datos de sensores que se emiten con
una alta frecuencia o datos que provengan de las redes sociales, donde a veces es
importante saber qué se está compartiendo en este momento.
- Lenguaje R
R es un lenguaje de programación y entorno de software para cálculo estadístico y
gráficos. El lenguaje R es de los más usados por los estadistas y otros profesionales
interesados en la minería de datos, la investigación bioinformática y las matemáticas
financieras.
R se parece más al lenguaje de las matemáticas que a otros lenguajes de
programación, lo que puede ser un inconveniente para los programadores a la hora de
elegir programar en R para temas de Big Data.
- Python
Python es un lenguaje avanzado de programación con la ventaja de ser relativamente
fácil de usar para usuarios que no estén familiarizados con la informática de manera
profesional, pero que necesitan trabajar con análisis de datos (estadistas, biólogos,
físicos, lingüistas…).
Es una herramienta para Big Data muy eficiente, en parte debido a la gran comunidad
existente, por lo que Python dispone de muchas librerías ya hechas por otros usuarios.
Para el almacenamiento de datos NoSQL existen distintos tipos de bases de datos: Se
encuentra los datos clave (Cassandra, BigTable o HBase) en donde cada elemento se
identifica con una única llave, datos documentales (MongoDB o CouchDB.) que utilizan
una estructura json o xml y para cada registro se utiliza una clave única permite
realizar búsquedas clave–valor son de las más versátiles bases de datos, datos en grafo
(Neo4j, InfoGrid o Virtuoso) la información se representa en nodos y las aristas son las
relaciones esta se estructura de manera normalizada con una sola columna y relación
dos y la orientada a objetos (Zope, Gemstone o Db4o).

3. ANÁLISIS DE DATOS:
Minería de Datos (Data Mining)
Es el proceso de extracción de información significativa de grandes bases de datos,
información que revela inteligencia del negocio, a través de factores ocultos,
tendencias y correlaciones para permitir al usuario realizar predicciones que resuelven
problemas del negocio proporcionando una ventaja competitiva. Las herramientas de
Data Mining predicen las nuevas perspectivas y pronostican la situación futura de la
empresa, esto ayuda a los mismos a tomar decisiones de negocios proactivamente.
La minería de datos, Data Mining, es un proceso de descubrimiento de nuevas y
significativas relaciones, patrones y tendencias al examinar grandes cantidades de
datos. La disponibilidad de grandes volúmenes de información y el uso generalizado
de herramientas informáticas ha transformado el análisis de datos orientándolo hacia
determinadas técnicas especializadas englobadas bajo el nombre de minería de datos
o Data Mining. Las técnicas de minería de datos persiguen el descubrimiento
automático del conocimiento contenido en la información almacenada de modo
ordenado en grandes bases de datos.
Agrupación (Clustering)
La técnica de análisis cluster o análisis de conglomerados consiste en clasificar a los
individuos en estudio formando grupos o conglomerados (cluster) de elementos, tales
que los individuos dentro de cada conglomerado presenten cierto grado de
homogeneidad en base a los valores adoptados sobre un conjunto de variables. En el
análisis cluster, a diferencia del análisis discriminante (donde los grupos están
establecidos a priori y la función discriminante permite reasignar los elementos a los
grupos), los conglomerados son desconocidos y el proceso consiste en su formación
de modo óptimo, aglutinando unidades homogéneas.
Análisis de Texto (Text Analytics)
El Análisis de Datos (Data Analysis, o DA) es la ciencia que examina datos en bruto
con el propósito de sacar conclusiones sobre la información. El análisis de datos es
usado en varias industrias para permitir que las compañías y las organizaciones tomen
mejores decisiones empresariales y también es usado en las ciencias para verificar o
reprobar modelos o teorías existentes. El análisis de datos se distingue de la extracción
de datos por su alcance, su propósito y su enfoque sobre el análisis. Los extractores
de datos clasifican inmensos conjuntos de datos usando software sofisticado para
identificar patrones no descubiertos y establecer relaciones escondidas. El análisis de
datos se centra en la inferencia, el proceso de derivar una conclusión basándose
solamente en lo que conoce el investigador
IV. EVOLUCIÓN DE LA WEB
Web 1.0: Internet Básica.
La web 1.0 es un tipo de web estática con documentos que jamás se actualizaban y
los contenidos dirigidos a la navegación HTML y GIF. En ella se subían documentos
que JAMAS se actualizaban lo cual era un problema cuando la información era
renovada o pasaban cosas que hiciera que cambiaran los datos. Usaban un formato
HTML para poder guardar y crear las páginas, debido a que como no eran tantas se
podía llevar un registro acerca de lo que se subía a la Internet.
Web 2.0: La red de ayuda, colaboración e interacción.
La web 2.0 no es más que la evolución de la web o Internet en el que los usuarios
dejan de ser usuarios pasivos para convertirse en usuarios activos, que participan y
contribuyen en el contenido de la red siendo capaces de dar soporte y formar parte de
una sociedad que se informa, comunica y genera conocimiento.
La web 2.0 se asiento a mediados de la primera década de este siglo. Sustentada bajo
unas conexiones a internet evolucionadas (ya teníamos ADSL), y mejores
herramientas para desarrollar web, mejores servidores, etc., la web 2.0, también
denominada "la red social", llena Internet de blogs, wikis, foros y finalmente, redes
sociales. El objetivo de la web 2.0 es la compartición del conocimiento, es la web
colaborativa y ha sido uno de los atractivos principales para atraer a usuarios.
Web 3.0: La evolución o inteligente.
La web 3.0 es la web semántica, la web de la nube, la web de las aplicaciones y la
web multidispositivo. Hoy en día ya no solamente utilizamos ordenadores para
conectarnos a Internet. Los tablets, los smartphones, e incluso los mapas interactivos,
algunas tiendas, y en un futuro no lejano la automoción estará consumiendo Internet.
La web 3.0 se presenta como una web inteligente (aunque creemos que para esto aun
falta bastante), y principalmente aprovecha la nube para prestar servicios al usuario y
eliminar su necesidad de disponer de sistemas operativos complejos y grandes discos
duros para almacenar su información.
Web 4.0: Era de las comunicaciones.
La Web 4.0 ya ha empezado para algunos, aunque tendrán que pasar algunos años
para que se afiance y comience a mostrar todo su potencial. Esta nueva versión de la
Red se basará en explotar toda la información que ahora mismo contiene, pero de una
forma más natural y efectiva.
Lo que propone la Web 4.0 es mejorar esa experiencia mediante el uso de nuevas
tecnologías que permitirían un nivel de interacción más completo y personalizado. Lo
que propone la Web 4.0 es mejorar esa experiencia mediante el uso de nuevas
tecnologías que permitirían un nivel de interacción más completo y personalizado.
Web 5.0: Red de las emociones.
Aunque no hay una fecha exacta de inicio de esta etapa, se buscará clasificar las
emociones de las personas, por medio de dispositivos, aplicaciones productos o
servicios, entre los más relevantes, que su principal objetivo sea mejorar la
experiencia de las empresas o personas en la web. Esta sin duda será la que generará
mayor afinidad con los usuarios sin determinar raza, nivel social o género.
2. Movilidad, ubicuidad y disponibilidad de la Web.

Movilidad
Acceder a la Web dónde y cuando sea necesario, la personalización, o sea configurar
cualquier aplicación según nuestras necesidades.
Ubicuidad
Son las nuevas tecnologías, las plataformas sociales, las herramientas que hacen más
eficiente la promoción, las aplicaciones pensadas para optimizar las experiencias, en
definitiva, los instrumentos a través de los cuales podemos desarrollarnos, los que nos
permite estar en varios lugares al mismo tiempo.
La conexión entre lo real y lo virtual a cualquier hora, desde cualquier dispositivo
uniendo experiencias, personas, sucesos, construyendo tendencias y formando nuevas
ideas innovadoras, es lo que ha modificado la forma en la que vemos el mundo, el
orden social establecido y cómo nos desenvolvemos en él.
La Web ubicua es en sí misma, la consecuencia lógica de esta exaltación por la calidad
y el aprendizaje cuya primera toma de contacto la tuvimos con Quora y más adelante
con un algoritmo Google mucho más exigente en relación a la calidad.
Disponibilidad
La disponibilidad de una página web tiene que ver con el servidor donde se encuentre
alojado el sitio web, tanto en la capacidad de infraestructura como en la adecuada
conectividad a Internet. Un servidor que se encuentre de forma constante sin servicio
o que no esté diseñado para ofrecer rápidamente todas las páginas solicitadas hará
fracasar a cualquier sitio web que se encuentre bien diseñado y completo.
3. Internet II (IPv6 – QoS).
IPv6.
Cuando utilizamos Internet para cualquier actividad, la comunicación entre los
diferentes elementos de la red y nuestro propio ordenador o teléfono, utiliza un
protocolo que denominamos Protocolo de Internet (IP, Internet Protocol).
Para que los dispositivos se conecten a la red, necesitan una dirección IP. Cuando se
diseñó IPv4, casi como un experimento, no se pensó que pudiera tener tanto éxito
comercial, y dado que sólo dispone de 2^32 direcciones (direcciones con una longitud
de 32 bits, es decir, 4.294.967.296 direcciones), junto con el imparable crecimiento
de usuarios y dispositivos, implica que en pocos meses estas direcciones se agotarán.
Por este motivo, y previendo la situación, el organismo que se encarga de la
estandarización de los protocolos de Internet (IETF, Internet Engineering Task
Force), ha trabajado en los últimos años en una nueva versión del Protocolo de
Internet, concretamente la versión 6 (IPv6), que posee direcciones con una longitud
de 128 bits, es decir 2^128 posibles direcciones
(340.282.366.920.938.463.463.374.607.431.768.211.456), o dicho de otro modo, 340
sextillones.
Qos.
QoS es el acrónimo de Quality of Service, o calidad de servicio, que establece
diversos mecanismos destinados a asegurarnos la fluidez en el tráfico de la red. Para
ello, lo que hace es dar prioridad al tráfico según el tipo de datos que transportan. Por
ejemplo, puedes dar prioridad al tráfico de imágenes si lo que quieres es que la
conexión de tu televisor con Internet sea más ágil.
4. Web Semántica (RDF – OWL – SPARQL)
RDF.
RDF es un método general para descomponer conocimiento en piezas pequeñas, con
algunas reglas acerca de la semántica o significado de esas piezas. El punto es que
sea un método tan simple que pueda expresar cualquier hecho, y a la vez tan
estructurado que aplicaciones de computadora puedan usar el conocimiento
expresado para hacer cosas útiles. De alguna forma RDF puede ser comparado a
XML ya que también es diseñado para ser simple y aplicable a cualquier tipo de datos.
XML es también mucho más que un formato de archivo. Se trata de una base para
lidiar con documentos jerárquicos y auto-contenidos, sin importar si deben ser
guardados en un disco en el formato usual <></>, o mantenidos en memoria y
accedidos a través de una API DOM.
OWL (Web Ontology Language).
Está diseñado para usarse cuando la información contenida en los documentos
necesita ser procesada por programas o aplicaciones, en oposición a situaciones donde
el contenido solamente necesita ser presentado a los seres humanos. OWL puede
usarse para representar explícitamente el significado de términos en vocabularios y
las relaciones entre aquellos términos. Esta representación de los términos y sus
relaciones se denomina una ontología. En realidad, OWL es una extensión del
lenguaje RDF y emplea las tripletas de RDF, aunque es un lenguaje con más poder
expresivo que éste.
SPARQL.
RDF es un formato de datos para grafos dirigidos etiquetados, que permite representar
información en la Web. Normalmente, RDF se utiliza, entre otros usos, para
representar información personal, redes sociales, metadatos sobre objetos digitales,
así como para proporcionar un medio para la integración de fuentes de información
dispares. Esta especificación define la sintaxis y la semántica de SPARQL, un
lenguaje de consulta para RDF.
El lenguaje de consulta SPARQL para RDF está diseñado para cumplir con los casos
de uso y necesidades identificadas por el Grupo de Trabajo de Acceso a Datos RDF.
5. Redes Académicas de Alta Velocidad (RENATA, RUMBO, CLARA).
Las redes académicas de alta velocidad y tecnología avanzada, conforman uno de los
más importantes recursos e infraestructuras desplegados y puestos en marcha, con el
único objetivo de permitir potenciar el desarrollo de la educación y el conocimiento,
que permite a los países contar con recursos, garantizan una igualdad de competencia,
tanto en la educación que se imparte como en el desarrollo que éste aspecto puede
llegar a generar. Uno de los retos principales que plantea el despliegue y puesta en
marcha de éste recurso, radica en poder darlo a conocer y generar una cultura de
utilización del mismo, así como de una apropiación adecuada del conocimiento y
conciencia de la finalidad de ésta herramienta.
RENATA
RENATA es la red nacional de investigación y educación de Colombia que conecta,
articula e integra a los actores del Sistema Nacional de Ciencia Tecnología e
Innovación (SNCTI) entre sí y con el mundo, a través del suministro de servicios,
herramientas e infraestructura tecnológica para contribuir al mejoramiento del nivel
de productividad, efectividad y competitividad de la producción científica y
académica del país.
RENATA tiene por objeto promover el desarrollo de la infraestructura y servicios de
la red de alta velocidad, su uso y apropiación, así como articular y facilitar acciones
para la ejecución de proyectos de educación, innovación e investigación científica y
tecnológica que propugnen por el desarrollo de la sociedad del conocimiento y de la
información en Colombia.
RUMBO.
Es una red que agrupa instituciones de educación superior y de salud en Bogotá,
Cundinamarca y Meta. El Objetivo es propiciar el trabajo colaborativo entre los
asociados, identificando necesidades comunes para brindar servicios y herramientas
que apoyen las actividades académicas y de investigación.
CLARA.
El objetivo de CLARA es fortalecer el desarrollo de la ciencia, la educación, la cultura
y la innovación en América Latina a través del uso innovador de redes avanzadas".
RedCLARA desarrolla y opera la única red de Internet Avanzada de América Latina.
Establecida en el año 2004, gracias al proyecto ALICE (que hasta marzo de 2008 fue
cofinanciado por la Comisión Europea mediante su Programa @LIS), desde entonces
brinda interconexión regional y conexión al mundo a través de sus enlaces
internacionales a GÉANT2 (red avanzada paneuropea) y a Internet2 (Estados Unidos)
y, mediante ellos, a las redes avanzadas de el Caribe (C@ribnet), África (UbuntuNet
Alliance), Asia (APAN, TEIN), entre otras. Gracias al proyecto ALICE2, entre
diciembre de 2008 y marzo de 2012, RedCLARA pudo mejorar ostensiblemente la
capacidad de su red y ampliar los beneficios para sus miembros y comunidades de
investigación regionales.
Referencias
1. https://es.slideshare.net/SantiagoDiazSalamanca/web-10-20-30-caractersticas-
definiciones-diferencias-ejemplos
2. https://sites.google.com/site/web10historia/
3. http://www.estudioseijo.com/noticias/web-10-web-20-y-web-30.htm
4. http://www.nobbot.com/general/que-es-la-web-4-0/
5. https://www.paradigmadigital.com/portfolio/web-4-0/
6. https://www.paradigmadigital.com/dev/web-4-0/
7. https://sisgecom.com/tag/web-5-0/
8. https://www.tresce.com/blog/hacia-una-web-sensorial-y-emotiva-la-web-5-0/
9. https://wwwhatsnew.com/2011/07/24/que-es-la-web-ubicua/
10. https://www.labrujulaverde.com/2008/09/ubicuidad-y-la-red-de-lo-real
11. http://www.atentus.com/blog/disponibilidad-y-usabilidad-fundamentales-para-el-
exito-de-tu-pagina-web
12. http://www.ipv6.es/es-ES/introduccion/Paginas/QueesIPv6.aspx
13. http://www.maestrosdelweb.com/evolucionando-hacia-el-ipv6/
14. https://es.wikipedia.org/wiki/IPv6
15. http://www.nobbot.com/tecnologia/mi-conexion/que-es-el-qos-y-por-que-es-
importante-para-tu-red-local/
16. https://semantizandolaweb.wordpress.com/2011/11/14/introduccion-a-rdf/
17. https://www.w3c.es/Divulgacion/GuiasBreves/WebSemantica
18. https://semantizandolaweb.wordpress.com/2014/12/24/web-ontology-language-owl/
19. http://www.hipertexto.info/documentos/owl.htm
20. https://eva.fing.edu.uy/pluginfile.php/67768/mod_resource/content/2/3-
SPARQL.pdf
21. http://skos.um.es/TR/rdf-sparql-query/
22. http://www.ciw.cl/material/tw07marenas.pdf
23. http://www.redalyc.org/articulo.oa?id=84917316029
24. https://www.renata.edu.co/index.php/quienes-somos
25. http://www.rumbo.edu.co/index.php/quienes-somos/que-es-rumbo
26. http://searchdatacenter.techtarget.com/es/definicion/Computacion-en-la-nube
27. https://debitoor.es/glosario/definicion-cloud-computing
28. http://searchdatacenter.techtarget.com/es/definicion/Computacion-en-la-nube
29. https://debitoor.es/glosario/definicion-cloud-computing
30. https://blogs.sas.com/content/sasla/2014/06/05/cinco-caracteristicas-esenciales-de-
la-computacion-en-lanube/
31. http://nubeinformaticaexpo.blogspot.com.co/p/tipos-de-nubes.html
32. https://azure.microsoft.com/es-es/overview/what-is-saas/
33. http://www.enter.co/guias/tecnoguias-para-empresas/saas-iaas-y-paas-que-son-
como-usarlos-y-para-que/
34. https://azure.microsoft.com/es-es/overview/what-is-paas/
35. https://www.interoute.es/what-paas
36. https://azure.microsoft.com/es-es/overview/what-is-iaas/
37. https://www.interoute.es/what-iaas
38. https://www.muycanal.com/2011/07/25/las-10-mejores-aplicaciones-de-
almacenamiento-en-la-nube
39. http://www.nobbot.com/redes/los-5-mejores-servicios-guardar-archivos-la-nube/
40. https://www.powerdata.es/big-data
41. https://www.gestiopolis.com/que-es-data-mining/
42. http://www.sinnexus.com/business_intelligence/datamining.aspx
43. http://www.ugr.es/~mvargas/2.RESUMENANLISISCLUSTER.pdf
44. https://www.uv.es/ceaces/multivari/cluster/CLUSTER2.htm
45. http://searchdatacenter.techtarget.com/es/definicion/Base-de-datos
46. http://www.maestrosdelweb.com/que-son-las-bases-de-datos/
47. https://docs.microsoft.com/es-es/sql/relational-databases/databases/databases
48. https://workofdb.wordpress.com/2012/01/20/el-modelo-de-datos-jerarquico/
49. http://www.masadelante.com/faqs/base-de-datos
50. https://deconceptos.com/general/dato
51. https://es.slideshare.net/sadow/qu-es-un-dato-8210460
52. http://victorgh84.blogspot.com.co/2015/09/base-de-datos-jerarquica.html
53. www.lcc.uma.es/~galvez/ftp/bdst/Tema2.pdf
54. http://victorgh84.blogspot.com.co/2015/09/base-de-datos-jerarquica.html
55. https://es.slideshare.net/alejandrosalazarvazquez7/bases-de-datos-jerarquicas
56. https://www.lucidchart.com/pages/es/qu%C3%A9-es-un-modelo-de-base-de-datos
57. http://www.dataprix.com/262-bases-datos-red
58. http://www.cua.uam.mx/pdfs/conoce/libroselec/Notas_del_curso_Bases_de_Datos.
pdf
59. https://modelosbd2012t1.wordpress.com/2012/01/27/bases-de-datos-orientados-a-
objetos/
60. https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/404366/principales-
caracter-sticas-de-las-bases-de-datos-orientadas-a-objetos
61. http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf
62. https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bases-de-datos-
transaccionales-la-mina-de-oro-digital
63. https://es.slideshare.net/johannacaragolla/base-de-datos-transaccional
64. https://arlethparedes.wordpress.com/2012/08/27/bases-de-datos-transaccionales-y-
relacionales/
65. http://searchdatacenter.techtarget.com/es/definicion/Base-de-datos-
multidimensional-MDB
66. https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/406542/qu-son-las-
bases-de-datos-multidimensionales
67. https://www.ibm.com/support/knowledgecenter/es/SSEPGG_8.2.0/com.ibm.db2.ud
b.doc/admin/c0004099.htm
68. https://es.slideshare.net/AlexJavier2/una-base-de-datos-relacional
69. https://blog.es.logicalis.com/analytics/conceptos-basicos-del-modelo-relacional-en-
la-gestion-de-bases-de-datos
70. https://blog.pandorafms.org/es/bases-de-datos-nosql/
71. https://es.slideshare.net/ani_tuza/modelo-entidad-relacin-de-base-de-datos-
15434811
72. http://ccdoc-basesdedatos.blogspot.com.co/2013/02/modelo-entidad-relacion-
er.html
73. http://ict.udlap.mx/people/carlos/is341/bases03.html
74. http://www.um.es/geograf/sigmur/sigpdf/temario_9.pdf
75. https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-de-datos-
mas-usados/
76. https://es.slideshare.net/michell_quitian/normalizacin-de-la-base-de-datos-3-formas-
normales
77. https://es.slideshare.net/sesa78/normalizacion-de-base-de-datos-14102278
78. https://cvva.wordpress.com/2007/12/04/normalizacion-de-bases-de-datos-las-3-
formas-normales/
79. https://www.cs.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf
80. http://www.eet2mdp.edu.ar/alumnos/MATERIAL/MATERIAL/info/infonorma.pdf
81. https://www.campusmvp.es/recursos/post/Que-es-el-lenguaje-SQL.aspx
82. https://es.slideshare.net/titiushko/ejemplo-ddl-dml
83. https://es.slideshare.net/aheruhelsing/comandos-ddl-y-dml
84. https://www.cs.us.es/cursos/bd-2007/tema4.pdf
85. https://www.1keydata.com/es/sql/sql-having.php
86. http://www.um.es/geograf/sigmur/sigpdf/postgresql.pdf
87. https://csudp.wikispaces.com/file/view/COMANDOS_DE_SQL.pdf
88. http://www.aulaclic.es/sql/t_5_1.htm
89. http://www.aulaclic.es/sql/t_3_3.htm
90. http://www.maestrosdelweb.com/tutsql7/
91. http://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.php?co
d=76&punto=70&inicio=
92. http://sql.11sql.com/sql-inner-join.htm
93. http://www.aulaclic.es/sql/t_3_5.htm
94. http://sql.11sql.com/sql-right-join.htm
95. https://www.w3c.es/estandares/
96. https://www.w3c.es/Divulgacion/GuiasBreves/Estandares
97. http://www.laurachuburu.com.ar/tutoriales/que-es-jquery-y-como-
implementarlo.php
98. http://utilizaciondelarss.blogspot.com.co/2009/07/el-atom-formato-de-
redifusion_30.html
99. https://enciclopedismo.com/atom-de-formato-de-redifusion/
100. https://www.w3c.es/Divulgacion/GuiasBreves/TecnologiasXML
101. https://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
102. https://tools.ietf.org/html/rfc6455
103. https://wiki.videolan.org/Documentation:Streaming_HowTo/Streaming,_Muxer
s_and_Codecs/#What_is_a_codec_.3F
104. https://www.online-convert.com/es/formato-de-archivo/asf
105. https://www.3cx.es/voip-sip/voip-definicion/
106. http://www.telefoniavozip.com/voip/que-es-la-telefonia-ip.htm
107. https://somostechies.com/que-es-http2/#.WfPFDYhry01
108. http://www.tsgroup.com.co/wps/portal/tsg/blog/detalle-blog/la-arquitectura-rest
109. http://2003server.webcindario.com/iis/definici.htm
110. https://wiwiloz.wordpress.com/iis-internet-information-server/
111. http://culturacion.com/que-es-apache/
112. http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=
769
113. https://users.dcc.uchile.cl/~jbarrios/servlets/general.html
114. https://bannysolano.wordpress.com/2009/08/23/%C2%BFque-es-glassfish/
115. http://noticias.universia.es/ciencia-
tecnologia/noticia/2017/07/07/1154054/nodejs-sirve.html
116. https://iiemd.com/joomla/que-es-joomla
117. https://groups.drupal.org/node/148379
118. http://www.comunic-art.com/drupal/drupal.html
119. http://wpavanzado.com/que-es-wordpress/
120. https://iiemd.com/wordpress/que-es-wordpress
121. https://msdn.microsoft.com/es-es/library/4w3ex9c2(v=vs.100).aspx
122. http://fpdv2006.bligoo.com/content/view/276896/ASP-VENTAJAS-Y-
DESVENTAJAS.html#.WfPDrWjWzIU
123. https://support.microsoft.com/es-co/help/321748/how-to-create-a-local-web-
server-asp-net-application
124. https://www.lawebdelprogramador.com/foros/ASP/381741-Ventajas-y-
desventajas-del-asp.html
125. http://www.ciberaula.com/articulo/jsp
126. https://es.slideshare.net/ingkatemu/jsp-ikmm
127. https://desarrolloweb.com/articulos/831.php
128. https://es.slideshare.net/Angie2331/componentes-de-jsp
129. https://hardz.wordpress.com/tag/desventajas-php/
130. https://www.taringa.net/posts/info/19296560/Ventajas-y-Desventajas-de-
PHP.html
131. https://www.aprenderaprogramar.com/index.php?option=com_content&view=a
rticle&id=492:ique-es-php-y-ipara-que-sirve-un-potente-lenguaje-de-
programacion-para-crear-paginas-web-cu00803b&catid=70&Itemid=193
132. http://www.lcc.uma.es/~galvez/ftp/bdst/Tema2.pdf
133. http://hp.fciencias.unam.mx/~alg/bd/er.pdf
134. http://www.unipamplona.edu.co/unipamplona/portalIG/home_74/recursos/administ
racion-bases-de-datos/16052013/presentacion.jsp
135. https://jorgedenovasri.files.wordpress.com/2013/01/navegadores.pdf

Você também pode gostar