Webbasierte Generierung thematischer Softwarelandkarten

Größe: px
Ab Seite anzeigen:

Download "Webbasierte Generierung thematischer Softwarelandkarten"

Transkript

1 Brandenburgische Technische Universität Cottbus Institut für Informatik Lehrstuhl Software-Systemtechnik Bachelorarbeit Webbasierte Generierung thematischer Softwarelandkarten Web-based generation of thematic maps Beatrice Blaschke Matrikel: Studiengang: ebusiness Ausgabe: Abgabe: Betreuer Prof. Dr. rer.nat. Claus Lewerentz Markus Uhlig M.Sc.

2

3 Eidesstattliche Erklärung Hiermit versichere ich, Beatrice Blaschke, dass ich die vorliegende Bachelorarbeit selbstständig, sowie ohne andere als die angegebenen Quellen und Hilfsmittel angefertigt habe. Alle Ausführungen, die anderen Schriften wörtlich oder sinngemäß entnommen sind, wurden kenntlich gemacht. Cottbus, den 16. Februar 2015 iii

4

5 Abstract Softwarestädte bieten dem Entwickler eine ganzheitliche Sicht auf die Strukturen und Eigenschaften seiner Software. Auf Grund ihrer Darstellung als visuelle Stadt- Metapher ermöglichen sie Analysen und Bewertungen von Qualitätsaspekten während der gesamten Entwicklungszeit. Insbesondere thematische Software-Landkarten sind ein schnell ausführbares und effektives Mittel um gewünschte Informationen einer Software abzuleiten. Denn die Karten sind speziell auf ein Thema zugeschnitten, sodass der Entwickler keine großen Einstellungen mehr vorzunehmen braucht. Bisher werden Software-Landkarten typischerweise eher als Desktop-Applikationen angeboten und haben den Nachteil nicht mobil abrufbar zu sein. Eine Webapplikation als Software-as-a-Service (SaaS) gibt dem Entwickler neben den einheitlich thematischen SW-Landkarten einen Zugriff auf seine externen Projekte sowie eine daraus resultierenden Mobilität. Im Rahmen dieser Arbeit soll daher ein Konzept entwickelt um umgesetzt werden, dass es erlaubt Software-Landkarten auf einem Server zu generieren und Client-seitig in einem Browser zu betrachten und zu navigieren. v

6

7 Inhaltsverzeichnis 1 Einleitung Motivation Zielstellung Aufbau der Arbeit Grundlagen und Stand der Technik SoftUrbs als Webapplikation Unterstützung von CI-Prozessen Verteilung der Programmkomponenten Aufbau von Software-Städten SoftUrbs als Webapplikation Erzeugung einer Software-Landkarte Übertragung der Software-Landkarte Der Server GWT Google Web Toolkit Visualisierung der Karte auf dem Client Der Client Thematische Karten in der Web-Applikation D-Visualisierung mit WebGL Präsentation der Webseite Implementierung des Frontends Implementierung des Backends Ausblick und Fazit 39 vii

8

9 Abbildungsverzeichnis 2.1 Zwei-Schichten-Architektur (two tier model) Bildausschnitt der Desktopapplikation SoftUrbs Beispiel einer Softwarestadt mit einer zirkularen Abbildungsstrategie Beispiel einer Komplexitätskarte Beispiel einer Größenkarte Prozesslandkarte zur Übertragung der Daten Datenformat der geometrischen Stadtelemente Metainformationen über die auf dem Server verfügbaren Projekte Modell zur Übertragung der Geometrien Sequenzdiagramm Ergänzung zur Zwei-Schichten-Architektur (two tier model) Kamera-Szene-Beziehung: Ausrichtung der Kamera Kamera-Szene-Beziehung: erneute Ausrichtung der Kamera Client-Klassen Darstellung einer Softwarestadt auf dem Client Darstellung einer Softwarestadt in der Desktopapplikation Server-Klassen ix

10

11 1 Einleitung 1.1 Motivation Eine Software besitzt im Laufe ihrer Entwicklung verschiedene Stadien. Wie ein Baum mit seinen Altersringen wächst sie - vom ursprünglichen Kern bis hin zu einem dicken Stamm mit Verästlungen. Im Gegensatz zu einem Baum ist die Struktur einer Software nicht immer auf Anhieb erkennbar, besonders wenn sie bereits eine beachtliche Größe erreicht hat. Sie wird undurchschaubar und sobald mehrere Entwickler an einer Software arbeiten, kann eine Qualitätssicherung nicht mehr gewährleistet werden. Erst durch unterstützende Analysewerkzeuge ist es möglich dem entgegenzuwirken. SoftUrbs (ehemals CrocoCosmo 1 ) ist ein solches Werkzeug, welches vom Lehrstuhl für Software-Systemtechnik an der BTU Cottbus-Senftenberg entwickelt wurde. Mittels einer Desktopapplikation stellt das Programm Softwarestädte zur Verfügung, mit denen der Entwickler eine ganzheitliche Sicht auf die Strukturen und Eigenschaften seiner Software erhält. Softwarestädte sind ein probates Mittel und werden seit Jahren teilweise auch in Continuous Integration (CI) Prozessen. Ein CI-Prozess ist der kontinuierliche Prozess, Teile einer Anwendung zusammenzuführen [1]. eingesetzt. Der Entwickler nutzt sie, um Informationen abzuleiten, die bedeutend für die Qualitätssicherung seiner Software sind. Desktopapplikationen haben den Nachteil, dass sie nicht mobil abrufbar sind. Zusätzlich müssen die Tools auf den Rechnern installiert und an die entsprechenden Datenquellen angebunden werden. Mobilität ist jedoch ein wichtiger Bestandteil des alltäglichen Lebens. Vor allem Unternehmen sehen in ihr eine schnellere Handlungsfähigkeit und die Möglichkeit konkurrenzfähig zu bleiben. Webbasierte Anwendungen erfahren daher eine große Beliebtheit, so dass Software-as-a-Service(SaaS)-Angebote sich stetig mehr auf dem Markt verbreiten.[2] Aufgrund dessen soll auch SoftUrbs zu einer webbasierten Anwendung weiterentwickelt werden. Thematische Softwarelandkarten sind ein geeignetes Mittel effizient Softwarestädte generieren zu lassen. Mit Hilfe von vorgefertigten Landkarten kann das gewünschte Nutzungsszenario explizit angesprochen werden. Der Entwickler wird von der Pflicht entbunden, seine Einstellungen in einem Menü selbst vorzunehmen, da die spezifischen Karten 1 projekte/crococosmos/crococosmos-beschreibung.html 1

12 2 1 Einleitung nach Themen kategorisiert sind. Die Überführung des Analysewerkzeugs in eine verteilte Anwendung liegt daher nahe. Thematische Software-Landkarten bieten sich demzufolge hervorragend als SaaS-Modell an. Diese Bachelor-Arbeit beschäftigt sich daher mit der Frage, wie thematische Softwarelandkarten im Web generiert werden können. 1.2 Zielstellung Auf Grund der genannten technischen Anforderungen soll im Rahmen dieser Bachelor- Arbeit eine Spezifikation für die Übertragung thematischer Landkarten zwischen einem Server und Client definiert werden. Neben den geometrischen Informationen und Materialeigenschaften der Stadtelemente müssen ggfs. auch Metadaten der dargestellten Softwareartefakte und abgebildete Metriken übermittelt werden, um thematische Karten auch clientseitig interaktiv zu gestalten. Zusätzlich soll ein Prototyp implementiert werden, der neben einer Übertragung der Kartendaten auch eine navigierbare, dreidimensionale Karte im Webbrowser erlaubt. 1.3 Aufbau der Arbeit Zu Beginn der Arbeit werden grundlegende Fragen und Definitionen geklärt, die dem Leser den Einstieg in das Konzept erleichtern soll. Zudem befasst sich das zweite Kapitel mit dem Stand der Technik, auf dessen Grundlage sich das folgende Konzept, in Kapitel 3, aufbaut. Darin wird erklärt, wie eine thematische Software-Landkarte erstellt, übertragen und auf dem Client visualisiert wird. Es folgt die Präsentation des Frontends auf dem Client. Schließlich folgt das Fazit mit Ausblick.

13 2 Grundlagen und Stand der Technik 2.1 SoftUrbs als Webapplikation SoftUrbs, ehemals Crococosmo, ist ein Entwicklungswerkzeug, das wie im 1. Kapitel erwähnt, dem Entwickler die Chance gibt, eine Software über die Entwicklungszeit hinweg in einer virtuellen Stadt zu analysieren und zu interpretieren. Dazu wird die Software analysiert und in ein Graph-Modell geparst. Durch die Platzierungs- und Abbildungsstrategien entsteht aus dem bearbeiteten Graph-Modell eine Softwarestadt. Die Desktopapplikation kann verschiedene Layouts in einer dreidimensionalen Landschaft mit unterschiedliche Farbeinstellungen und Skalierungen, sogenannten Mappings, als Software-Landkarten abbilden. Dem Entwickler wird dadurch eine breite Palette von Werkzeugmechanismen geboten. Der bisher einzige Nachteil ist, dass diese Applikation nicht online abrufbar ist und auf einem Rechner fest installiert werden muss. Eine webbasierte Applikation, bietet dem Entwickler den Vorteil das Werkzeug nach Belieben zu benutzen. Solche Applikationen sind für den Nutzer als auch für den Anbieter in wirtschaftlicher Hinsicht von Bedeutung. Die eine Partei gewinnt an Mobilität durch Standortunabhängigkeit, geringe bis keine Wartungsarbeiten und geringe IT-Kosten, die andere gewinnt eine stärkere und langfristige Kundenbindung und damit stabile Umsätze. Entwicklungen auf Basis des Cloud Computings erhalten daher immer mehr Aufmerksamkeit. Konzepte wie Software-as-a-Service, kurz SaaS, sind auf diese Art der Zielgruppe ausgerichtet. Der Service gewährleistet dem Kunden online-fähige Standard-Anwendungen, die flexibel skalierbar sind und lediglich individueller Einstellungen bedürfen [2]. SoftUrbs soll sich dem Technologiewandel anpassen, damit auch seine Nutzer die Vorteile einer webbasierten Applikation ausnutzen können. Aufgrund der Verteilung seiner rechenintensiven Prozesse auf einem Server und der Übertragung der fertig inszenierten Karte zum Client, ist SoftUrbs in der Lage, dem Kunden eine solche Flexibilität durch das Angebot von thematischen Software-Landkarten anzubieten. Die Umsetzung in ein solches Geschäftsmodell ergebe gleichzeitig einen erstrebenswerten Service-Gedanken. Der Entwickler kann - egal von wo - rund um die Uhr auf die Entwicklungsinformationen seiner Software zugreifen und wird ebenso davon entlassen die Software auf seinem Rechner zu installieren. Thematische Software-Landkarten als SaaS-Modell wären demnach ein ideales Geschäftsmodell. 3

14 4 2 Grundlagen und Stand der Technik 2.2 Unterstützung von CI-Prozessen In der Softwareentwicklung verwendet man heute im Rahmen seiner Arbeit standardisierte Continuous Integration (CI) Prozesse - insbesondere bei mittleren und großen Systemen. Die Entwickler einer Software verwenden einen CI-Prozess, um in der Integrationsphase am Ende eines Projektes Fehlern und Problemen entgegenzuwirken [3]. Die kontinuierliche Integration beschreibt den Prozess des fortlaufenden Zusammenführens von Komponenten zu einer Anwendung zur Steigerung der Softwarequalität [1]. Durch das Übersetzen und Linken der Anwendungsteile wird automatisch das Gesamtsystem aufgebaut. Das frühzeitige Zusammenfügen einzelner Code-Abschnitte gibt durch die Übersetzung und der automatisierten Ausführung von Tests dem Entwickler sehr schnelles Feedback über vermeintliche Fehler bei der Integration. Ein automatisierter Build und automatisch ausgeführte Tests, stellen sicher, ob die Integration erfolgreich war. Die Versionsverwaltung wird von dem CI-System überwacht, welches sofort Meldungen an die Entwickler sendet, wenn die Integration, z. B. aufgrund eines nicht fehlerfreien Tests, auf dem Team-Server fehlschlug [1]. In der Software-Entwicklungsbranche gibt es viele verschiedene CI-Systeme, wie zum Beispiel Bamboo, Hudson/Jenkins, TeamCity. SoftUrbs kann die evolutionären Eigenschaften einer Software visualisieren. Man erkennt, wie sich das Programm von Version zu Version weiterentwickelt hat. Aus Managementsicht ist das ein besonders wichtiger Aspekt, denn er zeigt, wie Zeit und damit auch Geld in einzelne Programmteile investiert wurden. Weiter bietet SoftUrbs aus Entwicklersicht viel informatives Wissen zu Qualitätsaspekten. Grundsätzlich gilt, dass SoftUrbs in vielerlei Hinsicht in CI-Prozessen einsetzbar ist. Des Weiteren ist es vorstellbar SoftUrbs in bestehende Dashboards, wie z. B. SonarQube, zu integrieren. 2.3 Verteilung der Programmkomponenten Als webbasierte Applikation wird SoftUrbs in mehrere Anwendungen geteilt. Der Browser stellt den Client dar, der seine Informationen vom Server bezieht. Durch die Verteilung der Programmkomponenten wird das komplexe Programm in einem sogenannten verteilten System ablaufen. Mehrere Rechner erhalten Zugriff auf Informationen und können diese so untereinander austauschen. Der grundlegende Ablauf einer Kommunikation zwischen den Client und Server sieht folgendermaßen aus: Ein Prozess, der Client, fordert eine Operation oder einen Service von einem anderen Prozess, dem Server, an. Nach Erhalt einer Anwendungsnachricht führt der Server den angeforderten Service aus und gibt dem

15 2.3 Verteilung der Programmkomponenten 5 Client ein Resultat oder das Ergebnis des Service zurück. Dieses einfache Client-Server-Modell führt zu einer Reduktion auf mehrere Clients und einem Server, und es legt fest, wie eine Anwendung einen Service eines Servers in Anspruch nehmen kann. Möglichkeiten des Client-Server-Modells liegen in der Beschränkung, dass ein Client nur einen individuellen Service in Anspruch nehmen kann und ein Prozess entweder als Client oder nur als Server agieren kann [4, Seite 28]. Eine verteilte Anwendung entsteht nur dann, wenn einzelne Aufgaben auf Softwarekomponenten ausgelagert und dort bearbeitet werden. Schichtenmodelle definieren die Client-Server-Beziehung und wer welche Funktionalitäten zu erfüllen hat. Verschiedene Komponenten können aus einer verteilten Anwendung ermittelt werden - wie die Benutzeroberfläche, das Benutzerinterface, die Verarbeitung, das Datenmanagement und die persistente Datenspeicherung. Sie bilden das Netzwerk, in dem die Komponenten auf Client und Server aufgeteilt werden müssen. Benutzerinterface Verarbeitung, Applikationslogik Grafische Benutzeroberfläche Datenmanagement Daten Client Server Netzwerk Quelle: Eigendarstellung, Anlehnung an G. Bengel - Grundkurs Verteilte Systeme Abbildung 2.1: Zwei-Schichten-Architektur (two tier model) In der Zwei-Schichten-Architektur (two tier model) kommen Thin Clients, Applet Clients, Fat Clients sowie Null Clients zum Einsatz. Allerdings findet man in der Praxis auch verteilte Anwendungen als mehrschichtige Anwendungen (multi tier model), da diese bessere Skalierbarkeit beim Server und den Einschluss von webbasierten Technologien ermöglichen [4]. Beim Null Client wird der Client vom Server zwischen der graphischen Benutzeroberfläche und dem Benutzerinterface getrennt. Der Client übergibt nur Tastaturanschläge und Mausbewegungen an den Server [4]. Der Thin Client trennt die beiden Schichten zwischen Benutzerinterface und der Anwendung [4]. Beim Applet Client übernimmt der Client neben dem Benutzerinterface Teile der Applikationslogik in Form eines Applets und

16 6 2 Grundlagen und Stand der Technik beim Fat Client teilt sich der Client die Applikationslogik mit dem Server oder übernimmt sie ganz, sodass der Server nur einen File- oder Datenbank-Server darstellt [4]. Die Schichtenarchitekturen geben vor, wer mit wem kommuniziert und stellen damit eine genaue Ablauforganisation auf, die dem Austausch von Informationen dient. Der Austausch benötigt ferner ein Zusammenspiel der Softwarekomponenten - eine kooperative Verarbeitung. Für eine erfolgreiche Kommunikation bedarf es einer entsprechenden Koordinierung, die durch folgende Verfahren technologisch unterstützt werden kann: Nachrichtenübertragung (Message Passing), entfernte Prozeduraufrufe (Remote Procedure Call, RPC), entfernte Methodenaufrufe (Remote Method Call, RMC), entfernte Komponentenaufrufe durch Bereitstellung eines Interfaces (Remote Interface Call, RIC), webbasierte Methoden zur Übertragung von Dokumenten und Java-Code im Internet, Suchen und Aufrufen von Web Services (Web Service Call, WSC) [4]. Der simple Übertragungsaustausch von Nachrichten wird durch das Message Passing realisiert. Es kann synchrone als auch asynchrone Nachrichten zwischen Sender und Empfänger austauschen und die persistent auf der Platte oder nicht-persistent im Hauptspeicher zwischenspeichern. Für den synchronen Nachrichtenaustausch verwenden die Nachrichtenübertragungssysteme TCP/IP-Sockets. Für den asynchronen Austausch wird die Übertragung durch den Zwischenspeicher umgesetzt. Voraussetzung für die Verwendung des Message Passing ist, dass bereits ein verteiltes System existiert.[4] Zur Bildung eines verteiltes Systems verwendet man entfernte Prozeduraufrufe. Ein Programm versteht sich als eine nicht verteilte monolithische Anwendung die genauer betrachtet eine Ansammlung von Prozeduren ergibt. In einer verteilten Anwendung werden die Prozeduren in Prozeduraufrufe (Clients) und in die Prozedur selbst (Server) geteilt. Nach der Aufteilung des Programms in Aufruf und Verarbeitung wird die eingangs existierende monolithische Struktur in eine Client-Server-Struktur weiterentwickelt. Um eine Prozedur auf einer anderen Maschine aufrufen zu können, wird die Verwendung von Remote Procedure Calls vorausgesetzt.[4] Für die Weiterentwicklung von SoftUrbs von der Desktopapplikation in eine Webapplikation wird es daher unumgänglich sein, die einzelnen Programmteile in Aufrufe und Aufgabenverarbeitung aufzuteilen und Remote Procedure Calls zu verwenden. Welche weiteren Übertragungsmethoden für eine Umsetzung notwendig sind, werden in der Konzeption und Implementierung aufgezeigt.

17 2.4 Aufbau von Software-Städten Aufbau von Software-Städten Thematische Softwarelandkarten bauen auf dem Prinzip der Software-Städte auf. Sie ermöglichen es erst, Programmiercode in eine dreidimensionale Stadtlandschaft umzusetzen. Die Bedeutung und der Aufbau einer solchen Software-Stadt sind demnach Grundlage für die Entwicklung thematischer Software-Landkarten. Software-Städte sind ein probates Mittel, das dem Entwickler eine ganzheitliche Sicht auf die Strukturen und Eigenschaften seiner Software bietet. Weil die Software- Entwicklung ein komplexer Prozess von der Anforderungserhebung bis hin zu langfristigen Wartungsaktivitäten ist, werden sie als Analysewerkzeug unter anderem in CI-Prozessen zur Überprüfung von Qualitätsmerkmalen eingesetzt. Sie unterstützen den Entwickler den Software-Entwicklungsprozess zu steuern und ihn über den Bau oder über die Instandhaltung des Software-Produktes zu informieren. Dafür wird der aktuelle Entwicklungsstand vieler Dokumente und Daten der Software auf unterschiedlichen Detailebenen und unterschiedlich beschriebenen Perspektiven verwendet [5]. Softwarestädte sind zudem eine von mehreren Techniken evolutionäre Daten zu visualisieren. Allerdings wird im Rahmen dieser Bachelor-Arbeit nur das Analysewerkzeug SoftUrbs, vom Lehrstuhl Software-Systemtechnik der BTU Cottbus - Senftenberg, und die damit verbundene Visualisierungstechnik betrachtet. SoftUrbs ist eine Desktopapplikation zur Analyse von Software-Systemen in Softwarestädten. Eine Softwarestadt ist, wie der Name schon sagt, eine Abbildung einer Stadt. Es handelt sich dabei um eine dreidimensionale Abbildung des Quellcodes einer Software. Der Aufbau einer Softwarestadt in SoftUrbs wird in drei Modelle gegliedert. Die Grundlage bildet die statische Softwarestruktur, das so genannte logische primäre Modell. Es zerlegt das zu analysierende System in Module und stellt die Abhängigkeiten zwischen ihnen dar. Das zweite Modell ist das geometrische sekundäre Modell. Es stellt 3D-Geometrien aufbauend auf den Daten des primären Modells dar, welches die Hauptstruktur und evolutionären Eigenschaften des Software-Systems einnimmt. Die entstehende Gestalt in diesem Modell wird hauptsächlich von den speziellen Layouts der Software-Elemente beeinflusst. Diese Layouts werden aus vier möglichen Aspekten des primären Modells generiert: Aus der Zerlegung der Hierarchie, aus den Eigenschaftselementen, aus den Abhängigkeiten, wie Aufrufen, Zugriffsrelationen oder Typ-Vererbungsrelationen oder aus der Entwicklungszeit [5]. Das 2. Modell ist die Basis für das tertiäre Modell. Das tertiäre Modell kann sehr unterschiedliche Visualisierungen annehmen. Jedes davon wurde entworfen, um ein spezifisches Nutzerszenario zu unterstützen. SoftUrbs verwendet zwei verschiedene Einstellungen, um das tertiäre Modell aus dem sekundären Modell zu kreieren - zum einen die Dekoration und zum anderen die Projektion. Bei der Dekorationseinstellung wird das vollständige sekundäre Modell als Basis verwendet. Doch um visuelle Eigenschaften, wie Farbe oder Textur, zu ändern, benötigt das Modell Daten des

18 8 2 Grundlagen und Stand der Technik primären Modells. Die Projektionseinstellung baut ebenso auf dem sekundären Modell auf. In dieser Einstellung wird das Modell mit 2D-Komponenten wie Icons, Charts oder Diagrammen ergänzt [5]. Die sogenannte dreistufige kartografische Modellierungskette baut daraufhin systematisch eine Software-Stadt auf, ausgehend von den Informationen eines Software- Systems. Für diese Städte bietet sich eine breite Palette an unterschiedlichen Nutzungsszenarien an, die auf einer gemeinsamen Grundlage über die Kommunikation der Software sowie über die Lokalisierung von Produkteigenschaften (wie Größe oder Qualitätsindikatoren) und Prozessereignissen (wie Fehler finden oder Änderungen machen) basiert [5]. Ein Ergebnis dieser Zusammenführung von den drei verschiedenen Modellebenen ist in der Beispielabbildung 2.2 zu sehen. Auf diesen grundlegenden Anforderungen sowie dem dreistufigen kartografischen Modell werden Software-Städte im Analysewerkzeug SoftUrbs generiert und dürfen bei der Erstellung der thematischen Software-Landkarten nicht vernachlässigt werden. Die Unterscheidung und Bedeutung dieser Modelle ist für die Konzeption und Implementierung der thematischen Software-Landkarten von entscheidender Bedeutung. Sie entscheiden, in welchem Zustand die Daten sind, wenn sie für eine Übertragung zum Client bereitstehen. Die Ergebnisse, die in dieser Bachelor-Arbeit erworben werden, werden daher ausschließlich auf dem Programm SoftUrbs aufbauen. Die derzeitige Desktopapplikation von SoftUrbs bietet viele verschiedene Abbildungsmechanismen. Diese werden durch die Wahl des Layouts, durch Abbildungsstrategien sowie Szenario-orientierte Gebäude spezifiziert. In der Abbildung ist eine Softwarestadt zu sehen, deren Geometrien unterschiedliche Bedeutungen haben. Die Türme bzw. Gebäude bilden die Klassen oder Module eines Programmcodes. Bei allen Platzierungsstrategien gilt, wenn die Gebäude sehr nah aneinander stehen, gehören sie zu einer gemeinsamen Komponente. Diese sind wiederum mit anderen Komponenten durch Straßen oder Packings verbunden. Im Ausschnitt 2.2 sieht man eine Stadt mit dem Layout EvoStreets. Die Gebäude sind mit den anliegenden Straßen verbunden. Welche sinnbildlich aus Neben- und Hauptstraßen bestehen. Sie stellen die Beziehungen der einzelnen Klassen zueinander dar. Die Hierarchie ist links in einer Navigationsleiste zu finden. Zudem sind die Gebäude unterschiedlich farbig. Je stärke die Farbe in den roten Bereich rückt, desto mehr Codezeilen hat diese Klasse (LOC).

19 2.4 Aufbau von Software-Städten 9 Quelle: Eigendarstellung Abbildung 2.2: Bildausschnitt der Desktopapplikation SoftUrbs Die Desktopapplikation besitzt eine Symbolleiste mit der man Konfigurationen in der Ansicht vornehmen kann. Dazu gehört u. a. die Veränderung des Layouts, der Zeitpunkt der Visualisierung mittels Zeitleiste oder das Szenario-orientierte Abbilden der Gebäude. Das Layout kann die Anordnung der Gebäude verändern. Dafür gibt es verschiedene Platzierungstypen, wie linear, zirkular oder kürzeste Distanz. Die Wahl der Abbildungsstrategien richtet sich nach dem Informationsbedarf des Nutzers. Nicht jedes Projekt, kann mit allen Abbildungsstrategien dargestellt werden, da jeder Programmcode von Projekt zu Projekt unterschiedlich ist. Welche Abbildungsstrategien möglich sind, wird auch in der Konzeption für die Webkomponente eine wichtige Rolle spielen. Jedoch werden die Layouts der einzelnen Softwarelandkarten vorgegeben. Denn ein Ziel dieser Arbeit ist es ebenso, dem Entwickler einen schnellen Zugang zu Softwarekarten zu ermöglichen. Das bedeutet neben dem mobilen Aspekt auch, dem Entwickler durch die Webkomponente ohne müßige Konfigurationseinstellungen Karten zu präsentieren, die gezielt auf ein Thema abgestimmt sind. Daher werden sie auch thematische Softwarelandkarten genannt.

20

21 3 SoftUrbs als Webapplikation 3.1 Erzeugung einer Software-Landkarte In diesem Kapitel wird SoftUrbs als Webapplikation konzeptioniert. Es wird erörtert, wie man eine Software-Landkarte auf dem Client erzeugt und wie die Daten bis zu ihm gelangen. Dazu werden technische Möglichkeiten vorgestellt, die sich für eine initiale Implementierung eigenen. Um herauszufinden auf welchem Weg man Software-Landkarten in einem Browser erzeugt, muss man zuvor verstehen, wie der bereits existierende Erzeugungsprozess in der Desktopapplikation funktioniert. Eine desktopbetriebene Software besteht im Grunde aus mindestens zwei Teilen: der grafischen Benutzeroberfläche mit Interaktionsspielraum und dem rechnenden im Hintergrund liegenden Part, der zur Ausführung des Programms Prozesse startet, die Daten verwaltet und mit der Hardware kommuniziert [4]. Die gesamte Kommunikation findet zumindest auf einem Rechner statt und ist von außen nicht erreichbar, bzw. steuerbar. Der Aufbau einer Webapplikation ist ähnlich. Sie teilt sich jedoch in einem gewissen Punkt. Ein Teil liegt auf dem Client und ein anderer auf dem Server. Der Client verfügt über die grafische Oberfläche, während der Server mit der Verarbeitungslogik und der Datenbank arbeitet. Webapplikationen haben den Vorteil mobil zu sein. Der Nutzer kann jederzeit auf die Software zugreifen, während der Anbieter Ressourcen spart. Mit Hilfe eines Konzepts soll SoftUrbs nun um eine Webapplikation erweitert werden. Zur Integration einer Web-Anwendung benötigt man folgende Überlegungen: In welchen Programmiersprachen findet die Implementierung statt? Wie werden welche Daten übertragen? Wie werden die Daten aus der bestehenden Software entnommen und in welchem Zustand sollen diese sein? Erfolgt die Berechnung der Stadt auf dem Client oder auf dem Server? 11

22 12 3 SoftUrbs als Webapplikation Erzeugung einer Karte in der Desktopapplikation SoftUrbs ist eine Java-Applikation, die aus verschiedenen externen Quellen (zum Beispiel SonarQube, SVN oder Git) Informationen mittels Extraktoren herauslesen kann. Hierzu analysiert und zerlegt es die Informationen aus der Quelle, um aus einer Software die Codestruktur in ein Graph-Modell zu überführen. Bei den Informationen handelt es sich um ein System bzw. eine Software, das in sich Abhängigkeiten zwischen einzelnen Teilen verbirgt. Das aus der Zerlegung entstehende Graph-Modell, auch Datenmodell genannt, ist ein hierarchischer, attribuierter und gezeiteter Graph. Zudem stellt es das primäre Modell dar und wird damit zur Basis für die Erstellung der dreidimensionalen Software-Landkarte. Ein Graph besteht aus Knoten und Kanten. Weil sich ein System im Laufe der Zeit verändert, in dem es sich zum Beispiel vergrößert, enthält der Graph Informationen, wann ein Knoten hinzugefügt oder entfernt wurde. Hierbei unterscheidet SoftUrbs die Attribute zwischen zeitabhängig und zeitunabhängig. Die Anzahl der Codezeilen ist beispielsweise zeitabhängig, während die Tiefe eines Knotens in der Hierarchie hingegen zeitunabhängig ist. Das Graph-Modell wird mit Hilfe verschiedener Platzierungsstrategien (Layouts) in ein geometrisches Modell überführt. Hierfür werden Layouter verwendet, welche die Elemente im Raum platzieren. SoftUrbs unterscheidet verschiedene Arten von Platzierungsstrategien. Eine Strategie ist die Gebäude der Softwarestadt auf eine Art Plateau aufzubauen. Sie heißen Packings und stellen Komponenten dar. Hier finden sich die Kinder eines Knotens wieder, dessen Zusammengehörigkeit durch ihre räumliche Nähe unterstützt wird. Des Weiteren ist es möglich, die Gebäude mit ihren Packings kreisförmig aufzustellen. Im Kern der zirkularen Abbildung befinden sich die größten Packings, also eine Komponente mit den meisten Klassen (siehe Abb. 3.1). Eine weitere Strategie ist die Gebäude der Stadt mit Straßen zu verbinden, wie in EvoStreetsLayout, das bereits schon im 2. Kapitel vorgestellt wurde (siehe Abb. 2.2). Nach der Platzierungsstrategie folgt die Abbildungsstrategie (Mapping). Das Mapping wird auf die Gebäude der Stadt angewandt. Sie bilden die numerischen Werte auf die geometrischen Freiheitsgrade wie Breite, Tiefe, Höhe und Farbe ab. Das heißt, es werden die quantitativen Eigenschaften ausgelesen und auf geometrische Eigenschaften abgebildet. Die vorhandenen Kennzahlen aus dem Datenmodell entscheiden welche Softwarelandkarten darstellbar sind und welche nicht. Diese Entscheidung betrifft auch Karten, die der Client zur Verfügung stellen wird. Der Client kann dem Entwickler keine Karten zur Auswahl stellen, die mit dem Projekt nicht visualisierbar sind. Eine Karte ist die Abbildung einer Software-Landkarte, die wiederum eine Softwarestadt ist, die eine konkrete Frage beantworten soll. Eine konkrete Frage ist zum Beispiel: Wurde die Software zu kompliziert programmiert, dass Außenstehende sie nicht mehr verstehen können? Wurde der Programmcode ausführlich kommentiert? Haben die Klassen zu viele Codezeilen?

