March 11, 1999. University of Berne. Original
The CHOOSE Forum presents the state of the art of object-oriented
software architecture to CHOOSE members and friends. Five renowned
practitioners present different topics of software architecture,
providing you with theory, experiences, and illustrations of specific
systems. Next to its technical contents, the CHOOSE Forum provides
space for informal communication and discussions.
(program/conference chair; email@example.com, where you replace nospam
Jean-Guy Schneider and Oscar Nierstrasz
(local arrangements; firstname.lastname@example.org, where you replace nospam
with schneidr or oscar)
With the help of the CHOOSE Board, Isabelle Huber, and Annemarie
Component Models for Software Architecture
Clemens Szyperski, Microsoft Research.
Components are a key aspect of large-scale object-oriented
software architecture, yet components are different from objects.
This talk presents current industry and research component models,
how they are used to form a software architecture, and how they
are used to build systems.
Dr. Clemens Szyperski is an active researcher in the area of
component software and software architecture. He works at Microsoft
Research and is affiliated with Queensland University of Technology.
He is the author of the best-selling book "Component Software:
Beyond Object-Oriented Programming", published by Addison-Wesley.
Design Patterns, Frameworks, and Components:
A Practical Foundation for Object-Oriented Software Architecture
pdf, local pdf.
André Weinand, Object Technology International, Inc.
Programming with objects and components is complex! Much of
object-oriented design is about division of responsibilities and
the specification of collaborations between objects. But finding
these collaborations is still more an art than a science. Successful
systems are not so much based on strong theory but on good examples
of working designs and a lot of experience. Design patterns and
frameworks are two examples for how to reuse proven designs and
implementations on recurring problems. Component architectures
try to address additional packaging, deployment, and interoperability
The talk presents the advanced ingredients of object-oriented
software architecture, in particular frameworks and how they relate
to component technology. In order to keep the presentation highly
practical and to "reuse proven past experience", most
of the concepts are demonstrated with examples from some of the
author's recent Java-based framework developments.
Dr. André Weinand is a system architect at the Zurich
Development Lab of Object Technology International, Inc. He has
been an object-oriented developer, consultant, and architect for
more than a decade, working on a wide variety of projects, large
and small. Prior to joining OTI he designed and implemented the
component architecture of "People, Places, and Things,"
Taligent's task centered user interface metaphor. Dr. Weinand
was previously at UBILAB, the research laboratory of UBS. He is
one of the principal designers and implementors of ET++, the first
portable C++ class library and application framework.
A Desktop for Cooperative Work:
Object-Oriented Experiences from a Large Banking Project
Handouts: CHOOSE-site pdf, local pdf.
Daniel Megert, UBS AG.
The Corporate Banking Business Area of UBS recently decided
that a new workplace system was to be built for about 2000 users.
This was to support their cooperative work processes in the area
of credit risk management and loan administration. We present
our solution to some of the major challenges of this project.
Among these challenges are: the seamless mainframe integration
into a pure object-oriented client/server environment and the
flexible support of workflows without compromising the integrity
and security of business objects. We discuss the project's implications
on its organization and development process.
Daniel Megert holds the Dipl.-Inform. computer science degree
issued by the Swiss Federal Institute of Technology (ETH), Zurich.
He works as lead software architect in the IT Business Area of
the Private and Corporate Clients Division of UBS. His interests
include object technology, software architectures, frameworks,
software patterns and the Smalltalk programming language.
Components Need Software Bus Middleware
pdf, local pdf.
Silvano Maffeis, SoftWired AG.
Information systems ought to be scalable, extensible, and highly
available. Scalable means that the performance of the system can
be improved by adding new CPU- and storage-servers to the system.
Because information systems often provide mission critical services,
they cannot be shut down in order to extend their functionality.
This implies that such systems be extensible at run-time and able
to cope with partial failures.
A promising approach to the development of such flexible information
systems consists in designing them in the form of distributed
software components that exchange events via a software bus middleware.
In this talk I will define what a software bus is and explain
the functions and abstractions provided by this kind of middleware.
Also, I will compare the software bus model with better known
approaches, notably CORBA and RMI. I will dare to argue that software
buses are better suited to support distributed component systems
than CORBA and RMI.
As an example we will consider a financial data feed system
and a highly available client/server application. I will outline
how such systems can be implemented purely in Java, using a software
bus middleware such as the iBus.
Dr. Silvano Maffeis is Technology Vicepresident of Softwired
AG, a company specialized in distributed object systems and Java
middleware. His professional interests include research and development
of distributed object technology for flexible information systems.
He is the developer of the Electra Object Request Broker and of
the iBus Software Bus for Java. Silvano received a doctoral degree
in computer science from the University of Zurich and pursued
postdoctoral studies at Cornell University.
Organization and Architecture
pdf, local pdf, Cope's
webified and updated version.
James O. Coplien, Bell Labs.
In 1968, Mel Conway postulated that the structure of any information
system is isomorphic to the structure of the organization that
built it. Since then, we've been through several changes in technology
and design paradigms on the architecture side of software, and
through many management fads on the organizational side of software.
Has anything changed?
This talk looks at some of the important relationships between
software architecture and software development organization. The
talk is based in part on a career of anecdotal evidence, but it
draws most directly on seven years of empirical research in organization
structure. The talk addresses questions that loom important to
software development today. Is geographically distributed development
feasible? Does code ownership help or hurt? What is the architect's
role, and how should expertise be allocated to roles in development
organizations? If Conway's law holds absolute sway, what does
this portend for new design paradigms?
Jim Coplien is a Distinguished Member of Technical Staff at
Bell Laboratories, a Member Emeritus of the Hillside group, and
author of "Multiparadigm Design for C++." He is also
known for his work in organizational analysis and for other books
and articles on software patterns and C++.