Leopold-Franzens-Universität Innsbruck. Administration Shell & Assigning physical nodes to a virtual structure

Größe: px
Ab Seite anzeigen:

Download "Leopold-Franzens-Universität Innsbruck. Administration Shell & Assigning physical nodes to a virtual structure"

Transkript

1 Leopold-Franzens-Universität Innsbruck Institut für Informatik Verteilte und Parallele Systeme Administration Shell & Assigning physical nodes to a virtual structure Bakkalaureatsarbeit eingereicht bei Univ.-Prof. Dr. Thomas Fahringer ausgearbeitet von Philipp Vallant, Innsbruck, 30. September 2007

2 Kurzfassung Diese Bakkalaureatsarbeit wurde am Institut für Informatik an der Leopold- Franzens-Universität in Innsbruck eingereicht. Ziel war die Entwicklung eines Tools mit grafischer Benutzeroberfläche zur Verwaltung von Network Agents, welche zur Überwachung von Systemparametern dienen und auf beliebig vielen Rechnern verteilt abgearbeitet werden. Dieses Tool (die so genannte Adminstration Shell ) fungiert dabei als zentrale GUI für alle Network Agents, da diese über kein eigenes User Interface verfügen. Diese Kombination aus dem Network Agent System (NAS), der Administration Shell und dem Object Agent System (OAS) (welches in einer anderen Bakkalaureatsarbeit implementiert wird) bietet eine Grundlage für die einfache und schnelle Erstellung von verteilten Anwendungen. Ein weiteres Ziel war die Entwicklung eines Algorithmus, welcher den zur Laufzeit vom Programmierer einer verteilten Anwendung angeforderten Virtuellen Architekturen entsprechende, real existierende physikalische Ressourcen zuweist, mit Hilfe derer die verteilte Anwendung parallelisiert werden soll. Abstract This bachelor thesis has been submitted at the Institute of Computer Science at the Leopold-Franzens-University in Innsbruck. The main subject was the development of a tool with a graphical user interface for administrating Network Agents, which are used to observe system parameters and are running on a various number of computers. This tool (called Administration Shell ) is the central GUI for all network agents. The combination of the Netwotk Agent System (NAS), the Administration Shell and the Object Agent System (OAS) (implemented in another bachelor thesis) is a basis for easy and fast development of distributed applications. An additional subject was the development of an algorithm for assigning physical nodes (resources) to virtual structures requested by a programmer for developing distributed applications.

3 Inhalt Kapitel Einleitung Aufbau Network Agent System Administration Shell Object Agent System Programmiersprache Entwicklungsumgebung Eclipse Jigloo Literaturstudium...8 Kapitel Implementierung der Administration Shell Allgemeines Motivation Warum SWT? Pflichtenheft Musskriterien Sollkriterien Aufbau und Funktion Liste der Network Agents Physical Architecure Kommunikation per RMI...19 Kapitel Assigning physical nodes to a virtual structure Allgemeines Virtuelle Architekturen Physikalische Architektur Der Algorithmus Begriffe Aufbau / Funktionsweiße Beispiele...28

4 Kapitel 1 Einleitung Abb. 1: Nachbau der Zuse Z3 Als Konrad Zuse im Jahr 1941 seine Zuse Z3 fertig stellte, die heute als der erste funktionsfähige, programmierbare und turingmächtige Digitalrechner der Welt gilt 1, dachte er wohl kaum daran, dass nur knapp 60 Jahre später in nahezu jedem Haushalt der industrialisierten Welt eine etwas weiterentwickelte Version seines damaligen Entwurfes stehen wird. Noch viel weniger dachte er wahrscheinlich daran, dass ein für damalige Verhältnisse utopischer Supercomputer, wie er heutzutage auf und unterhalb unserer Schreibtische zu finden ist, trotz seiner vergleichsweißen enormen Rechenleistung sehr schnell an seine Grenzen stoßen kann. Denken wir beispielsweiße an komplexe wissenschaftliche Simulationen zur Entstehung von Galaxien, oder die Frage, ob es sich bei der Mersenne-Zahl (eine Zahl mit Ziffern) auch tatsächlich um eine Mersenne- Primzahl handelt. Dinge, deren Berechnung auf einem einzelnen, handelsüblichen 1

5 Einleitung 2 Rechner derart lange dauern würde, dass nach Abschluss der letzen Rechenoperation wohl niemand mehr am tatsächlichen Ergebnis interessiert wäre. Um solche Probleme dennoch in annehmbarer Zeit lösen zu können gibt es verschiedene Möglichkeiten: Supercomputer / Cluster : Sie bestehen meist aus einer sehr großen Anzahl von Prozessoren, welche auf gemeinsame Peripheriegeräte und teilweise gemeinsamen Speicher zugreifen. Der derzeit schnellste Supercomputer der Welt BlueGene/L besteht beispielsweiße aus über Prozessoren und bewältigt ca. 280 Billionen Gleitkommaoperationen pro Sekunde (280 x FLOPS). Solche Computer werden meist speziell für wissenschaftliche Simulationen konzipiert. Sie sind gut, jedoch nur begrenzt skalierbar und nicht zuletzt sehr kostenintensiv. Allein der Aufbau einer Anlage verschlingt meist Beträge im 3-stelligen Millionenbereich. [1] Verteiltes Rechnen oder Grid Computing : Die einzelnen Berechungen werden auf viele, meist handelsübliche Rechner aufgeteilt. Während sich bei den Supercomputern sämtliche Hardware an einem bestimmten Standort befindet, können sich beim Verteilten Rechnen die Ressourcen beliebig weit voneinander entfernt befinden, und über ein WAN miteinander verbunden sein. Weite Übertragungsstrecken sowie geringe Übertragungsgeschwindigkeiten können hierbei zu einem erheblichen Zeitoverhead führen. Jedoch ist das Grid aufgrund der verteilten Standorte nahezu unbegrenzt Skalierbar und der Aufbau im Vergleich zu Supercomputern wesentlich kostengünstiger, da sich die Ressourcen meist im Besitz von vielen Einzelpersonen befinden, die ihre Rechner kostenlos zur Verfügung stellen. Während Supercomputer oder Cluster nach Außen hin häufig wie ein einziger Rechner aussehen, ist es beim Verteilten Rechnen nötig, das gesamte Problem in Teilprobleme zu zerlegen, Parameter, wie zum Beispiel binäre Objekte, an die einzelnen Workstations

6 Einleitung 3 zu versenden, welche aufgrund dieser Daten wiederum Teilergebnisse berechnen und schlussendlich wieder zurück an die Zentrale senden. Damit sich der Programmierer einer verteilten Anwendung nicht jedes Mal aufs Neue um diese Funktionalität selbst kümmern muss, ist es nötig, ihm ein Werkzeug zur Verfügung zu stellen welches ihm ermöglicht, dynamisch zur Laufzeit die für seine Berechnung notwendigen Ressourcen anzufordern, seinen Programmcode in binärer Form auf den zur Verfügung gestellten Rechnern zu verteilen, welche schlussendlich die gewünschten Teilergebnisse berechnen und liefern. Sprich: Dem Programmierer sollte durch das Parallelisieren seiner Aufgabe kein erheblicher Mehraufwand entstehen. Doch wie könnte so ein System aussehen und welche Anforderungen müsste es erfüllen? Mit dieser Frage, sowie der Planung, dem Entwurf und der Realisierung eines solchen Systems, bzw. bestimmter Teile eines solchen Systems habe ich mich während meiner praktischen Arbeit beschäftigt Aufbau Als Grundlage und Inspiration für das zu entwickelnde System, beziehungsweiße dessen Aufbau diente in erster Linie JavaSymphony, ein Programmierparadigma entwickelt am Institut für Distributed an Parallel Systems der Universität Innsbruck. Implementiert als Java Klassenbibliothek bietet es dem Benutzer die Möglichkeit, selbst parallelisierte Anwendungen zu implementieren und zu kontrollieren. Die folgende Grafik zeigt den Aufbau von JavaSymphony :

7 Einleitung 4 Abb. 2: JavaSymphony Angelehnt an den Aufbau von JavaSymphony, besteht das entwickelte / teilweiße noch zu entwickelnde System aus folgenden Teilbereichen: Network Agent System Beim Network Agent oder kurz NA handelt es sich um ein Programm, welches auf jedem Rechner, der für die Parallelisierung, also als Ressource, genutzt werden soll, installiert und gestartet sein muss. Seine Aufgabe liegt grundsätzlich darin, statische und dynamische Systemparameter zu ermitteln, zu sammeln und zu überwachen. Zu den statischen Systemparametern zählen zum Beispiel: Verwendetes Betriebssystem (Name, Version) Java-Version Hardware Informationen wie CPU Taktfrequenz, Größe des Arbeitsspeichers

8 Einleitung 5 Weiters werden dynamische Systemparameter ermittelt, wie zum Beispiel: CPU-Auslastung Verfügbarer Arbeitspeicher Belegung nicht-flüchtiger Speicher (Festplatte, Wechseldatenträger) Von jedem Network Agent wird außerdem ein so genannter Object Agent (1.1.3.) gestartet. Der Network Agent ist plattformunabhängig und funktioniert sowohl auf Windows als auch auf Unix artigen Betriebssystemen. Die Summe aller Network Agents wird als Network Agent System oder kurz NAS bezeichnet. Jedem einzelnen Agent können ein Vater sowie mehrere Kinder zugewiesen werden, wodurch sich eine baumartige Struktur ergibt. Diese Zuweisung, sowie der Aufbau der Struktur erfolgt über die so genannte Administration Shell Administration Shell Die Administration Shell ist eine grafische Benutzeroberfläche, welche zur Verwaltung der einzelnen Network Agents dient. Sie muss auf nur einem Rechner installiert und gestartet werden von dort aus können alle eingetragenen NAs administriert und überwacht werden. Auf die Administration Shell, sowie deren Aufbau und Funktion wird im weiteren Verlauf dieses Dokumentes noch näher eingegangen, da diese den Hauptteil meiner praktischen Arbeit repräsentiert Object Agent System Dieser ist für die Verwaltung der Remote Objects (Programme in binärer Form, die zur Parallelisierung auf den verfügbaren Ressourcen verteilt werden) zuständig und kümmert sich vor allem um deren Erzeugung und Löschung, sowie die Parameterübergabe, die Methodenaufrufe ( Method invocation ) und das Zurückliefern der Ergebnisse.

9 Einleitung Programmiersprache Das gesamte System wurde fast ausschließlich in der Programmiersprache Java realisiert. Nur der Network Agent greift beim Auslesen bestimmter Hardware Informationen (zum Beispiel CPU-Last oder Arbeitsspeicherbelegung) auf in der Programmiersprache C entwickelte Programme zurück. Die Verbindung zwischen Java und C wird hierbei über das Java Native Interface (JNI) realisiert. JNI ist eine Schnittstelle (API), welche den Zugriff auf Funktionen einer DLL-Datei (Windows) oder einer shared library (Linux) in Java ermöglicht. [2] Java selbst ist eine von der Firma Sun Microsystems entwickelte, objektorientierte Programmiersprache. Sie ist plattformunabhängig - somit laufen Java-Programme auf allen Betriebssystemen, für die eine Implementierung der Java Virtual Machine (JVM) existiert (zum Beispiel Windows, Linux, Solaris, Mac OS). Ein wesentlicher Unterschied zwischen Java und anderen Programmiersprachen (wie zum Beispiel C) besteht darin, dass Java-Code nicht direkt in Maschinencode übersetzt wird, sondern vom Compiler (javac) in so genannten Bytecode übersetzt wird. Dieser wird von der JVM interpretiert und ausgeführt. Dies führte in der Anfangsphase von Java zu erheblichen Geschwindigkeitsproblemen, da das Interpretieren des Bytecodes und das damit verbundene Erkennen und Dekodieren der einzelnen Befehle sehr zeitaufwendig ist. Die Lösung dieses Problems kam mit der Version 1.3., und der Erweiterung der Java- Laufzeitumgebung (JRE) durch einen Just-In-Time (JIT) Compiler. Dieser kompiliert den Bytecode zur Laufzeit in Maschinencode der jeweiligen Plattform. Diese Optimierung erfolgt dabei Schritt für Schritt, was insbesondere bei Programmen mit verhältnismäßig langer oder sogar unbegrenzter Ausführungszeit (wie zum Beispiel dem Network Agent) zu erheblichen Performance Steigerungen führt. [3][4] Heute liegt Java in der Version 1.6. (Java 6) vor (Stand 09/2007) und hat, was die Performance angeht, längst zu Programmiersprachen wie C++ aufgeschlossen 2. Somit können auch leistungsintensive Programme bedenkenlos in Java implementiert werden. 2

10 Einleitung Entwicklungsumgebung Eclipse Eclipse ist ein von der Firma IBM in Java entwickeltes Open-Source-Framework. Ursprünglich hautsächlich zur Entwicklung von Java-Programmen verwendet, hat sich Eclipse mittlerweile zu einer universellen Entwicklungsumgebung für eine Vielzahl von Programmiersprachen entwickelt. Dies liegt vor allem an der Plugin-basierten Struktur, durch die sich Eclipse beliebig erweitern lässt. Eclipse bietet zahlreiche Funktionen, welche dem Programmierer das Schreiben von Code erleichtern, dazu gehören unter anderem Auto-Vervollständigung, Code-Generierung (zum Beispiel Generierung von getter/setter Methoden), Refactoring (zum Beispiel Umbenennen einer Klasse + Update der Referenzen) oder das Unterstreichen von Codeteilen, welche beim Kompilieren Warnungen oder Fehler erzeugen würden. Nicht zuletzt viel meine Wahl jedoch deshalb auf Eclipse, da das Projekt unter der Eclipse Public License (EPL) (früher Common P.L.) steht, und somit völlig kostenlos ist. [5][4] Jigloo Jigloo ist ein von der Firma Cloud Garden entwickelter GUI Builder und wird als Plugin für die Eclipse IDE zur Verfügung gestellt. Bei nicht-kommerzieller Nutzung ist Jigloo kostenlos, es wird lediglich eine Meldung innerhalb der Entwicklungsumgebung angezeigt. Jigloo unterschützt die Grafikbibliotheken Swing und das Standard Widget Toolkit (SWT) auf welche im Laufe dieses Dokumentes noch näher eingegangen wird. Bei Jigloo handelt sich um einen so genannten WYSIWYG ( What you see is what you get )-Editor was so viel bedeutet wie dass bereits während dem Erstellen der grafischen Oberfläche im Editor die tatsächliche Ausgabe, wie sie nach erfolgter Kompilierung des Sourcecodes am Bildschirm erscheint, angezeigt wird. Bei der Erstellung der grafischen Oberfläche selbst bietet Jigloo eine Vielzahl von Möglichkeiten. Nahezu alle verfügbaren Komponenten können über einen einfachen Mausklick eingefügt werden, deren Att-

11 Einleitung 8 ribute verändert werden, sowie Aktionen für bestimmte Events (zum Beispiel eine Tastatureingabe) definiert werden. [6] 1.4. Literaturstudium Die Einarbeitung in die Materie begann grundsätzlich mit dem Studium von Java- Symphony 3 beziehungsweiße dessen Implementierung, da dieses bereits entwickelte System als Grundlage für den Network Agent sowie die Administration Shell diente. Nach dem die Anforderungen, die an das System gestellt werden nun bekannt waren begann die Einarbeitung in SWT, einer Bibliothek zur Erstellung grafischer Oberflächen in JAVA, sowie dem bereits erwähnten GUI-Builder Jigloo. Dabei erwies sich die von Simon Rutishauser geschriebene Einführung in SWT [7] als sehr hilfreich. Als Unterstützung bei allen Java spezifischen Fragen diente das Buch Java ist auch eine Insel von Christian Ullenboom [4], welches vor allem rund um das Thema RMI viele nützliche Informationen beinhaltet. Trotz vieler informativer Bücher, Scripten und Dokumente diente vor allem die Online- Enzyklopädie Wikipedia als Standard-Nachschlagewerk in allen Bereichen, da sie detaillierte Informationen zu nahezu allen relevanten Themen enthält. 3

12 Kapitel 2 Implementierung der Administration Shell 2.1. Allgemeines Motivation Wie bereits erwähnt handelt es sich bei der Administration Shell um ein Tool mit grafischer Benutzeroberfläche zur Administration der auf den einzelnen Rechnern laufenden Network Agents. Da sich die Agents verteilt auf vielen Rechnern und möglicherweise somit auch verteilt an vielen Orten befinden, ist es nötig, ein Werkzeug zur zentralen Verwaltung dieser zur Verfügung zu stellen. Dabei ist es wichtig, dass diese vollkommen ferngesteuert, also auch beispielsweiße gestartet beziehungsweise gestoppt, werden können. Weiters können über die Administration Shell so genannte Physikalische Architekturen erzeugt werden, dies sind baumartige Strukturen, bestehend aus Network Agents. Da sich die NAs im Anfangszustand nicht kennen und daher auch nicht miteinander kommunizieren können, ist es auch hier nötig, den Aufbau dieser Struktur von einer zentralen Stelle aus vorzunehmen, die über eine Liste aller Network Agents verfügt. Die Agents selbst werden durch die Eingabe des Hostnamen oder der IP Adresse des

