EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

Relaterede dokumenter
Navision Stat (NS 9.2)

Byggebasen Javascript

DOtAB. Teknisk rapport

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

Studieordning del

Testservice med anvendelse af Microsoft software.

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

Indholdsfortegnelse. Version Serviceplatformen - opsætningsguide (Eksterne testmiljø) Indledning... 2

Webservices. hvad er det og hvad kan det bruges til? Rikke Lose Databasekonsulent, DBC

Installation og Drift. Aplanner for Windows Systemer Version

2. Systemarkitektur... 2

SSSystems.local. Netværk. Sikkerhed. Webserver

Brugervejledning til databrowseren

OIS - Applikationskatalog

Ungebasen. Dokumentation af webservices til udveksling af data mellem Ungebasen og et kommunalt vejledningssystem PUBLICPUBLIC PUBLICPUBLICX

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Web services i brug. Anvendelse uden for biblioteksverdenen

Studieordning del

XML webservice for pensionsordninger. Version 1.0 Draft A

Bilag 2 - Fælles arkitekturramme for GD1-GD2-GD7. Etablering af datadistribution på den Fællesoffentlige Datafordeler

10. Rapporter i BBR... 2

EasyIQ ConnectAnywhere Release note

EDI. Microsoft Dynamics NAV 2009 SP1 Klassisk. Side 1. Copyright: Naddon version

Internet Information Services (IIS)

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

GeoRest API. Nye geonøgler i Kortforsyningen. Nikolaj Kamstrup

ADIS, WS og Meta Service

Bilag 2 Kundens IT-miljø

Installations- og. Brugervejledning. Rambøll CAREArkiv - version feb Rambøll Informatik A/S. j.nr. LLP feb.

UniLock System 10. Manual til Integration med Salto adgangskontrol (RW Pro) Projekt PCS Version 1.0 Revision

Opsætning (GIS udbyder)

ITD ecmr WEB Services. Af Allan Wisborg, IT Udvikler

PHP Quick Teknisk Ordbog

Godkendelsesdato Version Rettet af Rettelse(r)

DOKUMENTBROKER Koncept

MANUAL. Præsentation af Temperaturloggerdata. Version 2.0

Vejledning til opgraderet version af Danmarks Arealinformation

Curriculum Vitae Jack Petersen

LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april J.nr.: 4004 V

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0

Agenda. Kort om Docpoint a/s. Passer Lasernet ind i en moderne IT-arkitektur?

elib Aleph, ver.18 Introduktion til GUI FUJITSU SERVICES A/S

Præsentation af BSK regionens identity and access management platform

MM Hul-Igennem-Test i Prod. Information til kunder

Denne vejledning dækker opsætning og brug af påmindelsesprofiler og påmindelser om manglende registrering af fravær på AMU kurser.

Organisationen ByggeBasen FmbA Egebækvej Nærum. Kontakt DB-supportkonsulenterne på tlf:

LaserNet v6.6 Release Nyhedsbrev

Digital Print Room Implementering og tilretning. 11. Sep TMC Plot-SIG

Opsætning (GIS udbyder)

Vejledning til Kilometer Registrering

Spm.2: Ordregiver bedes bekræfte at tilbuddet skal afleveres den og ikke som angivet i Bilag A den 31.8 kl. 10.

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

GeoGIS2020. Installation. Udkast. Revision: 1 Udarbejdet af: BrS Dato: Kontrolleret af: Status: Løbende Reference: Godkendt af:

PID2000 Archive Service

Kommunale integrationsløsninger i SkoleIntra v/ Ole Windeløv

LUDUS Web Installations- og konfigurationsvejledning

VIGTIG information til alle kunder som kører backup over Internet via SSL - Kræver kundeaktion inden 17. april 2009!

App til 3 beskyttet natur

OIO standardservice til Journalnotat. Generel servicevejledning. KMD Sag Version KMD A/S Side 1 af 15. September 2013 Version 1.

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

Kom godt i gang med Digital Transformation via din Microsoft ERP-platform

OpenTele datamonitoreringsplatform

SCALA IC5 CONTENT Manager

GUIDE TIL CLOUD DRIVE

Indholdsfortegnelse. Systembeskrivelse Rapporter

EU-udbud af WAN infrastruktur

Hvornår er dit ERP-system dødt?

Informationsmøde om kalenderintegration til Planner. 4. september 2015 Styrelsen for Arbejdsmarked og Rekruttering

EDH-dokumenter. - på eksterne hjemmesider der ikke hostes af C&B Systemer

Database for udviklere. Jan Lund Madsen PBS10107

Web services til med udgangspunkt i katalogen. Adam Dickmeiss Index Data

NEMT OG EFFEKTIVT - Ejendomsadministration

Civilstyrelsen. Lex Dania editor Installationsvejledning. Version:

AO Værktøjer. Installationsvejledning. Version 3. Version 1.0

KRAV TIL INFRASTRUKTUR

TravelTales; håndtering af konfigurationsfil

SYSTEMDOKUMENTATION AF POC

Vilkår for Dialogintegration

Vejledning til Teknisk opsætning

UniLock System 10. Manual til Eksport til Nortec vaskerisystem. Projekt PCS Version 1.0 Revision

Bilag 3 FODS 8.2, Fuldt Digital Lokalplaner Kravspecifikation.

FORSLAG TIL MASSEAFSENDELSE

SKAB SUCCES SOM LEVERANDØR AF DIALOG MANAGER

Forretningsmæssige testscases for Seal.net i relation til anvendelse af NSP services

Museernes UdgravningsData (MUD) En præsentation af systemet

Civilstyrelsen. Lex Dania editor Eunomia. Installationsvejledning. Version:

UNI Login. Eksport webservice. WS17 v1

BRUTTO CV Peter Petersen

EasyIQ Opdatering > 5.4.0

Baggrund Funktionsområder

Hillerød Kommune. It-sikkerhedspolitik Bilag 9. Udvikling, anskaffelse og vedligeholdelse

Integrationsmanual. Anvendelse af webservice til persondataimport til Campus. Brugervejledning til udviklere

OS2faktor. Windows Credential Providers. Version: Date: Author: BSG

Serviceplatformen informationsmateriale. Leverandørmøde 7. februar 2013

It arkitektur- og sikkerhedskrav Løn og personalesystemsudbud. Region Midtjylland 2010.

Indholdsfortegnelse for kapitel 3

10. Rapporter i BBR... 2

OS2autoproces. Vejledning til AD importer løsningen

Transkript:

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... 4 Datakontrakter... 5 Opsummering... 5 Valg af endepunkter... 6 WSDL... 6 SOAP og WSDL... 6 Binær over NET.TCP... 6 REST og JSON... 6 REST kontra WSDL... 6 Side 1

Byggebasen Services indledning Levering af data i dag, foregår det ved hjælp af en række filoverførsler ved hjælp af ftp. Til det formål er der vedtaget en række formater tilknyttet bestemte funktioner. Det være sig vareoprettelse, prisændringer mm. Fælles for alle formaterne er, at de er i fasteformater. Enten er de afgrænset i semikolonfelter (csv) eller fastepladser. Det betyder at hver ny oplysning skal placeres på den rigtige position og ikke må overskride nabofeltet og oplysninger skal komme i bestemt rækkefølge. Ved udvidelser af byggebasen og tilføjelser af nye oplysninger, skal hvert tun-format oprettes igen med et nyt format. Ved anvendelse af XML vil der opnås en meget større fleksibilitet, hvor nye felter løbende kan tilføjes og rækkefølgen eller udeladelse af felter ikke er betydende. Størrelsen i XML filer vil være større end formater der benyttes i dag, men det forventes ikke at have nogen betydning, da XML-filer kan komprimeres kraftigt og set i forhold til den konstante udvikling der hele tiden giver øget lagerkapacitet og øget båndbredde. Kald til byggebasens data fra andre systemer har indtil nu været leveret som en form for hjemmeside, hvor systemet har kaldt en url med specielle parametre tilknyttet. Dernæst har det været datamodtagerens opgave at finde og udvælge indholdet af det svar, som systemet har leveret. Når en datamodtager ønsker at modtage alle katalogdata på et givet tunnr starter det typisk med en forespørgsel på dataidentifikationsstrengen, som giver en række med 40 tegn (0 eller 1), denne fortæller hvilke data der kan hentes. For hvert 1 findes der data, og der kan laves yderligere opslag. Dvs. at der på et tunnr kan risikeres at skulle laves 40 ekstra opslag. Det belaster databaseserveren og webserveren og det tager tid både hos kunden og serveren. I dag er datasikkerheden bestemt af den IP-adresse som datamodtageren kalder fra, byggebasen slår efterfølgende adressen op i databasen. IP-adressen fungerer bedst i enkeltbrugermiljøer til at identificere den enkelte datamodtager og den maskine der kaldes fra. Vi ser i stigende grad at kunder vælger centraliserede løsninger hos 3.parts leverandører, som kalder byggebasen på vegne af deres kunder. Derfor at det sværere at identificere og kontrollere, om de enkelte slutmodtagerer er medlemmer af byggebasen og hvilke oplysninger de har rettigheder til at se. I de seneste par år er web-services blevet meget udbredt. Det er en effektiv måde at kunne levere data sikkert og pålideligt. Web-services kan kommunikere både i binær form eller i XML. Derfor er web-services ikke afhængig af platform eller teknologier hos kunden. På det seneste har Microsoft samlet teknologier til fjernkommunikation og web-services under et samlet begreb, som de kalder for Windows Communication Foundation (WCF). Det gør det muligt at tilbyde den samme funktionalitet på flere forskellige måder. Dvs. at udviklere af 3.parts produkter kan tage stilling til hvilken teknologi der passer bedst til deres løsning. Målsætning Byggebasen ønsker at øge datasikkerheden og give adgangen for eksterne kald et teknologisk løft, som kan leve op til kravene i dag og et stykke ud i fremtiden. Side 2

Derfor udvikles en ny løsning til levering af katalogdata. Systemet skal udvikles primært til at kunne levere data til udviklingsmiljøer som.net. Men også PHP, JAVA vil kunne bruges, v.h.a af de standarder som WCF tilbyder. Derfor flg. krav til designet: - Der skal sættes nogle faste standarder for de datapakker der skal leveres. - Redegørelse af funktioner der er behov for. Udvikling af services laves i moduler og vil kunne skaleres til også at kunne dække andre funktionaliteter. Som f.eks.: - Søgninger - Vareoplysninger - Vedligehold af data. - Andet? Valg af teknologier Web-services udvikles i standard C# i.net 4.0 med implementering af WCF. Til hostning af service benyttes IIS7.0 på en Windows 2008 R2 server. Valget af hostning i IIS7.0 skyldes at det altid vil være tilgængeligt for systemer på lige fod med andre hjemmesider, samt IIS7.0 i forbindelse med WCF også kan sende og modtage trafik på andre kanaler end standard hjemmesider (http) Ved brug af WCF kan der også drages fordel af, at den samme service kan tilbydes i den rene binære form og ikke nødvendigvis XML. Der tilbydes også service-endepunkter i form af REST og JSON serialisering. WCF udmærker sig ved at være meget fleksibel og har som mål at være tilgængelig for så mange miljøer som muligt i udbuddet af mulige endpoints. Kommunikationsmodel for byggebasen Binær DB Manager Services (WCF) Binær SOAP (hurtig) WSDL (XML) SOAP BB Komponent (DLL) DB Byggebasen REST JSON SOAP Eksternt system Ekstern DB Folder FTP XML / JSON / WSDL (ZIP) FTP Ovenstående diagram beskriver byggebasens forskellige måder at levere data på (venstre side). DB Byggebasen er selve databasen hvor alle oplysninger er gemt i dag og som alle systemer benytter. Side 3

DB Manager er det lag mellem systemerne og databasen, som garanterer en korrekt lagring og validering af oplysninger. I dag benyttes FTP-folderen, hvor brugere afleverer eller modtager data i fast format. Det er her TUN Batch-job afvikles. WCF vil blive koblet på som en udvidelse og vil kunne kommunikere med eksterne systemer. Såfremt der er særlige omstændigheder der gør det vanskeligt at benytte web-services hos kunden. Vil det være muligt at udvikle komponenter, der kommunikere direkte med brugers egen database og byggebasen igennem en særlig BB komponent (DLL). Komponenten vil evt. også kunne kommunikere med brugerens eget ERP-system. Afhængig af system hos kunden skal der ske en tilretning eller udvikles en programudvidelse. Her anbefales at man tidligst arbejder mod en løsning, der benytter SOAP til SOAP via WSDL (XML kontrakter). WSDL udemærker sig ved at indeholde definitionerne på objekter der skal sendes mellem klient og server. Men også REST er en mulighed da alle datakontrakter forsøges designet til implementering af REST metoder. Services.byggebasen.dk Addressen http://services.byggebasen.dk/ (test: servicetest.byggebasen.dk) fungerer som indgangen til systemet og herfra forbindes teknologier mellem byggebasen og datamodtager med hinanden. En af styrkerne ved WCF, er at kommunikationen er kontraktbaseret mellem server og klient. Service.svc oplyser klienten om kontrakterne for hvordan dataudvekslingen skal foregå og dermed hvilke formater data leveres i. Ovenstående adresse vil også fortælle hvilke under- services der er til rådighed og deres datakontrakter der kan benyttes mod byggebasen. Et typisk kald til en service vil kunne beskrives på følgende måde: Side 4

Klient Svarpakke Verifersionspakke Verificere Metodekald + V. Pakke Server Klient klargør en verifikationspakke, som servicen skal bruge til at kontrollere tunbrugeres adgang til data i byggebasen. Verifikationspakken sendes sammen med den ønskede forespørgsel afsted til serveren. Serveren identificerer bruger og udfører den ønskede forespørgsel, som sendes tilbage til klienten i form af en svarpakke. Hvis der opstår fejl i verificeringen eller forespørgselen ikke kan udføres, vil svarpakke indeholde besked herom. Datakontrakter Overordnet er der 2 datakontrakter som altid skal benyttes i kommunikation mellem klient og server. Alle funktioner og metodekald til alle services skal altid modtage en brugeridentifikationspakke som indeholder tun-brugers oplysninger. Alle funktioner og metodekald til alle services vil altid levere en svarpakke, som indeholde resultater på forespørgsler og/eller en fejlbeskeder. Opsummering Dataudveksling vha. af web-services er en stabil og meget fleksibel metode. Det ses bl.a. tydeligt i udvikling af applikationer til smart phones (I-Phone og Android) hvor udvikler værktøjerne har meget stor fokus på brugen af web-services. Derfor vil det kræve lidt eller ingen tilretning af byggebasen for også at kunne levere data til disse. Side 5

Desuden vil det i fremtiden også gøre det lettere at udvikle et nyt grafisk administrationssystem eller produktsøgning som vi kender i dag i form admin.byggebasen.dk og www.byggebasen.dk. Valg af endepunkter Da byggebasens webservices tilbyder mange forskellige endepunkter, er det derfor vigtigt at vælge den, som bedst passer til løsningen. WSDL WSDL er den kontrakt for servicen, der definere metodekald. Med tilhørende retur typer og parametre. Ændring af disse kræver dannelse af en ny WSDL. Hvor ændringerne i selve koden inde i metode ikke kræver en ny WSDL. WSDL er ikke særlig læsevenlig for brugeren og benyttes primært af udviklingsværktøjerne. SOAP og WSDL SOAP er en standard, hvor objekter serialiseres ud fra en given definition givet i en WSDL fil. Typisk vil udviklings miljøet selv genere de klasser og objekter, således at udviklingen er meget transparent. Hvis der ændres i servicen fra serverens side, eller på anden måde dannes en ny WSDL, skal klienten altid sørge for at opdatere til seneste version. SOAP er en serialisering i et XML format og dermed et tekst dokument. Dog sørger SOAP standarden for at indbyrdes relationer i det serialiserede objekt er entydige og atomiske. Desuden vil selve serialiseringen være lidt mere ressource krævende i forhold løsninger hvor processorkræft eller båndbredde er en faktor. Ex. Løsninger til smart phones eller tablet pc. Binær over NET.TCP En løsning baseret på NET.TCP løsning forbindes i princippet på samme måde som en SOAP service endepunkt. Men der vil også blive mulighed for tilknyt af events notifikation i serviceafviklingen på serveren. Ligesom SOAP dannes referencer på baggrund af WSDL og skal opdateres hver gang der ændres servicekontrakten. REST og JSON REST service kan bedst sammenlignes med alm. Hjemmeside hvor servicen kaldes direkte vha. en URI (form for URL). I stedet for at modtage HTML, modtages der en form for serialiseret objekti JSON format. JSON formatet er forskelligt fra XML og har sin styrke at det er meget nemt at implementere i javascript. Samt meget mindre ressourcekrævende i forhold til SOAP, når der skal benyttes webservices til smart phones m.m. REST kontra WSDL Der fordele og ulemper ved valg af enten REST eller WSDL/SOAP. Side 6

WSDL har den fordel at i et udviklermiljø som Microsofts Visual Studio, kobles en service på, som var det en almindelig DLL eller anden komponent. Derved er der også IntelliSense på objekterne. Hvis der opstår ændringer i servicekontrakterne, skal udviklermiljøet opdateres og synkronisere de nye oplysningerne, samt der skal bygges en ny version af det produkt der benytter webservices. I værste fald vil eksisterende produkter ikke kunne afvikles. Det er specielt kritisk hvis der benyttes de binære protokoller. SOAP som er XML serialiseret er mere tolerant over for udvidelse af kontrakter. Men tåler ikke ændringer i eksisterende metodekald eller svar i serviceresponse-klasserne. REST kræver ikke den samme synkronisering. Her er det udviklerens opgave at sørge for at kontrakten implementeres legalt i forhold til det gældende programmeringssprog. REST kræver derfor også en bedre dokumentation for webservices og dets metoder. Hvilket forsøges gennem resten af dette dokument. WSDL kan serialiseres i XML og binære formater, hvor REST serialiseres i JSON. Det binære format er det hurtigste at arbejde med. Det kræver meget lidt båndbredde i forhold til den trafik der sendes mellem server og bruger. XML og JSON er begge tekstformater og kræver cirka de samme ressource i form af processoren (CPU) ved serialiseringen (transformering af data til tekst eller trafikpakke) af oplysninger. JSON er et mere kompakt format end XML og fylder derfor mindre. Derfor vil hastigheden af data mellem server og bruger være påvirket af internetforbindelsens båndbredde. Side 7