This document provides guidance on designing RESTful APIs. It recommends using nouns instead of verbs, keeping URLs simple with only two endpoints per resource, and following conventions from leading APIs. Complex variations and optional parameters should be "swept behind the '?'." The document emphasizes designing for application developers by making APIs intuitive, consistent and complete while also accommodating exceptional clients. It suggests adding an API virtualization layer to handle complexity.
DSBW Final Exam (Spring Sementer 2010)Carles Farré
The document describes a UX model for a "light" version of Twitter called Chirper. It provides details on the following screens and functionality:
1. Home - The main page where users can see chirps from those they follow, send new chirps, search topics, and view their profile and followers/following.
2. Profile - A screen to view and edit a user's profile details.
3. User Page - A screen displaying a user's chirps and profile.
4. People - A screen listing users a profile follows/follows them.
It also includes instructions to design the internal class diagram and sequence diagrams for these screens and navigation between them
The document provides an overview of web usability and usability testing. It discusses key aspects of usability including learnability, efficiency, memorability, errors, and satisfaction. It outlines why usability is important for websites. Common usability problems are presented such as bad search functions, PDFs for online reading, and fixed font sizes. Methods for assessing usability through evaluations and testing are described. The testing process, roles, methods, and tools are defined. Metrics for measuring effectiveness, efficiency, satisfaction, and learnability are provided. The relationship between usability testing and user-centered design is explained.
[DSBW Spring 2010] Unit 10: XML and Web And beyondCarles Farré
The document provides an overview of XML, web services, and the semantic web. It defines XML as a flexible text format used to represent structured information. It describes web services as software systems that support machine-to-machine interactions over a network using standards like SOAP, WSDL, and UDDI. It introduces the semantic web as using standards like RDF, RDF Schema, and OWL to make web resources more machine-understandable to enable greater data sharing and interoperability.
[DSBW Spring 2009] Unit 09: Web TestingCarles Farré
The document discusses various types of web application testing including content testing, interface testing, navigation testing, component testing, and configuration testing. It provides definitions and objectives for each type of testing. Content testing focuses on errors in text, graphics, and organization. Interface testing evaluates mechanisms like links and forms. Navigation testing ensures users can move through the application. Component testing examines application functions. Configuration testing checks server-side issues.
[DSBW Spring 2009] Unit 08: WebApp SecurityCarles Farré
Unit 8 discusses security for web applications. It identifies potential threats, vulnerabilities, and attacks. Authentication verifies a user's identity, authorization governs user access, and other security goals are discussed like confidentiality, integrity, and availability. Main threat categories are outlined using the STRIDE methodology. Countermeasures are provided for network, host, and application level threats. The document also discusses web application security approaches like least privilege and defense in depth. Cryptography, SSL/TLS, and other protocols are summarized in the context of web security.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)Carles Farré
This document discusses various web application frameworks including Struts 1, Spring MVC, and JavaServer Faces (JSF). It provides an overview of each framework, their terminology in relation to Java EE design patterns, examples of usage, and architectural details. Specifically, it examines the user registration process in Struts 1 through code examples and configuration files.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)Carles Farré
This document summarizes various design patterns and frameworks related to web presentation layers and business layers. For web presentation layers, it discusses the Context Object pattern for encapsulating state, the Synchronizer Token pattern for controlling request flow, and different approaches to session state management. It also reviews integration patterns for connecting web presentation and business layers, including the Service Locator and Business Delegate patterns. Finally, it examines common architectural patterns for the business layer such as Transaction Script, Domain Model, and Table Module.
This document provides guidance on designing RESTful APIs. It recommends using nouns instead of verbs, keeping URLs simple with only two endpoints per resource, and following conventions from leading APIs. Complex variations and optional parameters should be "swept behind the '?'." The document emphasizes designing for application developers by making APIs intuitive, consistent and complete while also accommodating exceptional clients. It suggests adding an API virtualization layer to handle complexity.
DSBW Final Exam (Spring Sementer 2010)Carles Farré
The document describes a UX model for a "light" version of Twitter called Chirper. It provides details on the following screens and functionality:
1. Home - The main page where users can see chirps from those they follow, send new chirps, search topics, and view their profile and followers/following.
2. Profile - A screen to view and edit a user's profile details.
3. User Page - A screen displaying a user's chirps and profile.
4. People - A screen listing users a profile follows/follows them.
It also includes instructions to design the internal class diagram and sequence diagrams for these screens and navigation between them
The document provides an overview of web usability and usability testing. It discusses key aspects of usability including learnability, efficiency, memorability, errors, and satisfaction. It outlines why usability is important for websites. Common usability problems are presented such as bad search functions, PDFs for online reading, and fixed font sizes. Methods for assessing usability through evaluations and testing are described. The testing process, roles, methods, and tools are defined. Metrics for measuring effectiveness, efficiency, satisfaction, and learnability are provided. The relationship between usability testing and user-centered design is explained.
[DSBW Spring 2010] Unit 10: XML and Web And beyondCarles Farré
The document provides an overview of XML, web services, and the semantic web. It defines XML as a flexible text format used to represent structured information. It describes web services as software systems that support machine-to-machine interactions over a network using standards like SOAP, WSDL, and UDDI. It introduces the semantic web as using standards like RDF, RDF Schema, and OWL to make web resources more machine-understandable to enable greater data sharing and interoperability.
[DSBW Spring 2009] Unit 09: Web TestingCarles Farré
The document discusses various types of web application testing including content testing, interface testing, navigation testing, component testing, and configuration testing. It provides definitions and objectives for each type of testing. Content testing focuses on errors in text, graphics, and organization. Interface testing evaluates mechanisms like links and forms. Navigation testing ensures users can move through the application. Component testing examines application functions. Configuration testing checks server-side issues.
[DSBW Spring 2009] Unit 08: WebApp SecurityCarles Farré
Unit 8 discusses security for web applications. It identifies potential threats, vulnerabilities, and attacks. Authentication verifies a user's identity, authorization governs user access, and other security goals are discussed like confidentiality, integrity, and availability. Main threat categories are outlined using the STRIDE methodology. Countermeasures are provided for network, host, and application level threats. The document also discusses web application security approaches like least privilege and defense in depth. Cryptography, SSL/TLS, and other protocols are summarized in the context of web security.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)Carles Farré
This document discusses various web application frameworks including Struts 1, Spring MVC, and JavaServer Faces (JSF). It provides an overview of each framework, their terminology in relation to Java EE design patterns, examples of usage, and architectural details. Specifically, it examines the user registration process in Struts 1 through code examples and configuration files.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)Carles Farré
This document summarizes various design patterns and frameworks related to web presentation layers and business layers. For web presentation layers, it discusses the Context Object pattern for encapsulating state, the Synchronizer Token pattern for controlling request flow, and different approaches to session state management. It also reviews integration patterns for connecting web presentation and business layers, including the Service Locator and Business Delegate patterns. Finally, it examines common architectural patterns for the business layer such as Transaction Script, Domain Model, and Table Module.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)Carles Farré
The document discusses various design patterns and frameworks related to web application development. It begins by describing the Model-View-Controller (MVC) pattern, which divides an application into three main components: the model, the view, and the controller. It then provides details on different MVC-based patterns such as the classical MVC pattern, page controller pattern, front controller pattern, application controller pattern, and intercepting filter pattern. The document also discusses view-related patterns like view helpers as well as MVC web frameworks.
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)Carles Farré
The document discusses the Web Application Extension (WAE) for UML. The WAE allows web pages and other significant web elements to be modeled alongside classes and components. It defines stereotypes like <<client page>>, <<server page>>, and <<form>> to model things like dynamic web pages, HTML forms, and their relationships. An example of a microblogging application modeled with WAE stereotypes is also provided to demonstrate how it can be used.
[DSBW Spring 2009] Unit 05: Web ArchitecturesCarles Farré
The document discusses physical architecture design for web applications. It describes several common architecture patterns including single server, separate database, and replicated web servers. Key considerations for architecture design are also outlined, such as performance, scalability, availability, security and constraints related to cost, complexity and standards.
[DSBW Spring 2009] Unit 04: From Requirements to the UX ModelCarles Farré
The document discusses the process of developing a user experience (UX) model for a web application from requirements. It describes gathering requirements, creating models to represent the requirements including use case diagrams and screen descriptions, and developing a UX model to guide the interface design. The UX model represents how content will be structured and organized across screens and how users will navigate between screens to complete tasks. It includes artifacts like screen descriptions and storyboards to illustrate user flows.
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
The document discusses various process models and business models for web application development and electronic commerce. It provides an overview of the Rational Unified Process (RUP) as a process model, describing its key aspects, phases, artifacts, and workflows. It also discusses agile methods and eXtreme Programming (XP) as alternative process models. For business models, it describes categories such as business-to-consumer, business-to-business, and emerging models like consumer-to-consumer and mobile commerce.
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)Carles Farré
This document provides summaries of key web technologies including:
- Core technologies like web browsers, web servers, URIs, and HTTP.
- Client-side technologies like HTML, CSS, JavaScript, DOM, AJAX, and Rich Internet Applications.
- Server-side technologies for web applications like CGI, PHP, Java servlets, and JavaServer Pages.
It also discusses enabling technologies for dynamic web content and applications servers, session state management, cookies, the Common Gateway Interface (CGI) standard, and an example "EnWEBats" application built with CGI and PHP.
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)Carles Farré
This document summarizes key concepts related to web technologies:
- It outlines core client-side technologies like HTML, CSS, JavaScript, and DOM that allow rendering and interacting with web pages in browsers. It also describes common server-side technologies like PHP, Java servlets, and JSPs that power dynamic web applications.
- It explains fundamental web protocols like HTTP that define communication between browsers and servers, and standards like URIs that identify resources on the web.
- It provides examples of how browsers fetch pages from servers using HTTP requests and responses, and how clients and servers interact through web technologies to deliver dynamic web experiences.
[DSBW Spring 2009] Unit 01: Introducing Web EngineeringCarles Farré
The document discusses web-based systems and how they are built. It defines a web-based system as a software system based on World Wide Web Consortium standards that provides web resources like content and services through a web browser. It then covers categories of web-based systems, characteristics like being network intensive and globally accessible, technologies used like HTML and programming languages, and the web engineering process of requirements analysis, design, testing and maintenance.
Data integration involves providing unified access to data stored across multiple heterogeneous data sources. There are several data integration architectures including data warehouses, virtual mediators, and peer-to-peer integration. Key challenges in data integration include modeling the global schema, source schemas, and mappings between them, as well as reformulating queries over the global schema to retrieve answers from the source schemas. Languages for modeling schema mappings include GAV, LAV, and GLAV, with different advantages for query reformulation and modularity when new sources are added.
The document discusses logic as a database language. It defines base facts and deductive rules that can be used to infer derived facts. Deductive rules specify that the head is true if all subgoals in the body are true. Predicates represent relations and atoms assert tuples in those relations. Rules can be used recursively to compute derived tuples in IDB relations. Queries to a database defined in this logical way return all facts derived for the query predicate using the given rules and base facts while respecting integrity constraints. Query containment examines whether the answer to one query is always a subset of the answer to another query over all database states.
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsDaniel Fernández
Vice Verba és una aplicació educativa dissenyada per ajudar els estudiants de llatí a aprendre i practicar verbs llatins d'una manera interactiva i entretinguda.
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)Carles Farré
The document discusses various design patterns and frameworks related to web application development. It begins by describing the Model-View-Controller (MVC) pattern, which divides an application into three main components: the model, the view, and the controller. It then provides details on different MVC-based patterns such as the classical MVC pattern, page controller pattern, front controller pattern, application controller pattern, and intercepting filter pattern. The document also discusses view-related patterns like view helpers as well as MVC web frameworks.
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)Carles Farré
The document discusses the Web Application Extension (WAE) for UML. The WAE allows web pages and other significant web elements to be modeled alongside classes and components. It defines stereotypes like <<client page>>, <<server page>>, and <<form>> to model things like dynamic web pages, HTML forms, and their relationships. An example of a microblogging application modeled with WAE stereotypes is also provided to demonstrate how it can be used.
[DSBW Spring 2009] Unit 05: Web ArchitecturesCarles Farré
The document discusses physical architecture design for web applications. It describes several common architecture patterns including single server, separate database, and replicated web servers. Key considerations for architecture design are also outlined, such as performance, scalability, availability, security and constraints related to cost, complexity and standards.
[DSBW Spring 2009] Unit 04: From Requirements to the UX ModelCarles Farré
The document discusses the process of developing a user experience (UX) model for a web application from requirements. It describes gathering requirements, creating models to represent the requirements including use case diagrams and screen descriptions, and developing a UX model to guide the interface design. The UX model represents how content will be structured and organized across screens and how users will navigate between screens to complete tasks. It includes artifacts like screen descriptions and storyboards to illustrate user flows.
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
The document discusses various process models and business models for web application development and electronic commerce. It provides an overview of the Rational Unified Process (RUP) as a process model, describing its key aspects, phases, artifacts, and workflows. It also discusses agile methods and eXtreme Programming (XP) as alternative process models. For business models, it describes categories such as business-to-consumer, business-to-business, and emerging models like consumer-to-consumer and mobile commerce.
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)Carles Farré
This document provides summaries of key web technologies including:
- Core technologies like web browsers, web servers, URIs, and HTTP.
- Client-side technologies like HTML, CSS, JavaScript, DOM, AJAX, and Rich Internet Applications.
- Server-side technologies for web applications like CGI, PHP, Java servlets, and JavaServer Pages.
It also discusses enabling technologies for dynamic web content and applications servers, session state management, cookies, the Common Gateway Interface (CGI) standard, and an example "EnWEBats" application built with CGI and PHP.
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)Carles Farré
This document summarizes key concepts related to web technologies:
- It outlines core client-side technologies like HTML, CSS, JavaScript, and DOM that allow rendering and interacting with web pages in browsers. It also describes common server-side technologies like PHP, Java servlets, and JSPs that power dynamic web applications.
- It explains fundamental web protocols like HTTP that define communication between browsers and servers, and standards like URIs that identify resources on the web.
- It provides examples of how browsers fetch pages from servers using HTTP requests and responses, and how clients and servers interact through web technologies to deliver dynamic web experiences.
[DSBW Spring 2009] Unit 01: Introducing Web EngineeringCarles Farré
The document discusses web-based systems and how they are built. It defines a web-based system as a software system based on World Wide Web Consortium standards that provides web resources like content and services through a web browser. It then covers categories of web-based systems, characteristics like being network intensive and globally accessible, technologies used like HTML and programming languages, and the web engineering process of requirements analysis, design, testing and maintenance.
Data integration involves providing unified access to data stored across multiple heterogeneous data sources. There are several data integration architectures including data warehouses, virtual mediators, and peer-to-peer integration. Key challenges in data integration include modeling the global schema, source schemas, and mappings between them, as well as reformulating queries over the global schema to retrieve answers from the source schemas. Languages for modeling schema mappings include GAV, LAV, and GLAV, with different advantages for query reformulation and modularity when new sources are added.
The document discusses logic as a database language. It defines base facts and deductive rules that can be used to infer derived facts. Deductive rules specify that the head is true if all subgoals in the body are true. Predicates represent relations and atoms assert tuples in those relations. Rules can be used recursively to compute derived tuples in IDB relations. Queries to a database defined in this logical way return all facts derived for the query predicate using the given rules and base facts while respecting integrity constraints. Query containment examines whether the answer to one query is always a subset of the answer to another query over all database states.
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsDaniel Fernández
Vice Verba és una aplicació educativa dissenyada per ajudar els estudiants de llatí a aprendre i practicar verbs llatins d'una manera interactiva i entretinguda.