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

Slides:



Advertisements
Lignende præsentationer
XSLT – visualisering af data fra Kortforsyningen® XSLT (eXtensible Stylesheet Language Transformation) – transformation imellem sprog Julian Hollingbery,
Advertisements

Web 2.0 Teoretisk viden.
Effektive procedurer med integrerede webservices Applikationer til Office - Smart Clients Case: Digitalt Forvaltningstjek hos Erhvervs- og Selskabsstyrelsen.
DEF-kat og bøger til døren DEF projekt om XML WebServices gateway til Z39.50 søgetjenester.
2009NOEA/IT - Databaser/arkitektur1 Databaser Introduktion - Arkitektur Introduktion DBMS-arkitektur Datamodeller.
Udvikling af ANDROID programmer (apps) Jens Bennedsen og Jesper Tørresø marts 2011.
Formularer (Access, del 3)
Sikkerhed/Otto Knudsen 1 Sikkerhed  Sikkerhed i ASP.NET  Autentifikation (Authentication)  Autorisation (Authorization)
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Gen WebService Gen brugergruppemøde, d Martin G. Jensen, Nykredit – Koncern IT ATV
Velkommen Lars Johansson ProjectForce. Program: Lidt omkring Athena IT-Group A/S Introduktion til ProjectForce – Microsoft Sharepoint Lidt teori omkring.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Krav til funktionalitet i fremtidens flådestyringssystem
NetBeans Installation og brug.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
Lars BodumTeknisk-naturvidenskabelig basisuddannelseStorgruppe foråret 2002 Kursusgang 15: GLOBAL GIS.
Databaser & Digitale kort Kursusgang 15: Infrastruktur Teknisk-naturvidenskabelig basisuddannelse Storgruppe foråret 2001.
Distribueret programming.Net Remoting Hvorfor remoting Marshalling metoder Marshalling modeller MBR Marshalling modeller MBV 1Rasmus D. Lehrmann.
Muligheder for brug av mobil-telefonen som publiceringsredskap indenfor arkæologien.
e-Tinglysning WebService Arkitektur
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Backup/Storage Søren Helmer Jensen.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
1 | 2010 Android Filsystem/Datalager Kontekstbestemt datalagring.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
CLR (.NET) og JVM 1.NET vs. Java.NET har fokus på sprog-uafhængighed … Java har fokus på platforms-uafhængighed … Windows OS.NET CLR IL kode (.exe,.dll)
Effektiv adgang til data Niels Mørck, Carl Bro GIS & IT  Carl Bro GIS og IT  Problemstillingen  Nordjyllands Amts Blanketsystem  Centralisering / decentralisering.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Distribueret programming, specielt Web Services Forskel på.Net og web Forsigtig med arkitektektur SOAP - Simple Object Access Protocol Rasmus D. Lehrmann1.
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
Google Earth som GIS applikation? Nikolaj Kamstrup National Geodatabank, Kort & Matrikelstyrelsen.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines.
Lektion 7 Læsestof: Kopier fra Caranno
Introduktion I4DAB1 Jesper Tørresø Forår Layers + Tiers ? Tiers er opdelinbgslag omkring en logisk abstraktion (Præsentation, forretningslogik og.
Heterogene distribuerede middlewareteknologier Web Services og Ice.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
Objekter og klasser Rasmus D. Lehrmann DM
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Per P Madsen AAU1 Del 4 : Sessions-, presentations- og applikationslaget - Applikationsprotokoller. - RPC og RMI. - Digital audio og Voice over IP. - RTP.
ASP.NET – web site publish. ASP.NET – site-version.
Data access i Silverlight 2.0
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Web services SOA, SOAP og WSDL. Disposition Inledning / Definition SOAP Standard SOAP Beskeder WSDL.
3D GeoInformation Lars Bodum Landinspektørstudiets 7. Semester 2001 GIS og Internettet Forskellige koncepter for GIS på Internettet.
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
23. juni 2015 Det Semantiske Web Mads Carlsen. 23. juni 2015 Problemer med det nuværende Internet Ingen semantiske specifikationer. Søgning giver mange.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Vejforvaltning med vejman.dk V/Paul Stühler, projektleder vejman.dk MapInfo konference 2006.
Kan Power™ vinde over Windows™ Kan ”styrke” vinde over ”udseende” – eller skal vi bare styrke vores udseende?
Power up Your PowerPoint Udarbejdet af Irene Krainer Larsen Irla.
Windows PowerShell Ikke kun for windows.
Anvendelse.
Oplæg til Elark seminar
Cloud Computing Model-View-Controller
Tre lags arkitektur.
Dokumentation.
Sikker overførsel af data, FCS
Præsentationens transcript:

1

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 The HyCon Architecture

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 Components (Annotation Component)

6 Components (2)

7 Components: What to do?

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 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 HyCon Data model

11 AbstractObject

12 Object

13 Link

14 XSLT servlet kæden

15 XSLT Handler

16 XSLT Handler

17 XSLT style map

18 AnnotationServlet

19 Registrering af en servlet: WebInf.xml

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 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 Sensor interfacet

23 Sensor interfacet (2)

24 Brug af sensorer (GPSEmtagBluetooth)

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 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 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 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 XLink Service bottom-up: Datamodel (runtime)

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 XLink Service bottom-up: Component Implementationen af XLink-komponentens interface

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: –

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

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 XLink Service bottom-up: Trails i HyConExplorer

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 Snippet fra Ant-script, som genererer stub-kode

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: –

39 JNLP-filen, der bruges til HyConExplorer

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

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