Vous êtes sur la page 1sur 34

Programacin Web

Unidad I I
Desarrollo de Aplicaciones Web

Programacin
Web

2. 1 Arquitectura de Aplicaciones Web

Programacin
Web

Arquitectura de Dos Capas

La arquitectura cliente/servidor es conocida como arquitectura de dos capas. Requiere


una interfaz de usuario que se instala y corre en una estacin de trabajo y enva
solicitudes a un servidor para ejecutar operaciones complejas.
Ventajas del Sistema de Dos Capas:
El desarrollo de aplicaciones en un ambiente de dos capas es mas rpido que en
ambientes anteriores, pero no es necesariamente mas rpido que con el nuevo ambiente
de tres capas.
Las herramientas para el desarrollo con dos capas son robustas y evaluadas. Las
tcnicas de prototipo se emplean fcilmente.
Las soluciones de dos capas trabajan bien en ambientes no dinmicos estables, pero
no se ejecutan bien en organizaciones rpidamente cambiantes.
Desventajas del Sistema de Dos Capas:
Los ambientes de dos capas requieren control excesivo de las versiones y demandan
esfuerzo de distribucin de la aplicacin cuando se les hacen cambios. Esto se debe al
hecho de que la mayora de la aplicacin lgica existe en la estacin de trabajo del
cliente.
La seguridad del sistema en un diseo de dos capas es compleja y a menudo requiere
administracin de las bases de datos; esto es debido al nmero de dispositivos con
acceso directo al ambiente de esas bases de datos.
Las herramientas del cliente y de la base de datos, utilizadas en diseos de dos capas,
constantemente estn cambiando. La dependencia a largo plazo de cualquier
herramienta, puede complicar el escalamiento futuro o las implementaciones.

Programacin
Web

Arquitectura de Tres capas

La arquitectura de tres capas es un diseo reciente que introduce una capa intermedia en el proceso.
Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. En la
arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario
final (el cliente). La arquitectura basada en Web transforma la interfaz de bsqueda existente (el
Navegador Web), en la interfaz del usuario final.

Ventajas de la Arquitectura de Tres Capas:


Las llamadas de la interfaz de usuario en la estacin de trabajo, al servidor de capa intermedia, son
ms flexibles que en el diseo de dos capas, ya que la estacin solo necesita transferir parmetros a la
capa intermedia.
Con la arquitectura de tres capas, la interfaz del cliente no es requerida para comprender o
comunicarse con el receptor de los datos. Por lo tanto, esa estructura de los datos puede ser modificada
sin cambiar la interfaz del usuario en la PC.
El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si esta diseado en
formato modular.
La separacin de roles en tres capas, hace mas fcil reemplazar o modificar una capa sin afectar a los
mdulos restantes.
Desventajas de las Arquitecturas de Tres Capas y basadas en Web:
Los ambientes de tres capas pueden incrementar el trfico en la red y requiere ms balance de carga u
tolerancia a las fallas.
Los exploradores actuales no son todos iguales. La estandarizacin entre diferentes proveedores ha
sido lenta en desarrollarse. Muchas organizaciones son forzadas a escoger uno en lugar de otro,
mientras que cada uno ofrece sus propias y distintas ventajas.

Programacin
Web

MONOLITICA
Terminales

Arquitecturas
CLIENTE-SERVIDOR
Cliente

TRES CAPAS
Cliente
Capa de Presentacin

Capa de Presentacin

Navegador

Grafica / Navegador

Capa Intermedia
Lgica del Negocio

Mainframe

Servlets / Componentes

Servidor Web
Capa de Presentacin
Lgica del Negocio
Lgica del Negocio
Almacenamiento de Datos

Servidor Web
Servicios Web

Almacenamiento de Datos
Almacenamiento de Datos

Programacin
Web

2.2 Lenguajes de Programacion del


Lado del Cliente

Programacin
Web

Lenguajes de Programacion Web

Lenguajes del lado del cliente:


Cdigo de un lenguaje de programacin del lado del cliente es procesado por el
Navegador (browser). Incluidos en el cdigo HTML son aquellos que pueden ser
directamente digeridos por el navegador y no necesitan un pre tratamiento.
Lenguajes del lado del servidor:
Son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el
servidor web. Los servidores web procesan este cdigo generando cdigo HTML
"puro (formato cpmprensible), el cual es enviado al cliente web

