In-Depth

Visual Basic Stays Strong in the

Visual Basic 6.0 promised to be a contender in the enterprise computing race, and market figures indicate that it is certainly living up to that promise. Parent Microsoft has effectively transitioned Visual Basic from a RAD forms-oriented client development tool to a viable multitier, Web-based application development tool. These Web upgrades are heralded by some, while others suggest VB as a "Web solution" still has a long way to go. Still, the company is continuing to beef up its product in order to stay ahead of the competition as the market leans more toward e-commerce.

Long-time competitor PowerBuilder, meanwhile, lags. Analysts attribute this to Sybase's not evolving its tool to fit in with Web-based development tools. "PowerBuilder lost its critical mindshare and never regained it," noted Sally Cusack, an analyst at International Data Corp. (IDC), Framingham, Mass.

According to market research firm Gartner Group, Stamford, Conn., Visual Basic has captured 40% of the development tools marketplace and is holding steady with some growth. Java, meanwhile, holds 5% of the market and is expected to grow to 30%, but will then level off to 25% by 2005. "We don't expect Java's growth to come at the expense of Visual Basic or C++," said Mark Driver, Gartner Group's research director in Atlanta. Instead, Driver is seeing more of a combination of language skills. "Over 50% [of developers] are asking for C++ or Visual Basic in addition to Java," he commented.

And Visual Basic is showing no signs of letting up. According to IDC, out of 13.1 million developer seats worldwide in 1999, Visual Basic had 7.2 million vs. 3.6 million C/C++ seats and 1.3 million Java seats. By 2003, Visual Basic should still be ahead with 7.4 million seats worldwide, but the race will be closer with 5.2 million C/C++ developer seats and 4.4 million Java seats.

IDC's Steve Hendrick, vice president of application development and deployment, pointed out that it is important to remember that if you add up all these developer seats, you end up with a larger number of seats than you do developers. That is because, as Gartner Group's Driver said, developers tend to use more than one product to develop applications.

This is a trend analysts are seeing across the board. Microsoft has realized this and is selling Visual Basic more as part of its Visual Studio suite these days than as a standalone product. "It's one-stop shopping," said IDC's Cusack. "People are more willing to cross lines and experiment ... sort of pick and choose components as they need to."

Visual Basic has kept its popularity simply because of the large number of existing developers in the marketplace that use it. In addition, the language supports middle-tier development nicely and is easy to use. "It gets the job done," noted Gartner Group's Driver. "You don't have to have a degree in computer science to learn how to use it."

Meanwhile, developers tell of fast development of three-tier Windows DNA applications with a modest learning curve. And a healthy helping of C, it seems, may be needed to garner optimal performance.

Proof positive of that is a success story from San Francisco-based Vertigo Software Inc. A senior developer there with a background in C++ had done only one project in Visual Basic when he decided to use VB to create a three-tier Windows DNA internal application to manage time sheets. He wrote the Tempus application in 106 hours from start to finish, with very little experience. In fact, it was his first project in Windows DNA.

Windows Distributed interNet Applications Architecture (DNA) is a platform for developing distributed business applications using Windows NT 2000 and a series of Microsoft application servers. It comprises data access and tools technologies for building multitier Web applications.

Windows DNA specifies how to develop scalable, distributed applications using Windows; how to extend existing data and external applications to support the Internet; and how to support a wide range of client devices. The technology also allows companies to organize their applications in three tiers. The front end is a Web browser, the middle tier is an application server, and the third tier is data and interoperability.

Vertigo Software uses Windows DNA to help customers build staff-scalable Web sites in Internet time. In fact, at Microsoft's direction, Vertigo created a fictitious stock trading firm — Fitch & Mather (FM) Stocks 2000 - on the Internet using Visual Studio. It is used as a sample application for would-be Internet VB developers. Vertigo had 80 computers simulating 14,000 virtual users, or the equivalent of 175 users per box. The company achieved 35,000 dynamic pages per second and 3 billion pages per day, according to Scott Stanfield, Vertigo's founder and CEO.

"That's five times the volume of Yahoo!" crowed Stanfield. In addition, FM Stocks handled 14,000 concurrent virtual users with less than 10 seconds delay between pages.

The key, Stanfield said, was having the middle-tier logic in Visual Basic. FM Stocks, he added, is actually a four-tier application. It has a presentation layer, Visual Basic COM objects, a thin tier three that talks to the database, and then a business logic layer.

Stanfield comes from a C++, true object-oriented background. He even wrote two books about C++. So for him to migrate to Visual Basic took some convincing. He decided it was worthwhile because what took five lines of code in C++ can be done in Visual Basic with one line of code. "This stuff [Visual Basic] works," he said. "It's fast, maintainable and can get a Web application up quicker than the alternatives."

Ease and speed

Homestore.com, which provides services to the home-buying community through its family of Web sites, is another example of a firm using Visual Basic to develop Web-based applications. The company's sites include Realtor.com, Homebuilder.com, Springstreet.com, Remodel.com and various others built by a division of Homestore.com called the Enterprise.

Realtor.com has about 1.3 million resale homes for sale across the U.S. and Canada, according to Phil Dawley, Homestore.com's vice president of engineering in Thousand Oaks, Calif. Of these, about 1 million are updated on a daily basis. "The goal is to provide tools for consumers to make more informed decisions when buying a home and to help them locate the right professional help to complete the home-buying process," Dawley said.

The job was to implement a highly scalable, public Web site reusing an existing site infrastructure, while enabling a smooth migration from client/server technology to a distributed architecture. The goals of the project were to leverage existing legacy Windows NT architecture and skills;

migrate from NT client/server to Windows DNA; deliver a cost-effective, scalable, reliable solution; and dramatically improve the ease of source code maintenance through a distributed object architecture.

The legacy system consisted of an application that included static HTML, CGI and RPCs written in C++ supporting several million page views per day. The presentation logic was embedded in C++ code.

The new application leverages Microsoft Active Server Pages (ASP) technology and re-implements existing RPC interfaces and their business logic within DCOM components, thus separating presentation logic from business rules. "This lays the groundwork for incorporating future features of Windows 2000 and Windows DNA 2000," Dawley explained.

The project uses a combination of Visual Basic and Visual C++. The bulk of the middle-tier business logic is implemented in COM objects written in Visual Basic and used within ASP. These objects communicate either directly with remote databases or with other COM objects running elsewhere. "The C++ components are used primarily for custom advertising and branding features and are called very frequently," Dawley said. "As a result, we decided to implement these in C++ and they are installed as application-level objects also used from within ASP."

Dawley and his team appreciate the ease of building and maintaining the COM components that come with Visual Basic. "The performance is much greater than in previous versions, and the overhead is offset by this ease of construction," he said, referring to the performance overhead that is inherent in Visual Basic. "You don't get the same performance with Visual Basic that you get with C++. They're not the same caliber." But in most cases, Dawley and his team deemed that acceptable.

Jeffrey Block, vice president and co-founder of San Diego-based SelectTeeTimes.com, also likes Visual Basic's ease and speed of deployment, as well as its scalability. SelectTeeTimes.com is an international golf reservation network available on the Internet and through a toll-free call center. It provides a Web-based, real-time reservation and scheduling system for golf tee time and golf lesson reservations in San Diego, Mexico, Phoenix, Palm Springs, Hawaii, Ireland and Germany.

SelectTeeTimes.com uses Windows DNA with Visual Basic as the core of its architecture. The system uses a combination of Windows NT 4 and Windows 2000 in its three-tier model. Visual Basic is deployed at the middle tier for data marshaling and business logic, and at the client in terms of lightweight components that interact with the Web client. "For the most part, Visual Basic meets our scalability needs," Block said. "Where it might fall short, we will deploy Visual C++."

Carrying forward

Windows DNA is just one of many developments Microsoft has created to update Visual Basic. "We're providing a plethora of resources to help [Visual Basic developers] move into Web-based applications," said David Lazar, one of Microsoft's lead product managers for Visual Studio.

One such resource is the Windows DNA Interoperability Center, which is available to developers using Visual Studio. The Interoperability Center allows developers to create applications based on Windows DNA that integrate with existing enterprise applications running on a variety of operating systems. The Interoperability Center embraces development with other vendors. Developers can use it to talk to mainframe services, Oracle, Solaris, Unix, NetWare, OS/2, Lotus Notes and so on.

As far as IDC's Cusack is concerned, both Windows DNA and the Interoperability Center are a good, solid strategy for Microsoft. "Microsoft is focused on carrying users forward into e-commerce.

They're streamlining everything in an effort to make it easier and easier for customers," she said. Gartner Group's Driver agrees. "Windows DNA is the smartest thing Microsoft has done in allowing Windows-based solutions to work in combination and in coordination with other solutions."

The only problem with Windows DNA is that its name gives people the impression that it is only for Microsoft platforms. It is not. The technology provides "plenty of ways to talk to other components from other vendors," said Vertigo Software's Stanfield. "We use Windows DNA to glue the whole thing together. Unix and IBM guys don't have a comprehensive strategy to incorporate things like Microsoft."

Microsoft has also released the Windows 2000 Developer's Readiness Kit as part of Visual Studio and Visual Basic to support development on Windows 2000. The kit includes the FM Stocks app as a roadmap for building Windows DNA apps.

Another resource is an eXtensible Markup Language (XML) kit for Visual Studio developers. The kit, available on the Microsoft Developer's Network Web site, enables developers to build XML applications for integrating systems within a company or for interoperating with business partners. XML can be used to store user preferences and information in a form where it can be shared, at the user's discretion, with a variety of service providers and e-shops.

In addition, Microsoft has originated two technologies - Web Services and Web Forms - to aid its focus moving forward, which, according to Bill Dunlap, another lead product manager for Visual Studio, will "allow developers to rapidly create scalable Web apps." Web Services, middle-tier business functionality, use HTTP as a transport allowing remote method requests to pass through enterprise firewalls. Web Services are not tied to a particular component technology or object calling convention. As a result, they can be accessed by programs written in any language, using any component model and running on any operating system. The key underlying technology here is XML.

An example of a Web Service would be Microsoft's Passport megaservice Web site - a series of discrete services that are exposed via Web interfaces that are available for anyone on the Web to use, but that do not necessarily require a direct business-to-consumer database. "Clients can authenticate a user, bill a user and collect money from a user without writing those applications," Microsoft's Lazar explained. "Other Web sites can connect to and use the services of Passport."

"As more and more companies publicly expose Web capabilities, we can stitch these services together," added the firm's Dunlap. "I can stitch in Passport for credit card information and stitch in some shipping site to tell me the cost to get it there."

The advantage of Web Services is that developers do not have to write the same things over and over again. They can use services such as password features that already exist. It is a benefit to customers as well because if they have an account, they only have to log in once. "It follows you around," said Vertigo's Stanfield.

Web Forms, the other technology to aid Microsoft's focus, allows developers to create cross-platform, cross-browser programmable Web applications using the same techniques they used to build form-based desktop applications. A standard Web Forms page consists of an HTML file containing the visual representation of the page and a source file with event-handling code. "The way you develop an interface and add programming logic behind it is the exact same model that three million users know and love," noted Microsoft's Dunlap.

Visual Basic developers currently use two tools to build a Web application, said Dunlap: Visual InterDev to create the front end, and ASP, which has HTML elements in it along with Visual Basic or JavaScript code. Developers use Visual InterDev to create ASP, then go back to Visual Basic to write. In the next generation of Visual Basic, however, Microsoft promises to seamlessly integrate everything needed to build Web applications into the product. Web Forms is the current solution to that problem.

Vertigo Software's Stanfield cautions that although Web Forms are easy to deploy, they have limited functionality. And analysts are leery that Web Forms will catch on. Visual Basic has traditionally been used to maintain existing applications and to develop new applications in Microsoft environments. "Not a lot of people are going to be using Visual Basic strictly for Web-based applications," IDC's Cusack commented.

Added Gartner Group's Driver, "Visual Basic plays a role in Web-based development." But, he noted, "It's a tactical solution at best.

"The optimal way to use Visual Basic in a Web-based environment is to use it in the middle tier," said Driver. "Visual Basic is not a Web-based development tool and never will be; it's an integral element in a suite of products."

Despite that, users and analysts agree that Microsoft is heading in the right direction in simplifying development of distributed systems. As Block at SelectTeeTimes.com noted, "Windows DNA and the Interoperability Center - in the Windows 2000 space - bring true scalability to the table and will address a lot of concerns in the ‘enterprise computing' world," which is exactly what Microsoft wants to do.