Friday, October 27, 2006

Project: Stop The Phones From Ringing With a Visual DataFlex WebApp Database Sharing Application

Client: American Data Storage of Boston, MA (www.AmericanDataStorage.Com)

Client Problem: My phones are ringing off the hook with inquiries about inventory requests and the manpower I have is being sapped by these inquiries to the point of not allowing us to perform our regular duties and we have a backlog of work.

As a software engineer with 23 years in the custom software business, I chose a tool called Visual DataFlex WebApp from Data Access Miami whose main website is The reason I chose this tool is that it is data-centric rather than interface-centric. Instead of defining a beautiful interface in 10 hours and spending 80 hours in interfacing with the customer's data, I chose a tool where I invested 20 hours of data interface time and touched up the user interface .asp pages over time (20 hours more) and delivered the application at a lower cost than a Studio like .NET or VB because the
Visual DataFlex Studio (rev 11.1) starts at the data interface and automatically (after defining the business rule layer for sharing data) creates the .asp pages which are totally functional but not beautiful.

I have spoken with a number of Sales Marketing Executives including a 500 billion dollar company Marketing and Sales VP, and they have spent huge amounts of effort and dollars invested in web / data interfaces with the .NET and VB Studios. The story from them is very similar: in a very quick time they get a beautiful contemporary interface to do the job, but enforcing business rules such as who gets to see which data, which subsets of data are available, and whether a particular user can delete/edit/create etc. individual data tables at which times is a nightmare that sometimes is unacceptable in the end and costs huge investments in making a web tool compatible with data business rule layers. In addition, the result is that these business rule layers reside in the .asp rather than in (available only thru Visual DataFlex WebApp) a dynamic datadictionary class for each table, and customized data dictionary objects for each module (business rule exceptions to the main blueprint but for an individual module only).

The DataDictionary Classes From Visual DataFlex WebApp function on 4 levels:
1. You are able to define attributes to each column of each table, such as capslock, required entry, comboform values (must be one of....)...
2. Methods are written (functions/procedures) and hooked into the desired columns of each table which are run prior to agreeing on a save or delete.
3. The DataDictionary Class has a cascade of messages that get called upon a new save, an edit to an existing record, or on all saves, or on a delete.
These messages are customizable (say to drop down a parent value into a child table), assign a unique ID to a new record, etc, and lastly validate the data after all the massaging is done to centralize the rules: example: if the total result of the transaction makes the customer overlimit on credit limit you can rollback the transaction entirely based on this level of control.
4. This is the best part: DataDictionaries for each related DBMS table are organized in tree fashion and hooked together so that the data structure of the table is REQUIRED to use datactionaries from it's related parent and child tables. This is called a DDO TREE. Layman's terms: You are saving a new customer, but because the customer table is connected to the terms table, you cannot save a customer unless a predefined record is found by the terms datadictionary object. No save: you haven't selected terms for the customer.
Now, for business modules, the DDO Tree is instantiated for each individual module. You can actually augment the find/clear/save/delete/validate business rules for each module easily and customize them for that particular module. Example: show only the fire protection inventory and hide all other.
Let's get back to the client's application specifically:American Data Storage specializes in keeping inventory of film media, video, and digital video and CD's and targets Advertising Agencies, Broadcasters, and Corporations that do videos for training new employees and advanced study for existing employees. In a bold move, ADS has offered the City of Boston an online, immediate retrieval of all their video surveilance tapes which, in this day of terrorism and crime, is an excellent choice. Instead of trying to maintain (and then locate) certain video, they would login to ADS, search for the inventory, and pick it up within an hour at ADS's main site or have it shipped overnite.

I crafted, in a very low budget, a highly dependable Web Interface to data over the internet which accesses inventory ONLY for the company logged in, and divided into categories or sub-clients of the client, featuring 6 search engines to locate the data and a shopping cart withdrawal of inventory.

The owner of ADS was so pleased, based on his review of the end result, that he hired Sonata Software, (The Author) to create a DEMO AREA where you can login as DEMO and try out the application based on an inventory of popular movies on DVD (all demo, none available in real life). This acts as a promotional piece for the company and it is now swamped with inquiries due to only word of mouth, from new customers and existing customers that want to be able to search for, and order their inventory online 24/7/365.

ADS and I invite you to review the final result and run the Web Application in DEMO MODE at (login page).

The results will speak for themselves, and you can contact ADS thru their website to ask how they feel about Visual DataFlex WebApp and what it's done for their business.

Peter A DonovanOwner / Lead Programmer
Sonata Software: Applause (TM) Software
Boston, MA, USA

No comments: