Rechts oder Links? web apps Java Server Faces. Anwendung verschiedener JSF-Komponenten in der Praxis

Größe: px
Ab Seite anzeigen:

Download "Rechts oder Links? web apps Java Server Faces. Anwendung verschiedener JSF-Komponenten in der Praxis. 70 01.2008 www.javamagazin.de."

Transkript

1 Anwendung verschiedener JSF-Komponenten in der Praxis Rechts oder Links? von thomas greve In diesem Artikel steht die praktische Seite der Softwareentwicklung mit JavaServer Faces im Blickpunkt. Dazu werden zunächst zwei Musterlösungen für gängige Anforderungen mit Mitteln der Referenzimplementierung umgesetzt: Auswahl eines Objekts in einer Zeile, einer Tabelle und Implementierung eines Links-Rechts-Controls, also eines Editors für Many-to-Many-Relationen. Von Letzterem wird außerdem eine Implementierung auf Basis von ICEfaces-Tabellen vorgestellt. Auf vielen Webseiten und in vielen Anwendungen findet man Übersichtstabellen, in denen eine einzelne Zeile angeklickt werden kann, um auf einer neuen Seite oder Maske z.b. die Details dieses Eintrags zu bearbeiten. Natürlich ist es auch mithilfe von JavaServer Faces einfach möglich, diese Funktionalität umzusetzen. Anhand des einfachen Beispiels (Auszug aus einer Bücherverwaltung) wird im Folgenden eine Möglichkeit gezeigt, wie dies elegant und mit geringer Kopplung an das verwendete JSF-Framework implementiert werden kann. Die Implementierung in Listing 1 besteht ausschließlich aus Komponenten der Referenzimplementierung. Sie setzt in jeder Zeile der Tabelle einen Command- Link, der in der nahe liegendsten Variante eine Action-Methode der zugrunde liegenden Managed Bean aufruft. Bei dieser Vorgehensweise wird also für jeden der in der Tabelle generierten Links dieselbe Action-Methode in derselben Managed Bean aufgerufen. Es stellt sich jedoch die Frage, wie die Action-Methode dann feststellt, welche Zeile genau angeklickt wurde. Schalk und Burns schlagen vor, Component-Binding zu verwenden und in der Action-Methode die Tabellenkomponente zu fragen [1]. Dies ist eine einfache und effiziente Möglicheit, Component-Binding führt Quellcode auf CD jedoch zu einer sehr engen Bindung an das ersetzte Framework. Der Code von Schalk und Burns ist z.b. bei Verwendung der ADF-Faces zu ändern. Ein weiteres Beispiel, wo Component-Binding zur einfachsten Lösung führt, ist weiter unten angegeben. Die enge Kopplung lässt sich jedoch vermeiden, wenn durch das Anklicken des Links nicht dieselbe Action-Methode in derselben Managed Bean aufgerufen wird. Da es keine Möglichkeit gibt, für unterschiedliche Zeilen unterschiedliche Methoden aufzurufen, bietet sich die Alternative an, für unterschiedliche Zeilen die gleiche Methode in verschiedenen Managed Beans aufzurufen. Dazu wird Listing 1 Übersichtstabelle <h:datatable id= büchertable value= #bücherliste. bücher var= buch rowclasses= ungerade, gerade columnclasses= titelspalte, autorenspalte, verlagspalte, auflagespalte > <h:column id= titelcolumn > <h:outputtext value= Titel /> <h:commandlink id= buchlink value= #buch.titel action= #buch.klick /> <h:column id= autorencolumn > <h:outputtext value= Autor(en) /> die Klasse, die die Daten für eine Tabellenzeile bereithält, mit einer Action-Methode dekoriert (Listing 2). Für jede darzustellende Zeile wird das Modelobjekt in eine Instanz der Dekorator-Klasse gesetzt. Deren Action-Methode hinterlegt in der äußeren Managed- Bean-Instanz die Information, welche Zeile angeklickt wurde, in dem das innere Modelobjekt dort hinterlegt wird. In der JSP wird diese Methode als Action-Methode angegeben (Listing 1). Links-Rechts-Control Die Bearbeitung von Many-To-One- und Many-To-Many-Beziehungen zwischen Objekten läßt sich auf der Weboberfläche <h:outputtext value= #buch.autoren /> <h:column id= verlagcolumn > <h:outputtext value= Verlag /> <h:outputtext value= #buch.verlag /> <h:column id= auflagecolumn > <h:outputtext value= Auflage /> <h:outputtext value= #buch.auflage /> </h:datatable>

2 mit einem <select>-tag beziehungsweise einer <h:selectmanylistbox> abbilden. Bei einer großen Anzahl zur Auswahl stehender Einträge ist diese Variante etwas unhandlich, da nicht alle Einträge gleichzeitig zu sehen sind und der Überblick, welche davon ausgewählt sind, leicht verloren geht. Weitaus übersichtlicher ist eine Darstellung in zwei Listen, bei denen in der linken Liste die (noch) nicht ausgewählten Einträge dargestellt werden und auf der rechten Seite die ausgewählten Einträge. Dazwischen befinden sich zwei oder mehr Knöpfe, mit denen die Einträge nach links oder rechts geschoben werden können (Abb. 1). Leider bieten außer den ADF-Faces von Oracle bzw. den Trinidad-Komponenten von MyFaces und den WebGalileoFaces keine der mir bekannten JSF- Komponentenbibliotheken solch ein zusammengesetztes Control an, sodass ich es aus Einzelkomponenten zusammengesetzt habe. Dabei habe ich zwei verschiedene Implementierungen erstellt: Einfache Implementierung auf Basis von <h:selectmanylist> mit der Referenzimplementierung bzw. mit MyFaces Listing 2 Dekorierte Tabellenzeile public class BücherListe //... Buch _ausgewähltesbuch; public class AuswählbaresBuch Buch _buch; AuswählbaresBuch(Buch buch) _buch = buch; Listing 3 Initialisierung der TreeMaps if (_links == null _rechts == null) _links = new TreeMap<Autor, Integer>(); _rechts = new TreeMap<Autor, Integer>(); for (Autor autor : _alleautoren) if (_ausgewählteautoren.contains(autor)) Abb. 1: Einfaches Links-Rechts-Control Die gleiche Implementierung mit dem ICEfaces-RenderKit Strukturierte Darstellung mit <ice:data- Table> mit ICEfaces Implementierung mit der Referenzimplementierung Das Links-Rechts-Control selbst ist einfach zu bauen und die Logik in der Managed Bean ist schnell erklärt. Die JSP beinhaltet die Komponenten für die Listen und in der Mitte zwei Knöpfe, um ein oder mehrere ausgewählte Elemente nach links oder rechts zu schieben. Die Ausrichtung der Komponenten erfolgt mit Styles in einem einfachen Stylesheet. Die Werte der einzelnen Listen werden in einer TreeMap übergeben (Listing 3). Als Keys werden Darstellungsobjekte gewählt, die sowohl den darzustellenden Text über die tostring()-methode als auch die Rei- public String klick() // Action-Methode LOG.info( Buch angeklickt: + gettitel()); _ausgewähltesbuch = _buch; return bearbeiten ; // Delegationsmethoden... //... _rechts.put(autor, autor.getid()); else _links.put(autor, autor.getid()); web apps meet the experts of enterprise infrastructure

3 henfolge über die compareto()-methode festlegen. Als Value dient jeweils ein identifizierender Schlüssel, z.b. der Primary Key der zugrundeliegenden Entitäten. Die ausgewählten Einträge werden über Arrays dieser Schlüssel an die Managed Bean kommuniziert. Da nach einer Verschiebeoperation immer alle Elemente beider Listen deselektiert sein sollen, liefern die zugehörigen get-methoden ein konstantes leeres Array zurück (Listing 4). Plausibilitätsprüfung und wann man sie umgeht So einfach der obige Ansatz ist, hat er jedoch eine gravierende Einschränkung, die erst sichtbar wird, wenn weitere Eingabemöglichkeiten in derselben Form vorhanden sind und diese mit Validatoren auf korrekte Eingabe überprüft werden. Im einfachsten Fall kann dies z.b. mit dem Parameter required= true erfolgen. Wenn nun einer der Links-Rechts-Knöpfe betätigt wird, erfolgt ein Submit der gesamten Form mit anschließender Validierung die zu diesem Zeitpunkt noch nicht sinnvoll ist. Um zu vermeiden, dass schon beim Versuch, einen Eintrag von links nach rechts zu schieben eine Validierungsfehlermeldung erfolgt, lässt sich die Validierung auf zwei Weisen umgehen: entweder kommen die Komponenten des Links-Rechts-Controls in eine eigene Form oder man verwendet den immediate-parameter, um die Validierungsphase zu überspringen. Zwei Formen Eine eigene Form für die Komponenten des Links-Rechts-Controls zu erstellen, ist die einfachere Variante, da nur die JSP angepasst werden muss. Leider ist das Ergebnis für die Praxis unbrauchbar, weil beim Betätigen der Links-Rechts-Knöpfe die ungesicherten Eingaben in den Feldern der anderen Form verloren gehen. Immediate-Parameter Alternativ lässt sich die Validierung explizit überspringen, indem bei den Komponenten des Links-Rechts-Controls der immediate-parameter gesetzt wird. An dieser Stelle seien die fünf Phasen, in denen JavaServer Faces den Submit einer Form bearbeitet, noch einmal aufgeführt (vgl. auch [1]): 1. Setzen der übertragenen Werte in den JSF-Komponenten 2. Durchführung der Validierung 3. Aktualisierung des Anwendungsmodels 4. Aufruf der Action-Methoden der Anwendung 5. Berechnung der Antwortseite Setzt man die immediate-parameter der Komponenten des Links-Rechts-Con- Listing 4 Ausgewählte Autoren public Map<Autor, Integer> getlinks() initialisieremaps(); return _links; public Map<Autor, Integer> getrechts() initialisieremaps(); return _rechts; public Integer[] getlinksausgewählt() return NICHTS_AUSGEWÄHLT; public void setlinksausgewählt(integer[] linksausgewählt) _linksausgewählt = linksausgewählt; public Integer[] getrechtsausgewählt() return NICHTS_AUSGEWÄHLT; public void setrechtsausgewählt(integer[] rechtsausgewählt) _rechtsausgewählt = rechtsausgewählt; for (int id : _linksausgewählt) _links.remove(autor); _rechts.put(autor, id); _ausgewählteautoren.add(autor); public String nachlinks() for (int id : _rechtsausgewählt) _rechts.remove(autor); _links.put(autor, id); _ausgewählteautoren.remove(autor); Listing 5 Ausgewählte Werte aus den JSF-Komponenten auslesen for (String value : (String[])_linkeListe. getselectedvalues()) Integer id = Integer.valueOf(value); _links.remove(autor); _rechts.put(autor, id); _ausgewã hlteautoren.add(autor);

