I regObs utviklerskolen skal jeg ta for meg det grunnleggende som skal til for å kunne utvikle applikasjoner eller tjenester som benytter seg av regObs api'et. Siden regObs benytter seg av OData skal vi i denne første delen bli kjent med api'et gjennom mulighetene vi har i OData til å hente ut de data'ene vi ønsker.
For de som er ukjent med OData så står dette for Open Data Protocol. Kort fortalt er dette en webprotocol som gjør det mulig å gjøre spørringer og oppdatere data via kjente webteknologier som http, atom og Json. Mer utførende forklaring og detaljer finner du på http://www.odata.org/.
Det eneste du trenger for å få tilgang til regObs api'et er en nettleser hvor du enkelt taster inn adressen til regObs-stage http://h-web01.nve.no/stage_regobsservices/Odata.svc/ eller regObs-test http://h-web01.nve.no/test_regobsservices/odata.svc/ (prod versjoner finner du her: http://api.nve.no) og du får da listet ut datamodellen eks:
Som dere ser får vi listet ut datamodellen. Vær oppmerksom på at entiteter som slutter på KD er oppslagstabeller som man kun kan lese fra.
Entiteter som slutter på V er data som er samlet i ett view og som kun kan leses fra.
Vi kan nå starte å benytte oss av kraften som finnes i OData hvor det gir oss veldig mange muligheter til gjøre spørringer for å hente ut de dataene vi selv ønsker.
Eksempelvis så kan vi nå hente ut alle naturfarene gjennom å referere til Entiteten direkte i url'en. Naturfarene ligger i Entiteten som heter GeoHazardKD. Eks: http://h-web01.nve.no/test_regobsservices/odata.svc/GeoHazardKD()
Naturfarene blir da listet ut sammen med metadata i ett atom format.
Ser dere nærmere på data'ene så kommer det både norsk og engelske tekster. Årsaken til dette er at regObs gjennom en LangKey i alle oppslagstabeller har støtte for flere språk. Hvilke språk som støttes finner dere i entiteten Language. Jeg ønsker nå å sortere ut kun de norske tekstene og jeg ønsker å få dataene mine i json format. Dette gjøres enkelt ved å endre på url'en hvor vi sier at vi skal ha norske tekster dvs. LangKey = 1 og json format, eks: http://h-web01.nve.no/test_regobsservices/odata.svc/GeoHazardKD()?$filter=(cast(LangKey,'Edm.Int32'))%20eq%201&$format=json
Figuren over er et utsnitt av Silverlight OData Explorer.
- Hvordan se på og hente ut data fra regObs api'et vha. OData.
- Hente ut data fra regObs vha. JQuery og Ajax.
- Hente ut data fra regObs vha. VisualStudio og .NET
- Logge på regObs for å hente ut beskyttet data.
- Registrere en hendelse i regObs vha. VisualStudio og .NET
For de som er ukjent med OData så står dette for Open Data Protocol. Kort fortalt er dette en webprotocol som gjør det mulig å gjøre spørringer og oppdatere data via kjente webteknologier som http, atom og Json. Mer utførende forklaring og detaljer finner du på http://www.odata.org/.
Det eneste du trenger for å få tilgang til regObs api'et er en nettleser hvor du enkelt taster inn adressen til regObs-stage http://h-web01.nve.no/stage_regobsservices/Odata.svc/ eller regObs-test http://h-web01.nve.no/test_regobsservices/odata.svc/ (prod versjoner finner du her: http://api.nve.no) og du får da listet ut datamodellen eks:
Entiteter som slutter på V er data som er samlet i ett view og som kun kan leses fra.
Vi kan nå starte å benytte oss av kraften som finnes i OData hvor det gir oss veldig mange muligheter til gjøre spørringer for å hente ut de dataene vi selv ønsker.
Eksempelvis så kan vi nå hente ut alle naturfarene gjennom å referere til Entiteten direkte i url'en. Naturfarene ligger i Entiteten som heter GeoHazardKD. Eks: http://h-web01.nve.no/test_regobsservices/odata.svc/GeoHazardKD()
Ser dere nærmere på data'ene så kommer det både norsk og engelske tekster. Årsaken til dette er at regObs gjennom en LangKey i alle oppslagstabeller har støtte for flere språk. Hvilke språk som støttes finner dere i entiteten Language. Jeg ønsker nå å sortere ut kun de norske tekstene og jeg ønsker å få dataene mine i json format. Dette gjøres enkelt ved å endre på url'en hvor vi sier at vi skal ha norske tekster dvs. LangKey = 1 og json format, eks: http://h-web01.nve.no/test_regobsservices/odata.svc/GeoHazardKD()?$filter=(cast(LangKey,'Edm.Int32'))%20eq%201&$format=json
Nærmere info om flere måter å gjøre spørringer på finner dere på odata.org sine sider. Det finnes også en del 3parts verktøy som hjelper dere å få oversikt og generere url til litt mer avanserte spørringer. Silverlight OData Explorer og Linqpad.
Figuren over er et utsnitt av Silverlight OData Explorer.
Ingen kommentarer:
Legg inn en kommentar