Breadcrumb

XSL Content

Web Systems27702

Centre
Faculty of Engineering - Bilbao
Degree
Bachelor's Degree in Computer Engineering in Management and Information Systems
Academic course
2024/25
Academic year
3
No. of credits
6
Languages
Spanish
Basque
Code
27702
Restrictions
Para poder matricularse en asignaturas de tecnología específica "Sistemas Web" hay que tener superados 60 créditos entre las materias básicas y comunes a la rama informática.

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based3045
Applied classroom-based groups1530
Applied laboratory-based groups1515

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

The subject "Web Systems" deals, with a practical approach, with the fundamental aspects that support information systems on the Web. Specifically, it analyzes how web services are structured, integrated and exchange data. The advanced aspects include the implementation and deployment of web applications, as well as the study of technologies related to authentication and authorization flows for the delegation of access to web APIs.



The subject "Web Systems" is a compulsory subject of the Degree in Computer Engineering of Management and Information Systems. It is part of the module M03-Information Systems. The subject "Web Systems" is related to:

- The 2nd year course "Software Engineering", in which students acquire competences related to the design and development of software applications.

- The 4th year course "Design of Rich Web Applications", in which students acquire skills related to the design and development of web applications, but from the point of view of the client (the browser).

Skills/Learning outcomes of the subjectToggle Navigation

[C1] To know the web services architecture models.

[C2] Know the basic technologies that support the web, in particular those that facilitate the integration and exchange of information between web services.

[C3] Adopt a structured and orderly approach to design, develop and deploy web applications.

[C4] Identify and evaluate the security requirements needed in web services.



Module competences (M03-Information Systems) to which they relate:

- Ability to integrate ICT solutions and business processes to meet the information needs of organizations, enabling them to achieve their objectives effectively and efficiently, thus giving them competitive advantages. --> [C1] and [C2].

- Ability to determine the requirements of the information and communication systems of an organization taking into account security aspects and compliance with regulations and legislation in force. --> [C3] and [C4].

- Ability to actively participate in the specification, design, implementation and maintenance of information and communication systems. --> [C3]

Theoretical and practical contentToggle Navigation

Detailed time planning of the contents.





MASTER CLASSES AND CLASSROOM PRACTICE



WEEK 1

- Presentation of the subject and research lines of the professors.

- Installation of Burp Suite, Python, PyCharm, Wireshark, Geckodriver and View Source Chart.

- Testing of the development environment. Simple examples to get familiar with Python and PyCharm.



WEEK 2

- HTTP. Request and response. Example with Burp (Repeater tab) and Python (requests library).

- HTTP. HTTP traffic generated when loading a web page.

- HTTP. Error codes: 400 and 404. Forcing them in the previous example.

- HTTP. Redirection. Example with Burp or Python.

- HTTP. Compression. Example with Python.



WEEK 3

- HTTP. Caching.

- HTTP. Cookies. Example: Sequence of requests to enter eGela.

- HTTP. Content Length vs Transfer Encoding. Wireshark example: Analyze download img x transfer encoding.

- HTTP. Response encoding. Wireshark example: Analyze download text "Hello, Iñaki Perez!".

- HTTP. Sending data. Example with Python: DNI letter.



WEEK 4

- Web Scraping. Structure of an HTML page.

- Web Scraping. Downloaded page vs. Rendered page.

- Web Scraping. Rendering web pages: Geckodriver + Selenium. Example.

- Web Scraping. HTML parsing: BeautifulSoup library. Example.



WEEK 5

- Installation of MySQL, Java, Tomcat and IntelliJ. Testing the development environment.

- Tomcat: Directory structure.

- Tomcat: Request management mechanism (web.xml).

- Tomcat: Servlet. Examples.



WEEK 6

- Tomcat: Collection of request parameters. Example: DNI letter.

- Tomcat: Dynamic server-side web pages (JSPs).

- Tomcat: Redirects: RequestDispatcher vs sendRedirect.



WEEK 7

- Message board: Presentation and previous steps (i).

- Message board: Previous steps (ii).



WEEK 8

- Message board: Login.

- Message board: Active users.

- Message board: User session.



WEEK 9

- Message board: List messages.

- Message board: Add message.

- Message board: Update messages.



WEEK 10

- Web API concept.

- OAuth. Fundamentals.

- OAuth for mobile and desktop applications. Message flow.

- OAuth for mobile and desktop applications. Example: Listing documents in Google Drive.



WEEK 11



- OAuth for mobile and desktop applications. Example: Listing documents in Dropbox.



WEEK 13

- Presentation of evaluable task 4: Web client for transferring files from eGela to Dropbox.

- Evaluable task 4: Analysis of the skeleton of the application.



WEEK 14

- Assessable task 4: Integration with eGela.

- Assessable task 4: Integration with Dropbox.



WEEK 15

- Tutorials for evaluable task 4.





LABORATORY PRACTICES

There are three laboratory practices. Each one has a duration of 2 weeks.



Practical 1: IoT Client

Automatic upload of %CPU and %RAM to the ThingSpeak platform. Data deletion when exiting the program with Ctrl+C.



Practice 2: eGela Web Scraping

Connecting to eGela, downloading PDF files of different subjects and organizing them by folders.



Practice 3: SVG Image Manager

Develop a web application based on Tomcat to manage SVG images stored in the eXist database.

MethodologyToggle Navigation

LECTURES: Development of the syllabus through presentations and practical exercises carried out by the professor.



CLASSROOM PRACTICES: Development of the syllabus through directed tasks carried out by the students individually or in groups with the help of the professor.



LABORATORY PRACTICES: Development of the syllabus through directed tasks carried out by the students individually or in groups without the teacher's help.

Assessment systemsToggle Navigation

  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 60
    • Realization of Practical Work (exercises, cases or problems) (%): 30
    • Team projects (problem solving, project design)) (%): 10

Ordinary Call: Orientations and DisclaimerToggle Navigation

The weighting of the different evaluation instruments in the final grade is detailed below.





EVALUABLE TASKS ESTABLISHED THROUGHOUT THE COURSE:



* First evaluable assignment (10%).

Type: Individual

Description: Practical 1 (see the section "theoretical-practical contents" of this teaching guide).



* Second evaluable assignment (10%)

Type: Individual

Description: Practical 2 (consult the "theoretical-practical contents" section of this teaching guide) * Third evaluable assignment (10%)



* Third evaluable task (10%)

Type: Individual

Description: Practical 3 (consult the "theoretical-practical contents" section of this teaching guide) * Fourth evaluable assignment (10%)



* Fourth evaluable task (10%)

Type: Group

Description: See week 13 in the "theoretical-practical contents" section of this teaching guide.





TEST ESTABLISHED IN THE OFFICIAL EXAM PERIOD:



* Written test (60%)

Type: Individual

Description: Solve a series of questions and exercises that collect the theoretical and practical aspects studied during the course.





NOTES:



(1) It is necessary to pass the written test to pass the course. If the written test is not passed, the final grade will be the one obtained in the evaluable tasks established throughout the course.



(2) However, students will have the right to be evaluated only by means of the written test, regardless of whether or not they have completed the evaluable tasks established throughout the course. To do so, the student must submit in writing to the professor responsible for the subject the waiver to the evaluation of the evaluable tasks established throughout the course, for which he/she will have a period of 9 weeks from the beginning of the term.



(3) If the student does not present any of the graded activities, the final grade will be "NOT PRESENTED".

Extraordinary Call: Orientations and DisclaimerToggle Navigation

Examination consisting of two exercises:



1. Written exercise (60%)

Description: To solve a series of questions and exercises that cover the theoretical and practical aspects studied during the course.



2. Practical exercise to be carried out in the laboratory (40%)

Description: To solve a task similar to the ones done during the course as part of the continuous evaluation.



NOTE: If the student does not take the exam the final grade will be "NOT PRESENTED".

Compulsory materialsToggle Navigation

All resources (slides, exercise statements and solutions, program code and supporting videos) used in class will be posted on eGela.

BibliographyToggle Navigation

Basic bibliography

Information Architecture for the World Wide Web, Morville P. & Rosenfeld L., Ed. O¿Reilly

In-depth bibliography

Ajax and REST Recipes: A Problem-Solution Approach, Gross C., Ed. Apress

Journals

WORLD WIDE WEB-INTERNET AND WEB INFORMATION SYSTEMS (ISSN: 1386-145X)

IEEE INTERNET COMPUTING (ISSN: 1089-7801)

Web addresses

The Internet Engineering Task Force: http://www.ietf.org

The World Wide Web Consortium: http://www.w3.org

Google Code: http://code.google.com

GroupsToggle Navigation

01 Teórico (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-32

11:00-13:00 (1)

34-35

11:00-13:00 (2)

Teaching staff

Classroom(s)

  • P4I 10A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P4I 10A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)

01 Applied classroom-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-32

13:00-14:00 (1)

34-35

13:00-14:00 (2)

Teaching staff

Classroom(s)

  • P4I 10A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P4I 10A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)

01 Applied laboratory-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-20

09:00-10:00 (1)

21-21

09:00-11:00 (2)

23-23

09:00-11:00 (3)

25-25

09:00-11:00 (4)

27-27

09:00-11:00 (5)

29-29

09:00-11:00 (6)

32-32

09:00-11:00 (7)

34-34

09:00-11:00 (8)

Teaching staff

Classroom(s)

  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (3)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (4)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (5)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (6)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (7)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (8)

01 Applied laboratory-based groups-2 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-20

10:00-11:00 (1)

22-22

09:00-11:00 (2)

24-24

09:00-11:00 (3)

26-26

09:00-11:00 (4)

28-28

09:00-11:00 (5)

30-31

09:00-11:00 (6)

35-35

09:00-11:00 (7)

Teaching staff

Classroom(s)

  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (3)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (4)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (5)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (6)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (7)

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-20

09:00-11:00 (1)

21-32

09:00-11:00 (2)

34-35

09:00-11:00 (3)

Teaching staff

Classroom(s)

  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)
  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (3)

31 Applied classroom-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
20-31

08:00-09:00 (1)

32-32

08:00-09:00 (2)

34-35

08:00-09:00 (3)

Teaching staff

Classroom(s)

  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)
  • P3I 2A - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (3)

31 Applied laboratory-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
21-21

11:00-13:00 (1)

23-23

11:00-13:00 (2)

25-25

11:00-13:00 (3)

27-27

11:00-13:00 (4)

29-29

11:00-13:00 (5)

32-32

11:00-13:00 (6)

34-34

11:00-13:00 (7)

35-35

11:00-12:00 (8)

Teaching staff

Classroom(s)

  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (1)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (2)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (3)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (4)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (5)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (6)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (7)
  • P6I 10L - ESCUELA DE INGENIERIA DE BILBAO-EDIFICIO II (8)