Welcome!

Hi-tech Highway

Josh Litvin

Subscribe to Josh Litvin: eMailAlertsEmail Alerts
Get Josh Litvin via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal, Microsoft Developer

Blog Post

No New Skills or Training Required

Single developer builds tourism costing system’s web UI using basic VB6 skills

For more than a decade, Interface Systems Group (ISG) has been providing hospitality and travel solutions. The company focuses on medium size ERP solutions and projects for the hospitality sector, with a company's competitive advantage of their comprehensive solutions which provide CRM, Booking, Point-of-Sale, Event Management, Accounting, Inventory, Telephony, IVRS and integrated Websites, all under one roof.

ISG always looks to update and upgrade its ERP solutions to the latest technologies available. Dhruv is a tour costing system that was designed for a tour operator which provides custom-designed holidays to their clients. The product has been developed using Visual WebGui and uses MS SQL 2005 as the database. The solution integrates into the client's CRM that was developed by another vendor and uses PHP and MySQL. Most of the application is in 3-tier and uses NHibernate. 

Business needs
Each tour or holiday consists of various elements such as accommodation, travel, sightseeing, etc. Those details and their costs provided by suppliers are entered into the system which then automatically calculates the sell price for the holiday. The representative who uses the system can then book the holiday and collect the payment. These sales representatives formerly worked with Excel spreadsheets, which was often prone to user errors and, more importantly, the constant changes in pricing and costs often did not feed in correctly to the systems downstream (Accounts, CRM, MIS).

As a result there was a need for a system that would allow users to dynamically create packages while connected to the CRM (for client details). They sought a system that would allow the staffers to enter cost details with supplier information and present the quote. It also needed the ability to keep multiple versions for the same quotation and account for different currencies, as well as to keep track of any changes made to the itinerary and/or cost after it has been booked.

In addition, the system needed to use the company rules to compute a recommended selling price and allow conversion a quotation to a booking when required. On top of that, it had to be able to share information in real-time with MIS and Accounting so that any quote or order is updated in the system and any subsequent changes to price or cost are synchronized. In that case, it was necessary that the system be integrated into the existing web based CRM and served as a web application as well.

Since the application was intended to run online, performance was an important issue. Keeping waiting time under 5 seconds when moving between forms of the quotation or booking was a key factor to this data centric application which was specified to use grids wherever applicable. 

The Solution
With only minimal funds available, a single developer was allocated for the main part of this project. The developer, who had an extensive experience in developing in VB6, would have some support available from two additional developers with the business and data layers. Thus, a solution that would allow building web applications while utilizing the existing VB6 skills as much as possible was sought. Visual WebGui seemed the best fit as it allows building web applications using VB6-like development patterns. "Visual WebGui was easy to get acquainted and got me started with building an architectural plan within few working days. On execution it was satisfying to see a web application coming through faster than expected," said the CEO Rajeev Jha.

The smooth shift to Visual WebGui and building web applications was successful due to the native simplicity of Visual WebGui as well as the extensive support available from Visual WebGui.

With regards to integrating the application which uses MS SQL 2005 with the client's CRM and Database (written in PHP using MySQL) SOA methods were discussed. But it was eventually decided to integrate by sharing the database schema with each other and usage of temporary tables. e.g. Both systems get the data in read-only mode for pick-up/lookup, but use temporary tables to allow for updating each other's database. 

Benefits
Completing the development of the web based tour costing system according to the original specifications was made possible due to Visual WebGui's Windows over Web approach that allowed developing a web application using VB6-like development paradigms. This was crucial since the single developer allocated to the project was a desktop developer, experienced in VB6 and had practically no web development experience at all. 

"Not only did the Visual WebGui VB6-like development experience contribute to achieving a web application which would have been difficult or impossible to do otherwise, but it was also done fairly easy," said Rajeev Jha.  He also added that "the ease of designing a web page in Visual WebGui is unmatched to any other web solution I have evaluated." The amount of time this exact project would have taken using ASP.net cannot even be estimated due to the developer's lack of experience in developing web. It is certain however, that the development time would have been significantly longer. "The overall development process took a bit longer than what it would have taken with WinForms, but in the end I got a web application!" said Rajeev Jha.

Using Visual WebGui allowed the company to easily bind data especially since the VB6 developer had never used controls in a data-bound way. "I was aware that in ASP.Net it is needed to bind custom classes to the control, but had heard it is quite painful. Luckily, with Visual WebGui I didn't have to implement it since I didn't directly develop in ASP.Net. As a result, I found data-binding to be fairly simple and to work well with Visual WebGui," commented Rajeev Jha.

One of the key requirements and concerns with building the solution as a web based application was performance and response time as it was being compared internally to a similar desktop application. In addition, the system uses an ORM (NHibernate) which added to the performance concerns. Due to the Visual WebGui runtime, the deployed product performs well over the original "Keeping waiting time under 5 seconds" requirement and overall shows great results in terms of performance with approximately 20 concurrent users at the moment.

More Stories By Josh Litvin

Yaniv Yehuda is the Co-Founder and CTO of DBmaestro, an Enterprise Software Development Company focusing on database development and deployment technologies. Yaniv is also the Co-Founder and the head of development for Extreme Technology, an IT service provider for the Israeli market. Yaniv was a captain in Mamram, the Israel Defense Forces computer centers where he served as a software engineering manager.