ArcGIS Server als een GIS-kantoor in een doos<\/A> is een goede truc om de interne werking van de software te begrijpen en het te relateren aan workflows en processen waarmee veel GIS-beoefenaars vertrouwd zijn. Laten we even de situatie overwegen waarin onze organisatie behoefte heeft aan een kaart die alle belangrijke bezienswaardigheden in het gebied toont... de kaart met parken, waterlichamen, interessante punten en straten erop. Meestal wordt deze kaart alleen gebruikt om iemand te helpen uitvinden waar belangrijkere dingen zich bevinden. Zoals waar een project plaatsvindt, of waar bepaalde activa zich bevinden, of waar mijn huis is? Het bijzondere aan deze kaart is echter dat iedereen hem wil zien en als er kleine veranderingen zijn, zal dat de algehele bruikbaarheid niet beïnvloeden. In ArcGIS-termen is dit een basemap.<\/P> <\/P>
Vanwege deze speciale eigenschappen bereidt ons GIS-kantoor zich voor op het afdrukken van een heleboel van deze kaarten op zo'n manier dat het de normale werking van het kantoor niet beïnvloedt en plant het een proces om de kaart indien nodig in de loop van de tijd bij te werken. Hoewel deze kaart via het normale kanaal van het kantoor wordt geadverteerd, wordt hij volledig anders bediend dan "normaal".<\/P>
<\/P>
Om een service in ArcGIS Server te creëren op zo'n manier dat we een hoge doorvoer bereiken... veel reacties op verzoeken... en de rest van de serverprocessen niet beïnvloeden, tekenen we de service op het moment dat er door clients om wordt gevraagd vanuit een set gecachte tegels. Deze tegels worden meestal gemaakt voordat iemand erom vraagt, worden gemaakt op meerdere detailniveaus en worden vastgelegd in een formaat dat het meest geschikt is voor de gegevens die we proberen te tonen. In ons ArcGIS Server kantoor-in-een-doos zijn er speciale GIS-analisten wiens enige taak het is om deze kaarten te maken. Dit zijn de instanties van de CachingTools-service in de systeemmap van ArcGIS Server. Deze service wordt niet geadverteerd aan de rest van de organisatie, aangezien alleen de manager van ons kantoor deze service vertelt wanneer hij moet werken. Ook werkt deze analist meestal 's nachts en in het weekend wanneer niemand anders aanwezig is, zodat hij alle middelen van het kantoor voor zichzelf heeft.<\/P>
<\/P>
Een schermafbeelding van ArcGIS Server manager die de Caching GP-services toont.<\/span><\/span><\/P> <\/P>Zodra de analisten tijd hebben geïnvesteerd om een volledige set naadloze niet-overlappende secties van de kaart op verschillende schalen te maken (want onthoud dat dit slechts een metafoor is en onze GIS-services worden gebruikt in interactieve kaarten met zoommogelijkheden) of tegels, worden de tegels gesorteerd en georganiseerd. Waar deze tegels worden opgeslagen, wordt bepaald door de kantoormanager. Afhankelijk van de grootte van de organisatie, het aantal gecachte services en de prestaties van de ondersteunende infrastructuur - kunnen alle gecachte services één locatie delen of kan elk gecachte service aan het andere uiterste zijn eigen opslaglocatie hebben. In ons kantoor zou je dit kunnen zien als één set kasten waar de kaarten worden opgeslagen of in aparte kamers waar mensen naartoe moeten gaan om specifiek die kaart te krijgen die ze willen. Deze verschillende benaderingen worden gekozen voor efficiënte opslag en terugvindbaarheid, afgewogen tegen kosten en meer schijfruimte.<\/P> <\/P>
Een schermafbeelding die een voorbeeld toont van meerdere cache-mappen.<\/span><\/span><\/P> <\/P>Ongeacht welke aanpak gekozen wordt voor tegelopslag en -beheer; is de standaardstructuur van de opslag consistent. Alle tegels voor een service worden samen opgeslagen in één map. Deze map bevindt zich echter vele niveaus diep. Er is een goed gedocumenteerde structuur die ArcGIS Server gebruikt om deze tegels te organiseren op basis van schaal, of detailniveau (LOD), waarop ze zijn gegenereerd, en hun algemene locatie binnen het bereik van de service. Bij het maken van tegels zal ArcGIS Server het volledige bereik voor een LOD opdelen in grote gebieden genaamd supertiles om labelgeneratie te beheren. Deze supertile wordt vervolgens gerenderd in veel kleinere tegels die samen worden opgeslagen in een binaire bestand genaamd bundle-bestand.<\/P> <\/P>
Een schermafbeelding van de cache-mapstructuur.<\/span><\/span><\/P> <\/P>Wanneer een klant de basemap wil zien, analyseert ArcGIS het bereik en schaalniveau van het verzoek om de kaart te bekijken en haalt het benodigde tegels op om het scherm te vullen inclusief een ring tegels rondom dat bereik. Wanneer de client om deze tegels vraagt, gaat de receptionist, het tegelverwerkingsproces, naar deze tegels halen voor de client. Nadat hij ze heeft ontvangen, toont de client ze. Maar ook kan de client-applicatie deze ontvangen tegels opslaan in een lokale cache op de harde schijf van de computer. Je kunt dit enigszins vergelijken met het ophangen van de kaart aan de muur in hun kantoor. Terwijl iemand over de kaart schuift, kan de applicatie gewoon tegels uit die lokale cache pakken zonder opnieuw naar het GIS-kantoor te hoeven gaan om ze weer op te halen. Dit zorgt ervoor dat ArcGIS Server basemap-lagen altijd het volledige bereik tonen van het huidige zichtvenster in een applicatie en maakt ze extreem snel.<\/P> <\/P>Soms veranderen dingen echter, en moeten onze gecachte services worden bijgewerkt om die veranderingen weer te geven. Voor elke gecachte service kunnen we eigenschap cacheControlMaxAge instellen (in seconden) die aangeeft hoe lang een client zijn lokaal gecachte tegels voor een service gebruikt totdat hij nieuwe tegels moet ophalen bij ArcGIS Server. Je kunt dit zien als een tijdstempel op een wandkaart die zegt dat deze kaart voor enige tijd geldig is, en daarna moet je bij het kantoor controleren voor een bijgewerkte kaart.<\/P> <\/P>In dit artikel hebben we bekeken hoe ArcGIS Server wordt gebruikt om tegels te maken en op te slaan voor onze gecachte basemap-lagen in ArcGIS. In onze volgende artikelen zullen we kijken naar hoe analisten in ons kantoor worden ingezet om te reageren op en optimaliseren onze operationele lagen door dynamische lagen in ArcGIS Server nader te bekijken. <\/P>De volgende berichten zijn te vinden op:<\/P>