23 3.1 Erzeugung einer Software-Landkarte 13 Quelle: Eigendarstellung Abbildung 3.1: Beispiel einer Softwarestadt mit einer zirkularen Abbildungsstrategie In der Web-Applikation werden dem Entwickler unterschiedliche thematische Software- Landkarten zur Verfügung gestellt, die bestimmte Themengebiete abdecken sollen. In der desktopbetriebenen Software, gibt es dazu keine konkrete Auswahl. Der Entwickler übernimmt die Konfigurationen selbst, in dem er beim Mapping die Werte eigenhändig einstellt. Allerdings gilt das nur für die SoftUrbs-Version, die für diese Bachelor-Arbeit bereitgestellt wurde. Anhand der folgenden Beispiele 3.2 und 3.3 kann man erkennen, wie eine Komplexitätskarte und eine Größenkarte nach Einstellung des Louyouts und Mappings aussehen kann.

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Dr. Marc Rennhard Institut für angewandte Informationstechnologie Zürcher Hochschule Winterthur marc.rennhard@zhwin.ch Angriffspunkt

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 Projektbezeichnung Projektleiter Verantwortlich - Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 MSP-13 - Integration eines Semantischen Tagging Systems in Microsoft Sharepoint Martin

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Kontinuierliche Architekturanalyse. in 3D

Kontinuierliche Architekturanalyse. in 3D Kontinuierliche Architekturanalyse in 3D Stefan Rinderle Bachelor an der HS Karlsruhe Master "Software Engineering" in München / Augsburg Seit 2013 bei Payback 2 Software-Visualisierung Visualisierung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

TECHNISCHE PRODUKTINFORMATION CARUSO

TECHNISCHE PRODUKTINFORMATION CARUSO 1111 TECHNISCHE PRODUKTINFORMATION CARUSO TECHNISCHE PRODUKTINFORMATION Seite 0/7 Inhalt 1 Systemdefinition............2 2 Technische Details für den Betrieb von CARUSO......2 2.1 Webserver... 2 2.2 Java

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Agenda. Ingo Ebel (ie007) Benjamin Müller (bm032) Was ist AJAX? Sicherheit Vor- und Nachteile. AJAX Frameworks. Wozu benötigt Client/Server

Agenda. Ingo Ebel (ie007) Benjamin Müller (bm032) Was ist AJAX? Sicherheit Vor- und Nachteile. AJAX Frameworks. Wozu benötigt Client/Server AJAX Agenda Ingo Ebel (ie007) Was ist AJAX? Wozu benötigt Client/Server Sicherheit Vor- und Nachteile Benjamin Müller (bm032) AJAX Frameworks GWT ATF Ingo Ebel - ie007 2 Web 2.0 Ingo Ebel - ie007 3 Ingo

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013 Software Komponenten FS13 Gruppe 03 Horw, 24.05.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Adresse Telefon

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

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

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen MiGo-Portal V2.21 Produkt-Sheet Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen Unser aktuelles Portal-System für Ihre individuelle Homepage. Dieses Portal bietet die Möglichkeit verschiedene

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Programmierprojekt Aufgabe 1

Programmierprojekt Aufgabe 1 v01 10.05.2009 Die Formalitäten vorab (WICHTIG!!!): Technische Universität Darmstadt Fachbereich Informatik Prof. Dr. Johannes Fürnkranz Allgemeine Informatik 2 im SS 2009 Programmierprojekt Aufgabe 1

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Architektur einer GDI: Service-oriented Architecture (SOA)

Architektur einer GDI: Service-oriented Architecture (SOA) Modul 6: Voraussetzungen einer GDI Vertiefende Dokumente I Stand: 24.01.2012 Architektur einer GDI: Service-oriented Architecture (SOA) Zu den Hauptargumenten für eine Geodateninfrastruktur zählen unter

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Mitarbeiterprofil PG0225

Mitarbeiterprofil PG0225 Kurzprofil Senior - PHP/JAVA Entwickler für Backend sowie (Web)-Frontend ist ein ideenreicher Entwickler, der komplexe Sachverhalte schnell erfasst und Softwarelösungen konzeptionell sicher und zeiteffizient

Mehr

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...

Mehr

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem

Mehr

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks. DRUPAL 7 AJAX FRAMEWORK Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks AJAX Beispiele Fragen: Gibt es jemanden der noch gar keine Erfahrungen

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

Mehr

Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic

Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic TUTORIAL BAUTEIL REPARATUR Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic Stand 10/2010 netfabb Studio Basic Version 4.6.0 Vorwort Die STL-Schnittstelle (Standard Triangulation Language) oder

Mehr

Animation der Montage von CATIA-Bauteilen

Animation der Montage von CATIA-Bauteilen Animation der Montage von CATIA-Bauteilen KONZEPTION UND PROTOTYP PRÄSENTATION ZUM PRAXISPROJEKT SS 2007 VON TIM HERMANN BETREUER: PROF. DR. HORST STENZEL Motivation Voraussetzungen Ziele Datenkonvertierung

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Appery.io Mobile Apps schnell und einfach entwickeln

Appery.io Mobile Apps schnell und einfach entwickeln Appery.io Mobile Apps schnell und einfach entwickeln Cloud-basierte Entwicklungsumgebung, keine lokale Installation von Entwicklungsumgebung nötig. Technologie: HTML5. JQuery Mobile, Apache Cordova. Plattformen:

Mehr

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Aktuelle Sicherheitsprobleme im Internet

Aktuelle Sicherheitsprobleme im Internet Herbst 2014 Aktuelle Sicherheitsprobleme im Internet Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Rainer Telesko - Martin Hüsler 1 Inhalt

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Virtuelle StruxureWare Data Center Expert-Appliance Der StruxureWare Data Center Expert-7.2-Server ist als virtuelle Appliance verfügbar, die auf

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Lastenheft. Zielbestimmungen. Produkteinsatz. swp11-4. 3. Mai 2011. Franz Teichmann, Robert Röÿling swp11-4 3. Mai 2011

Lastenheft. Zielbestimmungen. Produkteinsatz. swp11-4. 3. Mai 2011. Franz Teichmann, Robert Röÿling swp11-4 3. Mai 2011 Lastenheft swp11-4 3. Mai 2011 Zielbestimmungen In der heutigen Geschäftswelt stehen mittelständische Unternehmen vor dem Dilemma, einerseits interne und externe Kommunikation in angemessener Weise gewährleisten

Mehr

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

Automatisches Exploratives Testen von Webanwendungen

Automatisches Exploratives Testen von Webanwendungen Automatisches Exploratives Testen von Webanwendungen Dr. Valentin Dallmeier IT-Themenabend - 2013-10-01 AG Produkte und Dienstleistungen für die Qualitätssicherung von Software. AG Dr. Valentin Dallmeier

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

Projektthema: Modul Programmiersprachen (Java)

Projektthema: Modul Programmiersprachen (Java) Projektthema: Modul Programmiersprachen (Java) Thema: Fliegender Ball Entwickeln Sie ein Java- Programm mit dem Namen FliegenderBall. Dieses zeigt einen Ball, der sich über die Bildfläche bewegt und an

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Buzzword Bingo Game Documentation (Java based Game)

Buzzword Bingo Game Documentation (Java based Game) Buzzword Bingo Game Documentation (Java based Game) Meppe Patrick Djeufack Stella Beltran Daniel April 15, 2011 1 Inhaltsverzeichnis 1 Einleitung 3 2 Aufgabenstellung 3 3 Allgemeines zu Buzzword Bingo

Mehr

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse Felix Kopp Orientierung Veröffentlichen und Aktualisieren ohne Programmierkenntnisse Bestehende Internet-Seite aktualisieren. oder

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

1.2.1 Gestaltpsychologie

1.2.1 Gestaltpsychologie 1.2 Gestaltgesetze 1.2.1 Gestaltpsychologie... 40 1.2.2 Gesetz von der einfachen Gestalt... 41 1.2.3 Gesetz der Nähe... 42 1.2.4 Gesetz der Gleichheit... 43 1.2.5 Gesetz der Geschlossenheit... 44 1.2.6

Mehr

M i t a r b e i t e r p r o f i l (Stand: August 09)

M i t a r b e i t e r p r o f i l (Stand: August 09) M i t a r b e i t e r p r o f i l (Stand: August 09) KB-M1-Java134 Schwerpunkte / Spezialisierung: Softwareentwickler Java / J2EE Swing JSF JavaScript Verfügbarkeit (skalierbar): Ab sofort Ausbildung:

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

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

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

4. Verwendete Methoden und Werkzeuge

4. Verwendete Methoden und Werkzeuge 4. Verwendete Methoden und Werkzeuge In diesem Kapitel werden die verschiedenen Methoden und Werkzeuge vorgestellt, die bei der Realisierung der Mediathek eingesetzt wurden. Zuerst werden die Grundlagen

Mehr