IBM’s San Francisco Project


Rückblick: IBMs „San Francisco Project“ – Ein ambitionierter Vorreiter aus den späten 90ern

Ende der 1990er Jahre, in einer Zeit des technologischen Aufbruchs rund um Java und komponentenbasierte Softwareentwicklung, startete IBM ein bemerkenswertes Experiment: das San Francisco Project. Heute fast in Vergessenheit geraten, war dieses Projekt ein früher Versuch, die Welt der Unternehmenssoftware durch wiederverwendbare Java-Komponenten grundlegend zu verändern.

Das Ziel war visionär: Standardisierte, anpassbare Business-Komponenten, die Entwicklern helfen sollten, schneller und effizienter komplexe Unternehmensanwendungen zu bauen – nicht durch Monolithen, sondern durch modulare Bausteine.

Das Projekt gliederte sich in drei zentrale Komponentenebenen:

  1. Kernprozesse – Module für grundlegende Geschäftslogik wie Bestellabwicklung oder Rechnungsstellung.
  2. Branchenübergreifende Komponenten – z.B. Kunden- oder Produktverwaltung, die in verschiedenen Industrien eingesetzt werden konnten.
  3. Branchenspezifische Erweiterungen – maßgeschneiderte Komponenten für einzelne Industrien, etwa den Einzelhandel oder das Finanzwesen.

IBM bot diese Komponenten nicht als fertige Anwendungen, sondern als erweiterbare Frameworks an, die Entwickler an ihre spezifischen Geschäftsbedürfnisse anpassen konnten – ein Vorgriff auf vieles, was moderne Plattformen heute bieten.

Obwohl das Projekt um die Jahrtausendwende eingestellt wurde, bleibt es ein faszinierender Meilenstein in der Geschichte der Softwarearchitektur. Es war ein mutiger Schritt in Richtung Wiederverwendbarkeit und Plattformdenken, lange bevor Begriffe wie „Microservices“ oder „Composable Architecture“ zum Standard wurden.

👉 Neugierig geworden? Der Originalartikel bei Dr. Dobb’s Journal bietet tiefe Einblicke in die damalige Denkweise und die technischen Konzepte hinter dem San Francisco Project:

IBM’s San Francisco Project | Dr Dobb’s

IBM Business Frameworks: San Francisco project technical overview [Technical forum] | IBM Journals & Magazine | IEEE Xplore

Sure! Here’s the English version of the blog post:


A Look Back: IBM’s San Francisco Project – A Bold Experiment from the Late ’90s

In the late 1990s, during a time of rapid innovation around Java and component-based software development, IBM launched an ambitious initiative: the San Francisco Project. Though largely forgotten today, this project was a pioneering attempt to revolutionize enterprise software with reusable Java components.

The vision was ahead of its time: standardized, customizable business components that developers could use to build complex enterprise applications faster and more efficiently—not by starting from scratch, but by assembling modular building blocks.

The San Francisco Project was structured into three key layers:

  1. Core Business Processes – Modules handling fundamental logic such as order processing and invoicing.
  2. Cross-Industry Components – Generic functionality like customer or product management, usable across different sectors.
  3. Industry-Specific Extensions – Tailored components designed for particular industries like retail or finance.

Rather than delivering these as fully built applications, IBM offered them as extendable frameworks—meant to be customized and adapted to each organization’s needs. In many ways, it foreshadowed the platform thinking and modularity that modern software architectures embrace today.

Although the project was eventually discontinued around the turn of the millennium, it remains a fascinating milestone in the evolution of software architecture. It represents an early move toward reuse and composability—long before “microservices” or “composable architecture” entered the mainstream.

👉 Curious to learn more? The original Dr. Dobb’s Journal article offers a deep dive into the ideas and technical concepts behind the San Francisco Project:
IBM’s San Francisco Project at Dr. Dobb’s


A Short Summary of the Last Decades of Data Management

Data systems have come a long way from the monolithic vendor hell of the 90s. Data is no longer held hostage with arbitrary licensing models. Open Source engines, open data formats, and huge cloud computing resources have fundamentally changed how we think about data. In the same time, a large variety of specialized systems have popped up, from systems supporting semi-structured data to the hottest and latest vector databases.

Download slides and read the full abstract here: https://gotoams.nl/2024/sessions/3118

Conway’s Law. What it is, How it Works, Examples.

The structure of a system is determined by the communication patterns of the people who design it

Conway’s Law. What it is, How it Works, Examples. (learningloop.io)

“Organizations which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.”

„Organisationen, die Systeme entwerfen, […] sind gezwungen, Entwürfe zu erstellen, die die Kommunikationsstrukturen dieser Organisationen abbilden.“

Gesetz von Conway – Wikipedia

Conway’s Law. What it is, How it Works, Examples. (learningloop.io)

Harvard University – Introduction to Computer Science

Dies ist CS50, die Einführung der Harvard University in die intellektuellen Unternehmungen der Informatik und die Kunst des Programmierens, sowohl für Studenten mit als auch ohne Vorkenntnisse. (Zwei Drittel der CS50-Studenten haben noch nie an einem CS-Kurs teilgenommen.) In diesem Kurs lernen Sie, wie man Probleme löst, sowohl mit als auch ohne Code, wobei der Schwerpunkt auf Korrektheit, Design und Stil liegt. Zu den Themen gehören computergestütztes Denken, Abstraktion, Algorithmen, Datenstrukturen und Computerwissenschaft im Allgemeinen. Problemstellungen aus der Kunst, den Geistes- und Sozialwissenschaften und den Naturwissenschaften. In diesem Kurs lernen Sie nicht nur, wie man in einer Sprache programmiert, sondern auch, wie man grundlegend programmiert und wie man sich neue Sprachen aneignet. Der Kurs beginnt mit der traditionellen, aber allgegenwärtigen Sprache C, die den heutigen neueren Sprachen zugrunde liegt. Hier lernen Sie nicht nur etwas über Funktionen, Variablen, Bedingungen, Schleifen und mehr, sondern auch darüber, wie Computer unter der Haube funktionieren, mit Speicher und allem, was dazu gehört. Der Kurs geht dann zu Python über, einer höheren Sprache, die Sie aufgrund von C noch besser verstehen werden. Gegen Ende des Semesters führt der Kurs in SQL ein, mit dem Sie Daten in Datenbanken speichern können, sowie in HTML, CSS und JavaScript, mit denen Sie sowohl Web- als auch mobile Anwendungen erstellen können. Der Kurs gipfelt in einem Abschlussprojekt.

Dies ist CS50, die Einführung der Harvard University in die intellektuellen Unternehmungen der Informatik und die Kunst des Programmierens, sowohl für Studenten mit als auch ohne Vorkenntnisse. (Zwei Drittel der CS50-Studenten haben noch nie an einem CS-Kurs teilgenommen.) In diesem Kurs lernen Sie, wie man Probleme löst, sowohl mit als auch ohne Code, wobei der Schwerpunkt auf Korrektheit, Design und Stil liegt. Zu den Themen gehören computergestütztes Denken, Abstraktion, Algorithmen, Datenstrukturen und Computerwissenschaft im Allgemeinen. Problemstellungen aus der Kunst, den Geistes- und Sozialwissenschaften und den Naturwissenschaften. In diesem Kurs lernen Sie nicht nur, wie man in einer Sprache programmiert, sondern auch, wie man grundlegend programmiert und wie man sich neue Sprachen aneignet. Der Kurs beginnt mit der traditionellen, aber allgegenwärtigen Sprache C, die den heutigen neueren Sprachen zugrunde liegt. Hier lernen Sie nicht nur etwas über Funktionen, Variablen, Bedingungen, Schleifen und mehr, sondern auch darüber, wie Computer unter der Haube funktionieren, mit Speicher und allem, was dazu gehört. Der Kurs geht dann zu Python über, einer höheren Sprache, die Sie aufgrund von C noch besser verstehen werden. Gegen Ende des Semesters führt der Kurs in SQL ein, mit dem Sie Daten in Datenbanken speichern können, sowie in HTML, CSS und JavaScript, mit denen Sie sowohl Web- als auch mobile Anwendungen erstellen können. Der Kurs gipfelt in einem Abschlussprojekt

CS50x 2024 (harvard.edu)