Service-oriented infrastructures are the backbone of modern IT systems. They pool resources, enable collaboration between people, and provide complex services to endusers. Everybody who uses today's web applications such as Facebook, Google, or Amazon implicitly relies on sophisticated service-oriented infrastructures. The same is true for users of mobile devices such as tablet computers and smart phones, which provide most of their benefits leveraging services such as Dropbox, Evernote, and iTunes. These examples and many more services build on sophisticated serviceoriented infrastructures. The key challenges of service-oriented infrastructures are related to scaling services. More specifically large service-oriented infrastructures require scalability of IT management, programming models, and power consumption. The challenges to scale services lie in the inherent complexity of hardware, software, and the large amount of user requests, which large-scale services are expected to handle. This module teaches methods that address and solve those challenges in practice.
Key aspects of the module are the management of IT infrastructures, the management of service landscapes, and programming models for distributed applications. IT management covers Cloud computing, and the virtualisation of computing, storage, and network resources. Cloud computing in specific is covered by the discussion of production-grade infrastructure-as-service and platform-as-a-service middlewares. IT management is covered by the discussion of deployment models, service level agreements, and security aspects. Programming models are covered by discussing RESTful and SOAP web-services, MapReduce, and OSGi. Both, lectures and exercises, keep a close connection to the practical application of the discussed topics. The practical value of service-oriented infrastructures is highlighted in the context of enterprises as well as in the context of science. The methods taught in this module benefit from the lecturers' experiences at GWDG and thus provide exclusive insights into the topic. After successfully attending these modules students will understand the most important aspects to design, implement, and manage internet-scale service-oriented infrastructures.
The lecture is complemented by execises that mainly focus on pracical aspects.
II. Entrance criteria
III. Recommended qualifications
- Programming basics in Java or a similar language
- Basic understanding of operating systems and command line interfaces
IV. Educational objectives
Successfully completing the lecture, students are able to
- understand basic web technologies (transfer protocols, markup languages, markup processing, RESTful and SOAP web services)
- understand virtualisation technologies (server, storage, and network virtualisation)
- understand Cloud computing (standards, APIs, management, service layers)
- understand security mechanisms for distributed systems (authentication, authorisation, certificates, public key infrastructures)
- understand data services (sharing, management, and analysis)
- understand Big Data technology (MapReduce)
On completion of this module students will have a good understanding of the fundamental and up-to-date concepts used in the context of service-oriented infrastructures. This basic knowledge can be leveraged by students to design, implement, and manage service-oriented infrastructures by themselves.
Type: Written exam (90 minutes) or oral examination, 20 minutes. Graded.
Expectation on the examinee
Profund knowledge of:
- RESTful and SOAP web services
- Compute, storage, and network virtualisation
- Infrastructure-as-a-service, platform-as-a-service, software-as-a-service
- Characteristics of Cloud computing (NIST)
- Service level agreements
- Symmetric and asymmetric encryption (SSL, TLS)
- Security certificates (X.509)
- Public key infrastructures
VI. Recommended literature
- Ingo Melzer: Service-orientierte Architekturen mit Web Services. 2010.
- Jörg Schwenk: Sicherheit und Kryptographie im Internet: Von sicherer E-Mail bis zu IP-Verschlüsselung. Vieweg+Teubner, 2010 (S.1-28)
- Christian Baun, Marcel Kunze, Jens Nimis et al.: Cloud Computing: Web-basierte dynamische IT-Services. Springer, 2009
- Tom White: Hadoop: The Definitive Guide. O'Reilly Media, Inc., 2010