The SOA Workshop day

Today was “THE Workshop Day” for WSO2 folks, an event organized by WSO2 with an intention to make an awareness of SOA building blocks. I was (proudly 🙂 ) among the audience as a WSO2 crew member, listening to all the tech talks of my collogues. It was a great session we had today, starting from Paul’s introduction to SOA and until Asanka’s talk about enterprise SOA pattern’s. The whole set of talks took me back in time where I was reading about SOA concepts for my bachelor’s thesis. If I had experienced this workshop then, life would have been much easier :P.

Guys,.. cheers !! for a job well done 🙂


SL vs NZ T20 | My 1st time among international cricket audience

Its like this, I am not a huge cricket fan, the matches make me bored along the game. One guy balls, another guy slowly hits and 8 people try to send him to bench (but should mention, when the batsmen hits hard or when others send him to bench its always fun 😀 ). Being in Sri Lanka one thing you inherit is the cricket fever, from your grand dad to siblings, they all watch (or maybe play) cricket. The Wills world cup (1996), I just rem from here and there, (I was in grade 5 😀 good times) is one nice memory I have, Sri Lanka winning the big cup and we all were staring at the TV with great joy.

Anyways with all that background story, yesterday I happened to be there at R. Premadasa international cricket stadium to watch the Sri Lanka vs New Zealand T20 match. Folks at work made plans to watch the match for weeks and finally 12 turned up. (This time the numbers were low coz there was a rumor that SL lost the SL vs Pakistan match coz they were there that day) however I took a ticket (Dumindu Threatened me to buy :D) and was there few minutes before the game started.

Dilshan on fire :D

New Zealand batted 1st and the game became fun, with all the cheering, shouting and screaming. The foreigners were good they played 141 for 8 wickets and it was the time for the home players. I was amused, I was not bored in fact I enjoyed it so much and was waiting till our innings start.

WSO2 Cricket fans WSO2 Cricket fans

The SL inning started after about half an hour with some drops of rain, but it was all good. The fans were shouting.. “Go SRI LANKA”, “Common SANGA / SANA / DILSHAN” and I was among them too. The 1st half of the innings was great, Dilshan played well with a 50 in 23 balls lifting the SL run rate. My hopes were for Jayasuriya coz he was my hero since 96, but he was out with 1 run and it was disappointing. With Sri Lanka’s 3rd wicket (Sangakara) the batsmen kept falling. and there was no one to carry on Dilshan’s run rate. but until the last over we had the chance to win, it was 9 runs with 7 balls, then 8 with 5 and finally 3 with 1. So we lost. 😦

I saw the faces of people around me, all their happy faces are turned dark, and it was sad indeed. But well for me I was happy, (Not for we lost) I enjoyed the match, the time I spent, even the defeat, we gave a good fight. So yeah it was one great experience for a newbie cricket fan.

Writing custom queries to retrieve data from WSO2 Governance Registry

WSO2 Governance Registry is a big part of wso2 governance product stack. Even though it is primarily aimed at managing, versioning, rating, and commenting on SOA artifacts it can also be used as a simple data store. with the 3.0 version the G-Reg gave support to custom query execution from the client side. This feature helps immensely when you use the registry for non-standard tasks. For me I had to do some pagination work for the comments that belongs to a particular resource, hence my approach was to write few custom quires to get the job done. The code is as follows.

	 * Returns a chunk of comments
	 * @param resPath	Path to the comment
	 * @param start		The beginning index
	 * @param size		Size of the chunk
	 * @return			an array of comments
 public Comment[] getCommentSet(String resPath, int start, int size) {
		Registry registry = null;
		try {
			registry = ; // get an instance of the registry 

			Resource comQuery = registry.newResource();

                        // The Sql Statement
					+ "R.REG_NAME=? AND "
					+ "P.REG_PATH_VALUE=? AND "

			// Set SQL statement as the resource content

                       // Setting the media type and properties
			comQuery.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME, RegistryConstants.COMMENTS_RESULT_TYPE);

			registry.put("system/myQueries/query", comQuery);
                 String resourceName = "testResource";
                 String pathToResource = "/system/myResources"

			Map params = new HashMap();

                        //Setting the parameters
			params.put("1", resourceName);
			params.put("2", pathToResource);
			params.put("3", start);
			params.put("4", size);

                       // Executing the SQL statement
			Collection qResults = registry.executeQuery("system/myQueries/query", params);

			String[] qPaths = (String[]) qResults.getContent();

			Comment[] comments = new Comment[qPaths.length];
                        // Loading the comment data to comment object array 
			for (int i = 0; i < qPaths.length; i++) {
				if (registry.resourceExists(qPaths[i])) {
					comments[i] = (Comment) registry.get(qPaths[i]);

			return comments;

		} catch (Exception e) {
			String errorMsg = "Backend server error - could not get comment set";
			log.error(new MyTestException(errorMsg, e));
			return null;


Yeah simple as that you get your resources set without much effort. A big thank goes to Dimuthu

Best of SOA Summer School

During this entire summer, WSO2 conducted a series of trainings on SOA best practices, How-Tos and trends, titled “SOA Summer School“. With the dawn of the autumn the series of online summer classes came to an end. With the popular demand, a 3 hour session is going to be held tomorrow the 13th August summarizing the 8 weeks of lessons and highlighting their key areas.

for a better insight I have attached tomorrow’s agenda, and it is conducted by Samisa Abeysinghe, Ruwan Linton, Prabath Siriwardena, Keith Chapman and Nandika Jayawardena. The online trainings are totally free and any one who is interested in SOA and EA can gain a good knowledge of its dynamics.

I’m living the dream

Hi folks, Its been awhile, huh almost 5 months since my last post. I was so darn busy with university finals, my thesis and some extra curricular activities ;). So yeah its about time to blog again. In few of my older posts i have written few things about SOA (little things i know), UDDI, Web Services and about the ESB concept. I did my bachelor’s thesis in the area of SOA, ( BACKBONE – A Service Oriented Architecture for Public Infrastructure and Service Governance) proposing a SOA reference architecture for maturing governments. For the past nine months of time I’ve been playing with technologies such as Axis 2, Apache CXF, WSIT/Metro, WSO2 ESB, JSF, Spring, Hibernate etc. etc. (All those J2EE stuff 🙂 )

While I was working on my prototype, composing the services, developing UIs to consume them, connecting the two ends with the WSO2 ESB, resources like IBM library, IEEE explore, ACM library and most importantly WSO2 Oxygen Tank helped me immensely. I was fascinated by the papers and materials offered by WSO2 OT and IBM library for no cost. So Thanks to them I got my thesis done with caliber.

As for any one in their final year of university I my self was looking for a great starting point for my career. I was looking for some deference, not the ordinary software development which exists in many software houses. I was looking for some challenge, where I can explore new things, do research and importantly be part of a great community. For me that starting point was WSO2 (The Open Source SOA Company), and frankly it was a dream come true 🙂

Yeah I am living the dream 🙂

wso2 logo