Enginyeria del SW II: Enginyeria del software per web Enginyeria del software per web Toni Navarrete Enginyeria del Software II – UPF 2002.

Slides:



Advertisements
Presentaciones similares
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Advertisements

Java Web Services Developer Arquitectura
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Diseño de Aplicaciones SOA usando Visual Studio Team System
J2EE – Java 2 Enterprise Edition
Arquitectura Web en Aplicaciones Empresariales Java/J2EE
Aplicaciones J2EE.
Lenguajes Servicios Web
Cátedra Pragma Orientación a Servicios Parte I 2 © PRAGMA S.A.
"java del lado del servidor" Servlet y JSP Java Server Pages.
IMPLEMENTACIÓN DE ARQUITECTURA EMPRESARIAL
twitter:// davidsb mailto:// geeks.ms/blogs/dsalgado home:// Madrid/Pozuelo/LaFinca/MS/1273.
Investigación Servidor de Aplicaciones WebSphere
Java 2 Platform Enterprise Edition
Metodología Web Services adoptada en el Portal ScienTI para conectar servicios de consulta y de indicadores en los paises. Buenos Aires, Argentina 26 de.
Projecte Agrega. Què és el Projecte Agrega? El projecte Agrega és un projecte dirigit als membres de la comunitat educativa El projecte Agrega és un projecte.
CS-434: Programación Orientada a Objetos usando Java Semana 1
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Alberto Guirao Rico Jesús Barahona Esteve.
Plataformas de Desarrollo de Software
Arquitectura Web.
10 Metodologías de desarrollo Web
Sistemas Distribuidos basados en la web
SOCIEDAD PARA EL DESARROLLO REGIONAL DE CANTABRIA (SODERCAN) Knowledge Management tools Knowledge management tools.
Lesson three: The Internet Lección tres: El Internet What is the Internet and how does it work? What can I do on the Internet? How can I view the Internet?
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Launch with Confidence User Experience (UX) Diseñando una experiencia por y para los usuarios Presentado por: Rob [Senior Engineer]
Servidor WEB SD. 2 Objetivos Bases de Servidor Web. Software para servidor Web Programas para el servidor WEB. Web server hardware.
J2EE – Java 2 Enterprise Edition
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sun Open Network Enviroment (Sun ONE) vs.
Cloud Computing. ¿Qué es Cloud Computing? Definiciones Refers to the bigger picture…basically the broad concept of using the internet to allow people.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Sistemas de Información Agosto-Diciembre 2007 Sesión # 3.
Diseño de Servios Web © Copyright 2003 Víctor ROBLES FORCADA
Desarrollo de aplicaciones empresariales con Web Services
Pràctica 17 Reflexions Maria Gisbert, Llorenç Godia, Mariona Kiskeri i David González.
Enginyeria del SW II: Models d’aplicacions web Models d’aplicacions web Toni Navarrete Enginyeria del Software II – UPF 2007.
Servlets Servlets son módulos que extienden a servidores orientados a request/response, como por ejemplo Servidores Web “java-enabled”. Un servlet puede.
ELS BLOCS I LA SEVA APLICACIÓ A L’AULA Recull de propostes sobre els usos didàctics dels blocs Material del Curs de l’Escola d’Estiu Virtual d’Espiral.
Science Career Research Project By Jose pineda. Name of Job: Electrical Engineering I like that I would like to invent new electric and new social networks.
Metodología de Desarrollo de Sistemas Aland Bravo Vecorena Universidad De Huánuco 2009.
Borland User Group - Guatemala Introducción a WebServices y ejemplos de interoperabilidad entre Win32,.Net y Java Axel Canteo – Banco de Comercio Juan.
WWW. WIRELESS WIFI Wireless-Fidelity Es un mecanismo de conexión de dispositivos electrónicos de forma inalámbrica.
TEMA: SERVICIOS WEB INTEGRANTES DEL EQUIPO: CELESTE ROMANO PEDRO VELAZQUEZ PEDRO MONTESINOS.
Unified Modeling Language ™ (UML ®) es un lenguaje visual para especificar, construir y documentar los artefactos de los sistemas. Complex software.
UNITEC NEGOCIOS ELECTRÓNICOS ”DESARROLLO DE SOFTWARE ”
Global Biodiversity Information Facility GLOBAL BIODIVERSITY INFORMATION FACILITY Francisco Pando Data Digitalization Workshop Braga, 5 a 7 de Julho, 2006.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
• SQL Server Integration Services SSIS
• SQL Server Integration Services SSIS
¿New media? Lev Manovich It is responsible for one of the works of reference for the interpretation of the new media. “The language of new media (2001)”
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
1 BLOQUE I 1 Introducción a la Ingeniería Web Diseño Centrado en el Usuario Profesorado: Dra. María José Escalona Cuaresma Dr. José Mariano.
Ingeniería de Sistemas Desarrollo y Servicios Web Sesión 2 Fernando Barraza A.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Capítulo 2: Tecnologías para la creación de sitios web
Sistema de gestió APPCC
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
Eines digitals TIC © McGraw-Hill.
Generacions de llocs web
ES:E - Objectius Donar una visió inicial de l’Enginyeria del Software
Gestió de continguts digitals: una experiència
TREBALL DE FINAL DE CARRERA
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Jonathan Ceballos Rodriguez ( ) Zenón Perisé Alía ( )
Fabian López, Jordi Martí, Galdric Ruiz
Estructurant les aplicacions MVC JSTL Struts
Projecte Gestió de precintes de vehicles
Projecte Fi de Carrera - J2EE Alumne: Daniel Clemente Marcè
Projecte: Videojocs.cat
Transcripción de la presentación:

Enginyeria del SW II: Enginyeria del software per web Enginyeria del software per web Toni Navarrete Enginyeria del Software II – UPF 2002

Enginyeria del SW II: Enginyeria del software per web Pàgina 2 Enginyeria Web Té sentit una Enginyeria Web? Hi ha alguna diferència amb Enginyeria del Software?

Enginyeria del SW II: Enginyeria del software per web Pàgina 3 Atributs de les aplicacions basades en web Powell [1]: “impliquen una mescla de publicació impresa i desenvolupament software, de marketing i informàtica, de comunicacions internes i relacions externes, i d’art i tecnologia” [1] T.A.Powell: Web Site Engineering. Prentice-Hall, 1998

Enginyeria del SW II: Enginyeria del software per web Pàgina 4 Atributs de les aplicacions basades en web Ús intensiu de xarxa Controlada pel contingut (hipermèdia) Evolució contínua Immediatesa Seguretat Estètica Equip multidisciplinar

Enginyeria del SW II: Enginyeria del software per web Pàgina 5 Categories d’aplicacions web Informativa: qualsevol de simple Descàrrega: tucows Personalitzable: my.yahoo.com Interacció: chat, foros,... Entrada de l’usuari: una web interna d’administració amb formularis (ex: kamp) Orientada a transaccions: comandes Amazon Orientada a serveis: calculador hipoteca eBankinter Portal: terra,... –Cercadors: google Accés a base de dades: programa d’actes de bcn.es Magatzems de dades Segons S. Dart: “Containing the Web Crisis Configuration Management”. Actes 1st ICSE Workshop on Web engineering, ACM

Enginyeria del SW II: Enginyeria del software per web Pàgina 6 Categories d’aplicacions web Moltes aplicacions híbrides Important: no és el mateix desenvolupar per un tipus que per l’altre

Enginyeria del SW II: Enginyeria del software per web Pàgina 7 Aspectes de l’Enginyeria del Software per web Dos enfocaments: –Aspectes relacionats amb l’hipermèdia –Aspectes tecnològics

Enginyeria del SW II: Enginyeria del software per web Pàgina 8 Aspectes de l’Enginyeria del Software per web relacionats amb l’hipermèdia Què és hipermèdia –Aplicacions hipermèdia abans de la web –Importància de la navegació Metodologies específiques per aplicions hipermedia –2 exemples: RMM i OOHDM Separació del contingut de la presentació –Exemple: ús de plantilles –Configuració de diferents presentacions Disseny gràfic (disseny d’interfícies) –Assignatura “Disseny d’Interfícies”, 2 on curs Patrons –Vàries classificacions amb diferents enfocaments

Enginyeria del SW II: Enginyeria del software per web Pàgina 9 Definició d’hipermèdia Text seqüencial  hipertext: text en format no seqüencial, compost de nodes i enllaços que els interconnecten.  multimèdia: unió de diferents mitjans, com ara text, gràfics, vídeo,...  hipermèdia: hipertext + multimèdia Hipertext

Enginyeria del SW II: Enginyeria del software per web Pàgina 10 Metodologies per a aplicacions hipermèdia Objectius de les metodologies orientades a hipermèdia: –Dotar d’un llenguatge comú als membres de l’equip –Millorar les estructures de navegació, fent-la sobretot més intuïtiva per a l’usuari final –Producte resultant fiable i eficient, seguint els requeriments Una primera eina: arbre (o graf) de navegació Dos exemples: –RMM: –OOHDM

Enginyeria del SW II: Enginyeria del software per web Pàgina 11 Metodologia RMM RMM: Relationship Management Methodology [1] Apropiada per a aplicacions amb dades estructurades Basada en el model RMDM (Relationship Management Data Model) –Model entitat-relació ampliat per reflectir l’estructura navegacional –Primitives del model: de domini –representen l’estructura de les dades i les relacions D’accés –representen els accessos navegacionals [1] T. Isakowitz, E. A. Stohr, P. Balasubramanian: RMM: A methodology for structured Hypermedia design. Communications of the ACM, 1995.

Enginyeria del SW II: Enginyeria del software per web Pàgina 12 RMM. Model RMDM Primitives de domini –entitats –relacions –slices: agrupacions d’atributs que formen una unitat pròpia dins de l’entitat Primitives d’accés –Índex condicional –visita guiada condicional –visita guiada indexada condicional –menú (grouping)

Enginyeria del SW II: Enginyeria del software per web Pàgina 13 Un exemple de model RMDM

Enginyeria del SW II: Enginyeria del software per web Pàgina 14 RMM Massa simple No té cap suport per a processos Els mecanismes de navegació són massa simples

Enginyeria del SW II: Enginyeria del software per web Pàgina 15 Metodologia OOHDM OOHDM: Object-Oriented Hypermedia Design Model [1] Fases: [1] Daniel Schwabe, Gustavo Rossi: The Object-Oriented Hypermedia Design Model. Communications of the ACM, August 1995

Enginyeria del SW II: Enginyeria del software per web Pàgina 16 Metodologia OOHDM Requirements GatheringConceptual Design

Enginyeria del SW II: Enginyeria del software per web Pàgina 17 Metodologia OOHDM Navigation Design

Enginyeria del SW II: Enginyeria del software per web Pàgina 18 UML UML resol part de les qüestions de representació de la navegació en el diagrama de classes (especialment el que presenta RMM) Classe AClasse B Navegació

