Programming |
Systems Support CompanyYour Source for Innovative Programming
Microsoft® Visual FoxPro® is the newest version of the Microsoft object-oriented environment for database construction and application development. Visual FoxPro gives a developer the necessary tools to manage data, whether organizing tables of information and running queries, creating an integrated relational database management system (DBMS), or programming a fully developed data management application for end users. Database Trends The key trends in the database arena are:
Internet Support in Visual FoxPro Visual FoxPro supports the Internet. Developers can:
ActiveX Extensibility and Interoperability The number one design goal for Visual FoxPro was to extend the potential uses of an application based on it, and deepen integration with other Microsoft®tools and technologies. By including ActiveX Controls, with their inherent extensibility and interoperability, a developer can extend Visual FoxPro applications. By creating ActiveX Automation servers, a developer can extend Visual FoxPro applications to work with Microsoft Office solutions, other Internet-based applications, and so forth. A developer can broaden the environment in which an application is used, exploit advanced multi-tier client/server architectures, and create reusable application components for more efficient development. Increased Performance Developers using FoxPro expect the highest levels of performance from their tools. Visual FoxPro version 3.0 focused on an object-oriented paradigm for application development. Visual FoxPro hones performance under this paradigm by delivering faster local data retrieval and by continuing its leadership in the speed of retrieving server-based data. Form-load and refresh performance is improved, so a developer can build applications that are more responsive to the user. Improved Connectivity Features Developers frequently implement FoxPro applications into distributed environments, some with remote offices and mobile users. Using Visual FoxPro Offline View, developers can create applications that run against data on a connected network or against an offline view of the data on their local machines. A developer includes one line of code to switch the view from connected to offline. Visual FoxPro now includes commands that can be used to create programs that synchronize the data and resolve conflicting updates when the user reconnects to the network. In addition, a developer can deploy applications built using Visual FoxPro on Internet servers with front ends that run using a Web browser. This architecture supports mixed client computer environments as well as environments where minimal hardware and software are available on client computers. Enhanced Development Environment A developer saves time and money on typical programming chores, because faster and more efficient team development is possible using Visual FoxPro. It includes integration of the Visual Source Safe® project-oriented team development system, and a multi-user database container. In addition, improvements have been made to the program editor, and a new debugger has been added. Empower Other Applications with Visual FoxPro With Microsoft Visual FoxPro, a developer can create Automation servers (formerly known as OLE automation servers or OLE servers). An Automation server is an application that exposes functionality that can be used and reused by other applications, including Web sites, through automation. A developer can create an Automation server that displays reusable forms, implements business rules, or packages a complex routine into a simple component that other programmers can use. Creating Automation servers is central to the creation of multi-tier client/server applications. Microsoft Excel is a simple example of an Automation server. Microsoft Excel exposes objects such as worksheets and charts. Using Visual FoxPro, a developer can send data to Microsoft Excel and create a chart. Developers need not know the details of creating a chart; instead, they simply create an instance of the object, set properties, and execute a method to create the chart. In Visual FoxPro, the application developer can choose to expose any object and method from an application as a public class. An example would be a server application that takes client ID as input and then searches several different databases to find and return the client computer name, address, and so forth. Another example is a print server computer that waits for a report name and then processes and prints the report, freeing the client computer for other tasks.
Build Multi-tier Applications Remote automation is a new feature for Visual FoxPro. Using remote automation, a developer can run an Automation server on one computer and a client application on a separate computer on the network. This feature is useful for implementing three-tier client/server applications, asynchronous processing, off loading work to under used machines, and reducing client software maintenance. Increased Performance Visual FoxPro customers have told us that speed is their number one concern. Visual FoxPro emphasizes speed in three areas: object performance, memory efficiency, and data retrieval. We designed it to be faster than version 3.0 in as many measures as possible. As a result, speed improvements range from 10 to 300 percent, with the greatest gains being realizable on Intel 486 computers with 8MB of RAM. Object Performance Form-load and form-refresh time represent critical factors in determining a user’s perception of application performance. We addressed the speed with which objects render or are painted on the screen, the speed with which form controls are bound to underlying data, and the size of the memory foot print for several commonly used controls. The result is a 40 to 200 percent improvement in form performance, depending on computer configuration. Rendering objects more quickly is easy to understand. Binding is not as obvious. In Visual FoxPro, we implemented a technique called delayed binding so a developer can speed the form-load process. A developer can choose to open the form with all controls instantiated but unbound. The form loads faster than it did in version 3.0. Visual FoxPro and completes the binding logic while the user is getting their bearings on the open form or while they input a key to locate the desired record set. This technique is well-known to client/server application developers. It breaks up and distributes necessary delays into smaller, more comfortable chunks, and eliminates some unnecessary steps altogether. For example, on a form with a Tab control, data binding is not completed until the user clicks the desired tab. Memory Efficiency for Form Controls Reducing the memory foot print on several form controls contributes to improvements for forms’ performance. The text box, list box, and combo box controls have smaller memory foot prints. Visual FoxPro forms that use these controls require less memory to load and run than did those same forms in version 3.0. For example, open a list box or combo box bound to a table with 1,000 or more rows, and compare the form’s performance between versions 3.0 and 6.0. In version 3.0, a user experiences delays when scrolling.In version 6.0, a user can scroll freely and see screen refreshes while scrolling. In version 3.0, the screen refresh occurs only after the mouse button is released. Deploying Applications on the Internet Using Visual FoxPro to create Automation servers brings the power of Visual FoxPro to a variety of other applications. A key use for this technology is to deploy Visual FoxPro applications on the World Wide Web. Imagine a developer building a Web site, or intranet server who wants to make an employee directory available. Ideally, an employee can point a browser to the Search for Employee page. To perform a search, an employee types the requested employee’s name, phone extension, department, position, or any other information available, then chooses Search Now. In the browser, a list of the employees who meet the search criteria is displayed, from which the employee can choose the person desired. The beauty of this architecture, when used instead of static HTML pages, is that as soon as the database is updated, it is immediately available to the browser. And there is no latency period for updating an HTML page. Conversely, data collected from the Web goes directly into a database with no need to convert and massage the data, thus saving work for the developer. Using the FOXISAPI library included with Visual FoxPro, a developer can build forms that run on a local network, using the Visual FoxPro runtime, and simultaneously on Web browsers, using HTML-based clients. This enables developers to minimize coding and maintenance chores while supporting both LAN-based and new browser-based clients.
Copyright© 2003 Systems Support Company. All rights reserved. |