Web2

75
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
75
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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.

×