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 Værktøjer Visual Studio Data Dictionary Manager Datastandard Tester Kodegenerering Meta Service Problemet Eksempler på brug Alarmer 2
ADIS og Data Dictionary ADIS Godkendt i 1995 (ISO 11787). Beskriver syntaks for indsættelse, opdateringer og forespørgsler. Beskriver ikke hvordan data overføres mellem parterne i dataudvekslingen. Data Dictionary Definitioner af hvilke oplysninger hører til for eksempel en løbning. Datadefinitionerne kan ses som tabeldefinitioner, men er ikke normaliserede. I sammenhæng med godkendelse af ADIS i 1995 blev også en basal Data Dictionary godkendt (ISO 11788). Data Dictionary indeholder Entity definitioner (tabeller), der indeholder en række Items (søjler i tabellerne). 3
ADIS eksempel DH990001000000000800090000208000900003080009000040600090000624000900009080 VH990001DD 1997 20000418093453LKV Westfalen-Lippe e.v lkv QN19000100888889150DDictionaryN 00190001080ADR2003 zn 4
ISOagriNET ISOAgriNet bygger oven på ADIS, ved blandt andet at definere porte, ip-adresser og en række entities, definere af kryptering og login procedure, beskrive udbredelse af opdateringer via broadcast af data. Godkendt som ISO standard 17532 Stationary equipment for agriculture Data communications network for livestock farming. 5
ISOAgriNet linjer 6
XML/ADED 7
Dataoverførsel via Web Services Genbrug af Data Dictionary, men ny protokol baseret på Web Services. Giver mulighed for sammenkobling mellem ADIS/ISOAgriNet og WS, hvis items defineres med længder og antal decimaler. RequestData, UpdateData, InsertData, DeleteData Mange værktøjer til hjælp ved implementering. Buzzword -kompatibel Class Entity { string DD; Item [] items; } Class Item { string DD; string Value; } 8
Det fulde skridt til Web Service overførsel. Der bruges egentlige klasser/strukture til data. Ikke (direkte) baseret på Data Dictionary. Kan gøres meget mere fleksibelt. Er måske næste skridt. (Data består protokoller ændres). Class FeedSettings { int curve; } Update_feed( animal_id, sow_settings ) 9
Værktøjer (.NET orienteret) Visual Studio Giv den en Web Service Description Language (WSDL) fil og den laver en service proxy, som kan bruges til at tilgå en service, eller den laver et interface som skal implementeres for at have en service. Til C/C++ har vi med succes brugt værktøjet gsoap Ingen erfaring med Java. 10
Data Dictionary Manager Et lille værktøj til håndtering af definitioner af entitites og items. Opret entity Opret items Tilføje items til entity Gemme som simpel fil. DD Managers fil bruges som grundlag for de værktøjer der beskrives i det følgende. 11
Datastandard Tester En klient, der kan bruges til at tilgå og teste Web Services. Kan bruge DD Manager fil som hjælp til indtastning og tolkning af data. Kan vise data som sendes til/fra en service. Demonstration Forespørgsel. Indsættelse. 12
Erfaringer vedr. programmering Autogenerering af data klasser: t4 -template og supportfunktioner hertil. Burde være muligt i Java og andre sprog/platforme, der understøtter reflection. 13
Meta Service Meta Service er telefonbogen for services på LAN. Kort over området officiel definition for lokationer på gården. ISOAgriNet gør det helt frit med hensyn til hvordan de enkelte enheder definere deres lokationer. Vi fastsætter hvad de enkelte steder hedder. Kan bruges som indgang til alle WS på LAN (hjælpsom bibliotekar). Kan udlevere data om dens konfiguration (oplysningen). Konfigureres med hvilke services, der har viden om hvilke entiteter. 14
Meta Service - forespørgsel Videresender forespørgslen til alle der kender til given entity type. Lister af resultater sættes sammen Der aggregeres ikke, idet korrekt aggregering kræver nøje kendskab til entiteten egentlige mening. 15
Meta Service Ændring af data Ændringer sendes til alle der kender til den angivne entity. 16
Alarmer Håndteringen af alarmer er opdelt i 3 1. Alarm generator WS klient, der kontakter 2. Alarm service WS server, der tager imod beskeder fra alarm generatorer og HMI enheder. Holder styr på status på alarmer. 3. HMI WS klient, der tjekker alarm status på alarm service. De tre dele kan sættes sammen. 17
www.datastandard.dk Download af Værktøjer Eksempler Dokumenter Forum Vi kigger og svarer. 18