4 trols auf true, wird bei der Bearbeitung der Actions der Knöpfe die Validierungsphase übersprungen das Model wird allerdings auch nicht aktualisiert. Da wir am Auswahlzustand in den Listen ohnehin nur temporär interessiert sind, kann auf eine Modellkomponente dafür vollständig verzichtet werden und der Auswahlzustand zum Zeitpunkt der Action- Methoden direkt aus den Komponenten (hier: UISelectMany) ausgelesen werden (Listing 5). Zu diesem Zweck werden die Komponenten per Component Binding in der JSP angebunden (Listing 6) und in der Managed Bean hinterlegt: UISelectMany _linkeliste, _rechteliste; Die oben gezeigte Methode, mittels immediate-komponenten Formen in einem Zwischenzustand an den Server zu übermitteln, lässt sich für viele andere Zwecke einsetzen. Dabei zu beachten ist, dass das Model in diesem Fall nicht aktualisiert wird und die Daten ggf. den JSF-Komponenten entnommen werden müssen. Implementierung mit ICEfaces Der ICEfaces-Ansatz, Ajax über das RenderKit einzufügen, hat den freundlichen Effekt, dass der obige Code unverändert übernommen werden kann. Dies gilt auch für die Variante mit den immediate-komponenten. Auch wenn mithilfe von Ajax asynchrone Updates des Models möglich sind, folgen diese Updates nach wie vor den oben aufgeführten fünf Phasen. Das oben vorgestellte Links-Rechts- Control ist nur dann einsetzbar, wenn die auszuwählenden Objekte sich mithilfe eines einfachen Strings darstellen lassen. Ist dies nicht der Fall, werden die Objekte meist in einer Tabelle dargestellt. Auch wenn die Autoren sich wie oben sinnvoll mit einem String darstellen lassen, wird dieses Beispiel hier noch einmal aufgegriffen. Diesmal wird jedoch für jeden Autor Vorname und Nachname in getrennten Spalten dargestellt. Für ein Links-Rechts-Control wird eine Tabelle benötigt, in der eine oder mehrere Zeilen per Mausklick auf intuitive Weise ausgewählt werden können. Darüber hinaus sollte die Tabelle die Möglichkeit bieten, in fester Größe dargestellt zu werden und den Inhalt (ohne die Überschriften!) ggf. zu scrollen. Die ice:data- Table erfüllt diese Anforderungen und ermöglicht so eine optische Darstellung, die dem ursprünglichen Links-Rechts-Control optisch sehr nahe kommt (Abb. 2). Der JSP-Text, der benötigt wird, um diese Darstellung zu erreichen, ist ver- Listing 6 Immediate-Parameter und Component Binding <!-- Autorenliste --> <h:panelgrid id= autorenpanel columns= 3 > <h:selectmanylistbox id= links binding= #buchbearbeitung.linkeliste immediate= true size= 8 styleclass= autorenliste > <f:selectitems value= #buchbearbeitung.links /> </h:selectmanylistbox> <h:panelgrid id= mittlerespalte columns= 1 styleclass= mittlerespalte columnclasses= mittlereknoepfe > <h:commandbutton id= nachrechts value= > immediate= true action= #buchbearbeitung.nachrechts /> <h:commandbutton id= nachlinks value= < immediate= true action= #buchbearbeitung.nachlinks /> </h:panelgrid> <h:selectmanylistbox id= rechts binding= #buchbearbeitung.rechteliste immediate= true size= 8 styleclass= autorenliste > <f:selectitems value= #buchbearbeitung. rechts /> </h:selectmanylistbox> </h:panelgrid> Listing 7 Scrollbare Tabelle mit auswählbaren Zeilen <ice:datatable id= links var= autor value= #table.links scrollable= true scrollheight= 12em columnwidths= 10em, 10em > <ice:column id= nachnamecol > <ice:rowselector value= #autor.selected /> <ice:outputtext id= nachnameheader value= Nachname /> <ice:outputtext id= nachnametext value= #autor. nachname /> </ice:column> <ice:column id= vornamecol > <ice:outputtext id= vornameheader value= Vorname /> <ice:outputtext id= vornametext value= #autor.vorname /> </ice:column> </ice:datatable> Listing 8 Action-Methode /** action */ for (Iterator<AuswählbarerAutor> it = _links.iterator(); it.hasnext(); ) AuswählbarerAutor autor = it.next(); if (autor.isselected()) it.remove(); _rechts.add(autor); autor.setselected(false);

5 Beste Bücher für besten Code! Abb. 2: Links-Rechts-Control auf Basis der ICEfaces-Tabelle gleichsweise übersichtlich (Listing 7). Die Größe der Tabelle wird über die scroll- Height und die Summe der Spaltenbreiten (columnwidths) festgelegt. Die Auswählbarkeit der Zeilen wird über die innere rowselection-komponente hinzugefügt. Auf die Verwendung von immediate-parametern und Component-Binding wurde hier verzichtet. Das Programmiermodell des ICEfaces-RowSelectors sieht vor, dass die auswählbaren Objekte mit einer selected-eigenschaft dekoriert werden. Dem entsprechend ist die Implementierung der Action-Methoden einfach (Listing 8). Es ist nur darauf zu achten, dass der verschobene Autor wieder deselektiert wird. Fazit Dank der gelungenen Architektur der JavaServer Faces lassen sich viele einfache Anforderungen ohne die explizite Verwendung der JSF-Komponenten und somit ohne Kenntnis deren innerer Struktur lösen. Erst der Einsatz von Component-Binding führt dazu, daß JSF-Komponenten im Quelltext der Managed Beans explizit verwendet werden müssen. Wie schon in [3] beschrieben, sind die in der Referenzimplementierung verfügbaren Komponenten recht rudimentär, was dem Zielsystem, einem HTML-Browser geschuldet ist. Durch die Verwendung von zusätzlichen Komponentenbibliotheken lassen sich jedoch Webanwendungen erstellen, die in Hinblick auf Darstellung und Komfort Rich-Client-Anwendungen nahekommen. Der Aufwand dafür hält sich in Grenzen: die Komponenten lassen sich mit wenigen Parametern konfigurieren und das Ergebnis ist optisch sehr ansprechend. Die Verfügbarkeit von verschiedenen leistungsfähigen Open-Source-Bibliotheken ermöglicht dies auch bei engem Budget und/oder für kleine Projekte. Dr. Thomas Greve ist als Senior-Berater und Coach bei der MT AG in Ratingen im Unternehmensbereich System-Integration angestellt. Tätigkeitsschwerpunkte sind die Mitarbeit in und die Betreuung von Java-Enterprise-Projekten vom Design und der Architektur bis zum Produktivbetrieb. Kontakt: Links & Literatur [1] Chris Schalk, Ed Burns, James Holmes: JavaServer Faces, The Complete Reference, McGraw Hill, 2007 [2] ICEfaces Homepage: [3] Manuel Klein, Thomas Greve: Im Komponentendschungel, in: Java-Magazin 12/2007, S LSL SQL Tuning Integration von JSF-Komponentenbibliotheken in Eclipse-JEE Sollen zusätzliche JSF-Komponentenbibliotheken in ein Webprojekt für Eclipse-JEE eingebunden werden, kann dies einfach durch kopieren der entsprechenden JARs in das Verzeichnis web/ WEB-INF/lib erfolgen. Soll eine Komponentenbibliothek jedoch mehrfach verwendet werden, empfiehlt sich, unter Windows Preferences... im Abschnitt Web and XML Tools Libraries eine JSF Library anzulegen. Dort werden diese JARs dann unter einem sprechenden Namen zusammengefasst. Um diese JSF-Library in einem Webprojekt zu nutzen, muß sie dem Projekt an zwei Stellen hinzugefügt werden: in den Project Properties wird im Abschnitt J2EE Module Dependencies unter dem Reiter Web Libraries eingestellt, daß die JARs in das zu erstellende WAR zu übernehmen sind. Wenn auch die Verfügbarkeit zur Compile-Zeit gewünscht ist, wird im Abschnitt Java Build Path unter dem Reiter Libraries in den Build Path aufgenommen. Dazu wird unter Add Library... JSF Library Next> die gewünschte Bibliothek ausgewählt. Ajax B2_001

WebObjects. Dirk Schober Senior Software Trainer AppleServices EMEA. Was ist eigentlich ein Application Server?

WebObjects. Dirk Schober Senior Software Trainer AppleServices EMEA. Was ist eigentlich ein Application Server? Objects Dirk Schober Senior Software Trainer leservices EMEA Fragen über Fragen Was ist eigentlich ein lication? Welche lication gibt es sonst noch? Was kostet sowas? Wer setzt denn eine solche Technologie

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people Vortrag zur DOAG Konferenz 2011 Mehr Dynamik in Apex mit und Alexander Scholz its-people 1 Ablauf Thema des Vortragsthemas Motivation Besonderheit des Referenten Alexander Scholz its-people Wie kann in

Mehr

Ein Projekt mit JavaFX erstellen

Ein Projekt mit JavaFX erstellen Ein Projekt mit JavaFX erstellen Das Projekt Es soll eine Umrechnung der Geschwindigkeit aus der Einheit m/s in die Einheit km/h erfolgen. Zu diesem Zweck wird ein einzeiliges Textfeld für die Eingabe

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an

Mehr

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

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

Mehr

Ralf Eggert. Zend Framework 2. Das Praxisbuch

Ralf Eggert. Zend Framework 2. Das Praxisbuch Ralf Eggert Zend Framework 2 Das Praxisbuch 7.4 Ein Anwendungsmodul entwickeln 7.3.7 Weitere Konfigurationen Der Modul-Manager ermöglicht auch die Konfiguration weiterer Elemente, für die entsprechende

Mehr

Grundlagen Programmierung

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

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

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

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

Mehr

Das Studiengangsinformationssystem (SGIS)

Das Studiengangsinformationssystem (SGIS) Das Studiengangsinformationssystem (SGIS) Manual für Typo3-Redakteure Version 1.a Mai 2015 Kontakt: Referat 1.4 - Allgemeine Studienberatung und Career Service Christian Birringer, christian.birringer@uni-rostock.de

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

AJAX SSL- Wizard Referenz

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

Mehr

DocBook-Filter für OpenOffice.org

DocBook-Filter für OpenOffice.org OpenOffice.org als Editor für DocBook-XML Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen XML-Projekt (http://xml.openoffice.org) Alle in diesem Dokument

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

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

Mehr

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

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

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Beispiel Framework: Struts Was ist? Open Source Framework zum Bau von Web Applikationen Home Page http://jakarta.apache.org/struts Teil des Apache Jakarta Project Unterstützt

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Verwaltung und Pflege einer auf Joomla basierenden Webpräsenz

Verwaltung und Pflege einer auf Joomla basierenden Webpräsenz Verwaltung und Pflege einer auf Joomla basierenden Webpräsenz Für das Pensionshaus Erpetal wurde im Rahmen eines Projekts der GTA-O eine Webpräsens gestaltet und für Joomla umgesetzt. Diese Dokumentation

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

Selbststudium OOP4 Auftrag

Selbststudium OOP4 Auftrag Selbststudium OOP4 Auftrag Kapitel 3.6 1. Wie deklarieren Sie eine Referenzvariable? Mit new z.b. Student studenta = new Stundent( Meier ); 2. Zeichnen Sie das Objektdiagramm zum BlueJ Picture Projekt

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Konfiguration von AcuWeb

Konfiguration von AcuWeb Konfiguration von AcuWeb Discom GmbH, Göttingen Stand: 15.07.2005 Inhalt Einführung...1 1. Applikationssee...1 2. Web.config...4 Konfiguration von AcuWeb Inhalt i Einführung Wie jede andere Discom-Anwendung

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen...

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen... FL-Manager: Kurze beispielhafte Einweisung In dieser Kurzanleitung lernen Sie die wichtigsten Funktionen und Abläufe kennen. Weitere Erläuterungen finden Sie in der Dokumentation FLManager.pdf Neues Projekt

Mehr

Pascal-Compiler für den Attiny

Pascal-Compiler für den Attiny Das Attiny-Projekt MikroPascal 1 Pascal-Compiler für den Attiny Manch einer möchte vielleicht unsere Attiny-Platine nicht mit BASCOM programmieren. Verschiedene Alternativen bieten sich an. Ein besonders

Mehr

Quickstart IMS Custom-Player Pro

Quickstart IMS Custom-Player Pro Quickstart IMS Custom-Player Pro Jedes IMS-MDN (Media Delivery Network) Konto bietet zum Abspielen von Flash Videos den Standard IMS Custom Player. Dieser Player wird von uns auf einem hoch performanten

Mehr

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

Mehr

16 SQL Server-Zugriff per VBA

16 SQL Server-Zugriff per VBA Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 16 SQL Server-Zugriff per VBA Sie werden an verschiedenen Stellen per VBA auf die Tabellen der SQL Server-Datenbank zugreifen müssen sei

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Bedienung von BlueJ. Klassenanzeige

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

Mehr

Web-Design mit JSF und AJAX. Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de)

