In-Depth
Visual Basic Stays Strong in the
- By Lana Gates
- May 29, 2001
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.