Home - Programm - Tutorials - Produktvorträge - Ausstellung - Pressemitteilung
Home - Program - Tutorials - Product Presentation - Exhibition - Press report
 
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

Wilhelm­Schickard­Institut für Informatik
Universität Tübingen
72076 Tübingen, Germany
E. Pulvermüller <pulvermu@informatik.uni­tuebingen.de>
H. Klaeren <klaeren@informatik.uni­tuebingen.de>
A. Speck <speck@informatik.uni­tuebingen.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. .