Hochschule Furtwangen

Größe: px
Ab Seite anzeigen:

Download "Hochschule Furtwangen"

Transkript

1 Hochschule Furtwangen Seminar Aktuelle Themen der Informatik Ausarbeitung Tools für Aspekt-orientierte Programmierung Harald Schwecht, CN

2 Inhaltsverzeichnis 1. Einleitung Begriffserklärung Core Concern Crosscutting Concern Phasen der Aspekt-Orientierung Identifikation Separation Integration Schwierigkeit der Anforderungs-Separation Separation von Crosscutting Concerns durch AOP Grundlegendes zu AOP Elemente von AOP Join Points Pointcuts Advices Inter-type Declarations Aspekte AOP Tools & Frameworks Unterscheidungsmerkmale verschiedener AOP Lösungsansätze AspectC/C AspectJ AOP-Beispiel ActiveAspect Asbro AspectWerkz JBoss AOP Spring AOP weitere AOP Tools Übersicht Syntax Überblick Sprach-Mechanismus Fazit Quellen

3 1. Einleitung Wieso ist AOP derart nützlich? AOP ist Programmierung basierend auf der Identifizierung und Erzeugung von Aspekten. Wichtig ist das Verständnis der zugrunde liegenden AOP-Konzepte und wie AOP Objektorientierte Programmierung und -Designs ergänzt, um Java Code wartbarer und robuster zu gestalten. AOP ersetzt oder verlagert nicht die OOP, sondern ergänzt sie. Aus diesem Grund kann man AOP als den nächsten natürlichen Schritt der Software-Entwicklung über die OOP hinaus betrachten. Mit konventionellen Objekt-orientierten Techniken sind logisch zusammengehörige Softwareelemente oft nicht modularisierbar. Eine schlechte Modularisierung zieht einige negative Effekte nach sich, auf die diese Ausarbeitung ebenfalls hindeuten soll. Um die Modularisierung zu fördern, existieren unterschiedlich ausgeprägte Werkzeugen für die Softwareentwicklung. Diese werden im Einzelnen besprochen und die unterschiedlichen Selektionssprachen und Adaptionsmechanismen verglichen, sowie ihre Eigenschaften aufgeführt. 3

4 2. Begriffserklärung 2.1. Core Concern Core Concerns (engl. core concern, "Kernfunktionalität") sind die eigentliche Kernlogik (Packages, Classes oder Source Code) des Programms, sozusagen die reine Unternehmenslogik Crosscutting Concern In der AOP stößt man oft auf den Begriff Crosscutting Concerns (=CCC, "übergreifende Anforderung", quer schneidende Kernfunktionalität). Solche CCC wären z.b. Anforderungen wie Fehlerbehandlung, Performance, Sicherheit, Transaktions-Management oder Logging. Sie sind zur eigentlichen Kernlogik des Programms "orthogonal" zu betrachten. Sie schneiden diese somit (engl. crosscut) und lassen sich nicht eindeutig einem Software Modul zuordnen Phasen der Aspekt-Orientierung Die Aspektorientierung kann man in drei grundlegende Phasen unterteilen: Identifikation Separation Integration 3.1. Identifikation Nutzung verschiedener Verfahren zur Erkennung von Core- und Crosscutting Concerns Separation Definition, modularer Entwurf und Implementation aller Concerns. Modular implementierte Core Concerns werden Komponenten genannt. Crosscutting Concerns werden demzufolge als die eigentlichen Aspekte bezeichnet. Zusätzlich werden in dieser Phase notwendige Integrationsregeln definiert, bevor es in die Integrationsphase geht Integration Die in der Separationsphase definierten Regeln dienen nun dem Zusammenfügen der Concerns (implementierte Komponenten und Aspekte) zum Gesamtsystem. Ein prägnanter Begriff in der AOP bezeichnet speziell die Integration, dieser lautet "Weaving" (= das Weben) und beschreibt bildlich das Vorgehen in der Integration. 4. Schwierigkeit der Anforderungs-Separation Wieso geschieht das Vermischen von Anforderungen bei der OOP? Zum einen weil die OOP Partitionierungs- und Modularisierungs-Mechanismen liefert, welche lediglich auf Zustände bzw. Daten und Verhalten basieren. Zum anderen weil Verfahren existierender Programmiersprachen und -designs keine brauchbaren Instrumente bieten, um auf einfache Weise Crosscutting Concerns sauber zu trennen. Diese Module liegen in der OOP ungekapselt, verstreut im ganzen Code. Diese Tatsache wirkt sich somit negativ auf die Wartbarkeit, die Wiederverwendbarkeit, u.u. auch auf die Nachvollziehbarkeit und das Entdecken von Fehlerquellen aus. 4

