| CARVIEW |
I worked with a great team, right from the Flex QE team to the most awesome India Evangelism. People were always supportive and encouraging and taught me a great lot of things.
The most thanks goes out to my dear friend and evangelist Harish, my mentor Ramesh, the ever supporting Ananth (Director Flex & CF Engineering India), Ben Forta. Special thanks to Lauren for being the best manager I ever had and for encouraging me to follow what I wanted to do.
Cheers to the India Evangelism team, the best team I ever had… You guys are great.
But its time for me to move on and follow my aspirations. Today, I am starting my MBA at Ross School of Business, University of Michigan, Ann Arbor. If things turn out as I hope it would, I might continue on this blog in 2 years.
I will blog about my MBA experience here –https://raghuformba.wordpress.com/
]]>
On the 27th June 2009, The CF & Flex User Groups in Chennai are collaborating to conduct a Flash Platform & CF pre-Launch event at Hotel Dee Cee Manor in Chennai. It is a full day event with ColdFusion and Flash Platform Sessions followed by Hands-on experience using Flash Builder and ColdFusion. Bring your laptops so that you can experience the software yourselves.
I will be there from Adobe along with Manju Kiran, a Sr.Lead Software Engineer Adobe ColdFusion team and will show exciting new features of the next generation of CF & Flash Platform.
It is a free event. Register here… Seats limited! See you all in Chennai on the 27th
]]>Like any asset used in your app, copy the svg files into your project structure. You can use the Image control (mx.controls.Image) to draw SVG content. Just that the source has to pointed to classes containing the SVG content instead of the images as you do with JPG and PNG assets. Here is a small bit of code that generated the following result
Code
<mx:Application xmlns:mx=”https://www.adobe.com/2006/mxml” backgroundColor=”0xffffff” layout=”horizontal”>
<mx:Script>
<![CDATA[
[Embed(source=”assets/bird.svg”)]
[Bindable]
public var bird:Class;[Embed(source=”assets/tux.svg”)]
[Bindable]
public var tux:Class;]]>
</mx:Script>
<mx:Image source=”{tux}”/>
<mx:Image source=”{bird}”/>
</mx:Application>
Result

