Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

1. 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step.

Lignende præsentationer


Præsentationer af emnet: "1. 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step."— Præsentationens transcript:

1 1

2 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step opbygning af en Web service

3 3 The HyCon Architecture

4 4 HyCon Arkitekturen 4 Lag: Storage, Service, Terminal, Sensor Storage laget er implementeret med en relationel database (MySQL) Basis funktionaliteten i service laget er implementeret i komponenter som benyttes i Services (Servlets/Web services) Terminal laget implementerer komponenter og applikationer som muliggør interaktion med service laget Sensor laget er defineret som interfaces for tilgang til sensor implementationer

5 5 Components (Annotation Component)

6 6 Components (2)

7 7 Components: What to do?

8 8 Brug af komponenter: Check List 1.Opret locale interface 2.Implementer komponent 3.Implementer services (vba. komponenter) 4.Opret remote interfaces 5.…og implementer klient applikationer

9 9 XSLT servlet kæden Servlet interfacet er opbygget omkring en filterkæde med en XSLT- engine i den ene ende og Service servlets i den anden ende Dette kræver at alle services producerer XML output

10 10 HyCon Data model

11 11 AbstractObject

12 12 Object

13 13 Link

14 14 XSLT servlet kæden

15 15 XSLT Handler

16 16 XSLT Handler

17 17 XSLT style map

18 18 AnnotationServlet

19 19 Registrering af en servlet: WebInf.xml

20 20 Brug af Servlets og XSLT kæden: Check List 1.Opret servlet (service vba. komponenter) 2.Registrer servlet i WebInf.xml 3.Implementer stylesheet –Eller brug et eksisterende f.eks. ”raw” 4.Registrer stylesheet 5.Map stylesheet til nøgle/user-agent 6.…og implementer klient applikationer

21 21 Sensorer Sensorer i HyCon er defineret ved et interface Sensorer skal implementeres som både –Pull baserede –Event basered Sensores implentering er udefineret i frameworket –Lokale sensorer (Bluetooth GPS) –Netværksbaserede sensorer (Bluetooth position)

22 22 Sensor interfacet

23 23 Sensor interfacet (2)

24 24 Brug af sensorer (GPSEmtagBluetooth)

25 25 Den praktiske tilgang HyCon frameworket Udviklingsmiljøet XLink Service bottom-up –XLink datastruktur –XLink datamodel –XLink component –XLink Webservice WSDL interface –XLink service i HyconExplorer –Trails som eksempel på XLink struktur Scripts med Ant Distribution med Webstart

26 26 Udviklingsmiljøet HyCon frameworket er skrevet i Java. Eclipse benyttes som udviklingsplatform (en kende bedre end Emacs...). Kildekoden deles mellem udviklerne gennem et cvs-repository.

27 27 XLink Service bottom-up Frameworket tilbyder en række services, som hver især tilbyder metoder til at hente og ændre bestemte datastrukturer på serveren –Location –Annotation –eBag –Map –Slide –XLink Som et eksempel på en serviceimplementation tages udgangspunkt i XLink servicen.

28 28 XLink Service bottom-up: Datastruktur Datastrukturen: XLink –Et Link kan indeholde referencer til ressourcer (objekter) i datamodellen. –Et Link kan indeholde Arc-objekter, som angiver en association mellem ressourcer i Linket.

29 29 XLink Service bottom-up: Datamodel (runtime)

30 30 XLink Service bottom-up: Component (interface) Komponenten, som skal indkapsle funktionaliteten af XLink-servicen, beskrives i første omgang med et interface: –Opret nyt Link i storage-laget –Hent eksisterende Link fra storage-laget –Slet Link fra storage-laget –...

31 31 XLink Service bottom-up: Component Implementationen af XLink-komponentens interface