5 Kernfunktionalität (Core Concern) Applikation in der Objekt-orientierten Programmierung (OOP) Modul 1 Modul 2 modulübergreifende Anforderungen (Crosscutting Concerns) Sicherheit Logging Echtzeitverhalten Abbildung 1: Ansatz in der OOP 5. Separation von Crosscutting Concerns durch AOP AOP unterstützt die Separation und die Organisation des Source Codes, der mit diesen "übergreifende Anforderung" gelöst werden muss. Durch die Erzeugung von Aspekten erfolgt eine Modularisierung des Codes. Dies könnte man mit der Gruppierung in Verbindung stehenden Zustände und Verhaltensweisen innerhalb Klassen in der OOP vergleichen. Dadurch wird erreicht, dass solche Crosscutting Concerns (z.b. die Sicherheit oder das Logging betreffend) in spezifischen Aspekten und Objekten enthalten sind und nicht mehr - die Unternehmenslogik "verschmutzend" - vermischt die Applikation durchziehen. Kernfunktionalität (Core Concern) Modul 1 Modul 2 Sicherheit Logging Echtzeitverhalten Aspekt- Weber Komponenten Applikation in der Aspekt-orientierten Programmierung (AOP) modulübergreifende Anforderungen (Crosscutting Concerns) Modul 1 Aspekte Abbildung 2: Ansatz in der AOP Modul 2 5

6 6. Grundlegendes zu AOP Um Crosscutting Code auszuklammern, müssen AOP-basierende Lösungen: ermöglichen, dass Crosscutting Code in den Abarbeitungsablauf der Unternehmenslogik einwirken kann, diesen dynamisch einwirkenden Code berechtigen dessen Subsysteme aufzurufen, das Verpacken und die Organisation dieses zusätzlichen Codes zu ermöglichen ohne die Unternehmenslogik zu beeinflussen Zusätzlich muss es eine Möglichkeit der Beschreibung geben, wo und wann Crosscutting Code angelegt wird, sowie sicher zu stellen, dass dieser Code Zugriff zu Kontextinformationen während der Abarbeitung hat. Diese Merkmale erfüllen heutige AOP-Systeme. Sie fangen zur Laufzeit die Ausführung der Applikation ab und wenden dynamisch eigenen Crosscutting Code an. Am Beispiel von AspectJ - einem Aspekt-orientierten Framework für Java - kann wo und wann dies geschehen soll der Entwickler durch Spezifizierung von Pointcuts festlegen, die wiederum Join Points auswählen. 7. Elemente von AOP 7.1. Join Points Join Points sind spezielle Punkte zur Laufzeit, an denen Crosscutting Code eingesetzt werden kann. Die möglichen Join Points sind von den eingesetzten AOP Tools und Frameworks abhängig. Es gibt einerseits statische und andererseits dynamische Join Points. Speziell für AspectJ, Join Points möglich bei: Methodenaufruf Methodenausführung Aufruf eines Exception Handlers Ausführung eines Exception Handlers Konstruktoraufruf Konstruktorausführung Feld auslesen Feld schreiben Join Points verbunden mit Methodenaufruf haben früher Zugriff zur auszuführenden Kontextinformation als der tatsächliche Methodenaufruf. Join Points verbunden mit Methodenausführung haben Zugriff zur auszuführenden Kontextinformation innerhalb des Methodenrumpfs. Allerdings können Join Points nicht direkt genutzt werden, stattdessen müssen sie durch Anwendung von Pointcuts ausgewählt werden Pointcuts Pointcuts spezifizieren das "wo und wann" des Einsetzens von Crosscutting Codes. Sie wählen/identifizieren eine Menge von Join Points. Speziell für AspectJ (Deklaration innerhalb aspect oder class): 6

7 call(signature) wählt Join Points wenn spezielle(r) Methode/Konstruktor aufgerufen wird execute(signature) wählt Join Points wenn spezielle(r) Methode/Konstruktor ausgeführt wird get(signature) wählt Join Points wenn spezielles Feld gelesen wird set(signature) wählt Join Points wenn spezielle Feld geschrieben wird handler(type-pattern) wählt Join Points wenn der Exception Handler mit dem "Throwable type-pattern" ausgeführt wird Signature und type-pattern können mit Jokerzeichen ergänzt werden, um u.u. möglichst viele Methoden, Konstruktoren oder Subtypen abzudecken. Mehrere Pointcuts können mit && oder Operatoren kombiniert werden Advices Advices knüpfen einzusetzenden Crosscutting Code mit den durch Pointcuts selektierten Join Points. Der Advice beinhaltet den auszuführenden Crosscutting Code und bestimmt durch seine Eigenschaft wann es in Abhängigkeit zum - vom Pointcut - gewählten Joint Point ausgeführt wird. Speziell für AspectJ: before() after() around() Crosscutting Code VOR dem/den gewählten Joint Point(s) ausführen Crosscutting Code NACH dem/den gewählten Joint Point(s) ausführen Crosscutting Code AM ORT des/der gewählten Joint Point(s) ausführen, mit der Möglichkeit die Ausführung des/der Joint Point(s) zu umhüllen oder auszulassen Typischerweise wird ein durch den Join Point betroffener Code und durch den Crosscutting Code ersetzter Code als "advised" (engl. für angewiesen) bezeichnet Inter-type Declarations Inter-type Declarations sind von AspectJ zusätzlich einsetzbare Teile (Methoden/Felder) zu einer existierenden Java-Klasse oder Typs. Diese erscheinen als wären sie direkt innerhalb der ursprünglichen Klasse oder Typs implementiert Aspekte Aspekte werden auf ziemlich gleicher Weise definiert wie Klassen. Im Aspekt können Pointcuts, Advices und Inter-type Declarations zusammengepackt werden. Zusätzlich kann ein Aspekt Felder und Methoden (static/non-static) haben und es kann abstrakt sein. Klassen oder Aspekte können sogar soweit ausgebaut werden dass sie Aspekte erzeugen. Ein Aspekt stellt somit eine gut modularisierte Crosscutting Struktur dar! 7

8 8. AOP Tools & Frameworks 8.1. Unterscheidungsmerkmale verschiedener AOP Lösungsansätze AOP Lösungsansätze unterscheiden sich in: Zugriff Zusammenfügen Benennung und Abstraktion von Join Points. Zusätzlich in: Syntax AOP Reifegrad Release Historie: AspectJ, AspectWerkz, JBoss AOP, Spring AOP, 1.Release in 2001 vom AOP Team beim Xerox PARC 1.Release in 2002 von BEA Systems 1.Release in 2004 als eine Ergänzung zum JBoss Application Server 1.Release in 2004 als eine Ergänzung zum Spring framework 8.2. AspectC/C++ AspectC/C++ Development Tools (ACDT) basiert auf dem C/C++ Development Tools (CDT) Plugin und unterstütz integriert als Eclipse Plugin - zusätzliches Syntax Highlighting sowie Extended Outlining, was bewirkt dass Aspekte, Advices und Pointcuts speziell angezeigt werden. Unterstütz wird Eclipse ab v3.1.x, darunter gibt es allerdings eine ältere Version von AspectC/C++ mit der Version AspectJ AspectJ ist eine Erweiterung von Java um die Aspektorientierung. AJDT ist als Eclipse Plugin verfügbar. Aspekte sind hier eine Kombination aus Java-Code und AspectJ-Code. Durch die vom AspectJ Compiler durchgeführte Verwebung auf Source-Code-Ebene, werden Aspekte in Java-Bytecode eingebunden. Es gibt dabei zwei wesentliche Compiler: ajc: im Eclipse AspectJ Projekt enthalten => aspectjrt.jar muss im Classpath/Eclipse existieren! (wird mitkopiert) abc: (AspectBench Compiler) erweiterbarer optimierender Compiler Es existieren zwei nennenswerte Portierungen auf Lisp (AspectL) und Ruby (AspectR). 8

