<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Obecto Training Portal &#187; flex</title>
	<atom:link href="http://training.obecto.com/tag/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://training.obecto.com</link>
	<description>sharing our knowledge</description>
	<lastBuildDate>Wed, 07 Apr 2010 08:57:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex Training Course for QA Engineers</title>
		<link>http://training.obecto.com/2010/03/flex-training-course-for-qa-engineers/</link>
		<comments>http://training.obecto.com/2010/03/flex-training-course-for-qa-engineers/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 18:15:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[QA Flex Course]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=300</guid>
		<description><![CDATA[VMware requested from me to prepare a Flex course for their QA engineers and here it is &#8211; I&#8217;m pleased to share with you the first and only (to my knowledge) course especially prepared to train QA engineers in the intricacies of testing Flex application. This course shares some of the material I teach to [...]]]></description>
			<content:encoded><![CDATA[<p>VMware requested from me to prepare a Flex course for their QA engineers and here it is &#8211; I&#8217;m pleased to share with you the first and only (to my knowledge) course especially prepared to train QA engineers in the intricacies of testing Flex application. This course shares some of the material I teach to the software engineers, but the lab exercises are totally different &#8211; instead of focusing on building an application, we&#8217;ll focus on understanding the Flex technology and how it can be tested in programmatic fashion.</p>
<p>The course is structured in 5 lecture topics and 9 practical labs in the course of which we&#8217;ll build an app an explore different aspects of its testing. Each lecture has slides that you can download from here. Each lab will end up with a project that would be uploaded here for future download.</p>
<h4>Topic 1 &#8211; Overview of Flash and Flex</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/01-Overview-of-Flash-Flex.pdf">DOWNLOAD SLIDES</a></p>
<h4>Topic 2 &#8211; Introduction to ActionScript 3 &#038; MXML</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/02-Introduction-to-ActionScript-3-and-MXML.pdf">DOWNLOAD SLIDES</a></p>
<h4>Topic 3 &#8211; Introduction to Flex Components</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/03-Introduction-to-Flex-Components.pdf">DOWNLOAD SLIDES</a></p>
<h4>Topic 4 &#8211; Event Handling</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/04-Event-Handling.pdf">DOWNLOAD SLIDES</a></p>
<h4>Topic 5 &#8211; Remoting Basics</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/05-Remoting-Basics.pdf">DOWNLOAD SLIDES</a></p>
<p>Almost all of the lab projects are based on a sample project prepared especially for the QA course. The sample is available for download. After each lab the current state of the project will also be made available for download. </p>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/QAFlexCourseProject.zip">DOWNLOAD THE COMPLETED PROJECT</a></p>
<p>The ZIP contains two projects that you need to import &#8211; a library project and a regular Flex project.</p>
<p>Each lab covers a set of goals as defined here:</p>
<h4>Lab 1 &#8211; Project Setup &#038; Getting to Know the Flex Builder</h4>
<ul>
<li>importing the complete project</li>
<li>creating a new project</li>
<li>preparing the directory structure</li>
<li>adding the entity classes</li>
<li>writing the Resources-Utility (plain AS3)</li>
<li>adding the Main-Model (demonstrate both in AS3 and in MXML)</li>
<li>getting comfortable with DataBinding</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/qa_lab01.zip">DOWNLOAD LAB 1 PROJECT</a></p>
<h4>Lab 2 &#8211; Adding Code Behind and View Components</h4>
<ul>
<li>adding the Main-View (just MXML)</li>
<li>adding code behind for handling events (demonstrate both the Script tag, the base class and the source file)</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/DataBindingSamples.zip">DOWNLOAD DATA BINDING SAMPLES</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2010/03/CodeBehind.zip">DOWNLOAD CODE BEHIND PROJECTS</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2010/03/CustomUIComponent.zip">DOWNLOAD CUSTOM UICOMPONENT PROJECT</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2010/03/StatesTransitionsSample.zip">DOWNLOAD STATES &#038; TRANSITIONS SAMPLE</a></p>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/qa_lab02.zip">DOWNLOAD LAB 2 PROJECT</a></p>
<h4>Lab 3 &#8211; Adding and Understanding id&#8217;s</h4>
<h4>Lab 4 &#8211; Feeding the List Components with Mock-Up Data</h4>
<ul>
<li>use data binding to feed the list components</li>
<li>writing the Resources-Data-Adapter (plain AS3)</li>
<li>writing the Tree-Data-Adapter (plain AS3)</li>
<li>introduce the tree component</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/EventHandling.zip">DOWNLOAD EVENT HANDLING SAMPLE</a></p>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/qa_lab04.zip">DOWNLOAD LAB 4 PROJECT</a></p>
<h4>Lab 5 &#8211; Traversing the TreeCheckBox-component</h4>
<ul>
<li>understanding why using the Automation API is important</li>
<li>including all needed libraries</li>
<li>understanding the custom AutomationImpl component</li>
</ul>
<h4>Lab 6 &#8211; Adding Custom Method to ExternalInterface and Invoke them through JavaScript</h4>
<ul>
<li>adding ExternalInterface.addCallback</li>
<li>invoking through Firebug</li>
</ul>
<p><a href="http://www.adobe.com/devnet/flex/samples/custom_automated/">FLEX SAMPLES: AUTOMATION API SAMPLE APPLICATIONS</a><br />
<a href="http://www.adobe.com/go/flex_automation_api">DOWNLOAD THE AUTOMATION API DOCUMENTATION (PDF)</a></p>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/qa_lab06.zip">DOWNLOAD LAB 5 + 6 PROJECT</a></p>
<h4>Lab 7 &#8211; Invoking the Selenium API through JavaScript and Firebug</h4>
<ul>
<li>copy the SeleniumFlexAPI.swc to libs</li>
<li>add -include-libs &#8220;../libs/SeleniumFlexAPI.swc&#8221; to compiler arguments</li>
<li>demonstrate document["QAFlexCourseProject"].getFlexProperty(&#8221;viewstack&#8221;, &#8220;selectedIndex&#8221;);</li>
<li>demonstrate document["QAFlexCourseProject"].doFlexProperty(&#8221;viewstack.selectedIndex&#8221;, 0);</li>
<li>add a Button to the Test-View which opens an Alert</li>
<li>demonstrate document["QAFlexCourseProject"].doFlexClick(&#8221;seleniumTestButton&#8221;, &#8220;&#8221;);</li>
</ul>
<h4>Lab 8 &#8211; Simulating User Actions through Dispatching Events</h4>
<ul>
<li>demo an attempt of automating user gestures this way</li>
<li>demonstrate FlexMonkey</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/qa_lab08.zip">DOWNLOAD LAB 7 + 8 PROJECT</a></p>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/AutomationIDSamples.zip">DOWNLOAD AUTOMATION ID SAMPLE</a></p>
<h4>Lab 9 &#8211; Verifying Remote Data</h4>
<p><a href="http://training.obecto.com/wp-content/uploads/2010/03/BlazeDSDemo.zip">DOWNLOAD BLAZEDS PROJECT</a></p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2010/03/flex-training-course-for-qa-engineers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Applications&#8217; Architecture</title>
		<link>http://training.obecto.com/2009/04/flex-applications-architecture/</link>
		<comments>http://training.obecto.com/2009/04/flex-applications-architecture/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 09:32:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[MVP]]></category>
		<category><![CDATA[OpenFlux]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=154</guid>
		<description><![CDATA[DOWNLOAD SLIDES
This talk is based on a series of articles I wrote last year:
Introduction to Flex Application’s Architecture &#8211; Part 1 &#8211; Cairngorm
Introduction to Flex Application’s Architecture &#8211; Part 2 &#8211; PureMVC
Introduction to Flex Application’s Architecture &#8211; Part 3 &#8211; The Gugga Approach
Since we&#8217;re gonna compare a couple of architectures and some architectural approaches, it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/flex-applications-architecture.pdf">DOWNLOAD SLIDES</a></p>
<p>This talk is based on a series of articles I wrote last year:<br />
<a href="http://npacemo.com/wordpress/2008/05/28/introduction-to-flex-applications-architecture-part-1-cairngorm/">Introduction to Flex Application’s Architecture &#8211; Part 1 &#8211; Cairngorm</a><br />
<a href="http://npacemo.com/wordpress/2008/06/08/introduction-to-flex-applications-architecture-part-2-puremvc/">Introduction to Flex Application’s Architecture &#8211; Part 2 &#8211; PureMVC</a><br />
<a href="http://npacemo.com/wordpress/2008/10/03/introduction-to-flex-applications-architecture-part-3-the-gugga-approach/">Introduction to Flex Application’s Architecture &#8211; Part 3 &#8211; The Gugga Approach</a></p>
<p>Since we&#8217;re gonna compare a couple of architectures and some architectural approaches, it is important to establish a common ground in understanding why we need an architecture and what problems an architecture tries to solve.</p>
<h3>Why architecture is important?</h3>
<p>Architectures are important in situations where we need to:</p>
<ul>
<li>scale things up in both size and complexity</li>
<li>prepare and follow a plan</li>
</ul>
<p>The important thing to remember is that architectures are rarely obvious. And in most of the cases they emerge from the practice.</p>
<h3>MVC vs. MVP</h3>
<p>I&#8217;ve included some differences between MVC and MVP as I perceive them, but in the discussion with we ended up with the conclusion that <strong>&#8220;MVP is speculatively different from MVC&#8221;</strong>.</p>
<h3>Architectural Frameworks</h3>
<p>We&#8217;ve discussed the most popular architectural frameworks &#8211; Cairngorm and PureMVC, outlined their flaws and benefits, but mostly flaws. I&#8217;ve tried to persuade the audience in the need of a more granular approach, that can be applied not just on MACRO-application level, but also on a module level and even on component level of granularity.</p>
<p>It is important to note that the proposed ideas are not a complete architectural framework, but rather an approach. And since this is just an approach, there are no rigid rules &#8211; the developer must take his decisions without relying on strong and proven rules. The difficulty comes when you have to decide on what level of granularity you need to set up an MVC-infrastructure. Whether to have a single view and single controller and whether to have multiple views and many controllers?</p>
<p>Detailed sample is published in the next topic &#8211; <a href="http://training.obecto.com/2009/05/mvcs-example/">MVCS Example</a>.</p>
<h3>Great Comparison Between Frameworks</h3>
<p>The following is a great comparison between Flex architectural frameworks:</p>
<ul>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-introducti.html">Part 1 &#8211; Introduction</a></li>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-part-2-get.html">Part 2 &#8211; Get Control with Cairngorm</a></li>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-part-3-fra.html">Part 3 &#8211; Framework Agnostic Views with PureMVC</a></li>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-part-4-ioc.html">Part 4 &#8211; IoC with Swiz</a></li>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-part-5-mat.html">Part 5 &#8211; Mate, the Pure MXML Framework</a></li>
<li><a href="http://www.insideria.com/2009/01/frameworkquest-2008-part-6-the.html">Part 6 &#8211; The Exciting Conclusion</a></li>
</ul>
<p>This series of articles build the very same application but with different architectural approaches. The Source Code is available at <a href="http://github.com/thillerson/twitteria/tree/master">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/flex-applications-architecture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex 3 Localization Support</title>
		<link>http://training.obecto.com/2009/04/flex-3-localization-support/</link>
		<comments>http://training.obecto.com/2009/04/flex-3-localization-support/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 09:23:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[resource bundles]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=148</guid>
		<description><![CDATA[DOWNLOAD SLIDES
Flex 3 has huge improvements in the localization support compared to what Flex 2 supported.
In this lecture will get to know the various was of doing localization:

static localization
dynamic localization
externalizing localization resources into resource modules
dynamically loading resource modules

DOWNLOAD LOCALIZATION SAMPLE
We&#8217;ve included in the sample above an Ant script that automates the compilation process of resource [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/flex-3-localization-support.pdf">DOWNLOAD SLIDES</a></p>
<p>Flex 3 has huge improvements in the localization support compared to what Flex 2 supported.<br />
In this lecture will get to know the various was of doing localization:</p>
<ul>
<li>static localization</li>
<li>dynamic localization</li>
<li>externalizing localization resources into resource modules</li>
<li>dynamically loading resource modules</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/localization.zip">DOWNLOAD LOCALIZATION SAMPLE</a></p>
<p>We&#8217;ve included in the sample above an Ant script that automates the compilation process of resource modules.</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/flex-3-localization-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating Modular Applications</title>
		<link>http://training.obecto.com/2009/04/creating-modular-applications/</link>
		<comments>http://training.obecto.com/2009/04/creating-modular-applications/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 08:39:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[modules]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=137</guid>
		<description><![CDATA[DOWNLOAD SLIDES
In the beginning this topic was titled Component-Based Development with Flex, where &#8216;component-based&#8217; was used in the meaning of Component Based Software Engineering. There are certain similarities between modules and components and we&#8217;ll discuss them during the lecture, but yet the content of this talk is mostly oriented on modules and the Flex specifics [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/creating-modular-applications.pdf">DOWNLOAD SLIDES</a></p>
<p>In the beginning this topic was titled <em>Component-Based Development with Flex</em>, where <em>&#8216;component-based&#8217;</em> was used in the meaning of <em>Component Based Software Engineering</em>. There are certain similarities between modules and components and we&#8217;ll discuss them during the lecture, but yet the content of this talk is mostly oriented on modules and the Flex specifics in creating modular applications, so the title got changed. </p>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/modularapplication.zip">DOWNLOAD SAMPLE MODULAR APPLICATION</a></p>
<h3>What else can be added to this topic?</h3>
<p>When loading functional content from other SWF files, the question that rises is where are the new class definitions loaded in? And this questions brings up the discussion about <strong>Application Domains in Flash</strong>. Don&#8217;t miss to check the following resources:</p>
<p><a href="http://ghalex.com/blog/application-domains-in-flex">A simple explanation of Application Domains</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/chapter-1-developing-and-loading-sub-applications.pdf">Chapter 1: Developing and loading sub-applications</a> &#8211; a complete chapter that covers application domains, security domains and resources compiled with different versions of the Flex Framework. It&#8217;s quite strange &#8211; what kind of a book starts with developing and loading sub-applications?</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/creating-modular-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remoting</title>
		<link>http://training.obecto.com/2009/04/remoting/</link>
		<comments>http://training.obecto.com/2009/04/remoting/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 11:43:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[DataService]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[HTTPService]]></category>
		<category><![CDATA[RemoteObject]]></category>
		<category><![CDATA[remoting]]></category>
		<category><![CDATA[Static Proxy]]></category>
		<category><![CDATA[WebService]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=106</guid>
		<description><![CDATA[DOWNLOAD SLIDES
The slides are partially based on the Working with Data in Flex talk Branimir Angelov gave at the 2008 FlexCamp.
We got to admit that this is one of the toughest topics to discuss, because remoting is part of a quite bigger topic &#8211; distributed systems. And distributed systems encompass tones of knowledge, e.g.:

different data [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/remoting.pdf">DOWNLOAD SLIDES</a></p>
<p>The slides are partially based on the <a href="http://flex.riabg.org/?p=4">Working with Data in Flex</a> talk Branimir Angelov gave at the <a href="http://flexcamp.riabg.org/">2008 FlexCamp</a>.</p>
<p>We got to admit that this is one of the toughest topics to discuss, because remoting is part of a quite bigger topic &#8211; <strong>distributed systems</strong>. And distributed systems encompass tones of knowledge, e.g.:</p>
<ul>
<li>different data paradigms (weakly-typed data, strongly-typed data, persistence and Flex specifically &#8211; data binding and data management)</li>
<li>different network and web architecture principles and paradigms (REST, RPC, Data Management)</li>
<li>middle-ware paradigms (transactions, messages, remote method invocation)</li>
<li>different server technologies concepts and details (servlets, non-blocking I/O, stateless and stateful objects)</li>
</ul>
<h3>The Structure of the Talk</h3>
<p>The structure of the talk reflects the typical mindset of an Obecto developer. In the beginning of a project our thoughts are mostly concentrated on acquiring a correct vision for the product to be developed. In this early phase of the project we focus our efforts on developing a working <strong>client</strong> application. We refer to such applications as <strong>prototypes</strong> &#8211;  a piece of software we can give to our client, so he can use it to test the market and reassure his understanding of the product and the interactions which encompass it. This is an approach known as <strong>Front-to-Back development</strong>.</p>
<p>The talk is structured in a similar way &#8211; we start with the remoting components available in the Flex Framework and we approach them as if we won&#8217;t ever need to know anything about the next layer in the architecture. This approach faces a lot of arguments since students often require to see the complete picture first. To defend this approach, we usually bring the argument that layering is an engineering technique that help us study independently different parts of a big and complex system. If we can&#8217;t study a system layer by layer, than there is no benefit of creating a multi-tier architecture. So this is how we start:</p>
<h3>Client-Side Remoting Components</h3>
<p>Here we discuss the service components:</p>
<ul>
<li>HTTPService</li>
<li>WebService</li>
<li>RemoteObject</li>
<li>DataService</li>
</ul>
<p>As we investigate separately each of the components, we&#8217;ll try to fill in the whole picture of the remoting architecture implemented in the Flex Framework. Click on the following UML diagram to get a 100% view on it:</p>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/flex-remoting.png"><img title="flex-remoting" src="http://training.obecto.com/wp-content/uploads/2009/04/flex-remoting.png" alt="flex-remoting" width="95%" /></a></p>
<p>The samples we show are part of the LiveCycle DataServices ES installation. We&#8217;ll provide the source code for the samples we&#8217;ve slightly modified.</p>
<h3>Different ways to process the results</h3>
<p>We&#8217;ll take a look at the various ways to process the results of a service:</p>
<ul>
<li>data binding to the <em>lastResult</em> property</li>
<li>listening for ResultEvent and FaultEvent</li>
<li>using IResponder</li>
<li>using the AsyncToken</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/generate-staticproxy.zip">DOWNLOAD SAMPLE WITH THE PROXY GENERATED FROM THE WEB SERVICES WIZARD</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/testdrive-datapush.zip">DOWNLOAD SAMPLE WITH REAL TIME UPDATE OF A CHARTING COMPONENT</a></p>
<h3>The Static Service Proxy</h3>
<p>When I was preparing the talk I was trying to recall in my memories what were the reasons for us to develop and start using the StaticServiceProxy in our projects. It took me several days to recollect my memories. The idea is basically related to the concept of the BusinessDelegate in the Cairngorm micro-architecture, but with several advantages:</p>
<ul>
<li>MXML declarative support</li>
<li>smooth transition between WebService and RemoteObject</li>
<li>easy way to create mock proxies</li>
<li>a way to differentiate between different invocations</li>
</ul>
<p>Todor Kolev had prepared a pretty illustrative example on how we use it.<br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/rpc.zip">DOWNLOAD TODOR KOLEV&#8217;S SAMPLE</a></p>
<h3>Server-Side Components</h3>
<p>In the final part of the talk we&#8217;ll get acquainted with the LiveCycle Data Services components and the architecture of the LiveCycle DS server.</p>
<ul>
<li>end-points</li>
<li>the MessageBroker</li>
<li>destinations</li>
<li>adapters</li>
<li>assemblers</li>
</ul>
<h3>Useful Resources</h3>
<p><a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&#038;productId=4&#038;postId=8667">How to hack LiveCycle ES Data Services to run natively on a Mac</a><br />
<a href="http://www.adobe.com/products/livecycle/pdfs/95011594_lcds_planguide_wp_ue.pdf">Capacity Planning Guide for Adobe ® LiveCycle ® Data Services 2.6</a></p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/remoting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creating and Extending Flex 3 Components</title>
		<link>http://training.obecto.com/2009/04/creating-and-extending-flex-3-components/</link>
		<comments>http://training.obecto.com/2009/04/creating-and-extending-flex-3-components/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 11:18:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[Data Descriptors]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[enhanced constraints]]></category>
		<category><![CDATA[extend components]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Formatter]]></category>
		<category><![CDATA[IDeferredInstance]]></category>
		<category><![CDATA[LayoutManager]]></category>
		<category><![CDATA[repeater]]></category>
		<category><![CDATA[States]]></category>
		<category><![CDATA[Transitions]]></category>
		<category><![CDATA[UIComponent]]></category>
		<category><![CDATA[Validator]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=69</guid>
		<description><![CDATA[DOWNLOAD SLIDES
This is by far the biggest topic in the course and it covers lots of subtopics as there are a lot of ways of creating and extending components. On the other side there are different types of components &#8211; visual or non-visual, but also components for data and components, let&#8217;s roughly call it a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/creating-and-extending-flex-components.pdf">DOWNLOAD SLIDES</a></p>
<p>This is by far the biggest topic in the course and it covers lots of subtopics as there are a lot of ways of creating and extending components. On the other side there are different types of components &#8211; visual or non-visual, but also components for data and components, let&#8217;s roughly call it a behavior.</p>
<h3>Visual Components &#8211; Composition</h3>
<p>The easiest way for creating custom components is to compose already existing components into a composite view. And there are various way to do that, but before we jump to these, I&#8217;ll show you what&#8217;s my understanding on the concept of <strong>code behind</strong>.</p>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/codebehind.zip">DOWNLOAD CODE BEHIND SAMPLE</a></p>
<p>When doing composite components always keep in mind that there are different ways to layout and position the components:</p>
<ul>
<li>absolute positioning</li>
<li>relative positioning</li>
<li>and even enhanced constraints</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/absolutevsrelativelayouts.zip">DOWNLOAD ABSOLUTE VS. RELATIVE LAYOUT SAMPLE</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/enhancedconstraints.zip">DOWNLOAD ENHANCED CONSTRAINTS SAMPLE</a></p>
<p>The enhanced constraints sample is prepared by <a href="http://www.fabianvercuiel.com/">Fabian Vercuiel</a> as part of his talk on Flex Layouts given at the regular <a href="http://flex.riabg.org">Flex-Bulgaria User-group</a> meetings.</p>
<h3>Visual Components &#8211; Containers</h3>
<p>There are different types of containers you can use in Flex 3:</p>
<ul>
<li>layout containers</li>
<li>list containers</li>
<li>repeater (which is not a container)</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/layoutcontainers.zip">DOWNLOAD LAYOUT CONTAINERS SAMPLE</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/listcomponents.zip">DOWNLOAD LIST COMPONENTS SAMPLE (REPEATER SAMPLE ALSO INCLUDED)</a></p>
<h3>Visual Component &#8211; Extending UIComponent</h3>
<p>In order to extend UIComponent we need to know a few things:</p>
<ul>
<li>the UI component life-cycle</li>
<li>the invalidation mechanism</li>
<li>the LayoutManager phased mechanism</li>
</ul>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/ExtendingUIComponent.zip">DOWNLOAD UICOMPONENT SAMPLE</a></p>
<h3>States &amp; Transitions</h3>
<p>We&#8217;ll make a parallel between the Go4 State-pattern and States in Flex, but we&#8217;ll also take a look at the states architecture in Flex. Then we&#8217;ll get acquainted with the Transition&#8217;s mechanism in Flex. As we look at the sample we&#8217;ll run into an issue when we&#8217;re interrupting a transition. I&#8217;ll propose a possible solution in the same sample.</p>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/statesandtransitions.zip">DOWNLOAD STATES AND TRANSITIONS SAMPLE</a><br />
<a href="http://training.obecto.com/wp-content/uploads/2009/04/interruptableeffects.zip">DOWNLOAD INTERRUPTIBLE TRANSITION SAMPLE</a></p>
<p>Flex 4 Gumbo Transitions are introducing the <em>autoReverse</em>-property.</p>
<h3>Non-Visual Components &#8211; Effects</h3>
<p>The intent is to get to know the Effects architecture, the various types of effects (composite effects, tweening effect and action effects), but also to take a look at what other possibilities we can get if we decide to extend some Flex effects.</p>
<h3>Non-Visual Components &#8211; Validators &amp; Formatters</h3>
<p>I&#8217;ll start with describing the Flex Validator component and the plan is to end with some suggestion how to adjust the user interaction logic of the validator in order to fulfill some specific UX needs.<br />
Formatters are just briefly mentioned.</p>
<h3>Deferred Instantiation and How To Make Template Components</h3>
<p>We can take advantage by configuring a component with MXML and controlling the instantiation of this pre-configured with deferred instantiation. I&#8217;ll propose a flex pattern for using deferred instances for factory-classes.</p>
<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/ideferredinstance.zip">DOWNLOAD DEFERRED INSTANTIATION SAMPLE</a></p>
<h3>Data Descriptors</h3>
<p>In the end of this topic we&#8217;ll make an overview of Flex Data Descriptors.</p>
<h3>What&#8217;s left out of this topic?</h3>
<p>I haven&#8217;t talked anything about Skinning and Styling Flex components &#8211; skinning and styling is yet another way to extend and customize components. But here I&#8217;ll provide you with a road-map on how to use the skinning and styling abilities build-in Flex</p>
<h4>1. Setup of build-in style-properties (a.k.a. Styling)</h4>
<p>The most easiest way for simple skin application is to modify the style-properties of the Flex-components. You just need to play around with the <a href="http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html#">Flex Styles Explorer (v3)</a> and copy the styles into your CSS-files.</p>
<h4>2. Completely changing the appearance of a component (a.k.a. Skinning)</h4>
<p>Skinning involves 2 different processes &#8211; preparation of new visual assets and the application of these assets as skins (achieved again through styling). To learn how to combine these two processes read about <a href="http://www.adobe.com/devnet/flex/articles/skins_styles.html">Designing Flex 3 skins and styles using Creative Suite 3 and Flex Builder 3</a>.<br />
A theme is a collection of related styles &#8211; usually a theme changes the looks of a large set of Flex controls. If you need an inspiration browse the <a href="http://www.scalenine.com/">ScaleNine collection of Flex themes</a>.</p>
<h4>3. Programmatic Skinning (using the drawing API to prepare visual assets and effects run-time)</h4>
<p>In some peculiar cases (like this one <a href="http://npacemo.com/wordpress/2008/05/20/flex-3-designer-scrollbar-fixed-size-scrollthumb/">Flex 3 Designer ScrollBar &#8211; Fixed Size ScrollThumb</a>) simply preparing visual assets won&#8217;t be enough. Some coding is needed to achieve the desired appearance and behavior. Again programmatic skins are applied through styling, but instead of Embed-directives you should use ClassReference-directives.</p>
<p>Keep in mind that in the new version of Flex, the current process of skinning and styling would be quite obsolete or at least different!</p>
<h3>Flex 4 Sneakpeak</h3>
<p>If you&#8217;re interested in what&#8217;s Flex 4 going to be, don&#8217;t forget to check out this video:</p>
<div style="margin: 20px 20px;"><embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="600" height="385" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashVars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzAxOC5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&#038;w=600&#038;t=http://tv.adobe.com/#vi+f1472v1501&#038;h=385"></embed></div>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/creating-and-extending-flex-3-components/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Overview of the Flex SDK</title>
		<link>http://training.obecto.com/2009/04/overview-of-the-flex-sdk/</link>
		<comments>http://training.obecto.com/2009/04/overview-of-the-flex-sdk/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 09:52:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[renderer]]></category>
		<category><![CDATA[rsl]]></category>
		<category><![CDATA[swc]]></category>
		<category><![CDATA[swf]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=61</guid>
		<description><![CDATA[DOWNLOAD SLIDES
Usually an SDK contains:

Runtime Execution Environments
Framework
Compiler and Tools

What is important to remember from this talk is:

The architecture of the Flash Player
The retained mode of the renderer
The loop of the player (SWFTags, ActionScript, Rendering)
The conceptual single-threaded programming model
The distinction between Flash and Flex (flash.*, flex.*)
The various ways to distribute components (SWF, SWC and RSL)

But the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/overview-of-the-flex-sdk.pdf">DOWNLOAD SLIDES</a></p>
<p>Usually an SDK contains:</p>
<ol>
<li>Runtime Execution Environments</li>
<li>Framework</li>
<li>Compiler and Tools</li>
</ol>
<p>What is important to remember from this talk is:</p>
<ul>
<li>The architecture of the Flash Player</li>
<li>The retained mode of the renderer</li>
<li>The loop of the player (<em>SWFTags, ActionScript, Rendering</em>)</li>
<li>The <strong>conceptual single-threaded</strong> programming model</li>
<li>The distinction between Flash and Flex (<em>flash.*, flex.*</em>)</li>
<li>The various ways to distribute components (SWF, SWC and RSL)</li>
</ul>
<p>But the talk is also intended to give you an overview of the available functionality you can use within the Flex Framework. We&#8217;ll go briefly through each of the major packages in the framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/overview-of-the-flex-sdk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DataBinding &#8211; a Look into the Generated Code</title>
		<link>http://training.obecto.com/2009/04/databinding-a-look-into-the-generated-code/</link>
		<comments>http://training.obecto.com/2009/04/databinding-a-look-into-the-generated-code/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 08:55:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[DataBinding]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[generated]]></category>
		<category><![CDATA[Watcher]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=52</guid>
		<description><![CDATA[DOWNLOAD SLIDES
With this talk we&#8217;ll make an attempt to get a very close understanding of what&#8217;s going on under the hood of the Flex DataBinding mechanism and hopefully to get a conceptually correct notion of what does what ending with an UML diagram of all parties involved.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://training.obecto.com/wp-content/uploads/2009/04/databinding-a-look-into-the-generated-code.pdf">DOWNLOAD SLIDES</a></p>
<p>With this talk we&#8217;ll make an attempt to get a very close understanding of what&#8217;s going on under the hood of the Flex DataBinding mechanism and hopefully to get a conceptually correct notion of what does what ending with an UML diagram of all parties involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/databinding-a-look-into-the-generated-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The VMware Flex Training Program</title>
		<link>http://training.obecto.com/2009/04/the-vmware-flex-training-program/</link>
		<comments>http://training.obecto.com/2009/04/the-vmware-flex-training-program/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 19:57:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMware Flex]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[topics list]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://training.obecto.com/?p=4</guid>
		<description><![CDATA[I&#8217;m very pleased to welcome all VMware developers to the Obecto Training Portal. We&#8217;ve setup this blog with the intend to open a portal to the knowledge we have in the field of RIA and especially Flex and Flash. This is a portal, but also this is an open conversation &#8211; feel free to write [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very pleased to welcome all VMware developers to the Obecto Training Portal. We&#8217;ve setup this blog with the intend to open a portal to the knowledge we have in the field of RIA and especially Flex and Flash. This is a portal, but also this is an open conversation &#8211; feel free to write comments and to ask all your questions.</p>
<p>Even though we&#8217;re bulgarians, the official language of the portal is English. The reason for that is to make our discussions as reusable as possible and as open as possible to everyone else interested.</p>
<p>If you find it difficult to express yourself in English (or just don&#8217;t want to), here&#8217;s the <a href="http://flex.riabg.org/">Bulgarian Flex User-group</a> which has its <a href="http://groups.google.com/group/flexbulgaria">Google Group</a> &#8211; the preferred language there is Bulgarian.</p>
<h3>The topics in the course</h3>
<p>The topics in the course are updated according to the feedback we&#8217;ve got from the first group who attended the course:</p>
<p/>
<ol>
<li><a href="http://training.obecto.com/2009/04/overview-of-the-flash-platform/">Overview of the Flash Platform</a></li>
<li><a href="http://training.obecto.com/2009/04/introduction-to-actionscript-3-mxml/">Introduction to ActionScript 3 &amp; MXML</a></li>
<li><a href="http://training.obecto.com/2009/04/databinding-a-look-into-the-generated-code/">DataBinding &#8211; a Look into the Generated Code</a></li>
<li><a href="http://training.obecto.com/2009/04/overview-of-the-flex-sdk/">Overview of the Flex SDK</a></li>
<li><a href="http://training.obecto.com/2009/04/creating-and-extending-flex-3-components/">Creating &amp; Extending Flex 3 Components</a></li>
<li><a href="http://training.obecto.com/2009/04/remoting/">Remoting</a></li>
<li><a href="http://training.obecto.com/2009/04/flex-applications-architecture/">Flex Applications&#8217; Architectures</a></li>
<li><a href="http://training.obecto.com/2009/05/mvcs-example/">MVCS Example</a> and <a href="http://training.obecto.com/2009/07/mvc-example-refactored/">MVC Example &#8211; Refactored</a></li>
<li><a href="http://training.obecto.com/2009/04/creating-modular-applications/">Creating Modular Applications</a></li>
<li><a href="http://training.obecto.com/2009/04/flex-3-localization-support/">Flex 3 Localization Support</a></li>
<li><a href="http://training.obecto.com/2009/05/test-driven-development/">Test Driven Development</a></li>
<li><a href="http://training.obecto.com/2009/05/optimizing-flex-applications/">Optimizing Flex Applications</a></li>
</ol>
<p>The MVCS Sample is moved closer to the beginning, because the concept is quite important and it brought lots of controversy and confusion during the last course. The whole idea is revised and some issues and aspects noticed by the seniors (special thanks to Alex and Stefan) that attended are going to be further clarified.</p>
<h3>What&#8217;s left out of the course</h3>
<p>There are quite a lot topics that are out of the above topic list:</p>
<ul>
<li>Skinning and Styling Flex Components</li>
<li>Preloading Flex Applications</li>
<li>Integrating Flash Content</li>
<li>Using Shared Objects</li>
<li>Printing from Flex Application</li>
<li>Introduction to Gumbo</li>
</ul>
<h3>Recommended List of Books</h3>
<p>Today, I was asked to provide a list of books about Flex. The problem is, I&#8217;ve never read a book about Flex. Well at least not published in paper. I can recall reading <a href="http://livedocs.adobe.com/flex/3/createcomps_flex3.pdf">Creating &#038; Extending Adobe Flex 3 Components</a> and you can find this title also here in the sidebar. I can recall also using <a href="http://www.amazon.com/Essential-ActionScript-3-0-Colin-Moock/dp/0596526946">Essential ActionScript 3.0</a> as a reference in some Flash related tasks. And that&#8217;s about all I&#8217;ve ever read in paper about Flash and Flex.</p>
<p><a href="http://www.amazon.com/ActionScript-3-0-Design-Patterns-Programming/dp/0596528469/">ActionScript 3.0 Design Patterns: Object Oriented Programming Techniques</a>  &#8211; the contents of this book looks pretty intriguing, but I haven&#8217;t read the book. Anyway it looks really promising.</p>
]]></content:encoded>
			<wfw:commentRss>http://training.obecto.com/2009/04/the-vmware-flex-training-program/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
