1999 CHOOSE Forum on Object-Oriented Software Architecture

Home - About » Community Service - CHOOSE
Computer Science
Research, Industry Work,
Programming
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
  
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

March 11, 1999. University of Berne. Original home-page.

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.

Dirk Riehle
(program/conference chair; nospam@acm.org, where you replace nospam with riehle)

Jean-Guy Schneider and Oscar Nierstrasz
(local arrangements; nospam@iam.unibe.ch, where you replace nospam with schneidr or oscar)

With the help of the CHOOSE Board, Isabelle Huber, and Annemarie Nicolet.


Component Models for Software Architecture

Book: Component Software.

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

Handouts: CHOOSE-site 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 issues.

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

Handouts: CHOOSE-site 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

Handouts: CHOOSE-site 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++.

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: http://www.riehle.org