Skip to main content


Showing posts from 2015

Hybrid Mobile Development

I have always been excited on mobile development although I had only few opportunities to get my hands dirty. I came across this series of blog posts by Rashmika Nawarathne which tell the story of hybrid mobile development from 'why' to 'how'.

I have been the following the blog posts and thought it is certainly worth sharing with others as well.

You can find the introductory blog post of the series  at, 

You can follow the rest of the series from his blog.

GSoC 2015 - In a nutshell

GSoC 2015 - In a nutshell I got the opportunity this summer(well it summer all year in Sri Lanka) to take part in Google Summer of Code. My project was to implement the User Managed Access 1.0 specification for WSO2 Identity Server. Though I wanted to blog about the project as the project went along, I did really make it a reality. They say it's never too late to share some experience.
First of all I need to thank my mentors Johann Nallathamby and Prabath Siriwardena for their absolute support to make this project a reality. Johann in particular has been helpful all the way bearing my late night calls and chats to clarify and provide feedback. The overall experience of participating in GSoC was simply "awesome".

Its my first considerable contribution to an open source project. And the experience gathered during the past three months have been priceless. There were sleepless nights where i could not get things to work missing out on trivial things, other days where i not…

JWT Bearer Grant - OAuth2

Previously I wrote a post on my first step towards understanding OAuth. This post continues builds on that. OAuth has different types of flows targeting various scenarios or use cases. The main feature that differentiates each of these flows is the grant type.

What exactly is an OAuth grant type? An OAuth grant is something that a client application could exchange for an access token from an Authorization Server. An access token typically represents a user's permission for the client application to access the resources on their behalf
OAuth Grant Types The OAuth 2.0 core specification defines four types of grants,
Authorization code grantImplicit grantResource owner credentials grantClient credentials grant In addition to these the core specification also defines a refresh grant type.
There are few new additions to these as well,
Message authentication code (MAC) tokensSAML 2.0 Bearer Assertion ProfilesJSON Web Token grant
I would like to focus on the JSON Web Token Grant in this po…

Integrating Apache UIMA with WSO2 Complex Event Processor

Here's an article about our project to extract Traffic Information from twitter feeds using Apache UIMA, Apache OpenNLP and WSO2 Complex Event Processor.

You can find the source code of the project below,

Twitter Streaming ActiveMQ ClientTwitter Search ActiveMQ ClientTwitter ActiveMQ Client (Search and Stream)Apache UIMA Collection Processing Engine
Read more about how we go there from here.

Writing Cas Consumers to send events to WSO2 CEP

Recently we concluded a project to extract traffic data from tweets of This post would be one post of many posts to connect a few dots of our project. My friend Achintha has connected more than a few dots in his blog. I will post links to relevant parts as i proceed with this post.

Initially let me give a brief introduction to the mischief we caused in this project. Our initial aim was to add support to sending events from Apache UIMA framework into the WSO2 Complex Event Processor. We concluded the project by implementing a real world use case of Extracting traffic details using tweets(from and Apache UIMA framework and sending the extracted details as events to WSO2 Complext event processor.

I know many of these terms are new, so let me start by describing some of these and i have included relevant links so that those of you who are interested can do some further reading.

Apache UIMA(Unstructured Information Management Architecture)           Apache UIMA is a framewor…

Hello World

I have been keen on wanting to blog for a long time, but i guess now is the time to do so. Blogs are a great way to share stuff with people so writing one isn't a bad idea. Blogs have been lifesaver for so many nagging problems I have faced during my entire life, so i guess its time for me to payback.

Just like a baby would cry out when it comes out to the world, a programmer would essentially write out a line "Hello World!!!" to start off coding in any language( Well at least i do that still :P and I think I am a programmer too :P). Writing about tech stuff hasn't been my forte either but nevertheless I love writing.

So let me start off with a big

"Hello World !!!"