Entwurf und Prototypische Implementierung einer Data Mashup Plattform

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Prototypische Implementierung einer Data Mashup Plattform"

Transkript

1 Entwurf und Prototypische Implementierung einer Data Mashup Plattform Daniel Del Gaudio, Nikolas Paparoditis, Johannes Bohn Abstract In dieser Projektarbeit werden der Entwurf und die prototypische Implementierung einer serviceorientierten Data Mashup Plattform vorgestellt. Diese dient dazu Daten aus verschiedenen Quellen miteinander kombinieren und manipulieren zu können. Dazu kann der Benutzer einen Workflow auf einer graphischen Oberfläche modellieren und dann durch eine Workflow Engine ausführen lassen. Um die einzelnen Daten zu extrahieren und die gewollten Operationen durchzuführen, werden Webservices verwendet. Nach der Beschreibung eines Anwendungsfalles gehen wir auf ausgewählte, themenbezogene Arbeiten ein. Anschließend wird der Entwurf des Data Mashups vorgestellt, der auf einem Drei-Schichten-Modell basiert. Um die Funktionalität des Entwurfes zu zeigen, haben wir einen Prototypen implementiert, welcher daraufhin erläutert wird. Index Terms Data Mashup, Workflow Engine, Service Oriented Architecture, Webservice, Data Source Adapter, Filter. 1 EINLEITUNG Anwendungen, welche auf der Kombination von bestehenden Inhalten aus verschiedenen Quellen basieren werden Mashups genannt. Konkret entsteht ein Mashup also durch die Kombination von (Web-)Inhalten, Daten und Anwendungen [5]. Mashups so wie wir sie kennen sind fast ausnahmslos Web-Anwendungen. Eine Web-Anwendung wird auf einem Web-Server ausgeführt und interagiert mit dem Nutzer meistens über den Web-Browser. Der Grund für die Erstellung von Mashups ist der Bedarf an einer Anwendung, welche dem Nutzer für eine bestimmte Aufgabe oder ein Aufgabenfeld Unterstützung bietet. Die Erstellung erfolgt also problembezogen. Die Ersteller von Mashups sind meistens Nutzer, die über keine oder nur sehr wenige Programmierkentnisse verfügen. Es ist demnach wichtig, dass die Erstellung von Mashups auch Nutzern ohne Programmierkenntnisse gelingt. Generell gibt es zwei Arten von Mashups [5]: Enterprise Mashups, die für den Unternehmenseinsatz erstellt werden und Mitarbeiter von Unternehmen bei ihrer Arbeit unterstützen sollen, und Web Mashups, bei denen die Ersteller i.d.r. technisch versierte Benutzer sind. Enterprise Mashups lassen sich wiederum in drei Varianten aufteilen: Presentation Layer Mashups zur Vereinigung von UI-Elementen, Logic Layer Mashups zur Vereinigung logischer Operationen und Data Mashups zur Vereinigung von Daten aus unterschiedlichen Quellen. Der Fokus dieser Arbeit liegt ausschließlich auf Data Mashups. Unter einem Data Mashup versteht man das Kombinieren von Daten aus unterschiedlichen, in Struktur und Inhalt verschiedenartigen Quellen. Der Nutzer des Data Mashups kann mehrere Datenquellen einbeziehen und deren Daten miteinander verknüpfen. Die Funktionen eines Data Mashups werden dem Nutzer über eine einheitliche, meist graphische Benutzeroberfläche zur Verfügung gestellt, wobei Implementierungsdetails verborgen bleiben. Im Gegensatz zu anderen Mashup-Varianten ist bei Data Mashups der Integrationsgrad zwischen den unterschiedlichen Elementen etwas höher, weshalb deren Erstellung und Bedienung ein Mindestmaß an technischen Kenntnissen voraussetzt. Die Komplexität eines Data Mashups resultiert aus dem Kompatibilitätsgrad der einbezogenen Datenquellen. Ein Mashup-Tool, das die Erstellung von Data Mashups ermöglicht, ist zum Beispiel Yahoos Pipes [13]. Johannes Bohn Daniel Del Gaudio Nikolas Paparoditis Die vorliegende Arbeit gliedert sich wie folgt. In Kapitel 2 werden ausgewählte themenbezogene Arbeiten, ein konkretes Einsatzgebiet und weitere Aspekte des Einsatzes von Data Mashup-Technologien erläutert. Der Kern der Arbeit liegt in den Kapiteln 3 und 4, welche den Entwurf der resultierenden Data Mashup Plattform behandeln. Das Kapitel 5 gibt einen Überblick über die Implementierung eines Data Mashups und veranschaulicht wie bereits vorhandene Technologien eingesetzt und integriert werden können, um ein Data Mashup zu konstruieren. In Kapitel 6 werden Messungen über die Leistung des implementierten Mashups präsentiert. Abschließend wird ein kurzes Fazit dieser Arbeit mit Ausblick auf zukünftige Erweiterungen gegeben. 2 HINTERGRUND In diesem Abschnitt wird ein Anwendungsfall erläutert. Außerdem wird darauf eingegangen, wie andere themenbezogene Arbeiten geholfen haben, den Entwurf zu realisieren. 2.1 Anwendungsfall Ein möglicher Anwendungsfall, bei dem der Einsatz eines Data Mashups von Nutzen ist, kommt aus der Industrie. Ein Unternehmen, das beispielsweise Produkte verwaltet, entscheidet sich zu den jeweiligen Produkten auch die Meinung der Konsumenten zu berücksichtigen. Die Marketingabteilung der Firma möchte je nach Produkt verschiedene Feedbackquellen nutzen. Jeder Mitarbeiter sollte dabei in der Lage sein, selbstständig das Produkt und die Feedbackquelle auszuwählen. Außerdem soll es möglich sein ohne großen Aufwand neue Feedback- oder Informationsquellen integrieren zu können. Das Unternehmen könnte alle seine Produktdaten in einer oder mehrerer SQL-Datenbanken verwalten. Als eine mögliche Feedback-Quelle könnte Twitter dienen, da es von den Kunden häufig verwendet wird, um positives oder negatives Feedback über Produkte abzugeben. Da die Mitarbeiter des Unternehmens über keine fortgeschrittenen Programmierkentnisse verfügen wird eine grafische Oberfläche benötigt. Vorkenntnisse im Umgang mit Datenbanken und dem Inhalt der jeweiligen Produkt-Tabellen sind dafür aber existent. Ein Data Mashup ist für diesen Anwendungsfall das geeignete Mittel um diese Anforderungen umzusetzen, da es durch eine graphische Oberfläche einfach zu bedienen ist und einen hohen Grad an Flexibilität bei der Erweiterung um zusätzliche Quellen aufweist. 1

2 rasant entwickelndes Geschäftsumfeld anzupassen. Daraufhin werden Unterschiede zwischen prozessorientierten Mashups, datenorientierten Mashups, Webservice-Zusammensetzungen und traditionellen Workflow-Systemen erläutert. Wie in den vorher beschriebenen Arbeiten wird Wert darauf gelegt, dass das zu entwerfende System insbesondere auch durch technisch unversierte Anwender nutzbar ist. Im Gegensatz zu diesen wird ein Workflow-basiertes System entworfen, welches durch den Einsatz einer Workflow Engine an Robustheit gewinnt. Dabei wird der Fokus auf die Verbindung zwischen graphischer Benutzeroberfläche und der Ausführung des Arbeitsablaufes gelegt. Eine Transformation zwischen dem Datenmodell für die Modellierung und dem zur Ausführung, soll es ermöglichen verschiedene Ausführungsumgebungen für das selbe Modellierungsmodell zu verwenden. 3 GROBENTWURF Das Data Mashup-System basiert auf einem Drei-Schichten-Modell (siehe Abbildung 1). Die Modellierungs-Schicht, welche die Client-Seite beschreibt, sowie die Transformations-Schicht und die Ausführungs-Schicht, welche zusammen die Server-Seite bilden. Abbildung 1: Schichten der Data Mashup Architektur 2.2 Themenbezogene Arbeiten Hoyer et al. [7] befassen sich mit der Entwicklung eines Kosten- Nutzen-Modells [6] für Enterprise Mashups. Zunächst wird mittels eines Konzeptes zur Dokumentation, Steuerung und Messung der Aktivitäten von Unternehmen unter Berücksichtigung von Unternehmensanforderungen und -strategien ein leistungsorientiertes Modell entworfen. Im Anschluss wird mittels diverser Tests und einer Fallstudie die Anwendbarkeit des Modells demonstriert und von ausgewählten Nutzern bewertet. Ein besonderer Schwerpunkt der Arbeit liegt in der Fragestellung, inwieweit Endnutzer eigenständig Anwendungen erstellen können ohne die IT-Abteilungen der jeweiligen Firmen zu involvieren. Um Enterprise-Systeme und Geschäftsprozesse aufeinander abstimmen zu können, werden Modelle für die Spezifikation und die Kommunikation der Ziele und Aktivitäten des Unternehmens verwendet. Damit befassen sich Tietz et al. [11] genauer. Sie geben an, dass obgleich modellbasierte Systemintegrationen für Daten und Logik bereits erarbeitet wurden, die Realisierung von nutzerbeteiligten Aktivitäten immer noch eine Herausforderung ist. Der größte Teil der Arbeit befasst sich mit der Konzeption einer plattformunabhängigen Implementierung. Zuerst wird die Zuordnung von Prozessmodellen und Arbeitsmodellen anhand einer Business Process Model and Notation (BPMN) spezifiziert und ein sogenannter Empfehlungs-Algorithmus entwickelt. Für die Mashup-Plattform wird eine Infrastruktur genutzt, die ein semantisches Komponentenarchiv und eine Browser-basierte Laufzeitumgebung enthält. De Vrieze et al. [4] befassen sich, im Gegensatz zu den vorigen zwei Arbeiten, insbesondere mit der Unterstützung von Geschäftsprozessen durch Mashups. Sie untersuchen dabei, wie die vorhandene datenorientierte Funktionalität von Web 2.0 für den Einsatz in Unternehmen erweitert werden kann. Gezeigt wird, dass sich Prozess-Zusammensetzung in einem Enterprise Mashup als eine nützliche Technik für serviceorientierte, Architektur-basierende Automatisierungen und die Integration von Unternehmensaktivitäten erweist. Die beschriebene Zusammensetzung von Prozessen ist eine agile Vorgehensweise, die Unternehmen erlaubt, sich an ein 3.1 Modellierungs-Schicht Die Modellierungs-Schicht ist die einzige vom Nutzer zugreifbare Schicht. Hier werden alle Datenquellen ausgewählt und der Arbeitsablauf in einem Workflow modelliert. Dies geschieht anhand einer leicht zu bedienenden, graphischen Oberfläche. Der zu erstellende Workflow wird dabei als gerichteter Graph dargestellt, der einen eindeutigen Endknoten besitzt. 3.2 Transformations-Schicht In der Transformations-Schicht wird der von der Modellierungs- Schicht übergebene Workflow in ein für die Ausführungs-Schicht ausführbares Format übersetzt. 3.3 Ausführungs-Schicht In der Ausführungs-Schicht wird der transformierte Workflow ausgeführt. Sie basiert auf einer serviceorientierten Architektur, was sie gut skalierbar und hochflexibel macht. Um einen hohen Grad an Verteilung zu erreichen und um die einzelnen Schritte des Arbeitsablaufes umzusetzen werden hier Webservices verwendet. Dies stellt einen hohen Grad an Modularisierung und Erweiterbarkeit sicher. Ein Webservice muss nicht in das System integriert sein, sondern kann auch auf einem fremden Server liegen. Um den Ablauf der Webservices zu koordinieren wird eine Workflow Engine verwendet, wodurch das System an Dynamik und Robustheit gewinnt. Eine Teilmenge der Webservices bilden den Data Source Adapter. Hierzu gehören alle Webservices, welche auf externe Datenquellen zugreifen. Die andere Teilmenge bilden die Datenoperationen welche die zuvor extrahierten Daten manipulieren. Durch das Verwenden von Webservices mit einer Workflow Engine lässt sich das System ohne großen Aufwand beliebig erweitern. 4 FEINENTWURF Im Feinentwurf wird auf die clientseitigen und serverseitigen Komponenten des Systems genauer eingegangen. Abbildung 2 veranschaulicht die Architektur des Systems. 4.1 Clientseitige Komponenten Der Client ist eine Anwendung, die in einem Web-Browser läuft. Er stellt über eine grafische Benutzeroberfläche Kontrollelemente zur Verfügung, mit denen der Benutzer den Workflow als Graph modellieren kann. Die verschiedenen Kontrollelemente, die die Daten bearbeiten sind durch unterschiedliche Symbole dargestellt, die verbunden werden können. Diese Verbindungen stellen den Datenfluss dar. Die Elemente unterscheiden sich zwischen Datenquellen und Datenoperationen. 2

3 Abbildung 2: Komponentendiagramm. Nach Fertigstellung der Modellierung des Workflows wird dieser in dem Datenformat, das vom Clienten zur Modellierung verwendet wird, an die Kommunikations-Komponente der Server-Seite geschickt. 4.2 Serverseitige Komponenten Die Server-Seite lässt sich in eine Kommunikations-Komponente, eine Transformations-Komponente, einen Engine-Handler, die Webservices und einen Cache unterteilen. Dabei befinden sich die ersten drei in der Transformations-Schicht und die anderen beiden in der Ausführungs-Schicht Kommunikations-Komponente Die Kommunikations-Komponente hat die Aufgabe, Meta-Daten der Datenquellen an die Client-Seite zu übermitteln, welche die Auswahl von Datenquellen erleichtern sollen. Ein Beispiel hierfür wären die Tabellennamen einer SQL-Datenbank. Durch ein HTTP Request wird am Ende der Modellierung die Kommunikations-Komponente aufgerufen. Diese konvertiert daraufhin die Daten, die von der Client-Seite übermittelt wurden, in eine für die Workflow Engine verständliche Sprache. Nachdem der Code für die Workflow Engine generiert wurde, erteilt die Kommunikations- Komponente den Befehl zur Ausführung des Workflows. Sobald die Workflow Engine die Ausführung abgeschlossen hat, werden die resultierenden Daten durch die Kommunikations- Komponente an die Client-Seite zurückgeschickt Transformation Die von gängigen Workflow Engines verwendeten Ausführungs- Sprachen eignen sich nicht für die Modellierung auf Seite des Benutzers, da sie syntaktisch komplex ist. Die Transformations- Komponente dient somit dazu, das vereinfachte Datenmodell der Client-Seite in die Ausführungs-Sprache der verwendeten Workflow Engine zu konvertieren Engine-Handler Um den Workflow mit der Workflow Engine auszuführen, müssen die notwendigen Daten an diese übermittelt und der Workflow- Prozess initiiert werden. Hierfür dient die Komponente Engine- Handler. Sie bildet die Schnittstelle zwischen Kommunikations- Komponente und Workflow Engine Webservices Die Webservices werden in zwei unterschiedliche Kategorien unterteilt: Data Source Adapter und Daten-Operationen. Data Source Adapter sind in der Lage, Daten von verschiedenen Datenquellen zu extrahieren. Die Daten-Operationen können diese Daten dann bearbeiten. Für die Daten-Operationen werden beispielhaft eine Filter- Operation und eine Join-Operation beschrieben. Data Source Adapter Für jede Datenquelle muss ein eigener Data Source Adapter existieren. Diese entnehmen die gewünschten Daten aus den gewählten Datenquellen und bringen sie in ein einheitliches Format. Als Data Source Adapter können zum Beispiel SQL- und Twitter- Adapter dienen. Der SQL-Adapter ist für die Extraktion der Daten aus der gewünschten Tabelle einer SQL-Datenbank zuständig. In gleicher Weise greift der Twitter-Adapter über eine Twitter-API auf die Suchmaschine von Twitter zu um alle gewünschten Tweets zu entnehmen. Daraufhin werden diese nach Stimmung klassifiziert und mit ihrer Klassifizierung abgespeichert. 3

4 Filter Als Beispiel dafür, wie die extrahierten Daten nun weiterverarbeitet werden können, werden zwei Filter beschrieben: Der SQL-Filter selektiert die Daten nach eingegebenen Kriterien. Der Twitter-Filter selektiert Tweets nach der vom Twitter-Adapter klassifizierten Stimmung. Da alle extrahierten Daten das selbe Format besitzen, kann der Twitter-Filter als eine Spezialisierung des SQL-Filters angesehen werden. Join Der Join Webservice ermöglicht es zwei Datensätze zu kombinieren. Hierfür durchsucht er die beiden Datensätze nach Übereinstimmungen, und konkateniert sie entsprechend Data Cache Da nicht alle Workflow Engines dazu geeignet sind, große Datenmengen zu verarbeiten, wurde im Entwurf ein Data Cache hinzugefügt. Dieser wird dazu verwendet, die Daten zwischen den Aufrufen der einzelnen Webservices zwischenzuspeichern. Die Data Source Adapter speichern die Datensätze in einem einheitlichen Format im Cache ab. Die Operationen entnehmen die Daten aus dem Cache und legen sie nach der Verarbeitung wieder dort ab. Nach Ausführung des Arbeitsablaufes kann die Kommunikations-Komponente die Ergebnis-Daten dem Data Cache entnehmen. 5 IMPLEMENTIERUNG Im vorangegangenen Kapitel wurde ein generischer Entwurf für einen Workflow-basierten Data Mashup beschrieben. Dieser wurde beispielhaft in eine prototypische Implementierung umgesetzt, wobei der Anwendungsfall aus Kapitel 2.2 herangezogen wurde. Die Server-Seite des Prototypen wurde in Java implementiert. Als Container wurde daher ein Apache Tomcat Server [3] verwendet. Als Workflow Engine dient die Apache ODE [2]. 5.1 Client Für die graphische Benutzeroberfläche wurde das Framework AlloyUI [1] verwendet, das auf JavaScript, HTML und CSS basiert. Die Benutzeroberfläche ist in zwei Komponenten unterteilt. Die erste Komponente ist eine Seitenleiste, auf der mögliche Knotenelemente aufgelistet sind. Diese kann der Benutzer auf die andere Komponente, die Modellierfläche ziehen, um sie in das Modell des Mashups aufzunehmen. Des Weiteren dient die Seitenleiste dazu die Parameter der einzelnen Knotenelemente zu initialisieren. Einen Spezialfall stellt das Modellieren eines SQL-Adapters dar. Dieser ermöglicht dem Benutzer das Schema einer SQL-Datenbank auszulesen, indem ein HTTP-POST Request an das Servlet gesendet wird, welches die eingegebene URI, den logischen Datenbanknamen und die Authentifizierungsdaten (Benutzername, Passwort) als Parameter zurückgibt. Das Servlet liefert über eine entsprechende HTTP Response das Datenbankschema in Form von Tabellennamen zurück, woraus der Benutzer auswählen kann. Auf der Modellierfläche wird der Workflow für das aktuelle Mashup dargestellt. Dort können Knotenelemente in der gewünschte Reihenfolge verknüpft werden. Abbildung 3 zeigt die graphische Benutzeroberfläche mit einem modellierten Anwendungsfall. Der Workflow wird als JSON-Array gespeichert. Sobald ein Knotenelement auf der Modellierfläche erstellt wird, wird ein JSON- Objekt dafür in diesem Array angelegt. In jedem JSON-Objekt werden nun diverse Attribute des zugehörigen Knotenelementes gespeichert, unter anderem der Typ, ein eindeutiger Name und alle Nachfolger dieses Elementes. Dieses JSON-Array wird anschließend mittels eines HTTP-POST Requests an die Kommunikations-Komponente gesendet. Abbildung 4: Aktivitätsdiagramm des Data Mashups. 4

5 Abbildung 3: Benutzeroberfläche mit modelliertem Anwendungsfall. 5.2 Kommunikations-Komponente Die Kommunikations-Komponente besteht aus einem Java Servlet und einer Klasse für die Kommunikation mit den Datenquellen. Dies veranschaulicht Abbildung 5. Sobald das Servlet den HTTP-POST Request vom Client empfängt, wird eine Fallunterscheidung vorgenommen, um entweder den Arbeitsablauf auszuführen, oder um die Schemata (Tabellennamen) der SQL-Datenbank abzufragen und an den Client zurückzuliefern. Im Fall einer Schema-Abfrage, werden zunächst mit Hilfe der Klasse Wrapper die Tabellennamen aus einer MySQL-Datenbank entnommen. Wenn das Modellieren des Workflows abgeschlossen ist erhält das Servlet diesen vom Client als JSON-Array und übergibt ihn an die Transformations-Komponente, welche den Arbeitsablauf dann in einen BPEL-String konvertiert und zurückliefert. Anschließend wird dieser zur Ausführung an den Engine-Handler übergeben der ihm einen Schlüssel für den Data Cache zurückgibt. Dieser wird per HTTP Response an den Clienten zurückgeschickt. 5.3 Transformation Die Klasse Converter dient dazu den Arbeitsablauf im JSON- Format in ein ausführbares BPEL-Format zu übersetzen. Für jeden Knoten des Workflows wird deshalb der entsprechende BPEL-Code generiert und zu einem BPEL-String zusammengefügt. Dafür muss der JSON-String zuerst in ein JSON-Objekt umgewandelt werden. Die Methode convert wandelt daraufhin das JSON-Objekt in den ausführbaren BPEL-Code um. Dafür werden zuerst sequentiell alle Elemente des JSON-Objekts gelesen, da jedes Element einen Knoten des Mashups darstellt. Für jeden Knoten wird nun ein Objekt der Klasse WorkflowNode angelegt, und die entsprechenden Attribute initialisiert. Zu diesen Attributen gehört unter anderem eine Liste, in welcher alle Nachfolger des Knotens gespeichert werden. Jedes angelegte Objekt wird dann in einer selbstreferenzierenden Hashmap gespeichert. Dadurch bildet diese auch einen Graph, auf dem eine Breitensuche durchgeführt werden kann. Dies ist notwendig, damit der BPEL-Code für jeden Knoten an der richtigen Stelle des BPEL-Strings eingefügt wird. Dies gewährleistet, dass parallel modellierte Komponenten des Workflows in der korrekten Sequenz ausgeführt werden können, was den BPEL-Code erheblich vereinfacht. 5.4 Engine Handler Der Engine Handler übernimmt die Kommunikation zwischen dem Servlet und der Apache ODE. Er ist in zwei Teile aufgeteilt. Zuerst wird der BPEL-Prozess durch den EngineProcessStarter auf der Apache ODE deployt und dann durch den EngineCommunicator aufgerufen Engine Process Starter In der Klasse EngineProcessStarter wird zuerst der generierte BPEL-Code in eine Datei geschrieben. Diese Datei wird in das Verzeichnis geschrieben, in dem bereits die für die Ausführung nötigen.wsdl - und deploy.xml -Dateien, sowie die.wsdl -Dateien aller potenziell benutzten Webservices liegen müssen. Dann werden alle Dateien in diesem Verzeichnis in einer Zip- Datei komprimiert. Zuletzt wird eine SOAP-Nachricht an den Deployment-Service der Apache ODE zusammengebaut. In den Hauptteil der Nachricht wird die Zip-Datei eingefügt. Dazu wird diese in einen String encodiert Engine Communicator Die Klasse EngineCommunicator dient dazu, den BPEL-Prozess zu starten. Hierzu wird eine SOAP-Nachricht mit den Eingangsvariablen des Prozesses an die Apache ODE gesendet. Am Ende der Ausführung des BPEL-Prozesses wird per SOAP-Nachricht die Adresse der Daten an diese Klasse zurückgegeben. Diese wird aus der Nachricht extrahiert und an das Servlet zurückgegeben. 5.5 Webservices Der Rückgabewert eines Webservices ist immer der Schlüssel, anhand dessen die Ergebnis-Daten aus dem Cache gelesen werden 5

6 Abbildung 5: Klassendiagramm der Kommunikations- und Transformations-Komponente. 6

7 Abbildung 6: Klassendiagramm der Webservices, des Data Caches und deren Utilities. können. Außer den Data Source Adaptern benötigen alle Services auch einen Schlüssel als Parameter, um die Daten, die sie bearbeiten sollen, aus dem Cache zu lesen. Die Data Source Adapter benötigen als Parameter alle nötigen Daten für die jeweilige Datenquelle. Abbildung 6 zeigt das Klassendiagram der Webservices Data Source Adapter Die Data Source Adapter greifen auf die entsprechenden Datenquellen zu und wandeln die Daten in ein JSON-Array um. Dieses speichern sie dann in den Cache. Dieser liefert einen Schlüssel zurück, welcher dann der Apache ODE weitergegeben wird. Für den Prototyp wurden zwei Data Adapter implementiert: Einen für Twitter-Daten und einen für MySQL-Datenbanken. Twitter Adapter Der Twitter Adapter verwendet die Bibliothek Twitter4J [12], um auf die Twitter API zuzugreifen, und die Bibliothek LingPipe [8], um alle Tweets in eine positive, negative oder neutrale Stimmung zu kategorisieren. Er durchsucht alle Tweets nach dem übergebenen Parameter und speichert die neuesten davon im Data Cache als ein JSON-Objekt pro Tweet. Diese haben die Attribute text, user und sentiment. SQL Adapter Der SQL Adapter stellt eine Verbindung mit einer SQL-Datenbank her. Dafür verwendet er die Bibliothek JDBC [10]. Mit einer SQL- Abfrage wird die gesamte Tabelle ausgelesen, die der Benutzer vorher ausgewählt hat. Diese Tabelle wird dann in ein JSON-Array umgewandelt, wobei für jede Zeile ein JSON-Objekt und darin für jede Spalte ein Attribut angelegt wird Filter Die Filter lesen zuerst die zu filternden Daten aus dem Cache aus. Nach Anwenden der Filterregel wird der neue Datensatz dann wieder in den Cache geschrieben. Es wurde für jede der beiden Datenquellen ein Filter-Service implementiert. Der Filter benötigt außerdem einen Parameter der festlegt nach welcher Regel die Daten gefiltert werden sollen. Twitter Filter Die Twitter-Daten können nach der zuvor kategorisierten Stimmung gefiltert werden. Nachdem die Daten aus dem Cache gelesen wurden, wird jeder Tweet nach dem Attribut sentiment durchsucht. Alle Tweets, bei denen dieses mit dem Kriterium übereinstimmt, werden an ein neues JSON-Array angefügt. Dieses wird dann wieder in den Cache abgelegt und der Schlüssel wird an die Apache ODE zurückgegeben. SQL Filter Im Gegensatz zum Twitter-Filter benötigt der SQL-Filter ein Kriterium der Form [Spalte]=[Wert], wobei [Spalte] mit einer Spalte aus der gewählten Tabelle in der ursprünglichen MySQL- Datenbanken übereinstimmen muss. Alle JSON-Objekte des JSON- Arrays, welches gefiltert werden soll, werden dann nach dem Attribut Spalte durchsucht. Die Einträge, bei welchen der Wert in der Spalte [Spalte] mit dem Filterwert übereinstimmt, werden dann an ein neues JSON-Array angehängt, und dieses im Cache abgelegt Join Der Join-Service dient dazu zwei Datensätze zusammenzufügen. Er benötigt dazu einen String-Parameter der Form [Attribut 1]=[Attribut 2]. Er durchsucht alle Elemente der beiden Datensätze nach beiden Attributen, und fügt alle Paare, bei denen diese 7

8 Komponente Messung 1 Messung 2 Messung 3 Messung 4 Messung 5 Durchschnitt Kommunikations-Komponente 4.008, , , , , ,5 Transformation 0,2 0,3 0,3 2,6 0,1 0,7 SQL Adapter 88,8 18,3 317,3 317,5 25,8 153,6 Twitter Adapter 4.182, , , , , ,9 SQL Filter 22,8 25,3 27,0 15,5 12,2 20,6 Twitter Filter 84,9 46,4 133,0 121,4 106,2 98,4 Join 41,2 45,7 75,9 77, ,5 Workflow Engine 763,0 728, , ,5 970, ,3 Gesamt 9.192, , , , , ,4 Tabelle 1: Messdaten in Millisekunden übereinstimmen aneinander an. Diese fügt er dann in ein neues JSON-Array ein, welches er im Cache ablegt. 5.6 Data Cache Als Cache wird eine MongoDB [9] verwendet. Die Klasse DataCache bildet eine Schnittstelle zu dieser, wofür auch dessen Treiber, gfmongo-java-driver verwendet wird. Wenn ein neuer Datensatz in den Cache gespeichert werden soll, wird das als Parameter übergebene JSON-Array in eine Collection umgewandelt und diese mit einem zufallsgenerierten Schlüssel abgespeichert. Dieser Schlüssel wird dann zurückgegeben, damit anhand diesem wieder auf die Daten zugegriffen werden kann. Um einen Datensatz aus dem Cache auszulesen, wird die gesamte Collection aus der Datenbank ausgelesen, die unter dem als Parameter erhaltenen Schlüssel gespeichert ist. Diese wird in ein JSON-Array umgewandelt und zurückgegeben. 6 LAUFZEITMESSUNGEN Um die Leistung der Implementierung zu messen, wurde die Laufzeiten der einzelnen Komponenten gemessen. Die Ergebnisse wurden in Tabelle 1 zusammengetragen. Unsere Annahme war, dass die Workflow Engine einen erheblich Anteil der Laufzeit ausmacht. Jedoch hat sich das Gegenteil bestätigt. Den größten Teil der Laufzeit nimmt die Kommunikations-Komponente in Anspruch. [6] B. Farbey, F. Land, and D. Targett. A Taxonomy of Information Systems Applications: The Benefits Ladder. [7] V. Hoyer, K. Stanoevska-Slabeva, S. Kramer, and A. Giessmann. What are the Business Benefits of Enterprise Mashups? [8] LingPipe. LingPipe Home [Online; abgerufen am ]. [9] MongoDB. Scalable, Adaptable, Fast: Database for Modern Applications MongoDB [Online; abgerufen am ]. [10] Oracle. Java Platform Standard Edition 8 Documentation. http: //docs.oracle.com/javase/8/docs/, [Online; abgerufen am ]. [11] V. Tietz, S. Pietschmann, G. Blichmann, K. Meißner, A. Casall, and B. Grams. Towards Task-Based Development of Enterprise Mashups. pages , [12] Twitter4J. Twitter4J [Online; abgerufen am ]. [13] Yahoo. Pipes: Rewire the web. pipes/, [Online; abgerufen am ]. 7 FAZIT UND ZUKÜNFTIGE ARBEITEN Für unseren Anwendungsfall wäre die Verwendung einer Workflow Engine nicht notwendig, da wir die Webservices auch direkt aufrufen könnten. Jedoch haben wir unser System als Grundlage für Erweiterungen entworfen. Dank der Workflow Engine ist es wesentlich leichter, das System um weitere Webservices zu erweitern. Bei einem komplexeren System, welches aus weitaus mehr Webservices besteht, die auch parallel ausgeführt werden sollen, werden die Fähigkeiten der Workflow Engine vollständig ausgeschöpft. Hierfür ist unsere Transformation jedoch nicht ausreichend. Schon bei unserem Prototyp war die Übersetzung des Workflows in BPEL der aufwändigste Teil. Alle möglichen Fälle der Modellierung in BPEL zu konvertieren erfordert eine wesentlich komplexere Transformation. Als zukünftige Arbeit möchten wir eine flexiblere und generische Übersetzung des Arbeitsablaufes in eine Workflow-Sprache entwerfen. LITERATUR [1] AlloyUI. AlloyUI [Online; abgerufen am ]. [2] Apache. Apache ODE Apache ODE TM. org/, [Online; abgerufen am ]. [3] Apache. Apache Tomcat - Welcome! org/, [Online; abgerufen am ]. [4] P. de Vrieze, L. Xu, A. Bouguettaya, J. Yang, and J. Chen. Building enterprise mashups. pages Elsevier, [5] N. C. Engard and J. Levine. Library Mashups, Exploring New Ways to Deliver Library Data. Facet Publishing,

Entwurf und Prototypische Implementierung einer Data Mashup Plattform. Abschlussvortrag Projekt-INF

Entwurf und Prototypische Implementierung einer Data Mashup Plattform. Abschlussvortrag Projekt-INF Entwurf und Prototypische Implementierung einer Data Mashup Plattform Abschlussvortrag Projekt-INF Daniel Del Gaudio, Johannes Bohn, Nikolas Paparoditis Gliederung Data Mashups Einführung Motivationsszenario

Mehr

VAADIN, SPRING BOOT & REST

VAADIN, SPRING BOOT & REST VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2

Mehr

Von der Prozessanalyse zur Prozessautomatisierung

Von der Prozessanalyse zur Prozessautomatisierung Von der Prozessanalyse zur Prozessautomatisierung Patrick Horenburg IDS Scheer AG Saarbrücken Evgenia Rosa ORACLE Deutschland GmbH Berlin Schlüsselworte: Business Process Management, Prozessanalyse, Geschäftsprozess,

Mehr

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Was wir vorhersagen, soll auch eintreffen! Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Pascal Muth Zusammenfassung In diesem Whitepaper wird die Tableau Extensions API von Tableau

Mehr

datenlink-schnittstelle Version 1.0

datenlink-schnittstelle Version 1.0 www.datenlink.info datenlink-schnittstelle Version 1.0 Inhalt 1 Allgemeines 2 1.1 Datenaustausch... 2 1.2 Zugriffstypen... 2 2 Format der Rückgabewerte 3 2.1 HTTP-Statuscodes... 3 2.2 Rückgabewerte...

Mehr

Mail Integration Solution White Paper

Mail Integration Solution White Paper Integration Solution White Paper Inhalt Allgemeine Information... 3 IMAP... 3 Rapid Automation (RA)... 3 RA Agent... 3 RA Solution... 3 Integration Solution... 4 Anwendungsfälle... 5 Download eingehender

Mehr

Integration von UIS-Webdiensten

Integration von UIS-Webdiensten Integration von UIS-Webdiensten neue Möglichkeiten durch Web 2.0 basierte Technologien Clemens Düpmeier, Werner Geiger, Claudia Greceanu (duepmeier, geiger, greceanu@iai.fzk.de) Institut für Angewandte

Mehr

Erläuterungen zu Darstellung des DLQ-Datenportals

Erläuterungen zu Darstellung des DLQ-Datenportals Erläuterungen zu Darstellung des DLQ-Datenportals Definition zum Datenportal Das DLQ-Datenportal (DP) definiert fachliche Schnittstellen für den Datenaustausch zwischen verschiedenen Kommunikationspartnern.

Mehr

APEX Datenverwaltung Wo sind die Daten gerade?

APEX Datenverwaltung Wo sind die Daten gerade? APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst Trivadis GmbH München Schlüsselworte: APEX, Sessionverwaltung, Dynamic Actions Einleitung Eine APEX-Anwendung wird erst durch zusätzliche

Mehr

BPE-/BRE-Integration in agree. Systemarchitektur, Technologien, Konzepte

BPE-/BRE-Integration in agree. Systemarchitektur, Technologien, Konzepte BPE-/BRE-Integration in agree Systemarchitektur, Technologien, Konzepte Ziel dieses Vortrags Sie wissen, welche Systeme an der Integration einer Business Process (BPE) und Business Rules Engine (BRE) in

Mehr

Entwicklung einer Autorenumgebung zur Erstellung von elearning-kursen aus Wiki-Inhalten

Entwicklung einer Autorenumgebung zur Erstellung von elearning-kursen aus Wiki-Inhalten Entwicklung einer Autorenumgebung zur Erstellung von elearning-kursen aus Wiki-Inhalten David Weiß Professur für Graphische Datenverarbeitung Johann Wolfgang Goethe-Universität 26. Juni 2008 Autorenumgebung

Mehr

Partitionierungsstrategien für Data Vault

Partitionierungsstrategien für Data Vault ierungsstrategien für Data Vault Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Während das Laden von Tabellen in Data Vault in der Regel nicht zeitkritisch ist, stellt uns das effiziente

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud

Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud Frank Szilinski, esentri software GmbH Dominic Weiser, esentri consulting GmbH Ettlingen Schlüsselworte: Apache Lucene, Apache Solr,

Mehr

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG SODA Die Datenbank als Document Store Rainer Willems Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG vs No Anforderungskonflikte Agile Entwicklung Häufige Schema-Änderungen Relationales

Mehr

XML Publisher die universelle Lösung für Geschäftsdokumente

XML Publisher die universelle Lösung für Geschäftsdokumente XML Publisher die universelle Lösung für Geschäftsdokumente Jürgen Menge TSBU Middleware ORACLE Deutschland GmbH Moderne Lösung zur Entwicklung, Erzeugung und Verteilung von Geschäftsdokumenten (Output

Mehr

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen FRANZIS PROFESSIONAL SERIES Herbert Burbiel SOA & Webservices ~ in der Praxis 197 Abbildungen 9 Inhaltsverzeichnis 1 Bedienungsanleitung zum Buch 15 1.1 Nutzen des Buchs 15 1.2 So verwenden Sie das vorliegende

Mehr

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]

Mehr

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Seminararbeit von Olaf Matticzk 1 15.01.2016 (c) by synaix 2016 synaix...your business as a service. Agenda 1. Einleitung 2. Webanwendungen

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

<Insert Picture Here> BI Publisher Berichte in eigene Anwendungen integrieren

<Insert Picture Here> BI Publisher Berichte in eigene Anwendungen integrieren BI Publisher Berichte in eigene Anwendungen integrieren Jürgen Menge Oracle Deutschland GmbH Oracle BI Publisher Moderne Lösung zur Entwicklung, Erzeugung und Verteilung von Berichten

Mehr

Criteria API: Komplexe SQL Queries mit Eclipslink bauen

Criteria API: Komplexe SQL Queries mit Eclipslink bauen Schlüsselworte Criteria API: Komplexe SQL Queries mit Eclipslink bauen Thomas Haskes Triestram & Partner GmbH Bochum rapid.java, EclipseLink, Oracle, Criteria API, JPA, Datenbank, SQL Einleitung In der

Mehr

Code Beispiel: /* path element */ var el = rc.path("m l 0-50 l l 0-50 l l 0 50 l l 0 50 z");

Code Beispiel: /* path element */ var el = rc.path(m l 0-50 l l 0-50 l l 0 50 l l 0 50 z); SVG in APEX: Best Practices an Live Beispielen Tobias Arnhold Tobias Arnhold IT Consulting Heppenheim Schlüsselworte APEX, Raphaël, RaphaelJS, Visualisierung, Javascript, HTML5, SVG, UX, Design, APEX-AT-WORK

Mehr

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2

Mehr

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP 1 2 Fach: Klasse: Datum: Web BW2 01.03.2019 (Freitag) Agenda zu HTML und PHP Formulare mit HTML Beispiele & Nutzen PHP - Definition XAMPP - PHP-Quelltext ausführen mit XAMPP 3 4 Formulare mit HTML Beispiele

Mehr

BIF/SWE 1 - Übungsbeispiel. Arthur Zaczek

BIF/SWE 1 - Übungsbeispiel. Arthur Zaczek BIF/SWE 1 - Übungsbeispiel Arthur Zaczek Sep 2015 1/22 Übungsbeispiel embedded sensor cloud Übungsbeispiel embedded sensor cloud 2/22 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System

Mehr

BIF/SWE 1 - Übungsbeispiel

BIF/SWE 1 - Übungsbeispiel Arthur Zaczek Sep 2015 1 Übungsbeispiel embedded sensor cloud 1.1 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System Ihrer Wahl ein]] soll ein Messdaten Erfassungssystem implementiert

Mehr

Dokumente mit WWW-Verweisen auf Dokumente der Digital Document Library (DDL) in Bern

Dokumente mit WWW-Verweisen auf Dokumente der Digital Document Library (DDL) in Bern Dokumente mit WWW-Verweisen auf Dokumente der Digital Document Library (DDL) in Bern Gerd Graßhoff Bern Inhaltsverzeichnis 1 Ziel 1 2 Technische Realisierung 4 3 Digital Document Library for the History

Mehr

Webanwendung zur Extraktion von Teildatensätzen aus DBpedia

Webanwendung zur Extraktion von Teildatensätzen aus DBpedia Webanwendung zur Extraktion von Teildatensätzen aus DBpedia Christian Ernst, Dominik Strohscheer, Hans Angermann Till Nestler, Marvin Hofer, Robert Bielinski, Jonas Rebmann Inhaltsverzeichnis Modellierungsbeschreibung

Mehr

SODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte

SODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte SODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte SODA, Simple Oracle Document Access, Document Store, Schemaless, JSON, Collections Einleitung

Mehr

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern Datenbanken werden durch ein spezielles Programm verwaltet, einen sogenannten Datenbankserver, in unserem Fall den MySQL-Datenbankserver.

Mehr

Oracle Fusion Middleware Überwachung mit Oracle BAM

Oracle Fusion Middleware Überwachung mit Oracle BAM Oracle Fusion Middleware Überwachung mit Oracle BAM Schlüsselworte Monitoring, BAM, Fusion Middleware Einleitung Markus Lohn esentri AG Ettlingen Oracle BAM wird vor allem für das fachliche Überwachen

Mehr

Die Datenquelle anlegen

Die Datenquelle anlegen Erste Schritte Die Datenquelle anlegen Dieser Abschnitt wird Sie durch das Anlegen einer Datenquelle mit OpenOffice.org führen. Um plattformunabhängig zu sein, wird eine dbase Datenbank erzeugt. Wählen

Mehr

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE Was bedeutet NoSQL? Ein Sammelbegriff für alternative Datenbanklösungen, die

Mehr

Konzeption und Implementierung von SOA Composed Services in der Praxis

Konzeption und Implementierung von SOA Composed Services in der Praxis Konzeption und Implementierung von SOA Composed Services in der Praxis Markus Trenkle, Lyubomir Yordanov InterFace AG, Yordanov Consulting Nürnberg Schlüsselworte Systemarchitektur, Composed Services,

Mehr

Cognos im Siebel Marketingprozess - die Integration zweier Welten

Cognos im Siebel Marketingprozess - die Integration zweier Welten Cognos im Siebel Marketingprozess - die Integration zweier Welten Christian Sobetzko Altran CIS GmbH Co. & KG Business Line CIS Frankfurt Schlüsselworte: Siebel Marketing, Workflows, EAI, Kampagnenprozess

Mehr

SWARCO TRAFFIC SYSTEMS GMBH. PRIMOS SMART Zentrale Software Systembeschreibung. PRIMOS_Smart_BD_00

SWARCO TRAFFIC SYSTEMS GMBH. PRIMOS SMART Zentrale Software Systembeschreibung. PRIMOS_Smart_BD_00 SWARCO TRAFFIC SYSTEMS GMBH PRIMOS SMART Zentrale Software Systembeschreibung PRIMOS_Smart_BD_00 Inhalt 1 Einleitung... 3 1.1 Vorteile... 3 1.2 Anwendungsbereiche... 3 2 Systemübersicht... 4 2.1 Funktionen

Mehr

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH APEX und Workflows: Spaghetticode oder Integration Sven Böttcher Consultant, Apps Associates GmbH Apps Associates Apps Associates gegründet 2002 in Boston (HQ) seit 2003 GDC in Hyderabad seit 2006 in Dortmund

Mehr

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2

Mehr

REST Services in APEX Anwendungen nutzen

REST Services in APEX Anwendungen nutzen REST Services in APEX Anwendungen nutzen Carsten Czarski - @cczarski Consulting Member of technical Staff Oracle Application Express ORACLE Deutschland B.V. & Co KG REST: Representational State Transfer

Mehr

Transformations. Die API des Oracle Datamodeler. Dr. Gudrun Pabst. Trivadis GmbH Lehrer-Wirth-Straße München.

Transformations. Die API des Oracle Datamodeler. Dr. Gudrun Pabst. Trivadis GmbH Lehrer-Wirth-Straße München. Transformations Die API des Oracle Datamodeler Dr. Gudrun Pabst Trivadis GmbH Lehrer-Wirth-Straße 4 81829 München gudrun.pabst@trivadis.com BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG

Mehr

Stand und Planungen im Bereich der Schnittstellen in der VZG

Stand und Planungen im Bereich der Schnittstellen in der VZG Stand und Planungen im Bereich der Schnittstellen in der VZG Jakob Voß 28. August 2013, 17. Verbundkonferenz des GBV Schnittstellen Allgemein Patrons Account Information API (PAIA) Strategie und Planungen

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Service Oriented Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Service Oriented Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Service Oriented Architecture Teil 3 CICS Web Services el0100 copyright W. G. Spruth,

Mehr

Node.js der Alleskönner. Kai Donato MT AG Ratingen

Node.js der Alleskönner. Kai Donato MT AG Ratingen Node.js der Alleskönner Kai Donato MT AG Ratingen Schlüsselworte JavaScript, Node.js, NPM, Express, Webserver, oracledb Einleitung Node.js ist nach seiner Veröffentlichung im Jahre 2009 in aller Munde

Mehr

Modeldriven SOA Modellgetriebene Entwicklung von SOA Anwendungen. Java Forum Stuttgart,

Modeldriven SOA Modellgetriebene Entwicklung von SOA Anwendungen. Java Forum Stuttgart, Modeldriven SOA Modellgetriebene Entwicklung von SOA Anwendungen Java Forum Stuttgart, 01.07.2010 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version 2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version Das Verwaltungsmodul moveon besteht aus zwei Komponenten: dem moveon Client und der moveon Datenbank. Der moveon Client enthält alle Formulare,

Mehr

Formulare. Definition. Definition & Beispiele P-IT. Fach: Klasse: TD1. Datum: (Freitag) Agenda zu HTML und PHP

Formulare. Definition. Definition & Beispiele P-IT. Fach: Klasse: TD1. Datum: (Freitag) Agenda zu HTML und PHP 1 2 Fach: Klasse: Datum: P-IT TD1 08.02.2019 (Freitag) Agenda zu HTML und PHP Formulare - Definition & Beispiele PHP - Definition XAMPP - PHP-Quelltext ausführen mit XAMPP 3 4 Formulare Definition & Beispiele

Mehr

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Anleitung zur Integration der /data.mill API in SAP Java Applikationen Anleitung zur Integration der /data.mill API in SAP Java Applikationen Inhalt 1. Anlage einer HTTP Destination 1 1.1. Anmelden an SAP Cloud Platform 1 1.2. Destination Konfiguration 3 1.3. Eintragen der

Mehr

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst Basel Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Voraussetzungen Alles hier gezeigte benötigt

Mehr

Abschnitt 10: Datenstrukturen

Abschnitt 10: Datenstrukturen Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Projekt-INF Folie 1

Projekt-INF Folie 1 Folie 1 Projekt-INF Entwicklung eines Testbed für den empirischen Vergleich verschiedener Methoden des maschinellen Lernens im Bezug auf die Erlernung von Produktentwicklungswissen Folie 2 Inhalt Ziel

Mehr

Reporting Lösungen für APEX wähle Deine Waffen weise

Reporting Lösungen für APEX wähle Deine Waffen weise Reporting Lösungen für APEX wähle Deine Waffen weise Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, Reporting, JasperReports, PL/PDF, BI Publisher, OPAL:XP, Doxxy, Oracle Rest Data Services

Mehr

1 Überblick. Alles geregelt Alles geregelt: Einsatz von Rule Engines in SOA Projekten. Heiko Spindler Senior Architekt

1 Überblick. Alles geregelt Alles geregelt: Einsatz von Rule Engines in SOA Projekten. Heiko Spindler Senior Architekt Alles geregelt Einsatz von Rule Engines in SOA Projekten Heiko Spindler Senior Architekt OPITZ CONSULTING GmbH DOAG SIG SOA Frankfurt, 03.05.2010 OPITZ CONSULTING GmbH 2010 Seite 1 1 Überblick OPITZ CONSULTING

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de 3 Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OpcUaWebServer... 5 1.3 Web Panel... 6 2

Mehr

XML für Prozesse, XML in Prozessen Erfahrungen aus der Praxis

XML für Prozesse, XML in Prozessen Erfahrungen aus der Praxis XML für Prozesse, XML in Prozessen Erfahrungen aus der Praxis Gerhard Lier Produktmanager X4 BPM Suite SoftProject GmbH 1 SoftProject GmbH Eine kurze Vorstellung Das Unternehmen: Geschäftsführer: Hauptsitz:

Mehr

Unternehmensdokumente mit dem XML Publisher erzeugen

Unternehmensdokumente mit dem XML Publisher erzeugen Unternehmensdokumente mit dem XML Publisher erzeugen Jürgen Menge TSBU Middleware ORACLE Deutschland GmbH XML-Publisher Moderne Lösung zur Entwicklung und Verteilung von Geschäftsdokumenten (Output Management)

Mehr

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007 DOAG SIG Day E-Business Suite und SOA: Was ist heute schon möglich? Frankfurt 26. April 2007 Thomas Karle PROMATIS software GmbH 1 E-Business Suite und SOA Agenda Geschäftsprozesse auf Basis von SOA Business

Mehr

Workflows ganz einfach Einführung in die Process Cloud

Workflows ganz einfach Einführung in die Process Cloud Workflows ganz einfach Einführung in die Process Cloud Dr. Thomas Schuster DOAG Konferenz 2015-18. November 2015 EINFACH MEHR > BEGEISTERUNG "Mit unserer Begeisterung für führende Technologien vernetzen

Mehr

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108 Einführung 13 3 1.1 SAP NetWeaver Application Server 17 1.1.1 SAP-Lösungen und SAP NetWeaver 18 1.1.2 SAP NetWeaver Application Server ABAP 20 1.1.3 SAP NetWeaver Application Server Java 34 1.2 Sicherheit

Mehr

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung einer eigenen grafischen

Mehr

Workflows in APEX mit Camunda

Workflows in APEX mit Camunda Workflows in APEX mit Camunda Maximilian Stahl MT AG Ratingen Schlüsselworte Oracle Applicaton Expres, APEX, Workflow, Arbeitsprozess, Open Source Workflow Engine, Camunda, BPMN Einleitung Vom Urlaubsantrag

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Seminar E-Services WS 02/03 BPEL4WS. Business Process Execution Language for Web Services. Mirwais Turjalei SES 02 BPEL4WS

Seminar E-Services WS 02/03 BPEL4WS. Business Process Execution Language for Web Services. Mirwais Turjalei SES 02 BPEL4WS Seminar E-Services WS 02/03 BPEL4WS Business Process Execution Language for Web Services 02.12.2002 Themen: Einleitung! Was ist BPEL4WS?! Warum BPEL4WS?! Stellung in der Web-Service-Architektur BPEL4WS

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version 2013.0.2.0 COPYRIGHT Dieses Handbuch dient als Arbeitsunterlage für Benutzer der b.i.m.m-tools. Die in diesem Handbuch beschriebenen

Mehr

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller Hochschule Bochum Fachbereich Elektrotechnik und Informatik Arbeitsthese UML2 Web-Modelling-Tool erstellt von: Tim Keller erstellt am: 26. September 2007 Kooperation: innoq Deutschland

Mehr

MyCoRe > V1.0: Technische Weiterentwicklung

MyCoRe > V1.0: Technische Weiterentwicklung MyCoRe > V1.0: Technische Weiterentwicklung Frank Lützenkirchen, Kathleen Krebs Folie 1 Kontrollflüsse bisher Kontrollflüsse sind im MyCoRe Kern oder der darauf basierenden Applikation fix und explizit

Mehr

Alternative Architekturkonzepte

Alternative Architekturkonzepte Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung

Mehr

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH BI Publisher Berichtswesen einfach und sicher Alexander Klauss Centric IT Solutions GmbH Agenda Ziele der BI Publisher Module Anwendung und Vorgehensweise der BI Publisher Module Voraussetzungen BI Publisher

Mehr

Web-Anwendungen, SS17 - Fragentypen

Web-Anwendungen, SS17 - Fragentypen Web-Anwendungen, SS17 - Fragentypen Hinweis: Dieses Dokument ist keine Klausur, sondern eine lose (und nicht notwendigerweise vollständige) Sammlung an Fragen wie sie auch in einer Klausur vorkommen könnten.

Mehr

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Software Engineering II (IB) Serviceorientierte Architektur Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 21:17 Software Engineering II (IB), Serviceorientierte Architektur 1/24 Webservices Ziel:

