Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web2

197 views

Published on

  • Be the first to comment

  • Be the first to like this

Web2

  1. 1. Programación WebUnidad 3. Desarrollo de aplicacionesWeb
  2. 2. 3.1 Arquitectura de las aplicacionesWeb.Arquitectura de dos niveles:Es la más simple, se tiene el nivel del “Cliente” y el niveldel “Servidor”.
  3. 3. Arquitectura Web de tres niveles: El primer nivel consiste en la capa de presentación queincluye no sólo el navegador, sino también el servidor webque es el responsable de dar a los datos un formatoadecuado. El segundo nivel está referido habitualmente aalgún tipo de programa o script. Finalmente, el tercer nivelproporciona al segundo los datos necesarios para suejecución.
  4. 4. 3.2 Lenguajes de programación dellado del cliente. Los programas del lado del clienteestán incluidos dentro de la páginaHTML, se descargan del servidorjunto con este. Los programas se ejecutan dentro delámbito del browser.
  5. 5. Tecnologías y lenguajes del lado delcliente. Navegadores para Web. HTML. Javascript y Vbscript. Applets en Java. Flash (lenguaje ActionScript). XML. PDF. AJAX, acrónimo de AsynchronousJavaScript And XML (JavaScriptasíncrono y XML).
  6. 6. Lenguajes del lado del cliente Algunos navegadores Web. Amaya Epiphany Galeon Internet Explorer Konqueror Lynx Mozilla suite navigator Mozilla Firefox Netscape Navigator Opera Safari Shiira Maik Navigator
  7. 7. Tecnologías y lenguajes del lado delcliente. Algunos de estos lenguajes y tecnologíasrequieren de un programa especial (plug-in) instalado en la computadora delusuario. Ejemplo: Adobe Flash Player. Un complemento (o plug-in en inglés) esuna aplicación que se relaciona con otrapara aportarle una función nueva ygeneralmente muy especifica. Estaaplicación adicional es ejecutada por laaplicación principal e interactúan por mediode la API.
  8. 8. 3.3 Lenguajes de programación dellado del servidor. Se ejecutan en el servidor de Web y sondependientes de la plataforma del servidor. Se usan para acceder a recursos del servidor, como basesde datos y generación de contenido dinámico para laspáginas.
  9. 9. 3.3 Lenguajes de programación dellado del servidor. Por ejemplo, el ámbito de ejecuciónde una página ASP.NET.
  10. 10. 3.3 Lenguajes de programación dellado del servidor.Algunos ejemplos de lenguajes del lado del servidor: ASP, ASP.NET (son tecnologías, soportan diferenteslenguajes como VB, C#, C++, etc.). PHP. JSP. Perl. Ruby. Python. XML.
  11. 11. Servidor Web Un servidor web es un programa queimplementa el protocolo HTTP ). Esteprotocolo pertenece a la capa de aplicacióndel modelo OSI y está diseñado paratransferir lo que se llama hipertextos,páginas web o páginas HTML: textoscomplejos con enlaces, figuras, formularios,botones y objetos incrustados comoanimaciones o reproductores de música.
  12. 12. Servidor Web. Algunos ejemplos: CERN httpd Apache (Libre, servidor más usado del mundo,según Wikipedia) IIS Resin Tomcat (Libre, del proyecto Jakarta de Apache) Geronimo (Libre, orientado a J2EE, del proyectoJakarta de Apache, actualmente se encuentraen desarrollo) JBoss JOnAS Cherokee
  13. 13. 3.4 Ambientes para el desarrollo deaplicaciones Web. Los IDE (ambientes integrados dedesarrollo) para aplicaciones Web son muynumerosos. Considerar los que permitan trabajar conlos diferentes lenguajes para Web. Algunos son específicos para lenguajes dellado del servidor. Por ejemplo, VisualStudio solo soporta ASP.NET del lado delservidor. Existen IDE’s de buena cantidad, libres ygratuitos de buena calidad.
  14. 14. 3.4 Ambientes para el desarrollo deaplicaciones Web. Algunos ejemplos de IDE para Web: Microsoft Visual Studio. Microsoft Web Developer Express. Mono (para ASP.NET). NetBeans. Jbuilder. Eclipse.
  15. 15. 3.5 Metodologías para el desarrollode aplicaciones Web. Ciclo de vida clásico. Pressman, “adapta”esta metodología para el desarrollo deWeb, en lo que el llama la “IngenieríaWeb”: Formulación. Planificación. Análisis (contenido, interacción, funcional,configuración). Diseño (arquitectónico, navegación, interfaz, debase de datos). Implementación. Pruebas.
  16. 16. 3.5 Metodologías para el desarrollode aplicaciones Web. UWE UML (UML-Based WebEngineering) es una metodología dedesarrollo de aplicaciones web,utilizada en la ingeniería web,prestando especial atención ensistematización y personalización(sistemas adaptativos).
  17. 17. UWE UMLEl método UWE UML consta de seis modelos: Modelo de casos de uso para capturar los requisitos delsistema. Modelo conceptual para el contenido (modelo del dominio). Modelo de usuario: modelo de navegación que incluyemodelos estáticos y dinámicos. Modelo de estructura de presentación, modelo de flujo depresentación. Modelo abstracto de interfaz de usuario y modelo de ciclode vida del objeto. Modelo de adaptación.
  18. 18. 3.6 Aspectos de seguridad. Las aplicaciones Web están másexpuestas a ataques.Se pueden tener ataques en tresniveles: A la computadora del usuario. Al servidor. A la información en tránsito.
  19. 19. La seguridad en Web tiene 3 etapasprimarias:– Seguridad de la computadora delusuario.– Seguridad del servidor Web y de losdatos almacenados ahí.– Seguridad de la información que viajaentre el servidor Web y el usuario.
  20. 20. Seguridad de la computadora delusuario Los usuarios deben contar connavegadores y plataformas seguras,libres de virus y vulnerabilidades.También debe garantizarse laprivacidad de los datos del usuario.
  21. 21. Seguridad del servidor Web y de losdatos almacenados ahí Se debe garantizar la operacióncontinua del servidor, que los datosno sean modificados sin autorización(integridad) y que la información sólosea distribuida a las personasautorizadas (control de acceso).
  22. 22.  Seguridad de la información queviaja entre el servidor Web y elusuario.Garantizar que la información en tránsito nosea leída (confidencialidad), modificada odestruida por terceros. También esimportante asegurar que el enlace entrecliente y servidor no pueda interrumpirsefácilmente (disponibilidad).
  23. 23. Recomendaciones deseguridad.
  24. 24. Recomendaciones: Asegurar elservidorSe deben considerar los siguientespuntos: Asegurar el servidor en una formafundamental: el sistema operativo, ya seapor medio de actualizaciones (parches) yhabilitando los mecanismos propios de laplataforma. Garantizar la seguridad del servidor Webpropiamente (IIS, Apache, etc.) Auditar las aplicaciones que interactúan enlas dos capas anteriores (módulos,bibliotecas).
  25. 25. Recomendaciones: Asegurar lainformación en tránsitoEsto se puede lograr por diversosmedios: Asegurando la red físicamente (switches enlugar de hubs). Esconder la información (esteganografía). Cifrar la información (criptografía) pormedio de algoritmos diversos (SSL, VPNs).
  26. 26. Recomendaciones: Asegurar elequipo del usuarioVulnerar el equipo del usuario quizás no tengael impacto de vulnerar el servidor, sinembargo es un problema más difícil deerradicar (1 servidor, 5000 clientes): Aplicar actualizaciones (parches) al sistemaoperativo. Uso de antivirus, firewalls personales. Educación de los usuarios.

×