August 2005 Nr 31, Årgang 6 ISSN Pris: kr. 300,00 ex moms #31. Af Holger Dindler Rasmussen.

Størrelse: px
Starte visningen fra side:

Download "August 2005 Nr 31, Årgang 6 ISSN 1600-5147 Pris: kr. 300,00 ex moms www.oracleekspert.dk #31. Af Holger Dindler Rasmussen. www.books24x7."

Transkript

1 August 2005 Nr 31, Årgang 6 ISSN Pris: kr. 300,00 ex moms LIVE 23 DesWeb SIG - Modelbaseret udvikling: WebServices Dato: 17. august 2005 OracleEkspert-konferencen 2005 Dato: 31. august 2005 Kursus: Mastering Oracle SQL and SQL*Plus Dato: 5. september 2005 Oracle Open World 2005 Dato: 17. september 2005 Kursus: Avanceret Systemanalyse Dato: 28. september 2005 NYHEDER 12 - Red Database Security offentliggør seks sikkerhedsfejl i Oracle - Watermark Denmark dropper Oracle - Larry på vej til at donere USD 115 mill til Harvard - Oracle Q4 resultat - Tidligere Microsoft-direktør bliver co-president for Oracle - Oracle flytter salgscenter tilbage til Danmark - Steen Knudsen bliver salgschef hos Ementor ORACLE ekspert 2005 Den 31. august Pris: kr i abonnentrabat - Vind en HP Server med Windows XP! - Læs mere på side 3 #31 Questioning Solutions Since 2OOO OBJEKTORIENTEREDE P ROBLEMER 2 Af Marc de Oliveira ORACLE APPLICATION S ERVER 10G: SIZING, TUNING OG PERFORMANCE 4 Af Holger Dindler Rasmussen B ENTES B AMSERS BØGER 8 N ØRGAARD S N EWS 10 EN MÅDE AT INDLÆSE REGNEARK I ORACLE 13 Af Christian Bastlund, CSC MENINGSMÅLINGEN 15 Objektorienteret udvikling er bedre end struktureret udvikling/information engineering F ITTING DESIGNER INTO THE ZACHMAN F RAMEWORK - PART 2 16 Af Marc de Oliveira MENINGSMÅLINGEN - ER DU ENIG? Outsourcing er en fordel Sponsor søges Stem på - Du kan vinde en ipod Shuffle

2 LEDER Af Marc de Oliveira OBJEKTORIENTEREDE PROBLEMER Det Objektorienterede paradigme har været i stærk medvind i de seneste år. Først som et programmeringskoncept og senere også til både analyse og design. I de 20 år som er gået siden jeg studerede på Datalogisk Institut ved Københavns Universitet, det var årene hvor Objektorienteret Programmering kom frem, har det undret mig, at der kun har været meget lidt kritik af denne, væsentligt anderledes tilgang til systemudvikling. Jeg ser en del problemområder ved denne naturlige og intuitive udviklingsmetode (specielt den Objektorienterede Analyse), som jo er funderet i hjernens egen måde at huske og klassificere fænomener (objekter) i den virkelige verden, og kun få gør opmærksom på disse problemer. Når jeg taler med folk fra den Objektorienterede verden, har de ofte ingen eller meget mangelfuld viden om traditionel Relationel metode og Struktureret Analyse. Det er som om undervisere har været så sikre på styrken i den Objektorienteret Metode, at man næsten er holdt helt op med at undervise i andet. Ide mest grelle tilfælde virker visse Objektorienterede metoder (feks Agile, Xtreme, Scrum etc) mest af alt som om de er skabt af folk, der ikke har sat sig ind i den vigtige viden, der allerede findes på området, og blot har opfundet en ny metode, for at slippe for det. Lad mig blot fremhæve nogle enkelte elementer, som jeg finder betydeligt svagere i den Objektorienterede metode. Fokus på brugeren: Et mantra i den Objektorienterede verden er det absolutte fokus på brugeren. I stedet for at lave omstændige og for brugerne uforståelige programmer, sørger man som Objektorienteret udvikler for at lave de programmer, som brugeren vil have. Det betyder at objekterne skal sammensættes på den måde som brugerne finder dem naturlige og at brugergrænsefladen skal bygges, så systemer opfører sig som brugeren forventer/ønsker. Tanken lyder umiddelbart forjættende - selvfølgelig bør man lave de systemer, som brugerne vil have... Men dette bottom-up syn på udviklingsprocessen er dog meget problematisk så snart udviklingsopgaverne bliver lidt komplekse, som I følgende eksempel: Den svage Objektorienterede analytiker fokuserer så meget på de enkelte brugers ønsker, at det udviklede system ikke tager hensyn til virksomhedens interesser. Forskellige dele af systemet kan risikere at modarbejde hinanden og effektiviserende løsninger kan blive overset, da brugere ofte bare vil have det samme som før - men uden fejlene. Den dygtige Objektorienterede analytiker implementerer derfor et effektivt system med en effektiv datastruktur, men tilpasser objekter og brugergrænseflader til brugernes ønsker. Dette betyder at systemer på overfladen ser ud på een måde (den måde som brugerne ser verden), mens det indvendigt er helt anderledes (for at kunne tage hensyn til virksomhedens interesser). Konsekvensen er at denne inkonsistens bliver et større og større problem at bære rundt på, efterhånden som brugernes behov ændrer sig. Deres ændringsønsker vil være relateret til det fiktive billede af systemet, som de har fået via overfladen, og disse giver ikke nødvendigvis mening i den faktiske implementering af systemet. Jeg mener at den Strukturerede Analyse her har fat i den lange ende. Det er Systemanalytikerens opgave at finde frem til den mest effektive måde at løse virksomhedens opgaver, samt at kommunikere denne løsning ud til alle, så medarbejdere på alle niveauer arbejder ud fra det samme billede af systemet. Jeg mener desuden at der også er problemer med den Objektorienterede metodes brug af kontrolobjekter, sekventiel gennemløb af objekter, diagrammer og tekstfiler til dokumentation (i stedet for strukturerede databaser), måden at sikre komplette Use Cases, al for tidlig brug af skærm-layout ifm Use Cases, redundante definitioner af objekternes statustrin mv, som jeg desværre ikke kan nå at uddybe her. Der ér gode ideer i den objektorienterede tankegang, men uden en meget detaljeret viden om ikke-objektorienteret systemudvikling er der mange faldgruber ifm udviklingen af komplekse systemer. Generelt kommer mange af problemerne af: 1) at fokusere på at objekterne skal ligne virkeligheden, hvilket ofte ikke er produktivt eller fornuftigt ud fra et IT-synspunkt, 2) at det er brugernes holdning, der skal være styrende, hvilket fjerner fokus fra at løse virksomhedens kerneproblemer, og 3) manglende fokus på at undgå inkonsistens og redundans - feks er primærnøgler og normalisering ikke centrale begreber i den Objektorienterede metode. Oplag: kopier Udgives af: pythia Information Kongensvej Frederiksberg Danmark Telefon: Fax: Web: www.OracleEkspert.dk Ansvarshavende redaktør: marc de SpørgeJørgen et mogens Bentes Bamsers Bøger: Bente Rettigheder: PYTHIA Information ejer alle rettigheder til indholdet af OracleEkspert. Kopiering af bladet i dele eller helhed må kun ske efter skriftligt samtykke fra PYTHIA Information. PYTHIA Information forbeholder sig rettigheder til at offentliggøre og genudgive de trykte artikler, tips mv, samt at tillade bladets læsere at anvende indholdet til såvel personlige som kommercielle formål. PYTHIA Information kan ikke drages til ansvar for eventuelle fejl og mangler i Indholdet af OracleEkspert. Artikler mv stilles tilrådighed uden garanti af nogen art. Pris: Enkeltnummer DKK 300,00 1 års abonnement (6 numre): 1. abonnement dkk 1600,00 Pr ekstra blad dkk 600,00 Annoncer: Annoncer til OracleEkspert skal være PYTHIA Information i hænde senest den 15. i måneden inden bladets udgivelse. Annoncepriser kan findes på: Password: Dolores

3 ORACLE ekspert Vind en HP Integrity RX1620 Server med Windows XP Er du den dygtigste Oracle-ekspert? 20 konferencedeltagere kan konkurrere om at lave den mest effektive Oracle-løsning Konkurrencepladserne fordeles efter først til mølle -princippet. Indlægsholdere kan ikke deltage. Læs mere om konkurrencen på Tilmelding: eller telefon Pris (inkl administrationstillæg): Inkl abbonnentrabat (400 kr): hovedsponsor 31. august 3150 kr kr. Ved tilmelding af fem deltagere fra samme selskab er den ene registrering gratis. Kom ind til Søpavillonen i København og hør om: Videnskabelig SQL-tuning - er det muligt? Gennemgang af seks 'metoder' - Mogens Nørgaard, Miracle A/S Udvikling på Heterogene Databasemiljøer - Anders Groth og Dagur Dagsson, DBVision A/S Udvekslilng af Data mellem Database og Operativsystem - Christian Bastlund, CSC Consulting Transactional Flashback i 9i og 10g - Martin Jensen, Oracle Danmark A/S PL/SQL 10g New Features - PL/SQL Warnings og Need for Speed - Torben Holm, Miracle A/S Hvordan man overlever som PL/SQL-programmør - Sten Vesterli, scott/tiger Generisk kodning med Oracle Forms - Rune Mørk, NNE ASHes to ASHes, Dust to Dust - Johannes Djernæs, Miracle A/S Oracle Application Server 10g : Sizing, tuning og performance - Holger Dindler Rasmussen, Oracle Danmark A/S JDeveloper for PL/SQL-udviklere - Sten Vesterli, scott/tiger Oracle RAC på Linux - Flemming G. Jensen, scott/tiger Implementering af VPD med Oracle10g i et Data Warehouse - Henrik Verup, Sigma Business Intelligence A/S Introduktion til The Zachman Framework - Marc de Oliveira, PYTHIA Information Spørg Eksperterne - Om DBA Spørg Eksperterne - Om Udvikling Læs mere om de enkelte indlæg på 2 TIMERS EKSTRAKURSUS I NLP FOR MAKS 10 DELTAGERE Forhåndstilmelding foregår efter Først til mølle -princippet

4 TEKNISK ARTIKEL Af Holger Dindler Rasmussen ORACLE APPLICATION SERVER 10G: SIZING, TUNING OG PERFORMANCE Holger Dindler Rasmussen har arbejdet som konsulent i 3 år med Forms 3.0, CASE Designer og TopCase/TopWindows. Siden 1996 underviser hos Oracle Danmark i produkter som Oracle Designer JDeveloper og Oracle Application Server. PERFORMANCE Performance er en besynderlig relativ term. I daglig tale er performance et udtryk for hvor hurtigt requests bliver udført - underforstået at det foregår hurtigt. Men hvad er hurtigt? Det de fleste forstår ved hurtigt er, når requests foregår hurtigt nok i forhold til deres forventninger. For at tale om performance må man fastsætte hvad tilfredstillende hurtigt er. I et traditionelt udbud vover mange tilbudsgivere skindet ved at sige, at de kan opfylde de i bilag N angivne svartider, hvorefter de giver et tilbud på en hardware/software konfiguration baseret på et kvalificeret gæt. Disse gæt er ofte baseret på en given teknologi eks. Oracle Forms er inputparametre: antallet af brugere, kompleksitet af de enkelte forms, antal samtidigt kørende forms instancer pr. bruger. Output er et antal CPU er med en given MHz samt størrelsen af Memory. Dette gæt/bud har sjældent datatilgang, brugerforbrugsmønstre, brugers geografiske placering eller udviklingsframework med inde i betragtning. Forudsætningen er som regel, at CPU en % af tiden er fuldt beskæftiget med applikationen samt at OS ikke skal swappe. I eksemplet med Oracle Forms kunne applikationen være udviklet med Oracle Designer, Headstart eller helt manuelt i Oracle Forms Developer. Mængden af kode er meget forskellig, hvilket har stor betydning for memory-footprint og databaseaktivitet. Tager vi udgangspunkt i en J2EE web applikation bliver sizing og performance en anelse mere kompliceret. I sammenligning med Oracle Forms har vi ikke en persistent forbindelse med databasen. I web applikationer deles databaseforbindelser med alle andre brugere. Forbindelsen med databasen udgør som regel den største andel af den totale http requesttid. Dertil kommer, at branchen tilbeder produktivitets- og vedligeholdelsesforbedrende udviklingsframework, som skal gøre livet nemmere for udviklere. Eksempler er Struts, Tiles, Java Server Faces og Oracle Application Development Framework (ADF). Det gælder for alle frameworks, at den overvejende drivkraft er groft sagt dovenskab, også kaldet Design Patterns - udviklere hader at skrive den samme kode to eller flere gange. Nogle Design patterns er standard løsninger på ensartede problemstillinger andre er blot performancerelaterede workarounds. Det korte og det lange er, at valg af framework kan lette byrden for udviklerne med håb om højere produktivitet og bedre databaseperformance. En sidste, men ikke uvæsentlig faktor, når talen falder på performance er brugervenlighed. Ikke helt uberettiget forlanger brugere at få en fejlmeddelelse, når en fejl begåes. Det har vi lært dem gennem mange års brug af client/server applikationer. De vil ikke finde sig i, at efter at have indtastet 10 datafelter trykker submit skal have en-eller-anden beklagelse fra serveren om at en-eller-anden forretningsregel ikke var overholdt. De finder det helt utåleligt, at få en fejlmeddelelse uden for kontekst, dvs cursoren skal placeres i feltet, hvor fejlen relaterer. Endvidere vil de have samtlige fejl i ét roundtrip, så de kan rette samtlige fejl og submit e påny. For en webserver er dette en uheldig udvikling, idet udviklerne kan vælge at inkludere store mængder af Javascript kode for at imødegå kravet. Det uheldige ligger i, at responset forøges voldsomt, hvilket ikke gavner overall performance. Total Cost of Ownership (TCO) er mange gange et resultat af en kompliceret differentialligning med parametre som HW-pris, SW-pris, skalerbarhed (Grid/- cluster awareness), High availability, udviklings-/vedligeholdelseomkostninger, brugers spildtid grundet u- stabile systemer, helt eller delvist relateret til utilstrækkelig performance i netværk, web tier, business logic tier eller database tier. Konklusionen kan være: Hvad vi ikke får ind på gyngerne må vi få hjem på karrusellerne. Erfaringer med OLTP systemer er imidlertid, at databaseadgang udgør den største komponent i det totale request. Hvorfor mange performanceproblemer kan relateres til brug af databasen jeg tænker på sql performance. Af samme grund findes der bunker af tilbud af frameworks og utilities, som har det hovedformål at hjælpe en javaprogrammør helskindet igennem ex. EJB Entity Beans, TopLink, JPublisher, Oracle ADF BC herunder et væld af Design Patterns, som mere eller mindre er implementeret i de førnævnte frameworks. Fornyeligt opdagede jeg en helt fantastisk one-liner i et Oracle J2EE kursusmateriale omtalende TopLink: The mature, robust persistence framework provided by TopLink significantly reduces the risk of using a relational database in a Java application Det kan tolkes på mange måder, men tanken er ikke helt forkert - det der med persistens og databaser er og bliver et nødvendigt onde :-). I branchen snakker man om, at sammenligninger mellem J2EE serveres hurtighed burde inkludere parametre som frameworks, udviklingstid og konfiguration, til trods for J2EE er et development framework J2EE er bare for abstrakt. Suns argumenter for at bruge J2EE er principielt de samme, som bruges idag for Oracle ADF abstraktionsniveauet er blot anderledes, og man er blevet lidt klogere. APPLICATION SERVER KOMPONENTER Ret beset består Application serveren kun af serverkomponenterne: Oracle WebCache (WC), Oracle HTTP Server (OHS), Oracle Containers for Java2 Enterprise Edition (OC4J). Oracle Reports, Forms og Discoverer har sine egne serverkomponenter som skal konfigureres næsten uafhængigt af de øvrige mht loadbalancing og clustering. Når man skal size sit system har man 2 muligheder, som afhænger af om, man har noget eksisterende hardware eller om man står overfor en ny anskaffelse. I begge tilfælde, vigtigst i sidstnævnte tilfælde, kan/bør man bede om Oracle s eller HW-leverandørens hjælp. Internt har vi (Oracle) adgang til et 4 August 2005 OracleEkspert

