Developer .NET UPDATE—brought to you by Windows & .NET Magazine Network.
THIS ISSUE SPONSORED BY
Microsoft ASP.NET Connections
XML Web Services Connections
(below DEVELOPER .NET PERSPECTIVES)
SPONSOR: MICROSOFT ASP.NET CONNECTIONS
MICROSOFT ASP.NET CONNECTIONS TO CO-LOCATE WITH SQL SERVER MAGAZINE LIVE!
Microsoft ASP.NET Connections, along with VS.NET Connections will co-locate with SQL Server Magazine LIVE! in Orlando, FL, at the Hyatt Grand Cypress Resort on Oct. 27 - 30. Keep your career on track. Learn from top third-party gurus, Microsoft product developers, and magazine authors. This is a must attend event to keep your skills sharp and to dig deeper into the .NET Framework and what it means for you and your company. It's chock full of practical information you can use right away. Real content with real value for you. Register for one conference and attend the other two conferences for FREE. Go to
May 28, 2002—In this issue:
1. DEVELOPER .NET PERSPECTIVES
- Using Other Interfaces
- Cast Your Vote for our Readers' Choice Awards!
- Struggling with IIS and Web Administration Issues?
- Featured Thread: Visual Studio .NET and C# Exam Progress
4. NEW AND IMPROVED
- Automate the Documentation Process
5. CONTACT US
- See this section for a list of ways to contact us.
1. DEVELOPER .NET PERSPECTIVES
(contributed by Bill Sheldon, [email protected])
In my May 21 commentary, "What Is a Web Service?," I discussed how Web services can use a common set of HTTP interfaces (i.e., the Web Services Description Language--WSDL--interfaces) to provide interoperability between different OSs across the Web. This powerful capability truly opens the door for distributed systems. However, as with any technology, this capability comes with certain trade-offs. The trade-off in this case involves performance. Don't overreact--in most cases, this trade-off isn't a major problem. When you use a set of simple parameters to call a component to perform computations, the performance hit is negligible. You only need to be concerned about performance when you transfer 10KB of data into a Web service, for example.
Under the covers, Web services provide binary interfaces. The advantage of having binary interfaces in a Web service implementation is that they can provide a more efficient means of interfacing to the same code. To better understand this concept, let's look at the performance cost of a Simple Object Access Protocol (SOAP) message.
Most programmatic access to Web services occurs through an HTTP:SOAP request. A SOAP message can contain data that is formatted as an XML document, but XML has its limitations. For example, XML is a character-based system in which certain characters--such as angle brackets () and the slash (/)--have special meaning. These characters need to be encoded; otherwise, they might interfere with the SOAP envelope. Thus, if a SOAP request contains a string, the system must scan the string looking for these characters. (The scan occurs automatically in the background.) The need to process data for inclusion in SOAP messages is an example of why interoperability involves a performance hit.
If you're planning to transport a large amount of data into a Web service and interoperability isn't necessary, you might want to use an alternative interface. For example, suppose you have a Web service that lets your business partners access certain data and calculations directly but you also provide this information through your Web site's front end. The Web site has already retrieved the input data from elsewhere on the Web, so in theory, the site needs only to call a local object to carry out the computations. In such a scenario, you can use the Microsoft .NET Framework two ways to take advantage of the Web-service code without using the WSDL interfaces.
First, if you have a set of load-balanced servers hosting both the Web site and Web service, you can build your Web site with a reference to the .NET assembly at the core of your Web service. You can find this .NET assembly by opening the folder in which you're building your Web service and looking for a subfolder called "bin." This subfolder contains the DLL that's the heart of your service implementation.
Second, from a Microsoft Visual Studio .NET project, you can add a reference to another .NET assembly. By default, the .NET Framework makes a copy of such DLLs in the local directory of the assembly making the reference, so if you leave this default, you need to refresh the reference after making changes to the Web service implementation.
A local reference works only if the service component can run from your Web server. To get around this limitation, the .NET Framework provides a technology called "remoting." Remoting lets you call your .NET assemblies across machine boundaries and use a fast binary-compatible format. In essence, you gain the ability to further distribute your system without needing to encode your data. An excellent overview of remoting is available on the Microsoft Developer Network (MSDN) Library Web site (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconnetremotingoverview.asp). The disadvantage of remoting is that setting it up isn't as effortless as creating your business component as a Web service. However, compared with distributing a COM interface, remoting is child's play.
Remoting's roots are entrenched in the traditional remote procedure calls (RPCs). As a result, using remoting requires knowledge of the interface piping. In addition, because remoting uses an OS-specific implementation, it doesn't support the same openness available to Web services that use HTTP:SOAP. If you're interested in remoting, I recommend that you start by reviewing some basic examples. Several basic examples in the MSDN Library (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpsamples/html/remoting_basic.asp) provide a good foundation for working with the remoting's proxy classes.
Web services provide a highly interoperable interface through HTTP and SOAP. However, as I've demonstrated, you can also configure the same code to take advantage of other faster protocols.
SPONSOR: XML WEB SERVICES CONNECTIONS
XML WEB SERVICES CONNECTIONS TO CO-LOCATE WITH WINDOWS & .NET MAGAZINE LIVE!
XML Web Services Connections and Windows & .NET Magazine LIVE! will co-locate from Oct. 30 - Nov. 2 immediately following Microsoft ASP.NET Connections, VS.NET Connections, and SQL Server Magazine LIVE! Deep discounts will be available for those attending the entire week of conferences. Save even more by registering now to lock in your Early Bird discount. For more information, go to
(brought to you by Windows & .NET Magazine and its partners)
Which companies and products do you think are the best on the market? Nominate your favorites in four different categories for our annual Windows & .NET Magazine Readers' Choice Awards. You could win a T-shirt or a free Windows & .NET Magazine Super CD, just for submitting your ballot. Click here!
Discover Windows Web Solutions online, the Web site with articles, tips, and more to help manage and overcome the security, performance, and maintenance issues Web site administrators deal with every day. Check it out!
Invitations for the beta Microsoft Visual Studio .NET and C# examinations are out. To find out more information, go to the following URL:
4. NEW AND IMPROVED
(contributed by Carolyn Mascarenas, [email protected])
Innovasys released Document!X, software that automates the process of creating and maintaining documentation for Microsoft .NET assemblies, Visual Basic (VB), and Visual Basic for Applications (VBA) source code, databases, and compiled COM components. The software helps developers by providing an accurate and up-to-date reference, so they can concentrate on coding rather than on producing and maintaining documentation. Document!X costs $357.52. Contact Innovasys at [email protected]
5. CONTACT US
Here's how to reach us with your comments and questions:
- ABOUT DEVELOPER .NET PERSPECTIVES — [email protected]
- ABOUT THE NEWSLETTER IN GENERAL — [email protected]
(please mention the newsletter name in the subject line)
- TECHNICAL QUESTIONS — http://www.winnetmag.net/forums
- PRODUCT NEWS — [email protected]
- QUESTIONS ABOUT YOUR DEVELOPER .NET UPDATE SUBSCRIPTION?
Customer Support — [email protected]
- WANT TO SPONSOR DEVELOPER .NET UPDATE?
This weekly email newsletter is brought to you by Windows & .NET Magazine, the leading publication for Windows professionals who want to learn more and perform better. Subscribe today.
Receive the latest information about the Windows and .NET topics of your choice. Subscribe to our other FREE email newsletters.