Distributed Programming and Components

Objectives

The main issue of the subject is to introduce the student to different architectures and specifications to develop distributed applications.
The subject contains two parts: theoretical and practice. However, the most important part is the practice one in the laboratory, developing each year two different distributed applications, in order to understand the foundations of each architecture studied.

Contents

Chapter 1- Distributed Architectures. Client/Server paradigm
1.1- Distributed Systems
1.2- Client-server paradigm
1.3- Evolution of computer engineering in enterprises
1.4- Computer engineering now in enterprises
1.5- Services in a client-server architecture

Chapter 2- Server-Side Component Architectures
2.1- Server-side Components. Are they needed?
2.2- Solutions for server-side component architecture. Tools
2.3- Java: a perfect language for component architectures
2.4- Multi-layered architectures
2.5- Solutions for Server-side architecture
2.6- J2EE

Chapter 3- Middleware services in J2EE
3.1- RMI (Remote Method Invocation)
3.2- JNDI (Java Naming and Diretori Interface)
3.3- Enterprise Java Beans
3.3-1. Introduction and types
3.3-2. Session Beans
3.3-3. Entity Beans
3.4- Security in  EJB (using JBOSS)

Chapter 4- Client-Server CORBA Style
4.1- Distributed objects in CORBA
4.2- OMG's OMA (Object Management Architecture)
4.3- Corba 2.0
4.4- CORBA services
4.5- CORBA facilities

Chapter 5- CORBA and C++
5.1- IOR, references and proxies.
5.2- OMG IDL
5.3- Client Side
5.4- Server Side
5.5- Corba Services
5.5-1. Naming
5.5-2. Event
5.5-3. Balancer
5.5-4. IMR

Chapter 6- .NET
6.1- Introduction
6.2- Architecture
6.3- How to develop a basic application?

  
Bibliography
  
1) Mastering EJB and the Java 2 Enterprise Edition. Ed Roman.
2) Advanced CORBA Programming with C++. Michi Henning and Steve Vinoski.
3) Microsoft .NET Remoting. Scott McLean and James Naftel and Kim Williams.