Visual FoxPro Goes Big-Time - dFPUG-Portal
Visual FoxPro Goes Big-Time - dFPUG-Portal
Visual FoxPro Goes Big-Time - dFPUG-Portal
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Print Article<br />
Issue Date: FoxTalk May 1996<br />
<strong>Visual</strong> <strong>FoxPro</strong> <strong>Goes</strong> <strong>Big</strong>-<strong>Time</strong><br />
Bob Grommes<br />
Bob's <strong>FoxPro</strong> interview with Ron Horwitz ("A Clipperhead Switches to<br />
<strong>Visual</strong> <strong>FoxPro</strong>," December 1995) proved so popular that we've<br />
decided to have another go at it. This time, Bob interviews Jack<br />
Gallagher, president of MaxTech, to discover how <strong>Visual</strong> <strong>FoxPro</strong><br />
holds up in demanding, large-scale, real-world settings.<br />
For most of us, the transition to object-oriented programming in <strong>Visual</strong> <strong>FoxPro</strong> has been quite a "sea change." For some, it<br />
has been downright intimidating. This atmosphere has been complicated by what many consider to be Microsoft's weak<br />
marketing efforts (and their handling of the 2.6 to 3.0 transition). These things have detracted from <strong>Visual</strong> <strong>FoxPro</strong>'s technical<br />
excellence. Thus, rumors and "flame wars" abound. Is <strong>Visual</strong> <strong>FoxPro</strong> truly worthy of our technical confidence? Is its<br />
performance and stability up to the demands of a truly "large scale" application deployment? Is its future certain enough to<br />
place your bets on?<br />
The best way to find out is to talk to someone who's been there. I did that with Jack Gallagher, president of MaxTech Inc. I met<br />
Jack in November 1995 at the Great Lakes Great Database Workshop, a <strong>Visual</strong> <strong>FoxPro</strong>-only conference that attracted several<br />
hundred <strong>FoxPro</strong> developers who were eager to get up to speed with <strong>Visual</strong> <strong>FoxPro</strong> and figure out how to fit the new product<br />
into their strategies.<br />
MaxTech, which describes itself as a "Multi-Faceted Technical Service Corporation," is a Washington, DC-based company<br />
that is probably best known to our readers for the <strong>FoxPro</strong> training it offers. Many of our readers will recognize MaxTech's<br />
technical partner, Drew Speedie, and FoxTalk's own "Dr. <strong>FoxPro</strong>," John Petersen, who until recently was MaxTech's director<br />
of <strong>FoxPro</strong> Development. Other major players include Jim Rafferty, vice president, and Tom DeMay, senior application<br />
developer.<br />
MaxTech has clients all over the United States and Europe and just happens to be deploying a WAN-based <strong>Visual</strong> <strong>FoxPro</strong><br />
application that will eventually service more than 200 locations worldwide. They also have ongoing <strong>FoxPro</strong> 2.x projects, as<br />
well as projects in <strong>Visual</strong> Basic and Access. As a company, they've had more time and opportunity to evaluate <strong>Visual</strong> <strong>FoxPro</strong><br />
against the alternatives than many of us will. I hope you'll find my talk with Jack as enjoyable and illuminating as I did.<br />
Bob Grommes: We've all heard the hype, but now I'm sitting in front of someone who claims to have tested it on a big scale.<br />
Tell me about your "killer app."<br />
Jack Gallagher: It's a distribution management system for a group of worldwide shipping companies. It uses <strong>Visual</strong> <strong>FoxPro</strong><br />
over a WAN to handle about 100,000 transactions per month for each of about 200 of the clients' ports of call and will be<br />
upgraded to Client/Server in 1996. We're pleased to report that not only has <strong>Visual</strong> <strong>FoxPro</strong> proved fast enough for this task, it<br />
has proven to be even faster than we expected. We developed and tested the application on a LAN and were delighted with<br />
how well it "scales up" to the eventual working environment.<br />
Bob Grommes: That's quite an accomplishment. This application is now in actual day-to-day use?<br />
Jack Gallagher: That's right. It went through acceptance testing in January and February, and the client is very pleased. The<br />
client is even marketing the software to its own customers so that they can tie into the same database.<br />
Bob Grommes: What was the most difficult challenge you encountered in the development of this application?<br />
Jack Gallagher: The complex data structure that was driven by the business process requirements of maintaining and<br />
operating with location-specific data. It was almost akin to data replication. The primary key for all of the tables couldn't be a<br />
single field, but a combination of several fields was necessary.<br />
Bob Grommes: What was the most important thing you learned while developing this application?<br />
Seite 1 von 3<br />
Jack Gallagher: Don't create your classes ahead of time (before you develop your first application). Write them as you go. It<br />
really is the only way you can make sure they work in the real world.<br />
Bob Grommes: The kind of success you've enjoyed on this project doesn't just "happen." How does MaxTech organize its<br />
projects for success?<br />
Jack Gallagher: For each client, we identify what we call a business or corporate "champion." This is someone in the<br />
organization who has the authority, responsibility, and power to be a single point of client contact for us. It's crucial to ensure<br />
that you're working with a decision-maker and not merely a technology enthusiast who's being given enough rope by<br />
management to hang himself.<br />
http://foxtalknewsletter.com/ME2/Audiences/Segments/Publications/Print.asp?Module=...<br />
05.04.06
Print Article<br />
Next, we assign a "project lead" to the project. This team leader is an analyst-level individual who can engineer the application<br />
design and communicate it to the lead developer. Depending on project size, the lead developer may in turn work with one or<br />
more application developers. The lead developers all use our methodology. It doesn't hurt that our application engineer is<br />
Drew Speedie, either.<br />
Bob Grommes: Obviously, you have to make a choice early on as to what product or products you're going to develop the<br />
application with. By what criteria do you make this selection, and in particular, when do you recommend <strong>FoxPro</strong> 2.x vs. <strong>Visual</strong><br />
<strong>FoxPro</strong>?<br />
Jack Gallagher: I always sit down with the client and draw a matrix. The columns show the product options that we offer:<br />
<strong>FoxPro</strong> 2.6, <strong>Visual</strong> <strong>FoxPro</strong>, <strong>Visual</strong> Basic, and Access. The rows show the major feature areas, such as hardware<br />
requirements, client/server support, performance, and so forth. I then discuss the pros and cons of each platform relative to<br />
the application under discussion.<br />
User expectations are really important when dealing with VFP. You can't be wishy washy about it. Their machines need at<br />
least 16M of RAM to operate at a level of performance that will suit everyone. Right from the start, on all our VFP projects, we<br />
are very clear about this requirement.<br />
When it comes to <strong>FoxPro</strong> 2.x vs. <strong>Visual</strong> <strong>FoxPro</strong>, it's often a question of whether or not the client's hardware base is adequate<br />
to run <strong>Visual</strong> <strong>FoxPro</strong>. Given <strong>Visual</strong> <strong>FoxPro</strong>'s strengths, it's my experience that <strong>Visual</strong> <strong>FoxPro</strong> is usually worth the cost of<br />
hardware upgrades that might be required to deploy it. In general, software is more costly than hardware. Hardware costs<br />
could still be a bigger factor for a large company with many users to upgrade, but not usually. In any event, if the client needs<br />
features unique to <strong>Visual</strong> <strong>FoxPro</strong>, such as its much better client/server support, then 2.x isn't an option.<br />
We also factor the cost of maintenance into the decision. We believe that <strong>Visual</strong> <strong>FoxPro</strong> applications will require less<br />
maintenance labor in the long run because of the benefits of code reuse and encapsulation.<br />
Bob Grommes: It's becoming clear to me, though, that the key to actually realizing the benefits you mention is having a solid<br />
framework to build your application on.<br />
Jack Gallagher: Oh, yes, absolutely. There's no getting around the need to invest considerable time and effort into<br />
developing an application framework, unless you purchase someone else's. Our own framework represents a considerable<br />
investment, and it's constantly evolving.<br />
As a matter of fact, we market our framework as a separate product. Clients who contract with us to do a <strong>Visual</strong> <strong>FoxPro</strong><br />
product pay a flat price for the framework on the first VFP project we do for them. We explain to them that the framework<br />
contains the fundamental abstractions that all applications are based on, and it will allow us to get started quickly on their<br />
project.<br />
There is a danger here, though. With a framework in place, you can put together an application menu and some screens and<br />
reports and have a prototype working so quickly that it can create the illusion that the project is trivial, or even that it's nearly<br />
finished. This is where the communication between the business champion and the project lead is so crucial. The client must<br />
be trained to understand how the development process works, and must be informed as to the true current status at all times.<br />
Bob Grommes: Do you also sell your framework to individual developers?<br />
Jack Gallagher: Indirectly at the present time. You get a copy of the current version if you take one of our <strong>Visual</strong> <strong>FoxPro</strong><br />
courses, or if you call us in to consult with and train or mentor your development team. We call the latter program "VFP Project<br />
Rx." It's a sort of "jump start" process where you're being trained as you develop your first VFP project.<br />
We've actually been considering selling our application framework and class libraries to the development community. This is<br />
based on many conversations that Drew and I've had with the developers out there who have expressed a need to have a<br />
simple VFP application framework to get started with on their first VFP project. In fact, we've just been asked to provide the<br />
application framework, class libraries, and training for a government contractor who has a very impressive staff of <strong>FoxPro</strong> 2.6<br />
for Windows developers but doesn't want to sink a significant amount of time and effort into developing their own framework.<br />
They want to get going, now.<br />
Bob Grommes: Many developers have expressed concern about whether demand has actually materialized for <strong>Visual</strong><br />
<strong>FoxPro</strong> applications. Have would you respond to this concern?<br />
Seite 2 von 3<br />
Jack Gallagher: We're living proof that <strong>Visual</strong> <strong>FoxPro</strong> is alive, well, and in high demand. Our projects are running four to one<br />
in favor of <strong>Visual</strong> <strong>FoxPro</strong> over <strong>FoxPro</strong> 2.6 for Windows. The training we're being asked to provide is almost exclusively <strong>Visual</strong><br />
<strong>FoxPro</strong>.<br />
Bob Grommes: What advice do you have for the small shops -- independent developers and small IS departments -- who<br />
face the VFP learning curve? You have, relatively speaking, a lot of resources at MaxTech in which you can spread out this<br />
cost. How does the one, two, or three-person shop pull this off?<br />
Jack Gallagher: The small shop simply won't have all the time it needs to dedicate to the VFP learning curve without getting<br />
some help. The first thing I recommend to our clients and other developers is that they purchase Microsoft's Mastering <strong>Visual</strong><br />
<strong>FoxPro</strong> CD. This may seem like a basic first step, but that's exactly the intent. We've found that a relatively economical way to<br />
get going in the VFP learning process is by working with this CD.<br />
The next step is to determine whether you can realistically develop your own application framework and class libraries or<br />
implement someone else's. It is my recommendation that the small shop incorporate a tried and true application framework,<br />
class libraries, and methodology provided by a third-party company.<br />
http://foxtalknewsletter.com/ME2/Audiences/Segments/Publications/Print.asp?Module=...<br />
05.04.06
Print Article<br />
Seite 3 von 3<br />
A word of warning is necessary here. There are frameworks and then there are frameworks. Make sure you use one that has<br />
actually been used in the development of a delivered application. Check client references to see if they're happy with what<br />
they received. This can be a tedious process, but you've heard the old saying "pay me now or pay me later." Ensure that<br />
you're able to receive documentation or workbooks of some sort to learn the framework on your own.<br />
Ultimately, if you have a little time and money I'd recommend you go to a training class specifically designed for the use of the<br />
application framework, class libraries, and methodology. I'm not talking about the kind of training where the product is<br />
demonstrated during the course of a week's time. I'm talking about hands-on application development training using the tool<br />
you've selected.<br />
Bob Grommes: Since Info Week broke the story in February about Microsoft's plans to eventually roll <strong>Visual</strong> <strong>FoxPro</strong> in under<br />
the Developer's Studio umbrella along with <strong>Visual</strong> Basic and <strong>Visual</strong> C++, there's been a lot of renewed fear and loathing<br />
among some <strong>FoxPro</strong> developers about <strong>Visual</strong> <strong>FoxPro</strong>'s future. What is your assessment of the situation, and how is MaxTech<br />
responding to it?<br />
Jack Gallagher: I'm going to answer this question first in a philosophical vein and then describe what we at MaxTech are<br />
doing in response to the news.<br />
First, this industry is constantly changing. Just look at where <strong>FoxPro</strong> has traveled over the last five years alone! The economic<br />
benefits we glean from being VFP developers and trainers is based on the fact that the product has changed and has kept up<br />
with the advances that other products have made. So whatever Microsoft does with VFP, it's clear that time isn't going to stand<br />
still for us. The planned rolling of VFP into the Developer's Studio may be an eventuality.<br />
I don't believe that <strong>FoxPro</strong> is dead. In fact, I don't believe Microsoft is going to abandon <strong>FoxPro</strong>. I really don't think we should<br />
fear the future because change has always brought opportunity for us.<br />
At MaxTech, the news has just validated an approach that we recently initiated. This approach is cross training our<br />
development staff. Our VFP developers are either going to <strong>Visual</strong> Basic, SQL Server, Lotus Notes, Internet, or Access<br />
classes. The idea is that no individual should be proficient in one language and one language only. We're also looking at our<br />
training for VFP in the next six months to determine the impact the news has had on the public's desire to take VFP classes.<br />
http://foxtalknewsletter.com/ME2/Audiences/Segments/Publications/Print.asp?Module=...<br />
05.04.06