| |
| Vorträge/Lectures |
|
Mittwoch, 29. September 1999
Wednesday, 29th September 1999
|
| Block 1
|
13.45 - 15.15 |
| |
|
1st
Symposium GCSE
|
| Track 1:
Aspects |
| 13.45
- 14.15 |
|
Using
Reflective Logic Programming to Describe Domain Knowledge
as an Aspect
Maja D'Hondt, Wolfgang
De Meuter, Roel Wuyts
System and Software Engineering
Laboratory
Programming Technology Laboratory
Brussels Free University
Pleinlaan 2, B-1050 Brussels,
Belgium
Maja D'Hondt
<mjdhondt@vub.ac.be>
Wolfgang De Meuter
<wdmeuter@vub.ac.be>
Roel Wuyts
<rwuyts@vub.ac.be>
Software applications, mostly
consisting of an algorithm applied to domain knowledge, are
hard to maintain and to reuse as a result of their hard coded
combination. We propose to follow the principles of aspect-oriented
programming, separating the domain from the algorithm and
describing them in a logic and conventional programming language
respectively. In this paper, we report on an experiment that
was conducted to validate this hypothesis, and to investigate
the requirements of a programming environment for this configuration.
An already existing environment that uses a logic meta-language
to reason about object-oriented systems, SOUL, is used as
a starting point for this experiment. The result is a working
implementation in SOUL, which validates our ideas, reveals
mechanisms that require more re- search, and points to other
features that should be included.
|
|
|
| 14.15
- 14.45 |
|
Aspect Weaving by Graph Rewriting
Uwe Assmann, Andreas Ludwig
Institut für Programmstrukturen
und Datenorganisation
Universität Karlsruhe
Postfach 6980, Zirkel 2, 76128
Karlsruhe, Germany
Uwe Aßmann <assmann@ipd.info.uni-karlsruhe.de>
Andreas Ludwig
<ludwig@ipd.info.uni-karlsruhe.de>
AOP (aspect-oriented programming)
allows to specify parts and behaviors of components using
different views, i.e. with aspects. These aspects can be specified
independently from each other and are combined to the final
form by a weaver tool. This composition process yields software
that is better readable (since specifications are modular)
and better reusable (since aspects can be re-combined).
However, up to now, AOP does
not have a formal background. This paper introduces GRS- based
AOP which explains a large subclass of weavers as graph rewrite
systems (GRS). Hence it has a formal background, inheriting
all features of graph rewrite systems such as criteria for
termination, confluence, and unique normal forms. In particular,
it is shown that different kinds of rewrite rules form different
weaver classes. At least two of them (EARS and XGRS weavers)
have simple semantics since they always yield unique weaving
results.
|
|
|
| 14.45
- 15.15 |
|
Aspects in Distributed Environments
E. Pulvermüller H. Klaeren A.
Speck
WilhelmSchickardInstitut für
Informatik
Universität Tübingen
72076 Tübingen, Germany
E. Pulvermüller <pulvermu@informatik.unituebingen.de>
H. Klaeren <klaeren@informatik.unituebingen.de>
A. Speck <speck@informatik.unituebingen.de>
We illustrate how to combine
CORBA as a distributed system with aspect-oriented programming
(AOP) and the resulting positive impacts. In particular, we
focus on the question how AOP can be applied to a CORBA application
aiming at a better separation of concerns.
The paper shows with implementation
examples a practical way to package the distribution issues
of a CORBA application into separated aspects (with AspectJ).
This supports the distributed application design and leads
to increased flexiblity.
|
|
| |
|
STJA
|
| Track 2:
Middleware |
| 13.45
- 14.15 |
|
Service Deployment in a Distributed
Processing Environment
Dr. Robert Hirschfeld
Windward Solutions, Inc.
395 West El Camino Real, 2nd
Floor
Sunnyvale, CA 94087 USA
http://www.windwardsolutions.com
Dr. J.Eastman <jeff@windwardsolutions.com>
Dr. R. Hirschfeld <hirschfeld@acm.org>
This paper has described a formal
approach to the design and deployment of distributed services
that is based upon OMG and TINA-C standards. A real world
example is also presented to motivate a discussion of the
issues relating to packaging and the lifecycle of such services.
Finally, these ideas have been implemented in a working distributed
processing environment that has been used to actually deploy
services of this complexity, and this paper also describes
the internal organization supported by that tool.
|
|
|
| 14.15
- 14.45 |
|
Leichtgewichtige verteilte
Werkzeuge für die Spezifikation und Analyse von Software-Architekturbeschreibungen
Michael Goedicke, Kai König,
Torsten Meyer
Universität-Gesamthochschule
Essen
FB 6 (Mathematik und Informatik),
Spezifikation von Softwaresystemen
D-45117 Essen, Germany
www.informatik.uni-essen.de
Michael Goedicke <goedicke@informatik.uni-essen.de>
Kai König <kkoenig@informatik.uni-essen.de>
Torsten Meyer <tmeyer@informatik.uni-essen.de>
In diesem Beitrag stellen wir
eine leichtgewichtige Tool-Umgebung auf der Basis von Java
vor, um die Entwicklung verteilter Software-Architekturen
über das WWW zu unterstützen. Unser Ansatz setzt einen stark
verteilten Software-Erstellungsprozeß durch eine Vielzahl
kollaborierender Agenten voraus und deckt Architektur-Erstellung
und -Analyse bis zur Implementations-Generierung und dynamischer
Anpassung an evolutionäre Änderungen ab. Einzelne Entwickler
werden mit einem lokalen leichtgewichtigen Client zum Editieren
einer Architektur-Spezifikation ausgestattet und es existiert
eine Server-Infrastruktur, die Dienste zur Analyse der entwickelten
Komponenten und Architekturbeschreibungen bereitstellt. Den
Schwerpunkt dieses Beitrages bildet die Architektur der verteilten
Tool-Umgebung mit Hilfe von Java RMI und CORBA sowie eine
detailliertere Betrachtung des in Java implementierten Clients.
|
|
|
| 14.45
- 15.15 |
|
Architektur-Entwurfsmuster
für die Realisierung verteilter Anwendungen mit Java
und Corba
Tilo Sauer
IBL Ingenieurbüro Letters GmbH
Max-Lang-Straße 24
70771 Leinfelden, Germany
www.ibl.de
Dieser Vortrag berichtet über
verschiedene Architektur-Entwurfsmuster für die Rea-lisierung
von verteilten Anwendungen mit Java und CORBA. Zentraler Bestandteil
der vollständig in Java realisierten Anwendungen ist eine
verteilte Architektur mit mehreren Objektservern und Thin-Clients
unter Verwendung eines CORBA ORBs sowie relationaler Datenbanksysteme
zur persistenten Datenspeicherung.
Es werden im Vortrag die Gründe
für die Wahl der Architektur und das Architektur-design dargestellt.
Hierbei wird auf die verwendeten Frameworks und Bibliotheken
sowie die Erfahrungen mit diesen eingegangen. Auch wird herausgearbeitet,
an welchen Stellen Eigenentwicklungen notwendig wurden, weil
keine adäquaten Produkte am Markt verfügbar waren.
Die während der Realisierung auftretenden
Schwierigkeiten sowie die gewählten Lösungen schließen sich
an. Hierzu gehören insbesondere die Auswirkungen der Hochskalierung
bei der Inbetriebnahme des Systems. Stellvertretend hierfür
sei das Lastverhalten beim Einsatz von Objektservern genannt
und wie durch Einführung von Scheduling-Mechanismen eine optimale
Lastverteilung für die verschiedenen Anwendungsbereiche erreicht
werden kann.
Ein weiterer Punkt ist die Deadlock-Problematik,
die in Zusammenhang mit der Synchronisierung von Client-Requests
auftreten können. Hierzu wird das Zusammenspiel zwischen Objekt-Server
und Datenbank-Server bei der gleichzeitigen Ab-arbeitung mehrerer
Client-Requests erläutert und die notwendigen Maßnahmen für
einen echten parallelen Betrieb vorgestellt. Desweiteren wird
auf die Behandlung von Ausnahmen in verteilten Systemen mittels
eines Exception-Service eingegangen.
|
|
| |
|
Track 3: Frameworks und Entwurfsmuster
/ Frameworks and model-project
|
| 13.45
- 14.15 |
|
e-Commerce Framwork für
dynamische Geschäftsprozesse
Ulrike Mueller
INTERSHOP
Communications GmbH
Leutragraben 2-4
D-07743 Jena, Germany
www.intershop.de
Waren e-Commerce Systeme in der
Vergangenheit nur Läden, die im Internet Waren feil geboten
haben, so werden sie sich in der Zukunft zu komplexen Transaktions-systemen
entwickeln, die unterschiedlichste Firmen mit integrierten
Geschäftsprozeßen vernetzen. Die kundenspezifische und schnelle
Anpassung von Geschäftsprozeßen ist dabei eine wichtige Grundvoraussetzung,
damit elektronische Geschäftsbeziehungen den vielfältigen
und individuellen realen Geschäftsbeziehungen folgen.
Der Vortrag zeigt, wie ein modernes
e-Commerce System mit Hilfe von standardisierten Komponententechnologien
aufgebaut werden kann und wie sich Geschäftsprozesse durch
wiederverwendbare Teilschritte konfigurieren lassen. Moderne
Komponententechnologien, wie z.B. Java Enterprise Beans, eine
flexible Applikationsarchitektur und die grafische Konfigurierbarkeit
von Geschäfts-prozessen aus vorhandenen oder selbst definierten
Teilschritten erlaubt die Anpassung von Applikationslogik
auf einer Ebene, die von zugrundeliegenden Technologien abstrahiert
und auf den Geschäftsprozess fokusiert.
An einem Beispiel wird u.a. die
Integration eines Waren-wirtschafts-systems in die Auftragsabwicklung
eines e-Commerce Systems demonstriert.
|
|
|
| 14.15
- 14.45 |
|
SanFrancisco 1.4 and the future
with EJB
Frank Schäckermann
IBM Frankfurt, Germany
Tel. +49-69/6645-2430
Fax +49-69/6645-3845
IBM SanFrancisco 1.4 and the
future with EJB
what is IBM SanFrancisco (short,
general overview)
what is new in release 1.4 (functions
and performance)
adoption of and migration to
the EJB standard
|
|
|
| 14.45
- 15.15 |
|
ULC - Eine Client/Server-Architektur
für dünne Java und Smalltalk Klienten
Erich Gamma
Object Technology International
Zuerich, Switzerland
Client/Server-Architekturen mit
fetten Klienten stossen aufgrund ihrer mangelnden Flexibilitaet
und den Problemen im Unterhalt vermehrt an ihre Grenzen. Immer
mehr hoert man deshalb den Wunsch nach einer Architektur mit
duennen Klienten. Das Ultra Light Weight Client (ULC) System
ist eine Infrastrukturkomponente, mit der sich eine solche
Architektur realisieren laesst. Bei ULC wird auf dem Arbeitsplatz
ausschliesslich Praesentationslogik durch eine sogenannte
"User Interface Engine" (UIEngine) ausgefuehrt. Diese UIEngine
ist in Java implementiert. ULC sorgt dabei dafuer, dass die
Kommunikation zwischen der UIEngine und damit die Verteilung
der Praesentationslogik fuer den Entwickler weitgehend transparent
erfolgt. Ein wichtiges Ziel bei der Konzeption von ULC war
die Skalierbarkeit im Hinblick auf Netzwerkverbindungen mit
geringer Bandbreite und hoher Latenz. In diesem Vortrag wird
die ULC Architektur vorgestellt und demonstriert.
|
|
| |
| Track 4:
Datenbanksysteme und Java (Applikationsserver) I/ Databank systems
and Java (Applicationserver) I |
| 13.45
- 14.15 |
|
Praktischer Einsatz von Applikations-Servern
Dr. Jörg Hettel
Hänchen & Partner
Beratungsgesellschaft für Wirtschaftsinformatik
mbH
Calwer Straße 1
D-71034 Böblingen, Germany
GUI-Komponenten, über Threads
bis hin zu Interprozesskommunikationsmechanismen alles mit
in die Sprachdefinition aufgenommen ist. Darüber hinaus gibt
es eine Anzahl von standardisier-ten Spracherweiterungen (Servlets,
JSP, JNDI, JMS, etc.). Neben einer ausgereiften und lei-stungsstarken
Komponenten-Architektur für den "in-process"-Bereich, den
JavaBeans, existiert mit der Einführung der Enterprise JavaBeans
jetzt auch eine Komponenten-Architektur für den "out-of-process"
Bereich. JavaBeans finden ihre Anwendungen meist im Bereich
der grafischen Benutzeroberflächen, die aus Komponenten zusammengesetzt
sind. Die Enterprise JavaBeans Spezifikation definiert Komponenten,
die bei mehrschichtigen Architekturen auf dem Server ablaufen
und sowohl den Workflow als auch den Zugriff auf persistente
Daten kapseln. Für den Einsatz in Anwendungen sind die EJBs
aber in der heutigen Form sicherlich noch nicht uneingeschränkt
einsatzfähig.
Eine neue Generation von TP-Systemen,
die sogenannten Applikations-Server, bauen auf diesen Standards
auf. Die Verwendung einer solchen Laufzeitumgebung entlastet
den Entwickler von technischen Details, wie z.B. das Mapping
auf relationale Datenbanken oder das explizite Transaktionshandling
bzw. die Synchronisation mit der Datenbank. Der Entwickler
kann sich wieder auf die Abbildung der fachlichen Prozesse
konzentrieren, indem er selbst EJBs entwickelt oder aus vorhandenen
Komponenten eine Anwendung zusammenstellt.
Selten kann man bei der Entwicklung
einer Anwendung auf der "grünen Wiese" aufsetzen. Meist müssen
Bestandsanwendungen, die üblicherweise nicht in Java realisiert
sind, mit in die neue Anwendung integriert werden. CORBA bietet
die Möglichkeit, heterogene IT-Landschaften zu integrieren.
Applikations-Server beinhalten meist eine CORBA-Implementierung
und stellen somit eine entsprechende Laufzeitumgebung zur
Verfügung, die es erlaubt, die Konzepte von Java und CORBA
transparent zu nutzen. Bei all der Euphorie, die zur Zeit
zu beobachten ist, sollte man jedoch nicht vergessen, dass
die Applikations-Server noch eine recht junge Technologie
sind und dass die Standards, worauf sie basieren, zum Teil
noch nicht ausgereift sind. Obwohl die realisierten Konzepte
gut verstanden und in einigen Produkten schon eingesetzt
wurden, benötigen die Applikations-Server sicherlich noch
Reifezeit bis sie in wirklich unternehmens- und transaktionskritischen
Anwendungen eingesetzt werden können.
Zu bemerken bleibt noch, dass
der Entwickler trotz Einsatz von Applikations-Servern weiterhin
für die Konsistenz, Performance und Skalierbarkeit der entwickelten
Anwendung selbst verantwortlich ist. Applikations-Server bieten
lediglich notwendige Konzepte hierfür, die sorgfältig studiert
werden müssen, damit sie auch in effizienter Weise genutzt
werden können.
|
|
|
| 14.15
- 14.45 |
|
Unternehmensweite Java-Anwendungsentwicklung
mit der Oracle Internet Plattform
Kersten Mebus
Oracle Deutschland GmbH
Hanauer Straße 87
D - 80993 München, Germany
www.oracle.de
Der Datenbankserver Oracle8i
und der Oracle Applikationsserver bilden zusammen das Herzstück
der Oracle Internet Plattfrom, um Internet Computing durchführen
zu können. Für die Speicherung und Ausführung von Java-Code
in Oracle8i wurde eine eigene Java Virtual Machine, rein nach
der "100% Pure Java" Initiative von SUN, in die Datenbank
integriert. Der Oracle Applikationsserver bietet eine komplette
Infrastruktur für die Entwicklung, den Einsatz und die Administration
von verteilten, plattformunabhängigen Java-Anwendungen. Dieser
Vortrag gibt einen kurzen technischen Einblick über die Möglichkeiten
der Java-Anwendungsentwicklung mit der Oracle Internet Plattform.
|
|
|
| 14.45
- 15.15 |
|
GRIT Connect
Dr. Uwe Klapproth
GFT Systems GmbH
Ehrenbergstraße 11
D-98693 Ilmenau, Germany
Tel.: 03677 64 29 0; Fax: 03677
64 29 11
http://www.gft-systems.de
email: Uwe.Klapproth@gft-systems.de
GRIT Connect beseitigt den "Impedance
Mismatch" zwischen Objekttechnologie und relationalen Datenbanken.
Die Klassenbibliothek und Werkzeuge unterstützen die objektorientierte
Entwicklung von Multi-Tier-Anwendungen mit Zugriff auf bestehende
relationale Datenbanken. Der Entwickler einer solchen Applikation
kann sich vorrangig mit der Objektmodellierung des Problems
auseinandersetzen, unabhängig von existierenden Datenstrukturen.
Eine überschaubare Anzahl von Methoden der Klassenbibliothek
und die aus dem Objektmodell generierten Zugriffsmethoden
gestatten eine effektive Softwareentwicklung, bei der die
entwickelte Applikation robust gegenüber Änderungen des Datenmodells
ist. .
|
|
|