13 Administration Shell 10 Rechners, plus dem dazugehörigen Port eingetragen. Nach dem Einragen bieten sich eine Vielzahl weiterer Verwaltungsmöglichkeiten, auf die unter dem Punkt Aufbau & Funktion noch näher eingegangen wird. Zur Erstellung der grafischen Benutzeroberfläche wurde der GUI Builder Jigloo in Kombination mit der Grafikbibliothek SWT verwendet Warum SWT? Das Standard Widget Toolkit oder kurz SWT ist eine von der Firma IBM im Jahr 2001 entwickelte Bibliothek zur Erstellung grafischer Benutzeroberflächen in Java. SWT wurde mit dem Ziel entwickelt, die Nachteile der bereits vorhandenen Grafikbibliotheken AWT und Swing zu beheben. Die größten Mankos der beiden Bibliotheken sind die geringe Anzahl der Widgets von AWT, sowie die Trägheit von Swing, besonders bei aufwändigen GUIs. Diese Trägheit resultiert vor allem daraus, dass alle Swing- Komponenten direkt von Java gerendert werden. Dies hat zwar den Vorteil, dass mit Swing entwickelte Applikationen unter allen Betriebssystemen lauffähig sind, für die es auch eine Implementierung der JVM gibt, führt jedoch zu einem erheblichen Mehraufwand an Berechnungen. Um dem entgegenzuwirken verfolgte man bei der Entwicklung von SWT den Ansatz, direkt auf die nativen grafischen Elemente des Betriebssystems zuzugreifen, was zu einem wesentlich geringeren Ressourcenverbrauch führt. Nun sieht es auf den ersten Blick so aus, als würde damit auch die Plattformunabhängigkeit verloren gehen, dies stimmt jedoch nur bedingt: SWT ist mittlerweile in vielen Versionen für unterschiedliche Betriebssysteme und native Grafikbibliotheken verfügbar, unter anderem für Win32 API (Windows), GTK 2 (Linux) oder Carbon (Mac OS X). [7][8][9] Auf Grund des geringeren Ressourcenverbrauchs im Vergleich zu Swing, so wie der trotzdem vorhandenen Plattformunabhängigkeit viel meine Wahl schlussendlich auf SWT.

14 Administration Shell Pflichtenheft Musskriterien Liste der Network Agents Möglichkeit zum Hinzufügen, Editieren und Löschen von Network Agents Laden und speichern von Listen Baumstruktur ( Physikalische Architektur ) Drag & Drop von Network Agents von der Liste in den Baum und umgekehrt, sowie innerhalb des Baum selbst Laden und Speichern von Physikalischen Architekturen Pingen von Network Agents Möglichkeit zum Starten / Stoppen der Agents Manuelles festlegen der Levels Übertragen der Konfiguration auf die Network Agents mittels RMI Anzeige eines Statusreports Anzeige der statischen und dynamischen Systemparameter in Textform Starten der Shell über BAT- & SH-File Sollkriterien Anzeige der statischen und dynamischen Systemparameter in grafischer Form Konsolenfenster zur Überwachung von Ereignissen Ermittlung der Bandbreite von einem Network Agent zum anderen Anzeige der VA-Strukturen, in denen sich der Network Agent befindet Anzeige der dynamischen Systemparameter der VA

15 Administration Shell Aufbau und Funktion Abb. 3: Administration Shell Liste der Network Agents Abb. 4: Liste der Network Agents

16 Administration Shell 13 Die Liste der Network Agents zeigt jene Agents, welche noch nicht Teil einer Physikalischen Architektur sind. Host bezeichnet dabei den Hostnamen oder die IP-Adresse des Rechners, Status den Online/Offline-Status des so genannten NA-Watcher, einem kleinen C-Programm, welches zum Starten des Network Agents dient, Network Agent den derzeitigen Zustand des Agents (started/stopped), und Ping die Reaktionszeit des Rechners in Millisekunden. Add / Edit Network Agent Abb. 5: Add Network Agent Über den Punkt Add Network Agents können neue Agents zur Liste hinzugefügt werden. Sollte die Adresse des Network Agents in Form eines Hostnames eingegeben werden, wird vor dem Eintragen eine Anfrage an das Domain Name System (DNS) gesendet, um den Namen in eine IP-Adresse aufzulösen. Findet sich am DNS kein passender Eintrag, erscheint eine Fehlermeldung. Die eingegebenen Ports müssen sich im Bereich der Registered Ports ( ) oder im Bereich der Dynamic Ports ( ) befinden. Über den Punkt Edit können die eingegeben Daten verändert werden. Ping this Host Über diesen Punkt kann eine Ping-Anfrage an den jeweiligen Rechner gesendet werden und somit seine Reaktionszeit in Millisekunden errechnet werden. Dabei handelt es sich jedoch um keine echte Ping-Anfrage, da eine solche in Java nicht realisierbar ist und zum Beispiel in C implementiert werden müsste. Deshalb wird versucht, eine Socket-

17 Administration Shell 14 Verbindung zum angegebenen Rechner und Port aufzubauen. Gelingt dies, wird die Zeit gemessen, in welcher die Socket-Verbindung aufgebaut und wieder geschlossen werden kann. Abb. 6: Ping State Diagramm Network Agent Start / Stop Über diesen Punkt ist es möglich den jeweiligen Network Agent zu starten beziehungsweiße zu stoppen. Beim Starten wird eine Socket-Verbindung zum NA-Watcher aufgebaut, und das Kommando START an diesen gesendet. Anschließend wird durch eine Ping-Anfrage überprüft, ob der Start erfolgreich war. Beim Stoppen wird über RMI eine entsprechende Methode des Remote Object aufgerufen, welche die entsprechenden Ressourcen freigibt und das Programm schlussendlich beendet. Load / Save List Über diese Buttons können bereits vorhandene Listen geladen, beziehungsweiße erstellte Listen gespeichert werden. Die Speicherung der Liste erfolgt in einer Textdatei in der Form <hostname/ip>:<watcher-port>:<networkagent-port>.

18 Administration Shell Physical Architecure Abb. 7: Physical Architecure Die Physikalische Architektur ist eine Baumstruktur bestehend aus Network Agents, welche durch Drag & Drop von der Liste in den Baum verschoben werden können. Dabei kann jeder NA an jeder beliebigen stelle eingefügt werden, und auch innerhalb der Baumstruktur selbst verschoben werden. Jedem Agent wird automatisch oder manuell ein Level zugewiesen, welches seiner Position in der Hierarchie entspricht. Bei manueller Zuweisung über den Punkt Set Level muss der gewählte Level kleiner als das des Vaters sein (falls vorhanden) und größer als die Levels aller Kinder. Der Eintrag sysroots stellt das Wurzel Element des Baumes dar, ist jedoch selbst kein Network Agent. Show Statusreport Der Status Report ist ein vom Network Agent generierter Bericht. Er enthält Informationen wie statische und dynamische Systemparameter, aktive Prozesse sowie Level, Vater und Kinder des Network Agents. Abb. 8: Status Report

19 Administration Shell 16 Configure Unter dem Punkt Configuration werden die Statusinformationen des Network Agents zusammengefasst (Status von NA-Watcher und Network Agent, Ping, Vater, Anzahl der Kinder, sowie der boolsche Wert is synchronized, auf welchen unter dem Punkt Make Configuartion noch näher eingegangen wird. Weiters bieten Abb. 9: Configuration sich Konfigurationsmöglichkeiten wie starten / stoppen des Network Agents, setzen des Levels sowie des Wertes PRate. Dabei handelt es sich um einen Integer-Wert, welcher den zeitlichen Abstand in Sekunden festlegt, nach dem der Network Agent die dynamischen Systemparameter aktualisiert. System Properties Abb. 10: System Properties Textual Info Unter dem Punkt System Poperties werden die derzeitigen statischen und dynamischen Systemparameter des Network Agents angezeigt. Die Registerkarte Textual Info enthält Informationen zu CPU- Last, Memory gesamt, Memory available, Memeory used, Belegung der Festplatte und aktiven Prozessen. Die Registerkarte Graphical Info

20 Administration Shell 17 enthält Statistiken zu CPU-Last und Memory-Belegung über einen bestimmten Zeitraum (Standard: ca. 8 Minuten). Zur Erstellung der grafischen Statistiken wurde die Bibliothek Chart Director der Firma Advanced Software Engeneering 4 (ASE) verwendet. Über den Punkt Update every X seconds kann festgelegt werden, in welchem Intervall die Grafiken aktualisiert werden. Abb. 11: System Properties Graphical Info Load / Save Configuration Über diesen Punkt können bereits vorhandene Physikalische Architekturen geladen sowie soeben erstellte gespeichert werden. Die Daten werden in einer Text-Datei im XML (Extensible Markup Language)-Format gespeichert. XML ermöglicht es, eigene Auszeichnungssprachen zu entwerfen. Die Syntax dieser Auszeichnungssprachen wird über Schemasprachen wie DTD (Document Type Definiton) oder XML-Schema festgelegt. In diesem Fall wurde das DTD-Schema in einer externen Datei abgelegt, welche in der XML Datei referenziert wird. Der Inhalt der Datei sieht wie folgt aus: <!ELEMENT architecture (node*)> <!ELEMENT node (node*)> <!ATTLIST node level ( ) #REQUIRED> <!ATTLIST node host CDATA #REQUIRED> <!ATTLIST node l_port CDATA #REQUIRED> <!ATTLIST node na_port CDATA #REQUIRED> In der ersten Zeile wird das Root-Element architecture definiert. Dieses kann beliebig viele node -Elemente enthalten. Danach erfolgt die Definition des node -Elements, 4

21 Administration Shell 18 welches sich wiederum beliebig oft selbst enthalten darf. Weiters werden 4 Attribute definiert, der Zusatz #REQUIRED bedeutet dabei, dass das Attribut zwingend benötigt wird: Level = Level des Network Agents (1 9) Host = Hostname oder IP-Adresse l_port = Port für NA-Watcher na_port = Port für Network Agent Eine entsprechende XML-Datei könnte nun wie folgt aussehen: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE architecture SYSTEM "architecture.dtd"> <architecture> <node level="2" host="peter.test.org" l_port="7777" na_port="5000"> <node level="1" host="franz.test.org" l_port="7777" na_port="5000" /> <node level="1" host="karl.test.org" l_port="7777" na_port="5000" /> </node> </architecture> Zum Parsen der XML-Datei wird die Klasse SAXBuilder der JDOM-Bibliothek verwendet. Nach dem Parsen erhält man eine Liste der root-elemente. Dabei handelt es sich um Objekte vom Typ Element. Über Methoden wie getchildren() und getattributes() erhält man schlussendlich Zugriff auf die Kindelemente sowie die einzelnen Attribute. Make Configuration Über den Button Make Configuration kann die soeben erstellte Konfiguration (Physikalische Architektur, Levels, ) auf die einzelnen Network Agents übertragen werden. Man könnte auch von einer Synchronisation der Network Agents sprechen. Dabei werden alle Network Agents einzeln kontaktiert, und die zuvor festgelegten Parameter per RMI übertragen. Die Vorgehensweiße beim Klick auf Make Configuration entspricht folgendem Pseudocode:

22 Administration Shell 19 FOR all NetworkAgents IF checknetworkagent() THEN IF NOT issynchronized THEN Synchronize() END IF ELSE IF startnetworkagent() THEN Synchronize() ELSE Error() END IF END IF END FOR Die boolsche Variable issynchronized gibt Auskunft darüber, ob eine (erneute) Synchronisierung notwendig ist. Sie erhält nach der ersten Synchronisierung den Wert true. Bei jeder Änderung, welche nach der ersten Synchronisierung getätigt wird (zum Beispiel Änderungen an der Baumstruktur) wird der Wert wieder auf false gesetzt, was bedeutet dass eine erneute Synchronisierung nötig ist. Somit müssen bei kleinen Änderungen nicht jedes Mal alle Network Agents neu synchronisiert werden. Vor der eigentlichen Übermittlung der Daten wird über eine Methode (in obigen Beispiel checknetworkagent() ) überprüft, ob der Agent online und erreichbar ist. Ist dies nicht der Fall, wird versucht, ihn über den NA-Watcher zu starten. Gelingt auch das nicht, wird ein Fehler zurückgegeben und die Synchronisierung abgebrochen Kommunikation per RMI RMI ( Remote Method Invocation ) bezeichnet den Aufruf entfernter Methoden. Der Begriff entfernt bedeutet dabei, dass sich die Methoden in einer anderen Laufzeitumgebung befinden (zum Beispiel auf einem anderen Rechner im Intranet oder Internet). Um solch einen Aufruf zu tätigen, müssen grundsätzlich der Name des entfernten Objektes, sowie die Host/IP-Adresse des entfernten Rechners bekannt sein.

23 Administration Shell 20 Ziel bei der Entwicklung von RMI war es, einen entfernten Methodenaufruf wie einen lokalen aussehen zu lassen. Um dies zu erreichen ist es nötig, die gesamte Logik (Verbindungsaufbau zum Remote-Host, Übermittlung der Daten, Ausführung der Remote- Methode, Zurücksenden der Daten, Schließen der Verbindung) hinter einer Fassade zu verstecken. Dies beginnt mit der Einführung von Stellvertreter-Objekten (engl. proxies), welche sowohl auf der Client- als auch auf der Serverseite vorhanden sind, und sich um die genannten Vorgänge kümmern. Serverseitig gibt es neben dem Stellvertreterobjekt noch die so genannte RMI-Registry. Dabei handelt es sich um einen Namensdienst, bei welchem der Server ein oder mehrere Instanzen des Remote-Objektes anmeldet. Der Client selbst erhält nach einer Anfrage beim Namensdienst eine Referenz auf das entsprechende Remote-Objekt und kann danach auf dieses zugreifen. Abb. 12: Kommunikation per RMI Anhand dieser Abbildung werden die 4 Grundschritte, welche beim Aufruf einer entfernten Methode getätigt werden verdeutlicht: 1. Der Server registriert das Objekt bei der RMI-Registry über Naming.rebind(). 2. Der Client holt sich über Naming.lookup() eine Referenz auf das Remote-Objekt. 3. Aufruf einer Remote-Methode am Client. Die Information, welche Methoden zur Verfügung stehen, erhält der Client über das Remote-Interface, welches vom Remote-Objekt implementiert werden muss.

24 Administration Shell Nach der Ausführung der Methode am Server sendet dieser das Ergebnis wieder an den Client zurück, oder liefert im Fehlerfall eine Exception (zum Beispiel bei einem Verbindungsabbruch). Die gesamte Kommunikation zwischen den Network Agents und der Administration Shell wird über RMI getätigt. Die Administration Shell fungiert dabei als Client, da sie Methoden der Remote-Objekte (Instanzen der einzelnen Network Agents) aufruft. Zusammengefasst ergeben sich aus der Verwendung von RMI zwei große Vorteile: Geringerer Aufwand, da der Programmierer sich nicht selbst um die Implementierung der Kommunikationslogik kümmern muss, sowie größere Sicherheit, da es sich bei RMI um ein ausgiebig getestetes Kommunikationsprotokoll handelt. [10][11][4]

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Handbuch NOXON Favourites Commander

Handbuch NOXON Favourites Commander Handbuch NOXON Favourites Commander TerraTec Electronic GmbH Copyright (c) 2008 TerraTec Electronic GmbH. Permission is granted to copy, distribute and/or modify this document under

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

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

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

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

DHCP-Server mithilfe von SolarWinds IP Address Manager verwalten. Teilen:

DHCP-Server mithilfe von SolarWinds IP Address Manager verwalten. Teilen: DHCP-Server mithilfe von SolarWinds IP Address Manager verwalten Teilen: DHCP-Server mithilfe von SolarWinds IPAM verwalten SolarWinds IP Address Manager (IPAM) bietet eine leistungsfähige und zentralisierte

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

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

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Pflichtenheft. 1 Zielbestimmungen 2 1.1 Musskriterien... 2 1.2 Wunschkriterien... 2 1.3 Abgrenzungskriterien... 2

Pflichtenheft. 1 Zielbestimmungen 2 1.1 Musskriterien... 2 1.2 Wunschkriterien... 2 1.3 Abgrenzungskriterien... 2 Pflichtenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 1.1 Musskriterien........................................ 2 1.2 Wunschkriterien....................................... 2 1.3 Abgrenzungskriterien...................................

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner

Mehr

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH von Dominick Baier (dbaier@ernw.de) und Jens Franke (jfranke@ernw.de) 1 Einleitung Dieses Dokument behandelt die flexible

Mehr

Grundlagen DNS 1/5. DNS (Domain Name System)

Grundlagen DNS 1/5. DNS (Domain Name System) Grundlagen DNS 1/5 DNS (Domain Name System) Weltweit gibt es 13 zentrale DNS-Server (Root-Nameserver), auf denen die verschiedenen Domains abgelegt sind. Der Domönennamensraum bzw. das Domain Name Space

Mehr

JAVA. Ein kurzer Überblick. Thomas Karp

JAVA. Ein kurzer Überblick. Thomas Karp JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene

Mehr

Installation des COM Port Redirectors

Installation des COM Port Redirectors Installation des COM Port Redirectors Über die entsprechenden Treiber ist es möglich, die seriellen Schnittstellen eines IGW/400 als virtuelle COM-Ports eines Windows-PCs zu nutzen. Aus Sicht der PC-Software

Mehr

Benutzerdokumentation Hosted Backup Services Client

Benutzerdokumentation Hosted Backup Services Client Benutzerdokumentation Hosted Backup Services Client Geschäftshaus Pilatushof Grabenhofstrasse 4 6010 Kriens Version 1.1 28.04.2014 Inhaltsverzeichnis 1 Einleitung 4 2 Voraussetzungen 4 3 Installation 5

Mehr

-Bundle auf Ihrem virtuellen Server installieren.

-Bundle auf Ihrem virtuellen Server installieren. Anleitung: Confixx auf virtuellem Server installieren Diese Anleitung beschreibt Ihnen, wie Sie das Debian-Confixx- -Bundle auf Ihrem virtuellen Server installieren. 1. Schritt: Rufen Sie die Adresse http://vsadmin.host-4-you.de

Mehr

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit. 1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Bedienungsanleitung zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle

Bedienungsanleitung zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle 1. Funktion und Voreinstellung Der EFB-EXP-72a basiert auf der Funktionsweise des Funkempfängers EFB-RS232 mit dem Unterschied,

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy. Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 GDI-Knoppix 4.0.2 - Erste Schritte Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 Dieses Dokument beschreibt elementare Dinge im Umgang mit Knoppix. Knoppix ist ein "Live-Linux".

Mehr

Abb. 1: Schematische Architektur WebLogic-Server

Abb. 1: Schematische Architektur WebLogic-Server Forms 11g im Weblogic-Server Vertrautes in neuem Gewand Stephan La Rocca TEAM GmbH Paderborn Schlüsselworte: Oracle Weblogic Server, Forms 11g, Administration, Konfiguration, New Features. Einleitung Mit

Mehr

Securepoint Security Systems

Securepoint Security Systems HowTo: Virtuelle Maschine in VMware für eine Securepoint Firewall einrichten Securepoint Security Systems Version 2007nx Release 3 Inhalt 1 VMware Server Console installieren... 4 2 VMware Server Console

Mehr

Kurzanleitung. 29. Februar 2008 2. Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8

Kurzanleitung. 29. Februar 2008 2. Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8 Kurzanleitung 29. Februar 2008 2. Oktober 2008 Update APtool-Kurzanleitung-V1_2_DE Seite 1 von 8 Inhalt INHALT... 2 EINFÜHRUNG... 3 VORBEREITUNG... 3 LIZENZIERUNG... 3 PROJEKT LIZENZEN... 4 GENERIERUNG

Mehr

Rollen- und Rechtekonzept

Rollen- und Rechtekonzept Inhaltsverzeichnis Rollen- und Rechtekonzept 1. Ziele...1 2. Konzeption zur Realisierung durch Access Control List und im Management-Interface...2 2.1. Ansatz...2 2.2. Safety oder Security...2 2.3. User-

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

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

Kurzanleitung. Logstar_FTP. Version 1.1

Kurzanleitung. Logstar_FTP. Version 1.1 Kurzanleitung Logstar_FTP Version 1.1 Februar 2006 UP GmbH Anleitung_Logstar_FTP_1_24.doc Seite 1 von 8 LOGSTAR _FTP Inhaltsverzeichnis Einleitung...3 Registrierung...3 Das Logstar_FTP Hauptmenu...4 Server...4

Mehr

SolarWinds Engineer s Toolset

SolarWinds Engineer s Toolset SolarWinds Engineer s Toolset Diagnostic Tools Das Engineer s Toolset ist eine Sammlung von 49 wertvoller und sinnvoller Netzwerktools. Die Nr. 1 Suite für jeden Administrator! Die Schwerpunkte liegen

Mehr

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl. Installations- und Bedienanleitung DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.de 2013-08-12 Seite 1/6 Inhaltsverzeichnis 1. BESCHREIBUNG... 3 2. SYSTEMVORAUSSETZUNGEN... 3 3. INSTALLATION...

Mehr

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 Einleitung: Real VNC ist ein Remote Programm das zur Fernwartung von PCs über das Internet verwendet werden kann. It is fully cross-platform das heißt man

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

IBM SPSS Collaboration and Deployment Services (C&DS) version 7

IBM SPSS Collaboration and Deployment Services (C&DS) version 7 Dieses Handbuch richtet sich an Systemadministratoren, die IBM SPSS Modeler Entity Analytics (EA) für die Ausführung mit einem der folgenden Produkte konfigurieren: IBM SPSS Collaboration and Deployment

Mehr

www.uni-math.gwdg.de/linuxuebung

www.uni-math.gwdg.de/linuxuebung 14 Netzwerküberwachung und -steuerung Überblick SNMP Simple Network Management Protocol Datendefinitionen SNMP Implementierungen unter Linux Kommandos zur Datenbeschaffung Konfiguration des Net-SNMP Agenten

Mehr

ASUS WebStorage Bedienungsanleitung

ASUS WebStorage Bedienungsanleitung ASUS WebStorage Bedienungsanleitung Willkommen bei ASUS WebStorage Mit ASUS WebStorage können Sie die Daten auf Ihrem PC und anderen Geräten jederzeit synchronisieren egal, wo Sie sind. Mit ASUS WebStorage

Mehr

cs106 Informatiklabor Teil 1: Java-Installation

cs106 Informatiklabor Teil 1: Java-Installation Herbstsemester 2009 cs106 Informatiklabor Teil 1: Java-Installation Florian Zeller Vorgehen und Ziele Wöchentlich eine Übung Unterstützte Bearbeitung während den Übungsstunden Austausch mit älteren Semestern

Mehr

Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460)

Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460) Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460) Schritt 1: Erstellen der virtuellen Maschinen 1. Menü File, New, New Virtual Machine... wählen. 2. Auf Weiter > klicken. 3. Die Option

Mehr

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

Pflichtenheft Programmanwendung "Syntax Tool"

Pflichtenheft Programmanwendung Syntax Tool Projekt: Syntax Tool Autor: Michael Rattun Home: www.mrattun.de Letzte Änderung: 27.10.2011 1 SEITE Syntax Tool Inhaltsverzeichnis Inhaltsverzeichnis 1. Zielbestimmung... 3 1.1 Muss-Kriterien (Freeware)...

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

Kommunikations-Parameter

Kommunikations-Parameter KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...

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

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

Mehr

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration IBM SPSS Entity Analytics - Erweiterte Konfiguration Einführung Die vorgesehene Zielgruppe für dieses Handbuch sind Systemadministratoren, die IBM SPSS Entity Analytics (EA) für die Ausführung in einer

Mehr

MindPlan 4. Installations- u. Update-Hinweise. MindPlan 4. Stand: 24. März 2014 Seite: 1/12

MindPlan 4. Installations- u. Update-Hinweise. MindPlan 4. Stand: 24. März 2014 Seite: 1/12 MindPlan 4 Stand: 24. März 2014 Seite: 1/12 Inhalt 1. Informationen zu MindPlan 4... 3 1.1. Neue Funktionen neues Layout... 3 1.2. Lizenzverwaltung (!! Neue Lizenzschlüssel erforderlich!!)... 3 1.2.1.

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OPC UA Client Stack... 5 1.3 OPC UA Server

Mehr

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke VMware Server Agenda Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture Virtuelle Netzwerke 2 Einleitung Virtualisierung: Abstrakte Ebene Physikalische Hardware

Mehr

LaFonera Erweiterung - Erstinstallation -

LaFonera Erweiterung - Erstinstallation - LaFonera Erweiterung - Erstinstallation - Inhaltsverzeichnis Benötigte Software SSH-Client z.b. Putty SFTP-Client z.b. WinSCP Vorraussetzungen Firmwareversion SSH Zugriff WinSCP3 Zugriff Installation der

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

Mehr

Installations-Dokumentation, YALG Team

Installations-Dokumentation, YALG Team Installations-Dokumentation, YALG Team Version 8.1 1 Benötigtes Material 2 Vor der Installation 3 Beginn 4 Installation 4.1 Sicherheit 4.2 Partitionierung 4.3 Paketauswahl 4.4 Paketauswahl (fein) 5 Konfiguration

Mehr

VMware Schutz mit NovaBACKUP BE Virtual

VMware Schutz mit NovaBACKUP BE Virtual VMware Schutz mit NovaBACKUP BE Virtual Anforderungen, Konfiguration und Restore-Anleitung Ein Leitfaden (September 2011) Inhalt Inhalt... 1 Einleitung... 2 Zusammenfassung... 3 Konfiguration von NovaBACKUP...

