ISV Case Study: Add Geo-location with iLink GIS Framework on Windows Azure
By Suresh Warrier
Frameworks are pre-built code libraries and well defined business processes that are designed to facilitate software development and implementation of business processes. Developers can use frameworks to speed up the development of solutions and products. iLink Systems provides solution frameworks that are nearly complete solutions of pre-built code that can be used to reduce time to market, support best practices, reduce delivery cost and improve ROI.
Once a potential need has been pinpointed, these frameworks can be leveraged individually, in parts or in combination with other frameworks. Frameworks are consumable by ASP.NET, Silverlight apps, or Web Services and tie in data from various formats, including Windows Azure data storage and SQL Azure. iLink’s Geographical Information System (GIS) Framework enables to add Geolocation to solutions and products by offering rich visualization of geography sensitive data.
Imagine a user who can geographically filter complex data by merely navigating around the map. Most existing solutions with geography sensitive data make it a cumbersome process to apply geographical filters. And these geographical filters are often limited to the span of dropdown entries. The natural way to filter is for the user to just click into a particular geographic region and see detailed information. Or a user could click on the information and see all the information located nearby.
Geo-sensitive information could be of many types - aggregate information such as summarized metrics for sales or operations in the region, presence and status information such as that of assets, service personnel etc. For many applications Geo-sensitive status information is critical for success, such as status Information of field service agent in a location of crisis.
To be of greatest value that product or solution should offer an easy to use geographic filter. This would allow the user to view a particular geographic region and see detailed information or look for local information nearby. As another example, a sales manager may want to see sales by region and then drill into a specific sale item. Or click on a slice of a pie slice that shows the relative position of each sales region and see the map zoom in on the sales activity in that region.
The iLink Systems Geographical Information System (GIS) Framework provides connections between multiple data providers and consumers. This means that the framework can access data one or more providers such as Web Services, SharePoint, Facebook, or SQL Azure and combine the data for dashboards in Silverlight, SharePoint, or ASP.NET pages.
GIS Framework used in a Sales Dashboarding Application written in Silverlight, offers rich reporting capabilities on sales data and Key Performance Indicators at various geographical levels. Drilling down into different regions is achieved by just clicking through the map which will seamlessly update the KPIs being reported. Clicking a region in a chart will also update the map to drill down or up the right geographical level in the map.
Application Architecture and High Level Design
The front end is configured so that it can be hooked into any think or thin client along with the map layer. The map layer provides all the features to add custom push pins and routes.
The Geographic Information Service is divided into Map Service, Custom Service and Metric Service. The Custom and the metric Service are written so that it can be expanded as needed in future. The web methods developed so that it could be re-used for n number of applications with minimal modifications to it.
For Example, the method – Get Service Location returns the Latitude and Longitude for a service based on the Service ID. The Service ID can point to any service like gas station, hospitals, restaurants etc. Similarly all the web methods are developed so that it could be re-used.
The Data Access layer is developed so that it can fetch the data from any data providers. Some of the data providers we have used to get the data from are SQL 2008, SharePoint 2010, and Microsoft CRM.
The iLink Framework can be incorporated into either a Web Service hosted on Azure or in a thicker client in a Silverlight or WCF application. Communication happens through a set of well-defined interfaces that facilitates easy creation of new data providers and consumers.
The Geographic Information service is built so that it can be re-used in various areas. At iLink, the developers are trained to build the application so that we could plug and play as much code as possible. Re-using is our key. This resulted in a number of frameworks in different areas. Similarly GIS framework is built so that it could be re-used. The core of the framework could be used in multiple areas of interest with a very minimal change and it could be consumed by any think and thin clients like Silverlight, WPF, SharePoint and so on.
Apart from the services which are globalized and could be used in multiple verticals, the map itself is built as a control so that it could be plug and played around in any application. There are different layers in the map like Route layer, content popup layer, push pin layer and the map itself as another layer. Depending on the needs the layers could be enabled or disabled. There are interfaces written corresponding to these layers so that the consumer could use those interfaces to connect to the actual application.
Following are some of the applications where are framework is used extensively.
Service Locator: This is a Silverlight application which has very rich UI and the data provider being SQL Server 2008. It is built to locate different services in a given area. The user can select the service like hospitals, gas stations, restaurants based on different categories and sub categories. The user is initially asked to select the area in which he wanted to look up for the services. The control is just added to the Silverlight application and the respective interfaces are used to implement the boundary service, search service, push pin service and content popup service.
Flu Shot Locator: This is a WPF application and SQL Server is used in the backend to provide the data. The user is asked to select the category and sub-category of the disease. Based on that, the map locates the areas where the flu shot is offered. On selecting a particular location, it shows in detail about who is offering the shot, number of people affected by that flu and the full address of the location. All the code is re-used from the framework.
Sales & Company Performance: Another very good example of where our GIS framework is used is to measure sales performance across the country by a Multi National Company. Instead of selecting the categories and sub-categories, the user is asked to select the time frame and team, the map locates the places and the sales in each location. Along with the sales information, it also gives information on how the company is performing in that particular area as KPIs with respective colors using customized pushpins.
iLink GIS Framework can:
- Show intelligent business data, pattern and KPIs on top of a map.
- Facilitate decision making
- Enable streamlined communication between geographically disbursed teams
- Consolidate data from multiple sources
- Plot areas were flu shots are offered filtered based on the disease.
- Indicate the Oil rigs across the whole country.
- Search for service locations such as schools, hospitals, gas stations across a country or State of interest.
- Draw routes from one point to the other based on the search location.
- List the directions which could be filtered by walk or bus or public transit.
GIS Frameworks integrate providers of data from SQL Server, SharePoint, Azure, or other Web services. And it provides the data to consumers of the data, such as Silverlight, ASP.NET, or SharePoint applications.
The Framework is a set of code and binaries are built to include:
- Best practices such as error handling, retries
- Database model
- Providers & Consumers agnostic – open standards based
Developers use GIS Framework for either:
- Out-of-box adoption in the areas for which iLink has already written providers/services
- Customize existing providers/services - New providers/services can be written
- Microsoft Bing API
- Windows Azure
- Microsoft SharePoint Server 2010
GIS Framework is one of the many frameworks offered by iLink to develop custom solutions. Frameworks are pre-built code libraries and well defined business processes that are designed to facilitate software development and implementation of business processes. For More information contact Ravi Mallikarjuniah, Practice Manager Commercial and ISV, email firstname.lastname@example.org, phone +1-425-677-4424 or visit the website http://www.ilink-systems.com/ThinkingBeyond/iLinkFrameworks.aspx
iLink Systems is an ISO and CMMI certified global software solutions provider, managed Microsoft Independent Software Vendor (ISV) and Systems Integration (SI) Partner, winner of Microsoft's 2009 Public Sector, Health Partner of the Year award and Mobile Partner of the Year for 2011.
iLink integrates software systems and develops custom applications, components, and frameworks on the Microsoft platform for IT departments, application services provides and independent software vendors. iLink solutions are used in a broad range of industries and functions, including healthcare, telecom, government, education, and life sciences. iLink's expertise also includes mobile and embedded systems, business intelligence, portals and collaboration, and user experience design.