dc.contributor.author
Hartwich, Christoph
dc.date.accessioned
2018-06-07T18:11:34Z
dc.date.available
2004-02-22T00:00:00.649Z
dc.identifier.uri
https://refubium.fu-berlin.de/handle/fub188/4741
dc.identifier.uri
http://dx.doi.org/10.17169/refubium-8941
dc.description
Title Page and Contents
1. Introduction 1
2. Enterprise Applications from a Middleware Perspective 7
3. The Distributed Architecture of Multi-Tiered Enterprise Applications 15
4. Custom and Adaptable Process Topologies 41
5. The FPT Architecture 59
6. Proof-of-Concept Implementation 93
7. Evaluation 133
8. Conclusions 171
Bibliography 177
A Appendix A: Grammar of Configuration Files 187
B Appendix B: Source Code of Sample Transactions 189
C Appendix C: Hardware and Software Used in Performance Tests 193
D Appendix D: Anhang gemäß Promotionsordnung 195
dc.description.abstract
Enterprise applications are transactional, distributed multi-user applications
that are employed by organizations to control, support, and execute business
processes. Traditionally, data-intensive enterprise applications were built on
top of centralized transaction processing monitors. Nowadays, these TP
monitors are replaced by object-oriented multi-tier architectures. In this
thesis, we focus on two aspects of object-oriented, data-intensive enterprise
applications: distribution and data management.
We first define an architectural style for multi-tiered enterprise
applications. In addition to the tiered structure, the style focuses on an
application's process topology, which consists of distributed processes as
defined by the operating system, data stores, and client/server communication
relationships. Usually, the design of an adequate process topology for a
concrete application is the task of a software architect. Typically, a design
has to address a broad range of requirements, such as scalability,
performance, availability, security, the need to integrate existing
subsystems, or organizational and legal requirements. As a guide to the design
of process topologies, we present a catalogue of patterns (so called topology
patterns) that form a pattern language for our architectural style.
Traditionally, distribution of enterprise applications is considered a high-
level, architectural concern. Decisions on distribution have to be made at an
early design stage of a development project and are expensive to change later
on. Moreover, existing enterprise application middleware supports only a small
set of standard topologies well. However, we argue that demanding enterprise
applications require custom and adaptable process topologies:
* Custom topologies are needed to address application-specific requirements, e.g., those concerning replication, distributed data, caching, or integration of existing subsystems. Using simple standard topologies instead of custom topologies can significantly restrict the capabilities of demanding enterprise applications.
* During the life cycle of an enterprise application, requirements are likely to change. For example, an application has to serve an increasing number of concurrent users or has to provide more fault tolerance. A process topology should be adaptable, i.e., easy to adapt to changing requirements without having to re-design the application.
Unfortunately, such topologies are difficult to realize with existing
enterprise application middleware. We analyze the difficulties and identify
six key requirements for middleware to efficiently support custom and
adaptable process topologies. Among other things, it is essential to pairwise
decouple topology, application code, and data distribution scheme.
Furthermore, we present our Flexible Process Topology (FPT) architecture,
which realizes all these requirements. The architecture defines principles of
a middleware framework that enables custom and adaptable distributed process
topologies. The architecture relies on a network of object manager components
that collectively provide data management services to application code.
As a proof-of-concept, we present an exemplary implementation of a middleware
framework for enterprise applications that is based on the concepts of our FPT
architecture. The prototype demonstrates that, in typical cases, the
distributed structure of an enterprise application can be defined and adapted
through (re)configuration \- without affecting the implementation. This gives
developers more flexibility in constructing and customers more flexibility in
deploying their enterprise applications. The framework scales from simple two-
tier architectures to large-scale distributed structures with features like an
arbitrary number of tiers, distributed data stores, and replication of
application processes. Finally, we evaluate adaptability and performance of
our proof-of-concept implementation for several typical scenarios.
de
dc.description.abstract
Enterprise-Applikationen sind transaktionale, verteilte Mehrbenutzer-
Anwendungen, die von Organisationen zur Steuerung, Unterstützung und
Ausführung ihrer Geschäftsprozesse eingesetzt werden. Datenintensive
Enterprise-Applikationen wurden traditionell auf Basis von zentralisierten
Transaktionsmonitoren entwickelt. Heutzutage werden solche
Transaktionsmonitore durch objektorientierte Mehrschicht-Architekturen
abgelöst. In dieser Arbeit geht es primär um zwei Aspekte objektorientierter,
datenintensiver Enterprise-Applikationen: Verteilung und Datenverwaltung.
Zu Beginn wird ein Architekturstil für mehrschichtige Enterprise-Applikationen
definiert. Der Stil stellt nicht nur auf die Schichtenstruktur einer
Enterprise-Applikation ab, sondern auch auf ihre Prozesstopologie, welche aus
verteilten (Betriebsystem-)Prozessen, Datenspeichern und Client/Server
Kommunikationsbeziehungen besteht. Der Entwurf einer adäquaten
Prozesstopologie für eine konkrete Enterprise-Applikation ist in der Regel
Aufgabe eines Softwarearchitekten. Typischerweise hat ein solcher Entwurf
einer ganzen Reihe von Anforderungen zu berücksichtigen wie z.B.
Skalierbarkeit, Performanz, Verfügbarkeit, Sicherheit, die Integration
existierender Subsysteme sowie organisatorische und juristische
Rahmenbedingungen. Als Hilfe für den Entwurf von Prozesstopologien wird in der
Arbeit ein Katalog von Mustern (so genannte Topologie-Muster) vorgestellt, der
eine Muster-Sprache für den zuvor definierten Architekturstil darstellt.
Traditionell wird die Verteilung von Enterprise-Applikationen als
Architekturangelegenheit höchster Ebene betrachtet. Entscheidungen bezüglich
Verteilung werden möglichst im frühen Entwurfsstadium eines
Entwicklungsprojekts getroffen und können später oft nur mit hohem Aufwand
geändert werden. Darüber hinaus wird von existierender Middleware für
Enterprise-Applikationen nur eine kleine Menge von Standard-Topologien gut
unterstützt. In dieser Arbeit wird hingegen argumentiert, dass anspruchsvolle
Enterprise-Applikationen sowohl anwendungsspezifische als auch anpassbare
Prozesstopologien benötigen:
* Anwendungsspezifische Topologien werden benötigt, um die individuellen Anforderungen von Enterprise-Applikationen zu adressieren, z.B. bezüglich Replikation, Datenverteilung, Caching, oder der Integration existierender Subsysteme. Eine Beschränkung nur auf einfacher Standard-Topologien bedeutet eine wesentliche Einschränkung für anspruchsvolle Enterprise-Applikationen.
* Es ist wahrscheinlich, dass sich die Anforderungen an eine Enterprise-Applikation im Laufe ihres Lebenszyklus ändern. Beispielsweise kann erforderlich sein, dass eine Applikation eine stark steigende Anzahl gleichzeitig arbeitender Nutzer bedient oder einen höheren Grad an Fehlertoleranz bietet. Eine Prozesstopologie sollte deshalb anpassbar sein, d.h. einfach nachträglich zu ändern, ohne zugleich auch wesentliche Teile der Applikation neu entwerfen zu müssen.
Leider lassen sich anwendungsspezifische und anpassbare Topologien nur schwer
mit existierender Middleware realisieren. In der Arbeit werden diesbezügliche
Probleme analysiert und dann sechs grundlegende Anforderungen an Middleware
für effiziente Unterstützung von anwendungsspezifischen and anpassbaren
Prozesstopologien identifiziert. Unter anderem ist es essentiell, Topologie,
Anwendungscode und Datenverteilungsschema paarweise zu entkoppeln. Im nächsten
Schritt wird eine Middleware-Architektur, die Flexible Process Topology (FPT)
Architektur vorgeschlagen, welche alle zuvor identifizierten Anforderungen
umsetzt. Die Architektur definiert Grundzüge eines Middleware-Frameworks,
welches sowohl anwendungsspezifische als auch anpassbare Prozesstopologien
ermöglicht. Sie basiert auf einem Netzwerk von Objektmanager-Komponenten, die
kooperativ Datenverwaltungsdienste für Anwendungscode erbringen.
In der Arbeit wird exemplarisch die Implementierung eines Middleware-
Frameworks für Enterprise-Applikationen vorgestellt, welches auf den Konzepten
der FPT-Architektur basiert. Der Prototyp demonstriert, dass in typischen
Fällen die verteilte Struktur einer Enterprise-Applikation allein durch
(Re)Konfiguration definiert und angepasst werden kann - ohne dass dabei die
Implementierung geändert werden muss. Diese Eigenschaft gibt Entwicklern mehr
Flexibilität beim Entwickeln von Enterprise-Applikationen und Kunden mehr
Flexibilität beim Einsatz derselben. Das vorgestellte Framework skaliert von
einfachen Zweischicht-Architekturen bis hin zu großen verteilten Strukturen
mit beliebig vielen Schichten, verteilter Datenhaltung und Replikation von
Anwendungsprozessen. Zum Schluss wird die Anpassbarkeit und Performanz des
Prototyps anhand mehrerer Szenarien evaluiert.
de
dc.rights.uri
http://www.fu-berlin.de/sites/refubium/rechtliches/Nutzungsbedingungen
dc.subject
Software Architecture
dc.subject
Transaction Processing
dc.subject
Process Topology
dc.subject.ddc
500 Naturwissenschaften und Mathematik::510 Mathematik::510 Mathematik
dc.title
A Middleware Architecture for transactional, object-oriented applications
dc.contributor.firstReferee
Prof. Dr. Heinz Schweppe
dc.contributor.furtherReferee
Prof. Dr. Herbert Weber
dc.contributor.furtherReferee
Prof. Ph.D. Johann-Christoph Freytag
dc.date.accepted
2003-12-17
dc.date.embargoEnd
2004-03-29
dc.identifier.urn
urn:nbn:de:kobv:188-2004000406
dc.title.translated
Eine Middleware Architektur für transaktionale, objektorientierte Anwendungen
de
refubium.affiliation
Mathematik und Informatik
de
refubium.mycore.fudocsId
FUDISS_thesis_000000001473
refubium.mycore.transfer
http://www.diss.fu-berlin.de/2004/40/
refubium.mycore.derivateId
FUDISS_derivate_000000001473
dcterms.accessRights.dnb
free
dcterms.accessRights.openaire
open access