Stokermonitor. Webprojekt 2008 Datalogisk Institut, Aarhus Universitet Forelæser: Kristian Bisgaard Lassen Dato: 28. Marts 2008
|
|
|
- Margrethe Søndergaard
- 10 år siden
- Visninger:
Transkript
1 Stokermonitor Webprojekt 2008 Datalogisk Institut, Aarhus Universitet Forelæser: Kristian Bisgaard Lassen Dato: 28. Marts 2008 Projektgruppe: Thomas Daugaard Kim Stenbryggen Rune Skou Larsen Stokermonitor 1
2 Indledning Dette er projektrapporten og dermed den ene del af projektgruppens besvarelse, som udover rapporten indbefatter et kørende prototype-system samt kildekoden hertil. Projektgruppens besvarelse består af 3 dele: Projektrapporten - dette dokument En eksekverbar prototype inkl. kildekode - vedlagt som stokermonitor.zip Opsætningsvejledning - appendix 1 i dette dokument Projektgruppen består af: Thomas Daugaard Kim Stenbryggen Rune Skou Larsen Besvarelsen er udarbejdet i 3. og afsluttende del af fagpakken XML og Web Teknologi ved Aarhus Universitet. Problemområde Projektgruppen har udviklet en prototype på et Web- og XML-baseret styringssystem til stokerfyr. I det følgende gives en introduktion til stokerfyr, samt en opridsning af problemområdet med Web- og XML-baseret styring heraf. Stokerfyr Et stokerfyr er et fyr, der brænder fast brændsel i form af træpiller, korn og lignende for at opvarme vand til centralvarme og evt. brugsvand. Stokerfyr er populære pga. lav brændselspris, CO2-neutral brug af biobrændsel og endeligt det særlige stoker-arrangementet, som gør at fyret kan køre automatisk længe. Figur 1: Skitse af Stokerfyr 1. Styringsenhed (TM3007, udviklet af elektronikvirksomheden Techno-Matic A/S i Hornum). 2. Brandkammer 3. Snegl fungerer som "fyrbøder" (engelsk: stoker) ved at fremføre brændsel til brandkammeret. 4. Tragt til brænsel. Stokermonitor 2
3 Web-styring Udover stokerfyret består systemet af en central web server samt brugerne. Systemkonteksten for web-styrings-systemet er illustreret på figur 2 herunder. Figur 2: Systemkontekst Stokerfyret kommunikerer gennem sin elektroniske styringsenhed over internettet med web serveren og brugerne. Web serveren kommunikerer også direkte med brugerne. Forretningsmuligheder Den forretningsmæssige baggrund for, at udvikle et web-styringssystem til styringsenheden TM3007 for stokerfyr er, at Techno-Matic's kunder har udtrykt ønske om at fjernbetjene fyrene. Det vil sige, at de firmaer, der servicerer stokerfyrene ikke nødvendigvis skal være fysisk tilstede for at foretage ændringer på styringsenhedens opsætning. Desuden vil overvågningen af fyrets drift lettes ved at driftsdata automatisk sendes til en web server hvorved kunden selv eller et service-firma kan fjernovervåge driften. Oftes vil det være sådan, at opstart, overvågning, vedligeholdelse og drift varetages af et service-firma. Dette firma vil ofte være det samme, som har solgt fyret til kunden. Stokermonitor 3
4 Use cases og afgrænsning Aktører Systemet har 4 aktører, der kan tage forårsage hændelser, som systemet skal reagere på. Fyr Producent (Techno-Matic) Service-firma Kunde Use cases På nedenstående UML use case-diagram ses et overblik over de vigtigste use cases, som et komplet system består af. Figur 3: Use cases Projektgruppen har valgt ikke at fokusere på en bred og omfangsrig prototype, men i stedet en prototype, der demostrerer kursus-relevant XML og Web-teknologi. Derfor er kun use cases vedrørende fyrets logning implementret i prototypen. Detaljeret Use case-liste På den detaljerede use case-liste er de implementerede use cases markeret med grøn. Aktør: Fyr Send log om tilstande Alarmer skal sendes fra styringsenheden hvis bestemte predefinerede grænseværdier overskrides. Dette kunne for eksempel være, en temperatur, der overskrides i mere end 5 minuter. Alarmen der sendes, skal eventuelt sendes til en service medarbejder per SMS samtidig med at alarmen logges i en alarm event fil for fyret. Evt. forespørg konfiguration Stokermonitor 4
5 Aktør: Techno-Matic Oprettelse af nyt service-firma. Redigering af service-firma Sletning af service-firma Konfiguration af adgang til system for service-firma. Sikkerhedsopsætning, således at kun autoriserede firmaer (personel) kan lave ændringer på en konfiguration. De forskellige service-firmaer må ikke kunne få adgang til hinandens kunder og deres opsætninger. Techno-Matic skal i princippet have adgang til alle data og funktionaliteter. + alle use cases under "Aktør: Service-firma" Aktør: Service-firma Send driftskonfiguration til fyr. Herunder evt. hvilke data, fyret skal logge og hvordan logningen skal foregå. Tænd og sluk fyr Monitorer logs Overvåg fyr Modtag besked hvis fyr ikke har afsendt log data indenfor et givet tidsinterval. Evt. ekstra udfordring: Google maps, lokation af fyr. + alle use cases under "Aktør: Kunden" Aktør: Kunden Adgang til egne driftsdata. (Forbrugsstatistik) Opgaveafgrænsning Den opgave som, med dette projekt skal løses er: At udvikle et web styringssystem til stokerfyrstyringsenheden TM3007, således at brugerne af stokerfyret kan overvåge fyret via internettet. Opgaven indbefatter udvikling af brugergrænseflade, lagring af data (XML format) i filsystem, opsætning af web server, mockup af TM3007 samt Web Service kommunikation hermed. Løsningsarkitektur I dette kapitel beskrives den udviklede løsnings arkitektur. Stokermonitor 5
6 Beskrivelse af system TM 3007 Styreenhed som skal kunne sende statistikdata og hændelse til vores webserver, og modtage instruktioner herfra. Webserver Skal kunne modtage data fra styreenhederne og gemme dem i et brugbart format. Brugernes rettigheder skal kunne tilpasses, så forskellige typer brugerer kan få adgang til de data som er relevant for dem. Webserveren skal også holde styr på styreenhederne og kunne alarmere brugerne, hvis der er behov for det. Brugere Som udgangspunkt har fundet tre brugertyper - Techno-Matic - Servicefirma - Kunden (der har købt fyret). Storage Vi har valgt at vores storage i prototypen vil bestå af nogle xml-dokumenter. I et endeligt produkt vil man formentlig vælge, og benytte en relationel database. Ved ikke at have et database lag, bliver det lettere at distribuere koden mellem projekt deltagerene og skolen. Håndteringen af flere samtidige brugere er et problem med denne løsningsmodel, men det vil blive løst ved at tilføje en relationel database. Prototypen vil ikke tage højde for om flere samtidige brugere skrive i vores storage. Afviklingsplatform Det udviklede web system afvikles på en teknologistak bestående af Java SE 6, Tomcat JEE Web Server og Axis2 som det ses på figur 4. Stokermonitor 6
7 Figur 4: Afviklingsplatform ROOT.war udstiller brugergrænsefaden, som er baseret på JSP og det moderne præsentationsrammeværk Ext 2.0 axis2.war udstiller den udviklede web service til at modtage logning fra fyret. Den er baseret på WSDL, XML Schema og implementret med apache Axis 2. De to webapplikationer, ROOT.war og axis2.war anvender fælles kode i stokermonitor.jar til at tilgå persistente data. Data persisteres i filsystem i filer indeholdende xml samt samlinger af xml-fragmenter. Sekvensdiagram for logning Stokermonitor 7
8 Designbeskrivelser I dette kapitel gennemgås designet af hhv. brugergrænseflade, Web Services og Persistens. Brugergrænseflade Ext XSLT Datamodel Fysisk struktur Denne sektion beskriver den fysiske struktur af datamodellen, som anvendes i stokermonitor systemet Introduktion Serveren i stokermonitor-systemet skal have mulighed for at gemme visse data omkring de fyr, som overvåges. De hovedgrupper af data, som skal gemmes, er: Konfigurationer til fyr Logfiler fra fyr Som teknologi til at gemme disse data, vælges XML, da vi så har mulighed for at prøve teknologien af i praksis. Vi anvender en almindelig filstruktur til vores XML dokumenter. Vi vil bruge XML Schema som skemasprog, da det er meget vidt udbredt, er kendt af os fra kurset og er i stand til at udtrykke de ting, vi ønsker. Efter lidt iterativ og prototypeudvikling konstaterede vi, at det vil være hensigtsmæssigt at gemme stamdata om de fyr, som er aktive i systemet, og vi tilføjede derefter en hovedgruppe mere: Registrationer af fyr Det er de 3 ovenstående hovedgrupper af data, som uddybes i denne sektion. Logfiler Logs sendes kontinuerligt fra fyr til serveren - dog med pauser imellem. Dette betyder, at mængden af logs vil vokse ret hurtigt. Der fremstod hurtigt følgende problemstillinger: 1. Hvordan tilføjes en ny log nemt i filstrukturen 2. Hvordan kan man effektivt lave forespørgsler i logs fra et enkelt fyr ad. 1: Problemet er, at en ny log skal gemmes i filstrukturen, og det vil være naturligt at gemme alle logs fra et fyr i én fil, da antallet af filer ellers vil eksplodere. Samtidig vil forespørgsler ned i data for et fyr hurtigt blive langsomme (med mindre man ligger semantik på filnavne eller -struktur, hvilket vi som hovedregel vil undgå). Hvis en ny log skal tilføjes i en enkelt fil med alle fyrets logs, skal filen parses for at loggen kan tilføjes indenfor et rodelement, som jo skal eksisterer i et XML dokument. Dette er ineffektivt, Stokermonitor 8
9 og en manuel kodning af tilføjelse til sådan en fil vil hurtigt kunne besværliggøres af encoding problemer, hvorved man risikerer ugyldig XML. Løsningen blev fundet ved, at vi opretter to XML Schema skemaer til to former for indhold: Et for alle logs for et fyr, og et for en enkelt logindgang. Skemaet for alle logs anvender så blot skemaet for en enkelt logindgang ved at det definerer en liste af disse. Skemaet for alle logs kan ses i kildekoden (xsd\furnacelogs.xsd) og skemaet for en enkelt log (xsd\logentry.xsd). Ved hjælp af disse skemaer, kan en enkelt logentry valideres op imod skemaet for en enkelt log, når den ankommer og samtidig være gyldig i den samlede fil, som beskrives af skemaet for alle logs. Problemet med at tilføje en enkelt log til filen eksisterer stadig, men løses ved at lave en "main" log fil for hvert fyr. Denne "main" logfil inkluderer så tekstuelt en almindelig tekstfil af en sekvens af enkelte logs vha. DTD ENTITY faciliteten. Resultatet er, at når man appender en ny logentry (som er valideret) til tekstfilen, som inkluderes i "main" logfilen, at man har et samlet billede af alle logs i denne samtidig med at append af nye logentries er nemme og effektive. Vi undgik desværre ikke helt at ligge semantik på logfilerne, men det er minimeret. ad. 2: Med potentielt mange logs i et log XML dokument for et fyr, er det ganske naturligt at holde sig til en metode som anvender streaming (f.eks. SAX) når filen skal læses. JDOM ville sandsynligvis kræve for meget hukommelse, da denne teknologi indeholder hele strukturen i hukommelsen. Desværre havde vi tekniske problemer med at få en SAX parser til at lave en identity transformation af "main" logfilen, da den ikke fortolkede DTD entiteter (som de enkelte logs er inkluderet med). Dette skulle anvendes i metoden getlogentries på FurnaceStorage, som skal levere et XML dokument, som valideres af Skemaet for alle logs. Vi anvendte derfor en JDOM XMLOutputter i stedet, som udfører det korrekt. Konfigurationer Et fyr skal have adgang til en konfiguration, som fortæller, hvorledes fyret skal forholde sig til varierende temperatur og iltindhold. Konfigurationen er ikke særlig stor og skal altid manipuleres individuelt, og kan derfor med fordel repræsenteres vha. JDOM. Der anvendes også JAXB til nemt at kunne manipulere konfigurationer uden kendskab til brugen af JDOM API'et. Konfigurationer er beskrevet med XML Schema skemaet, som er placeret i kildekoden under "xsd\furnaceconfig.xsd". Registrationer Af datafortolkningsmæssige hensyn viste det sig hurtigt relevant at have en liste over alle fyr i systemet, som har leveret logs, eller som har registreret sig i systemet. Man kunne også gennemgå filsystemet for at finde de fyr, som havde filer liggende, men igen ville det stride imod vores princip om at lægge semantik på filstrukturen. Derfor lavede vi det til en forudsætning, at et fyr registrerer sig med sit id (simpel string), inden det kan skrive logs eller bede om sin konfiguration. Registrationer er beskrevet med XML Schema skemaet, som er placeret i kildekoden under "xsd\registrations.xsd" og er blot en liste af furnace ids. Logisk datamodel Denne sektion beskriver den logiske datamodel, som anvendes i stokermonitor. Stokermonitor 9
10 Vi har valgt at anvende et Facade pattern til vores datamodel, så der er en klar afgrænsning mellem data (storage) delen og forretningslogikken. Dette er hensigtsmæssigt af flere årsager: Deltagerne i projektet arbejder til dels individuelt af hinanden Der kunne bruges stubbe i hele udviklingsfasen - især hvor XML skemaerne ikke var helt fastlagt Facaden For at tilgå datamodellen fra application/business niveau, skal man igennem StorageFactory, som kan levere to former for tilgange: Storage - tilgang til datamodel, som vedrører flere fyr FurnaceStorage - tilgange til datamodel, som vedrører et enkelt fyr API'et er ret simpelt og ligetil, og kommunikerer både i XML og i JAXB med klienten alt efter formålet. Implementationen Bag Storage og FurnaceStorage ligger implementationen i 3 "handler" klasser, som indkapsler de 3 hovedgrupper, LogHandler, ConfigurationHandler og RegistrationHandler. De 3 handlers instantierer hver for sig de forskellige XML api'er, de har brug for. JAXB genererede klasser bliver anvendt af implementation, facade og klientklasser. Stokermonitor 10
11 Webservices Problemstilling Et fyr i stokersystemet skal have mulighed for at logge sin status til og modtage sin konfiguration fra stokermonitor serveren. Geografisk er disse fyr placeret langt fra serveren, og det er meningen, at kommunikationen skal foregå via internettet. Teknologier Set i lyset af projektets emne, men også i kraft af at kommunikationen imellem server og fyr har karakter af RPC kald, er det naturligt at vælge en form for webservice til kommunikationen mellem disse. Vi valgte at kigge på Apache Axis2 ( da det er et meget anvendt værktøj til udvikling af webservices og det baserer sig på SOAP standarder. Afgrænsning Sikkerhed I forbindelse med kommunikation over internettet opstår der en del spørgsmål omkring sikkerhed, idet udfrakommende ikke skal have adgang til at sende falske logs eller rette konfigurationer. Vi har valgt ikke at beskræftige os med dette aspekt - opsætningen af en simpel https forbindelse kunne have løst nogle af de mest åbenlyse problemer. 2 vejs kommunikation Det ville være mere realistisk, hvis et fyr var i stand til at modtage konfigurationsændringer på serverens initiativ. Dette ville dog kræve, at fyret i sig selv kan udbyde webservices, hvilket ikke er implementeret. Det ville stort set være det samme, som skulle udføres - blot den anden vej rundt, så af hensyn til, hvad vi havde lært ved det, valgte vi at se bort fra denne del. Opbygning af webservices Når en webservice skal bygges vha. Axis 2, skal man først vælge metode at deploy'e på. Vi valgte at bruge POJOs (Plain Old Java Objects), da det forekom tilstrækkeligt til vores formål. Ideen er, at man giver Axis en POJO og en services.xml fil, som konfigurerer hvordan webservices skal udbydes. Vi lavede en klasse stokermonitor.business.stokerservice, som anvender facade interfaces fra vores datamodel til at skrive og hente de data, som er relevante. De tre dele, vi ønskede at udbyde som webservice var: Et fyr kan registrere sig på Stokermonitor serveren Et fyr kan sende en log til server Et fyr kan bede om konfiguration fra server Vi definerede en services.xml, som var som følger: <service name="stokerserverservice" scope="application"> <description> Stokermonitor 11
12 Stokermonitor server services </description> <!-- Sets up the message patterns suppported by this service --> <messagereceivers> <messagereceiver mep=" class="org.apache.axis2.rpc.receivers.rpcmessagereceiver"/> </messagereceivers> <!-- Name the POJO which is used for the service --> <parameter name="serviceclass"> stokermonitor.business.stokerserverservice </parameter> <!-- Explicitly state which message pattern is to be used by the recievelog operation. This is actually not needed, since AXIS automatically chooses in-out for operations which returns other than void --> <operation name="recievelog" mep=" /> <operation name="registerfurnace" mep=" /> <operation name="getfurnaceconfiguration" mep=" /> </service> Det mest interessante i ovenstående konfigurations fil er det Message Pattern, som ønskes anvendt. I alle tre tilfælde ønskede vi at bruge "in-out", da klienten skal kunne få besked tilbage, om operationen var gået godt. Med denne services.xml fil er Axis2 i stand til at generere en WSDL fil for vores webservice. Det næste valg er, hvorledes klienten skal genereres. Vi valgte ADB (Axis Data Binding), og fik den til - ud fra wsdl'en - at generere klienten, som skal anvende synkroniserede kald. Den genererede java klient ligger i stokermonitor.business.stokerserverservicestub. Metodesignatur for webservices De tre metoder, som udgør webservices, skulle naturligvis have en signatur. Vi valgte i de tilfælde, hvor valget var enten at sende dataholder klasser eller rå XML, at sende rå XML. Dette er i metoden recievelog(string), der som argument tager en String med en xml stump, som bør overholde XML Schema skemaet for en logentry, og i metoden getfurnaceconfiguration, som returnerer en String, som overholder XML Schema skemaet for furnace configurations. Der er følgende ulemper/fordele ved dette: Det er muligt for os at ændre XML Schema skemaerne uden at skulle ændre på webservices. Dette var en stor fordel under udviklingen Det kan blive nødvendigt at transformere fra JAXB klasser til XML og tilbage igen - f.eks. når et fyr henter konfiguration. Vi havde desværre tekniske problemer med at få ADB til at generere klienter for metoder, som anvendte JAXB klasser (som i metoden, som henter en konfiguration). Ellers havde det været en oplagt mulighed for at anvende begge metoder, men samtidig havde det krævet re-generation af klientkode ved ændringer i XML filer. Stokermonitor 12
13 Furnace simulator For at kunne afprøve webservices, udviklede vi en simulator af fyr, som - ud fra to parametre: Furnace ID og et tidsinterval i millisekunder -: 1) Registrerer sig på stokermonitor serveren med Furnace ID 2) Hver gang tidsintervallet er gået, sender den en log til serveren 3) Hver femte gang en log er sendt, beder fyret om en konfiguration fra serveren. Stokermonitor 13
14 Appendix 1: Opsætningsvejledning til prototype Prototypen er leveret som stokermonitor.zip og kræver Java SE 6 eller derover for at fungere. Systemkrav Prototypen er testet på Windows og linux, men bør kunne køre på alle platforme med Java SE6. Kræver mindst 256 mb ram og P3 eller nyere. Sådan installerer du 1. Installer Java SE 6 (hvis du ikke har den i forvejen). 2. Udpak stokermonitor.zip 3. Åbn en kommandolinje og naviger ind til "stokermonitor" mappen, hvor zippen er pakket ud. 4. Windows: Kør følgende kommando bin\tomcat6.exe Linux/unix: Kør følgende kommando java -jar bin/bootstrap.jar 5. Åbn en browser på adressen Sådan simuleres logning fra fyret Web Servicen til at logge data kan kaldes med en indbygget test-klient, som simulerer fyret ved at autogenerere data og sende dem som log. 1. Installer stokermonitor i henhold til foregående afsnit. (hvis ikke allerede gjort) 2. Åbn en browser på adressen: '1' kan udskiftes i linket til et vilkårligt furnace id, som skal være et heltal. 3. Åbn en browser på adressen 4. Naviger med venstre-menuen ind på "Furnace 1/Logs" og se den nye logning. '1' kan udskiftes til et vilkårligt furnace id, som skal være et heltal. Stokermonitor 14
15 Stokermonitor 15
16 Appendix 2: Diskussion af teknologivalg For at løse denne opgave er der blevet valgt følgende teknologier / værktøjer / metoder til at understøtte løsningen. Område Valgt Teknologi Fravalgte alternativer Programmeringssprog Java PHP, C++, C# Web Server Udvekslingsformat og Beskrivelsessprog for data Apache Tomcat XML + XML Schema JBoss, Geronimo, WebSphere Application Server, etc. DTD, Relax NG Begrundelse for valg Projektgruppen har som helhed størst kompetencer i Java. Desuden findes der en del gratis og indbyggede værktøjer i Java til understøttelse af webservices. Tomcat er gratis, let at gå til og kendes af de fleste. XML Schema er valgt da dette sprog har den bedste kombination af værktøjsunderstøttelse og udtryksfuldhed. Web Services er valgt fremfor fx. CORBA, da Web Service-teknologierne giver en mere genbrugbar løsning. Desuden opfattes det som en del af projektet at afprøve webservices i praksis. Systemgrænseflader Asynkron Web Service. SOAP, WSDL RPC, HTTP, RMI/CORBA, UDDI Asynkron kommunikation er valgt, da denne arkitektur tidsmæssigt afkobler klienter fra server, hvilket giver en større fejlrobusthed overfor forbindelsesproblemer. UDDI er fravalgt aht. simplicitet og fordi discovery samt dynamisk binding her har lav betydning. Brugergrænseflade Ext2 og JSP GWT, JSF, Servlets, Struts, etc. "Plain" JSP er den simpleste teknologi, som løser problemet. Stokermonitor 16
17 Persistering og forespørgsler XML i server-filsystem, XPATH. RDBMS, SQL, XML-database Datakonvertering XSLT Håndkodet Sikkerhedsmodel Basic HTTP autentificering og rollebaseret, deklarativ sikkerhed med JAAS og Servlet API. Form-based autentificering. Programmatisk sikkerhed. XML persistering i FS er valgt da det er det simpleste og mest gennemskuelige at udvikle med. Dette projekts fokus er på XML- og Web-teknologier - ikke high-performance persistering, som SQL RDBMS og ORM kan give. Derfor er den ekstra kompleksitet i et RDBMS fravalgt. Basic auth. er valgt aht. simplicitet. Rollebaseret, deklarativ sikkerhed er anvendt fremfor programmatisk sikkerhed da eksternalisering af sikkerhedshensyn fra program-koden giver et mere solidt og vedligeholdbart sikkerhedssystem. Stokermonitor 17
18 Appendix 3: Installation af Axis2 Installering af Apache Axis2 Web services engine på Tomcat server. Det er en forudsætning, at der er en Tomcat server installation tilgængelig, hvorpå at Axis2 kan installeres. 1. Download axis2-1.3-bin.zip fra list 2. Unzip filen axis2-1.3-bin.zip 3. Unzip filen axis2-1.3-war.zip (indeholdt i axis2-1.3-bin.zip) 4. Kopier filen axis2.war til../webapps folder i Tomcat installation. Hvis Tomat serveren kører vil axis2.war filen pakke sig selv ud automatisk. 5. Nu er web serveren faktisk klar til at få installeret web services. Installering og test af en web service. 1. kompiler nedenstående java klasse. (StockQuoteService class) package samples.quickstart.service.pojo; import java.util.hashmap; public class StockQuoteService { private HashMap map = new HashMap(); public double getprice(string symbol) { Double price = (Double) map.get(symbol); if(price!= null){ return price.doublevalue(); } return 42.00; } } public void update(string symbol, double price) { } map.put(symbol, new Double(price)); 2. Opret en folder struktur under \..\webapps\axis2\web-inf\services\, der ser således ud: StockQuoteService\samples\quickstart\service\pojo og placer StockQuoteService class i folderen pojo. 3. Opret en folder under: StockQuoteService, der skal hedde: META-INF 4. I folderen: META-INF placer en fil, som skal hedde services.xml. services.xml skal have nedenstående indhold: <service name="stockquoteservice" scope="application"> <description> Stock Quote Sample Service </description> Stokermonitor 18
19 <messagereceivers> <messagereceiver mep=" class="org.apache.axis2.rpc.receivers.rpcinonlymessagereceiver"/> <messagereceiver mep=" class="org.apache.axis2.rpc.receivers.rpcmessagereceiver"/> </messagereceivers> <parameter name="serviceclass"> samples.quickstart.service.pojo.stockquoteservice </parameter> </service> 5. Lav en reload af axis2 og servicen er klar til at blive kaldt. manager/reload?path=/axis2 6. Denne URL kan kaldes for at teste om servicen virker: services/stockquoteservice/getprice?symbol=ibm 7. Som retur fra web serveren skulle gerne komme nedenstående XML <ns<ns:getpriceresponse xmlns:ns=" <ns:return>42.0</ns:return> </ns:getpriceresponse Stokermonitor 19
KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13
KIH Database Systemdokumentation for KIH Databasen 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 KIH Database applikationsserver... 5 Forudsætninger
Arkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
e-tl System til System kommunikationstest
e-tl System til System kommunikationstest Version Dato Forfatter Kommentarer Distribueret til 0.5 22/10-07 Anders Bohn Jespersen Udgave til workshop 24/10. 0.6 24/10-07 HGK Opdateret med beskeder. 0.9
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
STS Designdokument. STS Designdokument
STS Designdokument i STS Designdokument STS Designdokument ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 0.3 2013-01 N STS Designdokument iii Indhold 1 Introduktion 1 2 Arkitekturoverblik 1 2.1 Eksterne
ecpr erstatnings CPR Design og arkitektur
1 ecpr erstatnings CPR Design og arkitektur Indhold ecpr erstatnings CPR... 1 Indhold... 2 Formål... 3 Overblik... 4 Snitflader... 4 Komponenter... 5 Webservice... 5 Statuskomponent... 5 Forretningslag...
EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø
EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...
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
OpenTele datamonitoreringsplatform
OpenTele datamonitoreringsplatform Systemdokumentation for OpenTele server- og klient 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 OpenTele
EasyIQ Opdatering 5.2.3 -> 5.4.0
EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...
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.
Vejledning til Retsinformation web services test stubs
Civilstyrelsen Vejledning til Retsinformation Version:2 2010.02.08 Indholdsfortegnelse 1. Introduktion... 3 2. Installation... 3 3. Web Service beskrivelse og testdata... 3 2010.02.08 2 Side 2 af 5 1.
Installation og Drift. Aplanner for Windows Systemer Version 8.15.12
Installation og Drift Aplanner for Windows Systemer Version 8.15.12 Aplanner for Windows løsninger Anbefalet driftsopsætning Cloud løsning med database hos PlanAHead Alle brugere, der administrer vagtplaner
Brugervejledning til databrowseren
Brugervejledning til databrowseren Indholdsfortegnelse Indledning...2 Hvordan tilgås browseren og api et...2 Databrowseren...2 Søgning...2 Visning...4 Features i listevisningen...4 Detaljeret visning...5
Installation og Drift. Aplanner for Windows Systemer Version 8.15
Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller
Hassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
XML webservice for pensionsordninger. Version 1.0 Draft A
XML webservice for pensionsordninger Version 1.0 Draft A Dokumentoplysninger Titel: Projekt: Webservice for pensionsordninger EDI kontorets branchekoordinerede dataudveksling Forfatter: Bidragsydere til
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
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Opdatering af ISOWARE til version 6.1.0
Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3
OpenTele datamonitoreringsplatform
OpenTele datamonitoreringsplatform Brugergrænsefladedokumentation 1. maj 2013 Indholdsfortegnelse Indholdsfortegnelse...2 Indledning...3 Brugergrænseflade for OpenTele-server...3 Administrationsfunktionalitet...3
OpenTele Server Performance Test Rapport
OpenTele Server Performance Test Rapport 17. marts 2015 Side 1 af 22 1Indholdsfortegnelse Indholdsfortegnelse Indledning Test forudsætning Beskrivelse af testscenarier Test af OpenTele kliniker web interface
Curriculum Vitae Jack Petersen
Curriculum Vitae Jack Petersen Jeg er løsningsarkitekt og erfaren Java-udvikler i de sidste 15+ år har jeg arbejdet i den finansielle sektor, hvor jeg har bygget både frontend og backend systemer. De sidste
Opsætning af klient til Hosted CRM
Opsætning af klient til Hosted CRM Dette dokument beskriver, hvordan der oprettes forbindelse til en Hosted CRM løsning hos TDC Hosting A/S Morten Skovgaard, 24. april 2006 1 Indledning... 2 2 Konfiguration
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
smart-house Web-Server Manual smart-house Web-Server Manual 1 of 15
smart-house Web-Server Manual CARLO GAVAZZI AS, PB 215, NO-3901 Porsgrunn Telefon: 35 93 08 00 Telefax: 35 93 08 01 Internet: http://www.carlogavazzi.no E-Mail: [email protected] 1 of 15 Indholdsfortegnelse
Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling
Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange
KIH Database. Systemdokumentation for KIH Databasen. 12. september 2014. Side 1 af 20
KIH Database Systemdokumentation for KIH Databasen 12. september 2014 Side 1 af 20 Indholdsfortegnelse Indholdsfortegnelse Indledning Systemoverblik KIH Database applikationsserver Forudsætninger før installation
Sektornet VPN. Opsætning af Novell 5.1 server og klient på. Windows 2000/NT/XP
Sektornet VPN Opsætning af Novell 5.1 server og klient på Windows 2000/NT/XP UNI C oktober 2002 Sektornet VPN UNI C oktober 2002 v1.0 Af Jesper Skou Jensen 1 Opsætning af Novell 5.1 server og klient på
Indholdsfortegnelse. Systembeskrivelse Rapporter
Indholdsfortegnelse 10. Rapporter i BBR... 2 10.1 Reporting Services arkitektur... 2 10.2 Reporting Services i Nyt BBR... 3 10.3 Faste BBR-rapporter... 4 10.3.1 Kort beskrivelse af de 25 faste rapporter...
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
SSSystems.local. Netværk. Sikkerhed. Webserver
SSSystems.local Netværk Vi har valgt at bygge vores netværk på en måde der sikre at trafik fra DMZ en ikke kan komme ned til vores LAN. Både ved hjælp af firewall regler og NAT. Men for at sikre at vi
Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...
Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...
Sektornet VPN. Opsætning af Novell 4.1x server og klient på. Windows 2000/NT/XP
Sektornet VPN Opsætning af Novell 4.1x server og klient på Windows 2000/NT/XP UNI C oktober 2002 Sektornet VPN UNI C oktober 2002 v1.0 Af Jesper Skou Jensen 1 Installation og konfiguration af Netware IP
IDAP manual Emission
IDAP manual Emission Dato: 08-06-2005 16:32:35 Indhold INDHOLD... 1 1 EMISSION... 2 1.1 KURVER... 2 1.2 RAPPORTER... 5 1.3 DATA REDIGERING... 6 1.3.1 Masse redigering... 7 1.3.2 Enkelt redigering... 10
VIGTIG information til alle kunder som kører backup over Internet via SSL - Kræver kundeaktion inden 17. april 2009!
VIGTIG information til alle kunder som kører backup over Internet via SSL - Kræver kundeaktion inden 17. april 2009! Det er blevet tid til at opdatere certifikater på alle servere som afvikler backup over
DOtAB. Teknisk rapport
DOtAB Teknisk rapport Indholdsfortegnelse Introduktion... 1 Systemarkitektur... 1 Teknologier... 1 Platforme for mobile enheder... 1 Kommunikations interfacet... 2 Udviklingsmiljø... 2 IDOtAB (service
SOSI STS Dokumentationsoverblik
SOSI STS Dokumentationsoverblik - for Sammenhængende Digital Sundhed i Danmark Date: 19. August, 2009 Version: 0.3 Author: Arosii A/S Indholdsfortegnelse 1 Introduktion...3 2 Dokumentationselementer...4
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
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
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Kom godt igang med Inventar registrering
Kom godt igang med Inventar registrering (InventoryDB) (Med stregkodesupport) programmet fra PetriSoft Introduktion... 1 Inventar registrering... 2 Værktøjsudleje... 3 Service database til reperationer
Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server
Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server Side 1 af 20 INSTALLATIONSGUIDE 1 1 FORORD 3 2 OPRET NODEN I NETGROUP PORTAL. 4 3 KLIENTSOFTWARE 5 3.1
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
MODERNISERINGSSTYRELSEN ØSLDV WINDOWS SERVICE DOKUMENTATION, INSTALLATION OG KONFIGURERING AF ØSLDV/RAY WINDOWSSERVICE
Indhold Ændringshistorik... 2 Formål... 2 Om programmet... 2 Systemkrav... 2 Installation... 3 Event Log... 5 Installationsprogrammets skærmbillede... 6 Konfigurering af xml-opsætningsfil... 7 Beskrivelse
Dan Rolsted PIT. Side 1
Side 1 Side 2 Indledning I denne vejledning vil der vises hvordan Office 365 opsættes på de forskellige platforme, herunder IOS (ipad) og Android (HTC One). Derudover vil der også være vejledning til Windows
Indholdsfortegnelse for kapitel 2
Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................
OS2faktor. Windows Credential Providers. Version: Date: Author: BSG
OS2faktor Windows Credential Providers Version: 1.0.0 Date: 17.03.2019 Author: BSG Indhold 1 Indledning... 3 1.1 Komponenter... 3 2 Forudsætninger... 3 3 Installation og konfiguration af OS2faktor Proxy...
OS2 Opgavefordeler. Løsningsbeskrivelse Version 2. Udarbejdet af Miracle A/S Simon Møgelvang Bang [email protected]
OS2 Opgavefordeler Løsningsbeskrivelse Version 2 Udarbejdet af Miracle A/S Simon Møgelvang Bang [email protected] 15/2/2015 Løsningsbeskrivelse for OS2 Opgavefordeler 1. Introduktion... 3 2. Kontekst... 3
APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne
APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA
Servlets, Tomcat & BlueJ
Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider
Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase
Indholdsfortegnelse 5. Administrationsdatabase... 2 5.1 Metadata... 2 5.2 Administrationsdata... 3 5.2.1 Indstillingsmuligheder... 3 5.2.2 Webside... 4 5.2.3 Klikafgift (Udgået)... 4 5.2.4 Modtageboks...
PHP Quick Teknisk Ordbog
PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,
Installationsvejledning SAS Foundation 9.2 SAS Enterprise Guide 4.2. Windows Vista
Installationsvejledning SAS Foundation 9.2 SAS Enterprise Guide 4.2 Windows Vista Oversigt Inden installationen... 3 Udpakning af softwaren... 4 Kopiér licensen ind... 6 Installationen... 7 Yderligere
Web services i brug. Anvendelse uden for biblioteksverdenen
Web services i brug Anvendelse uden for biblioteksverdenen Agenda Visionen bag webservices Tre cases Et kig fremad Nordija Etableret i marts 1998 Udviklingsprojekter Forretningskritiske applikationer Komponenter
INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...
INDHOLDSFORTEGNELSE INDLEDNING... 7 Kristian Langborg-Hansen KAPITEL ET... 9 I gang med App Inventor Installation af App Inventor... 10 Trådløs installation... 11 Installation af emulator (Windows)...
FairSSL Fair priser fair support
Small Business Server 2011 SSL certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en SBS 2011 server. Ved bestilling af certifikater til Small Business Server
Manual for installering og brug af IE-spyad af Anette B. Overgaard
Manual for installering og brug af IE-spyad af Anette B. Overgaard Jeg kan varmt anbefale alle at installere dette lille geniale program. Det sikrer dig mod rigtig meget spyware, som ligger rundt omkring
Curriculum Vitae for Søren Brønsted
Curriculum Vitae for Søren Brønsted Person oplysninger Søren Brønsted Kirkebjergvej 2 4623 Lille Skensved Tlf: 52 19 14 10 email: [email protected] Født: 1963 Profilbeskrivelse Jeg er er en senior Java/J2EE
SYSTEMDOKUMENTATION AF POC
DIGITALISERINGSSTYRELSEN POC PÅ ORKESTRERINGSKOMPONENTEN SYSTEMDOKUMENTATION AF POC Version: 1.1 Status: Endelig Godkender: Forfatter: Copyright 2019 Netcompany. All rights reserved Dokumenthistorik Version
Web- og serverprogrammering
Web- og serverprogrammering Introduktion til web- og serverprogrammering - dag 1 Overblik over WSP, eller: de 3+x sprog i webprogrammering (HTML, CSS, JavaScript, plus x serverside-sprog) Installation
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
Oktober 2013 HLG/XIGA. Opstartsvejledning ATS Engros 1/12
Oktober 2013 HLG/XIGA Opstartsvejledning ATS Engros 1/12 1. ATS Engros vejledning for aktører Formålet med dette dokument er at beskrive, hvordan du kommer i gang med at anvende ATS til test af certifikat
Test af Oracle Applikation Server opsætning
Test af Oracle Applikation Server opsætning 28-06-201326-02-2008 EN/TUK v. 1 1 Indhold 1. Forudsætninger i vejledningen... 3 2. Forberedelse... 3 2.1 Oracle Application Server... 3 2.2 Oprettelse af mapper...
Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S
Gode praksisser og arkitekturer i Android-programmering 1 Om oplægsholderen Jacob Nordfalk [email protected] Instruktør for Lund&Bendsen Ekstern lektor på IHK Underviser i Java SE, Java EE, Webserverprogrammering,
GUIDE TIL CLOUD DRIVE
GUIDE TIL CLOUD DRIVE Dette er en guide du kan anvende til nemt at komme effektivt i gang med at anvende Cloud Drive Indholdsfortegnelse 1. Tilgængelige Cloud Drive klienter 2. Guide til Windows klienten
Webservices. hvad er det og hvad kan det bruges til? Rikke Lose ([email protected]) Databasekonsulent, DBC
Webservices hvad er det og hvad kan det bruges til? Rikke Lose ([email protected]) Databasekonsulent, DBC Forvirret? Web-baserede services services på hjemmesider XML Webservices Teknologi 2 Web-baseret service
Opstartsvejledning ATS aktørudgave
Opstartsvejledning ATS aktørudgave 7. september 2012 XHLG/NLJ 1/13 1. ATS vejledning for aktører Formålet med dette dokument er at beskrive, hvordan I kommer i gang med at anvende ATS til test af certifikat
MANUAL. Præsentation af Temperaturloggerdata. Version 2.0
MANUAL Præsentation af Temperaturloggerdata Version 2.0 Indholdsfortegnelse FORORD...3 INTRODUKTION...3 KRAV OG FORUDSÆTNINGER...3 INSTALLATION...4 OPSÆTNING...8 PROGRAMOVERBLIK...10 PROGRAMKØRSEL...11
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
BOULEVARDEN 19E 7100 VEJLE LERSØ PARKALLE KØBENHAVN Ø TLF Unik Maps Installationsvejledning
BOULEVARDEN 19E 7100 VEJLE LERSØ PARKALLE 101 2100 KØBENHAVN Ø TLF. 76 42 11 00 WWW.UNIK.DK Unik Maps Installationsvejledning Indhold Installationsvejledning... 2 Systemkrav... 2 Installationen... 2 Ideer
Installation af web-konfigurationsprogrammer
Installation af web-konfigurationsprogrammer 23. januar 2015 MODST/JAMAN 1. Generelt Denne vejledning vedrører installation af web-konfigurationsprogrammer, som anvendes til at vedligeholde (konfigurere)
MSI pakke til distribution af AutoPilot komponenter.
MSI pakke til distribution af AutoPilot komponenter. Hermed følger en basal dokumentation for installation af AutoPilot msi pakken. Der vil i det følgende blive forklaret brugen af 4 programmer fra Microsoft,
Opsætning af Outlook til Hosted Exchange 2007
Opsætning af Outlook til Hosted Exchange 2007 Sådan opsættes Outlook 2007 til Hosted Exchange 2007. Opdateret 29. december 2010 Indhold 1 Indledning... 2 2 Outlook 2007 klienten... 2 3 Automatisk opsætning
