Forum Discussion
Mar 22, 2011
What client language/toolkits are you using for iControl development?
Hi everyone, I was just wondering what client languages/toolkits you all are using for building your iControl apps. Here's my main list in order of the frequency I use them.
- PowerShell -> iControl Cmdlets
- C/.Net -> iControl Assembly
- Perl -> SOAP::Lite
- Java -> iControl Library for Java (Apache Axis based)
Take a second if you would and reply to this thread and let's see how big a list we can come up with.
-Joe
40 Replies
- JRahm
Admin
Posted By Chris on 04/27/2011 06:48 AM
Testing out using the native JAVA API inside Jython versus pyControl. It is a little cleaner and less stuff needs to be loaded into the jython installation, plus we still get to use Python syntax to fit in with an existing solution. Been working like a charm.
Would love to hear feedback on this particular usage scenario, good or bad.
Can you post some anonymized code with the BIG-IP instantiation and maybe a set and get method call? I'm curious to see the difference between that approach and pyControl. Thanks. - L4L7_53191
Nimbostratus
Chris: yep, that will work just fine and it's a great option. Believe it or not there was actually an experimental implementation of pyControl for Jython written by my old v1 co-author. I don't think it went anywhere, but it most definitely worked. Same goes for Iron Python too...
This approach has some advantages IMO, although I personally prefer python and I like the idea of cPython iControl support so I use cPython and pyControl almost exclusively. At one point this year I had to use Java for a project, so I naturally gravitated to Jython. But when I did I found myself struggling with the native Java stuff a bit too much, so I did it in pure Java to minimize my context-switching between the two languages. But it was also my first stab at Jython.
Anyhow, In the spirit of 'the right tool for the right job', I consider Jython's strengths to be:
1) Java threading is has advantages over Python's (that is, there's no GIL). This helps when/if you need to use threads in a serious way.
2) Java's SOAP support is *really* mature and robust from what I understand. Python's SOAP support has been painful, and the saga continues to this day.
3) Static iControl classes can help load times if that's a concern or if you're dealing with tons of systems. One of the things about the cPython implementation (pyControl) is that it's mostly all done dynamically, which could be either good or bad depending on your situation. But I suspect that Jython overhead may offset this advantage; I'm really not sure and I'd love some perspective on this if you've got it.
4) Java's advantages above combined with Python's friendliness and rapid development make this combo pretty powerful.
Now, that's not to say that pyControl is bad - when you need to crank out useful iControl code it's hard to beat, and it performs / scales well enough for a ton of use cases. But Jython is an excellent option too, as would be a groovy-based iControl wrapper if someone were to take a crack at that ;)
Just my $.02.
-Matt - mhite_60883
Cirrocumulus
I use pycontrol v2 with Python. It has served me well so far! - seshasai_83387
Nimbostratus
I like java interface - Michael_Yates
Nimbostratus
.NET iControl.
Non-POSH. - Steven_Wagner_1
Nimbostratus
Initially, I was developing with Python 2.7 with an eye towards rolling some PyControl v2 functions into Fabric, but now I'm looking at writing all my audit/utility scripts in Ruby with the ultimate goal of modeling all visible Address/Server/Pool/Member/Node connections objects in Chef... (once I stop shooting myself in the foot with SOAP4R every five seconds!) - Kent_Perrier_50
Nimbostratus
I am attempting to use perl SOAP::Lite - Gauthier_Delac1
Nimbostratus
It doesn't seem to be common but I use PHP with Zend_Soap and it does work very well.
The only sad thing is the lack of iControl PHP resources... - Jonathan_Scholi
Cirrostratus
Java -> iControl Library for Java - Perl SOAP::Lite, however it's rather a pain. I would prefer a clean object/class interface to iControl. Something like pycontrol.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects