Graduate School and Research Center in Digital Sciences

Distributed software and middleware

T Technical Teaching


  • Middleware consists of the software and services on which a network application programmer relies that are provided on top of the network layer. The knowledge of distributed software design and the appropriate use of middleware are recognized as part of the software engineering culture in the industry, especially for Internet applications.
  • The goal of this course is to provide a broad overview of engineering techniques for the development of distributed software based on classical bare socket programming and on today's state-of-the-art middleware.
  • The course first describes how distributed software can be modularly designed using object-oriented techniques and design patterns. Object-oriented middleware platforms like CORBA, Java RMI, and EJB are then thoroughly described. Mobile code platforms, which provide a new form of middleware, are also introduced. Services and interfaces required for the deployment of these platforms are finally addressed.
  • The course will be accompanied by some significant design and programming labs.



  • Object-Oriented Software Development : Software life cycle, object-oriented design, unified modelling language notations and diagrams,  software architecture and design patterns.
  • Client-Server Software : Socket based networking, Communication and client-server patterns reactor, active object, acceptor-connector. Multithreading and clientserver concurrency models.
  • Distributed Objects : CORBA : Interface Definition Language, Inter-ORB Protocol architecture, ORB and server implementation. Java RMI (remote Method Invocation) : registry, comparison and interoperability with CORBA. EJB (Enterprise Java Beans) : 3-tiered applications, transaction processing, component model and servers.
  • Mobile Objects : Mobile code, agent platforms.
  • Middleware Services and Interfaces : Naming and trading services : LDAP, JNDI. Security services and interfaces : CORBA, RMI. Communication models : event-driven communication, XML formats.
Nb hours: 42.00
Nb hours per week: 3.00
Control form: examen écrit