32 32 XLink Service bottom-up: Webservice (server) For at tilbyde XLink-komponentens funktionalitet over internettet bruger vi Tomcat-serveren sammen med et Webservice interface (WSDL). Vi kunne også have brugt et Servlet interface (CGI). –Servlet interfacet (CGI) er simpelt og velkendt indenfor webprogrammering - argumenter og resultater sendes frem og tilbage som tekststrenge. –Webservice interfacet (WSDL) bygger ovenpå CGI, er mere avanceret og tilbyder højere abstraktionsniveau - argumenter og resultater sendes frem og tilbage som objekter via SOAP (Simple Object Access Protocol).Simple Object Access Protocol En WSDL (Web Service Definition Language) er en fil, der indholder en beskrivelse af den pågældende Webservice – dvs. datatyper på argumenter og resultater af de tilgængelige metoder.Web Service Definition Language Ved at lave et nyt Remote Java interface til komponenten (~10 linier, som minder meget om det oprindelige interface til komponenten), kan vi ved hjælp af JWSDP (Java Web Services Developer Pack ) generere WSDL-filen (~250 linier).Java Web Services Developer Pack WSDL for XLink Webservicen kan ses her: –http://fahbentor.daimi.au.dk:15342/contextit-jaxrpc/xlink?WSDLhttp://fahbentor.daimi.au.dk:15342/contextit-jaxrpc/xlink?WSDL

33 33 XLink Service bottom-up: Webservice (WSDL) WSDL for XLink Webservicen:

34 34 XLink Service bottom-up: Webservice (client) For at benytte en Webservice fra en (klient) applikation, skal man kalde de tilgængelige metoder som det er beskrevet i WSDL-filen. Dvs. argumenter skal pakkes fra Java objekter til SOAP elementer og sendes til en bestemt socket, og resultater kommer som SOAP elementer, der skal pakkes ud til Java objekter. Heldigvis kan JWSDP hjælpe os til at generere Stub-kode til klienterne, som håndterer marshalling. –Stub-koden genereres direkte udfra WSDL-filen! Eksempler på, hvordan XLink Webservicen kaldes fra HyConExplorer baseret på stub-kode:

35 35 XLink Service bottom-up: Trails i HyConExplorer

36 36 Scripts med Ant For at gøre processen med f.eks. at generere WSDL-filer og tilhørende stub-kode, benytter vi Ant. –Ant er et nyttigt værktøj til at udføre simple opgaver såsom: at starte et program, kopiere filer, slette filer, signere jar-pakker osv., som ustandseligt dukker op i forbindelse med program udvikling (næste generation af make). –Ant-filer (Ant-scripts) indeholder tasks, som beskrives i XML. –Ant er integreret i Eclipse udviklingsmiljøet, så en rettelse i ”bunden” af f.eks. XLink Webservicen, som kræver genoversættelser og regenerering flere steder kan klares med et klik på et Ant-script.

37 37 Snippet fra Ant-script, som genererer stub-kode

38 38 Distribution med Webstart For at kunne køre f.eks. HyConExplorer udenfor Eclipse, skal de Java-klasser og –pakker, som udgør selve programmet (eller benyttes af programmet), være tilgængelige... En elegant måde at distribuere sine Java programmer på er ved at bruge Webstart. Programmet med tilhørende pakker gøres tilgængelige via en webserver, og en JNLP-fil (Java Network Launching Protocol), der beskriver hvor programmet kan hentes og hvilke rettigheder programmet kræver for at køre (adgang til harddisk, adgang til nettet osv.)Java Network Launching Protocol –Når et program er hentet og startet via Webstart, bliver der ved efterfølgende brug af programmet lige kontrolleret, om der skulle være en nyere version af programmet parat, og i så fald bliver den nye version hentet. –Webstart bliver installeret sammen med Java. Url til JNLP-fil for HyConExplorer: –http://fahbentor.daimi.au.dk:15342/contextit/ce.jnlphttp://fahbentor.daimi.au.dk:15342/contextit/ce.jnlp

39 39 JNLP-filen, der bruges til HyConExplorer

40 40 Recap Erfaringer med Web services / SOAP Spørgsmål?

41 41 Hvad blev der ikke snakket om Fejlhåndtering med Bugzilla SVG Storage modellering Kontekst modellering Applikationer –HyConExplorer –MediaTable –eBag+++


Download ppt "1. 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step."

Lignende præsentationer


Annoncer fra Google