[.] DejaVU Online: -- The OO Lectures
[.] - [up] [top] - [I] [II] [III] [IV] - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] - [A] [R]

Distributed Object Patterns


Distributed Object Patterns

See CORBA Design Patterns
slide: Distributed Object Patterns


Corba Design Patterns

    scale


  • Objects/Classes
  • MicroArchitectures
  • Framework

    (class hierarchies)


  • Applications

    (wrappers)


  • System

    (horizontal, vertical, metadata)


  • Enterprise

    reference models, infrastructure, policies)


  • Intra/Internet

    (standards)



slide: Scale ...


Object-Oriented Architectures

  • Application Design Patterns
  • System Design Patterns
  • Enterprise Design Patterns
  • Global Design Patterns

CORBA IDL as a baseis for interface definitions
slide: Object-Oriented Architectures



slide: Template Design Pattern


Template Design Pattern

  • Pattern Name
  • Most applicable scale
  • Solution type
  • Intent
  • Diagram
  • Referemces
  • Applicability
  • Benefits and consequences
  • Variations
  • Rescaling to other levels
  • Related solutions
  • Example
  • Background
  • Resources

slide: Template Design Pattern


Is there competition for patterns?

  • standards -- too many, no guidelines, poorly supported

Criteria

  • interoperability
  • portablity

slide: Distributed Object Patterns


CORBA

  • is a commercial standard from OMG, whose mission it is to define interfaces for interoperable software using object-oriented technology

Object Management Architecture

  • high level infra-structure for distributed computing
  • reusable modular software
  • distributed heterogeneous systems

Key reasons for CORBA in the future

  • IDL -- universal notation for software interfaces
  • ORB -- infra-structure simplifies distributed computing

slide: CORBA ...



slide: Software Architecture


Architectures and Boundaries

  • surprisingly little detail is included in OOAD models
  • interfaces are treated as coding details, to be fleshed out at the programming level
  • architecture -- abstraction, management of change, complexity
  • interfaces -- language independent
  • implementation -- software modules

software problems are due to poor definitions and transfer of software boundaries


slide: Architectures and Boundaries



slide: The Problem



slide: The Solution


architecture = set of rules, guidelines, interface conventions


The architect defines a robust set of abstractions that manage complexity, change and other forces

  • issues of software partitioning

    logical separation


  • flow of control
  • flow of information
  • timing and throughput
  • interface layering
  • hardware/software allocation
  • error handling

    frequently overlooked



slide: Architecture


In a distributed system, the lack of a single address space and the need for independent reusable services are addressed by having a service-based architecture


slide: Service-based Architecture



... mandating a single type system for all applications is unrealistic ...


slide: Stable Interfaces


Design Pattern Language

Primal Forces

    risk is the universal force


  • Functionality -- to meet end users requirements
  • Performance -- computation/network bound
  • complexity -- hotspots, redesign, abstraction
  • Change -- adaptability ...
  • IT Resources -- hardware / software
  • Technology Transfer -- education has a price tag

slide: Design Pattern Language


Application Design Patterns

  • maximizing parallelism -- distributed callback, partial processing, independent objects
  • improving object implementations -- dynamic attributes, instance reference, object wrapper, lock
  • modifying client stubs and other tricks -- library skeleton, fine-grained framework

System Design patterns

  • Principles of object-oriented architectures

    horizontal, vertical, meta-data


    ---architecture mining
  • fundamental structural patterns -- repository architecture, gateway
  • advanced system design -- architecture enforcement, replication, agaents
  • Using OMG CORBA Services -- naming, trader, notification

Enterprise Design Patterns

  • organisational infra structure


Global Design Patterns

  • open systems/Int(e)r(a)net



slide: The Patterns


[.] - [up] [top] - [I] [II] [III] [IV] - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] - [A] [R]
Stable/Reusable Interfaces Changeable Specifications
Data/Interface Partitioning IDL Interfaces Data & Meta Data
Interface Specialization Horizontal Interfaces Vertical Interfaces
Hush Online Technology
hush@cs.vu.nl
02/15/00