Mehr

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen»Einrichten einer Virtuellen Maschine mittels VirtualBox sowie Zugriff auf

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

Mehr

SchlieSSen Sie Ihren Lemur an

SchlieSSen Sie Ihren Lemur an 1 SchlieSSen Sie Ihren Lemur an Der Lemur ist nicht irgendein durchschnittlicher MIDI-Controller. Er spricht 1000 Mal schneller und mit der 4-fachen Auflösung. Also finden Sie auf der Rückseite auch nicht

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Benutzerinformation zum IP-Update: Wie aktualisiere ich meine IP-Adresse? Datenstand: 09.09.2014 / Version 1.0

Benutzerinformation zum IP-Update: Wie aktualisiere ich meine IP-Adresse? Datenstand: 09.09.2014 / Version 1.0 Benutzerinformation zum IP-Update: Wie aktualisiere ich meine IP-Adresse? Datenstand: 09.09.2014 / Version 1.0 Mindestens nach jeder Neueinwahl erhalten Sie eine neue dynamische IP-Adresse von Ihrem Internetprovider

Mehr

Call Button / HTTP - Systembeschreibung

Call Button / HTTP - Systembeschreibung Call Button / HTTP - Systembeschreibung Detlef Reil, 14.03.2004, zu Call Button, Version 040127, V1.50 Beta! Software System Für die Kommunikation zwischen den Call Buttons und der Applikation war bisher

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

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

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

ASD ZSS. RZ-Süd (LfStaD) Internet

ASD ZSS. RZ-Süd (LfStaD) Internet -Systemüberblick 1. Beteiligte Systemkomponenten (amtliche Schulverwaltung) ist eine Software zur Verwaltung der Schüler- Lehrer- und Unterrichtsdaten an den bayerischen Schulen sowie zur Übermittlung

Mehr

SolarWinds Engineer s Toolset

SolarWinds Engineer s Toolset SolarWinds Engineer s Toolset Die Discovery Tools Das Engineer s Toolset ist eine Sammlung von 49 wertvoller und sinnvoller Netzwerktools. Die Schwerpunkte liegen in den Bereichen Discovery Tools, Monitoring

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem 2 DAS BETRIEBSSYSTEM Themen in diesem Kapitel: Das Betriebssystem Die Windows-Oberfläche Elemente eines Fensters 2.1 Wozu dient das Betriebssystem Das Betriebssystem (engl.: operating system, kurz: OS)

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Installationshandbuch. Erforderliche Konfiguration Installation und Aktivierung

Installationshandbuch. Erforderliche Konfiguration Installation und Aktivierung Installationshandbuch Erforderliche Konfiguration Installation und Aktivierung Erforderliche Konfiguration Programme der 4D v12 Produktreihe benötigen folgende Mindestkonfiguration: Windows Mac OS Prozessor

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

SolarWinds Engineer s Toolset

SolarWinds Engineer s Toolset SolarWinds Engineer s Toolset Monitoring Tools Das Engineer s Toolset ist eine Sammlung von 49 wertvoller und sinnvoller Netzwerktools. Die Nr. 1 Suite für jeden Administrator! Die Schwerpunkte liegen

Mehr

[Geben Sie Text ein] ISCSI Targets mit der Software FreeNAS einrichten

[Geben Sie Text ein] ISCSI Targets mit der Software FreeNAS einrichten [Geben Sie Text ein] ISCSI Targets mit der Software FreeNAS einrichten ISCSI Targets mit der Software FreeNAS einrichten Inhalt FreeNAS Server Vorbereitung... 2 Virtuelle Maschine einrichten... 3 FreeNAS

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr