This subject is about the application level of computer networks and distributed applications, including mobile devices applications.
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 (
)
Others
Jaime M. Delgado Merce (
)
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6
Competences
Technical Competences
Common technical competencies
CT6 - To demonstrate knowledge and comprehension about the internal operation of a computer and about the operation of communications between computers.
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 - To evaluate and select hardware and software production platforms for executing applications and computer services.
CT7.2
- To evaluate hardware/software systems in function of a determined criteria of quality.
CT8 - To plan, conceive, deploy and manage computer projects, services and systems in every field, to lead the start-up, the continuous improvement and to value the economical and social impact.
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.
Technical Competences of each Specialization
Information technology specialization
CTI1 - To define, plan and manage the installation of the ICT infrastructure of the organization.
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 - To guarantee that the ICT systems of an organization operate adequately, are secure and adequately installed, documented, personalized, maintained, updated and substituted, and the people of the organization receive a correct ICT support.
CTI2.1
- To manage, plan and coordinate the management of the computers infrastructure: hardware, software, networks and communications.
CTI3 - To design solutions which integrate hardware, software and communication technologies (and capacity to develop specific solutions of systems software) for distributed systems and ubiquitous computation devices.
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.
CTI4 - To use methodologies centred on the user and the organization to develop, evaluate and manage applications and systems based on the information technologies which ensure the accessibility, ergonomics and usability of the systems.
Transversal Competences
Entrepreneurship and innovation
G1 [Avaluable] - To know and understand the organization of a company and the sciences which govern its activity; capacity to understand the labour rules and the relation between planning, industrial and business strategies, quality and benefit. To develop creativity, entrepreneur spirit and innovation tendency.
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 [Avaluable] - To have motivation to be professional and to face new challenges, have a width vision of the possibilities of the career in the field of informatics engineering. To feel motivated for the quality and the continuous improvement, and behave rigorously in the professional development. Capacity to adapt oneself to organizational or technological changes. Capacity to work in situations with information shortage and/or time and/or resources restrictions.
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
ActivityEvaluation act
Developing topic: Introduction
Understanding of the content in order to apply them in the lab associated with the topic. Objectives:89 Contents:
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:1478910111618 Week:
10
Theory
1.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h
Lab interviews (In the lab)
Explanation of work done in practice "Developing web applications that make use of Web services"
Interviews to evaluate the lab sessions "Desarrollo web applications that use Web services" Objectives:6121417 Week:
11
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
3h
Autonomous learning
2h
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 authentication Objectives:12419 Contents:
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 applications Objectives:127101319 Week:
14
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:
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).
- 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.