Web Services Journal received a copy of the latest visual development environment from Microsoft - Visual Studio .NET, Enterprise Architect edition. We loaded the software on a PC running Windows 2000 Server, with 384MB of RAM, but with a fairly slow processor
(400MHz AMD K6-III). The recommended minimum is a 450MHz Pentium II class processor with 192MB of RAM under Windows 2000 Server, so this machine was roughly at the bottom of the capability range. Although our machine was somewhat underpowered, we're happy to report that Studio loaded quickly and was fairly responsive, even with IIS, SQL Server, and several other packages running.
The Enterprise Architect edition of Visual Studio is everything you need - plus the kitchen sink. The studio itself is four CDs - five if you count the Windows Components Update disk that updates part of the operating system. Included on another disk is Visio 2002, Architect Edition. Also included in the Enterprise pack is Visual Source Safe, Windows 2000 Server, SQL Server 2000, Exchange Server, Commerce Server, BizTalk Server, and Host Server. Most of the server versions are developers editions, rather than licenses for full product use. Altogether, there are over a dozen CDs in the distribution. The studio alone requires over 2GB of disk space.
The space is well worth it, however, particularly if you're interested in developing Web services. The studio provides support for Visual Basic, Visual C++, and Visual C#, and also includes Crystal Reports and a testing facility called Microsoft Application Center Test. Combined with Visual Source Safe and Visio, the studio provides a complete development environment for design, development, testing, and deployment of Windows .NET code.
Running Some Tests
We put Visual Studio .NET through its paces by developing some simple Web services in Visual Basic. The IDE is a fairly complicated, multipaned application, but fortunately there are wizards everywhere to make your job easier. Each pane contains information about a different facet of the application you're building. The Solutions Explorer is the basic project tree of the application, and shows all the files you've created. A number of files are created when you create any project. Gone are the days where you created a single file to do all your work. Now a Web services project generated by the wizard includes a web.config file, a services.asmx file, and a host of others. More are generated as you build a project, including WSDL files. The good news is that you don't have to build most of the files yourself, the IDE does most of the work (see Figure 1).
Another pane in the IDE is the Server Explorer, which shows connections to various servers, such as IIS or SQL Server. We used the wizard to connect to the PUBS database, one of the sample databases that ship with SQL Server. It took about 10 seconds to create a connection, and using the design view of the IDE, another 10 seconds to drag the connection onto the design window and incorporate a database connection into our trial Web service application. Almost any component can be dropped onto the design view to incorporate it into the application, although a certain amount of coding is still needed to make things useful. For example, we dropped a DataSet and a DataGrid onto a WebForm, but still needed to write a few lines of code to connect the DataSet to the database connection we had previously set up, and a few more to tie the DataGrid to the DataSet.
Probably one of the more difficult aspects of the environment is knowing exactly what to do. The wizards and the various panes within the IDE provide a great deal of information, but knowing what to do will require serious study. Microsoft sent along several books, including ASP.NET: Tips, Tutorials and Code, from Sams, which was helpful in understanding how to begin. We also used the included Visual Studio .NET Walkthrough manual to take a tour of the Studio, but found this manual a little difficult to use as the transitions between various projects and files were not quite clear in some cases.
The learning curve will vary depending upon how familiar the user is with the actual interface and the languages themselves. We were familiar with both Visual Basic and Visual C++ and had no problem understanding the syntax of the .NET versions of the languages. Our familiarity with Java helped us find C# quite familiar from a language aspect, but we hadn't used the studio in several years and found the arrangement of tools and menus somewhat challenging while we tried to get up to speed. WSJ recommends training for users new to the studio to let them get up to speed quickly.
One of the most gratifying things about Visual Studio .NET is that you don't have to code your own client for the code you've developed. Many developers spend considerable time developing their own clients just to test services. Visual Studio makes that all a thing of the past. Once the service is built (and automatically deployed to IIS), you can simply right click on the .asmx file and select "View in Browser," to see a complete client, generated in a browser page. In addition to supplying links to the various methods defined in the service, the page also provides sample SOAP code that can help you understand what's going on when you click the link and run the code. It's very satisfying to be able to test the code without having to write test code (see Figure 2).
Even more satisfying is the reverse-engineering feature built into Visual Studio courtesy of Visio. Most architects are familiar with Visio, having used it to draw network diagrams and the like for years. Microsoft has added a UML add-in module that allows for the creation of all the basic UML diagrams. While it won't give Rational Rose or Togethersoft a run for their money on total UML support, it's much more practical and hits the really meaningful diagrams very well. We didn't have enough time to test it, but Visio can also generate application code, in addition to doing reverse engineering, for a complete round-trip Modeling experience (see Figure 3). And Visio still retains all of its other features, which gives it a complete heads-up over other modeling tools in terms of formatting and printing.
We did take the time to create a simple test script using Application Center Test, the testing tool supplied with Visual Studio (see Figure 4). In our test we recorded a Web browsing session that accessed a Web service, and also were denied access to a page, generating a 404 error. Recording was very straightforward, with a simple interface similar to a tape recorder. We then ran the test, which ramped up the number of requests until it hit the limits of the machine (which didn't take much on our slow machine, but it was never intended to be a production server). While we were impressed with the ease of use, it did not seem that ACT is suitable for all testing needs, but it does provide a simple way to do repeatable unit testing.
Conclusion
Overall, we found Visual Studio .NET
Enterprise Architect Edition full-featured,
well-documented, and as complete a development environment as can be imagined from a single company. We highly recommend this as a suite of tools for development of Web services. The ease of use is remarkable, once the learning curve is overcome.
SIDEBAR
Contact:
Microsoft Corporation
One Microsoft Way,
Redmond, WA 98052
Visual Studio .NET Pricing info:
Enterprise Architect:
Full Package: $2,499
Version Upgrade: $1,799
Enterprise Developer:
Full Package: $1,799
Version Upgrade: $1,079
Professional:
Full Package: $1,079
Version Upgrade: $549
URL to purchase the product:
http://shop.microsoft.com/devtools/default.asp
Main SKUs for Visual Studio .NET:
http://msdn.microsoft.com/vstudio/productinfo/overview.asp
Processor:
PC with a Pentium II-class processor, 450 megahertz (MHz)
Operating System:
Microsoft Windows NT 4.0 or later
Memory:
Microsoft Windows XP Professional 160MB of RAM
Windows 2000 Professional 96MB of RAM
Windows 2000 Server 192MB of RAM
Windows NT 4.0 Workstation 64MB of RAM
Windows NT 4.0 Server 160MB of RAM
Hard Disk:
Standard Edition: 2.5GB on installation drive,
which includes 500MB on system drive
Professional and Enterprise Editions:
3.5GB on installation drive, which includes 500MB
on system drive
Drive:
CD-ROM or DVD-ROM drive
Display: Super VGA (800 x 600) or higher-resolution
monitor with 256 colors
Mouse:
Microsoft Mouse or compatible pointing device
About the Author
Sean Rhody is the editor-in-chief of Web Services Journal. He is a respected industry expert and a consultant with a leading Internet service company.
Sean@sys-con.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail:
info@sys-con.com