Cada uno tiene sus ventajas y sus inconvenientes.


Por ejemplo, un lenguaje de lado cliente es totalmente independiente del servidor, lo
cual permite que la pgina pueda ser albergada en cualquier sitio sin necesidad de
pagar ms ya que, por regla general, los servidores que aceptan pginas con scripts
de lado servidor son en su mayora de pago o sus prestaciones son muy limitadas.
Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es
mucho menos rgido respecto al cambio de un navegador a otro o respecto a las
versiones del mismo.

Programacin
Web

Lenguajes del Lado del cliente

HTML
Se dise para mostrar los datos, con especial atencin a los datos de cmo se ve. indica al navegador
donde colocar cada texto, cada imagen o cada video y la forma que tendrn estos al ser colocados en la
pgina.
JAVASCRIPT
Es un lenguaje utilizado para crear pequeos programitas encargados de realizar acciones dentro del
mbito de una pgina web. Es un lenguaje de programacin del lado del cliente, porque es el navegador el
que soporta la carga de procesamiento. Su uso se basa fundamentalmente en la creacin de efectos
especiales en las pginas y la definicin de interactividades con el usuario.
APPLETS DE JAVA
Es otra manera de incluir cdigo a ejecutar en los clientes que visualizan una pgina web. Se trata de
pequeos programas hechos en Java, que se transfieren con las pginas web y que el navegador ejecuta
en el espacio de la pgina.
Los applets de Java estn programados en Java y precompilados, es por ello que la manera de trabajar de
stos vara un poco con respecto a los lenguajes de script como Javascript. Los applets son ms difciles
de programar que los scripts en Javascript y requerirn unos conocimientos bsicos o medios del lenguaje
Java.
La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que
los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan.
Adems, Java es ms potente que Javascript, por lo que el nmero de aplicaciones de los applets podr
ser mayor.
Como desventajas en relacin con Javascript cabe sealar que los applets son ms lentos de procesar y
que tienen espacio muy delimitado en la pgina donde se ejecutan, es decir, no se mezclan con todos los
componentes de la pgina ni tienen acceso a ellos. Es por ello que con los applets de Java no podremos
hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc.
es y soportes.

Programacin
Web

Lenguajes del Lado del cliente

VISUAL BASIC SCRIPT


Es un lenguaje de programacin de scripts , pero slo compatible con Internet Explorer. Es por ello que su
utilizacin est desaconsejada a favor de Javascript.
Est basado en Visual Basic, un lenguaje para crear aplicaciones Windows. Tanto su sintaxis como la
manera de trabajar est basados en l. Sin embargo, no todo lo que se puede hacer en Visual Basic lo
podremos hacer en Visual Basic Script, pues este ltimo es una versin reducida del primero.
FLASH
Flash es una tecnologa, y un programa, para crear efectos especiales en pginas web. Con Flash
tambin conseguimos hacer pginas dinmicas del lado del cliente. Flash en realidad no es un lenguaje;
Sin embargo, si tuviramos que catalogarlo en algn sitio quedara dentro del mbito de las pginas
dinmicas de cliente.
CSS
CSS, es una tecnologa que nos permite crear pginas web de una manera estandarizada. Con las CSS
podemos realizar cosas que no se poda hacer utilizando solamente HTML, como incluir mrgenes, tipos
de letra, fondos, colores Incluso podemos definir nuestros propios estilos en un archivo externo a
nuestras pginas; as, si en algn momento queremos cambiar alguno de ellos, automticamente se nos
actualizarn todas las pginas vinculadas de nuestro sitio.
CGI
Es el sistema ms antiguo que existe para la programacin de las pginas dinmicas de servidor.
Actualmente se encuentra un poco desfasado por diversas razones entre las que destaca la dificultad con
la que se desarrollan los programas y la pesada carga que supone para el servidor que los ejecuta.
Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes como C, C++ o
Visual Basic pueden ser tambin empleados para construirlos.

Programacin
Web

Lenguajes del Lado del cliente

