#30 ORACLE. LIVE 23 Kursus: Avanceret Systemanalyse Dato: 7. juni 2005 ODTUG Konferencen 2005 Dato: 18. juni 2005 DesWeb SIG - Modelbaseret udvikling:

Størrelse: px
Starte visningen fra side:

Download "#30 ORACLE. LIVE 23 Kursus: Avanceret Systemanalyse Dato: 7. juni 2005 ODTUG Konferencen 2005 Dato: 18. juni 2005 DesWeb SIG - Modelbaseret udvikling:"

Transkript

1 Juni 2005 Nr 30, Årgang 6 ISSN Pris: kr. 300,00 ex moms LIVE 23 Kursus: Avanceret Systemanalyse Dato: 7. juni 2005 ODTUG Konferencen 2005 Dato: 18. juni 2005 DesWeb SIG - Modelbaseret udvikling: WebServices Dato: 17. august 2005 OracleEkspert-konferencen 2005 Dato: 31. august 2005 Oracle Open World 2005 Dato: 17. september 2005 NYHEDER 11 * Oracle betaler USD 8 mill for at stoppe retsag * Salgschef Steen Knudsen Fyret fra Oracle * Oracle vil udkonkurrere SAP * Hackerangreb på Oracle-installationer * Rygter om at Oracle vil opkøbe Siebel * SAP er åben for fusion med Oracle * Oracle køber Oblix ORACLE ekspert 2005 Den 31. august Pris: kr i abonnentrabat - Vind en HP Server! - Læs mere på bagsiden. #30 Questioning Solutions Since 2OOO O UTSOURCING TUR-RETUR 2 Af Marc de Oliveira GENERIC PROGRAMMING IN ORACLE FORMS4 Af Rune Mørk As JDeveloper finally seems to be taking off, now is even more the time to brush up your Oracle Forms skills, as Oracle says in its SOD of June 2004: forms is here to stay. S PØRGEJØRGEN ET 10 Af Mogens Nørgaard CODE GENERATION STRAIGHT FROM YOUR OBJECT- ORIENTED MODELS! 12 Af Linda Holm H VORDAN MAN OVERLEVER SOM PL/SQL PROGRAMMØR 14 Af Sten Vesterli Som PL/SQL-programmør kan man godt føle sig som en truet dyreart. Denne artikel viser, hvordan PL/SQL stadig passer ind i det moderne IT-landskab. MENINGSMÅLINGEN 17 Det er fornuftigt at forlænge sin supportaftale med Oracle NØRGAARD S NEWS 18 FITTING DESIGNER I NTO THE ZACHMAN FRAMEWORK - PART 1 19 Af Marc de Oliveira MENINGSMÅLINGEN - ER DU ENIG? Objektorienteret udvikling er bedre end struktureret udvikling Stem på - Du kan vinde en ipod Shuffle Sponsor søges

2 LEDER Af Marc de Oliveira OUTSOURCING T UR-RETUR Så begyndte meldingerne, som mange måske allerede havde forudset, at komme: Helt op omkring tre fjerdedele af alle IT-selskaber, som har outsource et opgaver, har ikke opnået de forventede fordele og de fleste ender med at trække opgaverne tilbage. Det hævdes endda at det går dårligt for 80% af dem, som flytter kundeservice til udlandet. Hvad der for nogle år siden virkede som en oplagt fordel i forretningsledelseskredse, viser sig nu ikke at være den silver bullet, som man regnede med. Alt for ofte har man outsource et uden tilstrækkelig viden om forholdene og uden tilstrækkelig planlægning. Jeg har kun personligt kendskab til meget få outsourcing-initiativer, som har været en success. Problemerne skyldes ofte kulturforskelle, kommunikationsproblemer og på det seneste er sikkerhed også blevet et problemområde i forhold til outsourcing. Hvis man vil have garantier for at data ikke bliver misbrugt af hosting-selskaberne, begrænser man udvalget af anvendelige leverandører væsentlig, og dermed formindskes besparrelsesmulighederne også tilsvarende. Kulturforskelle og kommunikationsproblemer er selvfølgelig oplagte problemområder, men i forhold til outsourcing stikker problemet endnu dybere end blot sprog, dokumentation og overvågning. Holdningen om at medarbejdere er simple brikker, som nemt skal kunne erstattes af hensyn til stabiliteten i virksomheden, er baggrunden for at kunne flytte opgaverne ud af virksomheden til en anden virksomhed i samme land eller i et fremmed land. Men ved at reducere hver medarbejder til en sådan brik, som virksomheden ikke må være afhængig af er fordyrende i sig selv. Selv om det giver ledelsen en følelse af trykhed, så virker det demoraliserende på medarbejderne, at virksomheden ikke anerkender deres individuelle styrker. Inden for softwareudvikling er den menneskelige faktor den vigtigste. Meget vigtigere end hvilke værktøjer, metoder eller platforme man arbejder med. CMM (Capability Maturity Model) forsøger netop at skabe en samlebåndsholdning til medarbejderne ved at beskrive alle processer på et niveau, der skal gøre det muligt at udskifte medarbejdere på en nem måde. Prisen er at man kun opnår en laveste fællesnævner -agtig indsats fra medarbejderne, mens det af nogen påstås at effektivitetsforskellen på de bedste og de dårligste udviklere kan måles til en faktor 28. På en typisk IT-arbejdsplads er det helt normalt med effektivitetsforskelle på 1:5. Denne viden er i skarp kontrast til den typiske holdning om at opgaver kan flyttes rundt, og at hvem som helst kan løse en hvilken som helst opgave lige effektivt, bare man følger proceduren. Denne pointe er uafhængig af at hosting-selskaberne sagtens kan have meget dygtige medarbejdere. Pointen er at ved at reducere medarbejderne (både i hovedselskabet og i hosting-selskabet) til udskiftelige brikker, der er pålagt faste processer, mister man adgangen til potentialet i den menneskelige ressource. Det spiller dermed ikke længere megen rolle om medarbejderen er i klasse 1 eller 28. Dette gælder selvfølgelig i højere grad jo mere opgaverne kræver kreative evner. Konklussionen er således ikke at al outsourcing er dårlig forretning. Men problemer med sikkerhed, besværlig overvågning af samarbejdet og ineffektiv udnyttelse af medarbejdere gør at outsourcing bestemt ikke altid er en god ide. Det kræver at de outsource ede opgaver egner sig til meget veldefinerede løsninger. Det kan feks være tilfældet i visse porteringsopgaver, hvor kode skal flyttes fra een platform til en anden efter en veldefineret process. Man kunne i stedet vende problemet om og begynde at styrke sine medarbejdere for derved at udnytte den overkapasitet, som man har undertrykt via stramme procedurer. De mest effektive udviklere bliver feks ikke en gang lønnet dobbelt så højt som de udviklere, der kun leverer en femtedel, så de er jo i princippet ekstremt billige. Selv om alle er enige om at mennesker er vigtigere end værktøjer, teknikker, processer osv, så er der mange steder man fortsat leder som om det forholder sig omvendt. Grunden er selvfølgelig at det er sværere at forholde sig til mennesker end til processer. Derfor fokuserer man på de opgaver man nemt kan løse, selv om potentialet er meget større, hvis man i stedet arbejdede med de mere komplekse problemer. Oplag: kopier Udgives af: pythia Information Kongensvej Frederiksberg Danmark Telefon: Fax: Info@OracleEkspert.dk Web: Ansvarshavende redaktør: marc de Oliveira Marc@OracleEkspert.dk SpørgeJørgen et mogens Nørgaard Mogens@OracleEkspert.dk Bentes Bamsers Bøger: Bente Rosenkrantz-Theil Bente@OracleEkspert.dk 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: Caroline

3

4 TEKNISK ARTIKEL Af Rune Mørk GENERIC PROGRAMMING IN ORACLE F ORMS INTRODUCTION As JDeveloper finally seems to be taking off, now is even more the time to brush up your Oracle Forms skills, as Oracle says in its SOD of June 2004: Forms is here to stay. As a Forms developer you need to be able to compete with JDeveloper, if you are not yet keen on taking on Java skills, and this means that Oracle Forms has to be able to offer more than just a productive environment. Oracle Forms offers object-like capability and the possibility to create reusable code, code that is independent of the context it is going to used in. Sadly this possibility is more than often bypassed in the need for development speed. Therefore in this article I will show how you can utilize Forms object-like capabilities, to create truely reusable code. In order to utilize these methods you need to learn about object libraries, plsql libraries, the get and set build-ins as well as name-in and copy build-ins. DEFINITION ON GENERICALLY Programmers in the Java environment often talk about doing things the right way and that other programmers will look at you with contempt when not programming in the true Object Oriented way. In the Forms environment, the tendency is not the same, only in the rare cases where development guidelines have been produced, reuse of code has been seen, but I ve seen consultancy companies carefully equipping their consultants with a pre prepared package of predefined objects and code to give development a quick start. Having myself recently embarked on the Java transition path I ve seen many good things in Java, methodology wise that Forms and pl/sql could benefit from, including the concept of doing the programming the right way, and the inter community mechanism which is governing the standard of the code produced. If Forms and plsql development could amend and accept these non-formal guidelines, development of code would, in the longer term, be faster, and maintaining code and Forms would be easier. There is a few other reasons for embarking on the reusable coding path, one of them is the commonality of the code, writing truly reusable code will mean that the structure and way of coding would be more uniform, things has to be done the right way. Another bi-product is the possibility of creating Forms with the same look and feel. METHODS IN USE Rune is currently working as a senior developer at NNE A/S, a company specializing in delivering pharmaceutical plants in no time. Rune can be reached at runm@nne.dk. In order to be able to reuse your code the development environment needs to be considered carefully, besides that there is a number of technologies you need to master. Therefore I will go through the programming techniques needed, and end up in presenting how such a development environment should be configured. The techniques described here are the following: - Specific coding techniques, by using name_in and copy. - Knowing the Forms objects and its associated get and set options. - System variables - Object libraries - Subclassing I will describe and exemplify each of these concepts in a simple manner before showing an example in a production environment. NAME_IN AND COPY Name in and copy offers unique opportunity to program without referring directly to Forms items. The function Name_in, see syntax in figure 1, returns the evaluation of en expression in its argument. FUNCTION NAME_IN(variable_name VARCHAR2) return VARCHAR2; Figure 1 Name_in syntax For instance referring to items in a specific block see code in figure 2 v_x := name_in('odtug_master.' :system.current_item); Figure 2 Getting the value of a specific item The procedure copy moves the content from source to destination, see syntax in figure 3. PROCEDURE COPY (source destination VARCHAR2, VARCHAR2); Figure 3 Copy syntax For instance, copying data from one variable to a Forms field, as shown in figure 4. COPY(v_data, 'odtug_master.d' i); Figure 4 Usage of copy These build-ins are very useful when writing code, where you programmatically are referring fields in the form dynamically. I ve used these build-ins for screen where I was bypassing a master detail relationship that did exist but it was blocking for creation of a user friendly interface. Consider the data model shown in figure 5, which could symbolize a model of a master and an occurrence during time, e.g. trains on a specific day, seat in a row in a stadium etc, in both examples we know the number of occurrences of the detail in respect to each master. Now in traditional sense you would create a master detail relationship form where you would have to navigate from one detail to another in the traditional way, doing so will result in a form looking more or less like the one in figure 6. When utilizing name_in and copy you can get a layout like the one presented in figure 7. 4 juni 2005 OracleEkspert

5 Figure 7 Enhanced layout declare v_data char; begin for i in loop select Y_N into v_data from odtug_detail where p_id = :odtug_master.p_id and day = i; copy(v_data, 'odtug_master.d' i); end loop; end; Figure 8 Post_query Figure 5 Data model In order to create these Forms we had to create generalised code for 2 triggers, the post_query and a block level when validate trigger, see the code for these in figure 8 and 9. declare v_x number; v_v varchar2(2); begin if :System.Mode = 'NORMAL' then if substr(:system.current_item,1,1) = 'D' then v_x := name_in('odtug_master.' :system.current_item); v_v := substr(:system.current_item,2,2); update ODTUG_DETAIL set Y_N = v_x where p_id = :odtug_master.p_id and day = v_v; set_record_property(:system.cursor_record, :system.cursor_block, status, changed_status); end if; end if; end; Figure 9 When-validate-item The screenshot in figure 10 is an example from a real form of how name_in and copy has been utilized. Here a postquery and a when validate item trigger has been created, to maintain data, much more elaborated examples can also be created. GET AND SET Figure 6 Normal layout The get and set build-ins are programmatically ways to alter or get a Forms- object s properties. Consult the table in figure 11 to see what objects has get and set mechanisms attached to them. It will prove way too difficult to explain all the properties that can be read and altered. What you should focus on is how to utilise them to alter behaviour and appearance whenever programming. It is crucial when you create reusable code that you master most of these build-ins. An example of how to utilize the get and set option is by coding generic alerts as shown in figure 12. OracleEkspert Juni

6 Figure 10 A real world example Object Get-able Set-able Comment Alert Yes Setting info regarding alerts, there is no way of getting the info Application Yes Yes Getting info regarding how this is set in the session, some of these properties can only be set programmatically Block Yes Yes Canvas Yes Yes Form Yes Record groups Yes Yes Item Yes Yes For all items in multi row block Item_instance Yes Yes Single item instance List box Yes List of values Yes Yes Menu Yes Yes Message Yes Getting the current value of the message line (sic!) Parameters Yes Yes Radio buttons Yes Yes Record Yes Relations Yes Yes Getting or setting relation properties, you probably do not want to set these. Tab_page Yes Yes Timer Visual attributes Yes Yes Yes View Yes Yes Window Yes Yes Figure 11 Get-able and set-able options 6 juni 2005 OracleEkspert

7 Function manage_alert( p_title in varchar2, p_text in varchar2, p_button1 in varchar2, p_button2 in varchar2 default null, p_button3 in varchar2 default null) return number IS v_alert alert; v_return number; -- assuming at least one button v_alert_name varchar2(10) := 'ALERTB1' ; BEGIN if p_button3 is not null then -- this is an alert with 3 buttons v_alert_name := 'ALERTB3'; elsif p_button2 is not null then -- this is an alert with 2 buttons v_alert_name := 'ALERTB2'; end if; v_alert := find_alert(v_alert_name); set_alert_property(v_alert, title, p_title); set_alert_property(v_alert, alert_message_text,p_text); set_alert_button_property(v_alert, Alert_button1, label, p_button1); set_alert_button_property(v_alert, Alert_button2, label, p_button2); set_alert_button_property(v_alert, Alert_button3, label, p_button3); v_return := show_alert(v_alert); RETURN V_RETURN; END; Figure 12 Generic alerts So now you can access this alert by the code shown in figure 13, and in the future you do not have to bother anymore about alerts. declare v_ret number; begin v_ret := manage_alert( My Title, My text, OK, null, null); end; Figure 13 Using the alert Another example in figure 14 shows how to alter an item so it looks like disabled, a similar procedure exists to enable an item PROCEDURE DIS_ITEM(P_ITEM IN ITEM, P_REC NUMBER) IS BEGIN if get_item_property(p_item, visible) = 'TRUE' then set_item_instance_property(p_item, P_REC, NAVIGABLE, PROPERTY_FALSE); set_item_instance_property(p_item, P_REC, UPDATEABLE, PROPERTY_FALSE); if get_item_property(p_item,item_type) <> 'CHECKBOX' THEN set_item_instance_property(p_item, P_REC, VISUAL_ATTRIBUTE, 'STD_TEXT_ITEM_DISPLAY'); END IF; end if; END; PROCEDURE ENA_ITEM(P_ITEM IN ITEM, P_REC IN NUMBER) IS BEGIN if get_item_property(p_item, visible) = 'TRUE' then set_item_instance_property(p_item, p_rec, NAVIGABLE, PROPERTY_TRUE); set_item_instance_property(p_item, P_REC, UPDATEABLE, PROPERTY_TRUE); set_item_instance_property(p_item, P_REC, VISUAL_ATTRIBUTE, 'std_text_item'); end if; END; Figure 14 Disabling and enabling items An example of how this code might influence your layout can be seen in figure 15 In order to fully use the get and set options you also need to familiarize with the system variables. In the example in figure 16 I ve utilized the system variables to create a generic trigger that reacts to double click with the mouse. Figure 15 Dis- and enabling items example if get_item_property(:system.current_block '.' :system.current_item, item_type) = 'TEXT ITEM' then if get_item_property(:system.current_block '.' :system.current_item, list) = 'TRUE' then do_key('list_values'); elsif get_item_property(:system.current_block '.' :system.current_item, editor_name) is not null then do_key('edit_textitem'); end if; end if; Figure 16 When mouse double click So, if your current item has a list of value attached, a double click in this will bring up the LOV, if the item has en editor attached this editor will be displayed. OBJECT LIBRARIES In order to create the same look and feel in multible forms you can utilize object libraries. In an object library you can put all objects you normally can enter into a form. Although, you should refrain from putting pl/sql objects into an object library. Even though it is possible, you should use a pl/sql-library instead, as explained later in this article. In the above example (figure 12) we use three alerts, in order to use these alerts we must create them beforehand, we could do so in each form we create, or we could include them from an object library. Despite its name it has nothing to do with true object oriented programming, but it s merely a canister to place Forms- objects into, and later reference them to your form. See figure 17 for an example of this. Sadly it is not possible to edit objects that are placed in an object library; you need to copy them from the object library into a temporary form. To avoid this consider having your reusable object placed in a form and then, whenever changes are necessary, moving the objects into the olb-file. This will give you extra work maintaining this environment, but is worthwhile. You should consider marking objects you place in an object library with a smart class, making them easier accessible from within your form. It is possible to keep triggers attached to the objects you put into an object library, but it is not recommendable, in order to access them you need to perform the actions described above, so it s time-consuming and not quite logical. Instead you should consider using plsql-libries as mentioned in the next section. PLSQL LIBRARIES A plsql library is the place to save reusable plsql-programs. When you create your programs indepen- OracleEkspert Juni

8 Figure 17 Referencing from Object library dently of specific objects then you can put your pl/sql code into a library and compile it. One thing about pl/sql libraries that always has divided Oracle developers, is the question between attaching a precompiled library, a *.plx file or keeping the normal *.pll file, I cannot judge if one or the other method is right, but based on experience I would keep the file as *.pll. I ve seen many situations where developers forgot to compile their library, and therefore they were unable to have their changes take effect. CREATING A DEVELOPMENT ENVIRONMENT SUITED FOR REUSE OF CODE As you have seen Oracle Forms offers a number of ways to store your code, object libraries, plsql libraries, Forms etc but you should always create your Forms in the same manner so others will be able to figure out what you have done. In figure 18 I ve drawn a perfect world example of how your environment should be configured. You should separate your pl/sql into 2 plsql libraries, one for generic code and one for code specific for this form, if the specific pll-library are empty then you only need to attach the generic library. You also need to utilise your object library, and as mentioned earlier a library form might be handy to store your library objects. CONCLUSION In this article I ve shown how to write reusable code, demo ed some features used in real world life, and drawn a picture of an environment promoting the creation on reusable code. There are a lot of topics I would have liked to cover in more detail, but time and space prevented me from doing so. It is clear to me that JDeveloper over the next years will be more and more present in the custom development scene, but I still think there is a place for the classical Oracle development tools. I m sure that during the next couple of years JDeveloper environment will evolve to be more and more productive, so if the non-java people out there will continue to use the classical toolset, now is the time to gear (even more) up. An appealing thought is to create an intercommunity with the same values and ideas like the Java people have, and then everyone could benefit from it. I will think about it. Figure 18 A perfect world. 8 Juni 2005 OracleEkspert

9

10 SPØRGEJØRGEN ET Af Mogens Nørgaard Mogens Nørgaard er teknisk direktør for Miracle A/S, han har arbejdet i Oracle Danmarks premium-support i mange år og han er medstifter af The Oak Table. Så Mogens kender svarene på alle Oracle-spørgsmål (42), og skulle der være noget, han ikke kan svare på, så kender han helt sikkert nogen der kan. Her kan du spørge om hvad som helst, der er relateret til Oracle. Teknisk, strategisk eller politisk - Mogens svarer på det hele. Send spøgsmålene til Mogens@OracleEkspert.dk Vi bruger meget tid på at optimere SQL. Sommetider må man anvende Hints. Sommetider må man helt opgive at få Oracle til at anvende den mest formålstjenlige udførselsmåde. Men hvorfor egentlig - Hvorfor skal vi bruge hints og omskrivning SQL? Når vi nu VED, hvordan den bedste udførsel fungerer. Hvorfor lukker Oracle ikke op, så vi kan lave vores forespørgsler om til procedurale udtryk i stedet for SQLs deklarative sprog? Hvis man læser Dave Ensor s A brief history of Oracle i bogen Tales of The OakTable fra Apress får man en hel del af svaret. Det skyldes som sædvanligt hverken dumme Oraclefolk eller sammensværgelser, men et sammenrend af omstændigheder, som folk har levet med siden. Skulle der ændres på sådan noget nu ville det nok betyde en større omskrivning af vigtige dele af Oracle s kode, og det giver jo både nye muligheder og problemer for eksisterende applikationer, osv. osv. I DB2 kan man gemme eksekveringsplanen i data dictionary en. Så er man sikker på, at det pågældende SQL-udtryk bliver udført på samme måde hver gang. Dybest set blev SQL implementeret af Oracle i en fart, og på en ikke så besværlig måde for koderne, og det hænger vi stadig på. Lad mig gennemgå dit spørgsmål stykke for stykke (bare sådan for sjov): Vi bruger meget tid på at optimere SQL. Du fortæller ikke, om det er fordi der hele tiden opstår problemer med eksisterende SQL-udtryk, eller fordi du skal have nye udtryk til at fungere på den bedst mulige måde. De to ting er væsensforskellige i natur, men kan være lige frustrerende. Hvis I kæmper med eksisterende SQL-udtryk gælder det om at stabilisere dem med de værktøjer du har til rådighed i Oracle og lidt tankevirksomhed. CBO en er deterministisk og vil give dig samme konklusion hver gang, hvis den vel at mærke modtager samme input (dictionary-information, parametre, statistikker, regler i Oracle s source). Hvis CBO en får nye informationer fordi I tilføjer et nyt index, analyserer data igen, ændrer en parameter eller opgraderer/patcher Oracle er der gode chancer for, at CBO en tager en anden beslutning end den gjorde før ændringen. Stabilitet er tit det modsatte af forandring i hvert fald i denne sammenhæng. Nu skal jeg fortælle dig om Jørgen Jørgen var en temmelig artig dreng Men han plagede alle med sin spørgen Fra han vågned til han gik i seng Hvorfor er et indeks ikke større? Hvorfor kører basen dag og nat? Hvorfor er svaret altid 42? Hvorfor, hvorfor dit og hvorfor dat? Sommetider må man anvende Hints. Hints er jo fantastiske de kan få optimiseren til at gøre bestemte ting. De kan bruges til at teste forskellige muligheder på en hurtig og nem måde. Men de har den ulempe, at de kan blive invalide i fremtidige releases (og så bliver de bare ignoreret uden warnings), de kan blive forældede (fordi omstændighederne de blev tænkt anvendt under har ændret sig), og de kan i det hele taget gøre det pokkers svært senere at få rettet et SQL-udtryk hen imod det ønskede. Personligt har jeg et had-kærlighedsforhold til hints. Det er en herlig mekanisme, men prisen for at bruge dem til produktionsformål kan ofte vise sig høj senere hen. Sommetider må man helt opgive at få Oracle til at anvende den mest formålstjenlige udførselsmåde. Det er ikke rigtigt. Man kan altid få Oracle til at gøre det, der er bedst. Det kan være mere eller mindre besværligt, og i een promille af sagerne kan man være tvunget ud i eksotiske løsningsmetoder såsom at rette ukorrekte statistik-værdier individuelt (se diverse artikler af Wolfgang Breitling) eller lave to indekser i en bestemt rækkefølge. Men det er i meget, meget få tilfælde. Hvis man forstår at anvende tracing (10046 og er de vigtigste) eller systematisk søger efter årsagen til, at CBO en ikke vælger det man vil have den til, så vil man altid finde en løsning. Det kan være besværligt, og man kan blive fristet mange gange undervejs til at vælge Gæt & Grimasser-løsninger (lad os prøve med et hint, lad os prøve at bytte om på rækkefølgen i From-clausen, lad os prøve at droppe statistikken på et index, lad os bruge RULE-hintet) men det ER et spørgsmål om træning og en systematisk og videnskabelig tilgang til problemet. Men hvorfor egentlig - Hvorfor skal vi bruge hints og omskrivning af SQL? Ja, det er irriterende med software, der ikke altid gør det rigtige. Håkon Jakobssen, der er ansvarlige for CBO en i Development er ikke helt dum hele dagen, og hans folk er det heller ikke, men det kan ikke lade sig gøre at skrive det perfekte stykke software til optimering af f.eks. SQL-udtryk. Noget af forskningen på det område drejer sig bl.a. om ikke-deterministiske systemer, hvilket lyder endnu mere kaotisk, men det kan måske løse en række problemstillinger, der ikke er intuitive i dag. Når vi nu VED, hvordan den bedste udførsel fun- 10 juni 2005 OracleEkspert

11 gerer. Hvis man vitterligt ved det kan man hente rigtig god hjælp i bogen SQL Tuning af Dan Tow. Han har lavet den eneste rigtige metode jeg har set omkring såvel konstruktion af god, stabil SQL fra bunden, som troubleshooting af eksisterende SQL. Vi har i hvert fald i Miracle besluttet os til, at det er denne bog, der danner udgangspunktet for vore SQL-tuningskurser og seminarer/dage nu. Jeg har ellers kun set prøv det ene, prøv det andet -bøger hidtil på dette område. Men ved man nu også altid, hvad den bedste udførsel er? Jeg har mange gange set udviklere og designere blive stærkt forbløffede over, at netop deres intuition ikke slog til, og at CBO en faktisk foreslog noget, der betød lavere svartid og anvendelsen af færre ressourcer end deres egen favorit. Det er også muligt, at den bedste udførsel i en bestemt situation ikke er det i en anden anderledes datafordeling, andre krav, osv. hvilket taler for en løbende evaluering af den optimale eksekveringsplan. Det hjælper heller ikke, at nogle værktøjer (og mennesker) stadig har den regel-baserede optimiser i tankerne når de skal foreslå forbedringer. De vil foreslå at holde op med f.eks. full-table scans til fordel for indexanvendelse, el.lign. Til syvende og sidst er det svartiden, der skal holdes på (helst konstant) niveau, hvor brugerne er tilfredse. Det kan være en udfordring til tider :-) Oracle betaler USD 8 mill for at stoppe retsag En tidligere medarbejder, som påstår at Oracle har svindlet med kursus-opkrævninger overfor den amerikanske stat mellem 1997 og 2003, har indgået forlig med Oracle på USD 8 mill. Robert J Makehja var vice President for Oracle University salg i Nordamerika, Han mener, at han netop blev fyret fra Oracle, da han prøvede at gøre opmærksom på forholdene Salgschef Steen Knudsen Fyret fra Oracle Salgschef Steen Knudsen er blevet bedt om at forlade Oracle Danmark med øjeblikkelig virkning. Han har været ansat hos Oracle i 16 år Oracle vil udkonkurere SAP Oracles administrerende direktør Charles Phillips har udtalt: "Jeg kan ikke sige, hvornår vi slår dem ud, men det vil ske". I dag har SAP 45% af ERP-markedet, mens Oracle kun har 19%. SAP amrikas CEO svarede at der var tale om tom snak. "SAP er førende på markedet, og vinder stadig markedsandele" Hackerangreb på Oracle-installationer SANS (SysAdmin, Audit, Network, Security) Institute advarer om hackerangreb på Oracle-installationer. Advarslerne går primært på at Oracle x tillader lokale brugere adgang til data man ellers ikke har adgang til, når man bruger ANSI outer join syntaks (sag CVE ), og at EXTPROC i Oracle 8i og 9i tillader eksterne bruger at omgå autentisering, og derved kalde funktioner via TNS Listener'en (sag CVE ). Link Rygter om at Oracle vil opkøbe Siebel Efter annonceringer om dårligt salg hos Siebel, er der kommet rygter om at Oracle er i forhandlinger med dem. Ingen af selskaberne vil kommentere rygterne SAP er åben for fusion med Oracle SAPs direktør Henning Kagermann udtalte til det tyske blad Wirtschaftswoche, at han ville være åben overfor et tilbud om fusion med Oracle, hvis det kom fra Larry Ellison selv, og hvis det ville være en fordel for SAPs aktionærer Oracle køber Oblix Oracle har annonceret overtagelsen af Oblix, som udvikler adgangskontrolteknologi til heterogene IT-miljøer. Oblix blev i juni 2004 placeret som "Leaders" i Gartners "Extranet Access Management" kvadrant for deres kombination af visioner og evnen til at implementere. Oblixteknologi bruges i Oracle Application Server 10g til at håndtere adgangskontrol. NYHEDER OracleEkspert Juni

12 TEKNISK PRÆSENTATION Af Linda Holm CODE GENERATION STRAIGHT FROM YOUR OBJECT-ORIENTED MODELS! Linda Holm is a Swedish Pre-Sales Consultant for Quest Software Scandinavia and a systems developer using Oracle and Java/J2EE. She has been working for Quest Software for almost 5 years. Linda.Holm@quest.com. Object-oriented modeling refers to the process of using objects as the basic building blocks for creating a software system. An object in this context usually means a class, that is, a description of a set of common objects. Each object or class has identity and behavior. They communicate with each other through different types of relationships which have their own symbols. These objects are being used to build models in which the properties of each object interact to perform certain actions that together make up a system of information. An Object-Oriented Model is also being used to build an OOM diagram. An OOM is a structure which provides a close description of a system using the following UML diagrams: Use case, class, object, collaboration, sequence, statechart, activity, component, and deployment diagrams. In the picture below, you can see how the diagrams can interact within the same model (see figure 1). LANGUAGE GENERATION Based on the models, a good idea would be to use a specific generation template mechanism to create user-defined text for code generation. The whole process should be customizable and available for all languages supported in an OOM such as C#, C++, Java, VB.Net, IDL-CORBA, XML and Powerbuilder code. For example Quest Software s QDesigner offers a full functionality called Change Object Language that regenerates for example java into C# for code reuse or the other way around! CODE GENERATION A Java source can contain several classes, whereas a Java.class can contain only one class. It is possible to compile the.java class files that were generated from an OOM in any Java compiler tool and run the Figure 1 QDESIGNER 11 QDesigner is an enterprise modeling and design solution that empowers architects, DBAs, developers and business analysts to produce IT solutions effectively, from business needs, to analysis and design, integrate all modern RDBMS and development for Java,.Net, PB and Web Services. QDesigner is a unique set of modeling tools combining several standard modeling techniques: application modeling through UML, Business Process Modeling techniques and market-leading database modeling, supported by a powerful metadata management solution. Java application (see figure 2). Simply by choosing the model that the code should be generated from; Packages, classes and where they should be created could be automated. It can display objects in the current model, or objects in individual packages contained in the model. If Include Sub- Packages tool is selected, you can display either all objects in the current model, or all objects in a package. The generator also checks the model and the language syntax. The tasks are optional (see figure 3). The final results are all the.java files/ Java source files or.jar files from the classes and interfaces of a model or for the classes that was being selected. A 12 juni 2005 OracleEkspert

13 Figure 2 Figure 3 separate file, with the file extension.java, is generated for each class or interface that was selected from the model. A generation log file is also created at the same time. So when would this be useful? Several scenarios will be interesting: - Change management - Correct code (based on the OOM model) - Reuse of code - Reverse and forward engineering - Performance - Deployment - Documentation - Reporting In all of these scenarios it is crucial to have a good and working model or model methodology. A code generation tool will help you to quality assure your applications and help you use the model outlined. REPORTS AND DOCUMENTATION A report allows you to publish valuable information about one model (model report) or several models (a multi-model report is the association of several models to several report structures and several selections of objects. It is the graphical representation of the structure of several models.) using different outputs. A model report is the association of a model, a report structure and a selection of objects. It graphically reflects the structure of a model. You can print a report in order to have it as a paper support, or you can generate it in RTF or HTML format for better reusability. The report is an easy way to consult a document that shows parts or the global content of a model in a textual format. MODEL DRIVEN APPROACH TO ALIGN BUSINESS AND IT Many IT teams require a modeling toolset to help them effectively produce a variety of business solutions, ranging from business needs, to analysis and design, integrating all modern RDBMS and development for Java,.Net, PB and Web Services. QDesigner helps users meet their IT investment expectations by providing a unique set of modeling tools that combine several standard modeling techniques: application modeling through UML, Business Process Modeling techniques and market leading database modeling, all supported by a powerful metadata management solution. OracleEkspert Juni

14 TEKNISK ARTIKEL Af Sten Vesterli HVORDAN MAN OVERLEVER SOM PL/SQL PROGRAMMØR Som PL/SQL-programmør kan man godt føle sig som en truet dyreart. Denne artikel viser, hvordan PL/SQL stadig passer ind i det moderne IT-landskab. Det første og stærkeste argument for PL/SQL's fortsatte værdi er dets performance database-baserede PL/SQL applikationer er multi-tier Java applikationer klart overlegne på mange områder. Herudover kan PL/SQL udemærket anvendes sammen med web services i en moderne Service Oriented Architecture. De centrale forretningsfunktioner, der allerede er udviklet i PL/SQL, kan nemlig let udbydes som Web Services TRUSLEN MOD PL/SQL PL/SQL har tjent Oracle-udviklerne og brugerne trofast i mange år, og det kan synes fantastisk, at nogen ønsker at afskaffe denne velfungerende teknologi. Men det er sandt nok: En sammensværgelse af Javaprogrammører og Enterprise Arkitekter er ude efter at forvise PL/SQL til programmeringssprogenes kirkegård. TRUSLEN FRA JAVA-PROGRAMMØRERNE Programmører, der programmerer i sprog X, har altid argumenteret for netop deres sprogs fordele overfor de stakkels programmører, der programmerer i sprog Y og omvendt. Fordelene ved Java Selv en PL/SQL-programmør må indrømme, at Java har visse fordele. Det er selvfølgelig naturligt nok Java er opfundet langt senere end PL/SQL og har kunnet trække på mange års indsigt. Min personlig favoritfeature er muligheden for at tvinge den kaldende kode til eksplicit at tage stilling til, hvordan evt. exceptions fra min kode skal håndteres. Men som moderne programmeringssprog har Java mange andre fordele. Til fordel for PL/SQL taler sprogets tætte integration med SQL, bl.a. brugen af samme datatyper. Her har PL/SQL en fordel frem for Java, der hele tiden skal konvertere mellem SQL-datatyper og Java-datatyper. Så selv om Java-programmørerne nok har ret i, at Java er et bedre all-round sprog en PL/SQL, er der stadig områder, hvor PL/SQL er stærkest. Objektorientering Sten Vesterli er partner i scott/tiger og arbejder til daglig som Oraclekonsulent. Sten har programmeret PL/SQL i mange år, bl.a. til webapplikationer. I løbet af årene har han holdt indlæg på talrige internationale Oracle-konferencer og skrevet en lang række artikler samt bogen Oracle Web Applications 101 (Oracle Press). sten.vesterli@scott-tiger.dk Ud over sprogets relative fordele og ulemper har diskussionen mellem PL/SQL-programmørerne og Java-programmørerne dog en ekstra dimension, nemlig debatten om objektorientering. Der er nok ikke meget tvivl om, at det meste applikationsdesign i dag er gået over til en objektorienteret tankegang. Men da de såkaldte "objektdatabaser" af gode grunde ikke har fået nogen større udbredelse, ender det alligevel med, at data skal gemmes i en relationel database. Og omsætningen af designets Customer-objekt til tabellerne CUSTOMERS og ADDRESSES er stadig en kunst hvis rette udøvelse er omdiskuteret. Så heller ikke her har Java-programmørerne afgørende argumenter. TRUSLEN FRA ENTERPRISE ARKITEKTERNE Men mens vi måske kan indgå en kollegial våbenhvile med Java-programmørerne, går Enterprise Arkitekterne efter struben på PL/SQL programmørerne. I visse organisationer er det endda allerede lykkedes for arkitekterne at få gennemført forbud mod brugen af PL/SQL. Flerlagsarkitektur Enterprise Arkitekter er enige om, at den rigtige applikationsarkitektur er en flerlags-model. Der kan være tre eller flere lag, men i alle tilfælde er databasens rolle reduceret til at være persistenslag. Dvs. set fra Enterprise Arkitektens side kan data gøres persistente i en relationsdatabase, i flade filer eller på en helt tredje måde. Arkitekterne har udpeget et andet lag i arkitekturen til at indeholde forretningslogikken, der skal udføres på en applikationsserver. Her og kun her skal forretningslogikken implementeres. Der er udemærkede argumenter for denne arkitektur først og fremmest bedre skalérbarhed. Man kan opnå bedre performance ved at skalere op (til en større server) eller skalere ud (til flere servere); det er normalt langt billigere at skalere ud. En applikationsserver skalerer normalt ud uden problemer, mens løsningen for en veltunet database normalt er at skalere op. Med RAC og sit Grid Computing initiativ forsøger Oracle at gøre det lige så let at skalere databasen ud som op, men dette er endnu ikke dagligdag ret mange steder. Service Oriented Architecture Samtidig vil en moderne Enterprise Arkitekt også indføre en Service Oriented Architecture (SOA). SOA betyder løst kobledes systemer, der kommunikerer via meddelelser. Det er i dag normen at implementere SOA med Web Services; imidlertid kan en SOA sagtens implementeres uden at bruge Web Services. SOA indføres normalt samtidig med en integrationsserver, der skal sørge for distributionen af meddelelser i en "hub-and-spoke" konfiguration. Det vil sige at alle meddelelser sendes til integrationsserveren, der så fordeler dem til alle abonnenter. I Oracle-verdenen implementeres dette af Oracle Interconnect. 14 juni 2005 OracleEkspert

15 ARGUMENT: PERFORMANCE En flerlagsarkitektur tager sig fint ud på PowerPoint, men den kan have et problem: Hver eneste gang en meddelelse skal fra én kasse til en anden, skal den over netværket. TEORI OG VIRKELIGHED Teoretikerne vil argumentere, at med moderne netværksoverførselshastigheder på 100 Mbit som standard og gigabit ethernet og hurtigere i maskinstuen, er netværkstrafikken ikke noget problem. Og det er da for så vidt korrekt, at selve dataoverførselstiden ikke er noget problem. En typisk meddelelse på 100 bytes kan via et 100 Mbit netværk teoretisk overføres på 10 mikrosekunder. Desværre ser virkeligheden ikke sådan ud, fordi langt den største del af netværkstiden anvendes i software med TCP sessionskontrol, indpakning af meddelelsen i IP-pakker og ethernet frames og udpakning igen på den anden side. Derfor må vi konstatere, at det tager adskillige millisekunder at få transporteret en pakke over netværket fra én server til en anden. Det er ikke transmissionstiden, der er afgørende, men den samlede meddelelsestid (roundtrip time). Og når tiden ikke kan ignoreres, gør det faktisk en forskel om man sender én meddelelse eller ti. ET FORSØG På almindeligt forekommende testhardware (PC'er med 100 Mbit ethernet, Oracle 10g) har jeg oprettet en tabel og formuleret en UPDATE-sætning der opdaterer en enkelt række efter primærnøgle på en mellemstor tabel med ca rækker. Så har jeg skrevet et lille testprogram i Java, og udført det på en anden fysisk maskine end databasen. Programmet måler to ting: - Tiden for at udføre UPDATE-sætningen et antal gange for forskellige rækker, implementeret med almindelig SQL via JDBC (PreparedStatement). Her optræder der altså et network roundtrip pr. gang, sætningen udføres. - Tiden for at kalde en PL/SQL procedure, der udfører samme UPDATE-sætning det samme antal gange, også for forskellige rækker. Dette er implementeret med en CallableStatement via JDBC. I denne situation bliver der altså kun ét network roundtrip ialt. Dette simple forsøg gav følgende resultat (alle tider i ms): Antal SQL-sætninger Se også Figur 1. Interesserede læsere kan kontakte mig og få testkoden. Da der udføres præcis de samme SQL-sætninger, udgør forskellen mellem de to kurver netop det ekstra tidsforbrug ved de mange roundtrips. Det kan godt være, at man med hurtigere netværk og Java statement batching og andre tricks kunne rykke de to kurver i lidt tættere på hinanden men forskellen mellem ét og mange roundtrips er ikke til at tage fejl af. YDERLIGERE ARGUMENTER Enkelt-SQL PL/SQL Hertil kommer endvidere, at Javas datatyper ikke er identiske med SQL's. Det betyder, at der er et overhead til fejlcheck og konvertering hver eneste gang man læser eller skriver i en database fra et Java-program. Man har mulighed for at bruge Oracle's egne Javaklasser til at repræsentere data, men det vil Java-programmører normalt ikke være med til, fordi dette binder koden til Oracle. Ovenstående eksempel henter ikke data, så tallene indeholder ikke denne konvertering. Det burde ikke være noget argument for PL/SQL, at mange Java-programmører ikke kender ret meget til databaser. Men alligevel ser jeg gang på gang de samme fejl: - Manglende brug af bind-variable. I JDBC sætter man sin SQL-sætning sammen som tekststreng, og de fleste nye Java-programmører starter med at sætte eksplicitte værdier ind i SQLsætningerne. Det springer dog hurtigt i øjnene i V$SQLAREA, så problemet kan normalt hurtigt findes og afhjælpes. - Manglende transaktionsstyring. Af mystiske årsager er en JDBC-forbindelse som default sat til autocommit, dvs. hver eneste SQL-sætning automatisk og omgående bliver commit'et. I mange af de Java-programmer jeg har set, er dette ikke ændret, selvom det er ganske let. Det betyder, at alt for mange Java-programmer ikke har transaktionsintegritet, fordi halvdelen af en logisk sammenhængende transaktion kan blive commit'et, hvis Java-programmet afsluttes unormalt. Figur 1: Udførselstid for enkelt-sql vs. PL/SQL OracleEkspert Juni

16 KONKLUSION Men lad os se bort fra de typiske begynderfejl og den lille omkostning ved datakonvertering mellem SQL og Java. Det afgørende argument for brugen af PL/SQL er, at det reducerer antallet af roundtrips fra applikationsserveren til databasen og tilbage, og dermed forbedrer applikationens performance markant. ARGUMENT: SERVICE ORIENTED ARCHITECTURE Et andet argument for PL/SQL er, at genbrug af den eksisterende PL/SQL er den billigste og letteste måde at starte omlægningen til en moderne Service Oriented Architecture. Her kan man normalt godt blive enige med Enterprise Arkitekterne de vil ofte acceptere et mellemtrin med PL/SQL Web Services som et trin på vejen mod den endelige arkitektur. PL/SQL SOM UDBYDER AF WEB SERVICES Oracle har forstået, at de enorme mængder af PL/SQL kode, der ligger i databaser overalt i verden, repræsenterer mange års udviklingsarbejde. Og samtidig sikrer kundernes store PL/SQL-investering, at kunderne ikke vælger andre databaser... Derfor har Oracle forsøgt at gøre det så let som muligt at udbyde al denne forretningslogik som Web Services. Med "Create PL/SQL Web Service" guiden i JDeveloper kan man blot udpege en procedure eller funktion i databasen og automatisk få fremstillet en tilhørende Web Service. Når man har gennemført denne guide, har man en fuldt færdig Web Service. Den er implementeret i Java, og kan køre på en hvilken som helst J2EE applikationsserver. Man kan selvfølgelig også skrive sådanne web services i hånden eller bruge et af de offentligt tilgængelige frameworks, men der er nogle fordele ved at fremstille den gennem JDeveloper: - Det er let at rette den med JDevelopers skærmbilleder, også selvom man ikke er Java-programmør - JDeveloper fremstiller automatisk de nødvendige filer til at installere (deploy'e) den til Oracle Application Server. Der er selvfølgelig grænser for, hvad JDeveloper's guide kan klare automatisk simple datatyper bliver oversat umiddelbart, men sammensatte datatyper kan (endnu) ikke konverteres automatisk. Men her er JDeveloper dog intelligent nok til at tilbyde en knap med titlen "Why Not?", som fører til en forklaring om hvorfor en bestemt procedure ikke automatisk kan konverteres til en Web Service. PL/SQL SOM FORBRUGER AF WEB SERVICES Vi kan altså relativ let komme Enterprise Arkitekterne i møde ved at udbyde vores PL/SQL som Web Services. Det bliver straks lidt sværere, når arkitekterne med henvisning til integrationsstrategien helt forbyder databaselinks. Så bliver vi nemlig nødt til også at kunne forbruge Web Services fra PL/SQL. Dette er lidt sværere. Imidlertid transporteres meddelelserne i en normal Web Service som SOAP-meddelelser (i XML-format) via HTTP. Ved hjælp af UTL_HTTP pakken i databasen kan PL/SQL derfor selvfølgelig også forbruge Web Services. Der findes et par udemærkede Whitepapers om PL/SQL Web Services på OTN. FREMTIDEN FOR PL/SQL Som ovenstående argumenter har vist, er der stadig brug for PL/SQL først og fremmest fordi der er mange områder hvor kun PL/SQL giver den nødvendige performance. Desuden passer PL/SQL, bl.a. i form af PL/SQL Web Services, stadig ind i en moderne applikationsarkitektur. Figur 2: Create PL/SQL Web Service "As long as there are ill defined goals, bizarre bugs, and unrealistic schedules, there will be Real Programmers willing to jump in and Solve The Problem, saving the documentation for later. Long live PL/SQL!" Efter "Real Programmers Don't Use Pascal" af Ed Post Vind en HP Integrity RX1620 Server Læs om konkurrencen på bagsiden 16 juni 2005 OracleEkspert

17 ER DU ENIG? Påstanden som blev fremlagt i OracleEkspert nr 29 lød: Det er fornuftigt at forlænge sin supportaftale med Oracle Opinion: 3.1 (på en skala fra 1-5, hvor 1 betyder helt uenig og 5 betyder helt enig ) OE30 Vinder: Henning Fugl, Eniro Danmark A/S 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 I alle gerne må give mig jeres mening om. Alle kan tilkendegive deres holdning ved at afgive deres stemme på (under menupunktet Meningsmålingen). Der trækkes lod om en præmie blandt alle deltagere. Ideer til spørgsmål, som det kunne være spændende at høre andres mening om er velkomne til Marc@OracleEkspert.dk. Reaktionerne på denne måneds meningsmåling viser tydeligt, at vi har at gøre med et meget ømt emne. Som det fremgår af resultatet, så er der ikke en klar holdning til spørgsmålet, og jeg kan desuden afsløre at alle fem vurderinger har fået omtrent lige mange stemmer. En meget interessant betragtning kom fra Henning Fugl fra Eniro Danmark, som finder det paradoksalt at man ved køb af IT-produkter, i modsætning til andre produkter, accepterer at købe et deffekt produkt, som man efterfølgende skal betale for at få rettet fejl i. Derudover har der været en del tilkendegivelser som på forskellige måder udtrykker at supporten hos Oracle er blevet dårligere siden den gang man ringede ind og fik fat i en dansk supporter, som man kunne løse sine problemer sammen med. Modsat er det også blevet sagt at supporten er blevet bedre i de senere år. Ikke nødvendigvis i forhold til den oprindelige personlige support, men primært i forhold til supportniveauet da Metalink oprindeligt afløste supporten. Selv Oracle Danmarks supportdirektør Henrik Wegge-Berg har fundet emnet vigtigt nok til at deltage i debatten. Han understreger at support ikke kun er Metalink, men også over 7000 medarbejder, som på skift er tilrådighed 24 timer i døgnet. Heraf også en lokal dansk supportorganisation. Og hvad der måske er det vigtigste argument for at forlænge supportaftalen, er jo adgangen til de mange fejlrettelser, lapninger af sikkerhedshuller og produktopgraderinger. Selv Mogens Nørgaard fra Miracle, som jo sælger Oracle-support som alternativ til Oracles support, erkender at de store selskaber normalt har behov for Oracles support alene for at kunne få rettet fejl i produkterne. Savner man den traditionelle support, hvor man taler direkte med en dansk ekspert, så er man nødt til at købe det som en yderligere service, enten hos Oracle eller hos nogen af de andre udbydere af Oracle-support, feks Miracle eller DBVision. Af Marc de Oliveira MENINGSMÅLINGEN Påstanden til meningsmålingen i OracleEkspert nummer 31 lyder: Objektorienteret udvikling er bedre end struktureret udvikling Objektorienteret udvikling bliver ofte fremstillet som den strukturerede udviklings afløser. Som en moderne metode, der effektivt sikrer maksimal genbrug af kode og brugervenlige løsninger. Og så skulle metoden være væsentlig mere produktiv end traditionel struktureret udvikling. Men giver den objektorienterede tankegang og metode et bedre resultat end den traditionelle strukturerede udvikling? Er objektmodeller mere egnede end relationelle modeller? Er en metode baseret på korte cyklus bedre end en vandfaldsmetode med laksespring? Understøttes genbrug bedre af en objektorienteret metode? Hvilken metode håndterer kravændringer bedst? Ja der er mange forhold, som kan diskuteres i denne måneds meningsmåling. Skynd dig ind på og giv din stemme til kende! Du kan vinde en ipod Shuffle OracleEkspert Juni

18 NØRGAARD S NEWS Af Mogens Nørgaard Emne 1: Maj Madness 31. maj er afslutningen på Oracle s finansår. Emne 2: Øl og IT har måske nogle historiske sammenfald. MAJ MADNESS Det er ved den tid igen. Oracle slutter regnskabsår sidst i maj, og det kan mærkes på de henvendelser vi får fra vore kunder omkring licensforhold mv. Et par ting man måske kan have fornøjelse af at vide: 1) Oracle un-bundlede support og update rights i december 1999, så man kunne købe det ene, det andet eller begge dele frit. De har nu rebundlet de to ydelser, så man kun kan købe dem samlet eller ikke købe noget. 2) CPU er med flere tråde (Xeon, f.eks.) regnes af Oracle for een CPU i licensmæssig forstand. CPU er med flere kerner (kommer fra AMD lige om lidt og fra Intel formentlig sidst på året) regnes af Oracle for flere CPU er (hver kerne regnes som en CPU). Microsoft har annonceret, at de ikke vil licensere per kerne, men kun per CPU. 3) Oracle s licensbetingelser i dag er ikke nødvendigvis de samme, som da du købte Oraclelicenser første gang. Men du har hvert år ved fornyelsen af support og update rights skrevet under på, at du er indforstået med de seneste licensbetingelser så du har altså licenser i dag under andre betingelser end da du købte dem. 4) Det kan være en god (og besparende) ide at få uafhængig licensrådgivning. I sagens natur kan man ikke få uafhængig og optimal rådgivning fra de samme personer, som bliver aflønnet efter hvor meget de kan sælge. Det gælder i alle livets forhold. 5) Standard Edition af Oracle kan ofte være nok, og dermed kan der spares mange penge. Enterprise Edition features kan være nice to have eller need to have. Nice to have -behov kan mange gange erstattes af individuelle løsninger eller kodninger uden at det af den grund går ud over systemets holdbarhed. 6) Oracle er dyrere end andre databaser, men er også bedre end andre databaser på en række punkter. De egentlige udgifter kan ofte findes i midter-laget (applikations-servere ias mv.) og i kodelaget (fordi der bruges mange mand-timer til at lave ting, der egentlig ligeså godt kunne laves i databasen). 7) Side-letters (særlige aftaler med Oracle udover standard-kontrakten) er fuldt lovlige og juridisk gyldige for kunden, men er ikke lovlige internt i Oracle mere. En genforhandling for at fjerne et side-letter skal derfor ikke stille kunden dårligere. 8) Hvis Oracle (hvad de er fuldt berettigede til ifølge deres kontrakter) meddeler at de kommer på uanmeldt inspektionsbesøg for at se, om man har licenser nok, er det næsten altid en god ide at sætte sig ind i de seneste licensmuligheder og evt have en tredjepart til stede. Officielt er de af Oracle godkendte licens-inspektører strengt uafhængige af salgsorganisationen. I praksis aflønnes de af salgsorganisationen, og kan derfor ikke antages at kunne være strengt neutrale. ØLIT Der findes en IT-konsulent herhjemme, som kan huske da hver gård herhjemme bryggede deres eget øl. Det var kvindernes opgave, og de gjorde det selvfølgelig med varierende held og styrke, men der var noget at vælge imellem. Efterhånden fik hver landsby sit eget bryggeri, og hjemme-bryggerne forsvandt. Siden forsvandt disse små bryggerier og til sidst var der kun ét stort bryggeri tilbage. Førte det til bedre, mere spændende og mere varieret øl? Selvfølgelig ikke. Et monopol er et monopol. Man KAN ikke holde en fantastisk kvalitet og samtidig producere rigtigt meget. Så er der kun markedsføringen tilbage. Men danskerne fik nok. Danske Ølentusiaster har i dag flere medlemmer end de fleste politiske partier (deres budskab er også noget mere sammenhængende). Der skyder mikrobryggerier op alle vegne. De lovmæssige krav, der gælder for et opstartende mikrobryggeri med hensyn til hygiejne mv. gælder ikke for det store bryggeri, som har fået udsættelse i år før de skal opfylde kravene. Det sørger diverse politikere for. Vi ser den samme udvikling indenfor IT. Alle skal have samme IT-ydelse. Ligesom vi drak industriøl i mange år. Politikerne giver de store IT-huse stadigt bedre muligheder for at monopolisere og dominere. Nogle mener at IT bare er noget, der skal komme ud af væggen ligesom el og vand andre mener at det kan give virksomhederne konkurrencefordele. Hvis man outsourcer vandforsyningen til det kommunale vandværk får man vand retur. Hvis man outsourcer et system, der skal understøtte en konkurrerende (værdiskabende) del af virksomheden er det noget helt andet. Evnen til at reagere hurtigt og smidigt på trusler og nye ideer fra er væk. Og det bliver altid dyrere. Man slipper for en masse bøvl og besvær, men fraskriver sig konkurrence-fordele og valgmuligheder - i en meget foranderlig verden. Der er f.eks. lige nu nogle helt fantastiske muligheder for besparelser og effektiviseringer og konkurrencefordele, der kan måles i 100- eller endog 1000-fold. Jeg kalder det revolutionær i modsætning til evolutionær IT. Hvis man vel at mærke tør og kan få lov. Er det gigantiske IT-hus interesseret i, at kunden gør det? At IT-budgettet bliver reduceret med over 90%, og at det kører mere stabilt på nogle meget små bokse? Nyd din outsourcing over en god øl. Hvis du er rigtig tørstig (eller ikke gider lære om godt øl) kan du nøjes med en kold industriøl. Det er det nemmeste. 18 Juni 2005 OracleEkspert

19 FITTING DESIGNER INTO THE ZACHMAN FRAMEWORK - PART 1 Marc de Oliveira from PYTHIA Information possesses a M. Sc. in Computer Scinece from the University of Copenhagen from 1992 and has been working as a system analyst and system developer for the past 15 years primarily with the Oracle Designer tools. INTRODUCTION As a system analyst and a developer with much admiration for Oracle s Designer, the question about how to fit a powerful full life cycle development tool, like Designer, into an equally complete framework for information systems development, like the Zachman Framework, had to be asked at some point. How can the structured relational repository of Designer best serve as the intestines of the Zachman Framework? Using the Zachman Framework will help you make sure that each part of your documentation is complete, to the point and directed at the correct audience. Using a repository like Designer will give you the best possible way to maximize the reuse of information from the abstract term definitions of the system all the way to the generated code. The tight integration of the Designer repository will make sure that every new element is automatically used everywhere it makes sense and whenever an element is removed, all usages of it will automatically be removed as well. Therefore pairing Designer with the Zachman Framework is a good way to keep your documentation synchronized with your development environment. THE ZACHMAN FRAMEWORK The Zachman Framework was defined by John Zachman in the 80s. In the 90s it was extended from its original three areas of interest to cover the six areas that it is now known to handle. In 2003 David Hay proposed a few changes to the naming conventions of the Zachman Framework that I fully support. As the new terminology did not change the fundamental content of John Zachman s ideas it was not renamed to the Hay Framework. J Therefore, some of the terms that are used in this paper might be a little different from what you may see in other publications about the Zachman Framework. I will not go into what the differences are and why they are better, so you will just have to take my word for it - or you could pick up David Hay s book Requirements Analysis From Business Views to Architecture and get the details from David himself. This paper is not a detailed description of the Zachman Framework. I will give you a broad idea of what it is but if you want detailed knowledge about it, you will have to read supplementary documentation. The primary focus of this paper is on how to use the Zachman Framework together with Designer not to describe the two tools in detail. Anyway, I will say a little more about the Zachman Framework to give you an idea of why it is worth knowing about and what its strongest features are. There are two dimensions to the Zachman Framework: 1) The views 2) The areas of interest I will quickly introduce them in the following sections. THE VIEWS A radically new way to look at system development was to focus on who the players are and how they see the business instead of what the development phases are. By focusing on the views rather than the phases you will get a much clearer understanding of what the documentation should look like to be understood by its target audience. The project players are identified as: 1) The Planner who is looking at the business from a very high level of abstraction. The planner might be the CEO or a director planning to implement some change or innovation of the business. The planner knows about the entire business in general. What is in focus in this view somewhat corresponds to what traditionally happens in the Strategy Phase. 2) The Business Owner is looking at the specific part of the business that he/she is responsible for. The business owner will know that part of the business in much more detail than the planner but he/she will not necessarily know much about other parts of the business. Therefore the models created by different business owners might not be consistent with each other. 3) The Architect is collecting all the business owners views into one consistent model of the entire business (or the part of the business identified by the planner). This model is the foundation of the actual development process. 4) The Designer is specifying how the architect s model can be implemented on a specific set of platforms. 5) The Builder is specifying the details of how to program the required application(s). 6) The Functioning System is the actual data, programs etc. THE AREAS OF INTEREST Another radical change to traditional methodology was to include more areas of interest than the typical areas: data and activities. First John Zachman included location, as an area of interest about communication channels etc, but later extended the framework further to include people and organizations to focus on things like roles and security, timing to handle events and repetitive activities, and motivation to focus on strategies, business rules etc. By mapping all the possible viewpoints of a development project with all the relevant areas of interest the Zachman Framework covers every area of interest as it is perceived by any key player of the development process. The Zachman Framework is usually visualized as a six by six matrix looking like figure 1: Each cell represents a specific area of interest as it is viewed by a specific project player. Af Marc de Oliveira TEKNISK ARTIKEL OracleEkspert Juni

