04.08.2013 Views

Visual FoxPro Goes Big-Time - dFPUG-Portal

Visual FoxPro Goes Big-Time - dFPUG-Portal

Visual FoxPro Goes Big-Time - dFPUG-Portal

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!