Services Computing
Services Computing is a discipline that focuses on aspects such as Service Oriented Architecture, Web Services and Business Process Integration. In this discipline, the concept of software as a service is central. Complementary technology developments such as Cloud computing and ROA (Resource-oriented Architecture) with a focus on REST services are also considered. Initially, SOAP was the messaging protocol that web services used. More recently, the more flexible REST architecture has gained popularity as manifested by the fact that most public web services provide REST APIs and transfer data in JSON data-interchange format. For this reason, the course is becoming more focused on REST APIs and microservices.
The following topics can be covered
Background to distributed computing development - TCP, middleware; objects versus services
SOAP web-services - XML; HTTP; SOAP; WSDL
Service design - Modularity; reuse; contracts; design patterns
REST API architecture and design
Microservices - Patterns, Domain-Driven Design, Services Mesh
Service compositions
Service qualities - transactions; performance; security
Serverless computing
For more information on this topic see the following:
Major Journal:
IEEE Transactions on Services Computing
Major Conferences:
International Conference on Services Computing
IEEE World Congress on Services
Implementation:
Students are expected to implement a microservices project of their choice, in order to demonstrate that they have mastered the topics discussed in class.