Mehr

Überblick über das Oracle Internet File System. PEGAS systemhaus 2001 PEGAS Firmenpräsentation

Überblick über das Oracle Internet File System. PEGAS systemhaus 2001 PEGAS Firmenpräsentation Überblick über das Oracle Internet File System Seite 1 - Oktober 2001 Name: Über PEGAS... PEGAS systemhaus gmbh Adresse: Rudolf-Diesel-Str. 1 82166 Gräfelfing/München Germany Telefon: +49 (089) 898157

Mehr

EriZone Release Notes Version 5. Process Management. Service Asset & Configuration Management

EriZone Release Notes Version 5. Process Management. Service Asset & Configuration Management EriZone Release Notes Version 5 s Service Catalogue i Process t Incident d Service Level a Service Asset & Configuration 5 p r ezou Dieses Dokument enthält eine Aufstellung der neuen Funktionen und der

Mehr

Sitepark Information Enterprise Server - die Technologie-Plattform von Sitepark

Sitepark Information Enterprise Server - die Technologie-Plattform von Sitepark Sitepark Information Enterprise Server - die Technologie-Plattform von Sitepark Der IES ermöglicht die Entwicklung von Produkten auf einer einheitlichen Basis und stellt unter anderem ein produktübergreifendes

Mehr

APEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden

APEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden APEX 5 Mit 6 Klicks kostenfrei zur APEX Webapplikation Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße 21 01189 Dresden Agenda Wie können Sie in nur 6 Schritten zu einer Oracle Application

Mehr

ARDS-Projekt. Datenbankentwicklung für medizinische Auswertungen. Dr. Thomas Meinike

ARDS-Projekt. Datenbankentwicklung für medizinische Auswertungen. Dr. Thomas Meinike ARDS-Projekt Datenbankentwicklung für medizinische Auswertungen Dr. Thomas Meinike thomas.meinike@et.fh-merseburg.de Fachhochschule Merseburg Fachbereich Elektrotechnik, Informationstechnik und Medien

Mehr

Neue Welten: Externe Daten mit APEX nutzen

Neue Welten: Externe Daten mit APEX nutzen Neue Welten: Externe Daten mit APEX nutzen Carsten Czarski Oracle Application Express Development-Team DOAG Regio München - 17. Mai 2018 Copyright 2017 Oracle and/or its affiliates. All rights reserved.

Mehr

ADF Mobile konkret Best Practices Live erklärt. Jan Ernst

ADF Mobile konkret Best Practices Live erklärt. Jan Ernst ADF Mobile konkret Best Practices Live erklärt Jan Ernst Zur Person: Jan Ernst Bachelorstudium Wirtschaftswissenschaften mit Schwerpunkt Wirtschaftsinformatik (4. Semsester) FAU Erlangen/Nürnberg Werkstudent

Mehr

XPages - Core Technologie der Lotus Zukunft? 2011 IBM Corporation

XPages - Core Technologie der Lotus Zukunft? 2011 IBM Corporation XPages - Core Technologie der Lotus Zukunft? # 2011 IBM Corporation Agenda Hintergründe von XPages Domino Applikations-Entwicklung: Stärken und Schwächen XPages DEMO Ergänzung durch XPages: Die Vorteile

Mehr

Objektorientiertes RPG 2-1. Objektorientiertes RPG

Objektorientiertes RPG 2-1. Objektorientiertes RPG Objektorientiertes RPG 2-1 2 Objektorientiertes RPG Das erste Kapitel wies auf die Ähnlichkeiten im Aufbau eines RPG-Programms und einer Java-Klasse hin. Aber wenn diese Strukturen bei der Erstellung von

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1 FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2017 2017 Michael Theis, Lehrbeauftragter 1 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise

Mehr

Es geht also um die sogenannte SQL- Data Definition Language.

Es geht also um die sogenannte SQL- Data Definition Language. In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition

Mehr

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE. Motivation und Zielsetzung

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE. Motivation und Zielsetzung Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE www.arsnova.de Java Forum Stuttgart, 01. Juli 2004 1 Agenda SVG als Lösungsansatz SVG/J2EE-Technologiestudie

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

Mehr

:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: Süsstrunk :: Büchli :: :: :: :: :: :: :: :: :: :: :: :: :: Webdesignkurshandbuch Worum es geht HTML-Dokumente sind in der Regel statisch - will

Mehr

Serena Schulungsplan 2017

Serena Schulungsplan 2017 Serena Schulungsplan 2017 FEBRUAR MÄRZ April MAI JUNI JULI AUGUST Dimensions CM Admin & Config Mo, 06. 02. Do, 09. 02. Dimensions RM Requirements Management Mo, 20.02. Mi, 22.02. SBM Designer & Admin Mo,

Mehr

Sinn (und Unsinn) für Informix Benutzer

Sinn (und Unsinn) für Informix Benutzer NoSQL : Sinn (und Unsinn) für Informix Benutzer Martin Fürderer IBM Informix Entwicklung München Agenda Was bedeutet NoSQL für Informix Benutzer? Was bedeutet NoSQL? Fragen? Welche NoSQL Funktionalität

Mehr

Integration im Enterprise Umfeld

Integration im Enterprise Umfeld Integration im Enterprise Umfeld Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg DOAG 2007 pdv Technische Automation + Systeme GmbH, 2007 1 Eckdaten Individual-Software Client/Server- und

Mehr

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier Stefan Zörner Portlets Portalkomponenten in Java ntwickier Vorwort 9 1 Portalkomponenten in Java 11 1.1 Hype beiseite 11 Was ist ein Portal? 11 Portalkomponenten in Java 14 Das Portlet-Ökosystem 16 1.2

Mehr

Ein Ausblick auf die neuen Features

Ein Ausblick auf die neuen Features Ein Ausblick auf die neuen Features Nutzerbeirat Formular-Management-System Bonn, den 20. Februar 2008 Henning Meinhardt CTO Entwicklung der Lucom Interaction Platform Basis ist FormsForWeb 2.5 Ausbau

Mehr

Consulting, Development, Deployment, Training and Support for Media-IT. Datum: Daniel Dimitrijevic

Consulting, Development, Deployment, Training and Support for Media-IT. Datum: Daniel Dimitrijevic Consulting, Development, Deployment, Training and Support for Titel: XDCAM Roboter Control Thema: Zielgruppe: User Manual Nutzer des Systems Dokument Typ: Version: 1.0 Datum: 21.07.2016 Autor: Disclaimer:

Mehr

Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle. Dipl.-Ing. Frank Breckle

Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle. Dipl.-Ing. Frank Breckle Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle Dipl.-Ing. Frank Breckle Agenda Wer ist die Staatliche Lotterieeinnahme Glöckle? Warum wurde vor 4 Jahren eine neue Technologie

Mehr

JSP Usereingabe. Inhalt. 1 Zielsetzung. SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2

JSP Usereingabe. Inhalt. 1 Zielsetzung. SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2 JSP Usereingabe SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2 Inhalt 1 Zielsetzung... 1 2 Formulardaten bei dynamischen Webseiten... 2 2.1 Formulare mit HTML kreieren... 2 Formulare können einfach mit

Mehr

DOKUMENTATION. CaptchaAd mit Java. Entpacken und Hochladen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen. Informationen von CaptchaAd

DOKUMENTATION. CaptchaAd mit Java. Entpacken und Hochladen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen. Informationen von CaptchaAd CaptchaAd mit Java Stand: 24. September 2012 Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen gefasst. Mit etwas Programmierkenntnissen

Mehr

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Philipp Tendyra Web Service in kurzen Worten dient der Kommunikation zwischen verschiedenen Systemen

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr