søndag 18. desember 2011

regObs, Utviklerskolen del 1

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. Utviklerskolen består av følgende deler:

  1. Hvordan se på og hente ut data fra regObs api'et vha. OData.
  2. Hente ut data fra regObs vha. JQuery og Ajax.
  3. Hente ut data fra regObs vha. VisualStudio og .NET
  4. Logge på regObs for å hente ut beskyttet data.
  5. Registrere en hendelse i regObs vha. VisualStudio og .NET
I denne delen så skal jeg se på hvordan man enkelt kan få ett overblikk over regObs api'et. Siden regObs api'et benytter seg av OData så finnes det en del 3'parts verktøy som vi kan benytte for å få ett overblikk over api'et, eksempel på to gratise verktøy er Silverlight OData Explorer og Linqpad


Eksempel på bruk av Silverlight OData Explorer hvor du enkelt får ett overblikk over datamodellen i regObs, samt at du kan gjøre spørringer.







Du trenger ikke disse verktøyene for å få ett overblikk du kan veldig enkelt benytte deg av nettleseren for å få en oversikt samt gjøre spørringer. Det eneste du trenger å gjøre er å taste inn adressen til api'et eks http://h-web01.nve.no/regobsservices/odata.svc/ og du vil da få listet ut datamodellen:

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.










Eksempel så kan jeg hente ut språk fra Language tabellen ved å legge til navn på entiteten i adressen, eks:
http://h-web01.nve.no/regobsservices/odata.svc/Language()

Data blir da listet ut i atom format.






Hvis jeg ønsker å få listet ut data i json format istedenfor så kan jeg spesifiserer dette i adressen ved å skrive inn ?$format=json , eksempelvis http://h-web01.nve.no/regobsservices/odata.svc/Language/?$format=json

Vi kan også gjøre mer avanserte spørringer eksempelvis så kan jeg hente ut registreringer på hendelser som ikke er eldre en 20 dager:
http://h-web01.nve.no/regobsservices/odata.svc/Registration()?$filter=(Incident ne null) and (DtRegTime gt datetime'2011-11-28T00:00:00+01:00')&$expand=Incident

Mer om hvilke muligheter som finnes gjennom OData kan du finne på http://www.odata.org/developers

2 kommentarer: