Objects versus Components

slide: ...



slide: Definitions


  • unit of instantiation
  • (persistent) state
  • encapsulation of state and behavior

slide: Definitions

 [Szyperski97]: component-oriented approach, to deliver reusable "off-the-shelf" components for a composing large applications.

Beyond Object-Orientation?

slide: Off-the-shelf ...

A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.

Component Myths

slide: Definition

  • How to describe the interaction between components?
  • How to manage variety and flexibility?
  • How to guarantee critical system-wide properties?
Component Questions

slide: Component Questions

distribution mobility language platform
COM - - * -
DCOM + - * +/-
CORBA + - * *
Java/Beans - classes Java *
Voyager + objects Java *
The technology matrix

slide: The technology matrix

The Component War is as yet undecided!

The Java Platform?

slide: The Component War