Enginyeria del SW II: Enginyeria del software per web Pàgina 19 Patrons d’Estructuració de continguts [1] Estructuras lineales Estructura reticular Estructuras jerárquicas Estructura en red o “web pura” [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill Citant a T.A.Powell: Web Site Engineering. Prentice-Hall, 1998

Enginyeria del SW II: Enginyeria del software per web Pàgina 20 Patrons d’hipertext segons [1] i [2] Cycle (Ciclo) –Web Ring (Anillo de web) –Contour (Contorno) Counterpoing (Contrapunto) Mirrorworld (Mundo de espejo) Sieve (Tamiz) Neighbourhood (Vecindario) Altres: –Tangle –Split/join –Missing link –Navigational feint [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill [2] Mark Bernstein: Patterns in Hypertext. Actes del 9th ACM Conference on Hypertext, 1998

Enginyeria del SW II: Enginyeria del software per web Pàgina 21 Patrons d’hipermèdia segons [1] i [2] Navigation context patterns –Set-based Navigation –Nodes in Context Active Reference News Landmark Shopping basket Portal Disponibles a: rio.br/oohdm/oohdm.html [1] G. Rossi, D. Schwabe, F. Lyardet: " Patterns for Designing Navigable Spaces", Proc. of PLoP98, Monticello, USA, 1998 [2] G. Rossi, D. Schwabe, F. Lyardet: "Abstraction and Reuse Mechanisms in Web Application Models", Lecture Notes in Computer Science 1921, 2000

Enginyeria del SW II: Enginyeria del software per web Pàgina 22 Un exemple de patrons d’hipermèdia: Active Reference Problema: –Users don’t know where they are Solució –Visual information about the path

Enginyeria del SW II: Enginyeria del software per web Pàgina 23 Patrons per comerç electrònic [1] Opportunistic Linking Advising Explicit Process Easy Undo Push Communication Disponible a: rio.br/oohdm/oohdm.html [1] G. Rossi, D. Schwabe, F. Lyardet: "Patterns for E-Commerce Applications", Proc. Europlop 2000, Julho 2000, Kloster Irsee, Germany, 2000.

Enginyeria del SW II: Enginyeria del software per web Pàgina 24 Aspectes tecnológics de l’ES per web. Algunes particularitats de les apps. web (I) HTML XML Llenguatges de script Cookies CGIs, NSAPI, ISAPI, Servlets Pàgines amb codi incrustat (ASP, JSP, PHP) Servidors web Servidors d’aplicacions

Enginyeria del SW II: Enginyeria del software per web Pàgina 25 Aspectes tecnológics de l’ES per web. Algunes particularitats de les apps. web (II) Desenvolupament basat en components –Corba (IIOP), COM/DCOM, EJB –Web Services SOAP (Simple Object Access Protocol) –SOAP is a protocol specification that defines a uniform way of passing XML-encoded data. It also defines a way to perform remote procedure calls (RPCs) using HTTP as the underlying communication protocol. UDDI (Universal Description, Discovery and Integration Service) –UDDI provides a mechanism for clients to dynamically find other web services. Using a UDDI interface, businesses can dynamically connect to services provided by external business partners. WSDL (Web Services Definition Language) –WSDL provides a way for service providers to describe the basic format of web service requests over different protocols or encodings. WSDL is used to describe what a web service can do, where it resides, and how to invoke it. Mecanismes de seguretat

Enginyeria del SW II: Enginyeria del software per web Pàgina 26 Arquitectura Arquitectura basada en capes –Capa de presentació –Capa de negoci –Capa de dades Arquitectura de les aplicacions –D’una capa –De dues capes –De tres capes –“Mitja capa” (exemple: 2,5 capes) Distribució del procés entre client i servidor: –Thin web client: processos al servidor –Thick web client: Applet, ActiveX,...

Enginyeria del SW II: Enginyeria del software per web Pàgina 27 Arquitectura d’una capa Capa de presentació Capa de negoci Capa de dades Web server File system Browser

Enginyeria del SW II: Enginyeria del software per web Pàgina 28 Arquitectura de dues capes Capa de presentació Capa de negoci Capa de dades Web server File system Browser HTTP Base de dades JDBC

Enginyeria del SW II: Enginyeria del software per web Pàgina 29 Arquitectura de tres capes Capa de presentació Capa de negoci Capa de dades Application server File system Browser HTTP Base de dades JDBC Web server CORBA/RMI/...

Enginyeria del SW II: Enginyeria del software per web Pàgina 30 Arquitectura de dues capes i mitja Capa de presentació Web server File system HTTP Capa de dades JDBC Browser

Enginyeria del SW II: Enginyeria del software per web Pàgina 31 Factors de determinació d’arquitectures de dues o tres capes Complexitat de l’aplicació Mantenibilitat Pressió de la planificació Experiència de l’equip de desenvolupament Aplicacions de 2 capes Aplicacions de 3 capes

Enginyeria del SW II: Enginyeria del software per web Pàgina 32 Especificació de requeriments Se sol fer amb un model de casos d’ús Se li dóna molta importància a la interfície d’usuari Es habitual utilitzar prototipus no funcionals de la interfície (amb pàgines estàtiques o imatges)

Enginyeria del SW II: Enginyeria del software per web Pàgina 33 Serveis típics d’una aplicació web (orientada a comerç electrònic) Serveis de catàleg Serveis de cerca Serveis de comandes Serveis de seguiment Serveis de revisions (comentaris) Serveis de conferències Serveis de notícies o butlletins Control i admnistració de stocks Informes financers Segons Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill

Enginyeria del SW II: Enginyeria del software per web Pàgina 34 Disseny Decidir la tecnologia per a les classes de frontera –Pàgina estàtica HTML –Swing –Servlets –JSP –Usant XML/XSL –...

Enginyeria del SW II: Enginyeria del software per web Pàgina 35 Estensió web d’UML Estereotips per modelar –Server Page –Client Page –Form –Frameset –Target –ClientScript Object –Web Page –ASP Page –JSP Page –Servlet –Script Library (veure fitxer extern)

Enginyeria del SW II: Enginyeria del software per web Pàgina 36 Un exemple

Enginyeria del SW II: Enginyeria del software per web Pàgina 37 Disseny Decidir la tecnologia per a les classes entitat (persistència) i de comunicació entre les capes de dades i de negoci –RMI –JDBC –EJB –... Disseny de la persistència: propera classe

Enginyeria del SW II: Enginyeria del software per web Pàgina 38 Proves El model de contingut de l’aplicació web és revisat per descobrir errors El model de disseny per l’aplicació web és revisat per descobrir errors de navegació S’apliquen proves d’unitat als components de procés seleccionats i a les pàgines web Es construeix l’arquitectura, es realitzen les proves d’integració L’aplicació web ensamblada es prova per a aconseguir una funcionalitat global i un contingut L’aplicació web s’implementa en una varietat de configuracions diferents d’entorns; cal comprovar la compatibilitat amb cada configuració L’aplicació web es prova amb una població d’usuaris finals controlada i monitoritzada

Enginyeria del SW II: Enginyeria del software per web Pàgina 39 Atributs de qualitat [1] [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill Citant a: Olsina et al.: Specifying Quality Characteristics and Atrributes for Web Sites. Actes del 1st Workshop on Web Engineering, ACM, 1995

Enginyeria del SW II: Enginyeria del software per web Pàgina 40 Desplegament Proveïdor de hosting –Hosting Màquina compartida Màquina pròpia amb servei d’administració Màquina pròpia amb administració pròpia (“lloguer d’espai”) –Domini Si hosting propi: –Contractació línia dedicada ADSL Frame-relay

Enginyeria del SW II: Enginyeria del software per web Pàgina 41 Un exemple de web hosting

Enginyeria del SW II: Enginyeria del software per web Pàgina 42 Web hosting amb aplicacions Java Un llistat de proveïdors que ofereixen aquests serveis: – De la web de Javasoft Compa ny ProductJava Support Exodu s Managed Web Hosting Service Standard: iPlanet Web Server with JSP and Servlet support. Optional: BEA WebLogic or iPlanet IAS application servers GenuityBlack RocketOptional:BEA WebLogic, IBM WebSphere, or iPlanet IAS (6/2001) application servers QwestQwest InteractiveStandard: Sun ONE Application Server with JSP and Servlet support. Optional: BEA WebLogic or Sun ONE Application Server VerioVirtual Private ServerStandard: Apache Tomcat or JServ

Enginyeria del SW II: Enginyeria del software per web Pàgina 43 Un exemple de Web hosting amb aplicacions Java (també

Enginyeria del SW II: Enginyeria del software per web Pàgina 44 Un exemple de proveïdor de domini

Enginyeria del SW II: Enginyeria del software per web Pàgina 45 Debat final Té sentit parlar, després d’això, d’una disciplina anomenada Enginyeria web?

Enginyeria del SW II: Enginyeria del software per web Pàgina 46 Bibliografia utilitzada Pressman: Ingeniería del Software, un enfoque práctico. 5ª edición. McGraw Hill, 2002 Arrington: Enterprise Java with UML. John Wiley & Sons, 2001 Conallen: Building Web Applications with UML. Addisson-Wesley, 1999 Mark Wutka: Special Edition Using Java Server Pages and Servlets. Que, 2000 David Chappell, Tyler Jewell: Java Web Services. O’Reilly Articles citats a les transparències