Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 Confession: I love Flex, but we're parting ways in 40 or so days
posted on Thursday, January 08, 2009 8:12 AM

Over the holidays I did, as most folks I suspect, things I enjoy doing. For me, one of those things was playing around with Adobe's Flex using Flex Builder 3. Yes, I am that much of a geek.

bigipdeck

I was a bit concerned it would take some time to figure it all out, but after quickly realizing that MXML, Adobe's interface markup language, was close enough to XAML, Microsoft's interface markup language, it was pretty much smooth going. ActionScript is close enough to JavaScript and C and most other languages I'm familiar with so that was not a problem either. In a matter of hours I had a simple interface talking to a few PHP services that proxy Web service calls for iControl to manage and monitor my BIG-IP.

Yes, I have a BIG-IP at home. I told you, I am that much of a geek.

The downside for those of you thinking about using Flex with iControl to build some sweet interfaces to control your BIG-IP is that Adobe's web service capabilities are based on Apache Axis 2. Apache Axis 2 at this point in time supports only DOC/LIT and RPC/LIT encoded WSDL. iControl is RPC/ENC, and the workarounds available to wrap iControl is not insignificant. So unless you're willing to run a proxy (which does have it's advantages, by the way) talking directly to the BIG-IP via iControl using Flex is probably not something you'll want to consider.

If you're willing to use a proxy, however, well...it's a breeze. I reused the PHP proxy code used to create my TwitterBot and added a few more calls to expand the information I was able to get. Integrating that with Flex was simple. Using a proxy meant I could reformat the data such that I could automatically bind the data into MXML grid components with very little work. In fact, almost no work at all.

So the truth is that I really love Flex. Awesome stuff. The downside? The price-tag on Flex Builder. I have about 40 days left on my trial run and when it's done, it's done. Yes, I could use the free Flex SDK and set up the command line and compile like we used to compile Java applications, but Flex is really geared toward visual development, and that's something the Flex SDK can't provide - but Flex Builder can, and does. Astoundingly well, as a matter of fact.

It's not that I'm unwilling to pay for Flex Builder, I'm just not willing to pay as much as Adobe wants for it. Not when the interface language is essentially the same as XAML and I can zip over to Microsoft's site and download an Express edition of a visual editor for XAML and use it - indefinitely - for free. XAML is the core of Silverlight, the closest competitor to Flex and AIR, so I could do the same things without the investment. A lot of the same things can be done with AJAX, DHTML, and some intense JavaScript, for that matter. If I'm going to develop on the command line and using vi then I might as well stick to standard technologies rather than mess with command-line compiles, class paths, library linkages, and the certs required to sign the AIR package. I'm a "hobbyist" developer at this point, and $200 or more for an environment that I'll use only occasionally just isn't feasible, and the investment in time required to emulate the same thing with the SDK isn't worth it to me.

Interestingly enough, I'd pay $50 tomorrow for Flex Builder. But $250? No thanks. Too steep for what I would use it for. The ROI just isn't there at the price Adobe is currently demanding for me and, I suspect, many other hobbyists looking to do more with Flex.

So yes, I love Flex. But no, I won't pay that much to develop in it. There are too many other options out there that are more affordable or free that provide the same functionality and awesome interface experience.

 

You can check out the BIG-IP Deck here. Right click inside the app to view source, if you like. Feel free to copy, paste, modify, whatever you like.

Follow me on Twitter View Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share

Reblog this post [with Zemanta]


 
      

Feedback


1/8/2009 9:52 AM
Gravatar You can use Flex for free. Download eclipse and then dl the Flex SDK:


http://opensource.adobe.com/svn/opensource/flex/sdk/
Alan

1/8/2009 10:22 AM
Gravatar I've found FlashDevelop to be a great IDE for Flash and Flex. I like it better than FlexBuilder for code editing. Unfortunately it doesn't support visual editing of MXML, so you have to do that by hand (though it does provide some autocompletion for the MXML files to make it easier).

http://www.flashdevelop.org
Andy Herrman

1/8/2009 12:35 PM
Gravatar And that's really the hook with Flex Builder, isn't it? The visual aspects... nothing else really allows you to do the layout/manipulation of the UI.

Positioning containers and labels and panels and grids properly is a pain without a visual aid. When it comes down to it that's what you're paying for with Flex Builder - the visual editing environment. It's worth paying for, but not that much.

@Andy : The autocompletion for MXML does sound like a nice value add, though. Would make things at least somewhat easier.


Lori MacVittie

1/8/2009 2:00 PM
Gravatar I agree with Alan - get the plug-in. I think you are off-base in saying that a development tool like this is not worth a $250 license, given all that it does. If you are only a hobbyist, then use other free items. But for any type of business-oriented opportunity, it is a small price.
Paul

1/8/2009 2:19 PM
Gravatar @Paul

I don't think it's off-base at all, considering the quality of free development tools that do as much or more as Flex Builder from its competitors.

However, as I said in the post, *for me* the ROI is not there, it's just too costly for what *I* would use it for. Context, context.

As a hobbyist - and even as a business - there are a lot of choices out there that compete with Flex & Flex Builder that provide more affordable options for complete, professional development environments.

Flex is nice, I really do love it, but I love other languages/toolkits as well and they aren't going to cost anything to use. As a business, the price may or may not be an issue, but the cost prevents a lot of hobbyists-by-night professionals-by-day from jumping in and learning to love Flex as well. 60 days isn't long enough to create an addiction that must be fed, so the pool of available developers for a business is going to continue to be minor compared to other languages/environments, which means if I'm running a business I'm not choosing Flex as my standard framework of choice.
Lori MacVittie

1/11/2009 2:27 AM
Gravatar Hi,

How to use BIG-IP deck to monitor F5?
Chandru

1/11/2009 3:19 AM
Gravatar @Chandru

There are several things that need to be done to use BIG-IP deck to monitor your BIG-IP.

1. You'll have to deploy a proxy (the one this code uses is a PHP based proxy) to talk to your BIG-IP
2. The Flex source code (the MXML) contains references (URL) to the proxy functions. The references will need to be changed to point to the proxy deployed in #1.

I will post source code and project files for both BIG-IP Deck and the proxy this coming week to make the process easier.

Thanks!
Lori MacVittie

1/11/2009 4:45 PM
Gravatar Hi Lori,

Thanks!!

I am very much waiting for this.

Is there any other way of monitoring Big IP?
Can you point me in right direction?

I am not sure how to use Icontrol or any other tool or webpage to monitor the Virtual servers, pools and nodes (status, IP's, etc...)

thanks again!
Chandru

1/12/2009 11:47 AM
Gravatar @Chandru

The best way to monitor BIG-IP is using Enterprise Manager or our management pack for Microsoft's System Center.

If you're looking specifically for custom/home grown solutions using iControl, here are some great links to solutions built by the DevCentral team:

http://devcentral.f5.com/wiki/default.aspx/iControl/PsIcontrolDashboard.html
http://devcentral.f5.com/wiki/default.aspx/iControl/PoolMonitorInstances.html
http://devcentral.f5.com/wiki/default.aspx/iControl/DownAMemberIfAMonitorFailed.html

Thanks!
Lori MacVittie

1/12/2009 9:20 PM
Gravatar Hi,

Enterprise Manager or our Management Pack for Microsoft System Center.

Is this available for download?

Can you help?

Thanks!
Chandru

1/13/2009 3:36 AM
Gravatar @Chandru

Enterprise Manager and our management pack are specific products, so you'll need to talk to your local sales representative, engineer, or partner for those. If you aren't sure who to talk to please e-mail me direction (l.macvittie@f5.com) and I'll help you find the right person to help you get what you need.

Thanks!
Lori MacVittie

1/14/2009 11:26 AM
Gravatar Thanks Lori!!

I am more interested in home grown apps and something like Big-IP deck

Is this application Big-IP deck can be used for monitoring?

When you are planning to post the codes and procedures

Thanks in advance

regards
Chandru
Chandru

1/14/2009 12:25 PM
Gravatar @Chandru

Yes, the BIG-IP Deck can be used for monitoring of a small subset of HTTP statistics and the status of pools/virtual servers. It is a sample app, however, and not a full monitoring solution so it isn't nearly as robust as it should be. But it should provide a good foundation for building it out further to include what you need/want.

That said, the code required is now available in the DevCentral articles for your viewing/copying pleasure.

Link to article

Regards!

Lori MacVittie

1/14/2009 8:30 PM
Gravatar Thanks Lori for the code!!

I am not sure how to use it. Can you please help?


Thanks
Chandru
Chandru

1/15/2009 5:48 PM
Gravatar Hi Lori!

Can you please help me with a detailed procedure of using BIG-IP Deck?

Thanks
Chandru
Chandru

1/16/2009 3:03 AM
Gravatar Hi Chandru,

In order for BIG-IP Deck to be useful to you, you'll need to do the following:

1. Download and install Adobe Flex Builder 3
2. Prepare the proxy server environment to ensure PHP SOAP support. The procedure for this is described here.
3. Deploy the PHP files on the server and modify them to point to the correct WSDL files and use the appropriate credentials.
4. Create a new AIR project in Flex Builder.
5. Copy the main.mxml code into the MXML file automatically created for your project, and modify the URLs for each HTTPService in the file to point to the proper URLs on the proxy server (set up in step #3)
6. Add a new ActionScript file to the project called "airstats.as", then copy the code from the airstats.as file in the article into it.
7. Build and run the project.

That should get a BIG-IP Deck that monitors your BIG-IP up and running.

Thanks!
Lori
Lori MacVittie

1/16/2009 5:25 AM
Gravatar Thanks again!

PHP Soap can be installed in Windows 2003 server

Chandru
Chandru

1/16/2009 5:41 AM
Gravatar @Chandru

No problem, glad to help!

I'm not sure if that's a statement or question re: PHP SOAP and Win2003. If it's a statement - cool! If it's a question - I assume it can be, though I've never tried (I run all Linux-based servers at home).

Good luck!
Lori
Lori MacVittie

1/16/2009 6:52 AM
Gravatar Hi Lori,

Can you please help me with this aswell?

Will this application can be used to monitor many F5 Big IP's as i have 10 Big-IP to Monitor and can i use the same console to monitor

Thanks
Chandru
Chandru

1/18/2009 11:46 PM
Gravatar Hi,

What version of Linux you run and can you help with how to install Pear Soap?

I tried this in Ubuntu Linux server edition and doesn't seem to work

Thanks
Chandru
Chandru

1/19/2009 2:26 AM
Gravatar Hi Chandru,

I'm running various versions of Red Hat at the moment. Ubuntu is a Debian-derived system, so there are some differences in commands that I'm not entirely familiar with. I've not used Ubuntu or installed PEAR SOAP on a server running Ubuntu, but this documentation describes several methods with which you can install. I am hopeful that one of the methods described will do the trick for you, or perhaps one of the other DC members who have used Ubuntu will be able to help you out.

Thanks!
Lori
Lori MacVittie

1/19/2009 3:18 AM
Gravatar Can this be used to monitor multiple F5's?

I am not a programer, sorry for too many quetions

thanks
Chandru
Chandru

1/19/2009 3:32 AM
Gravatar Hi Lori,

This is the error i get

an error occurred in the call CURL Extension is required for HTTPS

Thanks
Chandru
Chandru

1/19/2009 3:39 AM
Gravatar Hi Chandru,

No worries. As the code sits it is used to monitor only a single BIG-IP.

The error sounds like the CURL extensions are not enabled in the php.ini.

In php.ini there should a list of extensions, many of them with a semi-colon at the beginning of a line. You'll need to remove the semi-colon from in front of the CURL extension and restart the HTTP daemon.

Lori MacVittie

1/19/2009 3:54 AM
Gravatar Thanks!

Can this be monitored to monitor multiple BIG-IP's?


Chandru
Chandru

1/19/2009 4:05 AM
Gravatar Hi Chandru,

No, at this time it cannot monitor multiple BIG-IPs.
Lori MacVittie

1/19/2009 5:17 AM
Gravatar Hi Lori

I got it working atlast for the PHP + Icontrol getting started.

Can you help me post your code for all the php and mxml code so that i can download?

If i copy the code and past it is not the same

Thanks in advance

Chandru
Chandru

1/19/2009 8:04 AM
Gravatar Hi Lori!

Atlast i manage to get everything working

Is it a exe file or ? file? (Output of the Flex 3 application)

Do we need Flex always to run this appication?

Thanks
Chandru
Chandru
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 6 and 4 and type the answer here: