The course aims to develop students' knowledge of distributed application development. The main concepts and problems in the development of distributed programming systems are discussed. The course presents basic approaches and up-to-date technologies for building distributed applications, as well as specific programming tools for their implementation. The contents covers topics in middleware, server technologies, remote access communication protocols. Special attention is paid to object-oriented distributed technologies.
Main topics of the syllabus:
- Development of distributed applications and systems.
- Development of multi-threaded applications.
- Client-server technology. Server architecture.
- Remote communication mechanisms. Sockets. Conversion and use to implement network services.
- Remote Procedure Call (RPC).
- Remote Methods Invocation. Java RMI. .Net Remoting.
- Messaging systems. MPI.