u2 desarrollo aplicaciones web

34
Programación Web Unidad I I Desarrollo de Aplicaciones Web

Upload: roxall

Post on 25-Sep-2015

221 views

Category:

Documents


1 download

DESCRIPTION

Apuntes de la Materia, Programación WEB.

TRANSCRIPT

  • Programacin Web

    Unidad I I

    Desarrollo de Aplicaciones Web

  • _

    Programacin

    Web

    2. 1 Arquitectura de Aplicaciones Web

  • Programacin

    WebArquitectura de Dos Capas

    La arquitectura cliente/servidor es conocida como arquitectura de dos capas. Requiereuna interfaz de usuario que se instala y corre en una estacin de trabajo y envasolicitudes 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 enambientes anteriores, pero no es necesariamente mas rpido que con el nuevo ambientede tres capas. Las herramientas para el desarrollo con dos capas son robustas y evaluadas. Lastcnicas de prototipo se emplean fcilmente. Las soluciones de dos capas trabajan bien en ambientes no dinmicos estables, perono 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 demandanesfuerzo de distribucin de la aplicacin cuando se les hacen cambios. Esto se debe alhecho de que la mayora de la aplicacin lgica existe en la estacin de trabajo delcliente. La seguridad del sistema en un diseo de dos capas es compleja y a menudo requiereadministracin 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 cualquierherramienta, 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 laarquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuariofinal (el cliente). La arquitectura basada en Web transforma la interfaz de bsqueda existente (elNavegador 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, sonms flexibles que en el diseo de dos capas, ya que la estacin solo necesita transferir parmetros a lacapa intermedia. Con la arquitectura de tres capas, la interfaz del cliente no es requerida para comprender ocomunicarse con el receptor de los datos. Por lo tanto, esa estructura de los datos puede ser modificadasin cambiar la interfaz del usuario en la PC. El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si esta diseado enformato modular. La separacin de roles en tres capas, hace mas fcil reemplazar o modificar una capa sin afectar a losmdulos 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 utolerancia a las fallas. Los exploradores actuales no son todos iguales. La estandarizacin entre diferentes proveedores hasido 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 Arquitecturas

    MONOLITICA CLIENTE-SERVIDOR TRES CAPAS

    Lgica del Negocio

    Capa de Presentacin

    Grafica / Navegador

    Lgica del Negocio

    Servlets / Componentes

    Lgica del Negocio

    Capa Intermedia

    ClienteCliente

    Servidor WebCapa de Presentacin

    Almacenamiento de Datos

    Terminales

    Mainframe

    Capa de Presentacin

    Navegador

    Almacenamiento de Datos Servicios Web

    Servidor Web

    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 elNavegador (browser). Incluidos en el cdigo HTML son aquellos que pueden serdirectamente 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 elservidor 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, locual permite que la pgina pueda ser albergada en cualquier sitio sin necesidad depagar ms ya que, por regla general, los servidores que aceptan pginas con scriptsde 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 esmucho menos rgido respecto al cambio de un navegador a otro o respecto a lasversiones del mismo.

  • Programacin

    Web Lenguajes del Lado del cliente

    HTMLSe dise para mostrar los datos, con especial atencin a los datos de cmo se ve. indica al navegadordonde colocar cada texto, cada imagen o cada video y la forma que tendrn estos al ser colocados en lapgina.

    JAVASCRIPTEs un lenguaje utilizado para crear pequeos programitas encargados de realizar acciones dentro delmbito de una pgina web. Es un lenguaje de programacin del lado del cliente, porque es el navegador elque soporta la carga de procesamiento. Su uso se basa fundamentalmente en la creacin de efectosespeciales en las pginas y la definicin de interactividades con el usuario.

    APPLETS DE JAVAEs otra manera de incluir cdigo a ejecutar en los clientes que visualizan una pgina web. Se trata depequeos programas hechos en Java, que se transfieren con las pginas web y que el navegador ejecutaen el espacio de la pgina.Los applets de Java estn programados en Java y precompilados, es por ello que la manera de trabajar destos vara un poco con respecto a los lenguajes de script como Javascript. Los applets son ms difcilesde programar que los scripts en Javascript y requerirn unos conocimientos bsicos o medios del lenguajeJava.La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador quelos 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 podrser mayor.Como desventajas en relacin con Javascript cabe sealar que los applets son ms lentos de procesar yque tienen espacio muy delimitado en la pgina donde se ejecutan, es decir, no se mezclan con todos loscomponentes de la pgina ni tienen acceso a ellos. Es por ello que con los applets de Java no podremoshacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc.es y soportes.

  • Programacin

    Web Lenguajes del Lado del cliente

    VISUAL BASIC SCRIPTEs un lenguaje de programacin de scripts , pero slo compatible con Internet Explorer. Es por ello que suutilizacin est desaconsejada a favor de Javascript.Est basado en Visual Basic, un lenguaje para crear aplicaciones Windows. Tanto su sintaxis como lamanera de trabajar est basados en l. Sin embargo, no todo lo que se puede hacer en Visual Basic lopodremos hacer en Visual Basic Script, pues este ltimo es una versin reducida del primero.

    FLASHFlash es una tecnologa, y un programa, para crear efectos especiales en pginas web. Con Flashtambin 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 pginasdinmicas de cliente.

    CSSCSS, es una tecnologa que nos permite crear pginas web de una manera estandarizada. Con las CSSpodemos realizar cosas que no se poda hacer utilizando solamente HTML, como incluir mrgenes, tiposde letra, fondos, colores Incluso podemos definir nuestros propios estilos en un archivo externo anuestras pginas; as, si en algn momento queremos cambiar alguno de ellos, automticamente se nosactualizarn todas las pginas vinculadas de nuestro sitio.

    CGIEs 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 conla 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++ oVisual Basic pueden ser tambin empleados para construirlos.

  • Programacin

    Web Lenguajes del Lado del cliente

    CGIEs 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 lapesada 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.

    XMLFue diseado para transportar y almacenar datos, con especial atencin a los datos de lo que es, Estatecnologa sencilla que tiene a su alrededor otras tecnologas que la complementan y la hacen mucho msgrande y con unas posibilidades mucho mayores.XML, con todas las tecnologas relacionadas, representa una manera distinta de hacer las cosas, msavanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a todoslos 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. Problema de seguridad que poda representar el hecho que mediante la llamada a una pgina se pueda ejecutar programas indeseados en el servidor.

    2. 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 porel 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 exclusivamenteesttica de la informacin

    Resolver el problema de seguridad que poda representar elhecho que mediante la llamada a una pgina se puedaejecutar programas indeseados

    Balancear la carga de procesamiento del servidor (si unamisma pgina que lanzaba un programa era llamada desde100 clientes concurrentemente, en el servidor se ejecutaban100 procesos

    Optimizar el desarrollo demasiado costoso en trminos detiempo

  • Programacin

    Web Lenguajes del Lado del servidor

    En el dominio de la red, los lenguajes de lado servidor ms ampliamente utilizados para el desarrollo depginas dinmicas son el ASP, PHP y PERL.

    PERLEs un lenguaje de programacin interpretado, Esto quiere decir que el cdigo de los scripts en Perl no secompila sino que cada vez que se quiere ejecutar se lee el cdigo y se pone en marcha interpretando loque hay escrito. Adems es extensible a partir de otros lenguajes, ya que desde Perl podremos hacerllamadas a subprogramas escritos en otros lenguajes. Tambin desde otros lenguajes podremos ejecutarcdigo Perl. Es un lenguaje ms rpido y potente que requiere obviamente un aprendizaje ms largo yresulta ms reservado para personas ya familiarizadas con la verdadera programacin.

    ASPASP (Active Server Pages) es la tecnologa desarrollada por Microsoft para la creacin de pginasdinmicas del servidor. ASP se escribe en la misma pgina web, utilizando el lenguaje Visual Basic Scripto Jscript (Javascript de Microsoft).

    PHPEs el acrnimo de Hipertext Preprocesor. Es un lenguaje de programacin del lado del servidor gratuito eindependiente de plataforma, rpido, con una gran librera de funciones y mucha documentacin.

    JSPEs un acrnimo de Java Server Pages, que en castellano vendra a decir algo como Pginas de ServidorJava. 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 mltiplesplataformas, ya que Java es en esencia un lenguaje multiplataforma. Por tanto, las JSP podremosescribirlas 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, puedenutilizarse para varios.

    Consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfazgrfica. Su objetivo es proporcionar un marco de trabajo amigable para losprogramadores 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 paraWeb. Algunos son especficos para lenguajes del lado del servidor. Por ejemplo, VisualStudio 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.

  • Ajax Maximiliano Firtman Editorial Alfaomega.

    Programacin

    Web AJAX

    AJAX (Asynchronous JavaScript and XML JavaScriptAsincrnico 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, Adobe: Flex 3 http://www.adobe.com/es/products/flex/ .

    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

    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 plataformade desarrollo de software con nfasis en transparencia de redes,con independencia de plataforma y que permita un rpidodesarrollo de aplicaciones. Basado en esta plataforma, Microsoftintenta desarrollar una estrategia horizontal que integre todos susproductos, desde el Sistema Operativo hasta las herramientas demercado..NET podra considerarse una respuesta de Microsoft al crecientemercado de los negocios en entornos Web, como competencia a laplataforma 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 unsistema operativo, sino ms bien una mquina virtual encargada dela ejecucin, y un conjunto de libreras estndar que ofrecenfuncionalidad comn.La plataforma es as llamada la Plataforma Java (antes conocidacomo Plataforma Java 2, e incluye:Plataforma Java, Edicin Estndar (Java Platform, StandardEdition), o Java SE (antes J2SE)Plataforma Java, Edicin Empresa (Java Platform, EnterpriseEdition), o Java EE (antes J2EE)Plataforma Java, Edicin Micro (Java Platform, Micro Edition), oJava 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.

  • _

    Programacin

    Web

    2.5 Metodologia para el Desarrollo

    de Aplicaciones Web.

  • Programacin

    Web Proceso de Desarrollo de SoftwareEl proceso de desarrollo de software contiene tres fases genricas, independientemente delparadigma de ingeniera elegido. Las tres fases, definicin, desarrollo, y mantenimiento, seencuentran en todos los desarrollos de software independientemente del rea de aplicacin, del

    tamao del proyecto o de la complejidad.

    La fase de definicin se centrasobre el qu. Esto es, durantela definicin, el que desarrolla elSW intenta identificar quInformacin debe serproporcionada, qu funcin yrendimiento se desea, quinterfaces deben establecerse,qu restricciones de diseoExisten y qu criterios devalidacin se necesitan paradefinir un sistema correcto. Los mtodos aplicados durante la fase de definicin variarndependiendo del paradigma de ingeniera del software aplicado, de alguna forma se producirntres pasos especficos:Anlisis del sistema. Define el papel de cada elemento del sistema informtico, asignandofinalmente al software el papel que va a desempear.Planificacin del proyecto de software. Una vez establecido el mbito del software, seanalizan los riesgos, se asignan los recursos, se estiman los costos, se definen las tareas y seplanifica el trabajo.Anlisis de Requerimientos. El mbito establecido para el software proporciona la direccin aseguir, pero antes de comenzar a trabajar es necesario disponer de una informacin masdetallada del mbito de informacin y de funcin del software.

    Status

    Quo

    Definicin

    delProblema

    DesarrolloTcnico

    Mante-nimiento

  • 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 sumaimportancia, ya que por medio de ella aseguramos la informacin que contendrnuestra aplicacin web.

    Seguridad Informtica:Otorgar la calidad de SEGURO a los sistemas que hacen el procesamientode la informacin y a sus procesos de transmisin desde su elaboracin,creacin, utilizacin y mantenimientorea del conocimiento relacionada con los mecanismos, herramientas yestrategias que permiten otorgar a un sistema, no necesariamenteinformtico, un conjunto de caractersticas que indican que esta libre depeligro, 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 unsistema fiable se garantizan tres aspectos:

    Confidencialidad: Los objetos de un sistema han de ser accedidos nicamente por usuariosautorizados.Integridad: Los objetos solo pueden ser modificados por usuarios autorizados y de unamanera 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.

    ConclusinSi un sistema cuenta con confidencialidad e integridad, pero no esta disponible para losusuarios autorizados, entonces se pierde toda su utilidad.

    Si no hay garanta de saber con quien me estoy comunicando o si no mi contraparte puedenegar que dijo lo que dijo, o que escucho o que escucho, no importara que los datos estnseguros.

  • Programacin

    Web Principios de SeguridadPrincipio UNO de la SIEl intruso utilizara cualquier mecanismo o herramienta que haga ms fcil su acceso yposterior 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 SILos 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 SILas 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 SeguridadPrincipio fundamental de la administracin de la SISi se tiene responsabilidad sobre la seguridad, pero no se tiene autoridad para fijarlas reglas y castigar a quienes las violen, su papel en la organizacin es asumir laculpa 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