SHARE
Facebook X Pinterest WhatsApp

IBM developerWorks: Introduction to Bonobo: Bonobo & ORBit

Written By
thumbnail
Web Webster
Web Webster
Sep 9, 2001

“Large-scale software is hard to write in a monolithic
fashion. Inevitably, designs are broken into subparts and layers to
make the software more manageable and tractable to parallel-team
development and debugging. Also inevitably, however, there are
problems at the interfaces: Often the interfaces are not well
specified, and often they are subject to change. Another problem is
that large applications tend to be split into modules that require
hard build-time linkage together, whether as separate source
modules or as libraries. Furthermore, large pieces of software have
often evolved into huge unwieldy beasts that become impossible to
maintain or extend.

Component software is one solution to this traditional problem.
Component software is not monolithic in the least; on the contrary,
it is minimalist. In Bonobo we use the OMG’s IDL (Interface
Definition Language) to codify the contract between components,
providing an easy-to-understand overview of a component’s external
obligations. Bonobo also allows out-of-process components. This
means that a huge piece of software can be pulled in as a component
or automated without any nightmarish symbol mismatches. At the same
time, it allows many bugs in a complex multi-component system to be
easily isolated to a certain component. Similarly, this
out-of-processes operation makes the stability of a multi-component
system a constant: that of the container, rather than scaling
linearly with the number of components (assuming that the container
can sensibly handle subcomponent failure).

Using Bonobo also solves one of the tricky problems in Free
Software that is also one of its strengths: diversity. Often in the
Free world (and in the non-Free world as well, for that matter),
people cease maintaining projects due to time pressure, and
replacements are rewritten from scratch. Or again, competing
projects, such as CD player applications, arise. Allowing these
applications to share the same Bonobo interfaces makes it easy to
provide functional replacements, and tracing the entry points
allows you to better understand an old application.”


Complete Story

thumbnail
Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Recommended for you...

5 Best Free and Open Source Text Expander Tools
webmaster
Jun 13, 2025
Grafito: Systemd Journal Log Viewer with a Beautiful Web UI
Bobby Borisov
Jun 12, 2025
FreeBSD Wants to Know a Few Things
brideoflinux
May 11, 2025
NVK enabled for Maxwell, Pascal, and Volta GPUs
Kara Bembridge
May 1, 2025
Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.