This course focus on the need for systems interoperability and how Web services, an umbrella concept for different cross-platform solutions based on Web standards, attempt to overcome the many challenges that distributed information systems have addressed in various ways (but not always successfully) in the past. By the end of the course, students will have learned the relevant concepts related to the nature, characteristics and types of Web Services and acquired some experience in consuming, designing, constructing and maintaining services located at the web.
Person in charge
Carles Farre Tost (
Besim Bilalli (
Jovan Varga (
Technical Competences of each Specialization
CEE5.1 - Capability to participate in improvement projects or to create service systems, providing in particular: a) innovation and research proposals based on new uses and developments of information technologies, b) application of the most appropriate software engineering and databases principles when developing information systems, c) definition, installation and management of infrastructure / platform necessary for the efficient running of service systems.
CEE5.3 - Capability to work in interdisciplinary engineering services teams and, provided the necessary domain experience, capability to work autonomously in specific service systems.
Generic Technical Competences
CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.
CTR3 - Capacity of being able to work as a team member, either as a regular member or performing directive activities, in order to help the development of projects in a pragmatic manner and with sense of responsibility; capability to take into account the available resources.
CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
CB9 - Possession of the learning skills that enable the students to continue studying in a way that will be mainly self-directed or autonomous.
Ability to design and implement software that interacts with web services and public or private web APIs
Understanding of the fundamental Web technologies that are the basis for the development of web services
Know the different protocols and communication standards for web services
Ability to design and implement web services, selecting and using the technologies and tools that are most appropriate in each case
Ability to test and monitor web services, selecting and using the technologies and tools that are most appropriate in each case
Origins & Precedents
Fundamentals of Distributed Sytems. Middleware. SOA
Core Web Technologies
Core WS Protocols
SOAP and WSDL. RESTful WS.
Properties of a service development methodology. Qualities of service development methodology. Web services development lifecycle.Service analysis, design and construction. Design Patterns for Web Service Development.
General Concepts. Securing RESTful Web Services. XML Security Standards. Securing WS-* Web Services
WS Evolution, Management, Monitoring, and Testing. Transactions. Composition and Coordination.
In groups of 3-4, s/he prepares a topic to be presented with the help of slides. S/he handles in the slides before the deadline. S/he delivers the presentation and answers the questions from the teacher and his/her classmates. S/he assess the presentations of the other groups.
In pairs, s/he works (installs, configures, programs) in order to achieve a certain number of tasks defined in the statement handed in at the beginning of the session, using the required language, tools and resources. In advance, and autonomously, s/he has introduced her/himself to the use of these technologies.
In groups of 3-4, s/he designs, implements, and deploys web services. Each week s/he comes to the laboratory session to work on the project, indicate the level of achievement of the milestones set for that session, (re)plan the milestones for the next session, present results, and report doubts and problems. At the end of the project, s/he assess the work of his/her project fellows.
The teaching of the course is structured in lecture sessions and laboratory sessions.
Lecture sessions: 2 hours per week.
The instructors can present some of the course content using slides or other material available at Atenea. There will be also sessions in which students will be required to prepare on their own and present to the class a certain topic.
Laboratory sessions: 2 hours per week.
During the first 9 weeks of the course, and after a brief introduction, the students will be required to complete a certain number of tasks using the computer in accordance with a work plan.
During the remaining weeks of the course, the students, in groups of 3-4, will design and implement a web service project. The lab sessions will be used to work in the project, discuss and fix doubts and problems, plan and manage goals, and present results.
SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST (The Prentice Hall Service Technology Series from Thomas Erl) -
Erl, Thomas et al., Prentice Hall ,