Credits
6
Types
Specialization complementary (Information Technologies)
Requirements
- Prerequisite: XC
Department
AC
Specifically, HTTP protocol based applications and services will be shown together with other application level protocols, indicating some specific differentiating aspects of mobile applications. It will also discuss the representation and interchange of multimedia content (audio, video, etc.) using streaming and download.
Finally, some security mechanisms at application level will be also discussed.
Teachers
Person in charge
- Silvia Llorente Viejo ( silvia.llorente@upc.edu )
Others
- Jaime M. Delgado Merce ( jaime@ac.upc.edu )
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6
Competences
Common technical competencies
- CT6.4 - To demonstrate knowledge and capacity to apply the characteristics, functionalities and structure of the Distributed Systems and Computer and Internet Networks guaranteeing its use and management, as well as the design and implementation of application based on them.
- CT7.2 - To evaluate hardware/software systems in function of a determined criteria of quality.
- CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.
- CT8.4 - To elaborate the list of technical conditions for a computers installation fulfilling all the current standards and normative.
Information technology specialization
- CTI1.4 - To select, design, deploy, integrate, evaluate, build, manage, exploit and maintain the hardware, software and network technologies, according to the adequate cost and quality parameters.
- CTI2.1 - To manage, plan and coordinate the management of the computers infrastructure: hardware, software, networks and communications.
- CTI3.1 - To conceive systems, applications and services based on network technologies, taking into account Internet, web, electronic commerce, multimedia, interactive services and ubiquitous computation.
- CTI3.2 - To implement and manage ubiquitous systems (mobile computing systems).
- CTI3.3 - To design, establish and configure networks and services.
Entrepreneurship and innovation
- G1.3 - To have strong decision-making skills. To use knowledge and strategic skills for the creation and management of projects, apply systematic solutions to complex problems, and design and manage the innovation in the organization. To demonstrate flexibility and professionalism when developing her work.
Appropiate attitude towards work
- G8.3 - To be motivated for the professional development, to face new challenges and the continuous improvement. To have capacity to work in situations with a lack of information.
Objectives
-
Being able to predict the performance of protocols and interpret the content of messages that use web applications.
Related competences: CT6.4, CT7.2, -
Being able to interpret XML and JSON documents interchanged between web services.
Related competences: CT8.1, CT7.2, -
Being able to configure an application server and launch a web application.
Related competences: CTI3.3, CTI2.1, CT6.4, CTI1.4, -
Being able to interpret the data interchanged between distributed applications.
Related competences: CT8.1, -
Being able to configure an application server and implement web services.
Related competences: CTI3.3, CTI2.1, CT6.4, CTI1.4, -
Being able to configure an application server and implement web applications that make use of Web services.
Related competences: CTI3.3, G1.3, CTI3.2, -
Being able to describe existing formats of information and explain its normal use .
Related competences: CT8.1, -
Being able to describe the client / server paradigm and give examples of protocols that follow it.
Related competences: CT6.4, -
Be able to explain what a communications library is and give examples of existing libraries.
Related competences: CT8.1, -
Be able to explain what an application server is and give examples of existing application servers.
Related competences: CT8.1, -
Being able to describe at a high level specific characteristics of mobile applications.
Related competences: CTI3.1, -
Being able to develop a complete distributed application.
Related competences: G1.3, CT8.1, CT7.2, CT8.4, CTI4, -
Being able to enumerate the differences between the different methods of transmitting multimedia content.
Related competences: CTI3.1, CT8.1, CT6.4, -
Being able to explain the results in practice "that make Web application development using Web services".
Related competences: CTI3.1, G1.3, CTI2.1, CT8.1, CT6.4, CT7.2, CTI1.4, CTI4, -
Being able to find information on a particular topic, apply it in the lab and write a report describing the results.
Related competences: CTI3.1, G1.3, CT8.1, CT6.4, -
Ability to adapt to situations where there is lack of information and / or changes in the initial requirements.
Related competences: G8.3, -
Ability to answer questions related to the work done in the course of practices.
Related competences: G8.3, -
Gain awareness of how to work to get some good results.
Related competences: G8.3, -
Ability to list the different security mechanisms that can be applied to distributed applications.
Related competences: CT8.1, CT6.4, CTI1.4,
Contents
-
Introduction
Application level. Client-Server model. Remote invocation of operations /methods / procedures. Existing communications libraries. Information formats. -
Application and service development based on HTTP
Websites programming. Web Services. Application servers.
Mobile networks features. Distributed mobile applications programming. -
Digital content representation and exchange
Formats: text, documents, image, video and metadata. -
Transmission and distribution systems of multimedia content
Streaming / download. Distribution Servers. -
Security in distributed applications
Security mechanisms at application level.
Activities
Activity Evaluation act
Laboratory of the topic: Basic web application concepts
Understanding of web applications to be developed in the subject. Use of programming tools to check and modify its behaviour.- Laboratory: Laboratory session: Week 1
- Autonomous learning: Practice preparation
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
1h
Laboratory of the theme: Developing Web applications
Understanding the configuration and operation of an application server to develop simple web applications.- Laboratory: Laboratory session: Weeks 2 to 4
- Autonomous learning: Practice preparation
Contents:
Theory
0h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
5h
Developing topic: Representation and exchange of digital content
Understanding the content in order to apply them in the lab associated with the topic.- Guided learning: Adequate attitude towards work
Contents:
Theory
6h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
4h
Lab topic: Developing Web Services
Understanding the configuration and operation of an application server to develop web services.- Laboratory: Laboratory session: Weeks 5 to 7
- Autonomous learning: Practice preparation
Contents:
Theory
0h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
9h
Developing topic: Transmission and distribution of multimedia content systems
Understanding the content in order to apply them in the lab associated with the topic.Objectives: 13
Contents:
Theory
5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h
Lab topic: Developing web applications that make use of Web services
Understanding the configuration and operation of an application server to develop web applications that make use of Web services.- Laboratory: Laboratory session: Weeks 8 and 9
- Autonomous learning: Practice preparation
Contents:
Theory
0h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
6h
First Theory control
Control of 2 hours long. Evaluated the content of topics 1. Introduction 2. Development of applications and services based on HTTP, 3. Representation and exchange of contents.Objectives: 1 4 7 8 9 10 11 16 18
Week: 10
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Lab interviews (In the lab)
Explanation of work done in practice "Developing web applications that make use of Web services"- Laboratory: Laboratory session: Week 10
- Guided learning: Outside of class hours
- Autonomous learning: Interview Preparation
Contents:
Theory
0h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
0h
Subject explanation: Security in distributed applications
Understanding of the different security mechanisms that can be used at application level, such as digital signature, encryption, symmetric and asymmetric keys, privacy or authenticationObjectives: 1 2 4 19
Contents:
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h
Lab topic: Exploratory Practice
Understanding the information found on the chosen topic and write a report describing the results.- Laboratory: Face laboratory session: Weeks 11 to 14
- Guided learning: Enterpreneurship and innovation
- Autonomous learning: Practice preparation
Contents:
Theory
0h
Problems
0h
Laboratory
6h
Guided learning
2h
Autonomous learning
8h
Overview sessions
Posing questions about the matter to the teachers. Preparation of control and the final examContents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h
Second Theory control
Control of 2 hours duration. Evaluates the contents from part of topic 3. Digital content representation and exchange and topics 4. Transmission systems and distribution of multimedia content and 5. Security in distributed applicationsObjectives: 1 2 7 10 13 19
Week: 14
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The course consists of lectures and laboratory. In the lectures, the professor will introduce the concepts necessary to do the practice and raise issues and cases related to the subject. The student will have a collection of problems to be solved in class.The laboratory is an important part of the course, as students will achieve the theoretical concepts from a more practical side of nature. Students will practice the statement before attending the laboratory. The statements will be posted on the website of the course. For each practice, there will be a short theoretical explanation and a dash of each practice. The lab sessions are scheduled to be made face after seeing the concepts in the lectures. If not, there will be a brief explanation to the laboratory for proper operation. Students must prepare in practice, reviewing the related theoretical concepts before the lab session.
Evaluation methodology
The evaluation of the course will have two parts: Theory (60%) and laboratory (40%).The laboratory grade will be calculated from the mark achieved in practices and laboratory interviews.
The theory grade will be calculated from controls grade and/or the final exam, which is divided into two parts, as controls.
The formula for calculating the grade for the course will be:
NF = MAX(0.3*EF1, 0.3*C1) + MAX(0,3*EF2, 0.3*C2) + 0.4 * NL
Where:
NF = Note the end of the course.
EF1 = Final Theory exam, first part, same subjects as C1.
EF2 = Final Theory exam, second part, same subjects as C2.
C1 = First Theory Control.
C2 = Second Theory Control.
NL = Laboratory. Will be calculated based on the average of the practices delivery (50%) and the practices reports and interviews (50%). There are correction rubrics for practices.
Competence evaluation:
Technical competences are evaluated in the laboratory and their value correspons to the 40% of the total mark of the subject. Moreover, the generic competence marks will be extracted from some laboratory activities, as described next.
The generic competence Empreneduria i Innovació will be evaluated in the exploratory practice.
The generic competence Actitud Adequada Davant el Treball will be evaluated at the practice interviews.
Generic competences evaluation: They can have values A, B, C or D (where A corresponds to an excellent standard, B corresponds to a desired level, C corresponds to a sufficient level and D corresponds to a level not achieved). In case the corresponding activities are not done, the grade will be N/A (not applicable).
Bibliography
Basic
-
Computer networking: a top-down approach
- Kurose, J.F.; Ross, K.W,
Pearson Education Limited,
2022.
ISBN: 9781292405469
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005149378006711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Computer networks
- Tanenbaum, A.S.; Feamster, N.; Wetherall, D.J,
Pearson,
2021.
ISBN: 9781292374062
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005067577106711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Web services essentials
- Cerami, E,
O'Reilly Media,
2002.
ISBN: 0596002246
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002417459706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementary
-
Next generation wireless applications: creating mobile applications in a web 2.0 and mobile 2.0 world
- Golding, P,
John Wiley & Sons,
2008.
ISBN: 9780470725061
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003400539706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Web design in a nutshell: [a desktop quick reference]
- Niederst Robbins, J,
O'Reilly,
2006.
ISBN: 9780596009878
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003598059706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Designing interfaces: patterns for effective interaction design
- Tidwell, J,
O'Reilly Media, Inc.,
2020.
ISBN: 9781492051916
-
Web application architecture: principles, protocols, and practices
- Shklar, L.; Rosen, R,
John Wiley,
2009.
ISBN: 9780470518601
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003630939706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Apache Axis2 web services : create secure, reliable, and easy-to-use web services using Apache Axis2
- Jayasinghe, D.; Azeez, A,
Packt Publishing,
2011.
ISBN: 9781849511568
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004053669706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Web W3C on parla de tecnologies relacionades amb serveis web http://www.w3.org/standards/webofservices/
- REpresentational State Transfer (REST) https://openaccess.uoc.edu/bitstream/10609/151345/2/REpresentationalStateTransfe
- Web W3C on parla de tecnologies relacionades amb dispositius https://www.w3.org/standards/webofdevices/
Previous capacities
- Advanced knowledge in Java programming language.- HTML, XML or JSON knowledge is not required, but they will be used the whole course.
- How to read English technical documentation, manuals and standards.
- Basic knowledge of computer networks: protocols and transport network level, application-level funcions, specially HTTP protocol.
- Basic knowledge of operating systems: user-level UNIX, Windows user-level, organization of an OS, drivers, processes, communication processes, data structures, databases.