Future Directions
FoxPro: Moving Into
the New Century
June 1998
Contents
Introduction: What Next?
Countless businesses have built their processes around FoxPro. Medical offices, professional practices, departments within large organizations, small and midsize businesses and more have found the programmable database, which was introduced in the DOS era, perfect for their needs. Easy to use, flexible, and undemanding in terms of system resources, FoxPro became the silent partner,
an unsung hero in organizations of all kinds.
The business world has changed in the years since FoxPro was first introduced: regulation and deregulation, global competition, restructuring, heightened customer demands. Similarly, the information systems world has changed: components, objects, multi-tier client/server computing, the Internet, multimedia.
Organizations that have long relied on FoxPro 2.x, the DOS and 16-bit versions of FoxPro, now want to respond to the changes in the business world and to capitalize on the advances in information systems technology like the Web or components. For example, they need to get closer to their customers through the use of the Internet or change their applications faster through the use of components.
Businesses that adopted FoxPro 2.x in the past are now rich in FoxPro skills and are in possession of a valuable asset of FoxPro 2.x applications to leverage. The managers of these businesses need to know how Microsoft will bring FoxPro 2.x and Visual FoxPro, the 32-bit version of FoxPro, into the component-based, Web-enabled application development future. Managers need a smooth, reliable upgrade path and a strategy to migrate from where they are today with FoxPro to wherever they want to be tomorrow.
Hurwitz Group has examined FoxPro 2.x and Visual FoxPro, the most advanced version of FoxPro, and assessed the various migration options. This paper reviews the dynamics of the changing business and technology environments and the impact on organizations using FoxPro. It examines the emergence of multi-tier, component-based development and its impact on FoxPro. Finally, it presents the various migration and upgrade options enabling managers to choose the option most appropriate for their organization’s situation.
Back to Top
FoxPro Yesterday
While FoxPro may have lacked the glamour that accrued to other pioneering PC business application development tools, it has long been regarded by professional developers as a stable, flexible, database application development environment with a powerful programming language. FoxPro 2.x has been used to build applications to support everything from departmental business processes to mission-critical applications.
Over the years, FoxPro 2.x brought a number of benefits to the application development effort. It is low cost and imposes very light requirements for system resources. Users with outmoded PCs can effectively run FoxPro 2.x applications. Organizations have rich libraries of proven FoxPro 2.x applications that continue to provide valuable business functionality. FoxPro 2.x has proven easy to learn yet very powerful, and experienced FoxPro developersestimated to number about half a millioncontinue to be available. FoxPro 2.x applications, historically, have been easy to build and easy to deploy.
But existing FoxPro 2.x applications are showing their age. Development managers now want to take advantage of the latest object-oriented and component-based technology. They need to incorporate the Web and multimedia into their business applications. They want to build workflow applications that closely mirror today’s complex business processes, and they want the flexibility to deploy applications in a variety of waysover the Web or as two-tier or three-tier client/server systems. Unfortunately, attempting to modify yesterday’s FoxPro 2.x applications for today’s world is difficult.
Back to Top
The New Development Landscape
Today, application development managers are confronting a radically different application landscape than they have faced in the past. While this creates challenges and problems, the new landscape opens up a wealth of possibilities and opportunities organizations will want to take advantage of. Key elements include:
- Component-based development.
The rise of components is ushering in a new era of development by assembly in which developers create applications by assembling proven, large-grained components. The componentsdiscrete pieces of codeencapsulate recognizable business functionality, which developers can reuse and combine in various ways.
- Tiered, distributed computing
. The adoption of new tiered deployment architectures for distributed computingtwo-tier, three-tier, multi-tierenables organizations to leverage their existing technology in flexible, highly scalable ways.
- Internet/Web
. The rise of the Internet/Web is redefining how organizations, their customers, partners, and suppliers communicate and conduct business among themselves. The opportunity to provide new capabilities and capitalize on new business opportunities is enormous.
Until recently, organizations have found it difficult to effectively use their FoxPro 2.x applications in this new application environment. They have had to rely on cumbersome work-arounds and supplement their FoxPro 2.x applications with other systems. Yet, FoxPro’s traditional strengths in working with SQL data and its very fast local engine make the current release of Visual FoxPro a natural candidate as the middle tier in this new development world.
Back to Top
Benefits of New Development Approaches and Technologies
FoxPro-based organizations have good reasons to want to adopt these new development approaches and technologies. First and foremost, they allow a business to develop new capabilities, which will be required if organizations are to compete and win in today’s global marketplace. Internet capabilities, for instance, allow organizations to reach new customers and develop closer relationships with existing customers.
Component-based development enables organizations to develop and deploy
better quality systems faster, which often translates into strategic advantages. Development efforts can be more responsive and more easily meet changing business needs. Finally, organizations can effectively leverage existing software assets, including legacy systems, by encapsulating valuable pieces of existing code to create new, reusable, easy-to-maintain, easy-to-modify business applications.
Tiered, distributed computing architectures allow organizations to harness their investment in systems and technology, balance the use of resources, and effectively scale applications. Working through well-defined, standardized interfaces, developers can harness resources throughout the organization, even as those resources are changed and redeployed. With tiered computing, organizations protect their investment in technology and continue to use the technology in conjunction with other technologies.
By providing information and applications over the Internet/Web, organizations can offer their customers easy access to legacy applications and data. Moreover, they can extend their reach and tap new opportunities.
The combined benefits of the new application development advances are significant — faster, more productive development, the ability to reach new markets and tap new opportunities, and support for a more responsive business as well as the ability to protect and leverage existing technology assets. To experience these benefits, organizations using FoxPro 2.x will have to change. Organizations that have already made the migration to Visual FoxPro are able to take advantage of the new development advances and are positioned to move ahead as new technologies emerge.
Back to Top
Getting to the Future
Getting from FoxPro 2.x of yesterday to the point where organizations can take advantage of the new application development environment is not automatic. In some cases, it will require an investment in new hardware and software to replace aging PCs and old operating systems with PCs capable of handling today’s new technologies. From a technical standpoint, it will require moving to 32-bit computing. For users of Visual FoxPro, this move has already been completed.
FoxPro 2.x organizations will require a migration strategy in order to leverage existing investment in FoxPro 2.x applications while ensuring that they can take advantage of current and future technologies. Any migration strategy must consider the skills of an organization’s developers and their capacity for acquiring new skills.
Hurwitz Group has identified seven primary FoxPro migration strategy options
for those using FoxPro 2.x. Each has advantages and disadvantages. Within these options, there are also references to migration strategies for organizations that are already using Visual FoxPro. Managers should choose the strategy that best suits their specific situation. The options are outlined in the following table.
|
FoxPro Migration Option |
Advantages/Disadvantages |
|
|
| Upgrade FoxPro 2.x to Visual FoxPro version 5.0 (and version 6.0 as it becomes available) as the primary development environment. |
- Microsoft has continued to invest in FoxPro and offers this as a ready-made migration path to the new application development environment for existing FoxPro shops.
- For organizations with a skilled FoxPro development group and a library of existing FoxPro applications they want to maintain. This represents the easiest and fastest upgrade strategy. It can easily add other pieces of Microsoft Visual Studio at a later date.
|
|
|
| Upgrade to the next release of Visual
FoxPro and adopt Microsoft Visual Studio
at the same time. |
- Visual FoxPro is already a member of Microsoft Visual Studio. Visual FoxPro developers will find the Visual Studio tools familiar, and Visual FoxPro applications will not need rewriting.
- For Visual FoxPro organizations that want to move to an advanced development environment and take advantage of the full Visual Studio tool set while leveraging their experience with Visual FoxPro.
|
|
|
|
Upgrade FoxPro 2.x or Visual FoxPro to the latest release of Visual FoxPro for use as the middle tier in a three-tier environment. |
- Visual FoxPro’s powerful language and proven SQL data capabilities make it a natural as the middle tier.
- Developers can choose anything they want for the front end and access any back end SQL data.
- For organizations that want to pursue multi-tier, component-based development. They can leverage the strengths of Visual FoxPro while taking advantage of other front and back ends. The organization must be ready to implement multi-tier development.
|
|
|
| Start over with Visual Basic and the Microsoft Visual Studio tool family (leaving FoxPro altogether in the process) |
- Microsoft’s Visual Basic and Visual Studio make a leading tool set in the
new application development arena. This will entail rewriting FoxPro 2.x applications, but FoxPro 2.x developers will probably find Visual Studio products familiar and easy to learn.
- For organizations ready to move to an advanced visual family of tools. This represents an attractive option, providing a leading family of tools from a vendor the organization already knows.
|
|
|
| Start over with another vendor’s 4GL and tool set |
- A variety of 4GL vendors offer tool sets aimed at the new application environment. Each tool has its own strengths and weaknesses. FoxPro developers will find themselves starting from scratch and rewriting their applications in a totally new development environment.
- For organizations that intend to leave the familiar Microsoft tool environment.
|
|
|
Experiment with Java |
- Java has considerable potential as a cross-platform development environment with extensive Web and component capabilities. It remains, however, an immature and evolving technology. FoxPro developers will have to master a completely different approach to building applications.
- For organizations that are committed to a Java strategy. Within the Java option, however, there are leading offerings from Microsoft, included as part of Visual Studio, that should be primary considerations.
|
|
|
| Replace with packaged applications |
- It may be possible to replace custom, in-house FoxPro applications with commercially developed, off-the-shelf applications built to take advantage of
the new development advances. This will require abandoning the existing customized FoxPro assets in favor of the limited customization allowed by the packaged applications. However, it may not be possible to find suitable packaged applications in all cases.
- For organizations committed to eliminating their custom development efforts.
|
Back to Top
FoxPro: A Sure Upgrade Path
For most FoxPro-oriented organizations, the upgrade to Visual FoxPro version 5.0 now and to version 6.0 when it is released represents the most likely choice. This option preserves an organization’s investment in existing FoxPro applications and FoxPro skills. Developers will have to acquire some object-oriented skills.
Microsoft’s Visual FoxPro, version 5.0 is an object-oriented database development system. It allows component-based development through support for Microsoft’s ActiveX and COM/DCOM component interoperability model. As a full-featured database development environment, Visual FoxPro version 5.0 allows developers to create and organize tables, run queries, and manage database applications for use by end users.
Highlights of Visual FoxPro version 5.0 include:
- ActiveX automation servers and COM/DCOM support
. Allows developers to deploy Visual FoxPro applications as ActiveX components running on ActiveX automation servers (also referred to as OLE automation servers) and run them locally via COM or remotely via DCOM. These servers handle the application logic and can be called by a variety of front ends: either locally, across a LAN, or via an intranet, an extranet, or the Internet.
- Distributed, n-tier deployment of applications
. Allows developers to design and build multi-tier Visual FoxPro applications in which business rules and application logic are centralized on middle-tier application servers. Developers can build front ends to the middle-tier functionality with their front-end tool of choice. With its strong SQL data capabilities and powerful programming language, Visual FoxPro is well suited to act as the middle tier.
- Web server integration
. Provides tools to integrate Visual FoxPro applications with Microsoft Internet Information Server. Developers can create Web-based applications that let users find and update information in FoxPro or SQL databases as well as share data with LAN-based users.
These capabilities immediately propel Visual FoxPro-based organizations into the new application development arena. Visual FoxPro version 6.0 intends to deliver even more sophisticated capabilities. They include:
- Support for Microsoft Transaction Server
. Will allow developers to deploy COM/DCOM components on the Transaction Server, which will allow multiple users to access the functionality at the same time. This brings critical scalability to the Visual FoxPro environment.
- Support for Microsoft Active Documents (Doc Objects)
. Will allow Visual FoxPro developers to embed a full document as an Active Document within a container, such as the Microsoft Office Binder or Internet Explorer. An Active Document retains complete control over its pages and can exploit the complete native functionality of the application used to create it, such as Microsoft Word. Active Documents will provide an effective way to put FoxPro functionality onto the Web.
Visual FoxPro version 5.0 is available now. Version 6.0 is expected later this year.
Back to Top
Visual FoxPro Version 6.0: Bringing FoxPro Into the New Development World
Visual FoxPro version 6.0 is expected to bring organizations squarely into the
new application development world and position them to move ahead as technology advances. It will enable Visual FoxPro developers to build two-tier and three-tier client/server and Web database applications. They can participate in component-based development, creating and using components within Visual FoxPro. With the Microsoft Transaction Server, developers will be able to scale Visual FoxPro applications to Web volumes.
As a result, organizations will be able to leverage their existing Visual FoxPro software assets, extending their Visual FoxPro applications into new environments such as the Web. They will be able to take advantage of the power of the FoxPro language and functionality over the Web through support of Active Documents. And, Visual FoxPro will continue to evolve along with the entire Microsoft tools environment.
Back to Top
Conclusion: Best of Both Worlds
Faced with the compelling benefits delivered by new advances in application developments, FoxPro-oriented organizations need to plan a migration strategy or risk falling behind competitively. While there is expense and disruption involved in any migration, the long-term advantages offered in the new development world should far outweigh the drawbacks.
When assessing the various migration options, organizations that have made
a significant investment in FoxPro 2.x applications and want to preserve it will find themselves best served by an upgrade to Visual FoxPro version 5.0 and, subsequently, to version 6.0. They can use Visual FoxPro as the front and/or middle tier in a multi-tier, component-based environment. This will allow them to move into the future while protecting their existing FoxPro 2.x investment. In short, it offers the best of both worlds.
Visual FoxPro organizations will find that upgrading to the latest release of Visual FoxPro and Visual Studio provides the easiest path to today’s advanced development environment. These organizations can run Visual FoxPro as their primary development environment or as the middle tier in conjunction with
front- and back-end tools from Visual Studio or other sources.
Those organizations intending to leave FoxPro altogether have a number of options. Foremost is Microsoft’s Visual Basic and Visual Studio, which provide a full set of advanced development tools supporting tiered computing, component-based development, and the Web from a vendor that is already known.
In the end, organizations should make their migration strategy choices based
on issues such as features and functionality, compatibility with other tools in use in the organization, skills requirements, and investment protection. For most organizations, the choice of Visual FoxPro and Visual Studio will get them
where they want to be for the least effort.
Back to Top
Copyright © 1998, Hurwitz Group, Inc.
All rights reserved. No part of this report may be reproduced or stored in a retrieval system, or transmitted in any form or by any means, without prior written permission.
FoxPro: Moving Into the New Century — Microsoft Corporation
is published by Hurwitz Group, Inc.
111 Speen Street, Framingham, MA 01701
Telephone (508) 872-3344; Fax (508) 872-3355
Email address: info@hurwitz.com
Web site: http://www.hurwitz.com
Last Updated: 3/03/99
|