Feeds

Categories

Archives

Invoking Web Services from your Flux Workflow

Flux’s RestAction is the go-to construct for users orchestrating Flux workflows that involve web service integration. Be it HTTP-based services or SOAP-based services that implement HTTP binding, RestAction comes very handy for developers. Flux has a WebServiceAction which talks SOAP exclusively for services that implement WS-* such as Addressing, Security etc. RestAction has neat XPath [...]

Lambda expressions in Java 8 adopts C# style syntax

Almost a year later since publishing the original Lambda proposal, JSR 335 EG has finally decided to adopt C# style syntax for Java 8 Lambda expressions. Brian has outlined the formal model for the new C# style syntax in his mail to lambda-dev: lambda = ArgList Arrow Body ArgList = Identifier | “(” Identifier [ [...]

Automate SSH secured file transfers in your Flux workflow

Automated SCP file transfers can be orchestrated in your Flux workflow using SCPAction. This action supports file uploads or downloads using SCP. SCP is basically a remote copy (rcp) through a SSH tunnel. It is easy to setup key-based SSH login for your systems, here is one article describing the steps for Mac. You could [...]

Project Kotlin, a new JVM language to rescue Java developers?

Last week, JetBrains announced their new statically typed language Kotlin at the JVM Language Summit. Kotlin joins the elite group of statically typed languages : Scala, Gosu, Ceylon, Fantom, targeted to run on the JVM. Scala is the most mature in this statically typed landscape. Fantom supports static and dynamic typing, so it may not [...]

Simple Http File Transfer Action in Flux

One of our customer was interested in performing a basic HTTP file transfer function using Flux APIs. I implemented a trivial HTTP file transfer Action in Flux plugins project. Here is a sample test case that shows how this action could be integrated within a Flux workflow. Maven users could just drop this dependency in [...]

Installing JDK 5 alongside with JDK 6 on Mac OS X Snow Leopard 10.6.6

I recently installed Java for Mac OS X 10.6 Update 4 from Mac Software Update. This update basically installs 1.6.0_24 that contains fixes for security vulnerabilities from 1.6.0_22. I hesitated to apply this update for a while as I did not want to invite any trouble to my existing JDK 5 environment that was co-located [...]

Annotation type to reduce varargs warnings available in b123, Java 7 Coin minting done?

The improved varargs warnings, part of the Coin proposal finally made into the latest JDK 7 build. I believe build 123 is special as this milestone marks the completion of all the planned JSR 334 features (the head side of the Coin) scheduled for implementation in Java SE 7. So, Coin minting done? I think [...]

Flux Plugins for Twitter and RabbitMQ, enabling smarter integration for your workflows

Recently I started developing some custom Flux plugins I wanted to share with Flux users. It is always fun to develop custom plugins and use them within a Flux workflow. Our users are more used to the concept of custom actions and triggers. I believe plugin is a more generic and widely used terminology these [...]

Parallel Looping Constructs in Java: Lambda expressions to the rescue?

Last November, Mark Reinhold announced that Closures will be added to the Java language and six months later we had an initial prototype based on the Straw-Man proposal and last month’s update was considered a significant progress for the language in years. As mentioned in Mark’s post, “Working with parallel arrays in Java, unfortunately, requires [...]

Aggregate operations, the Lambda Goodness in Java

One of the primary uses of Lambda expressions is to implement aggregate operations that can often be parallelized using multi-core processors we have today. The computation over bulk data structures is an area where Lambda expressions provide much needed support where part of the computation is caller defined. Doug Lea’s JSR166y Concurrency interest group exactly [...]