Ease Network Coding
IP*Works! V6 .NET Edition from /n software provides a suite of components that implement well-known and emerging Internet protocols without degrading application performance.
Suppose a .NET application you're writing requires you to implement a network protocol, such as Simple Mail Transfer Protocol (SMTP), domain name system (DNS), or Web Distributed Authoring and Versioning (WebDAV). You're familiar with the Requests for Comments (RFCs) that describe the protocol, but you don't have time to write the implementation from scratch. IP*Works! V6 .NET Edition from /n software gives you the shortcut you need.
IP*Works! is a suite of components that implement all the well-known Internet protocols and some emerging ones, such as Rich Site Summary (RSS) and WebDAV (see Figure 1). It also provides components for doing your own custom protocols. It has an additional layer of abstraction for sockets programming, which is especially useful for beginners.
Installation of IP*Works! is relatively easy, but you need Internet access to download keys and activate the license. The well-organized documentation describes each component's methods and properties well. (It's nice to see the error codes available for each component, too.) You can also take advantage of online tutorials. However, a quick-start guide, and source-code snippets for each component, would be helpful. The online knowledge base could be improved by allowing more-complex searches.
I created several small Internet-based applications by dragging one IP*Works! component at a time from the toolbox to a Windows form. IP*Works! added the appropriate references automatically, and I could begin using them immediately. When I created one large application using several components, they worked together with no problems. Some of the components, such as the RSS component, support different versions of the same protocola useful feature if your application requires that you support multiple versions. You should be aware that some of the client components, such as the NetClock component, use default server properties.
Some third-party protocol packages can be significantly slower than regular socket calls. Their code works, but it's not necessarily efficient. I didn't see any performance degradation at all with IP*Works!. However, I did experience one problem: VS.NET appeared to hang when I dragged the IPInfo component to the form for my application; an "out of memory" exception appeared after a minute, even though my machine had 512 MB of RAM. I was unable to figure out what caused the error. None of the other components caused any problems.
IP*Works! is a great suite to have if you write a lot of network-based protocols. Developers at all levels will find it useful, with junior engineers probably benefiting the most. In addition to the .NET edition, /n software offers IP*Works! suites for almost any platform, including Java and the .NET Compact Framework. This extensive components suite can save you significant coding and debugging time.
IP*Works! V6 .NET Edition
Phone: 800-225-4190; 919-402-0590
Quick Facts: Components for all the well-known network protocols and newer ones, such as RSS and WebDAV.
Pros: Saves coding time; accurate implementation of protocol RFCs.
Cons: Lacks a quick-start guide.
David Mack is a technical lead for the National Intelligence Division of Titan Systems and an independent consultant. He has more than 10 years of experience in object-oriented programming. Reach him at firstname.lastname@example.org.
Deliver Interactive Charting
ProEssentials 5 is a set of charting components for Windows and Web applications. The suite includes regular, scientific, and 3-D graphing objects and charts in polar and pie configurations (see Figure 1).
Helping users make sense of their data is a programming challenge, because most developers aren't subject-matter experts in the users' domain. You can fetch data and make it available in many formats, but it's hard to predict how the end user will want to view, assimilate, interpret, and massage the mass of information. Users often don't know what they want their data to look like until they see it, so they come back frequently for tweaks. A strength of ProEssentials is the fine control it enables over graphs and charts at run time. End users can zoom, pan, group, and format the material at will. For example, a right-click on the WinForms version brings up an extensive context menu with options to display data as a graph, table, or both. The user can set the numeric precision, data points, fonts, border styles, and shadowing. The tabbed Customization page shows more settings. An option to export the chart or graph to popular image formats, to a metafile, or as text/data only is also only a right-click away.
You'll find interactivity in many of the objects: Double-clicking on the label for a pie-chart slice detaches the slice; the 3-D scientific graph autorotates to display data from all angles; and drag and zoom lets you drill down on portions of a chart.
GigaSoft admits in the readme.htm file that its first-generation .NET product is lacking in design-time capabilities, a weakness the company promises to address. For this release, you can accept the default styles or write code to change a chart's appearance. The package includes adequate "quick" styles, but more attention to translucents, highlights, and color schemes would increase the eye-candy quotient.
Although ProEssentials supports Web pages, Web Forms developers are at a disadvantage: The royalty-free runtime policy doesn't apply on the server side, and browser-based charts don't allow the same interactivity as a rich client. Embedding ActiveX versions of charts into Web pages is an alternative if you can handle the code signing, licensing, compiling, and security issues that come with ActiveX technology.
ProEssentials' HTML help documentation includes enough overview and tutorial content to get beginners up to speed, despite the dark colors and folksy appearance of its topics. The PE Demo application provides an excellent overview of the suite's graphing capabilities and the coding effort.
This is a solid charting application that emphasizes performance and user customization in WinForms over design-time goodies for developers, superficial "wow" factors, and Web functionality.
Price: $149 Lite; $399 Standard; $1,299 Pro
Quick Facts: Comprehensive set of charting components for Windows and Web Forms applications, including scientific and 3-D graphing objects.
Pros: Performs well; runtime customization for end users; exports images and data.
Cons: Minimal design-time support; royalty-free distribution doesn't apply to Web servers.
David Mack is a technical lead and consultant for the National Intelligence Division at Titan Systems. He has more than 10 years of experience in management and software engineering. Reach him at David.Mack@titan.com.