asp:review
PowerTCP Components for .NET
By Brian Noyes
A common requirement for Web andWindows applications is the need to use Internet protocols to connect and getinformation and data from other servers on the Internet or intranet. There issome basic network protocol support in the System.Net namespace of the .NETFramework, but for many common protocols, the built-in support is eithernon-existent or lacking in features or productivity for most real apps.
PowerTCP Components for .NET fillthis network protocol void in the .NET Framework very nicely with a set of easyto use components that let you integrate into your applications support forPOP, IMAP, SMTP, Telnet, FTP, and socket-based protocols. The components arewritten in 100% managed code, so you won't run into any hidden performancepenalties for interop under the covers, or the related security issues forcalling into unmanaged code. This also simplifies the deployment of your app,because the components can all be xcopy deployed to any supported .NETplatform. The component suite also includes secure variants of the mail, FTP,and sockets components that work with encryption and authenticatedenvironments. Using PowerTCP Components for .NET will save you a ton of timewriting low-level plumbing code and will instead let you focus on your businesslogic or presentation coding.
I first came across the PowerTCPcomponents while searching for a good mail component for an application. Aftercomparing several other mail components, I found that I liked the PowerTCP Mailfor .NET component the best for a number of reasons, all of which apply to theother components in the suite. For starters, the site has good detailedinformation about the object model and contained components, as well as sample codeand tutorials, that let me quickly get a sense of what I would be working with.This saved me from having to download and install a trial product and startwriting code to figure out whether I was even interested, which is oftenrequired with other vendors' components.
I also liked what I saw when I didstart looking at their object model. The components appeared well designed andconsistent with .NET Framework classes in the way they exposed their behaviorand state through methods, properties, and events, as well as the use ofcollections and streams where it made sense. They also offer synchronous andasynchronous handling for most things in a way that models the implementationin delegates and readers/writers in the framework. Based on the informationavailable and the clean design I was able to quickly determine that thePowerTCP Components for .NET would give me the best flexibility, but stillresult in clean, concise, consistent code.
The PowerTCP Mail for .NETcomponents contain capabilities for handling POP3, IMAP, and SMTP protocols forsending and receiving e-mails. They are meant for use on the client side, andare easily integrated into existing Web or windows applications. For example, Ifound it a quick and easy exercise to create a simple Web interface that showeda listing of e-mails residing on a separate POP server using these componentsby getting back a collection of header information and using standard .NET databinding to display the results. You could use these to add a Web mail front endon any mail server as part of your site. There is also a great MIME parser inthis part of the component suite that could be very useful even outside thee-mail send and receive scenario. The secure variant of this component suitesimply layers encryption and authentication capabilities onto the basecapabilities for those who need it.
Figure 1. Putting together an appthat uses the PowerTCP components is a piece of cake. Shown here is a simpleWeb mail viewer of my POP inbox, created in less than 10 lines of code. Simplylog in, iterate through the Messages collection, and populate a DataSet fordata binding to the DataGrid. This literally took me less than 15 minutes tofigure out.
The FTP components allow you toquickly add client-side access to FTP servers to your applications. The primarycomponents you use let you connect to the server, and you can get and set filesusing intuitive methods on the main Dart.PowerTCP.Ftp.Ftp component, or you canexecute any of the FTP commands by calling an Invoke method with an enumerationargument for the various supported commands.
Although there is decent socketsupport in the .NET Framework, it takes a lot of code to implement thingsright. If you want to speed your socket coding efforts considerably, thePowerTCP Sockets and SSL Sockets for .NET components are worth a look. Theyprovide a rich object wrapper on top of what the framework provides, allowingyou to focus on your application logic rather than on plumbing code. Usingthese components, you can easily make calls using many socket-based networkprotocols, such as Ping, Trace, UDP, DNS, and others. You can createmultithreaded servers and clients to implement secure and high-performancecommunication channels between your apps and others, potentially on otherplatforms. Likewise, the PowerTCP Telnet for .NET components let you add Telnetclient communications to your apps with minimal code.
The site also mentions someupcoming editions to the suite, including SNMP, a Web server, and Zipcompression, but with unspecified release dates. Overall, I have been verypleased with these components. They come with a lot of sample code, gooddocumentation that integrates into the MSDN Help system, and they have goodsupport newsgroups on the http://www.powertcp.comsite. The only minor criticism I have concerns the code samples in theindividual component method and property documentation pages. There areplaceholder comments in most of the samples, as if that is an intended futureaddition along the lines of what is provided with each .NET Framework classmethod and property, but for now, most of them do not display sample code atthat level of detail.
If you need to add mail, FTP,socket-based network protocol, or Telnet capabilities to your site orapplication, the PowerTCP Components for .NET are definitely worth a look.
Rating: ????
Web Site: http://www.powertcp.com/dotnet/
Subscription Price: US$1,999