39
CONOCIMIENTOS PREVIOS APLICACIONES WEB Por: Anderson Herrera Duran Ficha: 259747 Instructor: Mauricio Ortiz SENA 11/08/12

Conocimientos Previos Aplicaciones Web

Embed Size (px)

Citation preview

Page 1: Conocimientos Previos Aplicaciones Web

CONOCIMIENTOS PREVIOS APLICACIONES WEB

Por:

Anderson Herrera Duran

Ficha:

259747

Instructor:

Mauricio Ortiz

SENA

11/08/12

Page 2: Conocimientos Previos Aplicaciones Web

1- RAID (Redundant Array of Independent Disks - conjunto redundante de discos

independientes). Sistema de almacenamiento de información que utiliza múltiples discos

duros en donde se distribuyen y/o duplican datos. (Existen implementaciones RAID en un solo

disco duro, pero las ventajas no son importantes y técnicamente no es RAID). Un solo disco

duro contiene la información dentro de sí una sola vez. En su concepto más simple, RAID utiliza

múltiples discos como si se tratara de una unidad lógica sola. El sistema operativo y el usuario

ven un solo disco, pero en realidad la información es almacenada en todos los discos.

2- Porque el uso de múltiples discos duros con información duplicada y/o distribuida posee

ventajas en su seguridad, mayor tolerancia a fallos, mejor rendimiento y mayor capacidad.

Estas ventajas dependen del tipo de configuración RAID que se utilice.

3- RAID por software: El procesador de la máquina es el que se ocupa de hacer todos los cálculos, tomar todas las decisiones y determinar todos los eventos relacionados con el RAID. En el RAID por software se podrá ver DOS (o más) discos, y tú personalmente harás un RAID escogiendo partición a partición y uniéndolas en un RAID.

Ventajas: Es muy barato, puesto que se necesita solamente dos discos (con 2 basta para un raid-1, ó 0).

Desventajas: Consumirá recursos del procesador del servidor para mantener el raid, y se necesita particionar y unir las particiones en pedazos de raid.

RAID por hardware: En este tipo de RAID, vendrá una tarjeta de RAID (0, 1, 5 ó 1+0), la cual se añadirá en la máquina, además se necesitaran los discos requeridos en la máquina. Al arrancar la máquina, antes de cargar el boot loader, antes siquiera de instalar el sistema operativo, se entrará a una consola de administración del RAID, se armará el RAID necesario o requerido y solo entonces se procede a instalar el sistema operativo. El sistema operativo verá un sólo disco, que en realidad es la controladora de RAID por hardware haciéndose pasar por un disco. En este tipo de RAID el sistema operativo no se enterará de que tiene un RAID debajo, sencillamente leerá y escribirá al disco.

Ventajas: Mejora rendimiento, velocidad, seguridad y continuidad. La desventaja es el alto costo.

4- La controladora RAID (Redundant Array of Independent Disks) permite la comunicación entre los discos y la plataforma del equipo con un nivel de seguridad RAID configurable e independiente del sistema operativo y del procesador. Así garantizamos un sistema de alto de rendimiento en acceso a disco y de máxima seguridad. La integración de controladoras RAID de discos en el servidor nos permite crear capas de seguridad en los discos a través de algoritmos matemáticos con los cuales podemos recuperar información de discos caídos. Estos algoritmos son la base de los diferentes niveles RAID.

5- Los niveles de RAID más usuales, son el 0, 0+1, 5.

A continuación se dará una breve explicación de varios niveles de RAID.

RAID 0 (DISK STRIPPING): Este ofrece bandeado, sin redundancia de datos.

Page 3: Conocimientos Previos Aplicaciones Web

Si tengo dos N discos, la capacidad total será la suma de todos los N discos, las desventajas

está en que este tipo de RAID, no ofrece tolerancia a fallos, redundancia de datos, lo que

quiere decir que un error en un disco y muere el arreglo completo.

RAID 1 (DISK MIRRORING): Este arreglo, copia la misma información en los discos existentes,

requiere como mínimo dos discos con el mismo tamaño especificado, por lo cual se dice que

un disco actúa como espejo del otro. Este arreglo es 100% tolerante a fallos, ofrece alta

disponibilidad del sistema, es muy caro, capacidad de almacenamiento reducido.

RAID 2: Este tipo de RAID, ofrece verificación y corrección de errores utilizando un código

llamado código de haming.

Error checking and correcting, ECC

RAID 3 (PARALLEL DATA ACCESS): Ofrece redundancia sin tener que recurrir al mirroring.

Se utilizan x discos de datos, y un disco utilizado a la paridad, ejecutando un algoritmo, se

define el byte de paridad, el cual se escribe en el disco de paridad. Los datos se escriben de

forma paralela, así la velocidad de transferencia del RAID, equivale a la velocidad de un disco

multiplicada por x. Este RAID, es mejor para sistemas de un solo usuario con aplicaciones que

contengan grandes registros.

=> Disco de paridad.

RAID 4: Ofrece un sistema de discos independientes con disco de control de errores.

RAID 5: La información se divide en bloques, debido a esto las lecturas pueden ser

independientes, mejorando el número de transferencias E/S (entrada salida). La información

Page 4: Conocimientos Previos Aplicaciones Web

de la paridad se reparte entre todos los discos de forma rotatoria aliviando el cuello de botella

que se forma en el E/S. Las operaciones de lectura y escritura pueden superponerse.

La paridad se divide entre todos los discos.

RAID 6: Es similar al RAID 5, pero incluye un segundo esquema de paridad distribuido por los

distintos discos y por tanto ofrece tolerancia extremadamente alta a fallos y a caídas del disco,

posee un diseño complejo, rendimiento pobre, y se necesitan N+2 discos.

Dos esquemas de paridad en los discos.

RAID 7: Incluye un sistema operativo incrustado de tiempo real como controlador, haciendo

las operaciones de caché a través de un bus de alta velocidad. Las transferencias son

asíncronas, y las E/S están centralizadas por la caché, se necesita un disco de paridad exclusivo.

RAID 0+1 (STRIPPING + MIRRORING): Ofrece duplicación de datos en diferentes conjuntos de

discos, para un posterior stripping dentro de cada uno de dichos conjuntos; Este diseño ofrece

alto nivel de seguridad, altas prestaciones, fracciona los datos, mejora el rendimiento, requiere

mínimo 4 unidades, de las cuales solo dos de ellas almacena datos, y las unidades se deben

añadir de a pares, lo que duplica los costos.

Page 5: Conocimientos Previos Aplicaciones Web

6-

Implementación de raid por software en Centos 6.2

Para implementar raid en Centos 6.2 por software, debemos primero agregar discos duros, o

tenerlos con anticipación para efectuar el arreglo raid, en este caso se implementara raid 1,

por software, se está trabajando con la herramienta virtualbox, entonces se procederá a

agregar dos discos duros de igual tamaño en este caso para el raid 1, se va a la configuración

de la maquina y allí se agregan dos nuevos discos duros virtuales.

Listamos los discos con el comando fdisk -l

Luego de hecho esto, miramos los discos duros nuevos agregados, en este caso son el sdd, y el

sde, cada uno de 4 GB (4294 MB).

Page 6: Conocimientos Previos Aplicaciones Web

Luego de esto, procederemos a instalar la herramienta llamada mdadm, la cual sirve para

implementar raid.

Miramos si quedo instalado el paquete con rpm -q

Ahora lo que vamos a hacer es particionar los dos discos vacios, con la herramienta fdisk,

damos m para ver la ayuda.

Damos n para una nueva partición y la hacemos primaria con la letra p.

Page 7: Conocimientos Previos Aplicaciones Web

Le damos t, y le decimos que la partición 1 estará del tipo fd; luego daremos p para escribir los

cambios.

Por último damos w, para que guarde y cierre.

Damos fdisk –l, y vemos que las dos particiones quedaron en un modo raid autodetectect, y

que tienen una partición 1 la cual es primaria (sdd1 – sde1).

Page 8: Conocimientos Previos Aplicaciones Web

Como el punto de montaje md0 en este caso ya estaba ocupado, procederemos a crear un

nuevo punto de montaje con el nombre de md1, con el comando mknod.

Luego de hecho esto, utilizaremos la herramienta mdadm para crear el raid 1.

(/dev/md1) => indica el punto de montaje donde estará el raid.

(--level=1) => nos dice el nivel de raid que será implementado, en este caso un raid nivel 1.

(--raid-devices=2) => nos indica que el número de discos será de dos.

(/dev/sdd1 /dev/sde1) => por último le indicamos los discos duros ya particionados a utilizar.

Page 9: Conocimientos Previos Aplicaciones Web

Le damos formato al punto de montaje con el comando mkfs, en este caso un formato ext3.

Procedemos a montar el punto md1 en /mnt

Luego de esto miramos si el arreglo fue creado y está funcionando con cat /proc/mdstat

Podemos ver que está activo, en el punto de montaje md1.

Page 10: Conocimientos Previos Aplicaciones Web

Implementación de raid por software en Windows server 2008 R2

IMPLEMENTACIÓN DE RAID 0

Para implementar raid 0 en Windows server, Windows 7 o XP, si estamos trabajando desde el

virtualbox o una maquina real, primero agregaremos la cantidad de discos duros que

queramos implementar para nuestro raid 0, luego vamos a las herramientas administrativas

del equipo

Page 11: Conocimientos Previos Aplicaciones Web

Automáticamente nos reconoce los discos asignados para poder inicializarlos, inicializamos

ambos discos.

Para crear el raid 0, daremos clic derecho sobre cualquiera de los discos disponibles, y le

damos en crear nuevo volumen seleccionado.

Page 12: Conocimientos Previos Aplicaciones Web

Agregamos los dos discos disponibles.

Damos formato al volumen creado.

Page 13: Conocimientos Previos Aplicaciones Web

Vemos que el raid 0 fue creado.

IMPLEMENTACIÓN DE RAID 1

Para la implementación de un raid 1, agregamos dos discos duros de igual tamaño cada uno,

luego de esto damos clic derecho sobre cualquiera de los discos vacios, y le damos en la opción

nuevo volumen reflejado.

Page 14: Conocimientos Previos Aplicaciones Web

Agregamos los discos que queramos que hagan parte del raid 1, en este caso 2 discos.

Le asignamos una letra deseada.

Page 15: Conocimientos Previos Aplicaciones Web

Damos formato al nuevo volumen.

Podemos ver que el arreglo raid 1, fue creado satisfactoriamente, con 4 GB, puesto que con

este raid se pierde un disco completo, puesto que es el que actuará como disco espejo para la

redundancia de datos.

Page 16: Conocimientos Previos Aplicaciones Web

7-

Esquema de red:

Proceso de salida de la petición desde el PC

Podemos ver que el origen es 192.168.1.2 y el destino 172.16.0.2 (www.cisco.com).

Page 17: Conocimientos Previos Aplicaciones Web
Page 18: Conocimientos Previos Aplicaciones Web

Proceso de petición y respuesta en el servidor web y DNS

Examinando la PDU de entrada.

Examinando la PDU de salida.

Page 19: Conocimientos Previos Aplicaciones Web

Vemos la petición DNS.

Vemos la respuesta DNS.

Page 20: Conocimientos Previos Aplicaciones Web

8- Puertos bien conocidos se encuentran entre 0 y 1023 son reservados como su nombre lo

dice para servicios bien conocidos.

Puerto Protocolo Servicio

7 TCP - UDP ECHO

20 TCP FTP - datos

21 TCP FTP - control

22 TCP SSH

23 TCP Telnet

25 TCP SMTP

53 TCP DNS

53 UDP DNS

67 UDP BOOTP server; también es usado por DHCP

68 UDP BOOTP client; también es usado por DHCP

69 UDP TFTP

80 TCP HTTP

109 TCP POP2

110 TCP POP3

123 UDP NTP - sincronización

139 TCP NetBIOS

143 TCP IMAP4 – E-mails

161 UDP SNMP

179 TCP BGP

389 TCP LDAP

443 TCP HTTPS - HTTP over SSL

465 TCP SMTP over SSL

514 UDP syslog protocol

636 TCP LDAP over SSL

993 TCP IMAP4 over SSL

995 TCP POP3 over SSL

9- Los puertos del 1024 al 49151 son los "puertos registrados", y pueden ser usados por cualquier aplicación. Existe una lista pública en la web del IANA donde se puede ver qué protocolo usa cada uno de ellos.

Puerto Protocolo Servicio

1080 TCP SOCKS proxy

1433 TCP Microsoft SQL

1434 TCP Microsoft SQL Monitor

1434 UDP Microsoft SQL Monitor

1863 TCP MSN Messenger

3306 TCP MySQL sistema de base de datos

8080 TCP HTTP

8118 TCP Privoxy web proxy

Page 21: Conocimientos Previos Aplicaciones Web

Puertos dinámicos o privados: Los comprendidos entre los números 49152 (C000 en hexadecimal) y 65535 (FFFF en hexadecimal) son denominados dinámicos o privados, normalmente ser asignan en forma dinámica a las aplicaciones de clientes al iniciarse la conexión. Su uso es poco común son usados en conexiones peer to peer (P2P).

10- El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW). HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxys) para comunicarse. HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. HTTP es un protocolo orientado a transacciones y opera a través de un esquema petición-respuesta, entre un “cliente” y un “servidor”. Al cliente que efectúa la petición (un navegador o un spider) se lo conoce como “user agent” (agente del usuario, como es el Internet Explorer). El servidor es aquel en donde se almacenan las páginas de Internet. A la información transmitida se la llama recurso y se la identifica mediante un URL. Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.

La información que sigue a “http” se denomina el URI (Uniform Resouce Identifier), más conocido como URL, lo que no es más que la dirección que estamos visitando. Cuando nos encontramos con direcciones https nuestro navegador emplea encriptación adicional para proteger la información que está siendo transferida, especialmente cuando se realizan transacciones en línea.

11-

Podemos ver cuando se establece la conexión, podemos ver que se da por el puerto 80.

Page 22: Conocimientos Previos Aplicaciones Web

El cliente envía un mensaje de saludo

El servidor responde con otro mensaje de saludo

Page 23: Conocimientos Previos Aplicaciones Web

Luego el servidor empieza a responder las solicitudes del cliente.

12-

Códigos de estado HTTP

1xx - Informativo

Estos códigos de estado indican una respuesta provisional. El cliente debe prepararse para

recibir una o más respuestas de tipo 1xx antes de recibir una respuesta normal.

100 - Continuar. 101 - Cambiando protocolos.

2xx - Correcto

Esta clase de códigos de estado indica que el servidor aceptó la petición del cliente

correctamente.

200 - OK. La petición del cliente se ha realizado correctamente. 201 - Creado. 202 - Aceptado.

3xx - Redirección

El explorador cliente debe realizar más acciones para cumplir la solicitud. Por ejemplo, puede

que el explorador tenga que solicitar una página diferente en el servidor o repetir la solicitud

utilizando un servidor proxy.

301 - Movido permanentemente

Page 24: Conocimientos Previos Aplicaciones Web

302 - Objeto movido. 304 - No modificado. 307 - Redirección temporal.

4xx - Error del cliente

Se produce un error, que parece causado por el cliente. Por ejemplo, el cliente puede solicitar

una página que no existe o quizás no proporcione información de autenticación válida.

400 - Solicitud incorrecta. 401 - Acceso denegado. IIS define varios errores 401 diferentes que indican de forma

más concreta el motivo del error. Estos códigos de error específicos se muestran en el explorador, pero no aparecen en el registro de IIS:

403 - Prohibido. IIS define varios errores 403 diferentes que indican de forma más concreta el motivo del error:

403.1 - Execute access forbidden (Acceso de ejecución denegado). 403.2 - Read access forbidden (Acceso de lectura denegado). 403.3 - Write access forbidden (Acceso de escritura denegado). 403.4 - SSL requerido. 403.5 - SSL 128 required (SSL 128 requerido). 403.6 - IP address rejected (Dirección IP rechazada). 403.7 - Se necesita un certificado de cliente. 403.8 - Acceso denegado a este sitio. 403.9 - Too many users (Demasiados usuarios). 403.13 - Certificado de cliente revocado.

404 - No encontrado. 404.0 - No se encuentra el archivo o directorio.

405 - El verbo HTTP usado para obtener acceso a esta página no está permitido (método no permitido)

406 - El explorador del cliente no acepta el tipo MIME de la página solicitada. 407 - Autenticación de proxy requerida. 412 - Error en la condición previa. 413 – Entidad de solicitud demasiado grande. 414 - El URI de la solicitud es demasiado largo. 415 – Tipo de medio no compatible. 416 – No se puede satisfacer el intervalo solicitado. 417 – Error de ejecución. 423 – Error de bloqueo.

5xx - Error del servidor

El servidor no puede terminar la solicitud porque encuentra un error.

500 - Error interno del servidor 501 - Los valores del encabezado especifican un método que no se ha implementado. 502 - El servidor web recibió una respuesta no válida mientras actuaba como puerta de

enlace o servidor proxy. 503 - Servicio no disponible. Este es un código de error específico de IIS 6.0. 504 - Tiempo de espera agotado para la puerta de enlace. 505 - Versión de HTTP no compatible.

Page 25: Conocimientos Previos Aplicaciones Web

13- Las cookies constituyen una potente herramienta empleada por los servidores Web para almacenar y recuperar información acerca de sus visitantes. Dado que el Protocolo de Transferencia de HiperTexto (HTTP) es un protocolo sin estados (no almacena el estado de la sesión entre peticiones sucesivas), las cookies proporcionan una manera de conservar información entre peticiones del cliente, extendiendo significativamente las capacidades de las aplicaciones cliente/servidor basadas en la Web. Mediante el uso de cookies se permite al servidor Web recordar algunos datos concernientes al usuario, como sus preferencias para la visualización de las páginas de ese servidor, nombre y contraseña, productos que más le interesan, etc. Una cookie no es más que un fichero de texto que algunos servidores piden a nuestro navegador que escriba en nuestro disco duro, con información acerca de lo que hemos estado haciendo por sus páginas. Entre las mayores ventajas de las cookies se cuenta el hecho de ser almacenadas en el disco duro del usuario, liberando así al servidor de una importante sobrecarga.

14- La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas

se reparten entre los proveedores de recursos o servicios, llamados servidores, y los

demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que

le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una

sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido

a través de una red de computadoras.

En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus

características son: Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en

la comunicación (dispositivo maestro o amo). Espera y recibe las respuestas del servidor. Por lo

general, puede conectarse a varios servidores a la vez.

15- Se conoce con el nombre de página web dinámica a aquélla, cuyo contenido se genera a partir de lo que un usuario introduce en un web o formulario; el contenido de la página no está incluido en un archivo html como en el caso de las páginas web estáticas. Las aplicaciones más conocidas de las páginas web dinámicas son mostrar el contenido de una base de datos, con base en la información que solicita un usuario a través de un formulario de web, actualizar el contenido de una base de datos, generar páginas web de contenido estático, mejorar la interacción entre el usuario y el sitio web.

Los sitios Web estáticos son aquellos sitios enfocados principalmente a mostrar una información permanente, donde el navegante se limita a obtener dicha información, sin que pueda interactuar con la página Web visitada, las Web estáticas están construidas principalmente con hipervínculos o enlaces (links) entre las páginas Web que conforman el sitio, este tipo de Web son incapaces de soportar aplicaciones Web como gestores de bases de datos, foros, consultas online, e-mails inteligentes entre otras aplicaciones.

16- Estructura básica de html:

<! DOCTYPE>

<html>

<head>

</head>

<body>

Page 26: Conocimientos Previos Aplicaciones Web

</body>

</html>

La primera línea está reservada al DOCTYPE (tipo de documento), después viene el documento HTML, que está dividido en dos secciones: head (cabecera) y body (cuerpo).

DOCTYPE: Define el tipo de documento. Este elemento, que muchos webs máster obvian (incorrectamente), le indica al navegador la versión y tipo de HTML empleado en el documento. De esta forma, el navegador usará el modelo de renderización adecuado al tipo de documento.

Elemento HTML: Delimita el documento HTML, indicando al navegador el comienzo y fin de la página html. Sus etiquetas son: <html> (Siempre al comienzo después del doctype) y </html> (Siempre al terminar el documento); (opcionales).

Elemento head: head viene del ingles cabeza y su función es delimitar cabecera del documento. Sus etiquetas son: <head> y </head> (opcionales).

Elemento body: Delimita el cuerpo del documento. Aquí van todos los contenidos de la página (texto, imágenes...) Todo lo que queremos mostrar a los lectores de nuestro documento. Sus etiquetas son: <body>, (Para delimitar el comienzo); y </body>, (al terminar, siempre antes de </html>).

Ejemplo:

17-

ETIQUETA “ELEMENTO”

ATRIBUTOS

CIERRE

DESCRIPCIÓN

<html> HEAD y BODY </html> Inicio y final de un

documento

HTML

<head> BASE, TITLE,ISINDEX, </head> Cabecera de un documento HTML

<title> </title> Título de la página Web

<body> BGCOLOR, BACKGROUND, TEXT, LINK, VLINK, ALINK

</body> Cuerpo de la página Web

Page 27: Conocimientos Previos Aplicaciones Web

18- En el código fuente de la página, se puede ver que está muy bien implementada, tiene todos los requerimientos básicos, como lo es el doctype, el elemento html, el head y el body; aparte de estos aspectos principales, podemos ver que tiene etiquetas tittle (para el titulo), link (el color del link), style (define hojas de estilo para el documento actual), script (coloca un script dentro del documento), div (agrupar un bloque de elementos, para luego añadirle un estilo determinado), input (para el ingreso de datos por parte del usuario) , li (define los objetos de la lista), ul (crear una lista desordenada), a (definir un destino o un origen de un

enlace), p (se utiliza para representar un párrafo), form (para formularios y elementos de formularios), etiquetas las cuales sirven para darles una mejor dinamicidad a la página web, por esto podemos decir que esta página es dinámica.

<table> BORDER,CELLPADDING,CELLSPACING, HEIGTH,WIDTH.,Internet,Explorer:,COLOR

</table> tabla

<tr> ALIGN, VALIGN </tr> Fila

<td> ALIGN, VALIGN,NOWRAP,COLSPAN, ROWSPAN,HEIGTH,WIDTH

</td> Columna

<A> HREF, NAME,REL, REV, TITLE </A> Hipervínculo

División de la página

<strong> </strong> Texto en negrita

<I> </I> Texto en cursiva

<S> </S> Texto subrayado

<form> División de lapágina </form> Formulario y elementos del formulario

<script> Var,if,for,funtio n,lenth,retung, new.

</script> Código de un script

<img> ALIGN, SRC,ALT, ISMAP,WIDTH,HEIGHT, VSPACE,HSPACE

Insertar una imagen

<font> SIZE, COLOR. InternetExplorer: FACE.

</font> Fuentes

<br> CLEAR Salto de línea

<noframe> </noframe>

Marcos

Page 28: Conocimientos Previos Aplicaciones Web

19- Tabla de colores RGB

Los colores básicos son: #FF0000 - Rojo #00FF00 - Verde #0000FF - Azul

Otros colores son: #FFFFFF - Blanco #000000 - Negro #FFFF00 - Amarillo