CGI
Es el mtodo ms antiguo que existe para la programacin de las pginas dinmicas de servidor.
Actualmente se encuentra obsoleto debido a la dificultad con la que se desarrollan los programas y la
pesada carga que supone para el servidor que los ejecuta. Se escriben habitualmente en el lenguaje Perl,
sin embargo, otros lenguajes como C, C++ o Visual Basic pueden ser empleados para construirlos.
XML
Fue diseado para transportar y almacenar datos, con especial atencin a los datos de lo que es, Esta
tecnologa sencilla que tiene a su alrededor otras tecnologas que la complementan y la hacen mucho ms
grande y con unas posibilidades mucho mayores.
XML, con todas las tecnologas relacionadas, representa una manera distinta de hacer las cosas, ms
avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a todos
los niveles, por todas las aplicaciones y soportes.

Programacin
Web

2.3 Lenguajes de Programacion del


Lado del Servidor

Programacin
Web

Lenguajes del Lado del servidor

Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota ms a fondo
ciertas caractersticas que lo hacen ms o menos tiles para desarrollar distintas aplicaciones.
La versatilidad de un lenguaje est ntimamente relacionada con su complejidad. Un lenguaje complicado
en su aprendizaje permite en general el realizar un espectro de tareas ms amplio y ms profundamente.
Es por ello que a la hora de elegir el lenguaje que queremos utilizar tenemos que saber claramente qu es
lo que queremos hacer y si el lenguaje en cuestin nos lo permite o no.
Limitaciones importantes en el desarrollo de Aplicaciones Web:

1.
2.

Problema de seguridad que poda representar el hecho que mediante la llamada a una pgina se
pueda ejecutar programas indeseados en el servidor.
Carga del servidor (si una misma pgina que lanzaba un programa era llamada desde 100 clientes
concurrentemente, en el servidor se ejecutaban 100 procesos, uno por cada cliente que solicitaba
esa pgina).

Solucin: denominada servlet en un nico proceso externo que gestiona todas las llamadas realizadas por
el en tecnologa Java o filtro ISAPI en tecnologa Microsoft, permite el poder ejecutar cdigo servidor web,
impidiendo al mismo tiempo que el servidor web pueda llamar a ejecutar programas del sistema operativo.

Programacin
Web

Objetivo de los lenguajes del lado del Servidor

Resolver el problema de la presentacin exclusivamente


