PLAY FRAMEWORK. Webnesday #5. Mirko Stocker Institut für Software Rapperswil, 13. Mai, 2015
|
|
- Ernst Beutel
- vor 8 Jahren
- Abrufe
Transkript
1 PLAY FRAMEWORK Webnesday #5 Mirko Stocker Institut für Software Rapperswil, 13. Mai, 2015
2 Mirko Stocker Wissenschaftlicher Mitarbeiter Application Architecture Cloud Solutions Parallele Programmierung User Interfaces appquest.hsr.ch Product Manager Eclipse Plug-ins für C++/Scala Forschungsprojekte InfoQ Editor Scala, Ruby Web-Entwicklung Consulting und Projekt-Begleitung github.com/misto facebook.com/misto ch.linkedin.com/in/misto Seite 2
3 Play Framework Seite 3
4 Warum Play? JVM, aber kein JEE/Servlet HTTP Interface, non-blocking I/O Typsicherheit: Templates, URLs Entwicklungszyklus: Edit -> Refresh Seite 4
5 Grundlagen des Webs HTTP Reload Back URLs Seite 5
6 Grundlagen des Webs Bezogen auf Play HTTP nicht verstecken Reload Stateless URLs sprechen Stateless: Der Back-Button funktioniert HTTP ist nicht nur ein Transport für RPC (REST Maturity Model) URLs sollten sprechen (Level 1, Links zu verschiedenen Ressourcen) Reload: Als Entwickler will ich Änderungen sofort sehen Seite 6
7 Play ist Stateless Kein Zustand im Applikations Tier Im Unterschied zu Java Servlet HttpSession Zustand ist also eine Kombination aus Client Session State Database Session State Vorteile Einfach horizontal skalierbar, da egal ist, welche Instanz einen Request behandelt (Cloud-Ready) Kein Synchronisationsaufwand in der Applikation Entwicklung und Test vereinfacht, da Verhalten reproduzierbar ist Seite 8
8 Play macht dem Entwickler Spass Play kommt ohne Applikationsserver aus Basiert auf Netty Kann aber auch als WAR deployed werden Kein Deployment während der Entwicklung Beim Reload werden die geänderten Klassen und Templates neu kompiliert und geladen Gute Fehlermeldungen direkt im Browser Gute Unterstützung von Unit, Functional und Integration Testing Sehr guter JSON und JavaScript Support JSON Parsen, Manipulieren und Generieren Webjars Support und Require-JS eingebaut Minimization, LESS/CoffeeScript Compilation, etc. Seite 9
9 Play macht dem Entwickler Spass Seite 10
10 Play Komponenten Template Engine Integrierter Webserver (Netty) HTTP Interface Asset Compilation Webservices API Async I/O Interaktives Buildsystem und Projekttemplates HTML Form Validation JSON Akka Actors Diverse (NO-) SQL Anbindungen Seite 11
11 Play User Seite 12 Olaf Zimmermann, Mirko Stocker 2014
12 Neues Play Projekt Erstellen Play wird von Typesafe (Scala, Akka) entwickelt Neue Play Projekte erstellt man am einfachsten mit dem Activator Activator: Build-Tool und Projekt-Generator von Typesafe Enthält diverse Beispielprojekte und Templates Seite 13
13 Neues Play Projekt Erstellen Verfügbare Templates auflisten./activator list-templates Neues Projekt aus Template play-java erstellen./activator new my-play-java play-java Browser-basiertes UI starten./activator ui Interaktives CLI starten./activator Eclipse Projekt erstellen./activator eclipse Im Projektordner IntelliJ IDEA Projekt erstellen./activator idea Seite 14
14 Projektlayout Sourcecode Buildfile Static Assets Tests activator app controllers Application.java views index.scala.html main.scala.html build.sbt conf application.conf routes logs application.log public images favicon.png javascripts hello.js stylesheets main.css test ApplicationTest.java IntegrationTest.java Seite 15
15 MVC in Play MVC Pattern lässt sich aus der Projektstruktur erahnen: app controllers Application.java views index.scala.html main.scala.html Controller Model View Models sind typischerweise im app/models Ordner zu finden Seite 16
16 URLs und Routing in Play Sprechende URLs sehen nicht nur schöner aus sie sind auch stabiler wir können sie Bookmarken, Twittern und als Entwickler auch direkt manipulieren URLs in Play sind first class Citizens (und nicht bloss Strings) Compiler prüft Verwendung Interne tote Links sind nicht möglich Alle URLs werden in conf/routes zentral deklariert GET / controllers.application.index GET /computers controllers.application.list GET /computers/new controllers.application.create POST /computers controllers.application.save GET /computers/:id controllers.application.edit(id:long) POST /computers/:id controllers.application.update(id:long) Klasse.Methode Seite 17
17 Controller: Actions Ein (Page) Controller behandelt die eingehenden Requests Controller ist eine Sammlung von Actions package controllers; import play.*; import play.mvc.*; public class Application extends Controller { } public static Result index() { return ok("it works!"); } % GET -s ' 200 OK It works!% Seite 18
18 Controller: Actions Der Play Router mappt die URLs zu den Controller Methoden GET / controllers.application.index() GET /assets/*file controllers.assets.at(path="/public", file) Vordefinierte Hilfsmethoden für gängige HTTP Status Codes Beispielsweise auch für Redirects public static Result index() { return redirect(routes.application.index()); } % GET -e ' 303 See Other Location: / Seite 19
19 Controller: Routing Verschiedenste URL Pattern möglich GET /computers/:id controllers.app.edit(id: Long) GET /computers/search controllers.app.search(query: String) GET /computers controllers.app.list(page: Int?= 1) GET /computers controllers.app.show(page: Page) Eigene Entsprechen Methoden-Parameter und müssen nicht selber geparsed werden (sogar mit eigenen Klassen): public static Result edit(long id) { } public static Result search(string query) { } public static Result list(int page) { } public static Result show(page page) { } Klasse Seite 20
20 Controller: Routing prüft Parameter % GET -e ' 400 Bad Request Seite 21
21 JSON im Request public static Result sayhello() { JsonNode json = request().body().asjson(); String name = json.findpath("name").textvalue(); if(name == null) { return badrequest("missing parameter [name]"); } else { return ok("hello " + name); } } Jackson % curl --header "Content-type: application/json" --request POST --data '{"name": "HSR"}' HTTP/ OK Content-Type: text/plain; charset=utf-8 Content-Length: 9 Hello HSR Seite 28
22 JSON im Request Body Scala case class Named(name: String) def sayhello() = Action(parse.json[Named]) { request => val named = request.body // named hat Typ Named Ok(s"Hello ${named.name}") } % curl --header "Content-type: application/json" --request POST --data '{"name": "HSR"}' HTTP/ OK Content-Type: text/plain; charset=utf-8 Content-Length: 9 Hello HSR Bad Request wenn fehlt Generiert JSON Parser Seite 29
23 JSON als Result JSON erstellen public static Result sayhello() { ObjectNode result = Json.newObject(); result.put("message", "Hello Webnesday!"); return ok(result); } ok() ist überladen und setzt automatisch den richtigen Content-Type % curl --request GET HTTP/ OK Content-Type: application/json; charset=utf-8 {"message":"hello Webnesday!"} Seite 30
24 Models Typischerweise POJOs in app/models Play ist nicht auf einen spezifischen OR-Mapper festgelegt JPA, JDBC, etc. Auf der Scala Seite auch Anorm und Slick (ähnlich wie MS LINQ) Beispiel mit public static Result list() { EntityManager em = play.db.jpa.jpa.em(); TypedQuery<Computer> query = em.createquery( ) Collection<Computers> computers = query.getresultlist(); return ok(views.html.application.index.render(user, computers)); } Seite 31
25 Non-Blocking I/O Seite 32 Olaf Zimmermann, Mirko Stocker 2014
26 Das Problem mit Threads Threads sind teuer in der Erstellung Lösung: Wiederverwenden, Threadpool verwenden Wie gross soll der Threadpool sein? Aus CPU-Sicht: Ein Thread / Core Zu gross Memory-Overhead Context-Switching Zu klein Abhängigkeit von Downstream-Latenz Requests blockieren wenn keine Threads mehr vorhanden sind Lösung: Keine Threads blockieren! Ein Thread / Core dauernd beschäftigt Non-Blocking I/O (NIO in Java, select / poll / epoll) Seite 33 Olaf Zimmermann, Mirko Stocker 2014
27 Latenz in einem verteilten System mit Blocking DB Backend Service S3 Load Balancer Web Server Backend Service DB DB DB Latenz geht hoch Web Server Backend Service 3rd Party Service Seite 34 Olaf Zimmermann, Mirko Stocker 2014
28 Latenz in einem verteilten System mit Blocking Threads werden «gestaut» DB Load Balancer Web Server Web Server Backend Service Backend Service Backend Service S3 DB DB 3rd Party Service Seite 35 Olaf Zimmermann, Mirko Stocker 2014
29 Evented vs. Threaded Web Server Play basiert auf Netty, einem evented Web Server Traditionell sind Web Server eher Thread based: pro Request ein Thread Event basierend: Pro CPU ein Thread, Threads werden nicht blockiert. Auch asynchron oder non-blocking genannt Siehe auch Reactor Pattern (Pattern Oriented Software Architecture 2) Sobald bei der Bearbeitung des Requests auf eine downstream Datenquelle (WS, DB) gewartet werden muss, wird der Thread freigeben und ein Callback registriert Event-based skaliert besser bei vielen Requests Thread ist nur besetzt, wenn es etwas zu tun gibt Unabhängigkeit von der Downstream Latenz Seite 36
30 Non-Blocking Web Services Controller Action in Play kann auch ein Promise<Result> zurückgeben Promise: analog zu Future (Proxy Objekt für ein zukünftiges Resultat) Aufruf der Action beendet so schnell wie möglich Thread wird für nächsten Request frei Resultat wird ausgeliefert, wenn die Berechnung fertig ist public static Promise<Result> longrunningaction() { System.out.println("Action entry"); String url = " } Promise<Result> result = WS.url(url).get().map(response -> { System.out.println("Processing result"); return ok(response.getbody()).as("text/html"); }); System.out.println("Action exit"); return result; Action entry Action exit Processing result Seite 37
31 Play Zusammenfassung Play ist eine leichtgewichtige moderne Alternative für Java Web Stateless, RESTful (Cloud-Ready) Embrace HTTP, nicht verstecken und wegabstrahieren Schneller Entwicklungszyklus, kein langwieriges Deployment Non-blocking und evented, läuft auf Netty Intern in Scala geschrieben, mit Java und Scala API Typsicher: Routing, URLs und Templates LESS, CoffeeScript, React, etc. unterstützt im Buildsystem JSON, Websockets, SSE Support Seite 38
32 Danke für eure Aufmerksamkeit! Seite 39 Olaf Zimmermann, Mirko Stocker 2014
Eine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrRails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen
MehrWEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?
WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)
MehrRESTful Web. Representational State Transfer
RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten
Mehrgoalio Documentation Release 1.0.0 goalio UG
goalio Documentation Release 1.0.0 goalio UG 18.11.2014 Inhaltsverzeichnis 1 Erste Schritte mit goalio 1 1.1 Benutzeroberfläche............................................ 1 1.2 Suche...................................................
MehrSAP NetWeaver Gateway. Connectivity@SNAP 2013
SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
MehrDesign 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
MehrSession 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
MehrSoftware 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
MehrOpen Source. Hendrik Ebbers 2015
Open Source Hendrik Ebbers 2015 Open Source About me Hendrik Ebbers Lead of JUG Dortmund Java Architect @ Canoo Engineering AG JavaOne Rockstar, Java Expert Group Member Speaker, blogger & author Engineering
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrZend PHP Cloud Application Platform
Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.
MehrDesign Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrJava - Webapplikationen
Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.
Mehrdrupal + nodejs erste schritte. @frega - fl@flink-solutions.de
drupal + nodejs erste schritte. @frega - fl@flink-solutions.de am konkreten beispiel (inkl. code-schnipsel und live-demo, what could go wrong...) eine "shoutbox", d.h. ein kleinstmöglicher chatroom. nodejs?
MehrFlash, Network und Facebook. Steven Mohr steven@stevenmohr.de
Flash, Network und Facebook Steven Mohr steven@stevenmohr.de Gliederung 1. Wie ist eine Facebook-App aufgebaut 2. Basics 3. Erste Demo einer kleinen Flash-Facebook-App 4. Friends, Achievements und Invites
MehrAdami CRM - Outlook Replikation User Dokumentation
Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
MehrAlbert 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.
MehrAK Medientechnologien 05 Delegation
AK Medientechnologien 05 Delegation TableViews, XML Parser, Application Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Allgemeines zum Delegation Pattern Theoretische
Mehr- XPages 2.0? René Winkelmeyer
- XPages 2.0? René Winkelmeyer 1 About me Skype / Twitter / LinkedIn / Slideshare Muenzpraeger Web https://blog.winkelmeyer.com Mail mail@winkelmeyer.com OpenNTF File Navigator Generic NSF View Widget
MehrAJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.
DRUPAL 7 AJAX FRAMEWORK Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks AJAX Beispiele Fragen: Gibt es jemanden der noch gar keine Erfahrungen
MehrFragen 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
MehrZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -
ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrServer-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt
Server-centric vs. Client-centric Web Applications BITKOM Software Summit 2014, Frankfurt Alexander Rühl SyroCon Competence Lead M2M & Web Applications Diplom-Informatiker (FH) 10 Jahre bei SyroCon und
MehrAnleitung 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
MehrJava 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
MehrApplication Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung
2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1
MehrVerwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen
Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen Um über die PayJoe -API Belege bzw. Zahlungen hochladen zu können, müssen Sie zunächst einen entsprechenden Zugang anlegen, bei
MehrWorkshop Java Webentwicklung Tapestry. Ulrich Stärk
Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird
MehrReporting Services und SharePoint 2010 Teil 1
Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrFacebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten
Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter
Mehr4D 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Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrC O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?
C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung
MehrAJAX Implementierung mit Joomla!
Joomla! DAY TM AUSTRIA 2015 AJAX Implementierung mit Joomla! Inhalt AJAX Implementierung mit Joomla! Inhalt Einleitung Was ist AJAX und wie funktioniert es Joomla! & AJAX AJAX in Templates mit Komponenten
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrLOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT
LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT AIT GmbH & Co. KG Ihre Software effizienter entwickelt. ÜBERSICHT GRÜNDE UND ZEITPUNKT
MehrXcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X
Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,
MehrHerzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -
Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann
MehrWCF Services in InfoPath 2010 nutzen
WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrSoftware-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
Mehreasylearn Webservice lsessionservice Interface für Single Sign On (SSO)
- 1 - easylearn Webservice lsessionservice Interface für Single Sign On (SSO) SDN AG, Solution Development Network Dezember 2008 - 2 - Inhaltsverzeichnis Inhaltsverzeichnis... 2 easylearn Webservice lsessionservice...
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrRails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen
MehrKonfiguration und Deployment einer hochverfügbaren ADF Anwendung
Beratung Software Lösungen Konfiguration und Deployment einer hochverfügbaren ADF Anwendung Markus Klenke Consulting TEAM GmbH Agenda Grundlagen Weblogic Cluster Entwicklung einer Hochverfügbaren ADF Applikation
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrNetScaler Integration bei Hellmann Worldwide Logistics. Benjamin Kania IS Enterprise Services Manager Hannover, 13.10.2011
NetScaler Integration bei Hellmann Worldwide Logistics Benjamin Kania IS Enterprise Services Manager Hannover, 13.10.2011 Agenda Firmenporträt Das Projekt Details zur Umsetzung Fazit Fakten & Zahlen Mitarbeiter
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrLokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation
MehrAPEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH
APEX und Workflows: Spaghetticode oder Integration Sven Böttcher Consultant, Apps Associates GmbH Apps Associates Apps Associates gegründet 2002 in Boston (HQ) seit 2003 GDC in Hyderabad seit 2006 in Dortmund
Mehr1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten
1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,
MehrAbschlussarbeiten für StudentInnen
Camunda bietet StudentInnen die Möglichkeit, ihre Abschlussarbeit zu einem praxisnahen und wirtschaftlich relevanten Thema zu schreiben. Alle Themen im Überblick Elasticsearch (Backend) Java Client (Backend)
MehrWeb 2.0 Software-Architekturen
Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,
MehrKommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis
Kommunikationsübersicht Inhaltsverzeichnis Kommunikation bei Einsatz eines MasterServer... 2 Installation im... 2 Installation in der... 3 Kommunikation bei Einsatz eines MasterServer und FrontendServer...
MehrWiederholung: Beginn
B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben
MehrApp-Entwicklung mit Titanium
App-Entwicklung mit Titanium Masterstudienarbeit von Betreuung Prof. Dr. M. von Schwerin App-Entwicklung mit Titanium 1 Gliederung 1.Titanium Eine Einführung 2.Programmierschnittstelle (API) 3.Module 4.App
MehrHow To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform
How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)
MehrTimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München
Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar
MehrSoftwareentwicklung in der industriellen Praxis
Softwareentwicklung in der industriellen Praxis Cloud-Systeme: Besonderheiten bei Programmierung und Betrieb Steffen Gemkow / Paul Fritsche - ObjectFab GmbH 26.11.2012 Simple is beautiful Don t repeat
MehrInstallation SQL- Server 2012 Single Node
Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit
MehrKURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE
KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container
MehrÜ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
MehrEJB 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.
MehrDokumentation für das Spiel Pong
Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel
MehrHerzlich willkommen im Modul Web-Engineering
Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko
MehrTutorial - www.root13.de
Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk
MehrMSSQL Server Fragen GridVis
MSSQL Server Fragen GridVis 1.0 Server allgemein Frage 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens benötigt
MehrWie richten Sie Ihr Web Paket bei Netpage24 ein
Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...
MehrMobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013
Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013 Im letzten Artikel wurde das Konzept von Mobile RPG (MR) vorgestellt. Dieser Artikel geht auf die technischen Voraussetzungen
MehrErstellung 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
MehrModeView Bedienungsanleitung
ModeView Bedienungsanleitung Inhaltsverzeichnis 1. Easy Photo Software... 2 1.1. Den Zugang zu ModeView prüfen... 2 1.1.1. Kein Zugang... 2 1.1.2. Zugang in Ordnung... 2 1.2. Hochladen von Bildern und
MehrSoftware- Handbuch www.magicrest.de
Der magisch einfache WebService. Software- Handbuch www.magicrest.de Von Jonathan Werner www.designfire.de Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 2 2 Einleitung... 3 3... 4 3.1
MehrSharePoint 2010 Mobile Access
Erstellung 23.05.2013 SharePoint 2010 Mobile Access von TIMEWARP IT Consulting GmbH Stephan Nassberger Hofmühlgasse 17/1/5 A-1060 Wien Verantwortlich für das Dokument: - Stephan Nassberger (TIMEWARP) 1
MehrHTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0
HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0 INHALT 1. VORAUSSETZUNGEN... 3 2. BESCHREIBUNG... 3 3. BANNER... 3 4. PANELS... 4 5. FALLBACK... 4 4. ANLEGEN DES HTML5 HOCKEYSTICK ADS... 4 2 1. VORAUSSETZUNGEN
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrDjango - ein Python Web-Framework
31. Mai 2011 Inhaltsverzeichnis 1 Überblick Was ist Django Merkmale Anforderungen 2 MVC im Detail Model Controller View 3 Live-Demo 4 Wie geht es weiter? Was ist Django Was ist Django? quelloffenes Web-Framework
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrOERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt
OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted
MehrWochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P
Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse
MehrINDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline
Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft
MehrTestplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013
Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael
MehrFastBill Automatic. Dokumentation Notifications. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 470915057 Telefax 0201 54502360
FastBill GmbH Holteyer Straße 30 45289 Essen Telefon 0201 470915057 Telefax 0201 54502360 FastBill Automatic Dokumentation Notifications 1 Inhalt 1. Grundlegendes 1.1 Was sind Notifications? 1.2 Wie wird
MehrInfrastruktur entwickeln mit Chef
Infrastruktur entwickeln mit Chef Martin Eigenbrodt gearconf 2011 Wir lösen das persönlich! Dieser Vortrag Motivation Chef Real Life Wir lösen das persönlich! Motivation Softwareentwicklung Versionskontrollsystem
MehrLoggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.
Ihre Welt spricht teamspace! Anleitung zur Synchronisation 1. Schritt: Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.
MehrPraktische Übung 'JUnit-Test'
Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrWeb-Anwendungsentwicklung mit dem Delivery Server
Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010
Mehr