Integrating Applications with Microsoft Office 2000 Developer
Hands On: Microsoft Office 2000 Developer (Beta 2)
As Microsoft Office forges ahead, so does its companion developer’s kit, which is used to inspire total integration of Word, Excel, Access, and the rest of the Office 2000 family of products.
For this review, we used Microsoft Office 2000 Beta 2, and the Microsoft Office 2000 Developer (MOD) Beta 2. As with any beta product, there were the usual problems and issues that accompany beta releases, but these are expected to be corrected in the final version.
We used Windows NT 4.0 Server systems hosting SQL 6.5 SP2 for our primary data sources, with dual-processor workstations running MOD. We used Visual FoxPro 5.0 and Access databases for testing interoperability between systems.
We used an intranet supported by Internet Information Server 3.0, along with Apache Unix Web servers. Lastly, we used MOD on a newly installed SQL Server 7.0 for Web integration testing.
As the focal point for development, we used a dual-processor Pentium 233-MMX with 224 MB of RAM and a fast UDMA 8.4 GB drive. The video subsystem was a Diamond Viper 330 with 8 MB of VRAM. The entire system runs Windows NT Workstation 4.0 SP4 and the complete Office 97 suite with Service Release 2.
The upgrade from Office 97 to Office 2000 seemed simple enough, but the entire process took more than two hours to perform. Office 2000 Beta 2 installed Internet Explorer 5.0, whether we liked it or not, but luckily it didn’t interfere with an existing installation of Netscape Communicator 4.5.
Office 2000 consumed 118 MB of disk space beyond the 130 MB required for Office 97’s maximum installation. A clean install of Office 2000, without existing Office 97 products, uses 234 MB of disk space.
Memory utilization, likewise, increased significantly: Word 2000 used 13.2 MB during normal operation.
Next, MOD was installed to replace Office 97 Developer’s Edition. The process consumed little time and about 40 MB of disk space.
Creating A Sample Application
The sample application we created centered on Web-hosting services. The site uses multiple IIS 3.0 servers, all logging activity to our SQL Server 6.5 database system.
We created a way to watch the volume of traffic, and tally several categories: visitor, to see how many times each visited the site; server, to know which one has the highest utilization; and total bytes transferred, to know when to expect the network or link to fill up.
By creating and analyzing this array of data, we could simply and easily generate weekly, monthly, and ad-hoc reports for any customer we support. Also, we archived certain data into Access MDB databases, away from the SQL Server tables.
Lastly, we set up a procedure to print invoices for each customer at the end of the month. We wanted Excel 2000 to do all of the backend calculations and graphing, and insert the data into a Word document.
Some references were previously used as pass-through calls, but we thought having more control over the process would be better for the test. When defining the views, SQL appeared to lag in responding during the first execution of the code. It finally completed, and the problem never returned in subsequent executions.
After completing this task, we connected to the server via Access. A dialog box warned us that we needed to upgrade to SLQ Server 7.0 to take full advantage of Office 2000’s Web functions.
At this point we migrated the application to our SQL Server 7.0 server, and the nasty-gram went away.
The completed test used standard Windows API, COM, and VBA code. The Access database was created, so moving along to the SQL integration was the next logical step.
Before pressing forward with the code development, we took time to review an important part of MOD: the Code Librarian. The Code Librarian is a consolidation of code snippets and functions that provides API insights not found elsewhere in Office 2000 or the API documentation. This collection of API references shows how to access the present tools and how to access legacy data.
We had several legacy applications running under FoxPro 2.6. These applications run under Windows 3.x and Windows 95/NT, so we had no reason to bring them forward under FoxPro's later editions. We found that MOD offers several legacy data access objects. For many of the routine, and some not so routine, data access objects, Code Librarian provides welcome relief to batting out custom code.
With the Replication Manager, a new tool in MOD, developers can replicate, or duplicate, databases between locations local to the development environment. Users can also perform replication across the Internet using Web servers, such as IIS. We used our IIS servers to replicate data, and found it simple. It enabled us to share data between sites via HTTP or FTP protocols, instead of bulky e-mail traffic or having to save to a CD or floppy from databases.
The final application we created was similar to an imbedded document in Word 95. We started Word 2000 and created a new document from a template. This new document spawned the processes into Access. We had concurrent operations happening with Access hitting the SQL Server gathering, collating, and storing Record Sets into local tables for ad-hoc queries while Excel was crunching numbers. The entire process took less than three minutes from the time the new Word 2000 document was created, but more than 2 MB of data files were created behind the scenes. For instance, an exported HTML code for incorporation into our FrontPage-hosted site was created. Here, we delved into the world of HTML file creation and placement. The end result was a Word document suitable for invoicing the customer for services rendered.
Among the more pressing problems we noticed with the beta was the volume of data and changes performed on the workstation used. Even though the dual processors and volumes of memory were present, the workstation was being severely pressed during installation. Both processors averaged 60 percent utilization, and well in excess of 145 MB of RAM was consumed.
During the review we ran Word 2000, Excel 2000 and Access 2000 products and interacted with our SQL Server 6.5 system with the MOD. Resource utilization was steep, but no more than expected from a development platform.
The resource utilization is a result of running multiple office applications concurrently, but we hope these high requirements are reduced in the final product. One thing that helped us was the use of a 32x CD-ROM drive, which sped up installs and searches of the CD.
We also tested Office 2000 on a single processor Pentium 166-MHz machine, with 64 MB of memory and standard EIDE disks. While all operations did complete, this machine was significantly slower than the dual processor test machine, as expected. Developers will want to invest in more horsepower as the Office Suite and related tools continue to grow both in feature sets, and sheer size.
Microsoft Office 2000 Developer
Price: $649 for upgrades, $999 for new users.
+ Easy to integrate Office applications with one another
+ Tight Internet integration
+ Thorough documentation
+ Complete tool set
- Large memory and disk consumption
- Upgrade from Office 97 was time consuming
- Requires hearty hardware to run quickly
The MSDN Documentation Set
Installing all of the documentation sets that came with the Microsoft Developer Network CDs for Microsoft Office Developer Beta 2 consumed 945 MB of disk space. But don't let that figure dissuade you from exploring these documentation sets. They're worth their disk space in gold. Plus, you can always leave many of the documentation sets on the CD if they’re something you don't use.
This conglomeration of data covers nearly every development tool that exists in the Microsoft suite, and justifies the investment in MOD all by itself. Microsoft heeded the call of the programmer by providing a written VBA Programmer's Guide as well as the software-based documentation. Weighing in at a hefty 10 pounds, with 900-plus pages, the VBA guide is replete with code examples and how-to’s for the entire VBA suite.
We found the documentation set, which is full of examples and sample code, helpful in guiding us through many tasks. In general, it is a boon to productivity with MOD. We saw several errors and problems with the installed data, such as access to the code fragments. This is expected with beta documentation and coding, but we expect it to be cleaned up by the time it goes to full development.