5 sizing tool som på baggrund af input som forventet antal brugere, teknologi (forms, portal, reports, J2EE etc.) og operativsystem kan komme med et kvalificeret bud på den konfiguration man bør starte ud med. Output er antal CPU er ved en give Mhz angivelse og memorykrav. Hvis det er Oracle Forms baserede systemer, kan Oracle Consulting bruge et ikke-offentligt tilgængeligt værktøj kaldet Intercept server til at loadteste eksisterende hardware. PROAKTIV/REAKTIV Groft sagt er der 2 skoler når det gælder performance: den proaktive og den reaktive. Man kan have gennemtestet (load/stress-testet) hele sitet/applikationen i god tid, så man kan nå at tage de nødvendige justeringer og forholdsregler herunder kodeændringer. Alternativt kan man sætte systemet i drift efter endt funktions/integrationstest og sætte sin lid til administratorens færdigheder og/eller Grid Control om at rapportere om og afhjælpe problemer i tide. Denne tilgang kan man godt bruge såfremt man har sikret, at applikationen er kodet efter alle kunstens regler og man har lidt ekstra hardware på lager. De problemer man vil møde vil formentligt være af ressourcemæssig karakter på applikation/database serveren. Man kan også være så heldig, at systemet bliver sat i produktion i faser mht. funktionalitet og antallet af brugere. Dette gør, at man kan imødegå problemer ved at se de performance-trends, der viser sig hen ad vejen. For ethvert performanceproblem er det vigtigt at kunne diagnosticere hurtigt, og så gøre noget ved det. Eller endnu bedre; et overvågningssystemet har advaret mod forøget seismisk aktivitet i systemet, så en administrator kan udvise rettidig omhu og imødegå et kinasyndrom - OEM Grid Control kan give den sikkerhed. Senest har jeg oplevet, at et kursusmiljø langsomt, men naturligt, sandede til grundet for lidt memory. Det havde den sideeffekt, at OPMN-processen (HA komponent i AS 10g), som har en håndgranats tålmodighed, ikke fik svar hurtigt nok på sine httppings (HEAD requests), at den erklærede reportsservicen for værende utilgængelig, hvilket betød restart/start af OC4J_BI_Forms instansen, som igen krævede flere resourcer etc. Et Denial of Service Attack var født og maskinen var samspilramt indtil genstart. Denne destruktive opførsel kan man også opleve, hvis man har en meget stor J2EE applikation, som kræver meget lang garbage-collection runtime grundet for lille Heap (memoryallokering for JVM). HTTP-VERSIONER HTTP 1.1 protokollen er designet til optimal af brug af netværket og er default i de fleste browsere. Forskellen mellem version 1.0 og 1.1 ligger mest i bedre udnyttelse af netværket. HTTP 1.1 understøtter KeepAlive request som genbruger tcp-connections, dvs. request bliver serviceret meget hurtigere. Desuden understøttes komprimering af content således, at childprocessen kan sende response gzipencoded. Skal browseren tilgå en named based virtual host kræves også HTTP 1.1. Hvad er så problemet? HTTP 1.1 support kan slåes fra i browseren og proxies af ældre dato understøtter kun HTTP 1.0, hvilket resultere i dårlig udnyttelse af web serverens ressourcer. PARAMETRE HTTP serveren består processmæssigt af en parent process og et antal childprocesser (threads på Windows). Antallet af childprocesser styres af MaxClient directivet på Unix og ThreadsPerChild på Windows. MaxClient direktivet er egentligt for at beskytte systemet mod Saturation. Test viser, at på et 2-processer system kunne 60 childprocesser supportere 300 brugere (calibreringstest). Et 4-6 processer system havde kun lidt gavn af at sætte Maxclients fra ved et system bestående af statiske sider og servlet requests. En tommelfingerregel for ThreadsPerChild på Windows er 20 pr. CPU. Ovenstående settings er meget systemafhængige og skal derfor tages som vejledende. Loadtests er det eneste pålidelige værktøj til tuning af disse direktiver, som så mange andre settings i dette skriv. KeepAlive direktivet kan have stor indflydelse på antallet af brugere man kan slippe løs på systemet. Som regel er KeepAlive=on så http-clienten (browseren) vil holde tcp-forbindelsen åben til serveren 5-10 sekunder. eller indtil MaxKeepAliveRequests er nået. Såfremt systemet har ekstremt mange brugere, request er små og ulige fordelt kan det være en fordel at slå KeepAlive fra, til dels pga at memory-forbruget er 4-5 gange så højt pr. child (over 300 brugere, 2,5 Mb). Man bør holde øje med DMS metrics på http_core.c modulet i ohs. Modulet har ansvaret for statiske filer, så hvis request-raten er høj kunne WebCache afhjælpe med en velvalgt cachingrule. SSL kan have en enorm betydning for performance, idet sessionsinitiering og kryptering/dekryptering bruger meget CPU-tid. Eksempelvis bør SSLSession- Cache konfigureres, idet der kan opnåes 80% bedre performance i SSL session-initieringsfasen. Såfremt man bruger SSL udbredt og samtidigt vælger en tung krypteringsalgoritme, grundet ønsket om høj datasikkerhed, bør man overveje clustering og/eller brug af SSL accelerator hardware. OC4J OC4J er en J2EE server, der kører i en Java Virtual Machine(JVM). Den er logisk opdelt i Web Container, EJB Container og J2EE Services. Jeg vil koncentrere mig om JVM, Web Containeren herunder Servlets, Java Server Pages(JSP) samt J2EE servicen; JDBC. Den virtuelle maskine (JVM) er selve OS-processen, som kører OC4J som en alm. Java-applikation (Java jar oc4j.jar). Man kan bestemme heapsize/memoryallokering tilgængelig for JVM en ved at sætte minimum og maximum heapsize. Er heapsize for lille skal garbage collectoren køre ofte, hvilket kan have en ugunstig indflydelse på opmn-processens tålmodighed. Resultatet kan blive, at OC4J ikke får svaret på PM s http-pings, hvilket giver ikke-produktionstålelige restarts af OC4J instanser. Er heap en for stor skal OC4J s memorymanager bruge tid til at økonomisere med det allokeret memoryareal, hvilket kan have negativ betydning for AverageResponseTime (ART). Som så meget andet skal den fastsættes på baggrund af en loadtest. Dertil kommer at man bør sætte min. og max. heapsize til det samme, så OC4J ikke skal bruge tid på at administrere det faktiske memoryforbrug. Det dyre i en JVM og dermed Java er garbage colle- OracleEkspert August

6 ction og objektinstantiering. Siden JVM 1.4 har man kunnet kontrollere, hvilken type garbage collector (gc) man vil bruge. Disse gc er er baseret på forskellige politikker for hvornår gc skal indtræffe. I JVM 1.5 introduceres garbage collection choice by class of machine (single/multi processor). Sun beskriver, at default gc passer til de fleste applikationers behov, men kun loadtests kan afsløre om man kan få glæde af et andet valg (værktøjer som jvmstat og Mercury J2EE Deep Diagnostics kan kigge ind i maven på JVM en). Antallet af JVM processer pr. OC4J instance har også betydning. Mindst 2 processer giver OC4J high availability, men tests viser, at blot 2 instances kan give dårlige ART på selv multi-processormaskiner. Performanceproblemer ved objekt-instantiering kan imødegås ved genbrug af objekterne: threadpooling, connectionpooling, EJB pooling, tag handler instancepooling, Oracle ADF BC ApplicationModule pooling etc. Typisk er det selve J2EE serveren der kontrollerer pools, mens administratoren blot kan styre størrelsen. Pooling og caching sorterer under snyd og bedrag, men har rystende stor betydning for ART. Web Containeren er som navnet antyder web tier. OHS kommunikerer med OC4J over Apache Jserv protocollen (ajp). Ajp-porten er sammen med JMS- og RMI-porten kommunikationsporte i OC4J - alle kontrolleret af opmn. Servlets og JSP-sider kører i Web containeren. Servlets er Javaklasser, som normalt vil blive native compileret på requesttidspunktet. Af denne grund kan man specificere, <load-on-startup> i Deployment Descriptoren (DD), hvilket vil sige, at de blive kompileret ved OC4J opstart i stedet. Det forbedrer dog kun performance for den første stakkel, som requester. Den teknik kender man også fra databasen, når man pin er stored procedures. Man kan blot ikke sikre, at servlet en ikke bliver unloaded fra memory. En anden, men mere memorygrådig egenskab er instantiering af HttpSessions. Default for servlets er, at der ikke bliver lavet en session i modsætning til JSP-sider. Man skal holde øje med active og completed sessions. Er active sessions betragteligt højere end completed sessions er det sandsynligt, at sessions blive genereret til ingen verdens nytte, og man bør se nærmere på applikationskoden. Har man tilmed konfigureret HTTP clusters (replikering), så er performance-tabet/memory-forbruget endnu større. Men som sagt; problemet er tydeligst for JSP-baserede web-applikationer. Ubrugte sessioner vil time ud efter typisk 20 min. eller hvad man har sat timeout til i DD (web.xml). JSP-sider er teknisk set Servlets, men de er langt nemmere at bruge til udvikling af html-baseret applikationer. JSP-sider bliver prekompileret til Javakode, derefter kompileret til class files og kørt som en Servlet efterfølgende. Såfremt siden ændrer sig (datostempel) starter processen forfra. I et produktionsmiljø bør det ikke forekomme, så man bør prekompilere sine JSP-sider til class-filer (ojspc utility) inden deployment, og sætte main_mode til justrun i DD. Derved spares OC4J for det overhead at holde øje med ændrede JSP-filer. DATASOURCES Datasources er J2EE serverens adgang til databasen via JDBC og er AS adminstratorens eneste mulighed for at performance-tune mod databasen. Emulated datasources er wrappers omkring Oracle eller non- Oracle data source (databaser) uden fuld XA og JTA global transaktionssupport. Emulated datasource er at anbefale pga deres hurtighed, men er begrænset til lokale transaktioner og kun én database. Non-emulated datasource er rene Oracle-baserede datasources med fuld transaktionssupport. Kun emulated datasource vil blive omtalt i det følgende. Datasources skal ALTID tilgåes via JNDI-navnet i konfigurationsfilens (data-sources.xml) ; data-source ejblocation -attributten. Datasource connections der hentes herfra tages fra en connection pool. Såfremt man er kommet til at map e til location -attributten vil alle connections blive skabt som dedikerede connections til databasen. Udover at referencer til location-attributten er strongly deprecated for emulated datasources, vil connect/login-tiden blive drastisk forøget med et stort performancetab til følge. Man kan kontrollere connection pool ens størrelse med attributerne minconnections og max-connections. Sættes maxconnections for højt kan det reducere ART. Generelt tilskyndes udviklere til at bruge Prepared- Statement eller CallableStatement Javaobjekter for at reducere softparsing/roundtrips af sql-statements. Dertil kommer at administratoren kan sætte stmtcache-size og dermed cache statements pr. connection og dermed yderligere reducere roundtrips. Man kan sætte Java-optionen oracle.jdbc.dmsstatement- Metrics =true for bedre at kunne bestemme størrelsen af statement cachen. Pooling og statement caching er memory-grådige, men de er uundværlige i alle applikationer. Hvis database-performance stadig er flaskehalsen i en given applikationen, kan administratoren ikke gøre yderligere end blot beklage sin nød til udviklerne. Udover sql-tuning, kan udviklerne introducere i prioriteret rækkefølge - pagecaching i WebCache, Java Object Caching (JOC/WOC) eller fragment caching (JESI) i WebCache. Hvis man forøger antallet af instanser (JVM s) for en given OC4J-instance, skal man halvere/reducere max-connections / min-connections, med mindre man er helt pjattet med at få DBA er til at skifte farve over i de gasblå nuancer - poolen dannes pr. JVM instans. WEBCACHE WebCache bygger på en antagelse om, at hente data direkte fra memory er bedre end at generere data onthe-fly. Dette har ikke ændret sig siden man i sin tid fedtede med Sinclair ZX-81, Spektrum og senere DOS RAM-diske. Der er 3 ting som får webservere til at performe: caching, caching og pooling. Eksempler er private cache i browseren, public cache i Proxy en, WebCache, threadpools, JDBC connection pools (mod_plsql/oc4j), SQL buffer cache etc. Basalt set bygger caching på en subtil forskel/abstraktion mellem et statisk og et dynamisk http request. Ved et statisk request måles datavaliditet TimeToLive (TTL) i dage eller uger, mens dynamiske request måles i millisekunder, timer optil dage. Caching regler på statiske sider er forholdsvis overkommelige for en administrator, mens alle andre typer caching-regler kræver mere grundige overvejelser sammen med udviklerne. Især hvis caching skal kunne invalideres dynamisk v.h.a invalidation request fra applikationen eller sågar fra databasetriggere ved brug af utl_tcp-pakken. Oracle 6 August 2005 OracleEkspert

