<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>arul @ flux</title>
    <link>http://blogs.fluxcorp.com/blogs/arul</link>
    <description>Arul is a software developer at Flux. He is very passionate about Java and JEE technologies.</description>
    <pubDate>Mon, 02 Jun 2008 20:02:35 GMT</pubDate>
    <generator>Clearspace 1.6.0 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2008-06-02T20:02:35Z</dc:date>
    <item>
      <title>REST Action in Flux 8.0</title>
      <link>http://blogs.fluxcorp.com/blogs/arul/2008/06/19/rest-action-in-flux-80</link>
      <description>REST is an architectural style in which software components are modeled as resources accessed over the web which are identified by unique URIs. These resources are traditionally accessed using HTTP. For example, the typical CRUD operations involve read (HTTP GET), create (HTTP POST), update (HTTP PUT), delete (HTTP DELETE). All these operations can be modeled using REST interface. There are some popular web search APIs which are modeled as REST interfaces. One such example is Yahoo Search API (&lt;a class="jive-link-external" href="http://developer.yahoo.com/search/rest.html"&gt;http://developer.yahoo.com/search/rest.html&lt;/a&gt;). &lt;br /&gt;
&lt;br /&gt;
Flux 8.0 will ship with a built-in REST Action. The REST Action will allow you to invoke REST services from flow charts and use the result, or response, from the REST service throughout subsequence actions in the flow chart.&lt;br /&gt;
&lt;br /&gt;
The REST service URL is followed by the actual query parameters, which take the form argument=value. Multiple parameters are separated by an ampersand (&amp;#38;). Here is how the REST Action can be used with in a flow chart in Flux 8.0.&lt;br /&gt;
&lt;br /&gt;
Engine engine = new Engine();&lt;br /&gt;
&lt;br /&gt;
FlowChart job = new FlowChart("REST Action Example");&lt;br /&gt;
&lt;br /&gt;
// Create the Rest Action&lt;br /&gt;
RestAction restAction = job.makeRestAction("REST GET Action");&lt;br /&gt;
&lt;br /&gt;
// Specify the URL the rest action is to use.&lt;br /&gt;
restAction.setUrl("http://search.yahooapis.com/WebSearchService/V1/webSearch");&lt;br /&gt;
&lt;br /&gt;
// Specify the action type.&lt;br /&gt;
restAction.setActionType("get");&lt;br /&gt;
&lt;br /&gt;
// Specify the arguments to pass to the method.&lt;br /&gt;
Properties inputParams = new Properties();&lt;br /&gt;
inputParams.put("appid", "YahooDemo");&lt;br /&gt;
inputParams.put("query", "rest");&lt;br /&gt;
inputParams.put("results", "2");&lt;br /&gt;
&lt;br /&gt;
restAction.setInputParams(inputParams);&lt;br /&gt;
&lt;br /&gt;
// Create a Console Action to display the result from the Web service&lt;br /&gt;
ConsoleAction consoleAction = job.makeConsoleAction("Display REST Action Result");&lt;br /&gt;
&lt;br /&gt;
// Variable susbtitution is used to access the RESULT flow context variable&lt;br /&gt;
consoleAction.setMessage("The result from the REST service is: ${result}\n");&lt;br /&gt;
&lt;br /&gt;
// Make the REST Action flow into the Console Action&lt;br /&gt;
restAction.addFlow(consoleAction);&lt;br /&gt;
&lt;br /&gt;
// Schedule the job for immediate execution.&lt;br /&gt;
String jobId = engine.put(job);&lt;br /&gt;
&lt;br /&gt;
// Start the engine.&lt;br /&gt;
engine.start();&lt;br /&gt;
&lt;br /&gt;
// Give the engine a chance to run the job, up to 5 seconds.&lt;br /&gt;
engine.join(jobId, "+5s");&lt;br /&gt;
&lt;br /&gt;
// Clean up the resources.&lt;br /&gt;
engine.dispose();&lt;br /&gt;
&lt;br /&gt;
This program invokes the Yahoo Search API and the response is printed to the console.&lt;br /&gt;
&lt;br /&gt;
If you have requirements to integrate a Flux application with a RESTful service, REST Action comes handy in providing this simple integration.</description>
      <category domain="http://blogs.fluxcorp.com/blogs/arul/tags">flux</category>
      <category domain="http://blogs.fluxcorp.com/blogs/arul/tags">8.0</category>
      <category domain="http://blogs.fluxcorp.com/blogs/arul/tags">rest</category>
      <pubDate>Thu, 19 Jun 2008 21:34:36 GMT</pubDate>
      <author>arul</author>
      <guid>http://blogs.fluxcorp.com/blogs/arul/2008/06/19/rest-action-in-flux-80</guid>
      <dc:date>2008-06-19T21:34:36Z</dc:date>
      <clearspace:dateToText>02-Jun-2008 14:02</clearspace:dateToText>
      <wfw:comment>http://blogs.fluxcorp.com/blogs/arul/comment/rest-action-in-flux-80</wfw:comment>
      <wfw:commentRss>http://blogs.fluxcorp.com/blogs/arul/feeds/comments?blogPostID=1072</wfw:commentRss>
    </item>
    <item>
      <title>Flux 8.0 remoting made simpler</title>
      <link>http://blogs.fluxcorp.com/blogs/arul/2008/05/06/flux-80-remoting-made-simpler</link>
      <description>Flux remoting has always been a performance challenge due to the inherent nature of RMI technology. Accessing a flux engine across the firewall requires network ports to be opened and monitored. There are many pain points using RMI as it is generally resource intensive due to network object serialization. Furthermore, the RMI registry can be difficult to administer at times. Scalability and performance of RMI servers across networks has been a concern in a high-performance distributed computing.&lt;br /&gt;
&lt;br /&gt;
We are capitalizing on the Web and its continued success in various forms. Providing HTTP transport for accessing remote engines across firewalls is a compelling solution for us. This approach provides more freedom to developers as well as network admins. &lt;br /&gt;
&lt;br /&gt;
Beginning with the forthcoming Flux 8.0, we have replaced Flux's use of RMI by an HTTP transport. Developers are no longer required to code against remote exceptions. Flux engine methods previously threw flux.EngineException and java.rmi.RemoteException in their method signatures. Now these same methods just throw flux.EngineException. That's one less exception to handle.&lt;br /&gt;
&lt;br /&gt;
By updating Flux remoting from RMI to an HTTP transport, Flux code is easier to write, understand, and maintain. Furthermore, network administration is simplified.</description>
      <category domain="http://blogs.fluxcorp.com/blogs/arul/tags">flux</category>
      <category domain="http://blogs.fluxcorp.com/blogs/arul/tags">8.0</category>
      <pubDate>Tue, 06 May 2008 23:22:02 GMT</pubDate>
      <author>arul</author>
      <guid>http://blogs.fluxcorp.com/blogs/arul/2008/05/06/flux-80-remoting-made-simpler</guid>
      <dc:date>2008-05-06T23:22:02Z</dc:date>
      <clearspace:dateToText>06-May-2008 15:36</clearspace:dateToText>
      <wfw:comment>http://blogs.fluxcorp.com/blogs/arul/comment/flux-80-remoting-made-simpler</wfw:comment>
      <wfw:commentRss>http://blogs.fluxcorp.com/blogs/arul/feeds/comments?blogPostID=1065</wfw:commentRss>
    </item>
  </channel>
</rss>

