Spring Schema Extension eller Spring Domain Specific Languages

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

Download "Spring Schema Extension eller Spring Domain Specific Languages"

Transkript

1 Spring Schema Extension eller Spring Domain Specific Languages Forfatter: Jeppe Cramon Cramon Consulting ( Dato: 23/ Efter at have arbejdet med Spring i lang tid, har jeg lagt mærke til at mine Spring XML konfigurations filer ofte ligner hinanden. Der ud over har de en tendens til at indeholde store mængder XML. Det lugter som en mulighed for abstraktion og genbrug. Springs standard XML format er ret godt til dets formål, nemlig at styre afhængigheder mellem dine komponenter, services, resourcer og lign. Springs XML konfigurations sprog er meget lowlevel, hvilket er påkrævet for at kunne tilbyde den grad af fleksibilitet der er nødvendig. Som udgangspunkt for mit eksempel tager vi en Spring MVC web applikation, som i stor stil bruger Springs XML konfigurations fil(er). Hensigten, sammenhængen mellem Controllers og Url mapninger mistes hurtigt i de utallige <bean> definitioner. Spring-MVC er et meget fleksibel mht. hvordan dine web applikationer kan skrues sammen. Den fleksibilitet har dog den pris, at dine konfigurations filer bliver større og mere komplicerede. Når et projekt først har besluttet sig for hvordan f.eks. en web applikationerne skal konfigureres, bliver man hurtig træt af de omfangsrige konfigurations filer, hvor man nemt kan miste overblikket. Det er min holdning, at det er bedre at konfigurere en MVC applikation i et Domæne Specifikt Sprog (DSL). Jeg vil ikke gå ind i en diskussion om, hvor vidt en domæne specifik XML konfigurations fil kan kaldes et Domæne Specifikt Sprog eller ej. Det er ikke formålet med dette blog entry. Et eksempel på et mere Domæne Specifikt Sprog for konfiguration af MVC applikationer kan findes i Struts. Her finder du XML konfigurations tags/elementer, der klart mapper til nøgle objekter/koncepter i Struts. <form-bean name="accountform" type="org.springframework.samples.jpetstore.web.struts.accountactionform"/> eller <action path="/shop/additemtocart" type="org.springframework.samples.jpetstore.web.struts.additemtocartaction" name="cartform" scope="session" validate="false"> <forward name="success" path="/web-inf/jsp/struts/cart.jsp"/> </action> Det er efter min mening mere sigende end dette Spring MVC eksempel (som blot er en ud af mange måder at konfigurere URL til Controller mapping i Spring-MVC). Først er der indikeret en viewresolver (hvordan bliver view/forward værdien omsat til en navigation til en JSP eller anden controller). Dette er ikke strengt nødvendigt og skal kun ske een gang. Den er medtaget her for at gøre eksemplet mere komplet. At man kan angive en ViewResolver giver Spring-MVC en stor grad af fleksibilitet. Der næst er der angivet en Url til controller mapping. Der findes mange forskellige måder at gøre dette på. Et andet eksempel der bruger bean's navn som Url mapning er vist her: <bean id="defaulthandlermapping" class="org.springframework.web.servlet.handler.beannameurlhandlermapping"/ > <bean name="/shop/additemtocart.do" class="org.springframework.samples.jpetstore.web.spring.additemtocartcontroller"

2 >... Tilsidst er selve controlleren vist, med angivelse af formview og successview (dette afhænger igen af hvilken slags Controller du vælger at implementere. De har forskellige features og krav). <bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass"><value>org.springframework.web.servlet.view.jstlview</value></p roperty> <property name="prefix"><value>/web-inf/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> <bean id="urlmapping" class="org.springframework.web.servlet.handler.simpleurlhandlermapping"> <property name="mappings"> <props> <prop key="/shop/addtoitemcart.do">additemtocartcontroller</prop>... </props> </property> <bean id="additemtocartcontroller" class="org.springframework.samples.jpetstore.web.spring.additemtocartcontroller" > <property name="successview" value="cart"/> <property name="formview" value="cart"/> <property name="petstore" ref="petstore"/> Da Spring-MVC er så fleksibelt, gør det det også sværere at lave en simpel DSL som dækker alle mulige konfigurations muligheder, så derfor synes jeg også at deres valg at lave konfigurationen i bean XML formatet indtil videre er fornuftigt. Har jeres firma eller jeres projekt i stedet besluttet sig for en konkret måde at konfigurere Spring-MVC, kan I med fordel definere jeres egen Spring- MVC DSL, som derefter kan støtte udviklerne i konfigurationen af applikationerne. En sådan DSL kunne f.eks.se sådan ud: <spring-mvc> <view-definition viewclass="org.springframework.web.servlet.view.jstlview" prefix="/web-inf/jsp" suffix=".jsp"/> <action path="/shop/additemtocart.do" class="org.springframework.samples.jpetstore.web.spring.additemtocartcontroller" > <forward name="formview">cart</forward> <forward name="successview">cart</forward> <wiring> <property name="petstore" ref="petstore"/> </wiring> </action> <action path="/shop/newaccount.do"

3 class="org.springframework.samples.jpetstore.web.spring.accountformcontroller"> <forward name="success">index</forward> <wiring> <property name="petstore" ref="petstore"/> <property name="validator" ref="accountvalidator"/> </wiring> </action> </spring-mvc> For at kunne implementere en sådan DSL startede jeg med en meget simpel template baseret løsning der brugte Java og Velocity. Løsningen, der lige så godt kunne have været lavet i XSLT (med bedre matching muligheder tilfølge, men også en mere kompliceret mapnings fil), bruger single pass XPath matching (dvs. Velocity template koden kunne ikke foretage matches, dette kunne kun styres fra mapping filen) der konverterede input XML'en til standard Spring bean XML format. Det giver nogle simplere, men også kan så effektive mapnings filer. Mapningen for Spring-MVC DSL'en ovenfor ser sådan ud: <mappings> <resultstart> <![CDATA[ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <!-- For Spring MVC in our company we've decided to go for the BeanName url mapping handler <bean id="defaulthandlermapping" class="org.springframework.web.servlet.handler.beannameurlhandlermapping"/> ]]> </resultstart> <mapping xpath="/spring-mvc/view-definition"> <![CDATA[ <bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass"> #set($viewtype = #if ($viewtype == "JSTL") <value>org.springframework.web.servlet.view.jstlview</value> #elseif ($viewtype == "JSP") <value>org.springframework.web.servlet.view.jspview</value> #end </property> <property <property ]]> </mapping> <mapping xpath="/spring-mvc/action"> <![CDATA[ <bean #set ($forwards = $element.selectnodes("forward")) #foreach ($forward in $forwards) <property #end #set ($wiring = $element.selectsinglenode("wiring"))

4 #if ($wiring) #foreach ($wiringelement in ${wiring.elements()) $wiringelement.asxml() #end #end ]]> </mapping> <resultend> <![CDATA[ </beans> ]]> </resultend> </mappings> Dette rækker desværre ikke langt nok for mere avancerede behov, hvorfor denne løsning blev droppet til fordel for en totalt Java drevet løsning, som dog også er mere kompleks at arbejde med. Det jeg ønsker er komplet XML Schema Extension hvor elementer fra et schema kan dekorere eller bruge elementer fra et andet. Dette kan selvfølgelig misbruges til at lave meget komplekse og rodede konfigurations filer, men det kan også bruges fornuftigt til at lave let læselige og effektive konfigurations filer. Et simpelt eksempel på Schema extension, er f.eks. et transactional element der bruges til at dekorere andre objekter (som f.eks. kunne være services, facader eller DAO'er), hvorved disse objekter bliver gjort transaktionelle. I standard Spring gøres dette ved at bruge TransactionProxyFactoryBean (eller Transactional annotationen som ikke er vist her) til at wrappe target objekterne. Nedenfor at vist hvordan TransactionProxyFactoryBean er brugt i Springs PetStore eksempel applikation: <bean id="basetransactionproxy" class="org.springframework.transaction.interceptor.transactionproxyfactorybean" abstract="true"> <property name="transactionmanager"><ref bean="transactionmanager"/></property> <property name="transactionattributes"> <props> <prop key="*">propagation_required</prop> </props> </property> <bean id="petstore" parent="basetransactionproxy"> <property name="target"> <bean class="org.springframework.samples.jpetstore.domain.logic.petstoreimpl"> <property name="accountdao" ref="accountdao"/> <property name="categorydao" ref="categorydao"/> <property name="productdao" ref="productdao"/> <property name="itemdao" ref="itemdao"/> <property name="orderdao" ref="orderdao"/> </property> I dette eksempel bruges både parent og inner beans for at øge genbrugen, men der er stadig meget XML at skrive, specielt hvis du har mere end een facade. Ved brug af Spring Xml Schema Extension Parser kan jeg gøre det samme på følgende måde:

5 <?xml version="1.0" encoding="utf-8"?> <beans xmlns=" xmlns:transaction=" xmlns:xsi=" xsi:nonamespaceschemalocation="spring.xsd" xsi:schemalocation= " SpringTransaction.xsd"> <transaction:transactional defaultpropagation="propagation_required" transactionmanager="transactionmanager"> <bean class="org.springframework.samples.jpetstore.domain.logic.petstoreimpl"> <property name="accountdao" ref="accountdao"/> <property name="categorydao" ref="categorydao"/> <property name="productdao" ref="productdao"/> <property name="itemdao" ref="itemdao"/> <property name="orderdao" ref="orderdao"/> <bean class="org.springframework.samples.jpetstore.domain.logic.otherfacade">... </transaction:transactional> </beans> Xml Schema Extension Parserens konfiguration er lidt mere kompliceret end standard måden i Spring, men tilgengæld foretager man det ikke så ofte: DefaultListableBeanFactory beanfactory = new DefaultListableBeanFactory(); XmlNamespaceAwareBeanDefinitionReader beandefinitionreader = new XmlNamespaceAwareBeanDefinitionReader(beanFactory); SchemaExtensionXmlBeanDefinitionParser beandefinitionparser = new SchemaExtensionXmlBeanDefinitionParser(); beandefinitionparser.registerschemaextensionparser(" on", new SpringTransactionParser()); beandefinitionparser.registerschemaextensionparser(" new SpringBeansParser()); beandefinitionreader.setbeandefinitionparser(beandefinitionparser); int numberofbeansloaded = beandefinitionreader.loadbeandefinitions(new ClassPathResource("org/springframework/beans/factory/xml/schemaextension/MyConfi gfile.xml")); Specifikationen af XML Schemaerne til brug under XML parsning er valgfri og udeladt her. Parsningen af elementer fra de forskellige namespaces bliver foretaget af Schema Extension Parsers, som styres af en SchemaExtensionXmlBeanDefinitionParser. Hvert namespace har sin egen SchemaExtensionParser. Schema Extension Parseren er event drevet, lidt på samme måde som en SAX parser. Det vil sige at den modtager et metode kald for hver start og slut tag i XML'en. Har du f.eks. et transactional tag, vil hoved parseren (SchemaExtensionXmlBeanDefinitionParser) kalde metoderne starttransactional og endtransactional i den Schema Extension Parser, som er ansvarlig for det namespace transactional er defineret i. Start metoden modtager som parameter det XML element der bliver parset, samt et ElementParseContext object der bruges til at dele objekter og bean definitioner. End metode kaldet modtager kun et ElementParseContext objekt. Her er parseren for transaction namespacet:

6 public class SpringTransactionParser implements SchemaExtensionParser { public SpringTransactionParser() { super(); public void starttransactional(element element, ElementParseContext parsecontext) { // We tell the parse context that any immediate child contexts shouldn't register beans in the BeanFactory // since we're going to alter them in endtransactional and register them ourselves. // This hack in necessary since Spring doens't allow you to remove/unregister beans once they're registered parsecontext.setchildcontextregisterbeansinfactory(false); // Read and store the Transaction Manager and DefaultPropagation for use in the endtransactional String transactionmanagerbeanref = element.getattribute("transactionmanager"); parsecontext.getattributes().put("transactionmanager", transactionmanagerbeanref); String defaultpropagation = element.getattribute("defaultpropagation"); parsecontext.getattributes().put("defaultpropagation", defaultpropagation); public void endtransactional(elementparsecontext parsecontext) { String transactionmanagerbeanref = (String) parsecontext.getattributes().get("transactionmanager"); String defaultpropagation = (String) parsecontext.getattributes().get("defaultpropagation"); // None of the beans in the child context have been registered in the BeanFactory. // Here we register them using a new name (the original name suffixed with "Target"). // We are then inserting a new Bean into the BeanFactory with the name of the original bean. // This bean will be of type TransactionProxyFactoryBean and it's target will point // to the original bean, effectively creating a Transactonal proxy wrapping the original bean for (Iterator beansiterator = parsecontext.getchildparsecontext().getregisteredbeans().iterator(); beansiterator.hasnext();) { BeanDefinitionHolder originalbeandefinitionholder = (BeanDefinitionHolder) beansiterator.next(); // Create the TransactionProxyFactoryBean AbstractBeanDefinition beandefinition = parsecontext.createrootbeandefinition(transactionproxyfactorybean.class); beandefinition.getpropertyvalues().addpropertyvalue("transactionmanager", new RuntimeBeanReference(transactionManagerBeanRef)); Properties transactionattributes = new Properties(); transactionattributes.setproperty("*", defaultpropagation); beandefinition.getpropertyvalues().addpropertyvalue("transactionattributes", transactionattributes); beandefinition.getpropertyvalues().addpropertyvalue("target", new RuntimeBeanReference(originalBeanDefinitionHolder.getBeanName() +

7 "Target")); // Register the proxy bean BeanDefinitionHolder trxproxyfactorybeanholder = new BeanDefinitionHolder(beanDefinition, originalbeandefinitionholder.getbeanname()); parsecontext.registerbean(trxproxyfactorybeanholder); // Register the original bean BeanDefinitionHolder originalbeantargetholder = new BeanDefinitionHolder(originalBeanDefinitionHolder.getBeanDefinition(), originalbeandefinitionholder.getbeanname() + "Target"); parsecontext.registerbean(originalbeantargetholder); Her er et eksempel på hvordan dele af Parseren for Spring bean namespace er implementeret: public void startbean(element element, ElementParseContext parsecontext) { String id = element.getattribute("id"); String classname = element.getattribute("class"); AbstractBeanDefinition beandefinition = parsecontext.createrootbeandefinition(classname); BeanDefinitionHolder beandefinitionholder = new BeanDefinitionHolder(beanDefinition, id); parsecontext.registerbean(beandefinitionholder); public void endbean(elementparsecontext parsecontext) { public void startproperty(element element, ElementParseContext parsecontext) { String propertyname = element.getattribute("name"); if (element.hasattribute("value")) { String value = element.getattribute("value"); BeanDefinitionHolder beandefinitionholder = parsecontext.getcurrentbean(); beandefinitionholder.getbeandefinition().getpropertyvalues().addpropertyvalue(pr opertyname, value); else { PropertyValueHolder propertyvalue = new PropertyValueHolder(propertyName); parsecontext.getobjectstack().push(propertyvalue); public void endproperty(elementparsecontext parsecontext) { if (parsecontext.getobjectstack().istopoftype(propertyvalueholder.class)) { PropertyValueHolder propertyvalueholder = (PropertyValueHolder) parsecontext.getobjectstack().pop(); BeanDefinitionHolder beandefinitionholder = parsecontext.getcurrentbean(); beandefinitionholder.getbeandefinition().getpropertyvalues().addpropertyvalue(pr

8 opertyvalueholder.getname(), propertyvalueholder.getvalue()); else { // NOP - All was handled in the startproperty method Det spændende med Schema Extension er, at det nu er muligt at genbruge elementer på mange forskellige måder (ikke alle kombinationer giver dog mening). Du kan f.eks. genbruge Springs elementer inde i dine egne, som i dette eksemple: <dao id="customerdao2" class="com.test.mydao"> <beans:constructor-arg> <beans:ref bean="datasource"/> </beans:constructor-arg> </dao> Man bliver nød til at afveje fleksibilitet mod kompleksitet. Jo mere specifik din DSL er, desto mindre kan den genbruges. Tilgengæld kan en meget specifik DSL indkapsle en masse funktionalitet, som normalt ville kræve mange beans hvis det samme skulle gøres i standard Spring bean format. Derfor vil en meget specifik DSL også være mere effektiv til den opgave den er designet for. Med Schema Extension kan du lave project specifikke konfigurations filer, som kun tillader specfikke elementer og kombinationer. På den måde kan man nemmere kontrollere eller guide udviklerne i forbindelse med konfiguration. Da XML Schemaer er brugt som fundament, er vi mere eller mindre sikrede en nem måde at udvide funktionaliteten på, som behovet viser sig. På den måde kan vi lave specifikke og effektive Spring konfigurations filer. Valget mellem om man skal lave en DSL eller ej afhænger meget af projektet. Hvor stort er det, hvor meget bliver konfigureret, osv. Koden til XML Schema Extension er submittet til Spring projektet, som er forslag til hvordan denne funktionalitet kan implementeres. Spring 1.3 forventes at tilbyde en eller anden form for Schema Extension. Ønsker du at kigge nærmere på koden så kontakt mig på

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Model Drevet Design i Praksis

Model Drevet Design i Praksis Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/9-2009 Jeppe Cramon - TigerTeam ApS Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet

Læs mere

FMK-online's brug af SmartFraming

FMK-online's brug af SmartFraming Side 1 af 9 FMK-online's brug af SmartFraming Version 1.1 2011-11-01 Side 2 af 9 Indholdsfortegnelse Indledning...3 Initialisering og login...3 Kontekst Properties...4 user.id.authorizationid...4 userorganization.id.number...4

Læs mere

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

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Nye Java XML API'er

Nye Java XML API'er Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

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

Netværk & elektronik

Netværk & elektronik Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version="1.0" encoding="iso-8859-1"?>

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version=1.0 encoding=iso-8859-1?> Namespaces...1 Default namespace:...6 Præfiks:...7 To slags navne i XML:...11 Standard namespaces:...14 RDF Resource Description Framework:...18 Attributter:...19 DTD skemaer og namespaces:...21 Namespaces.

Læs mere

Design Diaries.

Design Diaries. Design Diaries http://blog.lykkeeilert.dk/ Patricia Gambula Larsen Patrick Lykke Eilert Ninette Andersen cph-pl130@cphbusiness.dk cph-pe58@cphbusiness.dk cph-na96@cphbusiness.dk INDHOLD Use case model

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

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

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Webkorpora: Yahoo API og perl

Webkorpora: Yahoo API og perl Webkorpora: Yahoo API og perl Jakob Halskov jh.id@cbs.dk Ph.d.-studerende Terminologi og korpuslingvistik den 21. februar 2006 1. Hvad er et API? 2. Hent din egen udviklernøgle! 3. Gennemgang af koden

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML....1 Funktioner:...2 Skrive XML dokumenter med SAX writer:...4 SAX metoder i Visual Basic:...5 error handler:...6 En content handler:...7 At validere et XML dokument med SAX:...13

Læs mere

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets. Dagens program Har alle fået? Har nogen betalt for meget? Hav jeres koder klar Domæner change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog Hvad er widgets Hvad er

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

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

IFC Egenskaber. Mohammad Hussain Parsianfar s102951 BYG DTU

IFC Egenskaber. Mohammad Hussain Parsianfar s102951 BYG DTU Mohammad Hussain Parsianfar s102951 Indholdsfortegnelse 1 Introduktion... 3 1.1 Hvorfor er det interessant... 3 1.2 Formål... 4 2 Simplebim... 5 2.1 Præsentation af softwaren... 5 2.1.1 Brugergrænseflade...

Læs mere

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet. MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.

Læs mere

Idekatalog. Så vidt jeg husker fremgik det ret tydeligt hvad der skulle være i ansøgningen. Der var bare virkelig mange informationer der skulle med.

Idekatalog. Så vidt jeg husker fremgik det ret tydeligt hvad der skulle være i ansøgningen. Der var bare virkelig mange informationer der skulle med. Ansøgning Yderligere bemærkninger til ansøgningen Det var fedt at rammerne var så åbne, som jeg så det var der kun to krav til projektet: Det skulle være open source og det skulle have det offentliges

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

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...

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

Web Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen

Web Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen Web Services Light Silkeborg Bibliotek 1 Min baggrund Faglig baggrund datalog Ansættelse 16 år som IT- udvikling og usability 4 år som usability-konsulent og nu 3 år på Silkeborg Bibliotek som IT- udvikling

Læs mere

Processer og tråde. dopsys 1

Processer og tråde. dopsys 1 Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys

Læs mere

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

PROJEKT 3. The Design Diaries. LINK TIL BLOG:  Af Mikkel Borg Svendsen & Sebastian Frank MUL B PROJEKT 3 The Design Diaries LINK TIL BLOG: http://mbsgraphic.dk/blog/ Af Mikkel Borg Svendsen & Sebastian Frank MUL B 1 INDHOLDS- FORTEGNELSE HVEM ER BLOGGERNE? 3 USE CASE 4 ATTRIBUT TABEL 5 PHP CODE

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

Læs mere

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server

Læs mere

Byens Rum. The Meaningful City of Tomorrow

Byens Rum. The Meaningful City of Tomorrow Byens Rum The Meaningful City of Tomorrow The vision of the future is always changing, dependent of the technology and knowledge on all fields: If you design the best building you know to design, that's

Læs mere

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script. Denne guide er oprindeligt udgivet på Eksperten.dk Register Globals Off Lad os slå en ting fast med det samme - register_globals = Off er en god ting, i hvert fald set ud fra et sikkerhedsmæssigt synspunkt.

Læs mere

Indhold. Senest opdateret:03. september 2013. Side 1 af 8

Indhold. Senest opdateret:03. september 2013. Side 1 af 8 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3

Læs mere

Dokumentation af optagelse.dk

Dokumentation af optagelse.dk ApplicationService Indhold Versionsstyring Introduktion Navn URL Formål Sikkerhed Operationer echo() findftuapplicationids(...) findftuapplicationbyid(...) findftuapplicationpdfbyid(...) findftuapplicationenclosurezipurlbyid(...)

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

Foto-Applikation Dokumentation. Et Kod-i-Ferien projekt

Foto-Applikation Dokumentation. Et Kod-i-Ferien projekt Foto-Applikation Dokumentation Et Kod-i-Ferien projekt 1 Indholdsfortegnelse Systemets generelle opsætning... 3 Systemets elementer... 4 iphone applikation... 4 PHP-script... 4 Wordpress-plugin... 4 Website...

Læs mere

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET. Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af

Læs mere

Region Sjælland Billedbroker projekt WP 2. Udviklerdokumentation til OCW-ConsumerModul

Region Sjælland Billedbroker projekt WP 2. Udviklerdokumentation til OCW-ConsumerModul Region Sjælland Billedbroker projekt WP 2 Udviklerdokumentation til OCW- 1 Sidst modificeret af: Indholdsfortegnelse 1 Introduktion... 4 1.1 Formål... 4 1.2 Antagelser... 4 2 Produkt oversigt... 5 2.1

Læs mere

ABM standard arbejdsgruppen nedsat af Statens Arkiver, Biblioteksstyrelsen og Kulturarvsstyrelsen

ABM standard arbejdsgruppen nedsat af Statens Arkiver, Biblioteksstyrelsen og Kulturarvsstyrelsen nedsat af Statens Arkiver, Biblioteksstyrelsen og Kulturarvsstyrelsen Titel : Transport af ABM data Dato : 2007-10-15 Status : Gældende ABM-specifikation Sekretariat: Publicering: Kulturarvsstyrelsen ved

Læs mere

CodeDOM - Dynamisk generering og kompilering af kode

CodeDOM - Dynamisk generering og kompilering af kode Denne guide er oprindeligt udgivet på Eksperten.dk CodeDOM - Dynamisk generering og kompilering af kode Med CodeDOM kan man på runtime generere kode, kompilere det og derefter afvikle det. I denne artikel

Læs mere

Dokumentation af optagelse.dk

Dokumentation af optagelse.dk ApplicationService Indhold Versionsstyring Introduktion Navn URL Formål Sikkerhed Operationer echo() findftuapplicationids(...) findftuapplicationbyid(...) findftuapplicationpdfbyid(...) findftuapplicationenclosurezipurlbyid(...)

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

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har

Læs mere

Modern Concurrency Abstractions for C#

Modern Concurrency Abstractions for C# Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation

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

ADIS, WS og Meta Service

ADIS, WS og Meta Service ADIS, WS og Meta Service Om ADIS, Web Services, Værktøjer og Meta Service. Michael Jacobsen Technology Network Management Agenda ADIS og dens udvidelse ISOagriNET Web Service med eller uden fuldt objektmodel

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Google Maps og SAS/GRAPH software

Google Maps og SAS/GRAPH software Google Maps og SAS/GRAPH software Jens Dahl Mikkelsen, Business Advisor, Information Management Agenda Formål Introduktion til geografisk visning af data SAS/GRAPH software Google Maps, Google Earth Geokodning

Læs mere

Eksempel på transformation: XML -> RTF dokument:

Eksempel på transformation: XML -> RTF dokument: Eksempel på transformation: XML -> RTF dokument: RTF dokumenter er Rich Text dokumenter der kan formateres med farver og forskellige skrifttyper. I nogle tilfælde kan det være interessant at transformere

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version)

Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version) Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version) Introduktion til Google Tag Manager og Youtube... 1 Opsæt Tags, Variabler og Triggers... 4 A) Variabler (variables)...

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

MultiProgrammer Manual

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

Læs mere

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

Læs mere

FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)

FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) INDHOLD 1. FORMÅL OG SCOPE... 1 1.1. TEKNOLOGIER OG RAMMEVÆRKER... 1 2. ARKITEKTUR... 2 2.1. KOMBIT.FLIS.PORTAL... 3 2.2. SCRIPTS... 3 2.3. SHAREPOINT

Læs mere

Serialization i Java

Serialization i Java Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Certificate Revocation Authority. Certificate Revocation Authority

Certificate Revocation Authority. Certificate Revocation Authority Certificate Revocation Authority i Certificate Revocation Authority Certificate Revocation Authority ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 1.0.6 Februar 2015 AA Certificate Revocation Authority

Læs mere

BlogReader 1.0.0 Af Jonas F. Jensen.

BlogReader 1.0.0 Af Jonas F. Jensen. BlogReader 1.0.0 Af Jonas F. Jensen. Indholdsfortegnelse Forord.....3 Hvad er BlogReader?......4 RSS, XML og sematic web......4 Klasse struktur i UML......4 Overordnet opbygning......5 UML diagram over

Læs mere

OIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk

OIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk OIOSAML.NET og Umbraco ved Thomas Ravnholt ravnholt @ silverbullet.dk Silverbullet, stiftet 2003 Silverbullet A/S IT- rådgivning, projektledelse og implementering Officiel SKI-leverandør Kontorer i Århus

