Microsoft recently began shipping the retail edition of its new top-end development product, Visual Studio .Net Enterprise Architect. This massive bundle unites the Visual Studio .Net IDE (integrated development environment) with Visio-based modeling tools, the full suite of .Net enterprise servers, Visual SourceSafe source code control, and facilities for creating architectural templates for team development. Following on the heels of countless public previews and betas, the release version of the Visual Studio IDE itself held few surprises for us.
Our evaluation focused on new modeling and enterprise template features, the overall value of the bundle, and improvements to Microsoft's only remaining non-.Net language, Visual C++. We found Visual Studio .Net Enterprise Architect to be a solid foundation for software design and development, but the environment doesn't provide as much automated design assistance as we expected.
Microsoft has assembled quite a set of standard .Net programming languages: C#, J# (Java), C++, Visual Basic, and JScript. The Visual Studio .Net IDE, documentation, and code samples feature C# and Visual Basic almost exclusively. The expectation is that Java and C++ developers will migrate to C#, and Visual Basic coders will adapt to the stricter tenets imposed by .Net. Support for the J# language is not included in this release. It is available as a separate download from www.microsoft.com/visualj/jsharp/beta.asp. At press time, the available J# beta (beta 1) was not compatible with the release version of Visual Studio .Net. A Microsoft representative told us that a compatible beta would be made available at or near Visual Studio .Net's official mid-February release date.
Laying the groundwork
The architecture and design features of Enterprise Architect are intended to give high-level designers stronger tools and greater control over the use of their designs. A bundled copy of Visio provides graphical modeling support for databases, business processes, and objects.
Visio takes the ORM (Object Role Modeling) approach to database design. ORM reduces database structures to a set of facts such as, "An employee has a phone," and "A room is in a building." ORM supercedes the long-standing ER (Entity Relationship) diagram, and we welcome the change. ORM is simpler and more expressive than ER; it is simple enough that nontechnical people (business analysts, for example) can create and read ORM models. But Visio does not abandon ER; a full set of ER templates and tools is provided. When Visio creates a graphical model by reverse-engineering an existing database, the result is an ER diagram.
Visio also handles software object and process diagrams that comply with Version 1.2 of UML (Unified Modeling Language). Visio will automatically syntax-check a designer's UML models. When the modeling is complete, Visio will generate C#, C++, or Visual Basic source code that creates the objects modeled in UML.
The other design-time feature of Visual Studio .Net Enterprise Architect involves the creation of enterprise application templates. A Visual Studio template defines a set of policies and resources for a particular development project. Developers working on that project are subjected to constraints defined by the template and given easier access to project-related code and documentation. A project architect builds an enterprise template by creating XML-based TDL (Template Description Language) files. Aside from the excellent XML editing facilities in the IDE, Visual Studio .Net doesn't provide much assistance to architects looking to create templates. Despite this, enterprise templates are a boon to team development, especially for large projects in which many developers are engaged.
Although .Net is getting all the press, Microsoft hasn't forgotten that some developers still write code in native-compiled (so-called "unmanaged") C++. The new Visual Studio release gave us a chance to see how Microsoft is treating its most demanding developers. It turns out that the latest Visual C++ advances Microsoft's high-performance language quite a bit.
Not all about .Net
Visual C++ mainstays MFC (Microsoft Foundation Classes) and ATL (Active Template Library) have been substantially reworked. The lightweight ATL has finally been outfitted with MFC convenience classes representing text strings, graphical coordinates, and images. This frees ATL programmers from the burden of including the much larger MFC library when all they need is a handful of classes. MFC now includes support for advanced DHTML (Dynamic HTML) dialog boxes, including multipage dialogs. A new set of MFC classes connects unmanaged C++ code to remote Web services. Regular Expressions, a popular language that performs complex pattern-matching for string searches and data extraction, is part of the revised MFC and ATL.
In addition to Web services access, MFC and ATL provide easy access to two key high-level network protocols. A lightweight HTTP client class exchanges data with remote Web servers. Applications no longer need to rely on Exchange Server or the arcane MAPI (Messaging API) to send e-mail. A new SMTP class sends electronic mail through practically any mail server. The SMTP class is complemented by a MIME class that constructs multipart messages with binary attachments.
The C++ compiler in Visual Studio .Net is markedly more efficient. Early estimates point to run-time performance boosts of as much as 25 percent when compared with code compiled using Visual C++ 6. Taken with the other features in Visual Studio .Net, including the unique design-time capabilities of the Enterprise Architect edition, the overall picture is of a compelling environment for the architecture, creation, and maintenance of enterprise software.
THE BOTTOM LINE: DEPLOY
Visual Studio .Net Enterprise Architect
Business Case: This IDE facilitates effective and detailed database, business process, and object modeling while providing a complete set of tools for development.
Technology Case: Enterprise project templates and a beefed-up implementation of native-code C++ make this a worthwhile upgrade even for shops content with Visual Studio 6.
+ Powerful Visio-based database, process, and object modeling tools.
+ Easy reverse-engineering of databases and easy code generation from UML.
+ Complete set of .Net servers for development and testing.
- Visual J# (Java) not in this release.
- JScript code must be compiled by hand.
Platform(s): Windows NT 4.0 or later.
Company: Microsoft; http://msdn.microsoft.com/vstudio.
Scores (rating 1-10)
Ease of use (7).