A Windows Forms based CRM extended to the Web using Visual WebGui
May 27, 2009 :: Categories: Manufacturing
:: 7015 Views :: Download as PDF:
CRMCompany is a high quality supplier and consultant in the field of CRM and information. The company's objective is to apply its knowledge and experience in order to provide added value to businesses which would assist them in improving profitability. This is done by providing businesses with the ability to use information technology in commercial and administrative processes efficiently and effectively as possible with a measurable return.
The customer is in the construction industry and has a department which builds and sells roof vaults to other companies and end-users. The Visual WebGui based application was built for the Roof Vaults department. The application enables dealers and roof vault sellers to maintain customer information, the sale process and the configuration of the roof vault.
The customer used to have a website in which roof vaults could be configured and simple customer data could be entered. The customer asked for integration of the website with the existing CRM solution which would mean that it could be used and accessed over the Web.
Since the existing CRM solution was only available as Windows application it was needed to create a solution which answers the customer's requirement and is available over the web. CRMCompany, therefore, looked to extend the 'simple' product configuration available through the website with some of its CRM forms.
It was important to be able to use the existing resources which meant building a library which could be used by Windows Forms as well as Web. Performance was also important and the requirements were based on a target audience of 1 to 20 concurrent users. Because of progressive insight design & functionality specifications evolved during implementation.
Visual WebGui was chosen for this project as it fulfilled the major requirements. In fact, no other alternative solution that could execute all those requirements was found. The Roof Vault application includes a roof vault configuration tool in which a 2 dimensional drawing of the roof vault is displayed which can be manipulated by parameters. The Roof Vault is manufactured using this same drawing and parameters. This part was written in HTML/AJAX. All the other data entry-fields were done in Visual WebGui and the data should be binding to SQL Server through a business-slayer.
At first the challenge was to build an application that could be used smoothly over UMTS. But in the Netherlands not all areas are covered by UMTS so working with the application was not always successful. Therefore the team had to develop a standalone version of the VWG application using a .NET Windows Forms application with a built-in Cassino web server using SQL Server replication.
The customer is using VWG-enabled technology since late 2007 and at first not everything was speedy. Since the project is using a later major release of Visual WebGui many issues were resolved. "Visual WebGui is a solid platform which has evolved into a mature solution. Despite the fact that we used pre-release versions, due to the devoted team and open source community many of the issues we encountered were quickly resolved" said Ernstjan Freriks.
The project resembled an existing Windows-application with a custom product calculator build in HTML/AJAX which isn't available in the Windows application. Even though most of the project’s forms as well as the TextBoxes and ComboBoxes are databound, the data binding process was very fast and flexible with Visual WebGui. In this project a third-party call center is using the application and they had speed-issues, so we took data binding out of a form and the call center was much more satisfied.
Since the existing Windows application wasn't created using .NET, it wasn't possible to take advantage of the simple native migration path from Windows Forms to Visual WebGui. Therefore, the team had to build a business layer and a data layer that was used to bind with Visual WebGui which worked perfectly. This project was built completely from scratch apart from a database-backend since the Visual WebGui designers closely resemble System.Windows.Forms-namespace and the generated designer-code can easily be edited.
Visual WebGui is about 90% System.Windows.Forms with the added ability to build asynchronous events. This means that every application written in pure Windows Forms can be easily migrated to Visual WebGui and ported to Web technologies.
Some projectfields can be manipulated here. All data available in the Web-version of this customer and its project can be manipulated through the TabControl’s subforms. All data is in Dutch, as the Roof Vault manufacturer’s customers are Dutch and Belgian people.
In this screenshot you can see part of the Configurator for the Roof Vault and its 2-dimensional drawing. When a field is changed in the configurator, the drawing (a JPG-image) is recalculated on the server and sent to the client through AJAX. Prices are also updated on field-change.