The SVGs I have used can be found here:
]]>- Part 1 – Importing the Service
- Part 2 – Integrating the Service with UI
- Part 3 – Complete Screen cast of the work flow
This is a continuation posts about working with Web Services in Flash Builder 4. Here you can see the screen cast of the whole work flow that I described in the other 2 parts. To view the screen cast, click on the image below or download it here (right-click and select Save-As) 
Click on the image above to see the screen cast
]]>- Part 1 – Importing the Service
- Part 2 – Integrating the Service with UI
- Part 3 – Complete Screen cast of the work flow
This is a continuation of my Web Services import which was discussed in Part 1. Once you have imported the Web Service it’s time to build the UI and bind the service to it.
Step 3 – Building the UI
Go to the design view and drag and drop a ComboBox. Right click and click on “Bind to Data”.
This throws a wizard where you can choose the service you want to bind it to, which in this case is getCountries().
Click “OK” and run the application. You should see the following
Now lets get the population details for a selected item on the combobox. This is simple. Click on the ComboBox and click “Generate Details Form”
This throws a pop-up where you can choose which operation to call on change and what to display.
It automatically redirects to the code view and ask you to provide the parameter for the getPopulation() method.
So change
protected function comboBox_changeHandler(event:ListEvent):void
{ getPopulationResult.token = populationService.getPopulation(strCountry);}
To
protected function comboBox_changeHandler(event:ListEvent):void
{getPopulationResult.token = populationService.getPopulation(comboBox.selectedItem.toString());}
Now go to design view, reposition the generated Form and run the app and we have a fully functional application served by a webservice. Just to make it pretty, I added a prompt to the ComboBox.
In the next part, you can see a screencast of the workflow that was defined in Part 1 & Part 2.
]]>- Part 1 – Importing the Service
- Part 2 – Integrating the Service with UI
- Part 3 – Complete Screen cast of the work flow
Web Services are an integral part of the SOA infrastructure and also a preferred way of exposing services, especially in the Enterprise. The new Services Wizards feature in Flash Builder 4 makes it extremely simple to work with Web Services.
To work with the Services Wizard which is part of the Data Centric Design feature in Flash Builder 4 ( for connecting to HTTPService, Web Services or Remoting using any back-end technologies like Java, PHP, CF… etc) you need to do the following:
- Add the service
- Configure Return Type (create client-side Model classes by inspecting the service)
- Call the service and bind it to UI Controls
Before I start to explain how to access Web Service (WS) from Flash Builder, let me discuss some aspects of the WS Architecture. A WSDL(Web Service Description Language) Document is what signify how a WS is exposed. On a high-level, each WS has the following:
- Elements
- Complex-types
- Messages
- Operations
Each operation will have an input & output message and each message may be built with an element or complex-types. We will be using this Population WS (click to see the WSDL file) for serving data to our application. We will use the following operations:
- getCountries – to get the various countries for which data is available.
- getPopulation – for getting the population of a selected country.
Let’s get started:
Step 1: Create Project
Begin by creating a new Project [File>New>Flex Project]. Type a name and press finish…
Step 2: Import the Service
In your Flash Builder 4 environment, you will see the new Data/Services Tab like below:
Click on “Connect to Data/ Service” and choose WebService from the pop-up
In the next screen, enter the Service Name (that you want it to be called in your Flex application) and path to WSDL file, which in this case is – [https://www.abundanttech.com/WebServices/Population/population.asmx?WSDL]
If your WSDL is SOAP 1.1 protocol compliant, it will directly show the operations screen (the screenshot after the one below). Otherwise, it will ask you to choose the appropriate SOAP port as below. Remember this screen will only appear if your WDSL is not WSDL1.1 compliant.
Then you can choose the operations that you are interested in. You can either choose just the operations you are interested in or press Select All and press “Finish”.
This will give you a Data/Services tab with all the operations imported and configured…
A moment to explain the above operation…
Flash Builder introspects the WSDL and the selected operations and generates the required classes. But you will notice that while the return type for getPopulation() is created as a client side model class called Population, getWorldPopulation() has a return type of Object. The introspecter does the following:
- If the operation is well formed Flash Builder 4 creates the required classes (as in the case of getPopulation() method it creates a Population Class)
- If the operation is not well formed then Flash Builder 4 keeps the return type as Object (as in the case of getWorldPopulation() Method)
Since WSDL itself defines the input and output types, it will create the required classes provided the operations are well formed.
The Part 2 of this series will deal with binding this service to UI and creating an application.
]]>
![]()
Go ahead and check it out… Here are some links to get you started:
- Flash Builder 4 page on Adobe Labs
- Flash Catalyst on Adobe Labs
- Flash Builder 4 & Flash Catalyst demo Videos
- What’s new in Flex 4 SDK an article by Matt
- Differences in Flex 3 SDK & Flex 4 SDK, an article by Joan
And watch this space for more videos, tutorials, and sneek peaks into Flash Builder 4 & all the new additions to the Flash Platform. From now on, I will tag all those posts as “Flash Platform”…
]]>Entry to this event is by invitation only. If you would like to join us for this event (it is an evening event with dinner:) drop me an email with your name, company, designation and contact number to rrao (at) adobe (dot) com and I will send you an invite. Seats availabe on a FCFS basis. SOLD OUT! See you on June 3rd ![]()
Adobe swept the “Great Indian Developer Awards – II”. Thanks to all who voted. We increased our tally from 1 last year to 3 this year and was the company with the most number of awards… w00t!
Adobe swept the stage in 3 categories:
- Best Collaboration Solution – Adobe Acrobat Connect Professional (nominated along with WebEx, MS Office Online.. etc)
- Best Web Development Platform – Adobe ColdFusion 8 (nominated along with ASP.NET, DOJO… etc)
- Best Framework – Adobe Flex (nominated along with .NET framework, Sprint & Struts)