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 modelling 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 modelling 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.
We obtained Visual Studio .Net Enterprise Architect prior to its official release date by downloading it from MSDN (Microsoft's Developer Network), a fee-based service. Strong interest in Visual Studio .Net, plus the enormity of the download (seven CD-ROMs' worth) jammed the MSDN servers. We heard from some unhappy MSDN subscribers who couldn't log onto the servers, or whose download speed was so poor that the transfer took several days. Maybe we got lucky, but we were able to pull down the entire package in one try and at full DSL speed. We burned the downloaded images onto recordable CDs using a Que! FireWire drive and installed the software on an AMD Athlon XP 2000+ workstation running Windows XP Professional. The burning and installation came off without a hitch.
The Visual Studio .Net Enterprise Architect bundle is almost identical to the next step down, Enterprise Developer. Both packages include full working editions of most of the current Microsoft .Net servers: Windows 2000 Server, SQL Server 2000, Exchange 2000 Server, Commerce Server 2000, and Host Integration Server 2000. The licence restricts the use of the included server software to development and test purposes. Both bundles also include version 6.0c of the Visual SourceSafe source code control server. Visual SourceSafe client access is integrated into the Visual Studio .Net IDE.
For a premium of about $US700, Enterprise Architect adds three features not present in the Enterprise Developer package. First, the BizTalk Server 2000 EAI (enterprise application integration) platform rounds out the collection of .Net server software. Second, architects are given tools and documentation they can use to create powerful templates that guide and restrict developers' activities. Third, Enterprise Architect includes an impressive set of database, software, and business process modelling tools based on Visio.
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.
JScript is a frequently overlooked .Net language, and its treatment in Visual Studio .Net isn't going to raise its profile. This adaptation of the European Computer Manufacturers Association (ECMA) standardised scripting language packs as much punch as other .Net languages, but standalone JScript modules you create must be compiled manually at the command line. The IDE will manage JScript code embedded in ASP and ASP+ Web pages. The JScript syntax highlighting and IntelliSense statement completion features found in Visual Interdev 6.0 are present in the new IDE.
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 modelling support for databases, business processes, and objects.
Visio takes the ORM (Object Role Modelling) 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 supersedes 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 non-technical 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 Modelling Language). Visio will automatically syntax-check a designer's UML models. When the modelling is complete, Visio will generate C#, C++, or Visual Basic source code that creates the objects modelled 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) dialogue boxes, including multi-page dialogues. 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 multi-part 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 per cent 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
Visual Studio .Net Enterprise Architect
Business case: This IDE facilitates effective and detailed database, business process, and object modelling 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 modelling 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.
Cost (all prices RRP):
Full version $5388.90 (inc GST).
Upgrade $3848.90 (inc GST).
Platform(s): Windows NT 4.0 or later.
Visual Studio .Net Enterprise Architect is available fromMicrosoft Australia:13 2056.http://msdn.microsoft.com/vstudio.
- Ease of Use 7.
- Implementation 8.
- Innovation 9.
- Interoperability 6.
- Scalability 8.
- Security 8.
- Suitability 9.
- Support 8.
- Training 8.
- Value 9.
- Overall: 8.