Tuesday, June 18, 2013

Native AMQP transport for Synapse is on the way

AMQP is on its way to become a popular, well-established messaging protocol. I had some time to put up a native AMQP transport for Apache Synapse and following features are ready as of now.

  • Producer/Consumer 
  • Publish/Subscribe(fanout exchange)
  • Worker queue(fair dispatching in a round robin manner)
  • Routing(direct exchange)
  • Publish/Subscribe to a topic(topic exchange)
The transport is based on the excellent RabbitMQ AMQP Java client library. The source code is here. In order to compile and build the binary just type 'mvn clean install'(you will need an installation of Apache Maven on your path). The READM.txt has sample configurations which explain how to use those features. Other features such as two way communication, transaction support, durability and QoS aspects are yet to implement. Stability of the code to avoid resource(such as file descriptors, memory etc..) leaking is yet to test under heavy load. 

Friday, January 4, 2013

Installing skype 4 on Fedora 17

Skype can be installed with a single command with all dependency in Fedora 17. Download skype 4.0(skype-4.1.0.20-fedora.i586.rpm) and use the traditional package manager to install it with all the dependencies.

yum install skype-4.1.0.20-fedora.i586.rpm

Wednesday, November 7, 2012

WSO2 Cloud Gateway(CG) 1.0.0 is avilable

WSO2 CG 1.0.0  is available for download. The release announcement is here, the original release notice is here. If you have feedbacks, questions post them here(you need to subscribe) or report them here.



Thursday, October 4, 2012

C++ CGAgent implementation

As you may know WSO2 Cloud Gateway(CG) and it's CGAgent pair is based on Java. Recently I had the pleasure of writing a CGAgent in C++ for one of the users of WSO2 CG. As described previously CG uses Apache Thrift for underline high performance reverse transport implementation. As part of this new C++ CGAgent I had to generate the C++ stubs for the Java Thrift server using the same IDL. CGAgent just log into the Java Thrift server via SSL and retrieves any request messages together with any transport header and hand over to the component which invokes the actual business logic. Once the response is available the C++ CGAgent will send it over to the Thrift server in CG server via the same SSL channel. 

This also demonstrate how to write Thrift based a Java SSL server and C++ SSL client and get them communicate over a SSL channel. I am planning to write a separate guide since it seems there is not much documentation around this.

Thursday, August 23, 2012

WSO2 Cloud Gateway(CG) 1.0.0 RC1 is avilable

WSO2 CG 1.0.0 rc1 is available for download. The release announcement is here, the original release notice is here. If you have feedbacks, questions post them here(you need to subscribe) or report them here.

The product was earlier known as WSO2 Cloud Services Gateway and it was renamed to WSO2 Cloud Gateway in order to expose the product's capabilities more clearly.

It is encouraged users to deploy WSO2 ESB to deploy pass through proxies for their private services and publish those proxy services into the WSO2 Cloud Gateway. In order to encourage this best practise WSO2 Cloud Gateway Agent is now shipped by default with WSO2 ESB.

Tuesday, July 17, 2012

LQPL 0.9.0 is avilable

We have just completed release 0.9.0 of LQPL, the linear quantum programming language. You may download it at 
This release was focussed on improving the maintainability and structure of LQPL - including replacing the old Haskell GTK based front end with a new swing based front end.
The main changes in the release include:
  • Inclusion of binary downloads for Linux (Ubuntu/Debian type) and Mac systems.
  • Modularization of the Compiler / Emulator / Front End.
  • Removal of dependency on Alex and Happy for the Compiler(now moved to Parsec). The assembler in the emulator still requires Alex and Happy.
  • Removal of dependency on Gtk2Hs for the front end - we have moved to a JRuby/Java/Swing based interface.
  • Addition of a dependency upon hspec for tests in the Haskell portions of the code.
  • Setup of a new build system, Rake - which builds the front end and controls the Haskell CABAL build system.
  • Migration to BitBucket, a publicly available source code hosting site, together with an issue tracker and wiki.

Wednesday, June 20, 2012

WSO2 Cloud Services Gateway(CSG) 1.0.0-beta is avilable

CSG 1.0.0-beta is available for download. The release announcement is here, the original release notice is here. If you have feedbacks, questions post them here(you need to subscribe) or report them here.