9 8.3.1 AOP-Beispiel HelloWorld.java: Am Beispiel einer HelloWorld! Implementation in AOP können die eben angesprochenen Elemente deutlich erkannt und verstanden werden. Zuallererst wird ein neues AspectJ Projekt erstellt. Gleich darauf eine neue Java Klasse "HelloWorld" und eine Methode sayhello() erzeugt. In main() wird die Methode dann als ein neues Objekt der Klasse aufgerufen. Hinweis: Wichtig an dieser Stelle ist, dass man das Projekt bisher testet bzw. die class-datei erzeugt, da sonst später das Advice nicht richtig gefunden wird! Abbildung 3: HelloWorld.java World.aj Darauf folgend wird eine neue AspectJ Klasse "World" erzeugt. Ein benutzerdefinierter Pointcut "greeting():" muss nun deklariert werden, der die Ausführung jeglicher Methoden namens HelloWorld.sayHello(..) mit jeglichem Rückgabewert (durch Wildcard Stern ) und übergebenen Argumenten (gekennzeichnet durch die Parameter- Wildcard mit 2 Punkten) anpasst. Der Pointcut ist wie bekannt nötig, um nach der Ausgabe von "Hello " etwas zu tun. Was getan wird und wie in Bezug zum Join Point, entscheidet nun ein Advice afterreturning, und zwar die Ausgabe von World! nach dem Join Point Hello. 9

10 Abbildung 4: World.aj 8.4. ActiveAspect Abbildung 5: Darstellung von Aspekten in ActiveAspect ActiveAspect ist ein Eclipse Plugin für die Darstellung von Aspekten ähnlich der UML- Diagramme. Daraus werden die Zwischenbeziehungen nicht nur der Klassen des Projekts, sondern auch die Advices der Aspekte zu einzelnen Klassen deutlich. 10

11 8.5. Asbro Asbro ist ein Eclipse Plugin um in erster Stelle ein Treemap des Projekts darzustellen, kann jedoch, da es mindestens Eclipse v3.1 und AJDT v1.2 (Aspect Java Development Tool) benötigt, auch für die Darstellung von Aspekten innerhalb des Treemaps genutzt werden. Das Treemap View kann zusätzlich neben dem AJDT Editor in Eclipse geöffnet werden AspectWerkz AspectWerkz wurde kombiniert mit dem AspectJ Projekt und führte dann zum AspectJ 5. Ziel war es eine größere Flexibilität betreffs Aspekt-Syntax zu erreichen, indem die Vorteile beider Frameworks dazu beitragen. AspectWerkz wird allerdings unabhängig weitergeführt. Falls AspectWerkz nicht als plugin für Eclipse genutzt wird, sind einige Libraries im Java Classpath nötig, d.h. nicht nur eine jar-datei wie es bei AspectJ der fall ist. Nachteil: Imports sind explizit nötig, da kein impliziter Import-Mechanismus (wie bei AspectJ) vorhanden ist: import org.codehaus.aspectwerkz.definition.pointcut; import org.codehaus.aspectwerkz.joinpoint.joinpoint; import org.codehaus.aspectwerkz.annotation.expression; import org.codehaus.aspectwerkz.annotation.*; //für Advices Einerseits sind bei AspectWerkz Deklarationen wie die Annotation von Java 5 möglich (siehe folgende Abb.), andererseits im Sinne der Kompatibilität ist die Annotation von Javadoc zu J2SE 1.4 möglich. XML wird als Deklaration von Integrations-Konfigurationen von Aspekten ebenso wie die Annotationen erlaubt (siehe Abbildung zu aop.xml). Abbildung 6: Authentication.java Abbildung 7: aop.xml 11

12 8.7. JBoss AOP Mit dem Eclipse Plugin Jboss AOP soll erreicht werden serverseitig Aspekt-orientierte Entwicklungen im Bereich Enterprise Java Bean (EJB) zu gewährleisten. Gerade in diesem Bereich macht die Modularisierung besonderen Sinn. Hervorzuheben ist dass der JBoss Application Server die AOP-Technik unterstützt, anders als die J2EE-Spezifikation anderer Server, die dies nicht unterstützen. Explizite Imports nötig, z.b.: import org.jboss.aspects.security.*; //z.b. alle Aspekte aus Security import org.jboss.aop.joinpoint.* import org.jboss.aop.pointcut.pointcut; import org.jboss.aop.advice.*; Abbildung 8: Authentication.java Abbildung 9: jboss-aop.xml 8.8. Spring AOP Durch Spring AOP erhält man eine stark auf XML aufbauende Implementierung, die dadurch jedoch feine Granularität betreffs Konfigurierbarkeit und Code-Geflecht erreicht. Ähnlich dem JBoss AOP in: Konfigurierung Erzeugung Starten Vorteile: komfortabel und minimal in Runtime-Konfiguration des Spring frameworks kein separater Launcher nötig Nachteil: Bei Nutzung von JDK Proxies sind lediglich von diesen Proxies abgerufene Objekte advisebar, d.h. um Advices auf andere Objekte legen zu können, ist die Implementation eines eigenen Interface nötig. Alternativ kann man es dem Framework überlassen, welches den CGLIB Proxy Support nutzt. 12

13 8.9. weitere AOP Tools LOOM.NET Aspect# HyperJ (IBM) COSMOS (IBM) JAC Project (Java Aspect Components) Übersicht Syntax Aspekt Inter-type Advice Pointcut Konfiguration Deklaration Deklaration Körper AspectJ Code.lst Inclusion List AspectWerkz aop.xml Annotation oder XML Java JBoss AOP String jboss-aop.xml Methode Spring AOP XML springconfig.xml Überblick Sprach-Mechanismus AspectJ AspectWerkz JBoss AOP Spring AOP Pointcut Matching signature, type pattern, subtypes, wildcard, annotation signature, instanceof, wildcard, annotation regulärer Ausdruck Pointcut Anreihung &&,,! &&, Advices before, after, after returning, after throwing, around around before, after returning, around, throws dynamischer Kontext this, target, args via reflective access instanziert durch VM, target, instance, control flow VM, class, instance, thread VM, class, instance, join point class, instance Erweiterbar keit Abstrakte Pointcuts overriding, advice bindings 13

14 9. Fazit Einige Frameworks müssen einen höheren Reifegrad erreichen, bevor sie allgemeine Akzeptanz finden. Tendenziell kann ein Entwickler in der Aspekt-Orientierung seine persönliche Gewichtung auf Tools mit weniger Java- und dafür mehr XML-Anteil legen oder umgekehrt, wenn es darum gehen soll alles in einem Binary hinterlegen zu können. Glücklicherweise wird dies durch die Verwebung von Aspekten besonders bei dem Tool AspectJ durch den Aspekt-Compiler erfüllt. Es mag deutlich effizienter bzw. schneller sein eine XML-Datei mit Konfigurationen auszutauschen anstatt Java Source Code auszutauschen und dann zu kompilieren. Andererseits fühlt es sich mit AspectJ mehr nach Java-Programmierung an Aspekte zu deklarieren. Wenn man besonders mit dem JBoss Applikation Server arbeitet, wird man um JBoss AOP nicht herumkommen, im Gegenteil, die Möglichkeit Aspekt-orientiert an die Erzeugung von Middleware heranzutreten birgt bei der Komplexität der heutigen Sicherheits- und Transaktionsmanagement-Anforderungen genügend Überzeugungskraft. Crosscutting Concerns getrennt von der Kernfunktionalität, wartbarer und weniger fehleranfälliger während der Implementierung, zu halten kann aus Sicht von Qualitäts- und Risiko-Management von IT-Projekten positiv auf die Fertigstellung vieler unter Umständen sonst gescheiterten Projekten wirken. Schließlich kann man feststellen, dass jedes Framework seine Eigenschaften hat und es liegt an einem selber bzw. an den Applikations-Anforderungen, welches man letztendlich für die Umsetzung wählt. 14

