-
(based on an original by Randy
Pearson - reprinted by permission)
This paper presents an analysis of using Microsoft®
Visual FoxPro as a development tool for current
and future Desktop and Web-Oriented enterprise applications. Visual
FoxPro is an excellent tool for such development based on the following
reasons:
- Visual FoxPro uses modern object-oriented
technology with a robust environment for development. VFP 7.0
offers both Interfase and Implementation Inheritance allowing
you to create robust OOP applications and world-class COM Servers.
- Visual FoxPro applications
can be designed to utilize: (1) local databases using its own
database engine; (2) any back-end ODBC or OleDB data source (i.e.,Microsoft
SQL Server); or (3) a combination of the two.
- It has native XML functions, so it can produce
and read XML (to/from tables), including XM UpdateGrams to interact
with SQL-Server 2000.
- It has the ability to interact
with other products, both as a client (by hosting ActiveX
and COM components), and as a server. Therefore, it can obtain
an object reference to products like Microsoft Office© and
has access to all of their feature set through Automation.
- Although it is not part of VS.Net, Microsoft Visual
FoxPro 7 can interact with .NET applications, and can create and
consume Web Services.
- Many features of the product
combine to support rapid application development (RAD) techniques.
- Microsoft is committed to the
future of Visual FoxPro, as evidenced by its release of version
7.0 in 2001, and its inclusion in the MCSD certification track.
Microsoft is also hard at work in the next version of Visual FoxPro,
codename "Toledo". This is what Steve Ballmer, CEO and
President of Microsoft has
to say about Visual FoxPro
.
- Limitations of the product
that could affect the suitability of Visual FoxPro for some file-server
applications do not affect its suitability for Web-based applications.
The important features of Microsoft Visual FoxPro
for Web-based application development include:
- Visual FoxPro has a robust object-oriented
development environment that includes visual tools, a data-centric,
object-oriented programming language and an integrated debugger.
The language supports full object
inheritance, thus allowing for maximum code re-use and development
of complex application frameworks. Many commercial frameworks
are also available.
- Visual FoxPro has a local database engine
that allows for rapid application development (RAD) without the
need for developers to have constant access to expensive back-end
database servers. Applications can be developed using local data
and later upsized to a different database. Local databases can
be substantial in size without upsizing, (255 fields per record,
1 billion records per table, 2GB maximum file size per table).
- Visual FoxPro applications can connect to
any back-end ODBC data source (e.g.,Oracle®,
Microsoft SQL Server, Informix) or through the use
of OleDB.
- Visual FoxPro can interact with other products
and components both as a client and a server using component object
model (COM) technology. ActiveX controls and COM/DCOM servers
can be hosted and used directly from Visual FoxPro. ActiveX controls
developed in other languages, such as Visual Basic
or Visual C++, can even be sub-classed in Visual
FoxPro for further customization.
- Visual FoxPro applications can be compiled
as COM+/DCOM servers that use apartment model threading. This allows
them to be used as scalable middle-tier components in a 3-tier
architecture. Due to their threading, they can be managed as components
of a transaction by Microsoft Transaction Server (MTS).
- The Visual FoxPro language allows for easily connecting
to other databases using ODBC or OleDB. Databases can be queried
by either using visual query design tools or by direct SQL pass-through
commands. The latter allow for applications to take advantage
of specific features of a database server beyond standard ODBC
syntax. Visual FoxPro can also use ADO to connect to outside databases
and XML as a means of transferring information to/from dissimilar
systems.
- VFP can create and understand XML natively and
can even create XMLUpdateGrams to send updates to SQL-Server
databases from COM components.
- Its Intellisense® open architecture is unrivaled
even by other Microsoft languages as it is table-based and totally
customizable. Its tips can be modified, enhanced, and even translated.
Its code-completion syntax can be augmented to process scripts
which can be complex programs written in the FoxPro language to
write tedious portions of repetitive code more efficiently.
Visual FoxPro and Microsoft are registered
trademarks of Microsoft Corporation
|