Skip to main content

Distributed Applications

Credits
6
Types
Specialization complementary (Information Technologies)
Requirements
Department
AC
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

Others

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6

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.
  • 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.
  • 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

    1. Being able to predict the performance of protocols and interpret the content of messages that use web applications.
      Related competences: CT6.4, CT7.2,
    2. Being able to interpret XML and JSON documents interchanged between web services.
      Related competences: CT8.1, CT7.2,
    3. Being able to configure an application server and launch a web application.
      Related competences: CTI3.3, CTI2.1, CT6.4, CTI1.4,
    4. Being able to interpret the data interchanged between distributed applications.
      Related competences: CT8.1,
    5. Being able to configure an application server and implement web services.
      Related competences: CTI3.3, CTI2.1, CT6.4, CTI1.4,
    6. 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,
    7. Being able to describe existing formats of information and explain its normal use .
      Related competences: CT8.1,
    8. Being able to describe the client / server paradigm and give examples of protocols that follow it.
      Related competences: CT6.4,
    9. Be able to explain what a communications library is and give examples of existing libraries.
      Related competences: CT8.1,
    10. Be able to explain what an application server is and give examples of existing application servers.
      Related competences: CT8.1,
    11. Being able to describe at a high level specific characteristics of mobile applications.
      Related competences: CTI3.1,
    12. Being able to develop a complete distributed application.
      Related competences: G1.3, CT8.1, CT7.2, CT8.4, CTI4,
    13. Being able to enumerate the differences between the different methods of transmitting multimedia content.
      Related competences: CTI3.1, CT8.1, CT6.4,
    14. 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,
    15. 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,
    16. Ability to adapt to situations where there is lack of information and / or changes in the initial requirements.
      Related competences: G8.3,
    17. Ability to answer questions related to the work done in the course of practices.
      Related competences: G8.3,
    18. Gain awareness of how to work to get some good results.
      Related competences: G8.3,
    19. Ability to list the different security mechanisms that can be applied to distributed applications.
      Related competences: CT8.1, CT6.4, CTI1.4,

    Contents

    1. Introduction
      Application level. Client-Server model. Remote invocation of operations /methods / procedures. Existing communications libraries. Information formats.
    2. Application and service development based on HTTP
      Websites programming. Web Services. Application servers.
      Mobile networks features. Distributed mobile applications programming.
    3. Digital content representation and exchange
      Formats: text, documents, image, video and metadata.
    4. Transmission and distribution systems of multimedia content
      Streaming / download. Distribution Servers.
    5. Security in distributed applications
      Security mechanisms at application level.

    Activities

    Activity Evaluation act


    Developing topic: Introduction

    Understanding of the content in order to apply them in the lab associated with the topic.
    Objectives: 8 9
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    2h

    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
    Objectives: 1
    Contents:
    Theory
    0h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    1h

    Developing topic: Development of applications and services based on HTTP

    Understanding the content in order to apply them in the lab associated with the topic.
    Objectives: 2 3 4 5 6 10 11
    Contents:
    Theory
    6h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    7h

    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
    Objectives: 3
    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
    Objectives: 2 7
    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
    Objectives: 5
    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
    Objectives: 5 6
    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
    Objectives: 14
    Contents:
    Theory
    0h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    0h

    Lab interview

    Interviews to evaluate the lab sessions "Desarrollo web applications that use Web services"
    Objectives: 6 12 14 17
    Week: 11
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    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 authentication
    Objectives: 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
    Objectives: 15 16 18
    Contents:
    Theory
    0h
    Problems
    0h
    Laboratory
    6h
    Guided learning
    2h
    Autonomous learning
    8h

    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 applications
    Objectives: 1 2 7 10 13 19
    Week: 14
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Final exam for the course


    Objectives: 1 2 3 4 5 6 7 8 9 10 11 12 13 17 19
    Week: 15 (Outside class hours)
    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

    Complementary

    Web links

    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.