50 likes | 57 Vues
This overview provides a high-level diagram of a possible architecture for a standalone mapping component in the TSS infrastructure, focusing on decoupling, reusability, fault tolerance, and distributed load processing.
E N D
TSS Mapping Component Architectural Overview 10/4/2005 Shawn McClure Table of Contents: 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.
Example page which uses the CSUMap component… Program/Network selection box (not using a monotype font, so the columns don’t line up…) Map toolbar and dropdown menus HTML <IFRAME> element whose “src” attribute is set to the URL of the page which contains the CSUMap component. Map status bar
HTML of example page (2)… 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. 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.