Para hacer un color más oscuro, simplemente reduce la intensidad del componente, dejando los otros dos iguales. Así, el rojo (#FF0000) se hace más oscuro asi: #CC0000, #990000, #660000, #330000 etc

Para hacer que un color más pastel, simplemente variar los otros dos colores dejando igual el principal. Así, el rojo (#FF0000) se hace más claro asi: #FF3333, #FF6666, #FF9999, #FFCCCC etc

La paleta de colores RGB(Red -Green - Blue, en español: Rojo -Verde - Azul) está representada por tres pares hexadecimales según el siguiente formato: #RRGGBB Los valores, para cada uno de los pares, van desde 00(0 decimal) aFF(255 decimal). Cuanto mayor sea el valor del par, tanto mayor será la intensidad de color de ese par.

20- Las hojas de estilo en cascada (Cascading Style Sheets, CSS) son un lenguaje formal que se usa para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) se encarga de realizar la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores.

La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. En resumidas cuentas, lo que se pretende con las hojas de estilo, es definir la maquetación de los documentos desde las hojas de estilo, dando desde este archivo los aspectos relativos al diseño del mismo. Dejando en el documento html el contenido organizado de forma jerárquica mediante las etiquetas correspondientes. Y facilitando así la actualización del diseño del web de manera más homogénea.

21- En la ingeniería de software se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.

Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, a la independencia del sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web.

22- PHP: es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de

Page 29: Conocimientos Previos Aplicaciones Web

línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

PHP nos permite embeber sus pequeños fragmentos de código dentro de la página HTML y realizar determinadas acciones de una forma fácil y eficaz, combinando lo que ya sabemos del desarrollo HTML. Es decir, con PHP escribimos scripts dentro del código HTML, con el que se supone que ya estamos familiarizados. Por otra parte, y es aquí donde reside su mayor interés con respecto a los lenguajes pensados para los CGI, PHP ofrece un sinfín de funciones para la explotación de bases de datos de una manera llana, sin complicaciones.

ASP: (Active Server Pages), es un lenguaje de programación de servidores para generar páginas Web dinámicamente. Se conocen cuatro versiones de este lenguaje las 1.0, 2.0, 3.0 y la ASP.NET que se la conoce como la ASP Clásica.

El ASP es un lenguaje de programación para servidores es adecuado para acceso a bases de datos, lectura de ficheros, etc. Se vale de dos lenguajes de Script, como son el VBScript y el JavaScript para que lo que programemos con el ASP sea visible.

PERL: Practical Extraction and Report Language es un sofisticado lenguaje de programación diseñado a finales de los años 80 por el lingüista norteamericano Larry Wall. PERL combina en forma concisa las mejores características de lenguajes como C, sed, awk y sh. En general, es posible reducir extensos programas escritos en C a pocas líneas de código de un programa PERL, con la ventaja adicional de que corren sin cambio sobre casi cualquier plataforma existente, lo que convierte a PERL en el lenguaje ideal para desarrollo de prototipos y aplicaciones robustas 100% portables. PYTHON: es un lenguaje de scripting independiente de plataforma y orientado a objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones Windows a servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa que no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas como la rapidez de desarrollo e inconvenientes como una menor velocidad. Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para la web, aunque entre sus posibilidades sí se encuentra el desarrollo de páginas ; es multiplataforma, interpretado, Quiere decir que no se debe compilar el código antes de su ejecución; Interactivo, puesto que dispone de un intérprete por línea de comandos en el que se pueden introducir sentencias, orientado a Objetos.

CGI: CGI no es un lenguaje. Es simplemente un protocolo que puede ser usado para comunicarse entre formas Web y tu programa Un script CGI puede ser escrito en cualquier lenguaje que pueda leer de STDIN, escribir en STDOUT, y leer variables de entorno como virtualmente cualquier lenguaje de programación, incluyendo C, Perl, o incluso scripts de shell.

CGI, como la propia palabra indica es una interfaz entre servidores de información y programas de aplicación. Por tanto, define una serie de reglas que deben cumplir tanto las aplicaciones como los servidores para hacer posible la presentación de resultados de programas ejecutables en tiempo real a través de servicios de información estandarizados. Por ello, se habla de gateway o pasarela entre una y otra dimensión. Al tratarse de una interfaz, no existe ningún tipo de dependencia con el lenguaje de programación empleado.

Page 30: Conocimientos Previos Aplicaciones Web

.NET: .Net es la nueva plataforma de desarrollo que ha lanzado al mercado MicroSoft, y en la que ha estado trabajado durante los últimos años. Sin duda alguna va a ser uno de los entornos de desarrollo que reinen durante los proximos años.

.NET es un conjunto de tecnologías de software , compuesto de varios lenguajes de programación que se ejecutan bajo el .NET Framework. Es además un entorno completamente orientado a objetos y que es capaz de ejecutarse bajo cualquier plataforma.

La plataforma .NET apuesta por un futuro en el que las aplicaciones se ejecutan de manera distribuida en Internet. Así, una aplicación se ejecuta en un solo servidor y no existen múltiples copias de la misma. Además, una misma aplicación puede "adornarse" con distintas interfaces para que, desde diferentes dispositivos (teléfonos móviles, PDAs, portátiles, etc.) pueda accederse a la misma. La plataforma .NET no es más que un conjunto de tecnologías para desarrollar y utilizar componentes que nos permitan crear formularios web, servicios web y aplicaciones Windows.

JSP: JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java. Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML/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.

23- XAMPP, LAMP, WAMP, MAMP

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

LAMP presenta una funcionalidad parecida a XAMP, pero enfocada en Linux, y WAMP lo hace enfocado en Windows.

24- Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente, y de forma ordenada para su posterior uso. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada.

25- El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información.

Page 31: Conocimientos Previos Aplicaciones Web

26-

Filemaker: sistema de bases de más fácil de usar. Es compatible con Mac y Windows tanto para servidores equipos de escritorio y aplicaciones Web. Oracle: sistema de gestión de bases de datos desarrollado por Oracle Corporation. Fue punto de crítica de expertos en cuanto a su seguridad, ya que se detectaron 22 fallas que fueron corregidas con parches mejorando así el sistema MySQL: sistema de gestión de base de datos desarrollada por Sun Microsystem y más usada en el mundo fuera de ser software libre con un Licenciamiento de GNU GPL. Utilizado en plataformas Linux, Windows. Microsoft Access: sistema de gestión de base de datos creado por Microsoft para pequeñas empresas; pertenece a la categoría de Gestión y no de la ofimática. Sybase ASE: es un sistema de gestión de base de datos de la compañía Sybase. Es un motor de bases de datos de alto rendimiento, y puede manejar grandes volúmenes de información Borland Paradox: sistema de base de datos para entornos Windows, anteriormente estaba disponible para DOS y Linux. Fue desarrollada por Corel e incluida a WordPerfect (suite ofimática) Microsoft SQL server: sistema de gestión de bases de datos y su propietario es Microsoft. Se basa en un lenguaje transact-SQL. 27-

MYSQL en Windows XP

Primero descargamos el software que nos permitirá crear y administrar bases de datos MYSQL

Page 32: Conocimientos Previos Aplicaciones Web

Para crear y administrar las bases de datos, nos dirigimos a phpMyadmin.

Desde la interfaz grafica de este software podemos crear nuestras bases de datos, añadirle tablas, columnas, filas, etc. (es muy fácil, puesto que es interfaz grafica).

Page 33: Conocimientos Previos Aplicaciones Web

MYSQL en Centos 6.2

Lo primero que debemos hacer es instalar los paquetes de mysql, con el comando “yum install mysql mysql-server”

Para efectos prácticos, en este punto se desactivara el firewall, para que no nos bloquee

ningún puerto asociado a nuestro mysql, procederemos a desactivarlo desde el system-config-

firewall-tui

Page 34: Conocimientos Previos Aplicaciones Web

Ahora procederemos a configurar las iptables, para añadir permisos al puerto asociado con

mysql (3306).

Luego guardamos la configuración de iptables.

Reiniciamos el servicio iptables, para que coja la configuración dada.

Ejecutamos los siguientes comandos para que SELinux permita al usuario regular establecer

conexiones hacia el zócalo de MySQL, y para que SELinux permita al MySQL conectarse a

cualquier puerto distinto al 3306.

Page 35: Conocimientos Previos Aplicaciones Web

Para que mysql permanezca activo lo configuramos con chkconfig, y luego procedemos a

iniciar el servicio mysql con el comando service mysqld Stara.

Agregamos la contraseña al root del mysql.

Para crear bases de datos lo hacemos con create, y para eliminar bases de datos le damos la

opción drop.

Page 36: Conocimientos Previos Aplicaciones Web

Para crear un respaldo de la base de datos, lo podemos hacer con el comando mysqldump –

opt –u root –p “nombre_base_datos” > archivo_respaldo.sql

Para entrar y utilizar mysql, basta con poner mysql en la terminal, pero si ya hemos creado una

contraseña y un usuario debemos darle el comando mysql –u root -p

Para listar las bases de datos existentes, damos “show databases;”

Page 37: Conocimientos Previos Aplicaciones Web

Para usar la base de datos que queramos, damos USE ”base_de_datos;”

Podemos ver que la base de datos “basededatos” esta listada.

Luego nos dirigimos a la base de datos que queramos, y estando ahí ya podemos crear, o

modificar la base de datos.

Para crear tablas lo hacemos con “create table “nombre” (especificaciones);” y podemos

especificar los campos que va a tener (char). Es importante poner el punto y coma (;) luego de

cualquier directriz para que se pueda ejecutar eficientemente.

Page 38: Conocimientos Previos Aplicaciones Web

Nos dirigimos a la base de datos deseada, y listamos las tablas que contiene con el comando

“show tables;”

Para introducir datos en los campos, lo hacemos con “INSERT INTO nombre_tabla VALUES

('dato', 'dato');”

Luego miramos que si quedaron dichos campos en la tabla, lo hacemos con “SELECT * from

nombre_tabla;”

Para el entorno grafico de mysql en Centos, podemos instalar phpmyadmin, el cual nos sirve

para la administración por entorno grafico de mysql.

Page 39: Conocimientos Previos Aplicaciones Web

28- Lista de comandos básicos para administrar Mysql:

Es importante tener en cuenta que luego de cada comando hay que finalizar en punto y coma

(;).

SHOW databases; => para listar las bases de datos que hay.

USE nombre_base_datos; => la utilizamos para usar una base de datos especifica.

INSERT INTO nombre_tabla VALUES ('dato', 'dato'); => Para insertar datos en la tabla.

desc nombre_tabla; => Ver especificación de una tabla.

Show index from nombre_tabla; => Ver índices de una tabla.

ALTER TABLE nombre_tabla ADD COLUMN nombre_columna CHAR(11) NOY NULL; => Crear

columna.

ALTER table nombre_tabla RENAME TO nuevo_nombre; => Renombrar tabla.

DROP table tabla1[, tabla2,…]; => Eliminar tabla

ALTER TABLE nombre_tabla DROP COLUMN nombre_columna; => Eliminar columna