15 10. Quellen Vorgabe: JavaMVP03 - AOP tools comparison, IBM - An introduction to AOP, IBM Development Tools for AspectC/C Asbro - ActiveAspect - AspectWerkz - JBoss AOP Spring AOP 15

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

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

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung Einführung in AOP Informatikseminar Rico Schiekel - 012816 rschiekel@web.de Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18. Installationsanleitung Maschinenkonfiguration und PP s Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.Februar 2015 Inhaltsverzeichnis 1 Einbinden der Postprozessoren... 3 1.1

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren 1 32- oder 64-bit Windows feststellen In den nachfolgenden Schritten ist es nötig, dass Sie wissen, ob Sie

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version:

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version: Pflichtenheft CDIX-Roles Erweiterung des CDIX Berechtigungssystems Autor : CD Software GmbH Copyright 2013-2014 CD Software GmbH Version: Motivation... 3 Organisation... 3 Kompatibilität und Aktivieren

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Fragen 2015. Arthur Zaczek. Apr 2015

Fragen 2015. Arthur Zaczek. Apr 2015 Arthur Zaczek Apr 2015 1 Ihre Fragen 2015 2 WPF 2.1 Code Behind Mit dem MVVM Pattern haben wir praktisch keinen Nutzen für das Code Behind der WPF Forms, sind diese dann eher für kleinere Applikationen

Mehr

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. Beschreibung der Focus Methode Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. 1. F = Failure / Finding An dieser Stelle wird der

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die

Mehr

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

Kurzfassung der Studienarbeit

Kurzfassung der Studienarbeit Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder

Mehr

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS 072 MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS Die Flut von Open Source Frameworks ist vergleichbar mit dem Markt von kommerziellen Produkten Es gibt eine Vielzahl

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

Erstellen eigener HTML Seiten auf ewon

Erstellen eigener HTML Seiten auf ewon ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt

Mehr

Forschen - Schreiben - Lehren

Forschen - Schreiben - Lehren Forschen - Schreiben - Lehren Kontakt: Mareike Gronich mgronich@uni-bielefeld.de Fach/Fachgebiet: Germanistik Art der Lehrveranstaltung: Seminar Ausgangspunkt Geschütztes konstruktives Peer-Feedback in

Mehr

impact ordering Info Produktkonfigurator

impact ordering Info Produktkonfigurator impact ordering Info Copyright Copyright 2013 veenion GmbH Alle Rechte vorbehalten. Kein Teil der Dokumentation darf in irgendeiner Form ohne schriftliche Genehmigung der veenion GmbH reproduziert, verändert

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Verwendung des IDS Backup Systems unter Windows 2000

Verwendung des IDS Backup Systems unter Windows 2000 Verwendung des IDS Backup Systems unter Windows 2000 1. Download der Software Netbackup2000 Unter der Adresse http://www.ids-mannheim.de/zdv/lokal/dienste/backup finden Sie die Software Netbackup2000.

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Aspektorientierte Programmierung (aspect-oriented programming, AOP)

Aspektorientierte Programmierung (aspect-oriented programming, AOP) Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen

Mehr

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Grundfunktionen und Bedienung

Grundfunktionen und Bedienung Kapitel 13 Mit der App Health ist eine neue Anwendung in ios 8 enthalten, die von vorangegangenen Betriebssystemen bislang nicht geboten wurde. Health fungiert dabei als Aggregator für die Daten von Fitness-

Mehr

Anleitung OpenCms 8 Webformular Auswertung

Anleitung OpenCms 8 Webformular Auswertung Anleitung OpenCms 8 Webformular Auswertung 1 Erzbistum Köln Webformular Auswertung 15. August 2014 Inhalt 1. Allgemeines zum Webformular Auswertung... 3 2. Verwendung des Webformulars... 4 2.1. Reiter

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

BIF/SWE - Übungsbeispiel

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

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr