This course focuses on service-oriented architectural model and the service-orientation design paradigm. It will describe Service Oriented Architecture (SOA) concepts and principles, as well as quality considerations for developing modern software systems from a technical and organizational perspective.
Specifically, the course will cover principles of SOA design and SOA design patterns. Furthermore, as SOA involves more than technology, additional topics will include the impact of SOA on culture, organization, and governance.
The aim of this course is to establish a strong understanding of the concepts needed to have an effective working knowledge of SOA methodologies, and SOA systems design.
Teachers
Person in charge
Claudia Patricia Ayala Martinez (
)
Weekly hours
Theory
1.4
Problems
1.5
Laboratory
0
Guided learning
0.15
Autonomous learning
4
Objectives
To understand the main concepts and principles of SOA.
Related competences:
CEE5.1,
CEE5.3,
CB9,
CEC3,
CTR6,
CG5,
Subcompetences:
To understand the principles of service design
To understand what is SOA
To understand why Service Oriented Computing is needed
To understand and apply patterns for service design from the provider and requester perspectives
Related competences:
CEE5.1,
CEE5.2,
CB6,
CB9,
CEC1,
CEC3,
CTR6,
CG5,
Subcompetences:
To identify problems and solution patterns for using services
To identify problems and solution patterns for designing services
To design services up to the level of detail needed to physically build them (i.e., implement them)
To represent the design of the systems by means of the Unified Modelling Language (UML)
Related competences:
CB6,
To understand SOA challenges mainly regarding governance, testing and maintenance.
Related competences:
CG1,
CB6,
CB8,
CB9,
CEC1,
CEC3,
CTR6,
Contents
SOA Fundamentals and Principles
Introduction to Service Oriented Computing, SOA Paradigm and service design principles
Introduction to SOA Development LifeCycle
Introduction to the main stages of SOA development and their associated challenges.
The course will then mainly focus on the logical perspective of the service design stage.
SOA Planning and Service Analysis and Identification
Factors that motivate SOA adoption and how to identify services through a case study
Definition of a logical context for designing Information Systems through Pattern-Based Service Design
Definition of a logical context based on Object Oriented programming languages, relational databases and UML to apply SOA patterns for service design and service usage
Pattern-Based Service Design - The provider perspective.
To apply basic service design patterns that support the tasks of the service provider
Pattern-Based Service Design - The requester perspective
To apply basic design patterns that support the tasks of the service requester
Assessment of Challanges of SOA Development
Main challenges of SOA
Activities
ActivityEvaluation act
Presentation of the SOA Course and presentation of students
-Yourself introduction (previous background, professional interests and expectations from the course)
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
SOA Fundamentals and Principles
-The teacher will provide some specific articles and reading material that the student should read and complement with other sources in advance to the lecture to actively participate during the classes. Objectives:1 Contents:
The teacher will provide some specific articles and reading material that the student should read and complement with other sources in advance to the lecture to actively participate during the classes. Objectives:1 Contents:
Overview of SOA Analysis and Service Identification through a case study
The student should read the case study and complement it with other sources in advance to the lecture to actively participate during the classes. Objectives:12 Contents:
High Level Service Concepts Representations and UML elements for design
For the theory sessions: The teacher will provide some specific articles and reading material that the student should read and complement with other sources in advance to the lecture to actively participate during the classes. For the problems session: some problems will be given by the teacher and the student should solve these problems and explain his/her solutions. Objectives:3 Contents:
For the theory sessions: The teacher will provide lectures about some patterns. The student should complement with other sources to actively participate during the classes.
For the problems sessions: the student should solve the exercises in advance and comment his/her solutions or doubts during the class. Objectives:23 Contents:
It includes theory and problems. Focuses on the contents 1 to 5 Objectives:12 Week:
9
Theory
0h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h
Application of service design patterns: The requester perspective
For the theory sessions: The teacher will provide lectures about some patterns. The student should complement with other sources to actively participate during the classes. For the problems sessions: the student should solve the exercises in advance and comment his/her solutions or doubts during the class. Objectives:23 Contents:
The course will be tackled by lectures, students participation and classes of problems, although the distribution in both types does not follow any regular weekly pattern.
Some of the course contents are presented by teachers but others are not presented in class. However, they must be privately studied by students in their own time. These contents are also obligatory - the only difference is the way in which they are studied. Teachers will indicate which contents should be studied at each juncture of the course, and the teaching resources that may be employed.
The classes of problems put into practice what is learnt during the course (which includes both contents presented in class and those learnt by students in their private study). Sometimes, students will be required to either have wholly or partially solved problems before the class. The problem and possible solutions will then be discussed in class. On other occasions, the problem will be set and solved in class. It is crucial for the correct development of the course that the students prepare their solutions to the exercises that teachers propose.
Control1 and Control 2 refer to previously scheduled exams (performed during the normal sessions of the course)
Control1 will include contents 1-to 5
Control2 will include content 6
Seminar refers to the presentation of a topic related to SOA challenges that will be selected by the student and prepared through the course. The teacher will schedule the seminar at the end of the course activities. Each student is assessed on the individual presentations.
Participation is evaluated based on the contribution of the student to the sessions. A student is evaluated on participation only if the student attends at least the 80% of the scheduled meetings and classes.
Bibliography
Basic:
Web Services & SOA: Principles and Technology -
Papazoglou, Mike,
Pearson Prentice Hall, January 2012.
Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture. -
Bell, Michael,
Wiley, 2008..
SOA Design Patterns -
Erl, Thomas,
Prentice Hall, ISBN: 0136135161
Web links
A site dedicated to the on-going development and expansion of the SOA design pattern catalog. http://www.soapatterns.org/
Previous capacities
It is mandatory that the students have previous knowledge about software architecture and software design
It is desirable that the student knows the Unified Modelling Language (UML) as we will use it as standard notation to describe the proposed design solutions