esttica de la informacin
Resolver el problema de seguridad que poda representar el
hecho que mediante la llamada a una pgina se pueda
ejecutar programas indeseados
Balancear la carga de procesamiento del servidor (si una
misma pgina que lanzaba un programa era llamada desde
100 clientes concurrentemente, en el servidor se ejecutaban
100 procesos
Optimizar el desarrollo demasiado costoso en trminos de
tiempo

Programacin
Web

Lenguajes del Lado del servidor

En el dominio de la red, los lenguajes de lado servidor ms ampliamente utilizados para el desarrollo de
pginas dinmicas son el ASP, PHP y PERL.
PERL
Es un lenguaje de programacin interpretado, Esto quiere decir que el cdigo de los scripts en Perl no se
compila sino que cada vez que se quiere ejecutar se lee el cdigo y se pone en marcha interpretando lo
que hay escrito. Adems es extensible a partir de otros lenguajes, ya que desde Perl podremos hacer
llamadas a subprogramas escritos en otros lenguajes. Tambin desde otros lenguajes podremos ejecutar
cdigo Perl. Es un lenguaje ms rpido y potente que requiere obviamente un aprendizaje ms largo y
resulta ms reservado para personas ya familiarizadas con la verdadera programacin.
ASP
ASP (Active Server Pages) es la tecnologa desarrollada por Microsoft para la creacin de pginas
dinmicas del servidor. ASP se escribe en la misma pgina web, utilizando el lenguaje Visual Basic Script
o Jscript (Javascript de Microsoft).

PHP
Es el acrnimo de Hipertext Preprocesor. Es un lenguaje de programacin del lado del servidor gratuito e
independiente de plataforma, rpido, con una gran librera de funciones y mucha documentacin.
JSP
Es un acrnimo de Java Server Pages, que en castellano vendra a decir algo como Pginas de Servidor
Java. Es, pues, una tecnologa orientada a crear pginas web con programacin en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de mltiples
plataformas, ya que Java es en esencia un lenguaje multiplataforma. Por tanto, las JSP podremos
escribirlas con nuestro editor HTML/XML habitual.

Programacin
Web

Lenguajes del Lado del servidor

Ventajas de PHP
Es un lenguaje multiplataforma
Capacidad de conexin con la mayora de los manejadores de base de datos que se utilizan en la actualidad,
destaca su conectividad con MySQL
Leer y manipular datos desde diversas fuentes, incluyendo datos que pueden ingresar los usuarios desde
formularios HTML.
Capacidad de expandir su potencial utilizando la enorme cantidad de mdulos (llamados ext's o extensiones).
Posee una amplia documentacin en su pgina oficial, entre la cual se destaca que todas las funciones del
sistema estn explicadas y ejemplificadas en un nico archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fcil acceso para todos.
Permite las tcnicas de Programacin Orientada a Objetos
Permite crear los formularios para la web.
Biblioteca nativa de funciones sumamente amplia e incluida
No requiere definicin de tipos de variables ni manejo detallado del bajo nivel.

Programacin
Web

2.4 Ambientes para el Desarrollo


de Aplicaciones Web

Programacin
Web

Ambiente Integrado de Desarrollo Web

Es un programa compuesto por un conjunto de herramientas para un programador.


Puede dedicarse en exclusiva a un slo lenguaje de programacin o bien, pueden
utilizarse para varios.
Consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz
grfica. Su objetivo es proporcionar un marco de trabajo amigable para los
programadores de algn lenguaje de programacin.
Los IDE (ambientes integrados de desarrollo) para aplicaciones Web son muy
numerosos. Se debe de considerar si permitan trabajar con los diferentes lenguajes para
Web. Algunos son especficos para lenguajes del lado del servidor. Por ejemplo, Visual
Studio solo soporta ASP.NET del lado del servidor. Existen IDEs de buena cantidad,
libres y gratuitos de buena calidad.
Algunos ejemplos de IDE para Web:
Microsoft Visual Studio.
Microsoft Web Developer Express.
Aodobe Flex
Mono (para ASP.NET).
Net Beans.
Jbuilder.
Eclipse.

Programacin
Web

AJAX

AJAX (Asynchronous JavaScript and XML JavaScript


Asincrnico con XML) es una plataforma basada en estndares y
no posee dueo.El trmino fu creado en el 2005 por Jesse James
Garret para darle un nombre al conjunto de tcnicas (JS y XML).
AJAX no es nuevo y antes se conoca con otros nombres, pero no
fu muy popular hasta que Google lo difundi entre los usuarios y
programadores.
AJAX usa XHTML y CSS como lenguaje de estructura y diseo,
JavaScript como lenguaje de programacin, el modelo DOM
(Document Object Model) para trabajar con la estructura del sitio,
XML como uno de los formatos de transporte de datos desde y
hacia el servidor y un lenguaje de servidor (PHP, ASP o Java) para
la lgica de servidor y el acceso a bases de datos.

Ajax Maximiliano Firtman Editorial Alfaomega.

Programacin
Web

Flash

La mayora de los banners y animaciones de la red, incluso sitios


enteros estn desarrollados con Flash. Despus de XHTML es la
tecnologa mas distribuida entre los navegadores de todo el
mundo.
El mayor inconveniente es que requiere buenas prcticas de
programacin para la creacin de controles para la aplicacin.
No obstante sus caractersticas, Flash es un producto que ha sido
asociado ms al diseo y a la animacin y siempre le cost entrar
en el mundo de los programadores, debido a ello Macromedia (la
duea de Flash) cre Flex, la plataforma para el desarrollo de
aplicaciones RIA.

Ajax Maximiliano Firtman Editorial Alfaomega.

Programacin
Web

Adobe Flex

Flex es ahora un producto de Adobe y es una plataforma que permite


generar aplicaciones RIA basadas en la plataforma Flash, pero con un
entorno de trabajo y un modelo pensados de manera especfica para
este tema y no para el mundo de la animacin.
Flex es el nombre de la plataforma que incluye:
Flex Builder: Entorno de desarrollo comercial basado en Eclipse.
Flex SDK: Compilador gratuito que toma el cdigo fuente y lo
convierte a SWF.
Flex Data Services: Servidor de aplicaciones basado en Java que
provee servicios a las aplicaciones RIA desarrolladas en Flex.

Flex Chart Components: Componentes adicionales que generan


grficos estadsticos.

Ajax Maximiliano Firtman Editorial Alfaomega, Adobe: Flex 3 http://www.adobe.com/es/products/flex/ .

Programacin
Web

OpenLaszlo

OpenLaszlo es una plataforma Open Source mantenida por la


empresa Laszlo Systems, que genera aplicaciones RIA a partir
de un lenguaje de marcado XML conocido como LZX y cdigo
ECMAScript.

Ajax Maximiliano Firtman Editorial Alfaomega

Programacin
Web

Plataforma .NET

NET es un proyecto de Microsoft para crear una nueva plataforma


de desarrollo de software con nfasis en transparencia de redes,
con independencia de plataforma y que permita un rpido
desarrollo de aplicaciones. Basado en esta plataforma, Microsoft
intenta desarrollar una estrategia horizontal que integre todos sus
productos, desde el Sistema Operativo hasta las herramientas de
mercado.
.NET podra considerarse una respuesta de Microsoft al creciente
mercado de los negocios en entornos Web, como competencia a la
plataforma Java de Sun Microsystems.
Microsoft Silverlight
Cuando Microsoft lanza Windows Vista, tambin lanz un
subsistema (compatible con XP y 2003) llamado Windows
Presentation Foundation (WPF) que posteriormente se relanzara
para la web como Silverlight.
Para su funcionamiento, los navegadores requieren un plugin.

Ajax Maximiliano Firtman Editorial Alfaomega

Programacin
Web

Plataforma Java

En este caso, la plataforma no es un hardware especfico o un


sistema operativo, sino ms bien una mquina virtual encargada de
la ejecucin, y un conjunto de libreras estndar que ofrecen
funcionalidad comn.
La plataforma es as llamada la Plataforma Java (antes conocida
como Plataforma Java 2, e incluye:
Plataforma Java, Edicin Estndar (Java Platform, Standard
Edition), o Java SE (antes J2SE)
Plataforma Java, Edicin Empresa (Java Platform, Enterprise
Edition), o Java EE (antes J2EE)
Plataforma Java, Edicin Micro (Java Platform, Micro Edition), o
Java ME (antes J2ME)
Java Webstart
Esta tecnologa permite generar aplicaciones de internet del
mismo modo que si fueran de escritorio, para ello se requiere tener
instalada la Java Virtual Machine en el equipo del cliente y pueden
ser invocadas desde un vnculo en una pgina web.

Ajax Maximiliano Firtman Editorial Alfaomega

Programacin
Web

2.5 Metodologia para el Desarrollo


de Aplicaciones Web.

Programacin
Web

Proceso de Desarrollo de Software

El proceso de desarrollo de software contiene tres fases genricas, independientemente del


paradigma de ingeniera elegido. Las tres fases, definicin, desarrollo, y mantenimiento, se
encuentran en todos los desarrollos de software independientemente del rea de aplicacin, del
tamao del proyecto o de la complejidad.
La fase de definicin se centra
Definicin
sobre el qu. Esto es, durante
del
Problema
la definicin, el que desarrolla el
SW intenta identificar qu
Informacin
debe
ser
Desarroll
Status
o
proporcionada, qu funcin y
Tcnico
Quo
rendimiento se desea, qu
interfaces deben establecerse,
Mantequ restricciones de diseo
nimiento
Existen y qu criterios de
validacin se necesitan para
definir un sistema correcto. Los mtodos aplicados durante la fase de definicin variarn
dependiendo del paradigma de ingeniera del software aplicado, de alguna forma se producirn
tres pasos especficos:
Anlisis del sistema. Define el papel de cada elemento del sistema informtico, asignando
finalmente al software el papel que va a desempear.
Planificacin del proyecto de software. Una vez establecido el mbito del software, se
analizan los riesgos, se asignan los recursos, se estiman los costos, se definen las tareas y se
planifica el trabajo.
Anlisis de Requerimientos. El mbito establecido para el software proporciona la direccin a
seguir, pero antes de comenzar a trabajar es necesario disponer de una informacin mas
detallada del mbito de informacin y de funcin del software.

Programacin
Web

Fase de Desarrollo

La fase de desarrollo se centra en el cmo. Esto es, durante esta fase. El que desarrolla el
software intenta descubrir cmo han de disearse las estructuras de datos y la arquitectura
del software, cmo han de implementarse los detalles procedimentales, cmo ha de
traducirse el diseo a un lenguaje de programacin y cmo ha de realizarse la prueba. Los
mtodos aplicados durante la fase de desarrollo varan, pero de alguna forma se aplicarn
tres pasos concretos.
Diseo de software. El diseo traduce los requisitos de software a un conjunto de
representaciones (algunas grficas y otras tabulares o basadas en lenguajes) que describen
las estructuras de bases de datos, la arquitectura, el procedimiento algortmico y las
caractersticas de la interfaz.
Codificacin. Las representaciones del diseo debern ser traducidas a un lenguaje
artificial (un lenguaje de programacin convencional o un lenguaje no procedimental T4G),
dando como resultado unas instrucciones ejecutables en la computadora.
Prueba del software. Una vez que el software ha sido implementado en una forma
ejecutable por la maquina, debe ser probado para descubrir los defectos que puedan existir,
en la funcin, en la lgica y en la implementacin.

Programacin
Web

Fase de Desarrollo

La fase de mantenimiento se centra en el cambio que va asociado a la correccin de


errores, a las adaptaciones requeridas por la evolucin del entorno del software y a las
modificaciones debidas a los cambios de requisitos del usuario dirigidos a reforzar o ampliar
el sistema. La fase de mantenimiento vuelve a aplicar las fases de definicin y de desarrollo,
pero en el contexto del software ya existente. Durante la fase de desarrollo se encuentran
tres tipos de cambio :
Correccin. Incluso llevando a cabo las mejores actividades de garanta de calidad, es muy
probable que el cliente descubra defectos en el software. El mantenimiento correctivo
cambia el software para corregir los defectos.
Adaptacin. Con el paso del tiempo es probable que cambie el entorno original (sistemas
operativos, equipos perifricos, etc.) para los que se desarrollo el software. El
mantenimiento adaptvo consiste en modificar el software para acomodarlo a los cambios de
su entorno externo.
Mejora. Conforme utilice el software, el usuario puede descubrir funciones adicionales que
podran interesar que estuvieran incorporadas en el software. El mantenimiento perfectivo
amplia el software mas all de sus requisitos funcionales originales.

Programacin
Web

Fase de Desarrollo

Las fases y pasos relacionados descritos en la visin genrica de la ingeniera de software,


se complementan con varias actividades:
Las revisiones que se realizan durante cada paso para asegurar que se mantiene la
calidad. La documentacin que se desarrolla y controla para asegurar que toda la
informacin sobre el sistema y el software estar disponible para un uso posterior. El control
de cambios que se instituye de forma que los cambios puedan ser mejorados y registrados.
La prueba de software es un elemento de un concepto ms amplio que, a menudo, se
referencia como verificacin y validacin. La verificacin se refiere al conjunto de
actividades que aseguran que el software implementa correctamente una funcin especfica.
La validacin se refiere a un conjunto de actividades que aseguran que el software
construido se ajusta a los requisitos del cliente. Bohem lo establece de otra forma:
Verificacin: Estamos construyendo el producto correctamente?

Validacin:

Estamos construyendo el producto correcto?

Programacin
Web

Metodologia de Desarrollo

Ciclo de vida clsico. Pressman, adapta esta metodologa para el desarrollo de Web, en lo
que el llama la Ingeniera Web:

1.- Formulacin.
2.- Planificacin.
3.- Anlisis (contenido, interaccin, funcional, configuracin).
4.- Diseo (arquitectnico, navegacin, interfaz, de base de datos).
5.- Implementacin.
6.- Pruebas.
UWE UML (UML-Based Web Engineering) es una metodologa de desarrollo de aplicaciones
web, utilizada en la ingeniera web, prestando especial atencin en sistematizacin y
personalizacin (sistemas adaptativos).

El mtodo UWE UML consta de seis modelos:


Modelo de casos de uso para capturar los requisitos del sistema.
Modelo conceptual para el contenido (modelo del dominio).
Modelo de usuario: modelo de navegacin que incluye modelos estticos y dinmicos.
Modelo de estructura de presentacin, modelo de flujo de presentacin.
Modelo abstracto de interfaz de usuario y modelo de ciclo de vida del objeto.
Modelo de adaptacin.

Programacin
Web

2.6 Aspectos de Seguridad.

Programacin
Web

Aspectos de Seguridad

El aspecto de seguridad son un conjunto de reglas a considerar, es de suma


importancia, ya que por medio de ella aseguramos la informacin que contendr
nuestra aplicacin web.
Seguridad Informtica:
Otorgar la calidad de SEGURO a los sistemas que hacen el procesamiento
de la informacin y a sus procesos de transmisin desde su elaboracin,
creacin, utilizacin y mantenimiento
rea del conocimiento relacionada con los mecanismos, herramientas y
estrategias que permiten otorgar a un sistema, no necesariamente
informtico, un conjunto de caractersticas que indican que esta libre de
peligro, dao o riesgo.
No se limita al software o al hardware, considera:
1.
Uso adecuado de las instalaciones donde se manejan los sistemas
informticos.
2.
Polticas de seguridad.
3.
Medidas de contingencia.
4.
Cultura de las personas y la organizacin.

Programacin
Web

Conceptos de Seguridad

En sistemas informticos se habla de sistemas fiables y no estrictamente seguros, en un


sistema fiable se garantizan tres aspectos:
Confidencialidad: Los objetos de un sistema han de ser accedidos nicamente por usuarios
autorizados.
Integridad: Los objetos solo pueden ser modificados por usuarios autorizados y de una
manera controlada.
Disponibilidad: Los objetos del sistema tiene que permanecer accesibles a usuarios
autorizados.
En cuanto a comunicaciones se debe de garantizar dos aspectos:
Autenticidad: Las entidades que se comunican son quienes dicen ser. Ejemplo; Chat.
No repudio: Origen: No puede negar que dijo lo que dijo.
Destino: No puede negar que escucho lo que escucho.
Conclusin
Si un sistema cuenta con confidencialidad e integridad, pero no esta disponible para los
usuarios autorizados, entonces se pierde toda su utilidad.
Si no hay garanta de saber con quien me estoy comunicando o si no mi contraparte puede
negar que dijo lo que dijo, o que escucho o que escucho, no importara que los datos estn
seguros.

Programacin
Web

Principios de Seguridad

Principio UNO de la SI
El intruso utilizara cualquier mecanismo o herramienta que haga ms fcil su acceso y
posterior ataque.
Siempre existen varios frentes de ataque
Esto dificulta el anlisis de riesgo
El delincuente aplica la filosofa de acceder a traves del punto mas dbil gradualmente
gana privilegios
Principio DOS de la SI
Los datos deben protegerse solo hasta que pierdan su valor.
Caducidad del sistema de proteccin:
Tiempo de confidencialidad o secreto del dato
Criterio para medir la fortaleza del sistema cifrado

Principio TRES de la SI
Las medidas de control deben implantarse y utilizarse de forma efectiva.
Deben ser eficientes, fciles de usar y apropiadas.
Que funcionen en el momento oportuno.
Que lo hagan optimizando los recursos del sistema.
Que pase desapercibidas para el usuario.
Ningn sistema de control resulta efectivo hasta que se utiliza a partir de una necesidad.

Programacin
Web

Principios de Seguridad

Principio fundamental de la administracin de la SI


Si se tiene responsabilidad sobre la seguridad, pero no se tiene autoridad para fijar
las reglas y castigar a quienes las violen, su papel en la organizacin es asumir la
culpa si sucede algo grave.
Que aspectos de seguridad se deben de considerar en el desarrollo de
aplicaciones Web?

Para mantener los privilegios de acuerdo al papel/puesto del usuario


Certificacin de derechos otorgados
Lineamientos de uso de contraseas
Lineamientos de uso de cuentas
Lineamientos de registro de operaciones
Evitar el robo de informacin
Lineamientos para el acceso a la red (autentificacin)
Lineamientos de proteccin para el cdigo de fuente (https)
Lineamientos de seguridad para el uso de base de datos

Vous aimerez peut-être aussi