First Looks

IP*Works: Simplify Internet Development

Take advantage of /n software's IP*Works to simplify a variety of Internet-related tasks, from working with SOAP, to handling tasks related to HTTP, DNS, and FTP seamlessly.

IP*Works! .NET Edition Version 6.1 from /n software is a suite of components for building and connecting applications that use Internet protocols.

As of this review, /n software ships 42 components in its ever-expanding TCP/IP offering. All of the controls integrate with Visual Studio 2002, 2003, and 2005. This review focuses on the VS 2005 build.

Implementing Internet protocols is a specialist's area. Microsoft has simplified Internet client development in the .NET Framework 2.0 with the versatile SmtpClient and WebClient classes, not to mention basic HTTP, FTP, and DNS functionality in the System.Net namespace. But IP*Works! takes you further, with more and richer classes. For example, I needed an FTP utility to transfer pages from my workstation to my Web site. Creating it was a breeze with the suite's FTP component. The Login() method handles the connection and authentication with little coding effort, and the PITrail event allows extensive debugging and logging because it reports commands and responses as they happen (see Figure 1).

The SOAP component also illustrates how a control can simplify development tasks. This component implements the SOAP 1.1 specification for you. You provide the parameters, and the component assembles the packet and parses the result. I ran into a syntax problem accessing my Web service and submitted the issue through the Web. The support department at /n software responded quickly, fully, and politely with the solution.

I've often thought it would be useful to have one lightweight client that could handle all kinds of messaging and content reading. This is quite doable with this suite because all of the protocols are here, ranging from POP3 and SMTP, to NNTP and RSS. There are samples for each protocol in both C# and Visual Basic. The RSS component exposes many properties that map directly to fields within the RSS file, such as ChannelTitle, ItemPubDate, and ImageURL. This makes it easy to select the content you want to include in your application. Simply point the GetFeed() method to the address of the feed and let the control handle the XML parsing. The RSS component lets you store syndicated content using the AddItem() and WriteFile() methods.

Several components support rich e-mail handling within Windows applications. For example, you can use the MX component asynchronously to check the mail exchange (MX) records of a domain name server (DNS), read mail using POP3 and respond using the SMTP component. The MIME component takes care of formatting the non-text content of a message.

Applications often use the HTTP protocol to post debug information or feedback unobtrusively (even surreptitiously) to a Web server page or script. The WebForm component handles the plumbing to pass through your authentication, and the AddFormVar() method accepts name/value pairs for your virtual Web Form to submit. You can configure the content of the HTTP User-Agent header to a custom value for easy server-side recognition of the client.

Several IP*Works! controls, such as SysLog and UDP (datagram), might be obscure to the average .NET developer. For example, I've never used cellular text messaging, so the Short Message Peer-to-Peer protocol (SMPP) was new to me. Of course, it's when you're in over your head that you appreciate third-party components the most. The day the boss asks whether you can generate cellphone alerts is the day that one component makes the whole suite worth the cost.

The main DLL for IP*Works! .NET Edition weighs in at 1.27 MB. However, you don't need to install all of the components on the client's machine. You can pick and choose individual managed DLLs such as nsoftware.IPWorks.Rss.dll, which is the largest single file at 192 KB. Also, the control that fetches the time from an Internet time server is only 64 KB.

The included samples make great starting points because they illustrate the basic functionality of these capable components without overwhelming you. The documentation is adequate, but I'd like to see beginner tutorials, more code snippets, and integration of the content with Visual Studio's help collections. Distribution is royalty-free, but there's no documentation on what licenses and support files (if any) you need to include in your end-user setup kit. Overall, however, this is a valuable suite for anyone who doesn't want to struggle with Internet protocol development.


IP*Works! V6 .NET Edition
/n software inc.
Web:
www.nsoftware.com
Phone: 919-544-7070
Price: $499.00 per developer
Quick Facts: Suite of 42 programmable components for Internet-based TCP/IP applications using the major protocols and standards.
Pros: Easy to use; good standards support; valuable code samples; royalty-free runtimes.
Cons: No "getting started" tutorials; no documentation on licenses and support files.

About the Author

Ken Cox is a Canadian .NET programming writer and the author of "ASP.NET 3.5 for Dummies" (Wiley).

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube