JSF webapplicatie performance

Maat: px
Weergave met pagina beginnen:

Download "JSF webapplicatie performance"

Transcriptie

1 JSF webapplicatie performance Kees Broenink (JSF expert), 27 januari 2009 JSF webapplicatie performance... 1 Applicatieserver in productie... 2 HotSpot... 2 Geheugen... 2 Webapplicatie performance analyse... 2 JSF fases... 3 JSF Backing Beans... 3 EJB services... 3 Database... 3 Achtergrondinformatie... 3 Algemene opmerkingen... 5 Vervolgstappen... 5

2 Applicatieserver in productie HotSpot Java Standaard Editie 5.0 heeft twee implementaties van de HotSpot Java Virtual Machine (JVM) technologie: -client: geoptimaliseerd voor snelle start-up en beperkt geheugengebruik, geschikt voor ontwikkeling -server: geoptimaliseerd voor maximale performance; geschikt voor productie HotSpot technologie in server-mode kan intensief gebruikte Java methodes naar machine-taal compileren (JIT, just in time) en opslaan in een cache. Dit is zeer geschikt voor server-applicaties die door meerdere gebruikers aangeroepen worden. Het maakt de performance van Java in principe net zo snel als een programma dat direct is gecompileerd naar machinetaal (C, assembler en dergelijke). Als je Glassfish gebruikt kun je deze instellingen vastleggen met de Admin Console ( in sectie Application Server > JVM Settings > JVM Options. Geheugen Een applicatieserver moet vele gebruikers tegelijkertijd kunnen bedienen en kan daarom behoorlijk belast gaan worden. Het is daarom aan te bevelen om een aparte machine in te richten voor de applicatieserver. Het beschikbare geheugen van de machine moet dan zoveel mogelijk toegekend worden aan de applicatieserver. Een Windows machine kan over het algemeen maximaal 2G aan een proces toekennen. Als de machine precies 2G aan fysiek geheugen heeft dan kunnen we ongeveer 3/4 deel daarvan aan de applicatieserver geven: -Xmx1536m Als de machine meer aan boord heeft is het wellicht mogelijk om de hele 2G toe te kennen aan het Java proces dat de applicatieserver draait. -Xmx2048m Standaard begint een Java proces met minder geheugen en groeit naar gelang de vraag. Dat is niet handig. Beter is om bij het opstarten direct al het maximale geheugen toe te kennen. Maakt daarom het minimum gelijk aan het maximum: -Xms1536m of -Xms2048m Als je Glassfish gebruikt kun je deze instellingen vastleggen met de Admin Console ( in sectie Application Server > JVM Settings > JVM Options. Webapplicatie performance analyse

3 JSF fases In JSF doorloopt een POST request 6 fases. We willen achterhalen in welke fase we veel tijd kwijt zijn. We schrijven hiervoor een speciale Listener en die configureren we in de faces-config.xml. De Listener schrijft naar 'standard out' hoeveel milli-seconden elke fase in beslag nam. Fase 1 heeft een zekere overhead die niet te vermijden is, maar meer dan 200ms is verdacht. Er moet dan een expert naar kijken. Fase 2, 3 en 4 zijn over het algemeen heel snel. Als dat niet zo is dan moet er een expert naar kijken. Als de meeste tijd in fase 5 besteed wordt dan kunnen we de zelfgeschreven Java code verder analyseren door de 'action' methodes te meten. Zie hieronder. Fase 6 heeft twee taken: de nieuwe pagina samenstellen en de componenten 'state' wegschrijven. Het samenstellen van de pagina betekent het aanroepen van de getters in de zelfgeschreven Backing Beans. Als uitgesloten is (zie hieronder) dat de tijd daar besteed wordt, dan is er een probleem met het bewaren van de componenten 'state' en moet er een expert naar kijken. JSF Backing Beans We kunnen een goed beeld krijgen waar in JSF de tijd besteed wordt door log4j debug statements te zetten aan het begin en einde van de 'zware' methodes in JSF. Denk hierbij aan de methodes die data ophalen (de getters in de pagina) en de 'action' methodes die uitgevoerd worden als er op een knop wordt geklikt. EJB services We kunnen een goed beeld krijgen waar de tijd besteed wordt door log4j debug statements te zetten aan het begin en einde van de service methodes. Database We kunnen een goed beeld krijgen waar de tijd besteed wordt door log4j debug statements te zetten aan het begin en einde van de JPA methodes. Achtergrondinformatie De Listener public class LoggingPhaseListener implements PhaseListener{ private static final long serialversionuid = L; private final Logger logger = Logger.getLogger(this.getClass()); private HashMap<Integer, Long> stamps = new HashMap<Integer, Long>(6); /** evt de JSF fase indicator */ public void beforephase(phaseevent event) { logger.debug("start fase "+event.getphaseid()); stamps.put(event.getphaseid().getordinal(),system.currenttimemillis());

4 /** evt de JSF fase indicator */ public void afterphase(phaseevent event) { long start = stamps.get(event.getphaseid().getordinal()); long duur = System.currentTimeMillis() - start; logger.debug("einde fase "+event.getphaseid()+", duur: "+duur+"ms"); /** PhaseId.ANY_PHASE */ public PhaseId getphaseid() { return PhaseId.ANY_PHASE; Configuratie Listener <faces-config xmlns=" xmlns:xsi=" xsi:schemalocation=" version="1.2"> <lifecycle> <phase-listener>xxx.loggingphaselistener</phase-listener> </lifecycle> </faces-config> Achtergrondinformatie JSF JSF fase 1: RESTORE VIEW Als het vorige request dezelfde URL had (POST naar dezelfde pagina) haal dan de bewaarde componenten 'state' uit de 'serialized state string' en re-creëer de componenten met deze state. JSF fase 2: APPLY REQUEST VALUES Zet de request parameter values in de bijbehorende componenten. JSF fase 3: PROCESS VALIDATIONS Converteer en valideer de request parameter values. JSF fase 4: UPDATE MODEL VALUES Copieer de geconverteerde waardes naar de Backing Beans (setters). JSF fase 5: INVOKE APPLICATION Roep de 'action' methodes aan. JSF fase 6: RENDER RESPONSE Maak de HTML aan voor de nieuwe pagina en 'serialize' de componenten 'state'.

5 Algemene opmerkingen De Sun/Oracle technologie-stack: - JSF voor de presentatielaag - Session EJB voor de serviceslaag inclusief transactie-management - JPA met domeinobjecten voor de persistency-laag JSF implementatie: Sun Reference Implementatie 1.2 HTML templating: facelets JPA implementatie: EclipseLink Ik zet hier nu tegenover wat de meest gangbare keuzes in de markt zijn: - JSF voor de presentatielaag - Spring voor de serviceslaag inclusief transactie-management - JPA met domeinobjecten voor de persistency-laag JSF implementatie: Sun Reference Implementatie 1.2 HTML templating: facelets JPA implementatie: Hibernate We zien dat de meeste keuzes van de Sun/Oracle stack overeenkomen met de de-facto standaarden. De verschillen zijn de volgende. EJB versus Spring Het is bekend dat EJB's extra complexiteit met zich meebrengen. Kijk alleen al naar de mogelijke tuning opties in de diverse manuals. Spring daarentegen gebruikt singleton POJO's. Deze zijn simpel want gewoon Plain Old Java Objects. Ze zijn ook herbruikbaar voor alle gebruikers omdat het threadsafe singletons zijn (application-scope) in tegenstelling tot session EJB's die voor elke gebruiker apart aangemaakt worden. En Spring ondersteunt declaratieve transactie-demarcatie in combinatie met de POJO. EclipseLink versus Hibernate Hibernate heeft een enorm trackrecord. Er zijn vele boeken en blogs te vinden waarmee je Hibernate in de vingers kunt krijgen. Het is een framework dat al heel lang bestaat en waarin een hoge kwaliteit is bereikt. Vervolgstappen Behalve het plaatsen van log4j statements in de verdachte methodes kunnen we ook gebruik maken van speciale tooling om een compleet beeld te krijgen van CPU en geheugengebruik van alle aangeroepen Java methodes. Als een methode veel geheugen of CPU gebruikt dan kunnen we kritisch naar die code kijken en zien of dat volgens verwachting is of exceptioneel. Een goede tool is JProfiler. Deze tool is niet gratis maar kan wel gratis gedownload en gebruikt worden gedurende een bepaalde proeftijd. Als er veel tijd besteed wordt in JSF fase 1, 2, 3 of 4 dan is het verstandig om een JSF expert in te schakelen. Idem dito voor fase 6 als uitgesloten is dat de eigen 'getters' verantwoordelijk zijn voor de performance problemen. Als de EJB's traag zijn moet daarvan eerst de oorzaak gevonden worden en eventueel overgestapt worden op Spring.

6 Als de database de bottleneck is in bepaalde scenario's dan moeten de queries geanalyseerd worden en geoptimaliseerd. Dit kan door het aanleggen van indexen, gebruik maken van views of door een readonly query-cache te gebruiken. De cache kan door de database zelf verzorgd worden of in de Java code. In het laatste geval is EHcache (Easy Hibernate cache) een gangbaar framework.

INFITT01 - Internettechnologie WEEK 8

INFITT01 - Internettechnologie WEEK 8 INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de

Nadere informatie

INFITT01 Internettechnologie WEEK 2

INFITT01 Internettechnologie WEEK 2 INFITT01 Internettechnologie WEEK 2 Programma Contexts Listeners Scope/Attributes Thread safety Taken container Een servlet draait in een container (servlet container). De container, die ten dienste van

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Organiseer uw verschillende SOAP services in één scenario

Organiseer uw verschillende SOAP services in één scenario 1 Organiseer uw verschillende SOAP services in één scenario Wouter Luijten wouterluijten@creetion.com 2 Introductie Tijdens de implementatie van een proces heeft u vaak te maken met een veelvoud aan services.

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008 judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3

Nadere informatie

Angular Best Practices Door Alex en Chris van Beek

Angular Best Practices Door Alex en Chris van Beek Angular Best Practices Door Alex en Chris van Beek Over ons Enthousiastelingen Software Architecten bij Luminis Arnhem B.V. Gespecialiseerd in Microsoft technologie:.net, Azure en Windows Twitter: @Beekje

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

Dynamische webapplicaties in Java

Dynamische webapplicaties in Java Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages

Nadere informatie

Unit testen van EJB's. Koert Zeilstra - iprofs

Unit testen van EJB's. Koert Zeilstra - iprofs Unit testen van EJB's Koert Zeilstra - iprofs Inleiding We weten tegenwoordig allemaal dat we ons product moeten testen om de kwaliteit te verhogen en behouden Software-ontwikkelaars zijn over het algemeen

Nadere informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

Weblogic 10.3 vs IAS 10.1.3

Weblogic 10.3 vs IAS 10.1.3 Vision ~ Knowledge ~ Results Weblogic 10.3 vs IAS 10.1.3 OGh Fusion Middleware/ SOA Dag 19 Mei 2010, Het Oude Tolhuys Edwin Biemond email edwin.biemond@whitehorses.nl Web http://blogs.whitehorses.nl/,

Nadere informatie

Zelftest Java concepten

Zelftest Java concepten Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

4 ASP.NET MVC. 4.1 Controllers

4 ASP.NET MVC. 4.1 Controllers 4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.

Nadere informatie

Parasoft toepassingen

Parasoft toepassingen Testen op basis van OSB en Digikoppeling Voor de bestaande Overheid Service Bus en de nieuwe standaard Digikoppeling zijn verschillende test- omgevingen opgezet. Hiermee kan het asynchrone berichtenverkeer

Nadere informatie

The OSI Reference Model

The OSI Reference Model Telematica Applicatielaag Hoofdstuk 16, 17 Applicatielaag 4Bevat alle toepassingen die van het netwerk gebruik maken n E-mail n Elektronisch nieuws n WWW n EDI (Electronic Data Interchange) n Napster,

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:

Nadere informatie

Acht stappen voor JSF

Acht stappen voor JSF Acht stappen voor JSF Inleiding In deze tutorial zullen we JSF (Java server faces) installeren. Wat we niet beschrijven is hoe te werken met JSF, over dit onderwerp zijn er genoeg boeken en internetsites

Nadere informatie

Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan

Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan met Threat meldingen, driver problemen en hoe het product

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet. Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het

Nadere informatie

Copyright IBS 2006. Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens

Copyright IBS 2006. Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens Nieuwbouw Vereenvoudigd en versnelt Java ontwikkeling Huub Cleutjens Inhoud IBS en Java Keuzes: taal / architectuur Productiviteit / arbeidsdeling IBS Java Development Accelerator Persistence UI Persistence

Nadere informatie

Scala. Korte introductie. Sylvia Stuurman

Scala. Korte introductie. Sylvia Stuurman Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

IAAS - QUICK START GUIDE

IAAS - QUICK START GUIDE IAAS - QUICK START GUIDE Contents IAAS QUICK START GUIDE... 2 STAPPEN... 2 AANMAKEN VAPP... 2 NETWERK BESCHIKBAAR MAKEN IN VAPP... 3 UITROLLEN WINDOWS SERVERS... 3 VERSIES VAN WINDOWS SERVER TEMPLATES...

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van

Nadere informatie

Zelftest Java EE Architectuur

Zelftest Java EE Architectuur Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:

Nadere informatie

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak); Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.

Nadere informatie

Installatiehandleiding B3P GIS Suite v3.6

Installatiehandleiding B3P GIS Suite v3.6 Installatiehandleiding B3P GIS Suite v3.6 Datum: 22-10-2012 1. Inleiding... 2 1.1 Doelgroep... 2 1.2 Contact / Support... 2 2. Installatie... 3 2.1 Applicatieserver... 3 2.2 Aanmaken databases... 3 2.3

Nadere informatie

Applicatie-Architecturen

Applicatie-Architecturen Applicatie-Architecturen joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn/ Onderwerp Programming in the large! ( programming in the small)! Bijvoorbeeld: KU Leuven Veel verschillende functionaliteit

Nadere informatie

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B; Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: CDI Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2 Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

Databanken en webtoepassingen in Java

Databanken en webtoepassingen in Java Databanken en webtoepassingen in Java K. Coolsaet Universiteit Gent 17/21 maart 2017 WiFi UGentGuest Gebruikersnaam: guestleerkr Wachtwoord: T5EVyMYW Eerst surfen naar http://www.ugent.be Cursuswebsite:

Nadere informatie

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop 1 Agenda Injection Cross Site Scripting Session Hijacking Cross Site Request Forgery #1 OWASP #2 top 10 #3 #5 Bezoek www.owasp.org

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag ArcGIS Mobile ADF Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag Agenda Wat is de Mobile ADF? Architectuur Demo Wat is de mobile ADF? Ontwikkeltoolkit voor mobiele (Smart Client)

Nadere informatie

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal Network Computing Architecture Toekomstige rol van Oracle Developer marginaal Door Patrick Koning Een aantal jaren geleden realiseerde Oracle zich dat zijn Designer/Developer strategie voor applicatieontwikkeling

Nadere informatie

Praktijk opdrachten VMware

Praktijk opdrachten VMware Praktijk opdrachten VMware 1 1. Toegang tot de ICT Academie Cloud omgeving Om toegang te krijgen tot de Cloud omgeving van de ICT Academie, kun je onderstaande procedure volgen: http://wiki.vcloud.ictacademie.net/wp

Nadere informatie

What is the advantage of using expression language instead of JSP scriptlets and JSP expressions?

What is the advantage of using expression language instead of JSP scriptlets and JSP expressions? Web 3: Theorievragen No Scriptlets What is the advantage of using expression language instead of JSP scriptlets and JSP expressions? Geen javacode tussen de html. What is the difference between the. operator

Nadere informatie

Applicatie-Architecturen

Applicatie-Architecturen Applicatie-Architecturen joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn/ Programmeren in het echt! Programming in the large Deel van groter geheel! In teamverband! Open opdracht!! Inhoud:

Nadere informatie

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

DRIVEN BY AMBITION SUCCESVOL EXACT IMPLEMENTEREN IN DE PRIVATE CLOUD

DRIVEN BY AMBITION SUCCESVOL EXACT IMPLEMENTEREN IN DE PRIVATE CLOUD DRIVEN BY AMBITION SUCCESVOL EXACT IMPLEMENTEREN IN DE PRIVATE CLOUD WOENSDAG 11 MEI INN STYLE, MAARSSEN Introduction Huub van Langerak Expert team Marc Eilander Expert team 3 Agenda Exact private cloud

Nadere informatie

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database Datum: 25-09-2007 Auteur: ing. E.L. Floothuis Versie: 0.1 Status: Concept Kopersteden 22-4 Postbus 157 7500 AD Enschede Tel: 053 48

Nadere informatie

F r a m e w o r k s. LinkWorks

F r a m e w o r k s. LinkWorks F r a m e w o r k s m w a p r j @ g m a i l. c o m 14-04- 2009 LinkWorks Dit document bevat een onderzoek naar een aantal web application frameworks, met daarbij beschreven wat het framework inhoudt en

Nadere informatie

XML Web Services of.net Remoting? W ANNEER GEBRUIK JE WELKE TECHNOLOGIE VOOR DE AANROEP VAN REMOTE SERVICES

XML Web Services of.net Remoting? W ANNEER GEBRUIK JE WELKE TECHNOLOGIE VOOR DE AANROEP VAN REMOTE SERVICES Anko Duizer is trainer en consultant bij Class-A te Woerden http://www.class-a-.nl XML Web Services of.net Remoting? W ANNEER GEBRUIK JE WELKE TECHNOLOGIE VOOR DE AANROEP VAN REMOTE SERVICES In dit artikel

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart 2009. Versie 1.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 11 maart 2009. Versie 1.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 11 maart 2009 Versie 1.1.0 Teamleden: Armin

Nadere informatie

Enterprise. RESTful Webservices. serieus alternatief voor SOAP?

Enterprise. RESTful Webservices. serieus alternatief voor SOAP? 12 Enterprise Paul Bakker is ontwikkelaar en trainer bij Info Support B.V. Blog: http://blogs.infosupport.com/ blogs/paul_bakker Email: paulb@infosupport.com Het afgelopen jaar is er veel te doen geweest

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS CDS opschalingsdocument Overzicht server configuratie voor CDS 1. Algemeen Dit document geeft een overzicht van een aantal mogelijke hardware configuraties voor het inrichten van een serveromgeving voor

Nadere informatie

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum. Kennissessie Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum Thijs Brentjens Inhoud Download Services Pre-defined datasets via Atom feeds Pre-defined

Nadere informatie

Session Beans.

Session Beans. Session Beans joost.vennekens@kuleuven.be Prequel: annotaties Nieuw Java feature Gestructureerde manier om extra info toe te voegen aan code (ipv. commentaar) @Author( name = "Joost Vennekens", date =

Nadere informatie

Versturen van email vanuit een Delphi VCL toepassing

Versturen van email vanuit een Delphi VCL toepassing Versturen van email vanuit een Delphi VCL toepassing Voor Delphi bestaan uiteraard verschillende libraries om emails te versturen, maar in dit voorbeeld wordt een C# Dotnet library gebruikt en aangesproken

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U Orbis Software Installatie Handleiding Dit document bevat de Installatie Handleiding voor Voordat u begint Wij raden u aan om voor het uitvoeren van een update van middels dit installatie-pakket een back-up

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Stappenplannen MailPlus SOAP API

Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API oktober 2009 Introductie Dit document bevat stappenplannen welke u als technische gebruiker van MailPlus op weg kunnen helpen met de koppeling

Nadere informatie

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service.

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. WEB SERVICE WERKING Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. Aanvullende informatie omtrent de fieldmapping kunt u hier inzien: www.effector.nl/webservice/technischeuitlegfieldmapping.xls

Nadere informatie

INSTALLATIE EXCHANGE CONNECTOR

INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR 0 0 HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING datum: 10-08-2018 1 Inleiding... 1 2

Nadere informatie

MEMO. De database server zit op piekmomenten aan een heel hoog CPU gebruik:

MEMO. De database server zit op piekmomenten aan een heel hoog CPU gebruik: From Didier Adriaensen To VVV Date CC 17/6/2014 Ref Subject Performantie SearchAPI en database. (deel 2) 1. Vaststellingen De database server zit op piekmomenten aan een heel hoog CPU gebruik: De pieken

Nadere informatie

RAM optimaliseren: Cacheman

RAM optimaliseren: Cacheman RAM optimaliseren: Cacheman Windows beheert het geheugen op haar eigen manier, zonder dat u daar in principe veel invloed op heeft. Het programma Cacheman van Outertech kan daar verandering in brengen.

Nadere informatie

MADASTER PLATFORM. IFC export in BIM software. Archicad 21 & Revit 2019

MADASTER PLATFORM. IFC export in BIM software. Archicad 21 & Revit 2019 MADASTER PLATFORM IFC export in BIM software Archicad 21 & Revit 2019 Juni 2018 Inleiding Deze handleiding dient ter ondersteuning van het importeren van uw gebouw naar het Madaster platform. Om u bestand

Nadere informatie

Handleiding: Whitelabel Customersite

Handleiding: Whitelabel Customersite ARGEWEB B.V. Handleiding: Whitelabel Customersite Controlportal.nl Argeweb Support 8-1-2009 Handleiding voor het gebruik maken van de Whitelabel Customersite op controlportal.nl, door Resellers van Argeweb.

Nadere informatie

Inleiding C++ Coding Conventions

Inleiding C++ Coding Conventions Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,

Nadere informatie

Nog even snel kleine issues oplossen

Nog even snel kleine issues oplossen VNSG Magazine juni 2015 Tips & Tricks CRM/SRM Nog even snel kleine issues oplossen Introductie Zo voor de vakantie zouden we nog even snel kleine issues oplossen. In deze tips & tricks worden weer een

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Installatie Accowin (versie 2)

Installatie Accowin (versie 2) Installatie Accowin (versie 2) Versie 2.0 Inhoudsopgave 1. Download Accowin... 2 2. Accowin2Setup uitvoeren... 3 2.1 Selecteer componenten...3 2.2 Selectie van installatie directory...4 2.2.1 Client locatie...

Nadere informatie

Design patterns Startbijeenkomst

Design patterns Startbijeenkomst Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) Sylvia.Stuurman@ou.nl Harrie Passier (2 e examinator) Harrie.Passier@ou.nl Aarzel niet vragen te stellen! Rooster

Nadere informatie

HDN DARTS WEB AUTHENTICATIE

HDN DARTS WEB AUTHENTICATIE HDN DARTS WEB AUTHENTICATIE HDN Helpdesk T: 0182 750 585 F: 0182 750 589 M: helpdesk@hdn.nl Copyright Communications Security Net B.V. Inhoudsopgave 1. INLEIDING OP HET ONTWERP... 3 1.1 HET DOEL VAN DIT

Nadere informatie

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 9

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 9 Inhoud eindtoets Eindtoets Introductie 2 Opgaven 3 Terugkoppeling 9 2 Eindtoets Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus Webapplicaties:

Nadere informatie

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Page 1 1 Kees Vianen Senior Sales Consultant Technology Solutions Oracle Nederland Agenda Geschiedenis van Oracle Portal Portal

Nadere informatie

Implementatie AssurePay ASP.NET. ideal

Implementatie AssurePay ASP.NET. ideal Implementatie AssurePay ASP.NET ideal Implementatie AssurePay ASP.NET 2 van 11 Inhoudsopgave Microsoft ASP.NET... 3 Classic ASP... 9 Implementatie AssurePay ASP.NET 3 van 11 Microsoft ASP.NET Implementeren

Nadere informatie

Tutorial 1, Delphi: Geldspraak

Tutorial 1, Delphi: Geldspraak Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,

Nadere informatie

PayCheckout Magento module

PayCheckout Magento module PayCheckout Magento module 1 Inhoudsopgave Installatie... 3 Compatibiliteit... 3 Best practice... 3 Installeren van de module... 3 Configuratie... 4 Webshop... 4 Webshop toevoegen... 4 Webshop Identifier

Nadere informatie

Client Server 2.0 met jquery en Grails

Client Server 2.0 met jquery en Grails Client Server 2.0 met jquery en Grails Web applicaties lijken steeds meer op Client-Server applicaties. Kijk naar voorbeelden als gmail of google documents. In deze architectuur is de client volledig verantwoordelijk

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Methodology. Client Server 2.0 met jquery en Grails. De eerste generatie Client-Server applicaties

Methodology. Client Server 2.0 met jquery en Grails. De eerste generatie Client-Server applicaties Methodology Andrej Koelewijn is als IT-architect werkzaam bij IT-eye. Hij is gespecialiseerd in JEE, Oracle en Open Source. Andrej is bereikbaar op het volgende email adres: andrej. koelewijn@it-eye.nl

Nadere informatie

Is APEX a worthy substitute for Oracle Forms?

Is APEX a worthy substitute for Oracle Forms? your oracle solu+ons partner Is APEX a worthy substitute for Oracle Forms? APEX for mission critical applications: the Groupm business-case By Ronny Boeykens & Stijn Van Raes iadvise o Opgericht in 2004

Nadere informatie

Upgrade Accowin van versie 1 naar versie 2

Upgrade Accowin van versie 1 naar versie 2 Upgrade Accowin van versie 1 naar versie 2 Versie 2.0.2 Inhoudsopgave 1. Inleiding... 2 2. AccowinUpgrade uitvoeren... 2 2.1 Taalkeuze... 2 2.2 Belangrijke opmerking... 2 2.3 Selecteren map waarin de huidige

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma 3 Vereiste kennis Dit boek richt zich op het leren programmeren door het oefenen met programmeercodes. Veel theorie komt in het begin niet aan de orde. Dat is een grote uitdaging want het is niet makkelijk

Nadere informatie

Self-service functionaliteit

Self-service functionaliteit Self-service functionaliteit J2EE, open source en Oracle Appserver Tijdens het schrijven van dit artikel is de website werk.nl net live gegaan, in het weekend van 11 en 12 november jl. Dit artikel beschrijft

Nadere informatie

Practicum Software & Web Security 2. Instructies voor installatie en gebuik van WebGoat en WebScarab

Practicum Software & Web Security 2. Instructies voor installatie en gebuik van WebGoat en WebScarab Practicum Software & Web Security 2 Instructies voor installatie en gebuik van WebGoat en WebScarab 1 Introductie In deze opdracht ga je aan de slag met WebGoat, een educatieve webapplicatie op gebied

Nadere informatie

De macro onthoudt na gebruik de laatste instelling en controleert alle stappen.

De macro onthoudt na gebruik de laatste instelling en controleert alle stappen. Macro GetNewestCaches, versie 2.5 Auteur: Thex Doel Deze macro zal voor Nederland, Belgie en of Luxemburg (en iedere combi hiervan) de nieuwste caches ophalen. Hiertoe wordt gebruik gemaakt van het menu

Nadere informatie

Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur 1. Een Intent-object wordt gebruikt voor communicatie (a) van een Activity naar een bijbehorende View

Nadere informatie

Documentatie Distributed Services Enterprise Service Bus

Documentatie Distributed Services Enterprise Service Bus Documentatie Distributed Services Enterprise Service Bus Pleun Willemsen en Walter Ebbers 19 april 2012 v1.0 1 Inhoudsopgave 1 Inleiding 4 1.1 Opdracht................................ 4 2 Analyse 5 3 Ontwikkelomgeving

Nadere informatie

React en React Native voor websites en apps

React en React Native voor websites en apps React en React Native voor websites en apps H A N S-PE T E R H ARMSEN HEEFT DI T GE SCH R E V EN IN APRI L 2017 Deze whitepaper is bedoeld voor product owners en beslissers. Hij gaat over React, een JavaScript

Nadere informatie

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen

Nadere informatie