Está en la página 1de 9

Ingeniería en Informática

Desarrollo de aplicaciones web


Unidad I
Marco teórico unidad I

Fecha: 09/03/2020
INDICE
1.Plataforma Web.......................................................................................................................3
1.1. Evolución de las Aplicaciones Web.....................................................................................3
1.1.1. Web 1.0.........................................................................................................................4
1.1.2. Web 2.0.........................................................................................................................4
1.1.3. Web 3.0.........................................................................................................................5
1.2. Arquitecturas de la tecnología Cliente - Servidor................................................................5
1.2.1. Aplicaciones de 2, 3 y n capas......................................................................................6
1.3. LENGUAJE DE PROGRAMACIÓN WEB DBMS................................................................8
1.5. Seguridad.............................................................................................................................8

1.Plataforma Web.
Una plataforma web, estamos diciendo que nuestro sistema funcionará desde un navegador
web, independientemente del sistema operativo (SO) que se esté utilizando.
Esto tiene la ventaja de que no es necesario crear el mismo software para cada tipo de SO.
Pero tiene desventajas en el sentido de que no puede ser tan potente como un sistema que
funciona usando los recursos del SO.
La plataforma web referencia a un sistema que te permita crear y administrar un sitio web. Es
el caso de Blogspot, MySpace o cualquier otra plataforma web que nos permite crear un
blog, empleando un sistema web donde podemos subir artículos, crear categorías,
administrar los usuarios que se suscriban a nuestro blog, etc.

1.1. Evolución de las Aplicaciones Web

Con la introducción de Internet y del Web en concreto, se han abierto infinidad de


posibilidades en cuanto al acceso a la información desde casi cualquier sitio. Esto representa
un desafío a los desarrolladores de aplicaciones, ya que los avances en tecnología
demandan cada vez aplicaciones más rápidas, ligeras y robustas que permitan utilizar el
Web.
Afortunadamente, tenemos herramientas potentes para realizar esto, ya que han surgido
nuevas tecnologías que permiten que el acceso a una base de datos desde el Web, por
ejemplo, sea un mero trámite. El único problema es decidir entre el conjunto de posibilidades
la correcta para cada situación.
El viejo CGI ha cumplido con el propósito de añadir interactividad a las páginas Web pero sus
deficiencias en el desarrollo de aplicaciones y en la escalabilidad de las mismas ha
conducido al desarrollo de APIs específicos de servidor como Active Server Pages, ASP, y
PHP, que son más eficientes que su predecesor CGI.
Para aprovechar el potencial de estas tecnologías y ofertar una solución de servidor más
extensible y portable, Sun ha desarrollado la tecnología llamada servlet. Los servlets Java
son muy eficientes, debido al esquema de threads en el que se basan y al uso de una
arquitectura estándar como la JVM, Java Virtual Machine.
Otra nueva tecnología viene a sumarse a las que extienden la funcionalidad de los servidores
Web, llamada Java Server Pages, JSP. Los JSP permiten juntar HTML, aplicaciones Java, y
componentes como las Java Beans creando una página Web especial que el servidor Web
compila dinámicamente en un servlet la primera vez que es llamada.

1.1.1. Web 1.0.


La 'Web 1.0 (1991-2003) es la forma más básica que existe, con navegadores de sólo texto
bastante rápidos. Después surgió el HTML que hizo las páginas web más agradables a la
vista, así como los primeros navegadores visuales tales como IE, Netscape, Explorer (en
versiones antiguas), etc.
La Web 1.0 es de sólo lectura. El usuario no puede interactuar con el contenido de la página
(nada de comentarios, respuestas, citas, etc), estando totalmente limitado a lo que el
Webmaster sube a ésta.
Web 1.0 se refiere a un estado de la World Wide Web, y cualquier página web diseñada con
un estilo anterior del fenómeno de la Web 2.0. Es en general un término que ha sido creado
para describir la Web antes del impacto de la fiebre punto com en el 2001, que es visto por
muchos como el momento en que el internet dio un giro.

1.1.2. Web 2.0.

La Web 2.0 es la representación de la evolución de las aplicaciones tradicionales hacia


aplicaciones web enfocadas al usuario final. El Web 2.0 es una actitud y no precisamente
una tecnología.
Cuando el web inició, nos encontrábamos en un entorno estático, con páginas en HTML que
sufrían pocas actualizaciones y no tenían interacción con el usuario.
La Web 2.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones
que funcionan a través del web enfocadas al usuario final. Se trata de aplicaciones que
generen colaboración y de servicios que reemplacen las aplicaciones de escritorio.
Todo inició cuando Dale Dougherty de O’Reilly Media utilizó este término en una conferencia
en la que compartió una lluvia de ideas junto a Craig Cline deMedia Live en la que hablaba
del renacimiento y evolución de la web. Constantemente estaban surgiendo nuevas
aplicaciones y sitios con sorprendentes funcionalidades. Y así se dio la pauta para la Web
2.0 conference de 2004. Esta conferencia no solo fue exitosa, sino que ya tuvo seguimiento
en la Web 2.0 Conference del 2005 celebrada en Octubre.
En la charla inicial del Web Conference se habló de los principios que tenían las aplicaciones
Web 2.0:
 La web es la plataforma
 La información es el procesador
 Efectos de la red movidos por una arquitectura de participación.
 La innovación surge de características distribuidas por desarrolladores
