Welcome!

Perl Authors: Liz McMillan, RealWire News Distribution, Bob Gourley, Janakiram MSV, Joe Zeto

Related Topics: Perl

Perl: Blog Feed Post

iControl Languages, Libraries, and IDEs

Why so cool, you ask? It’s simple – you know Perl? Great. Use it. You don’t need to learn SNMP

Back in 2001 (wow – seems like yesterday!), F5 introduced the first-ever, open/Web services API for network devices called iControl. With it, it sparked a major shift in the way companies could look at integrating network devices with applications. Leading software vendors figured it out. And, thousands of companies since then have used iControl to build custom monitoring apps, management solutions that more closely fit their internal processes, and even automate some cool stuff including enabling applications to tell the network how to deliver them.

While all fine and dandy (and fun to be a part of personally), the most important decision and event was the willingness to embrace SOAP/XML. By doing this (kudos to Joe Pruitt, BTW, for this call… it wasn’t without some feisty internal debate, truth be told), it opened up API access to our gear from virtually any SOAP stack or development tool and language a customer or partner wanted to use.

Why so cool, you ask? It’s simple – you know Perl? Great. Use it. You don’t need to learn SNMP. Has your organization trained everyone to use Java as a standard app language? No worries – go for it. Same for Ruby, Python, C#, and more. And, even new scripting approaches like PowerShell.

By choosing an open standard, it opens the doors for any customer or vendor to use whatever they want without having to swallow yet another vendor-mandated technology just to make something work.

So, this brings me to the payoff. We get this question often: “what are the supported dev tools/languages/toolkits/etc for iControl?”

Well, here you have it. This is both the “F5-supported” stuff plus what we know folks in the community have used successfully. We’ll turn this into a wiki doc too, so that if you have something you’ve used successfully, you can post it as well. In the meantime, add yours to the comments below.

Go forth and build your apps for iControl your way. (looking for some examples? You can find a ton of them here for free in the Codeshare.)

Perl:

Library: SOAP::Lite (www.soaplite.com)

IDE's: ActivePerl, Eclipse EPIC Perl, Open Perl IDE, and others.

C#/VB/.NET:

Library: iControl Assembly for .Net (devcentral.f5.com/Default.aspx?tabid=68)

IDE's: Visual Studio 2003, VS 2005, VS 2008, VS 2010

PowerShell:

Library: iControl PowerShell Cmdlets (devcentral.f5.com/Default.aspx?tabid=71)

IDE's: PowerShell Console Host, PowerShell ISE, PowerGUI, Sapien PrimalScript, PowerShell Analyzer, PowerShell Plus, and various others.

Java:

Library: iControl Library for Java (devcentral.f5.com/Default.aspx?tabid=68), Apache SOAP, kSOAP

IDE's: Eclipse, Borland JBuilder, IBM Websphere, Oracle JDeveloper, BEA WebLogic Workshop, IntelliJ IDEA, Blackberry MDS, plus others...

Python:

Library: pyControl (devcentral.f5.com/Default.aspx?tabid=149), ZSI, SOAPpy, Suds

IDE's: Komodo, Eclipse PyDev, and others.

PHP:

Library: PHP SOAP (us3.php.net/soap)

IDE's: Eclipse PHP IDE, PHPEclipse, Komodo, Zen Studio, and others.

Ruby:

Library: iControl Assembly for .Net, SOAP4R

IDE's: IronRuby (.Net support), NetBeans, Idea, RadRails, and others.

Read the original blog entry...

More Stories By Jeff Browning

As Product Manager for F5 Networks, Jeff is responsible for driving the product and marketing strategy for F5's iControl API and Software Development Kit. With over 10 years of software industry experience, Jeff's extensive background in Web services, Enterprise Portals, and Software Development tools at leading companies like Microsoft and DataChannel helps bridge the gap between networking technologies and Web services applications for better performing, scalable, and secure enterprise solutions