<?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>Flexpert to the rescue &#187; LiveCycle Data Services</title>
	<atom:link href="http://www.flexpert.be/category/lcds/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexpert.be</link>
	<description>Blog site about all things Adobe</description>
	<lastBuildDate>Sun, 05 Feb 2012 21:58:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Do Flex and LiveCycle still have a future?</title>
		<link>http://www.flexpert.be/2011/12/do-flex-and-livecycle-still-have-a-future/</link>
		<comments>http://www.flexpert.be/2011/12/do-flex-and-livecycle-still-have-a-future/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 10:19:03 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[LiveCycle Data Services]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Flash player]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=962</guid>
		<description><![CDATA[I&#8217;ve been quiet for quite some time now. There are 2 reasons for that. The first one is simply because I have been busy on a couple of projects and just didn&#8217;t find the time to write another blog post. The second reason is that I wanted to wait and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been quiet for quite some time now. There are 2 reasons for that. The first one is simply because I have been busy on a couple of projects and just didn&#8217;t find the time to write another blog post. The second reason is that I wanted to wait and see what would happen with all of the bad news around Flex and LiveCycle. I did not want to overreact, as many other people have done, causing a temporary wide spread panic about Flash being killed.
<p>I completely agree that it has been poor communication from Adobe, especially after what they have announced at AdobeMAX this year. So, timing could have been better and the messages that they initially shared could have been better formulated. Adobe acknowledges this and have sent out their apologies for that as well. But the harm was already done. I even saw people leaving prerelease and other programs (I can&#8217;t mention by name) furious about what happened and turning their backs on Adobe entirely. I respect those decisions, but come on, is it really such a bad thing?</p>
<p><strong>For those of you who are not quite up to speed on what exactly is going on at Adobe. Let me briefly state the latest developments.</p>
<ul>
<li>Adobe is dropping the Flash player on mobile devices</li>
<li>Flex is going to become completely open source</li>
<li>LiceCycle will be discontinued after the next release</li>
<li>AIR on mobile (iOS, Android, PlayBook) is still going to be developed</li>
<li>Flash Builder will continue to be developed by Adobe</li>
<li>The next version of Flash Builder will not have a Design View</li>
<li>The DCD feature will be dropped in the next release of Flash Builder</li>
</ul>
<p></strong></p>
<p>Let&#8217;s start with LiveCycle. For those of you who don&#8217;t know what LiveCycle is, it is a product that allows you to define information workflows, mainly based on PDFs. So, for example, you could fill out a job application form in a PDF, digitally sign it with you eID card (in Belgium at least) and send it to a specific email address. The PDF attachment gets picked up from the mailbox and the information is extracted and put in a database. After that a &#8220;thank you&#8221; email is sent to the applicant, while in the mean time the HR manager is notified of a new application. Upon approval by the HR manager in the so called &#8220;workspace&#8221; a new PDF is sent to the unit manager, notifying him that he should interview this candidate, together with the candidate&#8217;s résumé. After the interview the unit manager can then input his findings in a evaluation form and LiveCycle will pick that up as well to put it into the database and notify the HR manager that the evaluation has been submitted. Would the candidate be rejected, the can be marked in the &#8220;workspace&#8221; again for example, an automatic email will be sent to the candidate notifying him of his rejection.</p>
<p> Now, this is just one example of what LiveCycle can do. <strong>Even though Adobe is shifting its focus towards other strategic solutions, they will continue to develop LiveCycle (<a href="http://blogs.adobe.com/ADEP/2011/11/livecycle-business-update.html" target="_blank">as you can read here</a>), invest in finding new customers and product support is still guaranteed</strong>, so you&#8217;re not left alone with your solution if you&#8217;re currently using LiveCycle.</p>
<p><strong>As for dropping the Flash Player on mobile devices, I don&#8217;t think that is a bad thing.</strong> You see, if Adobe wants to keep the same version of the Flash Player on all devices (desktop, mobile, tablet) then a lot of code will have to go in checking whether or not things certain features are available. This requires a lot of effort and slows down progress on the features that matter the most. <strong>I mean, come on, when did you actually use a Flash based website on you mobile device?</strong> Either it wasn&#8217;t mobile optimized causing frustration in content that is not scaled properly, or it just was overkill for a mobile device.<br/><br />
Now Adobe has the opportunity to focus on the desktop platform and make full use of the GPU hardware acceleration and other cool features that require more processing power than what the other devices can offer at this moment. <strong>It is clear that Adobe wants to move in the direction of gaming with Flash</strong>, which I have been expecting for some time now.</p>
<p>Remember, I just said that the Flash Player will be dropped on mobile. <strong>That does not mean that the cross-device AIR solution is being dropped. On the contrary! AIR for mobile devices will continue to be developed by Adobe and is one of the key products/features they will maintain.</strong> So you don&#039;t have to worry about your cross-device development.</p>
<p><strong>However, the Flex SDK is going to be put into the Apache project, bringing along a new produt name as well, since Adobe won&#8217;t own the SDK anymore.</strong> Once the incubator is accepted, the product will be called &quot;Apache Flex&quot;. You can read all about the Apache Flex Incubator <a href="http://bit.ly/tpmpa7" target="_blank">right here</a>.<br/><br />
<strong>That means that from that point on the SDK will be developed and maintained by the community.</strong> That will be a good thing in the sense that probably we&#8217;ll get more features more rapidly developed. But &#8211; and there&#8217;s a big &quot;but&quot; in here &#8211; I do see a problem in the adopt of the Flex technology in big companies. You see, <strong>what companies want is a support contract with time frame commitment</strong>. They want a red phone to the help desk when they encounter serious problems and at the moment they are paying big money for that. <strong>Once Flex is owned by the community, Adobe probably won&#8217;t be doing anymore support, because it is now up to the community.</strong></p>
<p>This lack of support is what could harm Flex in the high end business companies. But then again, <strong>this will also lead to new opportunities for companies such as <a href="http://www.multimediacollege.be target="_blank">multimediacollege</a> in the sense that we can now write and publish our own training material, as well as provide support contracts for helping out companies who need assistance with some Flex problems.</strong></p>
<p>So, is Flex dead? Definitely not! And it isn&#8217;t dying either. We will have a huge community supporting the development and some highly skilled developers working on the features. I wish I had some magical device that allows me to see into the future to see what will happen with Flex when it becomes completely Open Source. But for now, I&#8217;m not yet worried about it&#8217;s future&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2011/12/do-flex-and-livecycle-still-have-a-future/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Floating license policy for Flex applications</title>
		<link>http://www.flexpert.be/2009/10/floating-license-policy-for-flex-applications/</link>
		<comments>http://www.flexpert.be/2009/10/floating-license-policy-for-flex-applications/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 20:40:10 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[LiveCycle Data Services]]></category>
		<category><![CDATA[floating license]]></category>
		<category><![CDATA[RTMP]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=292</guid>
		<description><![CDATA[Sometimes in Flex projects you need to be able to include some licensing policy. In a lot of cases this will be a simple user identification for registered users. But sometimes there is a request for a floating license policy. This means that a certain company buys let&#8217;s say 10 [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes in Flex projects you need to be able to include some licensing policy. In a lot of cases this will be a simple user identification for registered users. But sometimes there is a request for a <strong>floating license policy</strong>. This means that a certain company buys let&#8217;s say 10 licenses, but they are not user specific. So in fact, maybe 50 users within that company can use the product legally, but only 10 users can connect at the same time. I know some programs that do this, but they are not web based and have their own licensing server installed at the company&#8217;s location. How do we accomplish this within a Flex application?</p>
<p>Well, the first step is having a user identification system that keeps track of how many users have already logged in for the same company as the user that is currently trying to log in. This part is fairly easy and can be accomplished be using a counter at company level. The licensing can then easily be managed by a non-public admin console. Each time a user tries to log in, the counter is checked against the maximum allowed concurrent users. Depending on the fact whether or not the maximum number of users is reached, the user gets an error message or the counter is updated as the user is verified.</p>
<p>That&#8217;s the easy part. It&#8217;s the logging out that can give you some headaches. If you provide a logout button, it is again fairly easy to attach a remote back end call to update the counter again, so it reaches zero when all the users for that company have logged out. But unfortunately users don&#8217;t always do what they are expected to do. So a lot of times they will just close the browser and your counter remains unchanged. And this poses the biggest problem, because the user has actually closed the application, but now the licensing part has been corrupted. Fortunately, LiveCycle Data Services has a nice feature called RTMP (Real-Time Messaging Protocol), which allows you to monitor a session on the server and act upon it when the session has been dropped.</p>
<p>Now, there are 2 types of sessions available on the server side: HTTPSession and FlexSession. The first one is actually a browser session. A browser session does not automatically close when the user closes the browser. It is a common misconception, but a lot of server technologies work in this way; be it LCDS, ColdFusion, &#8230; The browser session actually needs to timeout before it is closed. So it could very well remain in server memory for a couple of hours even before closing, depending on the server settings. The later one, <strong>the FlexSession, does react to the closing of the browser and therefore can be used to adjust the licensing server in the back end</strong>. To be able to use this, you need to use an <mx:DataService> to be able to use the RTMP channel. Another option would be to use the messaging service over RTMP connected to a Java Adapter. The advantage of using the DataService is that in the mean time you can also use it to implement server pushed data synchronisation, which is a very nice feature.</p>
<p>Now how do you let your back end service react to the dropping of the FlexSession? Well, all you have to do is<strong> implement the FlexSessionListener interface</strong>. You need to override the sessionCreated() method in which you save the session for later use and to add an event listener for the sessionDestroyed event. This event is fired when the user closes the Flex application by closing the browser window. You can find the code below in the SessionWatcher class I created for demonstration purpose, but you can include this functionality in any Java class that is connected using the data management feature. Enjoy&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SessionWatcher <span style="color: #000000; font-weight: bold;">implements</span> FlexSessionListener <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">protected</span> FlexSession session<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> SessionWatcher<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    FlexSession.<span style="color: #006633;">assSessionCreatedListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  @Override
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> sessionCreated<span style="color: #009900;">&#40;</span>FlexSession session<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">session</span> <span style="color: #339933;">=</span> session<span style="color: #339933;">;</span>
    session.<span style="color: #006633;">addSessionDestroyedListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  @Override
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> sessionDestroyed<span style="color: #009900;">&#40;</span>FlexSession session<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    system.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Session &quot;</span> <span style="color: #339933;">+</span> session.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; has been destroyed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2009/10/floating-license-policy-for-flex-applications/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