independientes.
 El fin del círculo de adopción de software (“Servicios en beta perpetuo”).

1.1.3. Web 3.0.


Web 3.0 es una expresión que se utiliza para describir la evolución del uso y la interacción de
las personas en internet a través de diferentes formas entre los que se incluyen la
transformación de la red en una base de datos, un movimiento social hacia crear contenidos
accesibles por múltiples aplicaciones non-browser, el empuje de las tecnologías de
inteligencia artificial, la web semántica, la Web Geoespacial o la Web 3D. La expresión es
utilizada por los mercados para promocionar las mejoras respecto a la Web 2.0. Esta
expresión Web 3.0 apareció por primera vez en 2006 en un artículo de Jeffrey Zeldman,
crítico de la Web 2.0 y asociado a tecnologías como AJAX. Actualmente existe un debate
considerable en torno a lo que significa Web 3.0, y cuál sea la definición más adecuada.

1.2. Arquitecturas de la tecnología Cliente - Servidor.

Con la introducción de Internet y del Web en concreto, se han abierto infinidad de


posibilidades en cuanto al acceso a la información desde casi cualquier sitio. Esto representa
un desafío a los desarrolladores de aplicaciones, ya que los avances en tecnología
demandan cada vez aplicaciones más rápidas, ligeras y robustas que permitan utilizar el
Web. Afortunadamente, tenemos herramientas potentes para realizar esto, ya que han
surgido nuevas tecnologías que permiten que el acceso a una base de datos desde el Web,
por ejemplo, sea un mero trámite. El único problema es decidir entre el conjunto de
posibilidades la correcta para cada situación.

Una aplicación web es proporcionada por un servidor Web y utilizada por usuarios que se
conectan desde cualquier punto vía clientes Web (browsers o navegadores). La arquitectura
de un Sitio Web tiene tres componentes principales:
 Un servidor Web
 Una conexión de red
 Uno o más clientes
 Arquitectura web básica
Para abrir una página Web en un navegador, normalmente se teclea el correspondiente URL
o se pica en el hiperenlace oportuno. Una vez que se solicita esta petición mediante el
protocolo HTTP y la recibe el servidor Web, éste localiza la página Web en su sistema de
ficheros y la envía de vuelta al navegador que la solicitó como se muestra en la imagen.

Aplicaciones Multinivel
Al hablar de desarrollo de aplicaciones Web resulta adecuado presentarlas dentro de las
aplicaciones multinivel. Los sistemas típicos cliente/servidor pertenecen a la categoría de las
aplicaciones de dos niveles. La aplicación reside en el cliente mientras que la base de datos
se encuentra en el servidor. En este tipo de aplicaciones el peso del cálculo recae en el
cliente, mientras que el servidor hace la parte menos pesada, y eso que los clientes suelen
ser máquinas menos potentes que los servidores. Además, está el problema de la
actualización y el mantenimiento de las aplicaciones, ya que las modificaciones a la misma
han de ser trasladada a todos los clientes.

1.2.1. Aplicaciones de 2, 3 y n capas.

Modelo de dos Capas.


Las capas son:
 Cliente (fat client): La lógica de negocio está inmersa dentro de la aplicación que
realiza el interfaz de usuario, en el lado del cliente.
 Servidor: Administra los datos.
 Las limitaciones de este modelo son.
 Es difícilmente escalable
 Número de conexiones reducida
 Alta carga de la red.
 La flexibilidad es restringida
 La funcionalidad es limitada.

Modelo de tres Capas.


Está diseñada para superar las limitaciones de las arquitecturas ajustadas al modelo de dos
capas, introduce una capa intermedia (la capa de proceso). Entre presentación y los datos,
los procesos pueden ser manejados de forma separada a la interfaz de usuario y a los datos,
esta capa intermedia centraliza la lógica de negocio, haciendo la administración más sencilla,
los datos se pueden integrar de múltiples fuentes, las aplicaciones web actuales se ajustan a
este modelo.

Las capas de este modelo son:


1.  Capa de presentación (parte en el cliente y parte en el servidor)
   Recoge la información del usuario y la envía al servidor (cliente)
   Manda información a la capa de proceso para su procesado
   Recibe los resultados de la capa de proceso
   Generan la presentación
2.  Capa de proceso (servidor web)
   Recibe la entrada de datos de la capa de presentación
   Interactúa con la capa de datos para realizar operaciones
   Manda los resultados procesados a la capa de presentación
3.  Capa de datos (servidor de datos)
   Almacena los datos
   Recupera datos
   Mantiene los datos
   Segura la integridad de los datos.

Aplicaciones de N capas

Podríamos ir separando nuestra aplicación en más niveles lógicos, por ejemplo, vamos a
querer que nuestra aplicación tenga múltiples interfaces, es decir interface gráfica
(standalone o desktop) y también interface Web.
Lo aconsejado en esta circunstancia es separar al Servidor Web encargado de alojar las
páginas Web en una capa más. En este caso se tendrían 4 capas.
El surgimiento de la tecnología de componentes distribuidos es la clave de las arquitecturas
de n-capas. Estos sistemas de computación utilizan un número variable de componentes
individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks
de comunicación.

1.3. LENGUAJE DE PROGRAMACIÓN WEB DBMS.


En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos
lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estándar son:
DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el
DBMS identifica las descripciones de los elementos de los esquemas y almacena la
descripción del esquema en el catálogo del DBMS.
Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos
Almacenada).
SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por
el DBMS para especificar el esquema interno que corresponde a la Base de Datos
Almacenada.
VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS
para especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la
manipulación de las operaciones de Inserción, Eliminación y Modificación.
Tipos de DML's:
 De alto Nivel o No por procedimientos: SQL.
 De bajo Nivel o por procedimientos.

1.5. Seguridad

Es importante crear aplicaciones web con, por lo menos, un nivel mínimo de seguridad.
Normas básicas de seguridad 
Principios básicos de seguridad que cualquier aplicación o servicio web debe cumplir: 

Validación de la entrada y salida de información La entrada y salida de información es el


principal mecanismo que dispone un atacante para enviar o recibir código malicioso contra el
sistema. Por tanto, siempre debe verificarse que cualquier dato entrante o saliente es
apropiado y en el formato que se espera. Las características de estos datos deben estar
predefinidas y debe verificarse en todas las ocasiones. 
Diseños simples Los mecanismos de seguridad deben diseñarse para que sean los más
sencillos posibles, huyendo de sofisticaciones que compliquen excesivamente la vida a los
usuarios. Si los pasos necesarios para proteger de forma adecuada una función o modulo
son muy complejos, la probabilidad de que estos pasos no se ejecuten de forma adecuada
es muy elevada. 
Utilización y reutilización de componentes de confianza Debe evitarse reinventar la
rueda constantemente. Por tanto, cuando exista un componente que resuelva un problema
de forma correcta, lo más inteligente es utilizarlo. 
Defensa en profundidad Nunca confiar en que un componente realizará su función de
forma permanente y ante cualquier situación. Hemos de disponer de los mecanismos de
seguridad suficientes para que cuando un componente del sistema fallen ante un
determinado evento, otros sean capaces de detectarlo. 
Tan seguros como en eslabón más débil La frase "garantizamos la seguridad, ya que se
utiliza SSL" es realmente muy popular, pero también es muy inexacta. La utilización de SSL
garantiza que el tráfico en tránsito entre el servidor y el cliente se encuentra cifrado, pero no
garantiza nada acerca de los mecanismos de seguridad existentes. 
Por tanto, no debemos fiarnos únicamente de los mecanismos de seguridad "exteriores", sino
que es preciso identificar cuáles son los puntos precisos en los que deben establecerse las
medidas de seguridad. Si nosotros no hacemos este trabajo, seguro que los atacantes si lo
harán. 
La "seguridad gracias al desconocimiento" no funciona El simple hecho de ocultar algo
no impide que, a medio o largo plazo, llegue a ser descubierto. Tampoco es ninguna garantía
de que tampoco será descubierto a corto plazo. 
Verificación de privilegios. Los sistemas deben diseñarse para que funcionen con los
menos privilegios posibles. Igualmente, es importante que los procesos únicamente
dispongan de los privilegios necesarios para desarrollar su función, de forma que queden
compartimentados. 
Ofrecer la mínima información Ante una situación de error o una validación negativa, los
mecanismos de seguridad deben diseñarse para que faciliten la mínima información posible.
De la misma forma, estos mecanismos deben estar diseñados para que, una vez denegada
una operación, cualquier operación posterior sea igualmente denegada. 
Otros aspectos tratados en la guía son: consideraciones de arquitectura, mecanismos de
autenticación, gestión de sesiones de usuario, control de acceso, registro de actividad,
prevención de problemas comunes, consideraciones de privacidad y criptografía. 

También podría gustarte