20 Data Activities Locations People Time Motivation (What) (How) (Where) (Who) (When) (Why) Planner s View Business Owner s View Architect s View Designer s View Builder s View Functioning System D1 A1 L1 P1 T1 M1 D2 A2 L2 P2 T2 M2 D3 A3 L3 P3 T3 M3 D4 A4 L4 P4 T4 M4 D5 A5 L5 P5 T5 M5 D6 A6 L6 P6 T6 M6 Figure 1. The Zachman Framework DESIGNER If you have started reading this paper I guess that you are already somewhat familiar with Designer, so I will be brief about the general description and more specific about the features of Designer that are important in relation to the Zachman Framework. Designer is basically a big repository that manages hundreds of element types and allows users to specify the relationship between each element and all other elements related to it. This feature is the most important in relation to the Zachman Framework because when elements can be viewed in six different ways it is very important to be able to follow the relationships throughout the model. How is element X as seen by player Y related to the same element seen by player Z? Or how is element X as seen by player Y related to element X2 seen by the same player? In general an element of any of the cells of the framework will have some kind of relationship with elements of all other cells. So any change in one cell will have some level of consequence to elements in all other cells. Another strong feature about Designer is that it is not just a passive repository that stores information about arbitrary elements but it is a real development tool that understands the meaning of its elements and therefore knows how to treat them and their relationships intelligently to transform abstract business models all the way to working code in a database, on a client machine or on a web server. Designer s open API even makes it possible to add even more intelligence to the tool in form of new generators, quality controlling modules and even repository manipulating programs. And if more element types are needed, than the hundreds provided by default, Designer s user extensibility features allows you to add new elements, properties and relationships. Even though Designer was not built specifically for working with the Zachman Framework it does include tools relevant for most of the views and the areas of interest of the framework. The remaining parts that are not built into Designer can be incorporated using Designer s API and the very flexible user extensibility features. DESIGNER AND THE Z ACHMAN FRAMEWORK The next step is to identify how the Designer s different repository elements match the Zachman Framework. While discussing each cell I will mention the main Designer element types that would be the focus of that cell. My point is that each of the cells should have a small application that allows the user to manipulate the relevant Designer elements, so that a planner or a business owner can launch a specific cell, ie cell D1 (the planner s view on data) and get access to a screen that would allow him/her to enter Business Terminology definitions. So each screen should only contain what would be meaningful for the intended audience. All these small applications could then be collected on a central screen that might look like the table of figure 1 (maybe a little more colorful ). The user interface of such an application could be HTML so that all project members could access the applications without needing to have specific software installed. Describing the specifics on how to build a web application that can update the Designer repository is outside the scope of this article, though. This article is just about how the Designer element types map to the elements of the Zachman Framework. When doing a development project you will go through the framework cells from top to bottom beginning with the planner s view and ending with the functioning system. In the context of this paper it will make more sense to go through the cells column wise, though, so that it becomes easier to follow the relationships between the different views of each area of interest. The next sections will therefore handle one area of interest at a time and look at how each view relates to that area. 20 Juni 2005 OracleEkspert

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Portal Registration. Check Junk Mail for activation  . 1 Click the hyperlink to take you back to the portal to confirm your registration Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the

Læs mere

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind

Læs mere

CHAPTER 8: USING OBJECTS

CHAPTER 8: USING OBJECTS Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

Black Jack --- Review. Spring 2012

Black Jack --- Review. Spring 2012 Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict

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

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

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

Læs mere

Observation Processes:

Observation Processes: Observation Processes: Preparing for lesson observations, Observing lessons Providing formative feedback Gerry Davies Faculty of Education Preparing for Observation: Task 1 How can we help student-teachers

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

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen The X Factor Målgruppe 7-10 klasse & ungdomsuddannelser Engelskundervisningen Læringsmål Eleven kan give sammenhængende fremstillinger på basis af indhentede informationer Eleven har viden om at søge og

Læs mere

Vina Nguyen HSSP July 13, 2008

Vina Nguyen HSSP July 13, 2008 Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between

Læs mere

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

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

Læs mere

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

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

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

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview CONTENTS 2 Danish 5 English # 8 COPYRIGHT 2019 INNOVATIVE LANGUAGE LEARNING. ALL RIGHTS RESERVED. DANISH 1. SÅDAN

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

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

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

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes. Brug sømbrættet til at lave sjove figurer. Lav f: Et dannebrogsflag Et hus med tag, vinduer og dør En fugl En bil En blomst Få de andre til at gætte, hvad du har lavet. Use the nail board to make funn

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 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

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile DSB s egen rejse med ny DSB App Rubathas Thirumathyam Principal Architect Mobile Marts 2018 AGENDA 1. Ny App? Ny Silo? 2. Kunden => Kunderne i centrum 1 Ny app? Ny silo? 3 Mødetitel Velkommen til Danske

Læs mere

Basic statistics for experimental medical researchers

Basic statistics for experimental medical researchers Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:

Læs mere

Help / Hjælp

Help / Hjælp Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association

Læs mere

How Long Is an Hour? Family Note HOME LINK 8 2

How Long Is an Hour? Family Note HOME LINK 8 2 8 2 How Long Is an Hour? The concept of passing time is difficult for young children. Hours, minutes, and seconds are confusing; children usually do not have a good sense of how long each time interval

Læs mere

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

Læs mere

2a. Conceptual Modeling Methods

2a. Conceptual Modeling Methods ICT Enhanced Buildings Potentials IKT og Videnrepræsentationer - ICT and Knowledge Representations. 2a. Conceptual Modeling Methods Cand. Scient. Bygningsinformatik. Semester 2, 2010. CONTENT Conceptual

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

User Manual for LTC IGNOU

User Manual for LTC IGNOU User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service

Læs mere

Sport for the elderly

Sport for the elderly Sport for the elderly - Teenagers of the future Play the Game 2013 Aarhus, 29 October 2013 Ditte Toft Danish Institute for Sports Studies +45 3266 1037 ditte.toft@idan.dk A growing group in the population

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

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

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

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Unitel EDI MT940 June 2010 Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Contents 1. Introduction...3 2. General...3 3. Description of the MT940 message...3 3.1.

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

extreme Programming Kunders og udvikleres menneskerettigheder

extreme Programming Kunders og udvikleres menneskerettigheder extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet

Læs mere

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation IBM Software Group SOA v akciji Srečko Janjić Business Integration technical presales IBM Software Group, CEMA / SEA Service Oriented Architecture Design principles and technology for building reusable,

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

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528) Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss Brugervejledning (side 2-6) Userguide (page 7-11) Bedienungsanleitung 1 - Hvordan forbinder du din E-PAD hængelås med din

Læs mere

Online kursus: Content Mangement System - Wordpress

Online kursus: Content Mangement System - Wordpress Online kursus 365 dage DKK 1.999 Nr. 90213 P ekskl. moms Wordpress er et open-source content management system, som anvendes af mere end 23% af verdens 10 millioner mest besøgte hjemmesider. Det er et

Læs mere

Forslag til implementering af ResearcherID og ORCID på SCIENCE

Forslag til implementering af ResearcherID og ORCID på SCIENCE SCIENCE Forskningsdokumentation Forslag til implementering af ResearcherID og ORCID på SCIENCE SFU 12.03.14 Forslag til implementering af ResearcherID og ORCID på SCIENCE Hvad er WoS s ResearcherID? Hvad

Læs mere

RoE timestamp and presentation time in past

RoE timestamp and presentation time in past RoE timestamp and presentation time in past Jouni Korhonen Broadcom Ltd. 5/26/2016 9 June 2016 IEEE 1904 Access Networks Working Group, Hørsholm, Denmark 1 Background RoE 2:24:6 timestamp was recently

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

Vejledning til Sundhedsprocenten og Sundhedstjek

Vejledning til Sundhedsprocenten og Sundhedstjek English version below Vejledning til Sundhedsprocenten og Sundhedstjek Udfyld Sundhedsprocenten Sæt mål og lav en handlingsplan Book tid til Sundhedstjek Log ind på www.falckhealthcare.dk/novo Har du problemer

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

United Nations Secretariat Procurement Division

United Nations Secretariat Procurement Division United Nations Secretariat Procurement Division Vendor Registration Overview Higher Standards, Better Solutions The United Nations Global Marketplace (UNGM) Why Register? On-line registration Free of charge

Læs mere

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark Agenda The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark Colitis and Crohn s association Denmark. Charlotte

Læs mere

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form Danish Language Course for International University Students Copenhagen, 12 July 1 August 2017 Application form Must be completed on the computer in Danish or English All fields are mandatory PERSONLIGE

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

SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG

SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG Jeg håber du får fornøjelse af vores nye værktøj. WebApproval skal gøre det nemmere og mere sikkert for dig at godkende din tryksager. Har du spørgsmål,

Læs mere

Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013

Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013 Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013 OVERVIEW I m working with Professor Evans in the Philosophy Department on his own edition of W.E.B.

Læs mere

Mustafa Saglam SAP Integration & Certification Center

Mustafa Saglam SAP Integration & Certification Center SAP Enterprise Portal Business Package Certification Mustafa Saglam SAP Integration & Certification Center EP-BP 6.0 Certification Agenda Introduction to EP-BP 6.0 Certification Criteria Implementation

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

Improving data services by creating a question database. Nanna Floor Clausen Danish Data Archives

Improving data services by creating a question database. Nanna Floor Clausen Danish Data Archives Improving data services by creating a question database Nanna Floor Clausen Danish Data Archives Background Pressure on the students Decrease in response rates The users want more Why a question database?

Læs mere

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames...

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames... InDesign Basics Before you begin...................2 Part 1: Document Setup................3 Part 2: Master Pages................ 4 Part 3: Page Numbering...............5 Part 4: Texts and Frames...............6

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

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

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

Kalkulation: Hvordan fungerer tal? Jan Mouritsen, professor Institut for Produktion og Erhvervsøkonomi

Kalkulation: Hvordan fungerer tal? Jan Mouritsen, professor Institut for Produktion og Erhvervsøkonomi Kalkulation: Hvordan fungerer tal? Jan Mouritsen, professor Institut for Produktion og Erhvervsøkonomi Udbud d af kalkulationsmetoder l t Economic Value Added, Balanced Scorecard, Activity Based Costing,

Læs mere

Dean's Challenge 16.november 2016

Dean's Challenge 16.november 2016 O Dean's Challenge 16.november 2016 The pitch proces..with or without slides Create and Practice a Convincing pitch Support it with Slides (if allowed) We help entrepreneurs create, train and improve their

Læs mere

Bogen CMYK GUIDE Composing Colors Kay Werner Schmidt

Bogen CMYK GUIDE Composing Colors Kay Werner Schmidt Bogen CMYK GUIDE Composing Colors Kay Werner Schmidt Har du svært ved at sætte farver sammen? Køb bogen CMYK GUIDE Composing Colors og bliv bedre til at sammensætte farver og farvepaletter også til krævende

Læs mere

1 What is the connection between Lee Harvey Oswald and Russia? Write down three facts from his file.

1 What is the connection between Lee Harvey Oswald and Russia? Write down three facts from his file. Lee Harvey Oswald 1 Lee Harvey Oswald s profile Read Oswald s profile. Answer the questions. 1 What is the connection between Lee Harvey Oswald and Russia? Write down three facts from his file. 2 Oswald

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Dagens program. Incitamenter 4/19/2018 INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER. Incitamentsproblem 1 Understøttes procesforbedringer

Dagens program. Incitamenter 4/19/2018 INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER. Incitamentsproblem 1 Understøttes procesforbedringer INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER Ivar Friis, Institut for produktion og erhvervsøkonomi, CBS 19. april Alumni oplæg Dagens program 2 Incitamentsproblem 1 Understøttes procesforbedringer

Læs mere

ESG reporting meeting investors needs

ESG reporting meeting investors needs ESG reporting meeting investors needs Carina Ohm Nordic Head of Climate Change and Sustainability Services, EY DIRF dagen, 24 September 2019 Investors have growing focus on ESG EY Investor Survey 2018

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

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

Læs mere

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling 6.5.2009 Jacob Schaumburg-Müller jacobs@microsoft.com Direktør, politik og strategi Microsoft

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

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level. Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level Application form Must be completed on the computer in Danish or English All

Læs mere

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt

Læs mere

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family.

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. Formålet med vores hjemmesiden er at gøre billeder og video som vi (Gunnarsson)

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

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture

Læs mere

Trolling Master Bornholm 2012

Trolling Master Bornholm 2012 Trolling Master Bornholm 1 (English version further down) Tak for denne gang Det var en fornøjelse især jo også fordi vejret var med os. Så heldig har vi aldrig været før. Vi skal evaluere 1, og I må meget

Læs mere

Linear Programming ١ C H A P T E R 2

Linear Programming ١ C H A P T E R 2 Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation

Læs mere

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING Copyr i g ht 2013, SAS Ins titut e Inc. All rights res er ve d. Livet som SAS-programmør er blevet lettere med SAS Enterprise

Læs mere

INTEL INTRODUCTION TO TEACHING AND LEARNING AARHUS UNIVERSITET

INTEL INTRODUCTION TO TEACHING AND LEARNING AARHUS UNIVERSITET INTEL INTRODUCTION TO TEACHING AND LEARNING 8 BÆRENDE PRINCIPPER 1-4: BÆREDYGTIGT OG FLEKSIBELT Billigt Nemt at administrere Skalérbart Fleksibelt 5: RELEVANT Indhold organiseret i themes 6: EKSEMPLARISK

Læs mere

Behavior Driven Test and Development. ebay Classifieds

Behavior Driven Test and Development. ebay Classifieds Behavior Driven Test and Development ebay Classifieds Det kommer til at handle om User Stories agil udvikling Fokus på adfærd Gherkin syntaks Afgrænsning: Sælger ikke BDD Gør os ikke til eksperter i det

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

Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et)

Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et) Forældreskema Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et) Barnets alder: år og måneder Barnet begyndte at lære dansk da det var år Søg at besvare disse spørgsmål så godt

Læs mere

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning Side 1 af 9 SEPA Direct Debit Betalingsaftaler Vejledning 23.11.2015 1. Indledning Denne guide kan anvendes af kreditorer, som ønsker at gøre brug af SEPA Direct Debit til opkrævninger i euro. Guiden kan

Læs mere

Udbud på engelsk i UCL. Skabelon til beskrivelse

Udbud på engelsk i UCL. Skabelon til beskrivelse Udbud på engelsk i UCL Skabelon til beskrivelse Indhold 1. Forord... 3 2. What to do... 3 3. Skabelon... 4 3.1 Course Overview... 4 3.2 Target Group... 4 3.3 Purpose of the module... 4 3.4 Content of the

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

Online kursus: Web Development

Online kursus: Web Development Online kursus 365 dage DKK 7.499 Nr. 72854 P ekskl. moms Få kompetencer til at indgå i udvikling af webapplikationer. Du får værktøjerne til at benytte de nyeste funktionaliteter til webudvikling. Kurserne

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

KUNDE-WEBPORTAL KOM GODT I GANG

KUNDE-WEBPORTAL KOM GODT I GANG Specialtrykkeriet Arco KUNDE-WEBPORTAL KOM GODT I GANG Vi håber du får fornøjelse af vores nye værktøj. WebApproval skal gøre det nemmere og mere sikkert for dig at godkende din tryksager. Har du spørgsmål,

Læs mere

The GAssist Pittsburgh Learning Classifier System. Dr. J. Bacardit, N. Krasnogor G53BIO - Bioinformatics

The GAssist Pittsburgh Learning Classifier System. Dr. J. Bacardit, N. Krasnogor G53BIO - Bioinformatics The GAssist Pittsburgh Learning Classifier System Dr. J. Bacardit, N. Krasnogor G53BIO - Outline bioinformatics Summary and future directions Objectives of GAssist GAssist [Bacardit, 04] is a Pittsburgh

Læs mere

Titel: Barry s Bespoke Bakery

Titel: Barry s Bespoke Bakery Titel: Tema: Kærlighed, kager, relationer Fag: Engelsk Målgruppe: 8.-10.kl. Data om læremidlet: Tv-udsendelse: SVT2, 03-08-2014, 10 min. Denne pædagogiske vejledning indeholder ideer til arbejdet med tema

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

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret. Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

Trolling Master Bornholm 2014

Trolling Master Bornholm 2014 Trolling Master Bornholm 2014 (English version further down) Den ny havn i Tejn Havn Bornholms Regionskommune er gået i gang med at udvide Tejn Havn, og det er med til at gøre det muligt, at vi kan være

Læs mere

Business Opening. Very formal, recipient has a special title that must be used in place of their name

Business Opening. Very formal, recipient has a special title that must be used in place of their name - Opening English Danish Dear Mr. President, Kære Hr. Direktør, Very formal, recipient has a special title that must be used in place of their name Dear Sir, Formal, male recipient, name unknown Dear Madam,

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

Our activities. Dry sales market. The assortment

Our activities. Dry sales market. The assortment First we like to start to introduce our activities. Kébol B.V., based in the heart of the bulb district since 1989, specialises in importing and exporting bulbs world-wide. Bulbs suitable for dry sale,

Læs mere