Agenda  Opnåede resultater  Logging af backendkald  Analyse af logs  Implementering af caching  Demo af prototype  Videre arbejde i praksis  Logging.

Slides:



Advertisements
Lignende præsentationer
Et projekt til undersøgelse af udviklingsmetodologi.
Advertisements

LEAN Akademy.
Præsentation på M3UG 2011.
Samspil med den offentlige sektor er afgørende
Hej.
Next Generation Operations Management AutoNOC 2. AutoNOC 2 Business fordele.
Web 2.0 Teoretisk viden.
Evaluering af kommunalreformen og den nye nationale koordinationsstruktur Oplæg ved Torben Buse, Vicedirektør, Socialstyrelsen 8. Maj 2014.
Et projekt til undersøgelse af udviklingsmetodologi.
Beskyt din computer og dine data!
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
Dato - Dok.nr.1 Engrosmodellen - Kort status Dialogforum
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
Et projekt til undersøgelse af udviklingsmetodologi.
Virksomheder - definition
1 Information Systems Strategy and Implementation: A Case Study of a Building Society En fremlæggelse og gennemgang.
Arbejdet med åbne standarder – fokus på implementeringen af B 103 Oplæg ved 3. workshop for it-governance 21. februar 2007.
Fælles EPJ til hospitalerne i Region Midtjylland
Dynamisk styring af Office skabeloner Inspirationsseminar 31. oktober 2006.
PhiStore A Distributed and Policy Based Object Store.
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Programklasser for bladhus Den efterfølgende beskrivelse er ikke komplet. Der er ikke taget afsæt i use cases, sekvensdiagrammer og operationsbeskrivelser.
Groupware – et socialt eksperiment Eller: Det sku’ være så godt, men.. Præsentation af artikel 15 og 16.
Kvalitet i almindelighed og i relation til softwareudvikling.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Kristian F. Thomsen infrastructure specialist i edgemo Claus Egeberg-Gjelstrup infrastructure specialist i edgemo
Et projekt til undersøgelse af udviklingsmetodologi.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
28. maj 2008 Styrelsen for Statens Uddannelsesstøtte 1 Danmarks strategi for digitalisering Forbedre servicen til borgere og virksomheder (Bedre digital.
Projektplanlægning Planlægning for solution makers a/s
Rambøll Managements definition af it-governance
Agenda  Introduktion & forudsætninger  SEO generelt  SERPS – kom til tops og forstå hvorfor  Joomla og SEO / SEF  SH404SEF & redSHOP  Implementeringsstrategier.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
Implementering og brug af BPM i Lån & Spar Bank 24. september 2013, Get F'IT - Processer og IT Ved IT-Direktør Casper Gjerris.
Løvvang Bowling Center
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
1. Database-systemer, introduktion
Eksempel på realisering af domænemodel
Heterogene distribuerede middlewareteknologier Web Services og Ice.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
8.6 Transaktioner1 Transaktioner 8.6 Transactions in SQL.
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Modul placering. Analysemodellens struktur   Data model data objects relationships ERDs   Functional model data transforms DFDs   Behavioral model.
Styr på ressourcer og projekter Inspirationsseminar 31. oktober 2006.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
Netværk og interprocess- kommunikation - Et eksamensoplæg!
Hospitalsinformationssystemer MM5 Hvad er HIS? Hvad driver udviklingen af HIS/PAS? Avancerede kliniske informationssystemer –Konteksten –Teknikken Fremtiden.
SQL Server konsolidering i Nordea Maiken Bjørn Jensen 5. september 2002  Mainframe baggrund – Siemens/BS2000, CA/IDMS  Ansat i Nordea september 1996.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 8.
Databaseadgang fra C#:
DIEB12.1 Kursusgang 12 Feedback fra en usability-evaluering Oversigt: Sidste kursusgang Opgaver Feedback Are Usability Reports Any Good? Alternativer til.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Indsæt nyt billede: Format: B 254 x 190,5 mm Efter indsættelse, højreklik på billedet og placér det bagerst. Delete det gamle foto WMTS til mobile løsninger.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 8.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
 Hvad var de pædagogiske udfordringer?  Hvad var vores behov og ønsker?  Hvad var udslagsgivende i forhold til jeres valg?
Type analyse i FunCalc / CoreCalc Baggrund og kontekst Formål Designovervejelser → løsning /arkitektur Strategi for implementering og afprøvning Resultater.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
NKOR 2015 – Spor 3 - Datasikkerhed 5. november Kontorchef Michael Kubel.
Skal vi tvangsnationalisere energi? Andes Stouge 9. juni 2016.
Engrosmodellen - Kort status
WebApi service x.
Tre lags arkitektur.
Simpel test-client (javascript) Session og Application data
Præsentationens transcript:

Agenda  Opnåede resultater  Logging af backendkald  Analyse af logs  Implementering af caching  Demo af prototype  Videre arbejde i praksis  Logging og analyse i praksis  Caching i praksis  Eksempel på anden analyse

Resultater for logging  En væsentlig bedre placering af ansvaret for logging i forhold til ad-hoc logging  Bedre kvalitet i logging (flere detaljer)  Mindre arbejde ved at implementere i eksisterende applikationer  Minimalt performance impact  Erfaring med dynamic proxy til håndtering af ”cross-cutting concerns”

Resultater for analyse  Bedre og mere automatisk analyse af ”duplicate invocations” end en ad-hoc analyse (fokus på de to ”cases” fra ad-hoc analyserne)  Opbygning af CallSimulator – der giver et grundlag for test af caching  Skabt arkitektonisk grundlag for andre analyser (mere om det senere)

Resultater for caching  Bedre kendskab til caching ”fundamentals” både generelt og i en Java kontekst  En arkitektur der transparent indskyder en central caching for backendkald og isolerer caching implementationen  En effektiv caching af duplicate invocations, som var fokus for prototypen

Demo af prototype  CallSimulator med/uden cache  Skift af strategi/size (learning tests af konfiguration)  Coverage for prototypen

Logging og analyse i praksis  InvocationLogger ville kunne gøres ”stateless” ved fx at logge til Log4J (fx til systemout.log)  Forskellige reporters ville fortsat kunne være observers på InvocationLogger:  En SlowResponseReporter, der fx logger langsomme kald i forhold til et threshold  DuplicateInvocationReporter, ville selv skulle holde state – fx baseret på en intern cache af invocations med timeout på 10 min (en netbank ”session”)  LogAnalyzer er ikke brugbar (kræver state) – men var driver for test og design af Reporters

Caching i praksis  Klassifikation af levetid i cache – data der opdateres løbende fx aktiekurser  En løsning kunne være et CacheableDao interface med en getCacheTimeToLive metode

Caching i praksis (fortsat)  Filtrering af CUD i forhold til caching  En regularexpression filtrering af ”standard” metodenavne (get.*, hent.* delete.*, update.* osv.)  Evt. en metode på CacheableDao – getNoCacheMethodNamePattern  Evt. flere interfaces NonCacheableDao – som efterfølgende kunne anvendes til at vælge en caching strategi i DaoInvocationHandler

Caching i praksis (fortsat)  LiveCacheStatistics (fra Ehcache)  Overvågning af størrelse i memory – kunne bruges til dynamisk at regulere op og ned i størrelse (for fx at beskytte heap)  getCacheMissCountExpired – kunne måske bruges til at styre størrelse på en LFU cache  API til LiveCacheStatistics API til LiveCacheStatistics

Eksempel på anden analyse  Analyse af ”næsten” identiske kald  Motivation – stort spild af ressourcer  Målet – bedre design af ”backend” interfaces  Mulige løsning  gennemløb af indhold på return object med reflection, hvor der laves en simpel optælling af antal ”equals”, der er true i forhold til antal værdier