Distributed Computing Using CORBA and C++
Introduction
After the Web, there was Napster. More than just a momentary way to evade
copyright regulations, Napster is just one example of a new breed of
applications: programs that eliminate the distinction between client and
server and enable direct communication between all participants in the
system. This style of peer-to-peer communication is the next revolution
for the Internet. It also brings to the forefront a new style of
programming: distributed computing. While distributed computing has been
the focus of research for many years it is has had very little impact on
off-the-shelf software. However, we have reached the point where
distributed computing has the potential to bring together the isolated
components and services which currently exist on our intranets and
internets, and create from them a seamless network-wide computing
environment.
The premier architecture for developing heterogeneous distributed systems
is CORBA. CORBA is a set of widely implemented open industry standards that
provide the basic tools for building distributed systems that are
cross-platform and cross-language. This course is designed to give you
the basic knowledge and skills required for building CORBA-based
applications in C++.
COURSE OUTLINE
Introduction
Slide-01.html Distributed Applications Using CORBA & C++
Demonstration of CORBA-based Application
Slide-02.html The Sample Application
Slide-03.html The Demo
Architectural Analysis of Application
Slide-04.html Auction Requirements
Slide-05.html System Decomposition
Slide-06.html Application Bootstrapping
Slide-07.html Introducing CORBA...
Interface Definition Language (IDL)
Slide-08.html The Interface Definition Language
Slide-09.html The Development Process
Slide-10.html The Auction System
Slide-11.html Domain Objects - User
Slide-12.html Domain Objects - User
Slide-13.html Domain Objects - Item
Slide-14.html IDL Inheritance
Slide-15.html IDL Exceptions
Slide-16.html Structured Data Types
Slide-17.html Aggregate Data Types
Slide-18.html Basic IDL Types
Slide-19.html Basic IDL Types (cont)
Slide-20.html Modules
Slide-21.html Other IDL Features
Slide-22.html Object Interaction Diagram
The C++ Language Mapping
Slide-23.html Programming & CORBA
Slide-24.html Language Mapping for Interfaces
Slide-25.html Language Mapping for Interfaces (cont)
Slide-26.html Language Mapping for Structs
Slide-27.html Language Mapping for Unions
Slide-28.html Language Mapping for Exceptions
Slide-29.html Language Mapping for Sequences
Slide-29a.html Language Mapping for Arrays
Slide-30.html Language Mapping for Modules
Slide-31.html Language Mapping for Primitive Types
Using CORBA in C++
Slide-32.html Using CORBA
Slide-33.html Using CORBA As A Client
Slide-34.html Using CORBA To Implement Objects
Slide-35.html Object Implementations And Object Adapters
Slide-36.html Sample Object Invocation
Slide-36a.html Parameter Passing Rules
Slide-36b.html Parameter Passing
Slide-36c.html Object Reference Counting
Slide-36d.html _var Classes
Slide-36e.html Object Reference Parameters
Slide-36f.html String Parameters
CORBA Architecture
Slide-37.html The CORBA Architecture
Slide-38.html What is CORBA?
Slide-39.html What does CORBA/IIOP standardize?
Slide-40.html Additional Standards
Slide-41.html Other Parts of the Core Specification
Slide-42.html What is IIOP?
Slide-43.html More IIOP Features
Slide-44.html IOR
Slide-45.html IORs (cont)
Slide-46.html Interoperable Naming Service
Implementing CORBA Objects in C++
Slide-47.html Object Adapters
Slide-48.html Object Adapters (cont)
Slide-49.html OA Technology
Slide-50.html Object Activation
Slide-51.html Object Activation (cont)
Slide-52.html The POA
Slide-53.html The POA (Cont)
Scaling Architectures and the POA
Slide-54.html POA Policies
Slide-55.html Service Objects
Slide-56.html Persistent Fine Grain Objects
Slide-56a.html Fine Grain Policies
Slide-56b.html Servant Activator
Slide-56c.html BidServantManager incarnate()
Slide-56d.html incarnate() (cont)
Slide-56e.html BidServantActivator etherealize()
Slide-57.html POA Invocation Detail
Slide-57a.html Lightweight Proxy Objects
Slide-57b.html Objects with No State
Slide-57c.html Default Servant
Slide-57d.html More POA Capabilities
Other Choices
Slide-58.html Wrapping Up
Slide-59.html Why Do You Care About CORBA?
Slide-60.html Common Areas of Application
Slide-61.html Remote Method Invocation
Slide-62.html Enterprise Java Beans
Slide-63.html Component Object Model +
Slide-63a.html Simple Object Access Protocol
Slide-64.html Fin