7 AS 10g J2EE tuning kit viser, at brug af WebCache kunne forøge antallet af brugere fra 700 til 1000 for Sun s PetStore J2EE applikation. Et noget dyrere alternativ var, at skalere Application Serveren såfremt man skulle supportere 900 brugere på den givne maskinkonfiguration. Performancemæssigt kan det anbefales at lægge WebCache på sin egen maskine, idet webcache-processen af mange kategoriseres som en runaway-process, som vokser betragteligt. STRESSTEST Med ovenstående konfigurationer i mente kan et stresstestscenarie beskrives i hovedtræk. Værktøjer til diagnostisering kunne være Mercury Loadrunner (LR) herunder Mercury Virtual User Generator (VuGen). Man kunne have valgt Apache JMeter o.a som stresstool grundet en for mange, mere attraktiv licenspolitik. Dynamic Monitoring Service (DMS) i Oracle Enterprise Manager bruges til AS 10g performancemålinger selvom LR selv har mange add-on monitors som kunne bruges. LR leverer selvfølgelig fantastiske diagrammer baseret på bla ART. Kommer det til stresstest af bla Forms er LR at anbefale, idet de har implementeret den af Mercury kaldet Oracle NCA protocol. Navnet har Mercury sikkert afledt af en tidligere Oracle Applications version jeg har aldrig mødt navnet internt i Oracle. For at opstille en realistisk test må man se på sine forretningsprocesser. Man må opstille nogle konceptuelle mål for hvad applikationen skal kunne honorere. Feks antal brugere, årlig tilgang af nye brugere, søgninger må ikke være ulideligt langsomme, og man skal til enhver tid kunne gennemføre en bestilling af varer. Man skal identificere de centrale processer feks. Sign-in, Søgning på sitet, bestilling af varer. Man må derefter komme med et kvalificeret gæt på hvormange transaktioner, der forekommer på en typisk dag, og på en dag med peak load. Disse kategoriseres herefter i indhold af dynamisk generede data samt vigtighed for forretningen. Derefter sættes nogle mål for responsetider for de enkelte processer. Disse tal vil være styrende for hvornår der skal tunes eller ej. Det kan også være nødvendigt at kategorisere brugere i feks. nybegyndere og erfarne brugere. Denne kategorisering har betydning for hvor meget tænketid, der skal indbygges mellem de enkelte delprocesser, som en proces består af. Som noget af det vigtigeste startes en analyse af concurrency - hvordan er transaktionerne fordelt ud over dagen. Finder man peak time, må det antages, at hvis man stresstester systemet under disse omstændigheder, vil systemet, alt andet lige, kunne klare belastningen resten af døgnet. Endelig kan der være overvejelser omkring brugers geografiske placering dvs. netværkstilgang via WAN og/eller internet. Har vi (Oracle) estimeret en maskinkonfiguration, har man allerede været igennem alle disse overvejelser, idet vi kræver nogle af de samme input. ANDRE TEST Forarbejdet er nu gjort og alle involverede processer, der skal indgå i et testscenarie, optages gennem VuGen. Scriptene opdeles i logon, selve transaktionerne som processen består af og logout, såfremt authentikering er en del af applikationen. I LR laves flere scenarier, hvor VuGen-scriptene er input. LR best practices er at lave mindst 4 deltests (scenarier): Concurrency-test (debug run): Er en test uden tænketid bestående af 3 5 brugere. Målet er at afdække eks. låsningsproblemer. Top Time Transactions test : Målet er at finde de tungeste transaktioner og dermed dem der har længst responsetid og/eller de transaktioner som tager længere tid end det tilladte testmål ved 20% load. De flaskehalse bør tunes inden 100% loadtest og skal efterfølgende under skærpet tilsyn. Testen gennemføres uden tænketid. Full load test: Målet med denne test er, at se om systemet opfylder svartidskravene. Denne test er iterativ og med tænketid. Først lader man antallet af brugere stige langsomt mod 100%. Ofte langt inden full load vil flaskehalse vise sig. Problemet lokaliseres i OEM AS Control, OEM DB Control og/eller OEM Grid Control, og testen afbrydes. Systemet/komponenten/- applikationen tunes og testen startes igen. Når en fuld load test er gennemført, registreres denne test som baseline for alle fremtidige load tests. Scalability test: Denne test er af typen Overload/- Overdrive test. Målet er, at køre systemet i mætning mht CPU og/eller Memory (Saturation test). Derved får man et billede af, hvad en given maskinkonfiguration maksimalt kan klare. Man går efter hockey-staven det punkt hvor ART stiger urimeligt. For Oracle Forms applikationer er denne test almindelig, idet man så fastlægger det maksimale antal af brugere til 10% under det punkt hvor staven knækker. Et alternativ er en Threshold test, hvor stop-kriteriet for en CPU-bundet test kunne være 75% utilization. For en Memory bound test kunne stopkriteriet være responsetid eller en forøgelse i virtual memory management. Java applikationer (OC4J) testes ofte på denne måde. Hvis man vil muntre sig lidt med ovenstående kan en 10 dages LoadRunner trial-licens downloades fra mercury.com og Oracle AS10g J2EE Tuning kit kan downloades fra products/ias/files/10gtuningkitj2ee.zip Vær forberedt på, at de scripts som indgår i tuningkittet skal opgraderes/tilpasses LR versionen. Afslutningsvis vil jeg minde om, at kun en tåbe frygter ikke brugerne. Tilmeld dig OracleEkspert-Konferencen 2005 via OracleEkspert August

8 BENTES BAMSERS BØGER Af Bente Rosenkrantz-Theil Denne gang bliver det en noget anden form for boganmeldelse, da det ikke er én bog, og heller ikke i papirform. Jeg tror vi alle kender til behovet for at få nogle ideer omkring et bestemt emne, uden at man ønsker at læse én hel bog eller måske endda flere. Jeg og mine konsulentkolleger har i hvert fald ofte et behov for at finde litteratur om et emne, og som altid er det interessant at høre hvad flere mener om det samme. Vi har derfor købt i første omgang ét abonnement til books24x7 for at se om det duede med bøger i elektronisk form, og det kan kort beskrives som genialt. Der ligger vel omkring bøger alle it-bøger, og man søger blot på det ønskede emne, og så får man vist en liste over de bøger der har noget om emnet, og naturligvis også hvilke kapitler der indeholder noget om emnet. Kære læser, I denne rubrik kan du læse min (og mine bamsers) mening om forskellige Oraclerelaterede bøger. Du er velkommen til at kommentere mine vurderinger i en mail til Du er også velkommen til at melde dig som bamse ved at indsende din egen boganmeldelse, som du mener andre bør læse. Venlig hilsen Bente Man læser bogen på skærmen, og man kan naturligvis sætte bogmærker i, sætte en bog på ens boghylde og så købe en bog man ønsker i papirform. Der kommer meget ofte nye bøger, så man kan sagtens finde et ønsket emne, også om noget der næste lige er kommet frem. Jeg syntes det er en herlig måde at læse faglitteratur på, naturligvis suppleret med traditionelle bøger, men jeg falder ikke for ideen til skønlitteratur, hvad er bedre end et koldt glas vin og en god krimi under parasollen en sommerdag. Pris 399$ hvilket må siges at være rimeligt, da de fleste IT-bøger koster omkring 500 kr. herhjemme. Restriktioner findes der også, man må ikke bare udskrive hele bøger, nogle gange vises der en download markering, og her kan man så downloade enkelte kapitler etc., men formålet er at litteraturen skal være tilgængelig online via en browser. Til gengæld er du ikke låst til een maskine med krav om installation af specialsoftware. Du kan uden problemer sidde ude hos kunden og slå op i bøgerne alene vha et brugernavn og en adgangskode. 8 August 2005 OracleEkspert

9 Kurser i Systemanalyse One main problem with short-circuiting the analysis process is that it leads to unnecessary complex systems. It is important to understand that, while simple systems are much easier to build, they are much harder to design. - David C. Hay Introduktion til Objektorienteret Analyse Ring for tidspunkter Dette kursus giver deltagerne en indføring i den Objektorienterede udviklingsmetode og de tilhørende analyseteknikker gennem teori og øvelser. Kurset inkluderer blandt andet en gennemgang af Objekter og Klasser, nedarvning, indkapsling, den Objektorienterede udviklingsmetode, samt teknikker som UML Objektmodellering med Klassediagrammer, Statusdiagrammer, Sekvensdiagrammer og Use Case modellering. Desuden gennemgås teknikker til identificering af objekter og deres sammenhænge, strategier for dokumentation, interviews, test mv. Kurset henvender sig primært til udviklere, systemanalytikere og projektledere, der gerne vil introduceres til teorierne og teknikkerne bag Objektorienteret analyse. Forudsætninger: Ingen. Prisen inkluderer et eksemplar af bogen "An Introduction to Object-Oriented Analysis" af David William Brown (668 sider). Underviser: Marc de Oliveira Sted: Fensmarkgade 3, 2200 København N Pris: kr for tre dage OracleEkspert-abonnentrabat: 500 kr. Mere information + tilmelding: eller Systemanalyse med The Zachman Framework den september kl 9-16 Kurset giver et overblik over de metoder og teknikker der er mest egnede til systemanalyse af hhv data, aktiviteter, lokationer, personer, organisationer, tid og motivationer, når målet er at identificere og implementere den simpleste løsning på et givent problem. Med The Zachman Framework* som udgangspunkt fokuseres der gennem teori og øvelser på de kommunikationsformer, der bedst henvænder sig til de forskellige medspillere i et udviklingsprojekt. Zachman Framework er på trods af sin relativt høje alder et særdeles velegnet værktøj til håndtering af projektinformationer, hvad enten det er til strukturerede miljøer, objektorienterede miljøer eller steder, hvor man har defineret sine helt egne metoder. Kurset henvender sig til projektledere, systemanalytikere og andre centrale personer indenfor systemudvikling. Det forudsættes, at deltagerne har et basalt kendskab til datamodellering. Prisen inkluderer bogen Requirements Analysis - From Business Views to Architecture af David C. Hay (458 sider). Underviser: Marc de Oliveira Sted: Fensmarkgade 3, 2200 København N Pris: kr for tre dage OracleEkspert-abonnentrabat: kr *Kort om The Zachman Framework: Værdien i Zachmans metode er 1) at man i stedet for at tænke i udviklingsfaser, ser på forholdene i virksomheden ud fra forskellige perspektiver (planlæggerens, forretningsejerens, arkitektens, designerens og udviklerens), og 2) at man udover data og funktioner på lige fod også inkluderer steder, personer, tid og motivation i analysen. Når man kombinerer alle perspektiverne med fokusområderne får man en samlet matrix med et komplet billede af alle relevante oplysninger om virksomhedens behov.

10 NØRGAARD S NEWS Af Mogens Nørgaard STABILITY AT THE ATOMIC LEVEL If you wish to have a stable environment you must identify the things that can de-stabilize it, then eliminate them if you can easy, huh? So if you never patch or upgrade Oracle, if you never change any parameters, if you never change anything in Oracle s data dictionary (new objects, changing NULL to NOT NULL) and if you don t constantly gather new and exciting statistics and if you can control the concurrency of CPU-intensive jobs on your system then you are almost there. Easy, huh? At Miracle A/S we solve IT-related problems. They can be related to security, functionality and (more common) availability and performance. It s usually very exciting, since we re mostly called in when the problem is very acute. I m only covering the first part in this column, not the part about CPU-intensive jobs. VIP VISIT Mogens Nørgaard fortæller i denne rubrik om sine oplevelser og erfaringer, som alle databaseinteresserede kan have glæde af. Imagine you have to arrange a visit in London for some VIP say Hillary Clinton or Robert Mugabe. My guess is you would hire some security-savvy outfit like Control Risks Group (www.crg.com) to a) prepare and plan for the visit, b) gather intelligence about possible threats and risks, and c) provide the physical security during the actual visit. You see, Miracle A/S is usually called in when the VIP is either dead or bleeding from several gun wounds. Sometimes we re lucky and are called in before the VIP is attacked because somebody spotted a lot of snipers on the rooftops or a load of explosives were discovered near the route of the VIP. Usually, though, we re asked to perform first aid, field surgery and apply various walking aids in order for the VIP to complete the visit. My dream has always been to be invited to be part of phases a, b and possible c instead of just the medical emergency team. It has been my dream for about 18 years, and perhaps it might happen one day. A couple of days ago we were contacted in order to solve a big performance problem 20 minutes before a huge system was going live after a 48 hour upgrade. A couple of weeks ago we had a situation with one of our customers where management was having that sort of wonderful meeting where they have to decide to send home the 800 workers producing goods in the factory or not because the system was suddenly running very, very slow. We had a few hours to fix the problem. Nearly every time it s because a SQL statement changed execution plan. To the worse, of course. But it changed. Funny enough, execution plans is about the only thing people never monitor. The focus is usually on system level or application level performance. That s fine with me, since it won t help anybody identifying the source of a sudden slowdown. Which means they would do the Guess & Grimacing meetings around the whiteboard. Which means they would be even more desperate when they finally contact us. Which means it would be much more adrenalinbound for my guys. Ah, to be the Delta Force of the database community. Feels great. Could wear you out after a few decades. MONITORING V$SQL I call it the M2M method Money To Miracle. Seriously, though, if you want to avoid sudden surprises in your systems or your applications you need to be able to see if a SQL statement changed execution plan and whether it was for the better or the worse. We have done it for a system, but it required some tricks, including manual parsing of the most important SQL statements, our own hashing algorithm and some other trickery. The same will need to be done in 8.0 and 8i systems. In 9i and 10g you can get something primitive going in a hurry: Save data from V$SQL with regular intervals. For instance you could concentrate on the following columns: HASH_VALUE PLAN_HASH_VALUE ELAPSED_TIME EXECUTIONS BUFFER_GETS CPU_TIME You can make your own routine, you can download Miracle s Monitor (MIRMON) which has a nice webinterface, or you can use Statspack level 6 or higher (we have also ported our MIRMON web interface to Statspack, and it s free send me an if you re interested). It s up to you how often you want to do this once a day, once an hour or once very 15 minutes. I don t care. Then check for the following: Case 1: Did the PLAN_HASH_VALUE change for the same HASH_VALUE? Case 2: Did the ELAPSED_TIME change for the same PLAN_HAS_VALUE? Let us look at Case 1 first. If the plan changed, and if the elapsed time increased, you might want to identify the application(s) using this SQL statement and warn the users that their response time just got worse. Then try to get the plan back to what it used to be. With Case 2, it s a little more subtle: This could happen if an index becomes less efficient, if the amount of data used by this SQL statement increased and for a number of other reasons. Same plan, more work. In this case you can see if buffer_gets and cpu_time increased, and start looking at possible causes. This is what I call looking after changes at the lowest level, instead of looking at high-level (system, application) symptoms. 10 August 2005 OracleEkspert

11 GROUNDHOG DAY TUNING If you have tools that will help you identifying/managing application performance you will at least know when your users response time goes up or down (some tools don t even do this, but most do). Here s the problem with that approach (application-centric): Your application A (a report, say) consists of two SQL statements S1 and S2. S1 takes 5 seconds, S2 takes 20 seconds. Users are happy with the 25 seconds response time. Note that you don t know how long each SQL statement takes you only know the total response time. Then one day S2 takes 30 seconds instead of 20, and the total response time is therefore 35 seconds. Users complain, and you do the usual thing: Trace the application, find the heaviest SQL statement, and try to tune it. It s the same thing you do every time. In this case, it s also the right thing to do, although it could take you a while, etc. You re trying to tune the SQL statement that got worse. But what if S1 one day takes 15 seconds instead of 5? Then the total response time is also 35 seconds. You then perform the traditional Groundhog Day Tuning: Trace it, find the heaviest SQL statement (which is S2, which didn t change) and try to tune it. See the problem? This is exactly why sometimes you will approach an application programmer and ask him to help you tune S2, and the poor guy will explain that he just did that, and that he can t reduce it further. In other words: You re looking at the wrong statement, since that statement didn t change. S1 changed and should be brought back to its 5 seconds response time if possible. In yet other words: We usually tune the wrong things even if we focus on response time. We spent a couple of decades looking at the statements with the most buffer_gets (logical IO s) before we started looking at the statements with the highest response time. Both approaches represent Groundhog Day Tuning. NOW IMPLEMENT IT :-) Whether you use your own snapshot mechanism for this, use Miracle s tools or whatever, you should at least think in these terms in order to stabilise your systems. There are a few other benefits if you monitor the elapsed time vs execution plans: You can far more safely upgrade, patch and make changes to your environment you ll be able to tell quickly what changed, and whether it was for the better or worse. You might even be able to perform what I call Shock Upgrades without any prior testing of performance. As if you didn t do that already :-). Note, that the hashing algorithm used by Oracle changed in 10g. There was a danger of collisions in the old algorithm, even though it is known as The Perfect Hashing Algorithm. However, you will find both HASH_VALUE and OLD_HASH_VALUE in V$SQL in 10g, so you can map from older versions of Oracle. In Enterprise Manager (aka Grid Control) there s a little-known feature allowing you to see if a certain SQL statement changed execution plan. But that requires that you have identified it as a problematic statement first. This approach should be turned up-side down: You should monitor for changes of exeuction plans, THEN go investigate the possible causes of that, and possible ways to get it back to the old execution plan. Also, be aware that a SQL statement could have execution plan X1, then change to X2, and then perhaps change back to X1, You should therefore monitor them historically, and not just keep the latest value. There is a lot of work left to be done in this field, what, with dynamic SQL and other niceties sorrounding us. But it s the way to go, I think. For instance, it could provide you with a certain indication that you should re-org an index or turn a table into an IOT or whatever. End of Guessing. ANJO S PYRAMIDS It s tough being a director. For instance, Anjo Kolk and I have had to spend a week here in South Africa doing tech days for the SAOUG in Johannesburg (Joburg if you re local) and Cape Town (CT). It s Winter down here, and the locals are complaining profoundly about the cold weather, etc. Ha! Any of these days would qualify as a near perfect Danish Summer day, I can tell you. It s all about what you re used to. The folks from South Africa ought to visit Denmark a few days every Summer (or Winter!) and then I think they d be very, very happy with what they ve got. Anyway, Anjo had some interesting observations that I thought I d try to pass on: If you have an OLTP system, you should probably have a V-shape of your system with respect to CPUpower available: Not very much at the database level, more at the middle-tier level and a lot at the client level. V for Victory, as Anjo says. With DW/BI it s the opposite (an inverted pyramid): You should have most CPU power at the database server level and not so much on the client. Have you noticed how often you see hour-glass shapes in systems instead of the V s? In mixed environments you should probably have something more like a W or M :-). LINUX IS NOT LINUX Sometimes I read things that REALLY gets me thinking. This is an example (pardon my French): Sun was so stupid to not put their true engineering quality into Solx86 in the late 90s...so it wasn t good enough to run Oracle. Sun was just sandbaggging Solx86 as a loss leader and getting people to switch to SPARC. That Larry off, he decided to not port 9i to Solx86. That promoted this worthless anarchist piece of nightmare we deal with now called Linux into parity with Windows for Oracle... Here s one of the qualities I look for in people before and after I hire them: If they love to be proved wrong, they will go far. If they don t like to be proven wrong, or even partly wrong, then they will have a hard time sooner, not later, in our line of work. So when someone I respect says something like the above, and it gets me thinking, I feel wonderful. Isn t it funny to have things turned on their heads (by some- OracleEkspert August

12 one who knows what he s talking about, by the way very much so, in fact)? What we re witnessing is that the Unix es of the World are dying. Yeah, sure, they ll be around for many years to come my beloved VMS is still available, too. It s all about Linux and Windows now. But is Linux Linux? Not quite. There are many different Linux es out there. Sure, their source code is available. So what? Can you take advantage of that if you have a serious problem? Can you contact your vendor and have something urgently fixed in their code (a patch, in other words). Sure. But will it become part of the general Linux distribution or will you now run a unique version of Linux your own version? So customers are not gambling on that. They re betting on the big players supporting Linux. The big players, in turn, will make changes to their Linux according to customer demands and whatever goes on inside their organisations as such. Then we have many Linux es. Instead of many Unix es. Still one Windows. Fun fact: If you switch from HP/UX to Redhat Linux on HP (say, Itanium) you re probably not going to save any money. Support/update costs are the same. Linux is faster than Windows. Unix is faster than VMS. Is that really an important decision parameter? No, Dear Oracle Senior Management, I m not defending Microsoft. I m not dissing Oracle. I m not for or against Microsoft. I m not for or against Oracle. I m for the customer. NYHEDER Red Database Security offentliggør seks sikkerhedsfejl i Oracle Det tyske sikkerhedsfirma Red Database Security har efter sigende allerede for to år siden gjort Oracle opmærksom på fejlene og har bedt Oracle om at udsende en patch, som kunne rette dem. I frustration over at Oracle ikke har reageret, valgte firmaet at offentliggøre detaljer om fejlene. Oracle har beklaget, at disse oplysninger nu er blevet offentliggjort inden en patch var klar til at rette dem, men hævder, at de retter fejl i deres produkter så hurtigt som muligt. Fejlene er relateret til Oracle Application Server 9i og 10g, Oracle Forms og Oracle Reports. Mindst een af fejlene hævdes at tillade en hacker at overtage kontrollen over systemer, der kører Oracle-applikationer. Link Watermark Denmark dropper Oracle Watermark Denmark bliver nu en ren Axapta-forretning efter at Baan og nu Oracle er blevet opgivet Oracle opkober Profit Logic Oracle vil i lobet af juli faerdiggore opkobet af Profit Logic, som udvikler financielle analysevaerktojer. Oracle finder at opkobet er naturligt da mange af Profit Logics kunder i forvejen bruger Oracles database. USD 115 mill til Harvard University til et program om forskning i effektiviteten af globale helbredsinitiativer. En sådan donation vil være den største i Harvard University's historie Oracle Q4 resultat I Q4, som er Oracles første hele kvartal efter opkøbet af PeopleSoft, er indtjeningen steget med 3,2%. Det svarer til USD 1,02 mia eller 20 cent pr aktie. Sidste år var overskuddet for Q4 på USD 990 mill svarende til 19 cent pr aktie. Resultatet for hele året er på USD 2,89 mia, svarende til 56 cent pr aktie, hvilket er en stigning på 8% i forhold til året før, hvor overskuddet var på USD 2,68 mia, svarende til 51 cent pr aktie. Indtægterne for året er steget med 16% til USD 11,8 mia siden sidste år. Indtægterne for Q4 er steget med 26%, i forhold til året før, til 3,88 mia Tidligere Microsoft-direktør bliver co-president for Oracle Finansdirektør for Microsoft i , Gregory Maffei, er blevet ansat som finansdirektør og copresident (blandt tre) for Oracle. Oracles andre co-presidenter er Safra Catz og Charles Phillips Oracle flytter salgscenter tilbage til Danmark I en offensiv mod Microsoft i Danmark har Oracle valgt at flytte salgscenteret, som for mange år siden blev flyttet til Irland pga lempelige EU-regler, tilbage til Danmark. I den forbindelse regner man med at skulle ansætte op til 30 mennesker i Oracle Danmark Steen Knudsen bliver salgschef hos Ementor Sten Knudsen, der 11. maj blev bortvist som salgschef hos Oracle Danmark, er netop tiltrådt en ny stilling som salgschef hos Ementor Larry på vej til at donere USD 115 mill til Harvard Larry Ellison er på vej til at donere 12 August 2005 OracleEkspert

13 EN MÅDE AT INDLÆSE REGNEARK I ORACLE INDLEDNING At udveksle data mellem omverden og et databasesystem kan undertiden være problematisk. Der kan opstå ad hoc situationer, hvor der ikke er tid, budget og mulighed for at opbygge veldefinerede udtræks- og indlæsningsapplikationer, såsom rapporter, skærmbilleder og indlæsningsprogrammer. Selv i veletablerede projekter kan der komme spontane og ustrukturerede ønsker om udtræk og inddatering. Situationen forstærkes i nyopstartede projekter eller hvor der er kontakt med interessenter udenfor det organisatoriske og tekniske miljø. Der har længe været rimelig gode muligheder for at lave ad hoc udtræk, her tænkes især på SQLPLUS, hvor en kyndig programmør temmelig hurtigt og let kan lave præsentable udtræk. Derimod er indlæsning af spontandata stadig problematisk. Denne artikel præsenterer en lille applikation, der kan bruges i visse situationer, hvor man har modtaget data i regneark og hurtigt vil læse dem ind og have dokumentation for det passerede. REGNEARK ER POPULÆRE Regneark har vundet stor udbredelse. For almindelige brugere er de nemme at lave og nemme at forstå. De er også nemme at transportere fra sted til sted, mellem forskellige tekniske platforme og via internet. Så regneark er der rigtig mange af. Lidt polemisk sagt kan man sige, at Microsoft Excel (regneark) og Word (tekstbehandling) er verdens mest udbredte database. Det er i øvrigt relativt nemt at konvertere fra det ene til det andet, blot man ved, at karakter 9, måske bedre kendt som tab, definerer en celle i regnearket. Prøv selv at ændre halen på et regneark, fx ark.xls, til ark.doc og kig på det. Det er lidt mere tricky at gå den anden vej. Oracle har nyligt lanceret HTML DB, et produkt i Oracle 10, der håndterer indlæsning fra (og udlæsning til) regneark. Den her præsenterede lille applikation, som er rudimentær, har en lille smule af den funktionalitet. ET SCENARIO Christian Bastlund er ansat i CSC Danmark. Han har arbejdet som konsulent i Danmark og England og er Datalog fra Københavns Universitet med bifag i Informationspsykologi. Udover at arbejde med systemudvikling og Oracle er hovedinteressen menneskemaskin samspil og formidling. Nogle brugere vil angive hvilke medarbejdere, der skal oprettes i et databasesystem under udvikling, som ikke er færdigt. Tiden er knap og applikationen, hvor de ville kunne indtaste dem under ordnede forhold, er ikke klar. Men udviklerne har brug for troværdige data. Eller forestil dig, at brugerne har udarbejdet nogle testdata, som man vil indføre i databasen. Det vil formentlig være let for disse brugere at skrive data i et regneark. Regnearket kan på forhånd være forsynet med SQL kommandoer (og således tjene som en form for brugervejledning, hvis brugerne kan forstå SQL) eller SQL kan bagefter lægges på af en programmør. Herefter kan den lille applikation læse regnearket ind, fx på stedet i samarbejde med en sælger eller projektleder. Det bør nævnes, at applikationen er et kraftigt værktøj, som i ukyndige eller ondsindede hænder kan lave ravage, og login og password bør ikke være frit tilgængeligt. TEKNISK PLATFORM Applikationen er fil RUN.SQL, fylder 6 kilobytes, og består af lidt SQLPLUS og et PL/SQL program på 163 linier samt en fil for SQL efter opdatering. Der bliver ikke lagt noget på databasen. Applikationen startes fra operativsystemet med SQL- PLUS. Som applikationen er her, kører den på Oracle 9.2 eller nyere, men den kan ændres, så den kan køre på tidligere (brug af directory erstattes med brug af environmentvariabel UTL_FILE_DIR). Hvis man vil kigge på og ændre regnearket direkte, skal Oracle databaseserveren enten være Windows, eller der skal være mapning (fx fra Unix), så kataloget opfører sig som Windows katalog. Hvis det ikke er tilfældet, kan man kopiere regnearket (fx ved FTP) mellem det anvendte operativsystem, typisk Unix, og Windows, hvilket er lidt klodset. BRUG Sælgeren kan have applikationen i lommen på en diskette, evt. sammen med skabelonregneark med de udarbejdede SQL udtryk. Sælgeren behøver altså ikke kende noget til SQL, andet end at forstå den simple notation, der kobler kolonner med data til det overliggende SQL udtryk. Når regnearket er lavet, lægges det på det vedtagne katalog, fx C:\ORAARK\, og der laves en kopi med det vedtagne filnavn, fx ARK.XLS. Disse ting står øverst i den lille applikation og kan ændres. Sælgeren eller anden bemyndiget person starter SQLPLUS med user_login/password op fra det vedtagne katalog, fx sådan her: C:\ORAARK> sqlplus Resultatet er: - Opdatering i databasen (forhåbentlig) - Kvitteringsregneark, KVIT_<vedtagne filnavn> - Kørseloplysninger, RUN.LST. Her ligger også SQL fra fil KVITTERING_SQL.SQL Kvitteringsregnearket viser ikke select-sætninger, kun om hvert SQL udtryk er gået godt eller skidt (hvorved den rulles tilbage). I stedet er der fil KVITTERING_SQL.SQL, hvor SQL-kyndige kan skri- Af Christian Bastlund, CSC TEKNISK ARTIKEL OracleEkspert August

14 ve SQL efter opdateringerne; her kan man lave select-sætninger og se, hvad der er sket. NOTATION Hver kommandoblok i regnearket har formen: DECLARE <én SQL-sætning> BEGIN <rækker med data i kolonner, hvis relevant> END; SQL-sætning kan: - være dataløs, eller - referere til hver datarækkes kolonner med nummer og %-tegn foran nummeret EKSEMPLER: DECLARE update kunder set telexadresse = null; BEGIN END; DECLARE update medarbejdere set navn = %2 where initial = %1 BEGIN ABO Anne Bang Olsen NHH Niels-Henning Hansen END; Kvitteringsregnearket skriver i en linie efter hvert END; om det er gået godt eller rullet tilbage. For at forstå hvordan regnearket læses, prøv at lave *.XLS filen om til *.DOC og kig i Word. Det er nærliggende at udvide applikationen, så der kan håndteres mere end én SQL-sætning pr. kommandoblok, men det er ikke gjort her. Eller kommentarer som /* <tekst> */ efter DECLARE for SQL eller efter BEGIN for kolonneoverskrifter, det er heller ikke gjort. Man skal være opmærksom på, at SQL en kan åbne op for farlige ting: DECLARE drop user system cascade; BEGIN END; Den er ikke god. Det er derfor user_login og password ikke skal være frit tilgængelig, og man bør derfor nok oprette en særlig Oracle-bruger, som ikke har for kraftige rettigheder. KONKLUSION Dette er en mobil letvægtsapplikation, der kan hjælpe med at krydse det tekniske gab mellem almindelige brugere med forretningsviden og data og udviklere. I starten, før der er opbygget fortrolighed mellem parterne, er det nok en god ide blot at specificere hvilke kolonner, brugerne skal udfylde, og lade udviklerne skrive SQL en på bagefter, ellers kan det være, brugerne synes, det er noget mærkeligt noget og blive utrygge. Der er noget farligt indeni! [Den omtalte kode samt eksempler kan download es fra vores hjemmeside: Red] Læser dine kunder ikke OracleEkspert? For hver ny abonnent, som oplyser dit navn ifm tegningen af sit abonnement giver vi dig: - Et signeret og nummereret særtryk af Oraclerne - Et OracleEkspert-kaffekrus eller - En forlængelse af dit abonnement med eet nummer 14 August 2005 OracleEkspert

15 ER DU ENIG? Påstanden som blev fremlagt i OracleEkspert nr 30 lød: Objektorienteret udvikling er bedre end struktureret udvikling/information engineering Opinion: 2.0 (på en skala fra 1-5, hvor 1 betyder helt uenig og 5 betyder helt enig ) OE31 Vinder: Mette Stephansen, PFA Sponsor søges Hvis dit selskab er interesseret i at blive sponsor, ring Jeg bestyrer denne lille sektion, hvor jeg i hvert nummer af OracleEkspert diskuterer et emne, som Ialle gerne må give mig jeres mening om ved at afgive jeres stemme på (under menupunktet Meningsmålingen). Der uddeles en præmie for en af de mest interessante kommentarer. Ideer til spørgsmål, som det kunne være spændende at høre andres mening om er velkomne til Der var ikke mange deltagere i denne måneds meningsmåling. Det skyldes nok at emnet er meget svært, og at meget få kender argumenterne fra begge sider. Til gengæld var der nogle meget engagerede holdninger. Mette Stephansen vinder overbevisende dene måneds ipod Shuffle med følgende meget livlige og dybtfølte kommentar: [...] Og så irriterer det mig GRÆNSELØST at fx Java skal være så fandens besværligt at man stort set ikke kan kode det uden en super-hyper-mega editor (for det er jo det IntelliJ/Esclipse bare er). Ingen kan nogensinde rumme tilnærmelsesvis det hele. Så alle opfinder små dybe tallerkener, eller henter diverse underlige claser/metoder fra skumle steder på nettet. Dvs. den opgave, der "i de gode gamle dage" havde måske 2-3 mulige tekniske løsninger (når nu algoritmen var fastlagt) har nu 1800 forskellige. Hver mand, sin løsning på fx bare at læse en simpel fil fra disken! Så det vi har opnået er at vi har kompliceret vores liv yderligere - øget vedligeholdelsesbyrden, idet der alle steder anvendes et hav af hjælpeværktøjer. Og så... HVEM FANDEN HAR FUNDET UD AF AT DET SKAL VÆRE CaSeseNsITivt? [...] Karsten Schulz, som jo er en af de helt tunge drenge inden for Objektorienteret udvikling er selvfølgelig ikke helt enig i Mettes synspunkt. Han medgiver dog at han [...] ikke [er] ening i at OO er mere produktiv end Struktureret udvikling - måske snarere tværtimod, men ellers mener han at Objektorienterede modeller er mere egnede end ER-modeller, da de kan udtrykke væsentlige flere semantiske forhold i modellen, som er forståelige for brugere. Han mener også at Korte cyclus er helt klart bedre end vandfaldsmetoder - det viser alle erfaringer! Og genbrug understøttes helt klart også bedre af OO, da det er lettere at genbruge objekter/klasser en funktioner!. Her er Mette Stephansen uenig. Hun mener at Man har altid ved at kode fornuftigt kunne genbruge og "skjule" uønsket funktionalitet for de ikke indviede.. Angående kravændringer siger Karsten Schulz, at tager man et typisk kravsændringspunkt såsom funktionaltitetsændringer, så er OO skræddersynet til lette ændringer af sådanne! Generelt var de fleste ikke tilhængere af Objektorienteret udvikling, hvilket kan forekomme overraskende, når man ser hvor meget opmærksomhed emnet har fået igennem de senere år. Jeg er heller ikke selv blevet overbevist om det objektorienterede paradigme. Min kritik er primært orienteret omkring den objektorienterede tankegang og dens konsekvenser for analyse- og udviklingsmetode. I kan læse lidt om min holdning til emnet i lederen på side 2. Af Marc de Oliveira MENINGSMÅLINGEN Påstanden til meningsmålingen i OracleEkspert nummer 32 lyder: Outsourcing er en fordel Det hævdes, at outsourcing kan give store besparelser. Specielt er IT-ydelser i Polen og Indien væsentlig billigere end i Vesteuropa og USA. Når man tager stilling til en outsourcingstrategi, skal man selvfølgelig også være opmærksom på elementer som feks sikkerhedsproblemer, motivation og reaktionstider. Hvad er dine erfaringer? Skynd dig ind på og giv din stemme til kende! Du kan vinde en ipod Shuffle OracleEkspert August

16 TEKNISK ARTIKEL Af Marc de Oliveira FITTING DESIGNER INTO THE ZACHMAN FRAMEWORK - PART 2 ACTIVITIES (HOW) Marc de Oliveira from PYTHIA Information possesses a M. Sc. in Computer Science from the University of Copenhagen and has been working as system analyst and system developer for the past 15 years primarily with the Oracle Designer tools. Contact: The activities column of the Zachman Framework is also handled very well by Designer. As data and activities are the most ancient and fundamental areas of interest of the development practice it is not surprising that they have the most focus in the Designer toolset. The Planner s View - Objectives and Scope (cell A1) The planner s interest in activities is as part of a general scope defining task. He/She needs to maintain a general definition of the scope of the Application System and a list of the main Business Functions that the project must address. You should define a central Application System that represents the entire business. The properties of the Application System should be used to make a general definition of what the business is about. The planner should try to use terms that every employee, customer and supplier can understand. Each essential business area should have an Application System defined for it as well. These Application Systems should be considered as sub Application Systems to the main central Application System mentioned above. The documentation should be in form of text - either as a document or a dynamic web page. A simple list of the top two levels of Business Functions can be extracted like this: select FUNCTION_LABEL from CI_FUNCTIONS where PARENT_REFERENCE is NULL or PARENT_REFERENCE in (select IRID from CI_FUNCTIONS where PARENT_REFERENCE is NULL); There is no need for diagrams at this point. The Designer elements of cell A1 are: - Application Systems - Business Functions (just function labels) The Business Owner s View - The Enterprise Activity Model (cell A2) As with cell D2 this cell is about the business owner s knowledge of how the business is run. The business owner must define the details about what his/her part of the enterprise is doing and how it is done. Both BPR diagrams and Dataflow diagrams are good tools for documenting the activities of a business. They both let you define the business in multiple levels of detail and let you specify the flow of data and materials between the different Business Functions. The Business Functions defined by the business owners relates to physical functions like glue label to the bottle or complete the customer registration form maybe even with a description about how to perform the function. The Designer elements of cell A2 are: - BPR diagrams - Dataflow diagrams - Business Functions (labels and descriptions) - Dataflows - Triggers - Entity and Attribute usages The Architect s View - The Conceptual Activity Model (cell A3) The architect needs to focus on essential Business Functions. These are basically the necessary Business Functions to carry out the enterprise s objectives. These can only be identified with information about the external events of the business, so you will need that information from cell T3 to build essential dataflow diagrams. That means that all Business Functions from cell A2 that do not help to carry out the enterprise s objectives should usually be removed. That could be Business Functions that are dealing with problems in the currently used technology. Also, the Business Functions of the architect should not define processes. They should describe what problem the Business Function solves not how it is solved. glue label to the bottle could be mark the bottle and complete the customer registration form could be register the customer. The result is a set of Dataflow diagrams and Function Hierarchies with all the essential Business Functions described in a technology neutral way. Because the architect will make many fundamental changes to the business owner models it is important to check-in all diagrams and functions before letting the architect change anything. The Designer elements of cell A3 are: - Dataflow diagrams - Function Hierarchies - Business Functions - Dataflows - Triggers - Entity and Attribute usages The Designer s View - The Technology Activity Model (cell A4) The designer will be running the Application Design Transformer that converts the Business Functions to General Modules. The General Modules must then be refined by design decisions about display properties, item ordering, data sorting, usage of canvases and windows, menus, module networks etc. The designer must also identify necessary PL/SQL or Java Definitions that will be needed by the builder and define their interface in the most reusable way to avoid multiple implementations of the same functions by the system builders. In short the designer needs to make all the technolo- 16 August 2005 OracleEkspert

17 gy specific decisions that need to be done before the actual programming can take place. The Designer elements of cell A4 are: - Module diagrams - General Modules - PL/SQL Definitions (general specification) - Java Definitions (general specification) The Builder s View - Detailed Activity Representation (cell A5) Ideally, Designer should be able to generate 100% of the designed code, so why do we need a builder s view? As you may know I am a firm believer of 100% generation but that certainly does not mean that no building is necessary. The builder must implement all the PL/SQL Definitions, Java Definitions and Application Logic that must be used by the generated Modules. The Designer elements of cell A5 are: - PL/SQL Definitions - Java Definitions - Module Application Logic The Working System - Activities (cell A6) The generators will create FMB files, RDF files, PLL files etc that will remain as the source of the executable files in the file system. These can be stored as Files in the Designer repository to keep an accessible overview of all the executable files of the system. The generators will also create Packages, Procedures, Functions and Triggers that will automatically be stored in the Data Dictionary from where it is easy to extract documentation about the working system. The Designer elements of cell A6 are: - Files LOCATIONS (WHERE) The Locations column of the Zachman Framework is not so visible in Designer but don t fear, you can easily manage your location information with Designer. Locations are related tightly to many of the other areas of interest, so it is necessary to look at those relationships as well. The Planner s View - Objectives and Scope (cell L1) The planner must define the Locations that the development project must include. This is done by defining a simple set of Locations in Designer. Specific constraints to take into account for the different Locations can be described here (like language requirements, special considerations related to local laws etc). Only include general Locations like countries or cities not specific offices etc. It might be helpful with a simple map with the locations marked on it. Such a map could be stored in the repository as a Document with the Path property pointing to the BMP or GIF file. By storing it as a Document rather than a File it is possible to assign a Type property that indicates that the Document is a map for the planner s view and, hence, make it possible to show the map dynamically in different kinds of documentation. The Designer elements of cell L1 are: - Locations (only general locations) - Documents The Business Owner s View - The Enterprise Location Model (cell L2) The business owner is primarily interested by the logistical issues related to Locations. What activities are dependent on other activities in different Locations? Who is communicating with who across different Locations? Where do we need to transport goods between Locations? A geographical map with the involved Locations, like offices, warehouses, delivery points, production sites etc, and lines showing the relationships is a good visual but it is important to have a structured representation of those (logistical) relationships as well. I am using the term Location about things that would usually be called Sites because Designer does not distinguish between the two. Alternatively you could create Sites as a user extension but I prefer to use the Type property of the Location element to specify what the nature of the Location is. You can define relationships between Locations in Designer in a couple of ways. Either you can go through the Documents element type by creating a Document with a description of the relationship and then assigning all the Locations with the described relationship to that Document through the Attached To Elements/Attached To Document association. Another possibility is to create a many to many association between Locations as a user extension (you could call them Location Relationships). Such a user extension can be created through the Repository Administration Utility (RAU) and should have the properties Name (mandatory), Type and Problem Level as well as the text usages Description (CDIDSC) and Notes (CDINOT). By using the Code property of the Locations element as a coordination code you can even make a web page with a map that plots in the Locations dynamically. It is even a simple task to have the map using different icons depending on the Type property of the Locations, so that plants, offices and warehouses show up differently on the map. The Designer elements of cell L2 are: - Locations - Documents or Location Relationships The Architect s View - The Conceptual Location Model (cell L3) The architect needs to analyze the Locations of things in more detail. He/She will also have to identify the Locations of less physical things like data, activities and knowledge. If all data will be stored on a central server that everybody has access to, the Location of data is not so important but if some data requiring activities must be performed in a Location without network access these issues must be addressed. This is done using the Location Relationships with the Type property set to something like DATA DEPENDENCE. By mapping Business Units to the Locations (and mapping Business Functions to Business Units, which is done in cell A2 and A3) you will also be able to track Dataflows that move from one geographic Location to another. These Dataflows will often be connecting problematic activities that might benefit from reengineering or relocation. The mapping of Business Units OracleEkspert August

18 to Locations is done using the Business Unit Planning Items association. A Business Function that is actually taking place in two different Locations might have to be split into two or more Business Functions because communication problems may cause each of the activity parts to work independently of each other. This will usually add complexity and time consumption to the original Business Function and should be avoided if possible. It is also important to the management of a business that people that communicate much with each other are located close to each other (this is addressed further in the section about People and Organizations). Finally, there could be dependencies between Locations and the Business Rules of the enterprise. These would be caused by local laws but could also just be caused by local management differences within the enterprise. Designer does not contain a Business Rule element type but a number of suggestions have been made on how to go about it. The CDM Rule Frame uses Business Functions to implement Business Rules while CASETech uses PL/SQL Functions. You could also place them in tables outside the repository or create user extensions to implement them. There are pros and cons to every solution but the bottom line is that some kind of Business Rule storage must be in place and that it should somehow be linked directly to the working system. The Designer elements of cell L3 are: - Locations - Location Relationships - Business Unit Planning Items - Locations To Business Rules Relationships The Designer s View - The Technology Location Model (cell L4) The system designer is concerned with the physical distribution of hardware and software. He/She needs to document the Locations of all the involved Nodes (like servers, storage installations, printers etc), their Network Connections and the software (Databases, operating systems, Modules etc) running on them. Designer has a whole set of elements to handle this kind of documentation. Nodes are identified by properties like Name, Description, Type, Primary Usage, Manufacturer, Model and Responsibility of. Nodes can have Locations and Network Connections to other Nodes. The Network Connections are defined by properties like Protocol and Line Speed. Designer even allows you to define the Processed Modules on each Node and their frequency as well as the Databases running on the Nodes. The Designer elements of cell L4 are: - Nodes - Installed at Locations - Network Connections - Processing Modules - Databases on Node The Builder s View - Detailed Location Representation (cell L5) The builder is concerned with the details about how each Node is setup (by assigning ip addresses etc). This is usually documented in text treatment software like MS Word or Excel. These Documents can be created using any tool and then linked into the Designer repository as Documents by setting the Source Path property to point at them on the file system. Simple setup documents can be stored directly in the Notes text of the Nodes element. In general use the Description text for general descriptions that can be read by people without specific knowledge about the element being described and use the Notes text for low level technical content. This division will make it much easier to extract the correct content in reports or on dynamic web pages depending on the audience. The Designer elements of cell L5 are: - Nodes - Nodes Attached To Documents - Documents The Working System - Locations (cell L6) Some Nodes will provide feedback about their status etc through a web interface. In these cases it would be a great help to store the relevant URL on the Nodes element and publish a screen of all the Nodes together with direct links to their monitor software. Designer does not have properties for this on the Nodes elements but a URL property can easily be created as a user extension. The Designer elements of cell L6 are: - Nodes URL To Monitor Software (through user extensions) PEOPLE AND ORGANIZATIONS (WHO) The question about people and organizations is very central to system development and often overlooked because it gets too little attention. By using the Zachman Framework to organize the interpersonal relationships in the Designer repository together with all the other project information, this area of interest can more easily get the focus that it requires. The Planner s View - Objectives and Scope (cell P1) The planner is interested in the enterprise s political standpoints related to employees and the management of them. The planner s information should be stored with the Application System, either as a separate text type created as a user extension or as a set of Documents with a specific Document Type property, like HUMAN RESOURCE POLICY, so they can easily be extracted. The Designer elements of cell P1 are: - Application Systems (Human Resource Policy text property) or Documents (Human Resource Policy document type) The Business Owner s View - The Enterprise People Model (cell P2) The business owner must document the Business Units of his/her business area and specify the roles involved in running the business. It is important to know the relationships and communication channels between the different Business Units and roles. Roles are not handled as a separate element type in Designer, they are stored as Business Units as well. You can use the Role Flag property to indicate that a specific Business Unit is in fact a role. This information will help the architect pinpoint problem areas and suggest reorganizations that might 18 August 2005 OracleEkspert

19 simplify the business processes of the enterprise. Therefore it is important to include all the relationships - not only the management hierarchy. Often the most important relationships do not show on the traditional organizational diagrams. Designer can organize Business Units in a hierarchy but it does not handle other types of relationships between Business Units. Again you will have to create a new association type, Business Unit Relationship, as a user extension (like I described it previously for Location Relationships). Unfortunately, Designer does not provide an organizational chart, so you will either have to draw one in another tool (which I don t like, because that means that you will have to keep two redundant sets of information synchronized manually) or build your own diagram viewer that can build an organizational chart from the Business Unit data in the Designer Repository. It is not that hard to dynamically build such a diagram in HTML. Another advantage of building the dynamic diagram viewer is that you can build it so that clicking a Business Unit will reveal a relationship diagram showing all the relationships going between the chosen Business Unit and other Business Units (and even the Locations mapped in cell L3). The Designer elements of cell P2 are: - Business Units - Sub Divisions - Business Unit Relationships The Architect s View - The Conceptual People Model (cell P3) There are two main parts to the architect s work with persons and organizations. 1) The communication channels must be analyzed to identify ineffective structures in the organizations. 2) A description of the human interaction with the system must be defined as the background for the design decisions that have to be made by the designer. As for part 1 David Hay has a good overview of how to go about it using cybernetic theory in his book Requirements Analysis From Business Views to Architecture. It contains too much material to be covered in an article like this one but I will encourage everybody to read his book which is very inspiring. Obviously, the source of such an analysis is the relationship definitions between Business Units as well as between Business Units and Locations. With the results of that analysis it is possible to define the optimal interactions between the users and the system. One way to do that is through use cases. Use cases are best know by their diagrams of stick men connected to large bubbles but the most important part of the use cases is their textual descriptions that cover all the aspects of each type of human interaction with the system. However, Designer can manage the elements of a use case. The use case actor corresponds to the low level Business Units who can be related to Business Functions using the Performing Function association. A use case corresponds to a (small) number of actors interacting with a (small) number of systems. Typically, one actor interacts with one system. To bundle these actors and Business Functions into a use case it is possible to define them as Set Members in a User Defined Set. The User Defined Set element has a Description property that can hold the textual description of the use case. If you are not using the User Defined Sets for anything else you can store use cases as described here without the need of any user extensions. If you want to be able to define other kinds of sets you will have to add a Type property to the User Defined Sets element as a user extension and set it to something like USE CASE on your use cases. As with the dynamic organization chart viewer described in cell P2 it is possible to create a simple use case viewer in HTML that will show the actors as stick men and the Business Functions as bubbles. The Designer elements of cell P3 are: - Business Units - Business Unit Relationships - Business Functions - User Defined Sets (used as use cases) The Designer s View - The Technology People Model (cell P4) The designer s interest in people is primarily to the user interactions like user interface, security etc. When using Designer you should try to place as much of the general usage requirements in locations where they automatically get generated into the application system, so that you don t have to remember them every time you make a screen or report. So, cell P4 is mainly about setting up the requirements for Preference Sets, templates, libraries and utility packages, as well as the template like display properties of Table Definitions and View Definitions. Also user interface related definitions of individual modules to match the architect s use case descriptions of their function are managed in this cell. The Designer elements of cell P4 are: - Preference Sets - Library Modules (descriptions of requirements) - PL/SQL Definitions (descriptions of requirements) - Modules (user interface properties and preferences) - Table Definitions (display properties) - View Definitions (display properties) The Builder s View - Detailed People Representation (cell P5) The builder will then have to flesh out the requirements specified by the designer by actually coding the library functions and procedures, templates, object libraries, PL/SQL packages etc. The Designer elements of cell P5 are: - Library Modules - PL/SQL Definitions The Working System People and Organizations (cell P6) All the generated or hand coded templates, libraries, packages etc can be stored in the repository for versioning as Files. The Designer elements of cell P6 are: - Files OracleEkspert August

20 TIME (WHEN) The time column has to do with events happening at specific times or with specific intervals. Events that happen at unspecified times are also handled in this column. The Planner s View - Objectives and Scope (cell T1) The planner is concerned with the general Process Events and cycles of the business, like yearly evaluation cycles, accounting or budget deadlines etc. These can be stored in Designer as Process Events. Information about the enterprise s planning horizon is also important to the project. The planner s information should be stored with the Application System, either as a separate text type created as a user extension or as a set of Documents with a specific Document Type property, like TIMING AND EVENTS, so they can easily be extracted. The Designer elements of cell T1 are: - Application Systems (Timing and Events text property) or Documents (Timing and Events document type) - Process Events The Business Owner s View - The Enterprise Time Model (cell T2) The business owner must identify the complete set of Process Events of his/her business area. It is also important to identify if the Process Event occurs as the result of a state change. What is the Entity and Attribute change that causes the Process Event? These are all data that Designer stores with the Process Event element type. It is also important to identify when Process Events are Triggering Functions. This should give you a view of what all the things are that the business must be able to react to. At the same time it tells the architect that any Business Function that is not triggered by a Process Event might very well be dispensable because nothing seems to be asking for its output. Two properties are missing from the Process Events element type to be able to fully describe state transitions: From State and To State. It is important to get an idea of reasons for each of the states and attribute can hold. Therefore it is not enough to know the Entity and the Attribute that caused the Process Event but also what was the state change? Did the Order go from Shipped to Payed or from New to Cancelled? These are very different events that tell a lot about the life history of the Entities. So the properties From State and To State should be added to the Process Events element type as user extensions. The Designer elements of cell T2 are: - Process Events - Triggering Functions The Architect s View - The Conceptual Time Model (cell T3) The architect will combine the Process Event definitions with the Entity Usages defined in cell A3 to get a picture of the life cycle of every Entity and to know how each Entity is initially created, what States it will go through during its existence and how it is deleted (or inactivated). The architect makes sure that all the necessary Business Functions have been created to implement all stages of each Entity s life cycle. Each Entity Usage should have a Comment added that describe under what conditions that entity is changed in that Business Function. With all this information in place the architect could extract a simple report describing all the State changes of each Entity looking something like this: <ENTITY NAME> Is created when: <Comment of Entity Usage where Create Flag = Y > by <Business Function Name> Is updated when: <Comment of Entity Usage where Change Flag = Y > by <Business Function Name> Changes state from: <Attribute Name> = <From State> to <To State> when <Process Event Name> Is removed when: <Comment of Entity Usage where Delete Flag = Y > by <Business Function Name> Notice that each of the statements in this report is a detail to the Entity, as Entities could be created for multiple reasons and, obviously, change between numerous States. With a little more work it is possible to create a kind of entity life history diagram dynamically from the Entity, Process Event and Entity Usage definitions in the repository. The architect will also use this information to define the essential dataflow diagrams described in cell A3. The Designer elements of cell T3 are: - Process Events - Triggering Functions - Business Functions - Entity Usages (add Comment property) The Designer s View - The Technology Time Model (cell T4) The designer uses the Entity State change information provided by the architect to design all the necessary control structures in form of Database Triggers or Table API Logic. Some of the logic will be placed in reusable PL/SQL Definitions (or Java Definitions). Domains and Valid Values are used to specify valid states of attributes. Some state changes must be designed into specific Module Application Logic if they are specific to a Business Function. The Designer elements of cell T4 are: - Table API Logic (general specification) - Database Triggers (general specification) - PL/SQL Definitions (general specification) - Java Definitions (general specification) - Module Application Logic (general specification) - Domains - Valid Values The Builder s View - Detailed Time Representation (cell T5) The builder will implement the specifications made by the designer. The Designer elements of cell T5 are: - Table API Logic - Database Triggers - PL/SQL Definitions - Java Definitions - Module Application Logic The Working System Time (cell T6) The Table API generator will create package and trig- 20 August 2005 OracleEkspert

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

Læs mere

Trolling Master Bornholm 2015

Trolling Master Bornholm 2015 Trolling Master Bornholm 2015 (English version further down) Panorama billede fra starten den første dag i 2014 Michael Koldtoft fra Trolling Centrum har brugt lidt tid på at arbejde med billederne fra

Læs mere

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com. 052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

The River Underground, Additional Work

The River Underground, Additional Work 39 (104) The River Underground, Additional Work The River Underground Crosswords Across 1 Another word for "hard to cope with", "unendurable", "insufferable" (10) 5 Another word for "think", "believe",

Læs mere

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension DK - Quick Text Translation HEYYER Net Promoter System Magento extension Version 1.0 15-11-2013 HEYYER / Email Templates Invitation Email Template Invitation Email English Dansk Title Invitation Email

Læs mere

Trolling Master Bornholm 2013

Trolling Master Bornholm 2013 Trolling Master Bornholm 2013 (English version further down) Tilmeldingerne til 2013 I dag nåede vi op på 85 tilmeldte både. Det er stadig lidt lavere end samme tidspunkt sidste år. Tilmeldingen er åben

Læs mere

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 Shooting tethered med Canon EOS-D i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 For Canon EOS-D ejere der fotograferer Shooting tethered med EOS-Utility eller

Læs mere

Trolling Master Bornholm 2013

Trolling Master Bornholm 2013 Trolling Master Bornholm 2013 (English version further down) Tilmeldingen åbner om to uger Mandag den 3. december kl. 8.00 åbner tilmeldingen til Trolling Master Bornholm 2013. Vi har flere tilmeldinger

Læs mere

QUICK START Updated: 18. Febr. 2014

QUICK START Updated: 18. Febr. 2014 QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get

Læs mere

Status på det trådløse netværk

Status på det trådløse netværk Status på det trådløse netværk Der er stadig problemer med det trådløse netværk, se status her: http://driftstatus.sdu.dk/?f=&antal=200&driftid=1671#1671 IT-service arbejder stadig med at løse problemerne

Læs mere

NICE Forum Ph.d. foreløbige eksplorative resultater. Ph.d. studerende - Claire Forder, NICE, Cphbusiness & RUC

NICE Forum Ph.d. foreløbige eksplorative resultater. Ph.d. studerende - Claire Forder, NICE, Cphbusiness & RUC NICE Forum Ph.d. foreløbige eksplorative resultater Ph.d. studerende - Claire Forder, NICE, Cphbusiness & RUC Agenda 1. Ph.d. forsknings mål 2. Foreløbige resultater Nyt for den akademiske verden Nyt (?)

Læs mere

Nyhedsmail, december 2013 (scroll down for English version)

Nyhedsmail, december 2013 (scroll down for English version) Nyhedsmail, december 2013 (scroll down for English version) Kære Omdeler Julen venter rundt om hjørnet. Og netop julen er årsagen til, at NORDJYSKE Distributions mange omdelere har ekstra travlt med at

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

how to save excel as pdf

how to save excel as pdf 1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,

Læs mere

Hvor er mine runde hjørner?

Hvor er mine runde hjørner? Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten

Læs mere

GUIDE TIL BREVSKRIVNING

GUIDE TIL BREVSKRIVNING GUIDE TIL BREVSKRIVNING APPELBREVE Formålet med at skrive et appelbrev er at få modtageren til at overholde menneskerettighederne. Det er en god idé at lægge vægt på modtagerens forpligtelser over for

Læs mere

Trolling Master Bornholm 2014

Trolling Master Bornholm 2014 Trolling Master Bornholm 2014 (English version further down) Så er ballet åbnet, 16,64 kg: Det er Kim Christiansen, som i mange år også har deltaget i TMB, der tirsdag landede denne laks. Den måler 120

Læs mere

Better driving experience guaranteed!

Better driving experience guaranteed! MAXIMUM RESPONCE Pedalbox, Dynamisk - BEDRE RESPONSE - Flere program trin MAXIMUM RESPONCE Better driving experience guaranteed! Pedalbox, Dynamisk - BEDRE RESPONSE - Flere program trin For at forbedre

Læs mere

What s Love Got to Do With It?

What s Love Got to Do With It? What s Love Got to Do With It? Gram Grid Present Continuous Vi sætter verberne i ing-form, når vi vil beskrive at noget er i gang. Der er fire hovedkategorier af ing-form: 1 Den almindelige form (common

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?

Læs mere

Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard

Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard Fortæl om Ausumgaard s historie Der er hele tiden snak om værdier, men hvad er det for nogle værdier? uddyb forklar definer

Læs mere

Trolling Master Bornholm 2016 Nyhedsbrev nr. 8

Trolling Master Bornholm 2016 Nyhedsbrev nr. 8 Trolling Master Bornholm 2016 Nyhedsbrev nr. 8 English version further down Der bliver landet fisk men ikke mange Her er det Johnny Nielsen, Søløven, fra Tejn, som i denne uge fangede 13,0 kg nord for

Læs mere

Financial Literacy among 5-7 years old children

Financial Literacy among 5-7 years old children Financial Literacy among 5-7 years old children -based on a market research survey among the parents in Denmark, Sweden, Norway, Finland, Northern Ireland and Republic of Ireland Page 1 Purpose of the

Læs mere

Vejledning til at tjekke om du har sat manuel IP på din computer.

Vejledning til at tjekke om du har sat manuel IP på din computer. Indhold Vejledning til at, komme på nettet. (DANSK)... 2 Gælder alle systemer.... 2 Vejledning til at tjekke om du har sat manuel IP på din computer.... 2 Windows 7... 2 Windows Vista... 2 Windows XP...

Læs mere

Bilag. Resume. Side 1 af 12

Bilag. Resume. Side 1 af 12 Bilag Resume I denne opgave, lægges der fokus på unge og ensomhed gennem sociale medier. Vi har i denne opgave valgt at benytte Facebook som det sociale medie vi ligger fokus på, da det er det største

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

Must I be a registered company in Denmark? That is not required. Both Danish and foreign companies can trade at Gaspoint Nordic.

Must I be a registered company in Denmark? That is not required. Both Danish and foreign companies can trade at Gaspoint Nordic. General Questions What kind of information do you need before I can start trading? Please visit our webpage www.gaspointnordic.com under the heading How to become a participant Is it possible to trade

Læs mere

Trolling Master Bornholm 2016 Nyhedsbrev nr. 7

Trolling Master Bornholm 2016 Nyhedsbrev nr. 7 Trolling Master Bornholm 2016 Nyhedsbrev nr. 7 English version further down Så var det omsider fiskevejr En af dem, der kom på vandet i en af hullerne, mellem den hårde vestenvind var Lejf K. Pedersen,

Læs mere

FORVANDLENDE FORBINDELSER: Et studie af migranters forbindelser til hjemstavnen og deres visioner for at deltage i lokal udvikling

FORVANDLENDE FORBINDELSER: Et studie af migranters forbindelser til hjemstavnen og deres visioner for at deltage i lokal udvikling FORVANDLENDE FORBINDELSER: Et studie af migranters forbindelser til hjemstavnen og deres visioner for at deltage i lokal udvikling Ditte Brøgger PhD studerende / Geografi Agergaard, J. and Brøgger, D.

Læs mere

Get Instant Access to ebook Udleveret PDF at Our Huge Library UDLEVERET PDF. ==> Download: UDLEVERET PDF

Get Instant Access to ebook Udleveret PDF at Our Huge Library UDLEVERET PDF. ==> Download: UDLEVERET PDF UDLEVERET PDF ==> Download: UDLEVERET PDF UDLEVERET PDF - Are you searching for Udleveret Books? Now, you will be happy that at this time Udleveret PDF is available at our online library. With our complete

Læs mere

SAS Corporate Program Website

SAS Corporate Program Website SAS Corporate Program Website Dear user We have developed SAS Corporate Program Website to make the administration of your company's travel activities easier. You can read about it in this booklet, which

Læs mere

Trolling Master Bornholm 2013

Trolling Master Bornholm 2013 Trolling Master Bornholm 2013 (English version further down) Tilmeldingerne til 2013 I dag nåede vi op på 77 tilmeldte både. Det er lidt lavere end samme tidspunkt sidste år. Til gengæld er det glædeligt,

Læs mere

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 English version further down Den første dag i Bornholmerlaks konkurrencen Formanden for Bornholms Trollingklub, Anders Schou Jensen (og meddomer i TMB) fik

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Trolling Master Bornholm 2015

Trolling Master Bornholm 2015 Trolling Master Bornholm 2015 (English version further down) Sæsonen er ved at komme i omdrejninger. Her er det John Eriksen fra Nexø med 95 cm og en kontrolleret vægt på 11,8 kg fanget på østkysten af

Læs mere

Eksempel på eksamensspørgsmål til caseeksamen

Eksempel på eksamensspørgsmål til caseeksamen Eksempel på eksamensspørgsmål til caseeksamen Engelsk niveau E, TIVOLI 2004/2005: in a British traveller s magazine. Make an advertisement presenting Tivoli as an amusement park. In your advertisement,

Læs mere

Nyhedsmail, november 2013 (scroll down for English version)

Nyhedsmail, november 2013 (scroll down for English version) Nyhedsmail, november 2013 (scroll down for English version) Kære Omdeler Uret er stillet til vintertid, og antallet af lyse timer i døgnet er fortsat faldende. Vintermørket er kort sagt over os, og det

Læs mere

Chameleon, Additional Work

Chameleon, Additional Work 44 (104) Chameleon, Additional Work Chameleon Crosswords Across 1 The facial expression of sudden pain (5) 4 When something is too small to be useful or important (e.g wages) (6) 6 Another word for "unfaithfulness"

Læs mere

IPTV Box (MAG250/254) Bruger Manual

IPTV Box (MAG250/254) Bruger Manual IPTV Box (MAG250/254) Bruger Manual Når din STB (Set top Box) starter op, bliver der vist en pop up boks på skærmen, hvor du kan åbne EPG ved at trykke på F2 (Nogle bokse kan fortælle at den har brug for

Læs mere

From innovation to market

From innovation to market Nupark Accelerace From innovation to market Public money Accelerace VC Private Equity Stock market Available capital BA 2 What is Nupark Accelerace Hands-on investment and business developmentprograms

Læs mere

1 s01 - Jeg har generelt været tilfreds med praktikopholdet

1 s01 - Jeg har generelt været tilfreds med praktikopholdet Praktikevaluering Studerende (Internship evaluation Student) Husk at trykke "Send (Submit)" nederst (Remember to click "Send (Submit)" below - The questions are translated into English below each of the

Læs mere

Åbenrå Orienteringsklub

Åbenrå Orienteringsklub Åbenrå Orienteringsklub Velkommen til det ægte orienteringsløb på Blå Sommer 2009 Din gruppe har tilmeldt spejdere til at deltage i det ægte orienteringsløb på Blå Sommer 2009. Orienteringsløbet gennemføres

Læs mere

- man sov tæt på belægningsstuerne

- man sov tæt på belægningsstuerne Præsenteret af: - man sov tæt på belægningsstuerne I belægningsstuen var der plads til 26 soldater: 24 menige soldater i dobbeltmands køjesenge og to befalingsmænd i enkeltmands køjesenge. Der var plads

Læs mere

Digte Vinter 2006 af Tina Rye Hansen. Just a spoonful of sugar, makes the medicine go down

Digte Vinter 2006 af Tina Rye Hansen. Just a spoonful of sugar, makes the medicine go down Digte Vinter 2006 af Tina Rye Hansen Just a spoonful of sugar, makes the medicine go down... 1 Tvangsmedicineringens lange arm... 1 For the sake of being someone... 2 Steps away... 3 Tell me... 4 Darkness

Læs mere

Vejledning til brugen af bybrandet

Vejledning til brugen af bybrandet Vejledning til brugen af bybrandet Indhold Hvorfor bruge bybrandet? s. 3-4 Inspiration/ big idea s. 5-10 Syv former for bybranding s. 11-18 Brug af logoet s. 19-21 Find desuden flere cases, designelementer

Læs mere

Blomsten er rød (af Harry Chapin, oversat af Niels Hausgaard)

Blomsten er rød (af Harry Chapin, oversat af Niels Hausgaard) Blomsten er rød (af Harry Chapin, oversat af Niels Hausgaard) På den allerførste skoledag fik de farver og papir. Den lille dreng farved arket fuldt. Han ku bare ik la vær. Og lærerinden sagde: Hvad er

Læs mere

Minikursus i C-programmering

Minikursus i C-programmering Thomas Bøgholm Martin Toft {boegholm,mt}@cs.aau.dk Ph.d.-studerende Distribuerede og Indlejrede Systemer Institut for Datalogi Aalborg Universitet 29. marts 2010 Program 12:30 12:40 Velkommen 12:40 13:10

Læs mere

My Opinion about.. The military TVMV, Denmark

My Opinion about.. The military TVMV, Denmark My Opinion about.. Presenter: What are the young people in Denmark thinking of the military. Here are some opinions: Names of participants are written in translation Camera: Editing: Sound: Duration: 2

Læs mere

Brug af logbog i undervisning. Karen Lauterbach Center for Afrikastudier Adjunktpædagogikum 19. Juni 2013

Brug af logbog i undervisning. Karen Lauterbach Center for Afrikastudier Adjunktpædagogikum 19. Juni 2013 Brug af logbog i undervisning Karen Lauterbach Center for Afrikastudier Adjunktpædagogikum 19. Juni 2013 Motivation og projektidé Modsætning mellem undervisningsideal (deltagende og reflekterende studerende

Læs mere

Engelsk G Opgaveark. Maj 2011. Dato Prøveafholdende institution Tilsynsførende

Engelsk G Opgaveark. Maj 2011. Dato Prøveafholdende institution Tilsynsførende Engelsk G Opgaveark Maj 2011 Eksaminandens navn Nummer Dato Prøveafholdende institution Tilsynsførende Jeg bekræfter herved med min underskrift, at opgavebesvarelsen er udarbejdet af mig. Jeg har ikke

Læs mere

Part 5 Leisure Time and Transport

Part 5 Leisure Time and Transport Part 5 Leisure Time and Transport Lesson 3 Situation and Listen & Practice Situation Line and Louise are colleagues. They meet at a café before work. Line is late because h bike had a puncture on the way.

Læs mere

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering Backup Applikation Microsoft Dynamics C5 Version 2008 Sikkerhedskopiering Indhold Sikkerhedskopiering... 3 Hvad bliver sikkerhedskopieret... 3 Microsoft Dynamics C5 Native database... 3 Microsoft SQL Server

Læs mere

Trolling Master Bornholm 2013

Trolling Master Bornholm 2013 Trolling Master Bornholm 2013 (English version further down) Trolling Master Bornholm 2013 Dommerkomiteen har i dag holdt møde og evalueret jeres tilbagemeldinger, og det betyder nogle ændringer af arrangementet

Læs mere

Design til digitale kommunikationsplatforme-f2013

Design til digitale kommunikationsplatforme-f2013 E-travellbook Design til digitale kommunikationsplatforme-f2013 ITU 22.05.2013 Dreamers Lana Grunwald - svetlana.grunwald@gmail.com Iya Murash-Millo - iyam@itu.dk Hiwa Mansurbeg - hiwm@itu.dk Jørgen K.

Læs mere

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA

Læs mere

Implementering af evidensbaseret viden lederskab som bærende faktor

Implementering af evidensbaseret viden lederskab som bærende faktor Implementering af evidensbaseret viden lederskab som bærende faktor Bianca Albers Familie og Evidens Center Fokus for oplægget Evidens Ledelse Implementering Outcome Evidensbaseret vs. evidensinformeret

Læs mere

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR ITSO SERVICE OFFICE Weeks for Sale 31/05/2015 m: +34 636 277 307 w: clublasanta-timeshare.com e: roger@clublasanta.com See colour key sheet news: rogercls.blogspot.com Subject to terms and conditions THURSDAY

Læs mere

BLADE by Tim Bowler. Statements from the book. Statements Who? Context and meaning

BLADE by Tim Bowler. Statements from the book. Statements Who? Context and meaning BLDE by Tim Bowler Statements from the book ns du læser bogen Playing dead af Tim Bowler, skal du - når du finder nedenstående statements i teksten - notere i skemaet med hensyn til hvem der siger det,

Læs mere

Information Systems ICT. Welcome to. Autumn Meeting Oct 2013, Copenhagen(DK)

Information Systems ICT. Welcome to. Autumn Meeting Oct 2013, Copenhagen(DK) Information Systems ICT Welcome to Autumn Meeting Oct 2013, Copenhagen(DK) Agenda Autumn Meeting 2013 Thursday 24:th of October 10:00 Velkomst. Status fra formanden og gennemgang af program for høstmødet

Læs mere

Forskning i socialpædagogik socialpædagogisk forskning?

Forskning i socialpædagogik socialpædagogisk forskning? Forskning i socialpædagogik socialpædagogisk forskning? eller knudramian.pbwiki.com www.regionmidtjylland.dkc Indhold Professionsforskning til problemløsning eller som slagvåben? Hvad er forskning? Hvad

Læs mere

Den røde tråd fra testdækning til releasemetrikker

Den røde tråd fra testdækning til releasemetrikker Den røde tråd fra testdækning til releasemetrikker The art of developing software cheaper, in good quality and at schedule Software-Pro Agenda Den røde tråd fra testdækning til releasemetrikker Mange har

Læs mere

Dårlig litteratur sælger - Trykkekultur i 1800-tallets Storbritannien og idag. Maria Damkjær Post.doc. i Engelsk Litteratur

Dårlig litteratur sælger - Trykkekultur i 1800-tallets Storbritannien og idag. Maria Damkjær Post.doc. i Engelsk Litteratur Dårlig litteratur sælger - Trykkekultur i 1800-tallets Storbritannien og idag Maria Damkjær Post.doc. i Engelsk Litteratur Horace Engdahl i interview i Politiken Bøger, 7. december 2014: [Hos os i Norden]

Læs mere

Design forslag. Company logo Lind furniture. Version 1

Design forslag. Company logo Lind furniture. Version 1 Design forslag Company logo Lind Version 1 Choose better for good 2005 Good Services Danish Design Good Services Good Service: Service is all about advising, handling orders, delivering and following-up.

Læs mere

Informations- og datamodellering

Informations- og datamodellering Informations- og datamodellering Lær at analysere og dokumentere din organisations forretningsbegreber, interesseområder og data på en konsistent måde der er nem at kommunikere med ledere, designere, udviklere

Læs mere

MultiProgrammer Manual

MultiProgrammer Manual MultiProgrammer Manual MultiProgrammeren bruges til at læse og skrive værdier til ModBus register i LS Controls frekvensomformer E 1045. Dansk Version side 2 til 4 The MultiProgrammer is used for the writing

Læs mere

JEG GL DER MIG I DENNE TID PDF

JEG GL DER MIG I DENNE TID PDF JEG GL DER MIG I DENNE TID PDF ==> Download: JEG GL DER MIG I DENNE TID PDF JEG GL DER MIG I DENNE TID PDF - Are you searching for Jeg Gl Der Mig I Denne Tid Books? Now, you will be happy that at this

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

http://www.youtube.com/watch?v=fr1ru4sm2l8&feature=related

http://www.youtube.com/watch?v=fr1ru4sm2l8&feature=related Digtforløb Jeg plejer at lave et digtforløb i 7. klasse, hvor eleverne møder forskellige typer af digte som oplæg til egne digterier. Som afslutning på emnet skal de vælge et af deres digte og fremstille

Læs mere

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 English version further down Fremragende vejr og laks hele vejen rundt om øen Weekendens fremragende vejr (se selv de bare arme) lokkede mange bornholmske

Læs mere

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF) Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Framework (TOGAF) Otto Madsen Director of Enterprise Agenda TOGAF og informationsarkitektur på 30 min 1. Introduktion

Læs mere

www.cfufilmogtv.dk Tema: Pets Fag: Engelsk Målgruppe: 4. klasse Titel: Me and my pet Vejledning Lærer

www.cfufilmogtv.dk Tema: Pets Fag: Engelsk Målgruppe: 4. klasse Titel: Me and my pet Vejledning Lærer Me and my pet My dogs SVTV2, 2011, 5 min. Tekstet på engelsk Me and my pet er en svenskproduceret undervisningsserie til engelsk for børn i 4. klasse, som foregår på engelsk, i engelsktalende lande og

Læs mere

Morten Juul Nielsen Produktchef Microsoft Danmark

Morten Juul Nielsen Produktchef Microsoft Danmark Morten Juul Nielsen Produktchef Microsoft Danmark Er du, din organisation og dit datacenter klar til Skyen? Dynamisk Datacenter & Cloud Computing System Center Suiten med fokus på Service Manager Next

Læs mere

Rødsand laboratoriet et samarbejde mellem KU, Femern & DHI

Rødsand laboratoriet et samarbejde mellem KU, Femern & DHI Rødsand laboratoriet et samarbejde mellem KU, Femern & DHI Ulrik Lumborg DHI Rødsand laboratoriet I 2012 var det erkendt at Rødsand lagune ville være et fokusområde i forbindelse med etableringen af Femernforbindelsen

Læs mere

Dato: 24. oktober 2013 Side 1 af 7. Teknologisk singularitet. 24. oktober 2013

Dato: 24. oktober 2013 Side 1 af 7. Teknologisk singularitet. 24. oktober 2013 Side 1 af 7 Teknologisk singularitet 24. oktober 2013 Side 2 af 7 Begreberne teknologisk singularitet og accelereret udvikling dukker ofte op i transhumanistiske sammenhænge, idet de beskriver en udvikling,

Læs mere

Engelsk B. Højere teknisk eksamen. 1. delprøve - uden hjælpemidler. kl. 9.00-14.00

Engelsk B. Højere teknisk eksamen. 1. delprøve - uden hjælpemidler. kl. 9.00-14.00 Engelsk B Højere teknisk eksamen 1. delprøve - uden hjælpemidler kl.9.00-10.00 htx111-eng/b-30052011 Mandag den 30. maj 2011 kl. 9.00-14.00 Side 1 af 7 sider Nedenstående rubrikker udfyldes. Efter prøven

Læs mere

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål Agenda Muligheder for anvendelse Komponenter Features Restore muligheder DR og TSM integration Repository Demo Spørgsmål Muligheder for anvendelse Data Center dmsave/lokal TSM Remote Office Application

Læs mere

Engelsk G Opgaveark. Maj 2015. Dato Prøveafholdende institution Tilsynsførende

Engelsk G Opgaveark. Maj 2015. Dato Prøveafholdende institution Tilsynsførende Engelsk G Opgaveark Maj 2015 Eksaminandens navn Nummer Dato Prøveafholdende institution Tilsynsførende Jeg bekræfter herved med min underskrift, at opgavebesvarelsen er udarbejdet af mig. Jeg har ikke

Læs mere

Projektledelse i praksis

Projektledelse i praksis Projektledelse i praksis - Hvordan skaber man (grundlaget) for gode beslutninger? Martin Malis Business Consulting, NNIT mtmi@nnit.com 20. maj, 2010 Agenda Project Governance Portfolio Management Project

Læs mere

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere

Læs mere

Navn: Jonas Pedersen, Michael Jokil, Christine Johnsen. Lærer: Grete Holm, Karl Bjarnason, Arne Wamsler og Birgitte Madsen

Navn: Jonas Pedersen, Michael Jokil, Christine Johnsen. Lærer: Grete Holm, Karl Bjarnason, Arne Wamsler og Birgitte Madsen Navn: Jonas Pedersen, Michael Jokil, Christine Johnsen Lærer: Grete Holm, Karl Bjarnason, Arne Wamsler og Birgitte Madsen Roskilde tekniske gymnasium Klasse 2.4 Fag: Dansk, informations teknologi, teknologi

Læs mere

Witt Hvidevarer A/S. Kontorchef Camilla Hesselby. 2. maj 2011

Witt Hvidevarer A/S. Kontorchef Camilla Hesselby. 2. maj 2011 Witt Hvidevarer A/S Kontorchef Camilla Hesselby 2. maj 2011 Witt Hvidevarer A/S Witt: Import/distribution af hårde hvidevarer, støvsugere, herunder robot-støvsugere og robotgulvvaskere, og små el-apparater.

Læs mere

Velkommen. Backup & Snapshot v. Jørgen Weinreich / Arrow ECS Technical Specialist

Velkommen. Backup & Snapshot v. Jørgen Weinreich / Arrow ECS Technical Specialist Velkommen Backup & Snapshot v. Jørgen Weinreich / Arrow ECS Technical Specialist 1 Agenda Fra backup til restore produkt Politikstyret Backup Live Demo 2 IBM XIV Snapshots - Næsten uden begrænsninger Snapshot

Læs mere

KLAR TIL NYE MULIGHEDER

KLAR TIL NYE MULIGHEDER KLAR TIL NYE MULIGHEDER Dagens program Klar til nye muligheder 24. november 2014 Råhavegaard Maribovej 9, 4960 Holeby. 8:30 09:00 Kaffe og registrering på Råhavegaard 09:00 11:00 Rundvisning på byggepladserne

Læs mere

The EAL Jobportal. How to get started

The EAL Jobportal. How to get started The EAL Jobportal How to get started Be prepared Before you start You need to know the ID of your Uni login (WAYF login) You need a browser like Firefox, Safari, Google Chrome (or IE 9 or higher) You need

Læs mere

Trolling Master Bornholm 2013

Trolling Master Bornholm 2013 Trolling Master Bornholm 2013 (English version further down) Trolling Master Bornholm 2013 Husk at tjekke jeres reservationer! Vi ved, at der er nogen, som har lavet reservationer af overnatning, og at

Læs mere

Totally Integrated Automation. Totally Integrated Automation sætter standarden for produktivitet.

Totally Integrated Automation. Totally Integrated Automation sætter standarden for produktivitet. Totally Integrated Automation Totally Integrated Automation sætter standarden for produktivitet. Bæredygtighed sikrer konkurrenceevnen på markedet og udnytter potentialerne optimalt. Totally Integrated

Læs mere

GIVE IT. SOME ENGlISH1. Hedwig

GIVE IT. SOME ENGlISH1. Hedwig Doth Ernst Jacobsen og Henriette BETH Brigham GIVE IT SOME ENGlISH1 Hedwig Give It Some English I 2014 Doth Ernst Jacobsen og Henriette Beth Brigham og Forlaget Hedwig Sat med Calibri og Futura Grafisk

Læs mere

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0 Userguide NN Markedsdata for Microsoft Dynamics CRM 2011 v. 1.0 NN Markedsdata www. Introduction Navne & Numre Web Services for Microsoft Dynamics CRM hereafter termed NN-DynCRM enable integration to Microsoft

Læs mere

Nye trends indenfor human factors

Nye trends indenfor human factors Nye trends indenfor human factors Søren Bøge Pedersen, Arbejdsmiljøkonsulent Søfartens Arbejdsmiljøråd Skibsteknisk Selskab mandag 17. september 2012 Human Factors Kilde: Det handler om mennesker Alle

Læs mere

Søsterhotellerne i Fredericia

Søsterhotellerne i Fredericia Hotellet ved lillebælt Søsterhotellerne i Fredericia Tel. +45 7592 1855 www.postgaarden.dk Hotellet i city Vi hygger om vore gæster We always spoil our guests På Hotel Postgaarden og Hotel Medio sørger

Læs mere

Drømmer du om en karriere i USA?

Drømmer du om en karriere i USA? Drømmer du om en karriere i USA? Pernille Wichmann Christensen, Formand, DJØF New York DJØF København, torsdag den 5. maj, 2011 OVERSIGT Pernilles vej til USA - Den personlige historie Adgang til USA?

Læs mere

Model Zenith Design Jens Juul Eilersen

Model Zenith Design Jens Juul Eilersen 84 x 100 cm 180 x 100 cm 240 x 100 / 110 cm 84 x 100 cm 180 x 100 cm 240 x 100 cm 240 x 110 cm English: Zenith is a fusion of our loungers and the classic box sofa. A two-in-one model where you get the

Læs mere

Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016

Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016 Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016 Vi er nødsaget til at få adgang til din lejlighed!! Hvis Kridahl (VVS firma) har bedt om adgang til din/jeres lejlighed og nøgler,

Læs mere

Billede & Ord 3 Tre måder at sammensætte billeder og ord på in meaningful ways. Ribergård & Munk communication design Marts 2012

Billede & Ord 3 Tre måder at sammensætte billeder og ord på in meaningful ways. Ribergård & Munk communication design Marts 2012 Billede & Ord 3 Tre måder at sammensætte billeder og ord på in meaningful ways Ribergård & Munk communication design Marts 2012 TEXT VISUAL TEXT VISUAL TEXT VISUAL TEXT TEXT VISUAL VISUAL

Læs mere

Engelsk G Opgaveark. Maj 2014. Dato Prøveafholdende institution Tilsynsførende

Engelsk G Opgaveark. Maj 2014. Dato Prøveafholdende institution Tilsynsførende Engelsk G Opgaveark Maj 2014 Eksaminandens navn Nummer Dato Prøveafholdende institution Tilsynsførende Jeg bekræfter herved med min underskrift, at opgavebesvarelsen er udarbejdet af mig. Jeg har ikke

Læs mere

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll Microsoft Dynamics C5 version 2012 Service Pack 01 Hot fix 001 4.4.01.001 Fix list - Payroll CONTENTS Introduction... 3 Payroll... 3 Corrected elements in version 4.4.01.001... 4 Microsoft Dynamics C5

Læs mere

VPN VEJLEDNING TIL MAC

VPN VEJLEDNING TIL MAC VPN VEJLEDNING TIL MAC MAC OS X 1 VPN VEJLEDNING TIL MAC Formålet med en VPN forbindelse er, at du kan tilgå nogle af Aarhus Universitets services hjemmefra, som ellers kun er tilgængelige, når du er på

Læs mere

Teknologi & Uddannelse

Teknologi & Uddannelse Teknologi & Uddannelse ~Access determinisme? Samspillet mellem teknologi og samfund We don't need no school...experience strongly suggests that an incremental increase of more of the same building schools,

Læs mere