Web-Design mit JSF und AJAX. Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de) Web-Design mit JSF und AJAX Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de) 0 Agenda Ajax als Web 2.0 Technologie Java-Server Faces 1 Java Server Faces Sun-Spezifikation (JSR-127)

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

Mehr

Lernjournal Auftrag 1

Lernjournal Auftrag 1 Lernjournal Auftrag 1 Autor: Ramon Schenk Modul: M151 Datenbanken in Webauftritt einbinden Klasse: INF12.5H Datum: 29/01/15 XAMPP- Entwicklungsumgebung installieren Inhalt 1. Tätigkeiten... 2 2. Einrichten

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

Mehr

Inhalt: Version 1.7.5

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

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

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

Integration einer ADF-Applikation im Forms-Umfeld

Integration einer ADF-Applikation im Forms-Umfeld MT AG MANAGING TECHNOLOGY IMPROVING BUSINESS PERFORMANCE Integration einer ADF-Applikation im Forms-Umfeld Referenten: Guido Neander, Senior-Berater, MT AG, Ratingen Arne Platzen, Berater, MT AG, Ratingen

Mehr

Eine Business-Anwendung ist ohne Eingabevalidierung

Eine Business-Anwendung ist ohne Eingabevalidierung Eingabevalidierung mit WinRT Drum prüfe, wer sich bindet WinRT bietet für C#/XAML noch keine durchgängige Unterstützung der Validierung von Benutzereingaben. Dieser Artikel zeigt die Schwachstellen auf

Mehr

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland DOKUMENT: TYP: ERSTELLT VON: Manual nova ratio AG Universitätsstraße 3 56070 Koblenz Deutschland VERSION: STAND: 9.x 23. September 2015 Inhaltsverzeichnis 1 2 2.1 2.2 2.3 3 3.1 3.2 3.3 4 4.1 4.2 4.3 4.4

Mehr

Vorbereitung zu Praktikum 3

Vorbereitung zu Praktikum 3 Vorbereitung zu Praktikum 3 Menü-Toolkit und Command Pattern Fallstudie zu Vererbung und Polymorphie: "Menü-Toolkit" Anwenderfreundliche Programme werden mit Menüs gesteuert In objektorientierten Anwendungen

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

JSTL - JSP Standard Tag Library ETIS SS04

JSTL - JSP Standard Tag Library ETIS SS04 JSTL - JSP Standard Tag Library ETIS SS04 Gliederung Motivation Bestandteile core - Kernfunktionalität function - Funktionen fmt - Formatierung / Internationalisierung Zusammenfassung 2 Motivation (I)

Mehr

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

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

Mehr

Liste V Enterprise JavaBeans

Liste V Enterprise JavaBeans Liste V Enterprise JavaBeans Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung zur Vertiefungslehrveranstaltung Spezielle Methoden der Softwaretechnik SS

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz Das Instrument für den fähigkeitsgerechten Personaleinsatz IMBA SQL Server-Datenbankadapter Installationsanleitung gefördert durch das Bundesministerium für Gesundheit und Soziale Sicherung Vorbereitung

Mehr

Library Management. 90 Altium Designer Lib+Sch www.leonardy.com

Library Management. 90 Altium Designer Lib+Sch www.leonardy.com 90 Design Explorer Library Management Integrated Libraries Altium Designer bietet verschiedene Library-Konzepte: - Schlib, PCB-Lib (mit 3D-Modellen), Spice- und Signal Integrity-Modelle getrennt - Schlib,