Læs mere

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

Annonceimport på GulogGratis.dk

Annonceimport på GulogGratis.dk Annonceimport på GulogGratis.dk Indhold Annonceimport på GulogGratis.dk...1 Hvad er det?...2 Hvordan foregår det?...2 Hvad er arbejdsprocessen?...2 Hvor skal feedet ligge?...2 Hvordan skal feedet udformes?...2

Læs mere

Citrix CSP og Certificate Store Provider

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

Læs mere

Agenda. Ny Digital Strategi Data og Vækst Smart Government. Carsten Ingerslev: caring@erst.dk

Agenda. Ny Digital Strategi Data og Vækst Smart Government. Carsten Ingerslev: caring@erst.dk Agenda Ny Digital Strategi Data og Vækst Smart Government Carsten Ingerslev: caring@erst.dk Roadmap for forudsætninger Indsatsområder 1 2 Vision og rammefortælling 3 1.1 1.2 2.1 2.2 2.3 3.1 3.2 Digital

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

Extension udvikling i Mozilla Firefox. Henrik Gemal

Extension udvikling i Mozilla Firefox. Henrik Gemal Extension udvikling i Mozilla Firefox Henrik Gemal Side 1 Hvem er jeg? Web udvikler hos TDC Laver TDC.dk og TDCOnline.dk Laver HTML, CSS, PHP Med i Mozilla projektet i mange år Udviklet et par extensions

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

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

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

Læs mere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Dokument version: 2.0 ADS version: 1.0 Henvendelse vedrørende affald: Miljøstyrelsen Roskilde, Affaldssekretariatet

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

DOM Document Object Model:

DOM Document Object Model: DOM Document Object Model:...1 Typer af noder i træet:...3 Reading:...4 document:...6 element:...7 attributter:...12 parser fejl:...13 XPATH:...13 Stier i XPATH:...13 Prædikater:...14 Operatorer:...15

Læs mere

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 Webshop2 API Model... 3 Brugen af API et... 4

Læs mere

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

Embedded controller, almen.

Embedded controller, almen. Ver. 310807 s. 1 Bilag 3 Valgfri specialefagskatalog Data- og kommunikationsuddannelsen Undervisningsministeriet September 2007 /Steen Albertsen Ver. 310807 s. 2 Embedded controller, almen. Varighed 1

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær. EfterUddannelse.dk FraværService - systemdokumentation BRUGERDOKUMENTATION: WEB-SERVICE Af: Logica Indhold 1. Indledning... 1 1.1 Formål... 1 1.2 Webservice version... 1 1.3 Historik... 1 2. Absence Webservice...

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User Hosted CRM 2011 Outlook client connector setup guide Date: 2011-06-29 Version: 1 Author: anb Target Level: Customer Target Audience: End User Language: da-dk Page 1 of 16 LEGAL INFORMATION Copyright 2011

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

EasyRun En løbers bedste ven

EasyRun En løbers bedste ven En løbers bedsteven Anders Arnfast 06525, Martin Søberg 0655, Ken Falk 06504 09 . INDHOLD. Indhold... 2 2. Introduktion... 3 Opsætning... 3 3. System arkitekturdesign... 4 4. Hardware Design... 5 Ethernet

Læs mere

Godkendelsesdato Version Rettet af Rettelse(r)

Godkendelsesdato Version Rettet af Rettelse(r) REST/SOAP Services Referenceimplementation Godkendelsesdato Version Rettet af Rettelse(r) 17/6-2010 1.0 Stefan L. Jensen 1 Indhold 1. Indledning... 3 2. Visual Studio solution... 3 3. Konfiguration...

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

0.9 19-09-2012 DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.

0.9 19-09-2012 DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat. Specifikation 19. september 2012 DAVAR J.nr. 2012-6211-281 Sagdokumentformat Versionshistorik Version Dato Initialer Noter 0.7 15-06-2012 DAVAR Høringsversion. Indsat MeddelelseAttention. 0.9 19-09-2012

Læs mere