The solution is used to provide access to a huge land database, each record in the database provides location, ownership and other characteristics to identify the land as well as reference to a soft copy for the land document in PDF format.
The main usage of this database is to search for the land information and trace the land ownership change to assist in taking business decisions.
InspirationGate decided to implement a three projects’ solution, the first one is used to analyze the raw data to make sure that only clean data gets imported into the system, the second solution is used to import only clean data and the last one is providing smart features to search and track the imported land data.
Find below more information about the provided solution.
Data Analysis Tool
Land information is available in CSV files, this tool is used to verify these files and make sure that it contains valid data before the attempt to import them.
Data Import Tool
This is a smart import tool used to import land CSV files into the database, the tool verifies each record in the file before importing it, if a occurred because of invalid data or the database itself, the tool automatically rolls back the partially imported data and cancel the import process to guarantee the consistency and integrity of the data in the database. After the import process is complete the tool provides the user with a report showing the results of the import process as well as collecting all the files failed to import in a separate folder to be easily corrected by the user.
Land Search and Management Tool
This tool provides all needed features to access the imported data as well as manipulating this data based on the implemented business rules. The user can use smart search techniques in the land searching module to find the required land data and after that, use one or more of other features like view land details, view grantee(s) and grantor(s), report land error, edit land details if the user is authorized, create prospect cards and save land records in this prospect cards.
The system also provides the capability to export prospect cards to excel and give access to land documents through the application as well as the generated excel files.
- Our customer had a huge amount of unclean land data stored in CSV files and we had to make sure that only clean, integrated, accurate data gets imported.
- The huge amount of data requires optimized and high performance database design to minimize the overall response time of the whole solution to the minimum even if the user is trying to access all the records in the database.
- Presenting the tremendously huge amount of data in a user friendly, understandable and integrated way was challenging.
InspirationGate provided the following solution to cover all the business needs.
Data Verification Application, a desktop tool developed using Windows Forms in the .Net Framework to check the validity of the CSV Land files. The tool automatically splits between the valid and invalid files by placing the invalid files in a different fold (the user has to specify this folder in the configuration step).
Batch Data Import Application, this is a two layers application, the presentation layer developed using Windows Forms and the backend was developed as stored procedures hosted inside SQL Server 2005. The tool is used to import CSV land files into the database, if one record fails in the import process the whole file gets rolled back and the tool report this failure to the user at the end of the importing process, the tool also collects the corrupted files in a separate folder.
Land Data Searching and Management Application, this application is a number of DotNetNuke modules, each module is used to provide a set of feature in a certain areas, for example land searching module is used to search for land data using several searching parameters and the user can also save his searching parameters for future use. Also the application has a land tracking and management module, the user should be able to use this module to track the ownership of one or more land records and place them in a separate location called prospect cart, this prospect card can be generated in excel format.
The application database is designed and developed to support huge amount of data to be stored and requested by users, current the database has more than 1000,000 land records, 2000,000 grantee records and 2500,000 grantor records and worst case response time of the database is below 10 seconds.
DotNetNuke development is known to be easy and fully integrated with Microsoft .Net Framework (it is built by Microsoft .Net Framework), also DotNetNuke is a very rich platform because it contains lots of pre-developed and tested core features, all this features made it a good fit for our needs.
As shown in the diagram below, the application has multi layers architecture. From the bottom, the application has relational database and files located in the file system to store the application data, on top of it there is a number of vertical layers like security, exception handling and logging and data objects, these layers have its API functions and public data members exposed to the rest of the application components to reuse it. Between the vertical layers there are three horizontal layers, the first layer from the ground is the data access layer; this layer is used to access the information stored in the relational database and in the file system, the second layer is the application middle layer; this layer is used to encapsulate the application business logic, the last layer is the presentation layer; this layer used to handle all the user interaction features.
Visual Studio 2008, C# Programming Language, .Net Framework 3.5, SQL Server 2005 and DotNetNuke 5.02.01.