Software Architecture for Services

Service-Oriented Architectures (SOA) are a way to organize and use distributed services that may be provided by different suppliers. SOA provides an infrastructure to offer, discover, interact with, and use capabilities to produce desired effects consistent with specified preconditions and requirements. This course describes SOA concepts and design principles, interoperability standards, runtime infrastructure and focuses on web services as an implementation technology for SOA.

Topics of interest include:

  • SOA Reference and Service Models
  • SOA Adoption
  • Service Design Principles
  • SOA, SOAP and REST
  • WSDL, UDDI
  • SOA Infrastructure
  • SOA Governance
  • Web Services implementations
  • Products and Vendors
  • Special Topics

Given the focus on shared capabilities, SOA involves more than technology. Therefore, additional topics will include the impact of SOA on culture, organization, and governance.

Suggested Propaedeutical Courses

Reti di Calcolatori

Prerequisites

Web Technologies, XML, main Applicative Protocols.

Course Goal

The goal of this course is to introduce the concepts and design principles of SOA, the non-technical aspects such as governance, impact on culture and organization, as well as the various interoperability standards, technology infrastructure and security considerations associated with SOA implementations.

Student Assessment Criteria

The examination consists in the presentation of a project or a seminar (70% of the mark) on a monographic subject agreed with the teacher. It is possible to work in group (up to 3 students). The evaluation is completed by a written test about the course program. The written examination is considered valid if the grade is >= 18/30.

Each grade for examinations and projects are valid for one year.

Incoming Lesson