Sesión 1
•! Objetivo: Brindar al estudiante una introducción a la Ingeniería Web
•! Temas:"
•! Panorama general de la Ingeniería Web: Pasado, presente y
futuro."
•! Relación con otras disciplinas, métodos y técnicas."
•! Estudio del campo de aplicación: La WWW"
•! Modelos de negocio y comercio electrónico en la Web "
•! Computación Social e Interacción Humano Computador"
•! Aspectos éticos y legales de la Web "
Que es la Web?
•! Literalmente "telaraña"
•! Es la denominación de la red Internet World-Wide Web
•!Red de Ordenadores conectados mediante protocolo TCP/IP + HTTP (Tim Berners-Lee, 1990)
Algo de historia
•! 1989: Aparece la WWW cuando Tim Berners-Lee presentó su proyecto de “World Wide Web” en el CERN (Suiza)
•! 1990: El propio Tim Berners-Lee presenta el primer servidor web y el primer cliente y un año más tarde publicó el primer borrador de las especificaciones de HTML y HTTP.
•! 1993: Lanzamiento de Mosaic, el primer navegador de dominio público, compatible con Unix, Windows, y Macintosh, por el National Center for Supercomputing Applications (NCSA) marca el momento en que la WWW se da a conocer al mundo.
•! 1994: Se define la interfaz CGI para la generación dinámica de páginas web, con lo que se consigue ofrecer información actualizada en tiempo real, enlazar con bases de datos, o tener en cuenta entradas del usuario, y más aún, servir como punto de acceso y plataforma para la ejecución de aplicaciones distribuidas.
Algo de historia (2)
•! 1994: Miembros del equipo que creó Mosaic desarrollan Netscape, un navegador con sensibles mejoras que contribuye a impulsar la propagación de la web.
•! 1994: Este mismo año se celebra el primer congreso internacional de la WWW, y unos meses más tarde se constituye el consorcio W3C, que desde entonces y presidido por Tim Berners-Lee, se ha hecho cargo de estandarizar las principales tecnologías web.
•! 1995 Sun lanza oficialmente la primera versión del lenguaje Java, y un año más tarde Netscape presenta JavaScript.
•! 1996: XML es creado al amparo del Word Wide Web Consortium (W3C) partiendo de las amplias especificaciones de SGML.
La web hoy en cifras
•! Se estima que hoy día unos 109 usuarios utilizan la web y que ésta contiene del orden de 4 · 109 documentos, un volumen de información equivalente a entre 14 y 28 millones de libros.
•! Como dato comparativo, la asociación American Research Libraries, que agrupa unas 100 bibliotecas en EE.UU., tiene catalogados unos 3.7 millones de libros. La biblioteca de la Universidad de Harvard, la mayor de EE.UU., contiene en torno a 15 millones de libros.
•! Estas cifras incluyen sólo lo que se ha dado en denominar la web superficial, formada por los documentos estáticos accesibles en la web.
•! Se ha calculado que la llamada web profunda, constituida por las bases de datos cuyos contenidos, no directamente accesibles, se hacen visibles mediante páginas generadas dinámicamente, puede contener un tamaño de información varios cientos de veces mayor, y de mucha mejor calidad, que la web superficial, y crece a un ritmo aún mayor que ésta.
•! Se estima que el tamaño de la web profunda ha superado ya al volumen total de información impresa existente en todo el planeta.
Factores claves de evolución en la Web
•! Integración de diferentes tipos de medios (datos, texto, gráficas, images, audio y video)
•! Relación con las ciencias de la información y la computación (Organización y representación de la información, indexamiento, captura, agregación, administración creación y distribución colaborativa)
•! Utilización de las tecnologías de la información y la comunicación (Almacenamiento, transporte, procesamiento, infraestructura)
•! Liberación másiva de mas y nuevas aplicaciones
Que es una aplicación Web
•! Es una aplicación de software que utiliza tecnologías de la web para su desarrollo e implantación
•! Es una aplicación de software dirigida para ser utilizada en Internet o en una Intranet, o ambas.
Look-and-Feel
Arquitectura de Información
Componentes de una aplicación Web
Software
Arquitectura de Información
•! La arquitectura de información trata sobre la comprensión y conveniencia de la visión de la aplicación como un todo (Metáfora)
•! La arquitectura de información involucra el diseño de los sistemas de navegación, organización y recuperación para ayudar a los usuarios a encontrar y administrar información más exitosamente.
Tipos de Aplicaciones Web
•!Clasificación según su orientación: –!De Servicios
–!De Datos
–!Transaccionales
•!Clasificación según su funcionalidad
Aplicaciones de servicios
•! Estas son aplicaciones web dedicadas a algún tipo específico de servicio. –!Existen muchos ejemplos de estas
aplicaciones: un ejemplo son los motores de búsqueda, otro ejemplo son los servicios de correo gratuito
–!En ambos casos, las aplicaciones generalmente manejan una gran cantidad de datos, aunque la estructura de los datos y la navegación son bastante simples.
Aplicaciones de datos
•! Estas son aplicaciones web para accesar y mantener grandes cantidades de datos estructurados, generalmente almacenados en un sistema de bases de datos. –!Este tipo de aplicaciones tienen una compleja
estructura de navegación, pero ofrecen pocos o ningún servicio.
–!Compañías de entretenimiento, sitios académicos, revistas y periódicos en línea entran en esta categoría.
Aplicaciones transaccionales
•! Estos son realmente sistemas de información en el Web que ofrecen acceso a datos y servicios de interacción. –!Sitios grandes de comercio electrónico, cuyo
propósito principal es vender productos, se ubican en esta categoría.
–!También se encuentran en esta categoría los sistemas de información de empresas e instituciones basados en intranet.
Clasificación según funcionalidad
Rango de Complejidad
Static Site
Data Collector Site
Dynamic Data Access
Web Application
Service-Based Web Application and Federations
Dynamically Created
Site
Service
Application Centered Document Centered
Com
ple
x S
imple
Following “Web Site Engineering: Beyond Web Page Design”, by Th. Powell et al.
Motivación
•! Los usuarios requieren de aplicaciones web dinámicas y ricas en contenido
•! Los desarrolladores de software construyen aplicaciones Web aplicando las mejores prácticas y métodos que ellos han aprendido y aplicado en el desarrollo de aplicación tradicional.
•! Lo anterior funciona bien para ciertas partes de la aplicación pero no para los aspectos específicos de las aplicaciones Web que suplen las necesidades de los usuarios
Necesidades del usuario
Permita capturar la navegación ...
... especificar búsquedas ...
... y la ejecución de servicios ... tratar la visualización de información ...
Aspectos específicos
•! Requerimientos en constante evolución: –!Escabilidad, seguridad y portabilidad
•! Entornos dinámicos –!Recomposición y adaptabilidad
•! Negocios competitivos e innovadores –!Alta tecnología –!Demanda de recursos (red, procesamiento, etc.)
•! Usuarios universales –!Usabilidad
Antecedentes de la Ingeniería Web
•! El desarrollo de aplicaciones Web verdaderamente exitosas demandan el dominio de conocimientos provenientes de diversas disciplinas
•! Las metodologías de diseño y desarrollo de aplicaciones basadas en UML [Booch y otros, 1998] son bien conocidas. Sin embargo, estas metodologías y herramientas no proveen soporte específico para modelar las características propias de las aplicaciones Web.
Antecedentes (2)
•! Ha existido una desconexión metodológica entre los roles involucrados en el desarrollo de software para la Web
•! En los últimos años muchas metodologías y herramientas han sido desarrolladas para permitir el modelado, diseño y desarrollo de aplicaciones Web (RMM [Isakowitz y otros, 1995], WAE [Conallen, 1999], UWE [Koch y otros), WebML [Ceri y otros, 2000].
Aproximación
•! El desarrollo de aplicaciones Web demanda entonces un proceso diferente de los enfoques de la ingeniería de software tradicional.
Que es la Ingeniería Web?
•! "Es el proceso para crear, implantar y mantener
aplicaciones y sistemas Web de alta calidad”
•! “Enfoque sistemático, disciplinado, y
cuantificable al desarrollo, operación y
mantenimiento de aplicaciones Web”
•! “La Ingeniería Web usa principios científicos,
ingenieriles y de gerencia para desarrollar,
implantar y mantener sitios web de alta calidad”
Promesa de la Ingeniería Web
•! Ofrecer aproximaciones sistemáticas y disciplinadas para el desarrollo de aplicaciones web
•! Manejar la complejidad y diversidad del desarrollo e implantación de las aplicaciones Web
•! Ofrecer herramientas para el control, minimización del riesgo en los proyectos de implantación de aplicaciones web
•! Aumentar de la calidad y mantenibilidad de las aplicaciones web
Actividades de la Ingeniería Web
•! Desarrollo de aplicaciones (Especificación de requirimientos, análisis, diseño y construcción)
•! Migración de sistemas legados a ambientes web •! Integración de aplicaciones (EAI) •! Gerencia de proyectos Web •! Diseño de platafomas y arquitecturas de software para
ambientes Web •! Planeación de capacidad para aplicaciones Web •! Pruebas y validación de aplicaciones Web •! Aspectos de derechos, legales y sociales
Roles
•! Desarrolladores de Software: Diseñan y construyen el "código" de las aplicaciones pero generalmente no se ocupan de la interacción con el usuario
•! Arquitectos de Información: Se concentran en la manera en que los usuarios ven e interactúan con las aplicaciones.
•! Diseñadores gráficos o publicistas: Elaboran la imagen visual de la aplicación siguiendo los conceptos gráficos definidos (marketing).
Pros y Cons de los roles
•! Analistas de sistemas y programadores –! Pros: Habilidad para el desarrollo de aplicaciones de software
–! Cons: Debilidad en enfoques altamente orientados al usuario.
•! Arquitectos de Información: –! Pros: Habilidad para entender como el usuario ve o verá la
información –! Cons: Conocimientos computacionales
•! Diseñadores Gráficos: –! Cons: Habilidad para representar ideas y conceptos en un
entorno esteticamente usable –! Cons: No tienen habilidades de desarrollo de aplicaciones
complejas
Multiplicinalidad de la Ing Web
Web Engineering
Software
Engineering
Hypertext/
Hypermedia
Information
Engineering
Requirements
Engineering System
Analysis And Design
Modeling
And Simulation
Project
Management
Performance
Engineering
Evaluation
And Testing
Interface
Engineering
Multimedia IA
Actividad de la Ingeniería Web
•! En 1998, se realizó el primer Workshop internacional en Ingeniería Web (Brisbane, Australia) bajo la conferencia Wide Web Conference (WWW7)
•! Posteriormente se realizaron otras conferencias (WWW conferences 1999-2005, HICS 1999-2001, SEKE 2002 y 2003)
•! Se viene realizando una conferencia anual: International Conference on Web Engineering (ICWE) 2002-2010.
•! Existen varios Journal específicamente dedicados al tema como: Journal of Web Engineering (www.rintonpress.com/journals/jweonline.html) y Journal of Web Engineering and Technology (www.inderscience.com).
Campo de Aplicación en la WWW: e-Business
Qué es un e-business ?
-! Es un negocio que utiliza tecnología de Internet como
solución para:
-! Atraer, retener y cultivar relaciones con sus clientes.
-! Modernizar y agilizar sus procesos.
-! Soportar la toma de decisiones.
Que son las soluciones e-Business
Taxonomía e e-Business
Roles en una aplicación e-business
•! Desarrolladores (programadores, arquitectos, diseñadores gráficos) que diseñan e implementan la aplicación
•! Productores de contenido quienes define, crean y mantienen el contenido del sitio (datos, imágenes, media)
•! Consumidores quienes interactúan con el contenido entregado (Clientes, aliados, proveedores y empleados)
•! Usuarios de inteligencia de negocios quienes evalúan y analizan el negocio.
Comparativo
Computación Social
Que es la computación social?
•! Es un término usado para describir los sistemas Web que permiten a la gente conectarse y trabajar a través de límites organizacionales y físicos, creando lo que se conoce como “comunidades”
Que tiene de diferente?
•! La gente descubre nuevas formas para compartir conocimiento relevante con una velocidad significativa
•! El lenguaje es natural, abierto, honesto,
divertido y directo
•! Está en contraste con las formas de
comunicación organizacionales tradicionales, jerarquicas y lentas
Comunidades en línea
•!Utilizan las herramientas y recursos para conectar las personas: (Blogs, Wikis, Forums, etc.)
•!Ofrecen diversidad de lenguajes y la posibilidad de extender su funcionalidad (aplicaciones de usuario)
•! Ejemplos más conocidos: Flickr, Youtube,
Facebook, Twitter, My Space, Second Life.
Herramientas tradicionales
•! Web pages •! E-mail •! Foros
•! Newsletters •! Chats / Web Cams •! Blogs
•! Wikis
•! Online journals (Weblogs)
•! Publicación sencilla
•! Gratis (o baratos)
•! 27 millones de blogs en la web
Blogs
Foros
•! Grupos de discusión en línea
•! También conocidos como bulletin boards /
newsgroups
•! Ponga una pregunta y obtiene una respuesta
•! La clave es compartir el conocimiento
Wikis
•! Escritura de documentos en línea y
colaborativa
•! Ej: Wikipedia
•! No requiere mayor infraestructura
•! Algo más complejo para configurar
Otras herramientas
•! RSS (Really Simple Syndication)
•! Mashups / Gadgets / Widgets
•! Podcasting
Mash-up’s Crean y amplían la experiencia del usuario
Que son los Gadgets / Widgets?
Mini aplicaciones que forman Mashups: –! Consumen servicios
–! Aplican presentaciones y comportamientos
–! Simples para usa y personalizar
Ecosistema de Gadgets
Retos de la computación social
•! Integración a sistemas empresariales
•! Integración de plataformas
•! Fidelización de “clientes”
•! Seguridad
•! Ética y jurisprudencia
Aspectos éticos de la web
•!Ofrecimiento claro de servicios suministrados
•!Competencia leal y equilibrada (Monopolios)
•!Disponibilidad para compartir conocimiento y trabajar sobre estándares abiertos
Aspectos legales
•! Licenciamiento
•!Comercio electrónico
•! Violación de intimidad y privacidad
•! Fraude electrónico
Versiones de la Web
•!Web 1.0: Caracterizada por contenidos en su mayoría estáticos y de una sola vía de interacción (publicador!usuario)
•!Web 2.0: Sitios dinámicos, colaborativos y altamente interactivos
•!Web 3.0: Web Semántica?
Créditos
•! Web Engineering: Introduction and perspectives. San Murugesan, Athula Ginige.
•! Ingeniería Web. MSc. Armando Arce O. Instituto Tecnológico de Costa Rica
•! Anatomía de una aplicación web. Kathy Jo Nelson.
•! Modelado conceptual de aplicaciones web. Oscar Pastor.
•! Why Web Engineering Is Needed For Web Applications and Services. Bebo White.
Top Related