Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afBertha Lund Redigeret for ca. et år siden
1
Jon Gregor Hemmingsen System arkitekt Fælleskomponenten ”Vis Stedet” – Open Source og den tekniske evolution
2
Et krydsplatformskompatibelt API bestående af komponenter til visning og søgning i geodata. Web 2.0 AJAX. Eksempler og viden til teknikere & beslutningstagere. Integrationskomponenter til eksisterende infrastruktur. Adgang til webservices (adresser, stednavne, matrikler…) Realistisk moderne open source alternativ. Hvad er Vis Stedet i dag?
3
Vis Stedet overblik
4
ComponentHTML fragmentObject funktions Initialization (not visual) function VisStedetInit(){ startbetingelser….. } Choose various init parameters Edit field Indicator Results AJAX Max. Results Same as above <div id="map" style="width: 600px; height: 600px; …. Center Select layers Zoom Pan Choose area Add layer
7
Uddrag fra borger.dk
8
Google maps API Vis Stedet API Microsoft Live Maps API OIOREST Demo af JSON
9
En afmystificering af teknologier og open source komponenter til integration og geokodning. JSON facader parallelt eller ovenpå SOAP. WFS til GML/KML konvertering. Geokodning af adresselister til KML Brug af Prototype til at udryde nogle af de værste faldgruber i JS. Script.aculo.us demonstreret til bygning af visuelle komponenter a’la MS.Net framework. Vis Stedet er også:
10
Arkitektur 2009 Homogent paradigme (Lagdelt) Færdig anvendelig HTML) Genbrug (Open Source) Rene abstraktionslag Open arkitektur
12
Protocol {"addressbook": {"name": "Rob Nielsen", "address": { "street": "Nordre Fasanvej 1" "city": "Frederiksberg", "zip": 2000, }, "phoneNumbers": [ "40190974", "38114618" ] } On the caller side one can now just call EVAL() and then recieve a fully instantiated object. No parsing needed!! var addressbook = eval(req.responseText); Any data can be accessed using the well known dot notation. var name = addressbook.name; var street = addressbook.address.street; var directPhone = addressbook.address.phoneNumbers[0]; JSON eksempel
13
Response.ContentEncoding = Encoding.UTF8; Response.Write("[\r\n"); String placeRequest = Request.Params["place"]; if (placeRequest != null && !placeRequest.Equals("")) { IGeoKeysFacadeService geoKey = new IGeoKeysFacadeService(); PlaceVO[] places = geoKey.getPlace("*" + placeRequest + "*", "", "", "", false, "", ”usr", ”pwd"); int end = places.Length < maxResultSize ? places.Length : maxResultSize; for (int i = 0; i < end; i++) { Response.Write(" {\r\n"); Response.Write(" \"name\": \"" + places[i].placeName + "\",\r\n"); Response.Write(" \"category\": \"" + places[i].placeCategory + "\",\r\n"); Response.Write(" \"municipality\": \"" + places[i].municipalityName + "\",\r\n"); Response.Write(" \"municipalitycode\": \"" + places[i].municipalityCode + "\",\r\n"); Response.Write(" \"displayName\": \"" + places[i].placeName + ”(" + places[i]. Name + ")”\",\r\n"); Response.Write(" \"crs\": \"epsg:25832\",\r\n"); Response.Write(" \"x\": " + ((double) places[i].placeLocation.point1.x) + ",\r\n"); Response.Write(" \"y\": " + ((double) places[i].placeLocation.point1.y) + "\r\n"); if (i < end - 1) Response.Write(" },\r\n"); else Response.Write(" }\r\n"); } Response.Write("]"); SOAP to JSON facade
14
KML GeoRSS er erstattet af KML. GML feed til fletning. KML har metadata indbygget. OGC standard. Understøttes af mange.
16
Hvor er vi på vej hen? Det er blevet mindre relevant at have en overbygning til Open Layers. Transformation af dataformater. Byggesten til Enterprise integration. JSON facader og hjælpefunktioner. Håndtering af store mængder GML/KML data. Mere afmystificering og know-how. Mindre API bygning. Konstant overvågning af Open Source alternativer.
17
Arkitektur fremsyn
18
Open Source produktet skal være sammenligneligt med de kommercielle produkter da organisationerne altid sammenligner dem på lige fod. Ingen organisation vil vælge Open Source hvis det sker på bekostning af projektets succes. Open Source projekter har næsten altid nytte af at genanvende hvad andre Open Source projekter gjorde godt – genbrug derfor altid. Open Source pointer
19
Vær ekstrem kritisk overfor anvendte licenser – nogle gange kan en enkelt linje eller udeladelse af samme kuldsejle hele formålet. Kvalitet er dynamik – som vises gennem løbende relevante opdateringer med en deraf følgende stadigt voksende anvender skare. Er projektet stadig i live? Kig på fora aktivitet, aktive donorer, version numre... Løser det faktisk mit problem – uden at indføre nye problemer? Open Source vurdering
20
Hvis du vil vide mere.. http://www.softwareborsen.dk/projekter/softwarecenter/visstedethttp://visstedet.kms.dk/cms/index.html
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.