Sunday, December 4, 2011

STUDY : USING the ArcGis API for Microsoft Silverlight/WPF to create an ArcGis Database edit solution.

This is my test for how you can use the ArcGis Silverlight API to create powerful  web editing applications. In the past blogs I already outlined how I started this project. The most important before starting of a Silverlight project of this size is to make clear how the architecture of the project should look.

To have an architecture that is modular to keeps track of the rapid changes in the ArcGis Silverlight API’s, you must use a framework and / or pattern that can help you in this challenge.

To be able to write good Silverlight application, Microsoft developed the pattern MVVM (Model View ViewModel). Without this pattern you will soon create complex software modules that will be difficult to maintain. The software development cost is only a fraction of the TCO (Total Cost of Ownership). To reduce the TCO it is important that the software product is highly maintainable.

To help the developer using MVVM, different frameworks has been publically available. One important available framework is PRISM 4.0 developed  by Microsoft.  The framework simplify the use of the pattern MVVM in Silverlight applications. In my Silverlight application I used PRISM 4.0 with MEF as the container library.

PRISM 4.0 has support for different container libraries like MEF and UNITY. Other container libraries can also be used with PRISM 4.0. I decided to use MEF because I like the implementation based on the use of class and method attributes through the use of reflection.

The use of container libraries serves for the implementation of IOC (inversion of control) and dependency injection. The latter is used to expose different GIS functions in the ViewModel classes.

 The architecture of the application has the following layout :

 Application architecture

 Module Architecture



To maintain a flexible application, the configuration is maintained in XML files as done by the Silverlight ArcGis viewer. To create a general approach of the map editor, all configurations are contained in a folder. The folder serves as parameter for starting the map editor. The URL for starting the application is:

 http://<<website>>/<virtual map>>/WebmapTestPage.aspx?Application=Demo

 or



In the current version I only support the languages English and Dutch.

Some limited testing can be done with the Url below:


You can download the whole demo application through the link below. To be able to run the application you need to deploy the contents towards a virtual map of your Internet Information Server. The application can run on a local PC with the Microsoft Internet Information Server.
Deploy alse the crossdomain and clientaccesspolicy files on the Internet Information Server.
 

For the user manual I restrict myself to a quick guide covering most of the exposed tools and menus. Below is the link to the pdf file.