Checking date: 12/02/2021

Course: 2020/2021

Computing technologies for the web
Study: Bachelor in Computer Science and Engineering (218)


Department assigned to the subject: Department of Computer Science and Engineering

Type: Compulsory
ECTS Credits: 6.0 ECTS


Students are expected to have completed
- Programación / Programming - Programación Orientada a Objetos / Object Oriented Programming (Java)
Transversal competences - Synthesis and analysis (PO a) - Planning and organizing (PO a) - Problem solving (PO b) - Team working (PO d) - Capacity to apply theoretical concepts (PO c) - The ability to apply theoretical and practical methods to the analysis, design and development of solutions, which comply the rules of accessibility, ergonomic and security at work of the correspondent legislation (CG1) Specific competences - Cognitive (PO a) 1. Architecture and design patterns as they apply to the design of distributed web applications - Procedimental/Instrumental (PO a, g, k) 1. Analisis, design and implementation of a distributed web application 2. Apply arquitectures and design patterns to distributed web application 3. Work in group for designing Web architectures - Attitudinal (PO c, d, f) 1. Creativity 2. Concern about quality 3. Motivation 4. Interest for investigating and finding solutions to new problems considering their design, appeal and cost. - Specific of Computer Science and Engineering 1. To undestand the importance that negotation, effective work practices, leadership and communication skills have in a software development environment (CERI13) - Specific of Information Systems 1.- To understand and apply the principles and techniques of quality management and technology innovation in an organization. (CESI6) - Specific of Computational Engineering 1.- The ability to design and develop systems and communication software. (CEIC4) 2.- The ability to analise, evaluate and select the most suitable hardware and software platforms for embedded systems and real time applications. (CEIC5) 3.- The ability to design, deploy, administer and manage computer networks. (CEIC8) Learning results: - Engineering Projects RA3.2. To undertand different methods and to ability to apply them (CEIC4, CEIC5, CEIC8) - Engineering Practice RA5.4: To be aware of the implications of the engineering practice (CG1) RA5.1: The ability to select and use the most suitable teams, tools and methods (CECRI13, CEIC8) - Competencias Transversales RA6.1: The ability to work effectively both individually and as member of a team (CECRI13) RA6.2: The ability to use different methods to communicate effectively with the comunity of engineers and, in general, with the society (CECRI13) RA6.4: To probe to be aware of the business and project management practices, as well as of the risk management and control practices, and to understand their limitations. (CESI6)
Description of contents: programme
Development of distributed components, Web programming, Web design patterns, Techniques for implementing asynchronous communication between servers, MVC architectures (Model View-Controller), Persistence engines The course is divided in three blocks: - A general overview of the JEE specification, including the most popular APIS related with this technology ( JSP, Servlet, Filtros, EJBs, JMS, JAX-RS..) and the basic concepts of designing JEE applications. - Persistence layers using relational databases and non-relational databases - Microservices, API Management and quality control PROGRAMME: MODULE 1 - APIS JEE 1. Introduction. Overview of JEE 2. JEE APIS: 2.1 Java Server Pages (JSP) 2.2 Servlets & Filtros 2.3 Enterprise Java Beans (EJBs), 2.4 Aplication integration: 2.4.1 Java Messaging Service (JMS) 2.4.2 Java API para RESTful Web Services (JAX-RS) MODULE 2 - DESIGNING JEE APPLICATIONS 1. The Model View Controller (MVC) Pattern 2. Core JEE Patterns MODULE 3 - DATA MANAGEMENT: 1. Relational DB: 1.1 Java Data Base Connectivity (JDBC) 1.2 Java Persistence API (JPA) 2. NOSQL MODULE 4 - MICROSERVICES 1. Introduction. General Overview 2. Spring Boot MODULE 5 - API Manager & QA (Quality Assurance) 1. API Manager Concept and mission 2. API Manager Open Source 3. Continuous Integration and Continuous Delivery 4. Orchestrated QA
Learning activities and methodology
Theoretical lectures: 1.5 ECTS. To achieve the specific cognitive competences of the course (PO a) Practical lectures: 1 ECTS. To develop the specific instrumental competences and most of the general competences, such as team working, capacity to apply theoretical concepts, synthesis and analysis, and planning and organizing. Besides, to develop the specific attitudinal competences. During the practical lectures students work in groups designing and developing a web application. (PO a, c, d, g). Guided academic activities - Present teacher: * 1 ECTS. The student proposes a project according to the teachers guidance to go deeply into some aspect of the course, followed by public presentation (PO a, c, d, g, k). * 1 ECTS. Guided project: Students carry out a project working in group and according to teachers¿ guidelines. 1.0 ECTS (PO a, d, g) - Absent teacher: 1 ECTS. Exercises and complementary readings. (PO a, c, g, k). Exercises and examination: 0,5 ECTS. To complete the development of specific cognitive and procedimental capacities (PO a, c).
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60
Basic Bibliography
  • Allamaraju, Subrahmanyam. Programación Java Server con J2EE Edición1.3. Anaya.
  • Allamaraju, Subrahmanyam. Programación Java Server con J2EE Edición1.3. Anaya.
  • Brett McLaughlin. Java and XML. O`Reilly UK.
  • Bruce W. Perry. Java Servlet & JSP Cookbook. O`Reilly UK.
  • Budi Kurniawan. Java Web Developments with Servlets, JSP and EJB. Sams.
  • Elizabeth Castro. XML for the World Wide Web. Peachpit Press.
  • Hugh E. Williams, David Lane. Web Database Applications with PHP and MySQL. O`Reilly UK.
Additional Bibliography
  •^B648. -. -.

The course syllabus and the academic weekly planning may change due academic events or other reasons.