Mehr

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen CaptchaAd mit Java Stand: 26. Juli 2011 Sehr geehrter Nutzer von CaptchaAd! Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen

Mehr

Bogobit Digimux mit Viessmann Multiplex-Signalen und Märklin Central Station 2

Bogobit Digimux mit Viessmann Multiplex-Signalen und Märklin Central Station 2 Bogobit Digimux mit Viessmann Multiplex-Signalen und Märklin Central Station 2 1 Ein neues Signal in der CS2 anlegen Führen Sie die folgenden Schritte aus, um ein neues Signal in der CS2 anzulegen und

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen. Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:

Mehr

Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet)

Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) 2/42 Android Apps: ein komplexes Beispiel Gliederung Vorstellung

Mehr

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

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

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Meeting C++ C++11 R-Value Referenzen

Meeting C++ C++11 R-Value Referenzen Meeting C++ Detlef Wilkening http://www.wilkening-online.de 09.11.2012 Inhalt Motivation L-Values und R-Values R-Value Referenzen Move Semantik std::move Funktionen mit R-Value-Referenz Parametern Fazit

Mehr

Dropdown-Formularfelder mit mehr als 25 Einträgen Erklärung

Dropdown-Formularfelder mit mehr als 25 Einträgen Erklärung Dropdown-Formularfelder mit mehr als 25 Einträgen Erklärung Diese Einschränkung hängt wohl mit dem Aussehen von Dropdown-Formularfeldern zusammen, welches ein «Scrolling» (Blättern) nicht zulässt. Dies

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

VPN- Beispielkonfigurationen

VPN- Beispielkonfigurationen VPN- Beispielkonfigurationen für die Router-Modelle FVS114 FVS318v1, v2, v3 FVM318 FVS328 FVS338 FVL328 FWAG114 FWG114Pv1, v2 FVG318 FDVG338 FVX538 sowie die ProSafe VPN Client Software Seite 1 von 113

Mehr

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05.

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05. IT Engineering Continuous Delivery Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet Alexander Pacnik Karlsruhe, 20.05.2014 Einleitung... worum es in diesem Vortrag geht Ziele Continuous

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

Handbuch TweetMeetsMage

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

Mehr

So (un)sicher ist Mac OS Teamwork: Xcode und CocoaPods. Xtext. GWT Asynchrone Requests richtig handeln. Graphendatenbanken. Die wichtigsten HTML5-APIs

So (un)sicher ist Mac OS Teamwork: Xcode und CocoaPods. Xtext. GWT Asynchrone Requests richtig handeln. Graphendatenbanken. Die wichtigsten HTML5-APIs Alle Infos zur JAX ab S. 39 Deutschland 6,50 Österreich 7,00 Schweiz sfr 13,40 www.entwickler-magazin.de Juli /August 4.2011 März/April 2.2013 0QFO(- t 41. t (SBQIFOEBUFOCBOLFO t 7JSUVBMJTJFSVOH t )5.-

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Schulungsunterlagen: ARCWAY Cockpit Report Engine. Erstellen und Anpassen von Berichtsvorlagen für ARCWAY Cockpit

Schulungsunterlagen: ARCWAY Cockpit Report Engine. Erstellen und Anpassen von Berichtsvorlagen für ARCWAY Cockpit Schulungsunterlagen: ARCWAY Cockpit Report Engine Erstellen und Anpassen von Berichtsvorlagen für ARCWAY Cockpit Agenda 1. Allgemeines zur Berichtsgenerierung 2. DocBook XML 3. Velocity Template Language

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

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

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

Mehr

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

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

Mehr

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

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

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

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Von der UML nach C++

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

Mehr

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

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

Mehr

Der Website-Generator

Der Website-Generator Der Website-Generator Der Website-Generator im Privatbereich gibt Ihnen die Möglichkeit, schnell eine eigene Website in einheitlichem Layout zu erstellen. In Klassen, Gruppen und Institutionen können auch

Mehr