TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a...

5
TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1 : <This slide> Slide #2 : This is a very high-level diagram describing a possible architecture for interaction with a standalone “mapping component” or “mapping service” in the TSS infrastructure. The emphasis is upon “de-coupling”, reusability, fault tolerance, and distributed load processing. Slide #3 : A screenshot of a simple page demonstrating the use of the CSUMap component I developed using ASP .NET, VB .NET, and Manifold. I developed this component with the idea of creating a general purpose map tool that could easily be “dropped into” and HTML page and subsequently customized with HTML markup and cascading style sheets. The map component consists of a VB .NET web control and two other supporting VB .NET classes. I used an HTML <IFRAME> element to implement the “call” to the mapping component in order to prevent the need to “reload” the entire page whenever the user added layers, zoomed, panned, etc. With this implementation, only the contents of the <IFRAME> are reloaded when the user takes an action. As a result, performance is noticeably enhanced and there are no annoying “page flashes” (caused by the parent page reloading). This turned out to be a very reliable and maintainable implementation approach, and I’d like to explore using a similar (or better) approach in the TSS if possible. Slide #4 : Page #1 of the example page’s HTML code (not much to see here…). Slide #5 : Page #2 of the example page’s HTML code, which shows how the map component is referenced and called from an ASP .NET page from an <IFRAME> element. The arguments are sent to the Table of Contents:
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    3

Transcript of TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a...

Page 1: TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a very high-level diagram describing a possible architecture.

TSS Mapping Component Architectural Overview10/4/2005

Shawn McClure

Slide #1:

<This slide>

Slide #2:

This is a very high-level diagram describing a possible architecture for interaction with a standalone “mapping component” or “mapping service” in the TSS infrastructure. The emphasis is upon “de-coupling”, reusability, fault tolerance, and distributed load processing.

Slide #3:

A screenshot of a simple page demonstrating the use of the CSUMap component I developed using ASP .NET, VB .NET, and Manifold. I developed this component with the idea of creating a general purpose map tool that could easily be “dropped into” and HTML page and subsequently customized with HTML markup and cascading style sheets. The map component consists of a VB .NET web control and two other supporting VB .NET classes. I used an HTML <IFRAME> element to implement the “call” to the mapping component in order to prevent the need to “reload” the entire page whenever the user added layers, zoomed, panned, etc. With this implementation, only the contents of the <IFRAME> are reloaded when the user takes an action. As a result, performance is noticeably enhanced and there are no annoying “page flashes” (caused by the parent page reloading). This turned out to be a very reliable and maintainable implementation approach, and I’d like to explore using a similar (or better) approach in the TSS if possible.

Slide #4:

Page #1 of the example page’s HTML code (not much to see here…).

Slide #5:

Page #2 of the example page’s HTML code, which shows how the map component is referenced and called from an ASP .NET page from an <IFRAME> element. The arguments are sent to the map component via a simple HTTP GET query string. Although some of the argument string was truncated on the slide, I think it conveys the gist of the technique.

Table of Contents:

Page 2: TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a very high-level diagram describing a possible architecture.

Display Raw Data

Create Chart

Create Map

ASP .NET Page

Mapping Service Call Map Image

TSS Database Server

Database Query Formatted Data

TSS GIS Server

TSS Web Server

Chart Request

Chart ImagePage

Request

User visits a page on the TSS web site and

specifies map arguments using controls on

the web page (layers, centroid, zoom, etc.)

TSS web server executes (submits)

the appropriate ASP .NET page.

ASP .NET page requests a map from the

mapping service on the GIS server, via

HTTP GET, SOAP, or similar protocol.

The mapping service assembles the requested layers into a map image

using the specified centroid and zoom, then returns the image to the page.

The page displays the image.

1

2

3 4

5

TSS Architectural Overview:Displaying a MapThis example gives a very high-level description of the procedural steps involved in requesting, creating, and displaying a map using the proposed TSS mapping component and/or web service. Created: 10/4/2005

Page 3: TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a very high-level diagram describing a possible architecture.

Program/Network selection box (not using a monotype font, so the

columns don’t line up…)

Map toolbar and dropdown menus

Map status bar

HTML <IFRAME> element whose “src” attribute is set to the URL of the page which contains the CSUMap component.

Example page which uses the CSUMap component…

Page 4: TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a very high-level diagram describing a possible architecture.

HTML of example page (1)…

Page 5: TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Slide #1: Slide #2: This is a very high-level diagram describing a possible architecture.

HTML of example page (2)…

URL to the page containing the CSUMap component (CSUMapFactory in this example). The map page “returns” the image to the calling page by writing binary image data directly to the HTTP stream, so the image “gets displayed” in the <IFRAME>.

Note the arguments that are passed to the component via the HTTP GET query string.

An HTML <IFRAME> element is used to “contain” the map component, enabling the map to change without necessitating a reload (refresh) of the parent page.