<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2427235520011315739</id><updated>2012-03-18T00:43:27.854+05:30</updated><category term='improve'/><category term='Stratos'/><category term='Notation'/><category term='installation'/><category term='project proposal'/><category term='data mining'/><category term='branch'/><category term='registry'/><category term='production'/><category term='Ganymede'/><category term='Photo'/><category term='SVG'/><category term='open source'/><category term='service'/><category term='Graphical'/><category term='Oryx'/><category term='summer'/><category term='fundamentals'/><category term='travel'/><category term='webcast'/><category term='Sinhala'/><category term='resources'/><category term='Sri Lanka'/><category term='software engineering'/><category term='CSE'/><category term='video'/><category term='Apache'/><category term='Machan'/><category term='generator'/><category term='patch'/><category term='Denis'/><category term='facebook'/><category term='business'/><category term='3 idiots'/><category term='workshop'/><category term='pasolini'/><category term='java'/><category term='security'/><category term='FOSS'/><category term='#wso2'/><category term='Photography'/><category term='New year'/><category term='algorithm'/><category term='BPEL'/><category term='prasanna'/><category term='movie'/><category term='editor'/><category term='social networks'/><category term='paris'/><category term='Firefox'/><category term='Ubuntu8.10'/><category term='Bugs'/><category term='build'/><category term='XPath'/><category term='Eclipse'/><category term='final'/><category term='fun'/><category term='ubuntu'/><category term='release'/><category term='project'/><category term='eventing'/><category term='trunk'/><category term='Mooshabaya'/><category term='LSF'/><category term='dom'/><category term='buildr'/><category term='ODE'/><category term='OSGi Logo'/><category term='hikes'/><category term='Designer'/><category term='ESB'/><category term='add'/><category term='UOM'/><category term='critics'/><category term='Configure'/><category term='from source'/><category term='SOA'/><category term='5 point someone'/><category term='mashups'/><category term='WSO2'/><category term='string'/><category term='GSOC'/><category term='WS-BPEL'/><category term='vithanage'/><category term='for'/><category term='academics'/><category term='Chrome'/><category term='4.2'/><category term='BPS'/><category term='code'/><category term='srilanka'/><category term='ICT'/><category term='axis2'/><category term='Cloud'/><category term='Mobile'/><category term='programatically'/><category term='element'/><category term='OSGi'/><category term='research'/><category term='login'/><category term='process'/><category term='convert'/><category term='deployment'/><category term='performances'/><category term='simple'/><category term='monitoring'/><category term='revert'/><category term='screen-cast'/><category term='Google'/><category term='create'/><category term='uberto'/><category term='life'/><category term='experiences'/><category term='association rule'/><category term='source'/><category term='Anuradhapura'/><category term='Carbon'/><category term='jobs'/><category term='Tamil'/><category term='1.x'/><category term='twitter'/><category term='runtime'/><category term='මූෂාභය'/><category term='article'/><category term='film'/><category term='oxygentank'/><category term='university'/><title type='text'>Denis's Blog</title><subtitle type='html'>Things may be useful and interesting</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>92</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5273194730672435423</id><published>2012-03-18T00:32:00.001+05:30</published><updated>2012-03-18T00:43:27.866+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>BPEL activity failure and recovery</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In Business/Scientific work-flows, activities like invoking a partner service end-point could failed due to several reasons like network inconsistencies(non-deterministic), erroneous configurations(deterministic) etc. So the work-flow administrator should be able to retry and cancel those activities.&lt;br /&gt;The administrator can retry activity any number of times, so the business logic related to the particular activity gets repeated until the particular process instance leads to “completed” or “fault” state.&lt;br /&gt;Or the administrator can cancel the failed activity, so the particular process instance leads directly to “fault” state.&lt;br /&gt;&lt;br /&gt;BPEL activity recovery is an in-build feature comes with WSO2 BPS and at the moment the implementation supports for failed &amp;lt;invoke/&amp;gt; activities. So a process administrator can monitor activity states via the BPEL visualization and retry or cancel them based on their preference.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IucmeErDEZc/T2TfaVcrNDI/AAAAAAAAAS0/24XQFH_Df20/s1600/Screenshot-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-IucmeErDEZc/T2TfaVcrNDI/AAAAAAAAAS0/24XQFH_Df20/s320/Screenshot-1.png" width="235" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;An screenshot of a failed &amp;lt;invoke/&amp;gt; activity named “InvokeCreditRating” and its recovery options...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5273194730672435423?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5273194730672435423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5273194730672435423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5273194730672435423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5273194730672435423'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/bpel-activity-failure-and-recovery.html' title='BPEL activity failure and recovery'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-IucmeErDEZc/T2TfaVcrNDI/AAAAAAAAAS0/24XQFH_Df20/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7845856304615945570</id><published>2012-03-15T02:10:00.000+05:30</published><updated>2012-03-15T02:20:53.790+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>BPEL Deployment Descriptor Editor</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In previous releases, a &lt;a href="http://wso2.org/library/tutorials/2011/04/using-carbon-studio-model-wsbpel-process-using-bpel-editor#step9" target="_blank"&gt;BPEL Deployment Descriptor Editor&lt;/a&gt; was available only for BPEL developers via BPEL editor of WSO2 Carbon Studio. So BPEL process administrators had to change the &lt;a href="http://wso2.org/library/articles/writing-simple-ws-bpel-process-wso2-bps-apache-ode#test-and-deploy" target="_blank"&gt;deployment descriptor configuration file (deploy.xml)&lt;/a&gt; by hand and re-deploy back to the system.&lt;br /&gt;&lt;br /&gt;The next major release of WSO2 BPS will be out with BPEL Deployment Descriptor Editor Support via WSO2 BPS administration console. So BPEL process administrators can configure process/instance/scope event generation, instance cleanup etc. at run-time. Also it represents the other configuration details like MEX interceptors, process properties, provided services, partner service etc. which make the BPEL process administrator’s life much easier.&lt;br /&gt;&lt;br /&gt;BPEL deployment descriptor editor for WSO2 BPS administration console is a &lt;a href="https://svn.wso2.org/repos/wso2/carbon/platform/trunk/components/business-processes/bpel/org.wso2.carbon.bpel.ui/src/main/resources/web/bpel/deployment_descriptor_editor.jsp" target="_blank"&gt;contribution&lt;/a&gt; from &lt;a href="http://www.linkedin.com/pub/ishara-premadasa/1a/630/609" target="_blank"&gt;Ishara Premadasa&lt;/a&gt; from University of Moratuwa.&lt;br /&gt;&lt;br /&gt;A screen shot of the&amp;nbsp;BPEL Deployment Descriptor Editor.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-29W6SoQIhIM/T2EBkMOE50I/AAAAAAAAASs/dEVp-x8LDcg/s1600/Deployment-Descriptor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="303" src="http://1.bp.blogspot.com/-29W6SoQIhIM/T2EBkMOE50I/AAAAAAAAASs/dEVp-x8LDcg/s320/Deployment-Descriptor.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7845856304615945570?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7845856304615945570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7845856304615945570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7845856304615945570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7845856304615945570'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/bpel-deployment-descriptor-editor.html' title='BPEL Deployment Descriptor Editor'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-29W6SoQIhIM/T2EBkMOE50I/AAAAAAAAASs/dEVp-x8LDcg/s72-c/Deployment-Descriptor.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3262676154592788096</id><published>2012-03-06T17:16:00.001+05:30</published><updated>2012-03-07T11:20:28.321+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>BPEL visualization - WSO2 BPS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Initial version of BPEL visualization feature was added to WSO2 BPS as a result of &lt;a href="http://ddweerasiri.blogspot.com/2009/06/graphical-representation-generation-for.html" target="_blank"&gt;my first internship project&lt;/a&gt; at WSO2. It had some functional requirements like,&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;BPEL process instance details visualization&lt;/li&gt;&lt;li&gt;BPEL process visualization with different abstractions etc.&lt;/li&gt;&lt;li&gt;BPEL activity filtering&lt;/li&gt;&lt;/ol&gt;With the next release of WSO2 BPS, its new BPEL visualization feature is going to be a completely new design to meet the requirements as mentioned above. This work was a result of research related to Process views carried out by &lt;a href="http://www.linkedin.com/pub/david-schumm/29/ab8/834" target="_blank"&gt;Dr. David Schumm&lt;/a&gt; and his research group from University of Stuttgart.&lt;br /&gt;The presentation on this work by Dr. David Schumm at WSO2Con-2011 can be found from &lt;a href="ftp://ftp.informatik.uni-stuttgart.de/pub/library/misc.ustuttgart_fi/INMISC-2011-04/INMISC-2011-04.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some of the screen shots of the unfinished work...&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YA8XANP_SYY/T1X4tAS2KtI/AAAAAAAAASM/YvA_wyaYrgc/s1600/process-page.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-YA8XANP_SYY/T1X4tAS2KtI/AAAAAAAAASM/YvA_wyaYrgc/s320/process-page.png" width="242" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Process Management View&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-j_8mWfmJCSA/T1X4vXw_ePI/AAAAAAAAASU/ptgQlVBB4ns/s1600/instance-page.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-j_8mWfmJCSA/T1X4vXw_ePI/AAAAAAAAASU/ptgQlVBB4ns/s320/instance-page.png" width="258" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Instance Management View&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wos5hch9Ncc/T1b0ULevvXI/AAAAAAAAASk/07QmOprMVBI/s1600/sample-process.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-wos5hch9Ncc/T1b0ULevvXI/AAAAAAAAASk/07QmOprMVBI/s320/sample-process.png" width="176" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Process Management View for a Complex Workflow&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CXOKVX-GIm0/T1bz_nwAzxI/AAAAAAAAASc/XIfzLJhf8cI/s1600/sample-instance.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-CXOKVX-GIm0/T1bz_nwAzxI/AAAAAAAAASc/XIfzLJhf8cI/s320/sample-instance.png" width="176" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Instance Management View for a Complex Workflow&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3262676154592788096?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3262676154592788096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3262676154592788096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3262676154592788096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3262676154592788096'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/bpel-visualization-wso2-bps.html' title='BPEL visualization - WSO2 BPS'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YA8XANP_SYY/T1X4tAS2KtI/AAAAAAAAASM/YvA_wyaYrgc/s72-c/process-page.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2903951537975024798</id><published>2012-03-05T19:10:00.001+05:30</published><updated>2012-03-05T19:27:15.677+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB'/><title type='text'>How install the BPEL features via Feature Manager</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"&gt;This blog post explains how to install BPEL specific features to WSO2 ESB.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;&lt;b style="font-size: 15px; white-space: pre-wrap;"&gt;Tested Environment&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;WSO2 ESB 4.0.2 (Based on WSO2 Carbon 3.2.2 release)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"&gt;Introduction&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;If you consider WSO2 products like WSO2 BPS, WSO2 ESB, WSO2 AS etc. all those products can be considered as a collection of solution specific features included on top of WSO2 Carbon platform. As an example, WSO2 BPS is a collection of features which facilitate BPEL process/instance management, BPEL process runtime management etc. included on top of some other features provided by WSO2 Carbon platform. So theoretically you can convert a WSO2 Carbon distribution to WSO2 BPS by including those BPEL specific features.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;b style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"&gt;How to determine the correct BPEL version compliant with the target server&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;We can do this easily via the feature manager provided by WSO2 Carbon platform. Here, the tricky part is user have to specify the correct version of BPEL feature to be installed on target server. This is solely depend on the version of the WSO2 Carbon platform in which the target server was released. Let me elaborate this with an example. eg - To install BPEL features to WSO2 ESB 4.0.2, first find the related WSO2 Carbon platform version. This can be determined by the version of $ESB-HOME/repository/components/plugins/org.wso2.carbon.core-x.x.x.jar. So if WSO2 ESB 4.0.2 is the target server, then the version of org.wso2.carbon.core jar would be 3.2.2. So the relevant BPEL feature version is 3.2.2.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;b style="font-family: Arial; font-size: 15px; white-space: pre-wrap;"&gt;Step by step guide to install a feature via feature manager&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;Once we figure out the right BPEL feature version we can add it via the Feature Manager. Please refer the following &lt;a href="http://docs.wso2.com/display/ESB402/Installing+Features" target="_blank"&gt;documentation on how to install a feature via feature manager&lt;/a&gt;.Once all the BPEL 3.2.2 features are installed in WSO2 ESB 4.0.2 and once the server restarted, there’ll be a separate menu item is appeared for BPEL features as follows.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://2.bp.blogspot.com/-9l8OCHMgUhw/T1TCJUfJjCI/AAAAAAAAASE/EgntURTOMoc/s1600/ESB-with-BPEL-features.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="319" src="http://2.bp.blogspot.com/-9l8OCHMgUhw/T1TCJUfJjCI/AAAAAAAAASE/EgntURTOMoc/s320/ESB-with-BPEL-features.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial;"&gt;&lt;div&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2903951537975024798?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2903951537975024798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2903951537975024798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2903951537975024798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2903951537975024798'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/how-install-bpel-features-via-feature.html' title='How install the BPEL features via Feature Manager'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9l8OCHMgUhw/T1TCJUfJjCI/AAAAAAAAASE/EgntURTOMoc/s72-c/ESB-with-BPEL-features.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-966301899803461710</id><published>2012-03-05T15:47:00.001+05:30</published><updated>2012-03-05T15:53:20.412+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>How to invoke a secured webservice through BPEL</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Engaging Quality of Service(QoS) for a partner web service endpoint in WSO2 BPS is facilitated by Unified Endpoint(UEP) feature. Not only QoS, but also, protocol specific properties like setting “ReplyTo” header for the outgoing message can be configured via UEPs. To get some more idea on UEPs please refer &lt;a href="http://ddweerasiri.blogspot.com/2012/03/unified-endpoints-for-bpel-processes.html" target="_blank"&gt;this post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This post describes how to invoke a secured web service through a BPEL process using an UEP.&lt;br /&gt;&lt;br /&gt;Tested Environment&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;WSO2 BPS 2.1.2 (based on WSO2 Carbon 3.2.0) release and WSO2 BPS release based on WSO2 Carbon 4.0.0&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;A sample of referring the security policy in the Unified-Endpoints can be found via this &lt;a href="https://svn.wso2.org/repos/wso2/trunk/graphite/products/bps/modules/samples/product/src/main/resources/bpel/2.0/LoanProcess/CreditRatingService.epr" target="_blank"&gt;Unified Endpoint&lt;/a&gt; &amp;nbsp;in this sample BPEL &lt;a href="https://svn.wso2.org/repos/wso2/trunk/graphite/products/bps/modules/samples/product/src/main/resources/bpel/2.0/LoanProcess/" target="_blank"&gt;Loan Process&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;This policy can be maintained outside from the BPEL artifact as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;eg - Referring to a policy maintained in the file system - Use the absolute path for the policy in UEP.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977743.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;eg -&amp;nbsp;Referring to a policy maintained in the configuration registry - Use the registry specific path for the policy in Unified Endpoint.&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977748.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;Maintaining an policy outside from the BPEL artifact becomes very useful when governing policies which are used by multiple BPEL processes in multiple WSO2 BPS instances.&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-966301899803461710?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/966301899803461710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=966301899803461710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/966301899803461710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/966301899803461710'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/how-to-invoke-secured-webservice.html' title='How to invoke a secured webservice through BPEL'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5665049767827134409</id><published>2012-03-05T12:56:00.000+05:30</published><updated>2012-03-05T16:55:26.951+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Unified endpoints for BPEL Processes</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: inherit;"&gt;WSO2 Carbon platform supports unified-endpoints(UEPs) to configure partner endpoints which are used in the BPEL processes. In more general terms, UEPs facilitate for a generalized way of configuring endpoints taking quality of service in to the picture. So a particular UEP configuration can be used across the carbon platform to configure security in a partner endpoint in BPEL process and to configure WS-Addressing in a WSO2 ESB endpoint.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit;"&gt;This post provides a guide on how to properly configure a partner endpoint in a BPEL process.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Tested Environment :&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;WSO2 Carbon 4.0.0 based releases&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Please take a look at &lt;a href="https://svn.wso2.org/repos/wso2/trunk/graphite/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleAsynchronousProcess/Async-Server.zip" target="_blank"&gt;Async-Server sample&lt;/a&gt; which is a sample BPEL process which uses an UEP to configure the target endpoint of a partner service.&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977108.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;If you are interested in other supported constructs by UEPs, please refer this &lt;a href="https://svn.wso2.org/repos/wso2/trunk/graphite/components/unified-endpoint/org.wso2.carbon.unifiedendpoint.core/src/main/resources/schema/uep_schema.xsd" target="_blank"&gt;xml schema&lt;/a&gt; which provides the current supported&amp;nbsp;functionality&amp;nbsp;like setting “&lt;a href="http://www.w3.org/Submission/ws-addressing/#_Toc77464314" target="_blank"&gt;ReplyTo&lt;/a&gt;” header.&lt;br /&gt;&lt;br /&gt;So where is this UEP configuration actually engaged to a partner endpoint?. This is configured at the deploy.xml which declares the particular partner service as follows. Please refer the same sample mentioned above.&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977139.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;If you look at the mentioned sample above, UEP configuration is located inside with the BPEL artifact.&lt;br /&gt;But on the other hand, an UEP can be maintained outside from the BPEL artifact. So it can be located in the file system or registry. Maintaining an UEP outside from the BPEL artifact becomes very useful when governing endpoints which are used by multiple BPEL processes in multiple WSO2 BPS instances.&lt;br /&gt;&lt;br /&gt;eg - If the UEP to be maintained in the file sytem - Use the absolute path for the UEP in deploy.xml&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977170.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;eg - If the UEP to be maintained in the registry - Use the registry specific path for the UEP in deploy.xml&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1977180.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;Please refer &lt;a href="https://svn.wso2.org/repos/wso2/trunk/graphite/products/bps/modules/samples/product/src/main/resources/bpel/2.0/LoanProcess/CreditRatingService.epr" target="_blank"&gt;this UEP&lt;/a&gt; on configuring security for a partner service via a UEP. More information on this can be found from &lt;a href="http://ddweerasiri.blogspot.com/2012/03/how-to-invoke-secured-webservice.html" target="_blank"&gt;this post&lt;/a&gt; as well.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5665049767827134409?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5665049767827134409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5665049767827134409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5665049767827134409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5665049767827134409'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/03/unified-endpoints-for-bpel-processes.html' title='Unified endpoints for BPEL Processes'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-404060316156890027</id><published>2012-01-30T07:28:00.001+05:30</published><updated>2012-01-31T09:56:27.567+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><title type='text'>Diving into the blue - Sri Lanka</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was diving in a 10-12 meters depth of down the ocean floor where roughly 1km away from &lt;a href="http://en.wikipedia.org/wiki/Hikkaduwa" target="_blank"&gt;Hikkaduwa&lt;/a&gt; coast line. My ultimate target was to capture some cool pics of coral reefs and fish. So I stopped for a while and took some and moved on. After a few seconds I got a bad leg cramp and I looked around for my buddy for the help. At that moment I just realized my buddy has already swam out of my visible range. It was also dangerous to swim to surface suddenly due to huge pressure difference. I waited for a while and little by little reached to the surface. I met my buddy there and he helped me to recover back.&lt;br /&gt;That’s my most recent experience and a foolish mistake I made while diving.&lt;br /&gt;Sometimes unexpected could happen anytime. On the same dive some thing that happened to me twice was, the camera in my hand was tangled with the air regulator without knowing and the regulator popped out from the mouth when I swung the hand :).&lt;br /&gt;And here are some uncut clips from the dive.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="302" src="http://www.youtube.com/embed/EvZmgqIDmBs" width="535"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="302" src="http://www.youtube.com/embed/Qt3Mgmj8beI" width="535"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="302" src="http://www.youtube.com/embed/DKXgU3J7odw" width="535"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;Anyway there’s a whole new world under the ocean. But it’s something hard to predict from outside and feel it. You have to go underwater and see what’s out there.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RQ543CYrqvg/TyX_weIOTlI/AAAAAAAAAR8/x60LlGRhkFs/s1600/Getting-Ready.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-RQ543CYrqvg/TyX_weIOTlI/AAAAAAAAAR8/x60LlGRhkFs/s400/Getting-Ready.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Getting things ready&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-404060316156890027?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/404060316156890027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=404060316156890027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/404060316156890027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/404060316156890027'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/01/diving-into-blue-sri-lanka.html' title='Diving into the blue - Sri Lanka'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/EvZmgqIDmBs/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-167745838727165286</id><published>2012-01-30T07:17:00.001+05:30</published><updated>2012-01-30T11:21:03.343+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='data mining'/><title type='text'>Horizontal Format Data Mining with Extended Bitmaps - Extended version</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;We (Buddhika De Alwis, Supun Malinga, Kathiravelu Pradeeban and I) published the extended version of our research paper titled “Horizontal Format Data Mining with Extended Bitmaps” at &lt;a href="http://www.mirlabs.org/ijcisim/" target="_blank"&gt;International Journal of Computer Information Systems and Industrial Management Applications&lt;/a&gt;.&lt;br /&gt;You can find it from &lt;a href="http://www.mirlabs.org/ijcisim/regular_papers_2012/Paper56.pdf"&gt;http://www.mirlabs.org/ijcisim/regular_papers_2012/Paper56.pdf&lt;/a&gt;&amp;nbsp;.&lt;br /&gt;&lt;br /&gt;Initial publication can be found from &lt;a href="http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5686156" target="_blank"&gt;here&lt;/a&gt; and the presentation from &lt;a href="http://www.slideshare.net/ddweerasiri/horizontal-format-data-mining-with-extended-bitmaps" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Related Posts :&amp;nbsp;&lt;a href="http://ddweerasiri.blogspot.com/2010/12/horizontal-format-data-mining-with_31.html" target="_blank"&gt;Horizontal Format Data Mining with Extended Bitmaps&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-167745838727165286?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/167745838727165286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=167745838727165286' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/167745838727165286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/167745838727165286'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/01/horizontal-format-data-mining-with.html' title='Horizontal Format Data Mining with Extended Bitmaps - Extended version'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3476389344674761082</id><published>2012-01-08T02:14:00.001+05:30</published><updated>2012-01-12T19:07:20.252+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='New year'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>2012 has arrived</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;2012 has arrived. It’s quite late but a belated Happy new year everybody!. My 2012 started with my friends and some &lt;a href="http://en.wikipedia.org/wiki/Kiribath" target="_blank"&gt;Kiribath&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cENOW31eQI0/TwitYuKTEgI/AAAAAAAAAR0/u5QsmeUr65M/s1600/DSC_0214.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-cENOW31eQI0/TwitYuKTEgI/AAAAAAAAAR0/u5QsmeUr65M/s400/DSC_0214.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Starting 2012 at WSO2 was also a decent gathering of all folks at WSO2 LK office. It’s more than one year since I joined WSO2 and I always freshen up by learning something new everyday.&lt;br /&gt;&lt;br /&gt;Aha, One small good thing on the side about WSO2 is, it’s within walking distance to &lt;a href="http://lionelwendt.org/" target="_blank"&gt;Lionel Wendt art theatre&lt;/a&gt;. No, not kidding. During last three days, I watched three plays by Jayalath Manorathne at Lionel Wendt. It helps me to see things that I don’t see or to remember things that I forgot.&lt;br /&gt;&lt;br /&gt;Related post - &lt;a href="http://ddweerasiri.blogspot.com/2010/02/happy-new-year-sri-lanka.html" target="_blank"&gt;Happy new year Sri Lanka-2010! &lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3476389344674761082?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3476389344674761082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3476389344674761082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3476389344674761082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3476389344674761082'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2012/01/2012-has-arrived.html' title='2012 has arrived'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-cENOW31eQI0/TwitYuKTEgI/AAAAAAAAAR0/u5QsmeUr65M/s72-c/DSC_0214.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1558990871248901246</id><published>2011-12-29T18:31:00.000+05:30</published><updated>2011-12-29T18:36:03.231+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><title type='text'>Enabling logging for various components in WSO2 BPS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This blog post explains how to log the messages come into and sent out from WSO2 BPS server.&lt;br /&gt;This feature is extensively used in BPEL development to figure out the problems in the message sequences and in latency analysis during BPEL process invocations.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Tested Environment&lt;/u&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href="http://wso2.org/downloads/bps" target="_blank"&gt;wso2bps-2.1.2&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;u&gt;Instructions&lt;/u&gt;&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Add the following entries to the &lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;i style="background-color: #cfe2f3;"&gt;$CARBON-HOME/lib/log4j.properties&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span class="Apple-style-span" style="background-color: #cfe2f3;"&gt;log4j.logger.org.apache.ode.bpel.messagetrace=TRACE&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-style-span" style="background-color: #cfe2f3;"&gt;log4j.logger.org.wso2.carbon.bpel.messagetrace=TRACE&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Then the preferred log4j appender should be configured such that it has a threshold of &lt;i style="background-color: #cfe2f3;"&gt;TRACE&lt;/i&gt; level. If &lt;i style="background-color: #cfe2f3;"&gt;CARBON_LOGFILE&lt;/i&gt; is the log4j appender, it should be changed as follows. By default this is set to &lt;i style="background-color: #cfe2f3;"&gt;DEBUG&lt;/i&gt;.&lt;br /&gt;&amp;nbsp; &amp;nbsp; eg - &lt;i style="background-color: #cfe2f3;"&gt;log4j.appender.CARBON_LOGFILE.threshold=TRACE&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Then re-start the WSO2 BPS server.&lt;/li&gt;&lt;li&gt;The log files can be found as &lt;i&gt;&lt;span class="Apple-style-span" style="background-color: #cfe2f3;"&gt;$CARBON-HOME/repository/logs/wso2carbon.log&lt;/span&gt;&amp;nbsp;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;Note - You can configure this via Management console as well.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1558990871248901246?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1558990871248901246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1558990871248901246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1558990871248901246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1558990871248901246'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/12/enabling-logging-for-various-components.html' title='Enabling logging for various components in WSO2 BPS'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3097588105232536116</id><published>2011-12-18T13:35:00.000+05:30</published><updated>2011-12-18T13:35:48.330+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>Customizing the email subject for RegistryEvents in WSO2 Carbon</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.021830357378348708" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Recently I used org.wso2.carbon.registry.common.eventing.RegistryEvent in WSO2 G-Reg 4.1.0 (based on Carbon 3.2.2) to generate custom email notifications based on different events. Though it was possible to customize the email body, it was not possible to customize the email subject due to a missing feature. In the upcoming Carbon releases this feature will be available and you can set the subject as a parameter with the key "MailConstants.MAIL_HEADER_SUBJECT" for the event as follows.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1492680.js?file=regEmailEventSample.java"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3097588105232536116?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3097588105232536116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3097588105232536116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3097588105232536116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3097588105232536116'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/12/customizing-email-subject-for.html' title='Customizing the email subject for RegistryEvents in WSO2 Carbon'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8069689374989817793</id><published>2011-12-18T11:45:00.000+05:30</published><updated>2011-12-18T13:11:15.069+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><title type='text'>Versailles</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Last-night I watched this comedy, &lt;a href="http://www.imdb.com/title/tt1605783/"&gt;"Midnight in Paris"&lt;/a&gt; and there were some nice scenes which were shot around Versailles where I went with few of my friends. Here are some of the pics from my visit. &lt;br /&gt;Once Versailles was the capital of France over a century and still it's renowned for the Palace of Versailles.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YZbhgYsn6bo/Tu14ek_d7KI/AAAAAAAAAQM/uf9EteAThlI/s1600/DSC01451.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-YZbhgYsn6bo/Tu14ek_d7KI/AAAAAAAAAQM/uf9EteAThlI/s400/DSC01451.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PmhhDE5jUNM/Tu15HNqAgoI/AAAAAAAAAQU/nTBAMJQa2lo/s1600/DSC01454.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-PmhhDE5jUNM/Tu15HNqAgoI/AAAAAAAAAQU/nTBAMJQa2lo/s400/DSC01454.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;On the way to the Palace...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IGGxr2Zq9BA/Tu15v2j9jHI/AAAAAAAAAQc/yjHaXeoz20A/s1600/DSC01455.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-IGGxr2Zq9BA/Tu15v2j9jHI/AAAAAAAAAQc/yjHaXeoz20A/s400/DSC01455.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-I4GweKknnIg/Tu1_WwCylxI/AAAAAAAAARk/QqJKVjbczFE/s1600/DSC01452.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-I4GweKknnIg/Tu1_WwCylxI/AAAAAAAAARk/QqJKVjbczFE/s400/DSC01452.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-In3bHLcrEjE/Tu17CH5z59I/AAAAAAAAAQs/b0KdCB8f9pY/s1600/DSC01459.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-In3bHLcrEjE/Tu17CH5z59I/AAAAAAAAAQs/b0KdCB8f9pY/s400/DSC01459.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BZcl4GiJu38/Tu17k3IJehI/AAAAAAAAAQ0/4T_B2BfzIHw/s1600/DSC01465.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-BZcl4GiJu38/Tu17k3IJehI/AAAAAAAAAQ0/4T_B2BfzIHw/s400/DSC01465.JPG" width="300" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Statue of Louis XIV&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LHofAuCH2l8/Tu1_yt_cLVI/AAAAAAAAARs/z-se0P93qfQ/s1600/DSC01471.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="101" src="http://3.bp.blogspot.com/-LHofAuCH2l8/Tu1_yt_cLVI/AAAAAAAAARs/z-se0P93qfQ/s400/DSC01471.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Immature panorama :)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-f3tqnDgIDlw/Tu182qK6sXI/AAAAAAAAARE/WEhUv6akSPs/s1600/DSC01473.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-f3tqnDgIDlw/Tu182qK6sXI/AAAAAAAAARE/WEhUv6akSPs/s400/DSC01473.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uYtrlM8yANU/Tu19iJXukWI/AAAAAAAAARM/ZXCJPIdpTh4/s1600/DSC01474.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-uYtrlM8yANU/Tu19iJXukWI/AAAAAAAAARM/ZXCJPIdpTh4/s400/DSC01474.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-AqgmFPrBABw/Tu1-MVoKtRI/AAAAAAAAARU/dxVuGAhY1S0/s1600/DSC01475.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-AqgmFPrBABw/Tu1-MVoKtRI/AAAAAAAAARU/dxVuGAhY1S0/s400/DSC01475.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uLAyI_WAUH0/Tu1-0no4vKI/AAAAAAAAARc/-tiGxDBnF6I/s1600/DSC01479.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-uLAyI_WAUH0/Tu1-0no4vKI/AAAAAAAAARc/-tiGxDBnF6I/s400/DSC01479.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Interior court, Palace of Versailles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8069689374989817793?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8069689374989817793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8069689374989817793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8069689374989817793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8069689374989817793'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/12/versailles.html' title='Versailles'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YZbhgYsn6bo/Tu14ek_d7KI/AAAAAAAAAQM/uf9EteAThlI/s72-c/DSC01451.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5133478395179277783</id><published>2011-12-17T14:31:00.000+05:30</published><updated>2011-12-17T14:31:11.848+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>Engineering to take over the world</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.19907037098892033" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The most interesting presentation from &lt;a href="http://wso2.com/events/wso2con-2011-colombo/"&gt;WSO2Con 2011&lt;/a&gt; :). This presentation done by &lt;a href="http://samisa-abeysinghe.blogspot.com/"&gt;Samisa&lt;/a&gt;, &lt;/span&gt;&lt;span id="internal-source-marker_0.19907037098892033" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;is about how WSO2’s approach to engineering and its secret ingredients to the company’s success. You can hear some inspirational thoughts here and there like “We don’t call people, resources. People are people”. Hope you’ll find it interesting as well. &lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="299" src="http://www.youtube.com/embed/M8qZad7bm0o" width="530"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5133478395179277783?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5133478395179277783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5133478395179277783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5133478395179277783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5133478395179277783'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/12/engineering-to-take-over-world.html' title='Engineering to take over the world'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/M8qZad7bm0o/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7324604409232388850</id><published>2011-12-02T23:13:00.001+05:30</published><updated>2011-12-03T00:36:59.958+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>The Last Supper - Santa Maria delle Grazie</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PvCgYiJIJT4/TtkSnuagzbI/AAAAAAAAAPk/oPOpfs68XMA/s1600/santa_maria_delle_grazie.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="174" src="http://2.bp.blogspot.com/-PvCgYiJIJT4/TtkSnuagzbI/AAAAAAAAAPk/oPOpfs68XMA/s320/santa_maria_delle_grazie.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Last Supper&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="https://en.wikipedia.org/wiki/The_Last_Supper_%28Leonardo%29"&gt;The Last Supper&lt;/a&gt; is one of the most famous paintings by &lt;a href="https://en.wikipedia.org/wiki/Leonardo_da_Vinci"&gt;Leonardo da Vinci&lt;/a&gt;. He painted the Last Supper at the rear of a dining hall at &lt;a href="https://en.wikipedia.org/wiki/Santa_Maria_delle_Grazie_%28Milan%29"&gt;Santa Maria delle Grazie&lt;/a&gt; in Italy.&lt;br /&gt;If you're gonna visit it, make sure to reserve a ticket far ahead as quite a few people are allowed to visit the church, a day.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-X4bDD7ZHfkI/TtkTM6YYXVI/AAAAAAAAAPs/9-LunwJDZgM/s1600/santa_maria_delle_grazie-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-X4bDD7ZHfkI/TtkTM6YYXVI/AAAAAAAAAPs/9-LunwJDZgM/s400/santa_maria_delle_grazie-1.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4Kc1oNMwjzE/TtkT0ICGMjI/AAAAAAAAAP0/XHcPYud7j2o/s1600/santa_maria_delle_grazie-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-4Kc1oNMwjzE/TtkT0ICGMjI/AAAAAAAAAP0/XHcPYud7j2o/s400/santa_maria_delle_grazie-2.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TKgbqZG2mas/TtkUblKSgcI/AAAAAAAAAP8/S8KBov4ugpw/s1600/santa_maria_delle_grazie-3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-TKgbqZG2mas/TtkUblKSgcI/AAAAAAAAAP8/S8KBov4ugpw/s400/santa_maria_delle_grazie-3.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-N7_R51JohV4/TtkU_QNUkjI/AAAAAAAAAQE/p_NdYjr-e5A/s1600/santa_maria_delle_grazie-4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-N7_R51JohV4/TtkU_QNUkjI/AAAAAAAAAQE/p_NdYjr-e5A/s400/santa_maria_delle_grazie-4.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7324604409232388850?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7324604409232388850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7324604409232388850' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7324604409232388850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7324604409232388850'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/12/last-supper-santa-maria-delle-grazie.html' title='The Last Supper - Santa Maria delle Grazie'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-PvCgYiJIJT4/TtkSnuagzbI/AAAAAAAAAPk/oPOpfs68XMA/s72-c/santa_maria_delle_grazie.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2672788211482809052</id><published>2011-10-22T13:03:00.000+05:30</published><updated>2011-10-22T13:03:32.681+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>Business Process Hosting in the Cloud</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I wrote an &lt;a href="http://wso2.org/"&gt;OT&lt;/a&gt; article named "&lt;a href="http://wso2.org/library/articles/2011/09/business-process-hosting-cloud"&gt;Business Process Hosting in the Cloud&lt;/a&gt;". This article discusses multi-tenancy aspect in a cloud computing environment and some of the concerns of hosting business processes in the cloud. WSO2 Business Process as a Service supports development and easy deployment of business processes modeled using the WS-BPEL standard in a multi-tenanted environment. Also it provides functionality for business process management and hosting in the cloud.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2672788211482809052?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2672788211482809052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2672788211482809052' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2672788211482809052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2672788211482809052'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/10/business-process-hosting-in-cloud.html' title='Business Process Hosting in the Cloud'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5517710477916793486</id><published>2011-09-16T22:40:00.000+05:30</published><updated>2011-09-21T04:35:05.582+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>Introduction and Advanced Concepts of BPEL</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Waruna and I held a tutorial session for WSO2Con-2011 post conference tutorials. We basically explained and demonstrated on what the WS-BPEL constructs are and how to write a simple WS-BPEL process. And also we discussed some advanced concepts related to WS-BPEL as well. Here I have attached the slide-deck we presented.&lt;br /&gt;&lt;div id="__ss_9285980" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0pt 4px;"&gt;&lt;a href="http://www.slideshare.net/ddweerasiri/introduction-and-advanced-concepts-of-bpel" target="_blank" title="Introduction and Advanced Concepts of BPEL"&gt;Introduction and Advanced Concepts of BPEL&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9285980" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;div style="padding: 5px 0pt 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ddweerasiri" target="_blank"&gt;Denis Weerasiri&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Hm... it's been quite a messed-up week after all. Tomorrow I'm going for some snorkeling+diving with some of my friends :). Have a nice week-end!.&lt;br /&gt;&lt;br /&gt;Related post: &lt;a href="http://ddweerasiri.blogspot.com/2011/08/advanced-concepts-in-ws-bpel-20.html"&gt;http://ddweerasiri.blogspot.com/2011/08/advanced-concepts-in-ws-bpel-20.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5517710477916793486?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5517710477916793486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5517710477916793486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5517710477916793486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5517710477916793486'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/introduction-and-advanced-concepts-of.html' title='Introduction and Advanced Concepts of BPEL'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7171106292943219336</id><published>2011-09-16T22:35:00.001+05:30</published><updated>2011-09-16T22:41:39.374+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>WSO2Con-2011 Day 03</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;For the last day of the conference, keynote speakers for the morning sessions were Gregor Hohpe from Google Inc. and Narendra Nathmal from Cognizant Technologies. Gregor Hohpe discussed about his experience on enterprise integration patterns and its past, present and future. Narendra Nathmal talked on "SOA &amp;amp; Beyond: Using Open Source Technologies".&lt;br /&gt;During the last day of the conference, several speakers told their stories on their work related to WSO2. &lt;br /&gt;It was amazed to see how people use open source software and build new stuff and contribute back to the community back. One of my favorite project was "Advanced Business Process Instance Monitoring in WSO2 Carbon" by David Schumm who is a research assistant from Institute of Architecture of Application Systems (IAAS), Germany.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;In the track 01 some of other speakers were Maria Belkina who talked about her project management experience of using WSO2 products for e-Government infrastructure in Russia. Mifan Careem, CTO from Raspere talked on "Multi-tenancy and Cloud Computing for eGoverment Services". Jorge Infante Osorio, from Universidad de las Ciencias Informáticas, Cuba; talked about his experience in with SOA and the WSO2 Suite.&lt;br /&gt;On the track 02, Chathuri Wimalasena spoke on "Develop, Test and Deploy your SOA Application through a Single Platform". And then Charitha Kankanamge discuss on "Quality - The key to successful SOA", which gave an insight on QA methodologies, tools etc., used in SOA.&lt;br /&gt;Simon Bilton, Head of Professional Services, Gödel Technologies Europe and Neeraj Satija,Software Development Manager, Two Degrees Mobile Limited also shared their experiences in WSO2 SOA platform. &lt;br /&gt;Finally Samisa Abeysinghe, Director of Engineering at WSO2 talked on "Engineering to take over the world" which is about the "controversial" :) software engineering process at WSO2. One of the most interesting talk for the whole conference.&lt;br /&gt;Final keynote speech was delivered by Paul Fremantle, Founder &amp;amp; CTO WSO2. He revealed the WSO2 vision and road-map for the next few years. &lt;br /&gt;Then at the closing ceremony, some of the WSO2 folks who took the lead at WSO2Con-2011 were appreciated and then a music group called, "Bathiya &amp;amp; Santhush" rocked the audience with some pop/rap music :).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7171106292943219336?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7171106292943219336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7171106292943219336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7171106292943219336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7171106292943219336'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/wso2con-2011-day-03.html' title='WSO2Con-2011 Day 03'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4397563908629421652</id><published>2011-09-14T22:11:00.000+05:30</published><updated>2011-09-14T22:22:22.081+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>WSO2Con-2011 Day 02</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;During the day 02 at WSO2Con-2011, I was able to join some of the sessions. Today the keynote speaker was Sastry Malladi who is a distinguished architect from eBay. The speech was about Service Orientation and how eBay has successfully been able to pioneer and leverage service orientation.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/profile/view?id=17623418"&gt;Azeez&lt;/a&gt; talked about "Open source middleware for Clouds" and elaborated the underneath architecture in &lt;a href="http://stratoslive.wso2.com/"&gt;WSO2 StrtosLive PaaS&lt;/a&gt;. Also he described how cloud-native attributes like Cloud native attributes like distributed/dynamically wired, elastic, multi-tenant, self-service, granularly metered and billed, incrementally deployed and tested enabled in Stratos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/profile/view?id=38876225"&gt;Shankar&lt;/a&gt; did a very comprehensive demonstration on creating an applications for StratosLive. Demonstration included most of the features like creating tenants, user import, web-app/service development and deployment, securing web-apps, creating SaaS on top of StratosLive etc.&lt;br /&gt;Also the demonstration included features related WSO2 Relational Storage Service (RSS).&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Then Senaka talked about the SOA governance with WSO2 products. Next presentation was from Tharind who talked about concepts around rewamped WSO2 Business Activity Monitoring(BAM) framework. &lt;br /&gt;"Security in Action", one of the interesting session from Prabath, reviewed patterns, best practices and threats associated with SOA security models. Also it explored standards, such as WS-Security, SAML, XACML, WS-Trust, WS-SecureConversation, WS-SecurityPolicy etc.&lt;br /&gt;Another set of sessions held, on the other track. Today Paul Fremantle's session was about "High Volume Web API management with WSO2 ESB". Sanjaya Karunasena who is the CTO of ICTA talked about SOA for citizen centric e-Government service delivery in Sri Lanka.&lt;br /&gt;Then Nelson Raimond, IT manager from Sociedad Hipotecaria Federal (SHF), talked on "Open Source Adoption in a Mexican Bank". Next presentation was from Dmitry Lukyanov, Head of Integration Solutions Dept, Alfa-Bank Ukraine. He talked about how Alfa-Bank has adopted WSO2 products to enable SOA to its banking infrastructure. &lt;br /&gt;Final session in track 01 was about "Building a Mobile POS Solution with WSO2 Carbon and Apple iPod Touch" by Thilanka Kiriporuwa, Head of Human Resources and Operations, Odel. &lt;br /&gt;The day 02 was concluded with a panel discussion moderated by Dr. Srinath Perera and the panelist were Dr. C. Mohan, Sumedha Rubasinghe and Gregor Hohpe from Google.&lt;br /&gt;Finally there was a Jam session from WSO2 folks. It was nice to hear some great music after a series of tech-talks.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4397563908629421652?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4397563908629421652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4397563908629421652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4397563908629421652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4397563908629421652'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/wso2con-2011-day-02.html' title='WSO2Con-2011 Day 02'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3694138522774671505</id><published>2011-09-13T22:36:00.001+05:30</published><updated>2011-09-13T22:37:18.344+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>WSO2Con-2011 Day 01</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Today, WSO2Con-2011 was officially kicked-off after lighting the traditional oil lamp at Waters Edge, Colombo. The very first event was a show from a variety of drummers which brought a fresh start for the event. Then Dr. Sanjiva talked about the "Causing Trouble" which was a talk on past, present and future of WSO2 and its culture. Then Dr. C. Mohan deliverred his key-note speech on IBM Global Technology Outlook - 2011. After then the speakers from WSO2 and guest speakers presented their topics in two different tracks. Then there was a panel discussion moderated by Paul Fremantle. Panelists were Sastry Malladi, Afkham Azeez, Brad Svee and Narendra Nathmal. &lt;br /&gt;Finally the day 01 concluded with a nice elephant ride and a cultural show in Lobby area, Waters Edge.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3694138522774671505?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3694138522774671505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3694138522774671505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3694138522774671505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3694138522774671505'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/wso2con-2011-day-01.html' title='WSO2Con-2011 Day 01'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8760449954014516420</id><published>2011-09-13T22:32:00.001+05:30</published><updated>2011-09-13T22:33:02.052+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><title type='text'>Multi-tenancy: Winning formula for a PaaS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Today at WSO2Con-2011, &lt;a href="http://srinathsview.blogspot.com/"&gt;Dr. Srinath Perera&lt;/a&gt; discussed about what's multi-tennacy and the multi-tenant architecture of WSO2 Carbon platform. Also he talked about multi-tennacy matuarity models and how each of them has different garualarity of sharing and isolation. Then he went through the design and implementation of data isolation, execution isolation and performance isolation in WSO2 Stratos which is the cloud platform for enterprise applications. Finally he discussed about the performance over-haed on multi-tenant applications compared with its normal counterpart.&lt;br /&gt;&lt;br /&gt;&lt;div id="__ss_9238920" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0pt 4px;"&gt;&lt;a href="http://www.slideshare.net/hemapani/multitenancy-winning-formula-for-a-paas" target="_blank" title="Multi-tenancy: Winning formula for a PaaS"&gt;Multi-tenancy: Winning formula for a PaaS&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9238920" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;div style="padding: 5px 0pt 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/hemapani" target="_blank"&gt;Srinath Perera&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8760449954014516420?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8760449954014516420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8760449954014516420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8760449954014516420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8760449954014516420'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/multi-tenancy-winning-formula-for-paas.html' title='Multi-tenancy: Winning formula for a PaaS'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6195019646729511574</id><published>2011-09-06T23:56:00.000+05:30</published><updated>2011-09-07T00:28:02.636+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><title type='text'>Writing a BPEL compensation handler</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Compensation handling plays an important role in Business Process Management. It specifies how to undo a particular task which is not completed due to some error. Let’s take an example.&lt;br /&gt;eg - Take a simple travel booking process which includes three parallel sub-tasks as follows.&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BM-0WC36K2E/TmZm_ipyELI/AAAAAAAAAPY/Ick35_Mm9B8/s1600/WritingaBPELcompensationhandler.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="171" src="http://4.bp.blogspot.com/-BM-0WC36K2E/TmZm_ipyELI/AAAAAAAAAPY/Ick35_Mm9B8/s400/WritingaBPELcompensationhandler.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Travel Booking Process&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Now let’s assume hotel and taxi booking were successful. But couldn't book the flight. Now the “Book Hotel” and “Book Taxi” sub tasks should be compensated in order to mitigate the loss.&lt;br /&gt;&lt;br /&gt;In WS-BPEL 2.0, compensation handling is specified using &amp;lt;compensationHandler/&amp;gt;&lt;compensationhandler&gt;. And &amp;lt;compensateScope/&amp;gt; or &amp;lt;compensate/&amp;gt; can be used to trigger the &amp;lt;compensationHandler/&amp;gt;.&lt;compensatescope&gt;&lt;compensate&gt;&lt;compensationhandler&gt;&lt;/compensationhandler&gt;&lt;/compensate&gt;&lt;/compensatescope&gt;&lt;/compensationhandler&gt;&lt;br /&gt;&lt;br /&gt;Let’s take a look at the how a compensation handler can be implemented.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The easiest way is to add &amp;lt;compensationHandler/&amp;gt; in-line with &amp;lt;invoke/&amp;gt; activity. So when a fault occur; the in-line &amp;lt;compensationHandler/&amp;gt; is triggered.&amp;nbsp;&lt;compensationhandler&gt;&lt;invoke&gt;&lt;compensationhandler&gt; &lt;/compensationhandler&gt;&lt;/invoke&gt;&lt;/compensationhandler&gt;&lt;br /&gt;eg - &lt;br /&gt;&lt;script src="https://gist.github.com/1198357.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;The other method enables to compensate a specific scope using &amp;lt;compensationHandler/&amp;gt;. Here the &amp;lt;faultHandlers/&amp;gt; in the parent scope is used to trigger the &amp;lt;compensationHandler/&amp;gt; in the immediate child scope. For detailed descriptions on how exactly to trigger a &amp;lt;compensationHandler/&amp;gt; refer “&lt;a href="http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738526"&gt;12.4.3. Invoking a Compensation Handler&lt;/a&gt;” in WS-BPEL 2.0 specification.&lt;compensationhandler&gt;&lt;faulthandlers&gt;&lt;compensationhandler&gt;&lt;compensationhandler&gt;&lt;/compensationhandler&gt;&lt;/compensationhandler&gt;&lt;/faulthandlers&gt;&lt;/compensationhandler&gt;&lt;br /&gt;eg - &lt;br /&gt;&lt;script src="https://gist.github.com/1198358.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;We have added &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleCompensationHandlers/FlightReservationProcess"&gt;a sample compensation handler&lt;/a&gt; which is an implementation of a simple “Flight reservation process” to &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0"&gt;WSO2 BPS BPEL-2.0 sample repository&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6195019646729511574?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6195019646729511574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6195019646729511574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6195019646729511574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6195019646729511574'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/writing-bpel-compensation-handler.html' title='Writing a BPEL compensation handler'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-BM-0WC36K2E/TmZm_ipyELI/AAAAAAAAAPY/Ick35_Mm9B8/s72-c/WritingaBPELcompensationhandler.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2333451517636980265</id><published>2011-09-02T14:00:00.001+05:30</published><updated>2011-09-02T14:04:26.096+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><title type='text'>How to send email notifications via BPELs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;When business process modeling, there can be requirements to send notifications to some external parties regarding the run-time state of the business process. One general example would be when a particular task is completed, the relevant parties is sent a email.&lt;br /&gt;This functionality is supported by WSO2 BPS via &lt;a href="http://ws.apache.org/commons/transport/mail.html"&gt;Axis2 mail transport&lt;/a&gt;.&amp;nbsp; So using a &lt;invoke&gt; activity you can send a request to a particular email address.&lt;/invoke&gt;&lt;br /&gt;&lt;br /&gt;There 3 steps involved in setting up the environment.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Configure Axis2 mail transport in BPS_HOME/repository/conf/axis2.xml&lt;/li&gt;&lt;li&gt;Create WSDL which has mail address as the service address&lt;/li&gt;&lt;li&gt;Implement the BPEL process with a invoke activity which sends a mail to configured e-mail address&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;b&gt;Configuring Axis2 Mail Transport&lt;/b&gt;&lt;br /&gt;In this process we only use mail sending functionality, so we don't want to configure transport receiver. To configure mail transport sender first open up the &lt;i&gt;axis2.xml&lt;/i&gt; file which resides in &lt;i&gt;BPS_HOME/repository/conf&lt;/i&gt; directory in a text editor and add the following mail transport sender configuration to &lt;i&gt;axis2.xml&lt;/i&gt;. Place this after other transport sender configurations.&lt;script src="https://gist.github.com/1188137.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;In the above configuration we have used gmail account we have created for testing purposes. But in production deployment you have to use your own e-mail account.&lt;br /&gt;&lt;br /&gt;After you save the axis2.xml after adding above configuration, mail transport configuration is done. Now you can use addresses in mailto:&lt;your-email-id@mail.com&gt; format to as the service endpoint address in WSDL and use Axis2 client API to send e-mails.&lt;/your-email-id@mail.com&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Create WSDL which has mail address as the service address&lt;/b&gt;&lt;br /&gt;So you can create a partner WSDL which has a service endpoint to a email address. As mail sending act as out-only operation, make sure to modify the portType for sending mails accordingly.&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1188157.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;&lt;b&gt;Implement the BPEL process with a invoke activity which sends a mail to configured e-mail address&lt;/b&gt;&lt;br /&gt;Now you can use an &lt;invoke&gt; activity to invoke email sending operation with relevant portType and partner-Links.&lt;/invoke&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1188169.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2333451517636980265?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2333451517636980265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2333451517636980265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2333451517636980265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2333451517636980265'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/how-to-send-email-notifications-via.html' title='How to send email notifications via BPELs'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7684279027476861944</id><published>2011-09-02T12:04:00.001+05:30</published><updated>2011-09-02T14:05:30.688+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><title type='text'>Avoiding network overhead when interacting a partner services via BPEL</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If you have deployed your BPEL process and it’s partner services on the same WSO2 Carbon instance, you can avoid the network overhead using usePeer2Peer=”false” for the particular partner interaction in deploy.xml. The default value is “true”. Here’s a sample.&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1188033.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7684279027476861944?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7684279027476861944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7684279027476861944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7684279027476861944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7684279027476861944'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/avoiding-network-overhead-when.html' title='Avoiding network overhead when interacting a partner services via BPEL'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3232660928556435722</id><published>2011-09-01T19:48:00.010+05:30</published><updated>2011-09-02T17:18:59.745+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Stratos'/><title type='text'>Business Process hosting in Cloud</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;In this post I’m going to discuss about some concerns of hosting business processes in cloud. First we’ll discuss around the concept of multi-tenancy and a multi-tenancy architecture for business process executions. Then we’ll move on to our main topic of hosting business processes in cloud and the concerns wrapped around it. &lt;br /&gt;&lt;a href="http://wso2.com/cloud/stratos/"&gt;WSO2 Stratos&lt;/a&gt; BPS is a WS-BPEL compliant business process run-time &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;PaaS&lt;/a&gt; whose architecture supports multi-tenancy in the cloud. So the users can host the enterprise level WS-BPEL business processes in WSO2 Stratos BPS and manage them. So we’ll refer it to elaborate more on some of the following sections.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Table of Content&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Introduction&lt;/li&gt;&lt;li&gt;Terminology&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Multi-tenancy&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What’s multi-tenancy?&lt;/li&gt;&lt;li&gt;Virtualization&lt;/li&gt;&lt;li&gt;Goals?&lt;/li&gt;&lt;li&gt;Importance&lt;/li&gt;&lt;li&gt;What’s in it for business processes?&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Hosting business processes in cloud&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Advantages&lt;/li&gt;&lt;li&gt;Concerns&lt;br /&gt;&lt;ul&gt;&lt;li&gt;QoS&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Throttling&lt;/li&gt;&lt;li&gt;Security&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Billing, Metering, Logging and Business intelligence for Business Processes&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Billing and Metering&lt;/li&gt;&lt;li&gt;Logging &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Tooling support&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;References&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Terminology&lt;/span&gt; &lt;br /&gt;Hereafter I will refer the following words with mentioned meanings&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Vendor - Cloud infrastructure/platform provider&lt;/li&gt;&lt;li&gt;Client - The one who request resources from Vendor and deploy the services&lt;/li&gt;&lt;li&gt;User - Consumers of the service hosted by Client&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;Multi-tenancy&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;What’s multi-tenancy?&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Multi-tenancy is a virtualization technique which enables a single instance of a particular software to serve for many organizations or users(let’s call them tenants now onwards) without allocating instances for each of those tenants. Still the tenants see as they have their own set of allocated resources. &lt;br /&gt;One general example is Google Email(GMail) service which is consumed by various users and they have their own email box, contact list etc.&lt;br /&gt;&lt;br /&gt;In a more technical perspective, multi-tenancy is a popular virtualization mechanism in cloud computing environments. &lt;br /&gt;Let’s talk about what’s meant by “virtualization” first.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Virtualization&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Virtualization is a key aspect in a cloud computing environment. When it comes to IaaS, PaaS, and SaaS the virtualization have different facets. &lt;br /&gt;&lt;br /&gt;In an IaaS we can see it as the virtualization of underlying hardware. So the users can demand for certain amount of hardware resources from an IaaS vendor. And IaaS vendor provides and maintain the resources like physical memory, data-base, processing-power as a Service based based on that demand.&lt;br /&gt;eg - Amazon EC2 instances&lt;br /&gt;&lt;br /&gt;In a PaaS, a particular software platform is virtualized. So the users can deploy and run their applications without interfering each other on the running platform which is provided by the PaaS vendor.&lt;br /&gt;eg - WSO2 Stratos&lt;br /&gt;&lt;br /&gt;In a SaaS, a particular application is virtualized among its users.&lt;br /&gt;eg - Salesforce, GMail&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Goals?&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Few common goals of the multi-tenancy in cloud are as follows&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Sharing - multi-tenancy brings sharing a common set of resources among many tenants, so maintaining separate allocated resources for each tenants is mitigated.&lt;/li&gt;&lt;li&gt;Isolation - This means, the tenants are not interfered by the activities of other tenants. This can have several facets like data isolation, performance isolation etc. [1]&lt;/li&gt;&lt;li&gt;Scaling - multi-tenancy enables to scale the resources by running multiple instances of it. Here the load balancing and auto scaling also come into the picture.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;b&gt;&lt;i&gt;Importance&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Multi-tenancy means a much fine grained resource sharing mechanism compared to virtual machines which is another popular virtualization mechanism in the cloud space.&lt;br /&gt;If we used virtual machines(VM) to virtualize a server, then per each tenant, we need to create a new VM and there’s a fixed allocation of resources for the VM. &lt;br /&gt;eg - Assume each tenant require X amount of units. So each VM require X units of pre-allocated resources. So, to maintain 100 tenants, a server with at-least 100X units of resources is required.&lt;br /&gt;But in a real cloud computing environment, all the tenants don’t consume all the allocated resource to them. &lt;br /&gt;So in a multi-tenant environment, the same set of tenants can be deployed with in a server with 100X units of resources assuming that all the tenants don’t consume its whole allocated resources at a time.&lt;br /&gt;Another great advantage in multi-tenancy over VMs in PaaS and SaaS, is it incurs less maintenance and operational overhead as the platform or the application is hosted in one place. When it comes to real production setups this is not the case anyway. But even in such an environment multi-tenant PaaS and SaaS has the mentioned advantages to some extent. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;What’s in it for business processes?&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;So we discussed about multi-tenancy and some of its pros. Now we are going to discuss about its relevance to Business Processes running on a Cloud. Here the cloud means the PaaS where the business processes are deployed. &lt;br /&gt;Multi-tenancy for business processes enables to host them in a cloud with taking sharing, isolation and scaling into consideration.&lt;br /&gt;So use-case of multi-tenanted business processes is they can be used to improve resource sharing among multiple departments in private clouds. &lt;br /&gt;Another use-case would be sharing business processes across multiple tenants with the proper granularity of isolation and scaling. &lt;br /&gt;WSO2 Stratos BPS is a WS-BPEL compliant business process run-time PaaS whose architecture supports multi-tenancy in the cloud. So the users can host the enterprise level WS-BPEL business processes in WSO2 Stratos BPS tenants and manage them.&lt;br /&gt;Refer for more on “WSO2 BPS Multi-tenancy Architecture” [2].&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Z727abOYPRk/Tl-QjxvT43I/AAAAAAAAAPI/glWnC7WuLIk/s1600/BPS-Multi-Tenant.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="286" src="http://4.bp.blogspot.com/-Z727abOYPRk/Tl-QjxvT43I/AAAAAAAAAPI/glWnC7WuLIk/s400/BPS-Multi-Tenant.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure: Multi-tenancy Architecture diagram for WSO2 BPS&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt;Hosting business processes in Cloud&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;In previous section, we talked about multi-tenancy. One advantage of multi-tenancy is it enables hosting business processes in cloud with taking isolation, sharing and scaling into consideration.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Advantages?&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Some advantages of hosting business processes in cloud are&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Enables users to deploy the business processes which run on traditional business process run-time environments like WSO2 BPS. So the users can deploy the existing business processes, manage and monitor them securely in the cloud in the same way.&lt;/li&gt;&lt;li&gt;Scalability - On demand scaling business processes within set of nodes such that it can maintain the run-time of state-full business processes &lt;/li&gt;&lt;li&gt;Tenants can ignore the burden of maintaining a business process run-time infrastructure. They can host their processes in cloud and only focus on maintaining the business-process logic. &lt;/li&gt;&lt;li&gt;Cost effective way to deploy business processes with the means of pay-per-use.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;b&gt;&lt;i&gt;Concerns when choosing the correct PaaS solution?&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;So we talked about the plus side of hosting business processes in cloud. But on the other hand, before moving to a cloud based solution, it’s essential to consider &lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;how critical the business processes to the organization is&lt;/li&gt;&lt;li&gt;whether the security provided by the cloud platform is enough&lt;/li&gt;&lt;li&gt;what’s the expected usage pattern and scalability requirement for the process&lt;/li&gt;&lt;li&gt;whether the cloud vendor provides other functionalities to monitor, manage the deployed business processes&lt;/li&gt;&lt;li&gt;And the other services like billing, metering, logging etc.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;At the end the most feasible solution would be to host the business process in a private cloud environment rather move them to public cloud. &lt;br /&gt;&lt;br /&gt;In the next section we are going to dig deep in-to some of those considerations. So will discuss about the aspects like throttling, security, billing, metering, logging and tooling etc. All of the considerations discussed in next sections apply to any general PaaS evaluation. &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;i&gt;QoS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Security&lt;/b&gt; &lt;/u&gt;&lt;br /&gt;When it comes to cloud computing, most people concern on security and data privacy of the applications being deployed. This concern also applies to business processes as well. &lt;br /&gt;Business process platform provider has to support for securing business process and mechanisms to secure communication with other parties.&lt;br /&gt;Some other concerns related to security would be data isolation, identity management etc.&lt;br /&gt;Refer “&lt;a href="http://wso2.org/library/articles/2011/08/security-challenges-cloud"&gt;Security Challenges in the Cloud&lt;/a&gt;”, an OT article for more information on how WSO2 Stratos solve the security challenges.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Throttling&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Throttling is a very important aspect from the PaaS vendors perspective as it enables governing of how users are allowed to consume the business processes. &lt;br /&gt;In a more elaborated way, throttling manages and monitors how the resources are consumed by users. So PaaS vendor can use throttling to enables a multi-tenant PaaS with billing capabilities.&lt;br /&gt;Refer “&lt;a href="http://wso2.org/library/articles/2011/08/throttling-cloud-computing-environment"&gt;Throttling in a cloud computing environment&lt;/a&gt;”, an OT article for more information on how throttling work in WSO2 Stratos.&lt;a href="http://wso2.org/library/articles/2011/08/throttling-cloud-computing-environment"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;i&gt;Billing, Metering, Logging and Business intelligence for Business Processes&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;If we consider the traditional life cycle of “Business Process Management”, continuous monitoring, optimization should be integral parts of a BPM solution. One way of realizing this requirement with billing, metering, logging etc. &lt;br /&gt;But these may not actually fill the missing parts in Business Intelligence. Additionally we have to consider on proper mechanisms to generate real-time business intelligence as well.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;u&gt;Billing and Metering&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;PaaS provider is interested of the amount of resources, provided for each tenants. On the other-side PaaS consumer(tenants) also interested of the amount of the resources they consumed. So usage metering and billing has become an integral component in a PaaS whether it’s in public or private cloud.&lt;br /&gt;Refer “Metering, Throttling and Billing in StratosLive”, an OT article for more information on how usage metering and billing work in WSO2 Stratos.&lt;br /&gt;http://wso2.org/library/articles/2011/08/metering-throttling-billing-stratoslive&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Logging&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;This is another important aspect from PaaS provider’s and Paas Consumer’s point of view. One use-case is a PaaS provider has to continually analyze the logs in order to check on malicious activities and respond them quickly. PaaS consumers(tenants) also interested in logging as the logs are required to analyze the previous activities, debug the running services and data warehousing etc.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;i&gt;Tooling support&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Once a business process is modeled, the composition phase starts. As this business logic tends to change frequently, this composition phase in not a one time thing. So having a graphical tooling platform to support business process composition simplifies the development and make it more agile to the changing business needs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note - WSO2 Carbon Studio provides the tooling support for implementing business processes using WS-BPEL 2.0 and WS-BPEL 1.1. WSO2 Carbon Studio BPEL Editor provides end-to-end graphical tooling support to compose a WS-BPEL process from scratch.&lt;br /&gt;As the WSO2 BPS team we all develop our WS-BPEL processes via this tool and we also contribute to this editor by providing new features and bug-fixes.&lt;br /&gt;Refer the issue-tracker for BPEL editor from &lt;a href="https://wso2.org/jira/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=10569"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Screen-shot of the BPEL Editor in WSO2 Carbon Studio 1.0.13.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QKSHcOGcGEI/Tl-Sbi4al7I/AAAAAAAAAPM/6caoU1CH9gM/s1600/Carbon-Studio-Screeshot.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="392" src="http://2.bp.blogspot.com/-QKSHcOGcGEI/Tl-Sbi4al7I/AAAAAAAAAPM/6caoU1CH9gM/s400/Carbon-Studio-Screeshot.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure: BPEL Editor in WSO2 Carbon Studio&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;[1] - &lt;/span&gt;&lt;/span&gt;Afkham Azeez, Srinath Perera, Dimuthu Gamage, Ruwan Linton, Prabath Siriwardana, Dimuthu Leelaratne, Sanjiva Weerawarana, Paul Fremantle, Multi-Tenant SOA Middleware for Cloud Computing 3rd International Conference on Cloud Computing, Florida, 2010&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;[2] - &lt;/span&gt;&lt;/span&gt;Milinda Pathirage, Srinath Perera, Sanjiva Weerawarana, Indika Kumara, A Multi-tenant Architecture for Business Process Execution, 9th International Conference on Web Services (ICWS), 2011&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3232660928556435722?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3232660928556435722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3232660928556435722' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3232660928556435722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3232660928556435722'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/09/business-process-hosting-in-cloud.html' title='Business Process hosting in Cloud'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Z727abOYPRk/Tl-QjxvT43I/AAAAAAAAAPI/glWnC7WuLIk/s72-c/BPS-Multi-Tenant.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-606409184010357759</id><published>2011-08-30T23:52:00.001+05:30</published><updated>2011-08-30T23:54:27.550+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Advanced Concepts in WS-BPEL 2.0</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.linkedin.com/in/waruna"&gt;Waruna&lt;/a&gt; and I’ll be doing a post-conference tutorial session on “Advanced Concepts in WS-BPEL” in &lt;a href="http://wso2.com/events/wso2con-2011-colombo/agenda/"&gt;WSO2 Con 2011&lt;/a&gt;.&lt;br /&gt;Summary of the session is as follows.&lt;br /&gt;&lt;br /&gt;BPEL is the de-facto standard for modeling executable Web services orchestrations. It is an XML-based language used for the definition and execution of business, as well as scientific work flows using Web services. &lt;a href="http://www.blogger.com/goog_2096447619"&gt;WSO2 Business Process Server (&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_2096447619"&gt;WSO2 BPS&lt;/a&gt;&lt;a href="http://wso2.org/library/bps"&gt;)&lt;/a&gt; and &lt;a href="http://ode.apache.org/"&gt;Apache Orchestration Director Engine(ODE)&lt;/a&gt; are two WS-BPEL compliant business process executable work-flow engines, which support composition of Web services by orchestrating service interactions.&lt;br /&gt;In this tutorial, Warauna and I will elaborate on some advanced concepts in WS-BPEL 2.0 and extensibility in WSO2 BPS like&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;fault handling&lt;/li&gt;&lt;li&gt;compensation handling&lt;/li&gt;&lt;li&gt;event processing&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;&lt;li&gt;selective event processing&lt;/li&gt;&lt;li&gt;multiple event processing&lt;/li&gt;&lt;li&gt;concurrent event processing&lt;/li&gt;&lt;li&gt;message correlation&lt;/li&gt;&lt;li&gt;parallel processing&lt;/li&gt;&lt;li&gt;Introduction to ODE extensions&lt;/li&gt;&lt;li&gt;Future improvements with extensions&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-606409184010357759?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/606409184010357759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=606409184010357759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/606409184010357759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/606409184010357759'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/08/advanced-concepts-in-ws-bpel-20.html' title='Advanced Concepts in WS-BPEL 2.0'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7202042264529522992</id><published>2011-08-30T23:41:00.001+05:30</published><updated>2011-08-30T23:44:11.165+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Introducing New Sample Guide for BPS 2.1.0</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;&lt;div&gt;From &lt;a href="http://wso2.org/library/bps"&gt;WSO2 BPS&lt;/a&gt; 2.1.0 onwards, we have introduced a new sample guide and documentation which explain some of the basic concepts involved in WS-BPEL 2.0. You can find the documentation over &lt;a href="http://wso2.org/project/bps/2.1.0/docs/"&gt;here&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Also we have introduced few samples for complex BPEL scenarios like&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Compensation handlers - &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleCompensationHandlers/"&gt;SampleCompensationHandlers&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This samples demonstrates a flight reservation process with the  functionality of &lt;compensationhandler&gt; with  &lt;compensatescope&gt; a basic compensation handler will work. Also it  involves the &lt;faulthandlers&gt; which are required in compensation  handling. &lt;/faulthandlers&gt;&lt;/compensatescope&gt;&lt;/compensationhandler&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Event-handlers - &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleEventHandlers/"&gt;SampleEventHandlers &lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This sample has an event-handler implementation is capable verifying the functionality and reliability of &lt;eventhandlers&gt; construct.&lt;/eventhandlers&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Asynchronous processes &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleCompensationHandlers/"&gt;&lt;/a&gt;&lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0/SampleAsynchronousProcess/"&gt;SampleAsynchronousProcess&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This sample contains two processes. One acts as a client (Async-Client.zip) for the server (Async-Server.zip). Message correlation is used to maintain the asynchronous interaction between client and server.&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;We will add the documentation to explain those scenarios as well. You can find those other samples over &lt;a href="https://svn.wso2.org/repos/wso2/trunk/carbon/products/bps/modules/samples/product/src/main/resources/bpel/2.0"&gt;here&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Some of the already available guides on samples are&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/if.html"&gt;If&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/for_each.html"&gt;ForEach&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/while.html"&gt;While&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/repeat_until.html"&gt;Repeat until&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/flow_links.html"&gt;Flow and Links&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/pick.html"&gt;Pick&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/synchronous_and_asynchronous_invocations.html"&gt;Synchronous and Asynchronous Service Invocations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/throw_catch_fault_handling.html"&gt;Fault Handling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/split.html"&gt;Split&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wso2.org/project/bps/2.1.0/docs/xsl_transform.html"&gt;XslTransform&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7202042264529522992?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7202042264529522992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7202042264529522992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7202042264529522992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7202042264529522992'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/08/introducing-new-sample-guide-for-bps.html' title='Introducing New Sample Guide for BPS 2.1.0'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-9142274312545113620</id><published>2011-08-20T00:55:00.014+05:30</published><updated>2011-08-27T20:37:17.992+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>SSL enabled JConsole to monitor a WSO2 Carbon Server Securely</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://wso2.com/products/"&gt;WSO2 Products&lt;/a&gt; like WSO2 AS, ESB, BPS etc. are MBeans enabled servers such that they can be monitored via JMX clients. &lt;a href="http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html"&gt;JConsole&lt;/a&gt; is a graphical JMX monitoring client which comes as a part of JDK.&lt;br /&gt;Recently I had to securely monitor a remote WSO2 carbon server. &lt;br /&gt;But the problem is, now any remote user can implement a MBean on the target server and use System.exit() from the client end to kill the Carbon server. So we need to harden&amp;nbsp; (or secure and restrict) the communication between client and server.&lt;br /&gt;So I used jConsole via a SSL tunnel which enforces client authentication and RMI-registry authentication. Here’re the steps I took to solve the problem. &lt;br /&gt;&lt;i&gt;Note - Feel free to shout back in case you need more clarifications. In some steps I assumed the audience is aware of JMX, public key cryptography etc.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Content&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil#applied-for"&gt;Applied for&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil#enable-remote-jmx"&gt;Enable remote JMX monitoring for Carbon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil#enforce-ssl"&gt;Enforcing SSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil#enforce-ssl-client"&gt;Enforcing SSL client authentication&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil#enforce-rmi-registry"&gt;Enforcing RMI-registry authentication&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil" name="applied-for"&gt;&lt;b&gt;Applied for&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Carbon 3.2.0 (or above) based products (WSO2 BPS 2.1.0, WSO2 AS 4.1.0, WSO2 ESB 4.0.0 etc)&lt;/li&gt;&lt;li&gt;Sun JDK 1.6.0_24&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil" name="enable-remote-jmx"&gt;&lt;b&gt;Enable remote JMX monitoring for Carbon&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;Once you start a WSO2 Carbon instance, default JMX Server is started as bound to localhost. &lt;br /&gt;Refer the Carbon console log. &lt;br /&gt;&lt;script src="https://gist.github.com/1157755.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;You can modify these ports at $CARBON_HOME/repository/conf/carbon.xml. See&lt;br /&gt;&lt;script src="https://gist.github.com/1157757.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;But to enable remote access, the JMX server should be unbound from localhost and bound to a remotely accessible IP address. This can be done by modifying $CARBON_HOME/repository/conf/advanced/jmx.xml. Modify the &lt;hostname&gt; to the preferred IP address.&lt;/hostname&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1157761.js?file=gistfile1.xml"&gt;&lt;/script&gt;&lt;br /&gt;Once the server is restarted, any external user can remotely monitor the Carbon instance via the exposed ports.&lt;br /&gt;See the console log to make sure, whether the modifications were applied correctly.&lt;br /&gt;&lt;script src="https://gist.github.com/1157762.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;Now the problem is using this exposed URL, a remote user can implement a MBean on the target server and use System.exit() from the client end to kill the Carbon instance. So we need to harden&amp;nbsp; (or secure and restrict ) the communication between client and server.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil" name="enforce-ssl"&gt;&lt;b&gt;Enforcing SSL&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;Next step is to adding SSL to the communication. &lt;br /&gt;First of all we need to create a certificate which is used to encrypt the communication between JMX client and JMX server. For the simplicity we can use the keytool shipped with JDK to generate a self-signed certificate which will be used by the Carbon instance.&lt;br /&gt;&lt;i&gt;Note - For more information on keytool refer &lt;a href="http://download.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html"&gt;http://download.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Use the following command to generate the certificate. &lt;br /&gt;Note - you can prefer any place to keep the certificates. In as Carbon developers we use this location to store as a best-practice.&lt;br /&gt;&lt;script src="https://gist.github.com/1157767.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;During this operation, a public and private key pair and a certificate which is signed by the private key is generated. &lt;br /&gt;&lt;br /&gt;Now we need to export this self-signed certificate which is used by the JMX server and import it into trust store of our JMX client. In our case it’s jConsole. To do that use the following steps.&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Export the certificate to file called jConsole.cert&lt;br /&gt;&lt;script src="https://gist.github.com/1157770.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/li&gt;&lt;li&gt;Securely transfer jconsole.cert to the machine where the JMX client is installed&lt;/li&gt;&lt;li&gt;Import the jconsole.cert to a truststore used by jConsole using the following command&lt;br /&gt;&lt;script src="https://gist.github.com/1157778.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Now all the configurations are set for enforce SSL communication. Now the Carbon instance and jConsole need to be restarted with relavant JVM options.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Use the following command to start the Carbon instance with the mentioned JVM options. &lt;br /&gt;&lt;i&gt;Note - Here the keystore password is what is specified while generating the self-signed certificate for Carbon instance.&lt;/i&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1157788.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/li&gt;&lt;li&gt;To start jConsole&lt;br /&gt;&lt;script src="https://gist.github.com/1157792.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Now the next step is to enforce SSL client authentication.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil" name="enforce-ssl-client"&gt;&lt;b&gt;Enforcing SSL client authentication&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To enable SSL client authentication, what we have to do is same as enforcing SSL communication.&lt;br /&gt;All we have to do is generate the self-signed certificate for jConsole and export that certificate and import it back to a trust store used by the Carbon instance.&lt;br /&gt;&lt;br /&gt;Use the following command to generate the certificate.&lt;br /&gt;&lt;script src="https://gist.github.com/1157795.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;Now Export the certificate to file called jconsole_client.cert.&lt;br /&gt;&lt;br /&gt;Then securely transfer jconsole_client.cert to where the Carbon instance is running.&lt;br /&gt;&lt;br /&gt;Now import jconsole_client.cert to the trust store used by Carbon instance using the following command.&lt;br /&gt;&lt;script src="https://gist.github.com/1157796.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;Now all the configurations are set for enforce SSL communication and SSL client authentication. Now the Carbon instance and jConsole need to be restarted with relavant JVM options.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Use the following command to start the Carbon instance with the mentioned JVM options. &lt;br /&gt;&lt;i&gt;Note - Here the keystore password is what is specified while generating the self-signed certificate for Carbon instance.&lt;br /&gt;&lt;script src="https://gist.github.com/1157801.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;To start jConsole use the following command&lt;br /&gt;&lt;script src="https://gist.github.com/1157803.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=9142274312545113620&amp;amp;from=pencil" name="enforce-rmi-registry"&gt;&lt;b&gt;Enforcing RMI-registry authentication&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now RMI-registry which is remotely accessible from a separate port (in the above description it’s 9999) also need to be enforced with SSL client authentication. As we have all configured the trust stores and keystores in both client and server end, only requirement to enable RMI-registry authentication is to add the following JVM option to the WSO2 Carbon instance starting script.&lt;br /&gt;&lt;script src="https://gist.github.com/1157811.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;br /&gt;eg -&amp;nbsp; &lt;script src="https://gist.github.com/1157816.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-9142274312545113620?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/9142274312545113620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=9142274312545113620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/9142274312545113620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/9142274312545113620'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/08/ssl-enabled-jconsole-to-monitor-wso2.html' title='SSL enabled JConsole to monitor a WSO2 Carbon Server Securely'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-241993273228765372</id><published>2011-08-19T00:03:00.017+05:30</published><updated>2011-08-19T00:34:21.955+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>Join us at WSO2Con-2011</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;WSO2Con 2010 was started last year as a part of WSO2’s 5th year anniversary. This year, WSO2Con 2011 is to be held from Sept 12-16, &lt;a href="http://www.watersedge.lk/"&gt;Waters Edge&lt;/a&gt;, Colombo, Sri Lanka. This year’s agenda includes more than 30 speakers from 10 countries.&lt;br /&gt;&lt;br /&gt;Keynote Speakers are&lt;br /&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/mohan.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;IBM Global Technology Outlook – 2011&lt;br /&gt;&lt;strong&gt;Dr. C Mohan&lt;/strong&gt;&lt;br /&gt;Fellow, IBM Research&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/sastry.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;Service Orientation – Why is it good for your business&lt;br /&gt;&lt;strong&gt;Sastry Malladi&lt;/strong&gt;&lt;br /&gt;Distinguished Architect, eBay&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/gregor.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;Enterprise Integration Patterns: Past, Present and Future&lt;br /&gt;&lt;strong&gt;Gregor Hohpe&lt;/strong&gt;&lt;br /&gt;Google&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/narendra.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;SOA &amp;amp; Beyond using open source technologies&lt;br /&gt;&lt;strong&gt;Narendra Nethmal&lt;/strong&gt;&lt;br /&gt;Chief Architect, Cognizant Technologies&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/sanjiva.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;WSO2: Disrupting the middleware industry&lt;br /&gt;&lt;strong&gt;Dr. Sanjiva Weerawarana&lt;/strong&gt;&lt;br /&gt;Chairman, Founder &amp;amp; CEO, WSO2 Inc.&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;div class="spotlight-speaker"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td&gt;&lt;br /&gt;&lt;img src="http://a.content.wso2.com/wp-content/themes/wso2ng-v3/con-images/paul.gif"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;WSO2 Vision and Roadmap&lt;br /&gt;&lt;strong&gt;Paul Fremantle&lt;/strong&gt;&lt;br /&gt;Founder &amp;amp; CTO WSO2 Inc.&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;  &lt;/table&gt;&lt;/div&gt;&lt;/div&gt;In a summary the conference will be all about&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Customer experiences describing how WSO2 products are being used to build enterprise and SaaS apps in financial services, government, mobile, telecom and other industries.&lt;/li&gt;&lt;li&gt;Best practices for leading enterprise architecture initiatives, managing SOA projects and moving beyond SOA and open source.&lt;/li&gt;&lt;li&gt;Tutorials on a broad range of middleware technologies by WSO2 developers and Apache committers with real world experience working with customers around the world.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;Find the full agenda here &lt;a href="http://wso2.com/events/wso2con-2011-colombo/agenda/"&gt;http://wso2.com/events/wso2con-2011-colombo/agenda/&lt;/a&gt;&lt;br /&gt;Registration link - &lt;a href="http://wso2.com/events/wso2con-2011-colombo/"&gt;http://wso2.com/events/wso2con-2011-colombo/&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-241993273228765372?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/241993273228765372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=241993273228765372' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/241993273228765372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/241993273228765372'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/08/join-us-at-wso2con-2011.html' title='Join us at WSO2Con-2011'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-997137280869747007</id><published>2011-08-18T23:35:00.005+05:30</published><updated>2011-08-18T23:48:57.577+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>Happy 6th birthday WSO2!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This month, August is the summer vacation period for &lt;a href="http://wso2.com/"&gt;WSO2&lt;/a&gt;. Also last August 4th was WSO2’s 6th birthday. A small party was organized in both US and LK offices on the birthday. On the same day, a day-out was organized for school kids who were from &lt;a href="http://en.wikipedia.org/wiki/Sigiriya"&gt;Sigiriya&lt;/a&gt; area. They were brought to visit WSO2 and few places in Colombo like Zoo, World Trade Center, Museum and &lt;a href="http://en.wikipedia.org/wiki/Galle_Face_Green"&gt;Galle Face Green&lt;/a&gt; etc. Here are some snapshots that I really liked of the day. Thanks, &lt;a href="http://www.linkedin.com/in/engwar"&gt;Chinthana Wilamuna&lt;/a&gt; and &lt;a href="http://www.linkedin.com/pub/harindu-alwis/22/910/1b0"&gt;Harindu Alwis&lt;/a&gt; for sharing them. Happy birthday WSO2!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IJTipeeBuOc/Tk1Tt6fq0FI/AAAAAAAAAPA/U1OHyzIoaSE/s1600/birthday-celebrations.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/-IJTipeeBuOc/Tk1Tt6fq0FI/AAAAAAAAAPA/U1OHyzIoaSE/s320/birthday-celebrations.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZpPpY8m6BrY/Tk1UH-VO99I/AAAAAAAAAPE/sw2CoZVSFvA/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://2.bp.blogspot.com/-ZpPpY8m6BrY/Tk1UH-VO99I/AAAAAAAAAPE/sw2CoZVSFvA/s400/8.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-997137280869747007?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/997137280869747007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=997137280869747007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/997137280869747007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/997137280869747007'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/08/happy-6th-birthday-wso2.html' title='Happy 6th birthday WSO2!'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-IJTipeeBuOc/Tk1Tt6fq0FI/AAAAAAAAAPA/U1OHyzIoaSE/s72-c/birthday-celebrations.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3101867794934325312</id><published>2011-06-19T18:50:00.002+05:30</published><updated>2011-08-18T23:02:56.309+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>WSO2 BPS 2.1.0 Available for Download</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;The WSO2 Business Process Server(BPS) team is pleased to announce the &lt;a href="http://wso2.org/downloads/bps"&gt;release of 2.1.0 version&lt;/a&gt; of the Open Source Business Process server. &lt;a href="http://wso2.com/products/business-process-server/"&gt;WSO2 BPS 2.1.0&lt;/a&gt; is based on WSO2 &lt;a href="http://wso2.com/products/carbon/"&gt;Carbon 3.2.0&lt;/a&gt; which is the OSGi-based component framework allows the complete set of WSO2 products to leverage shared components, ensuring a consistent set of features between products, a consistent user experience, and reusing of identical components. You can find the release note for WSO2 BPS 2.1.0 from &lt;a href="http://wso2.org/project/bps/2.1.0/docs/release-note.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Two fresh products; &lt;a href="http://wso2.com/products/message-broker/"&gt;WSO2 MB&lt;/a&gt; and &lt;a href="http://wso2.com/products/complex-event-processing-server/"&gt;WSO2 CEP&lt;/a&gt; also were released with the existing set of products.&lt;br /&gt;&lt;br /&gt;Few excerpts from the WSO2 BPS 2.1.0 release note...&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif; text-align: left;"&gt;&lt;li&gt;&lt;i&gt;WSO2 Business Process Server (BPS) is an easy-to-use Open Source Business Process Server that executes business processes written following WS-BPEL standard. WS-BPEL is emerging as the defacto standard for composing multiple synchronous and asynchronous web services into collaborative and transactional process flows which increase the flexibility and agility of your Service Oriented Architecture. WSO2 BPS is powered by Apache ODE and available under Apache Software License v2.0. WSO2 BPS provides a complete Web based graphical console to deploy, manage and monitor business process and process instances.&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;WSO2 BPS is developed on top of the revolutionary Carbon platform (Middleware a' la carte), and is based on the OSGi framework to achieve the better modularity for you SOA. Carbon platform contains lots of new features and many other optional components that can be used to customize or enhance the functionalities provided by BPS to suits you SOA needs. In addition to installing optional components you can uninstall unwanted features without any trouble.&lt;br /&gt;WSO2 team recently released 3.2.0 version of &lt;a href="http://wso2.com/products/carbon/"&gt;WSO2 Carbon platform&lt;/a&gt; which is the OSGi-based component framework allows the complete set of products to leverage shared components, ensuring a consistent set of features between products, a consistent user experience, and reusing of identical components.&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;An open source product, WSO2 BPS is available under the Apache Software License (v2.0) . This includes all of the extra integration and management functionality as well.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3101867794934325312?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3101867794934325312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3101867794934325312' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3101867794934325312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3101867794934325312'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/06/wso2-bps-210-available-for-download.html' title='WSO2 BPS 2.1.0 Available for Download'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7218037746078651351</id><published>2011-06-13T21:50:00.002+05:30</published><updated>2011-06-13T21:56:34.850+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><title type='text'>Off-season Sri Padha(Adam's peak) hike</title><content type='html'>&lt;br/&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Recently five friends at WSO2 and I hiked-up &lt;a href="http://en.wikipedia.org/wiki/Adam%27s_Peak"&gt;Sri Padha(Adam's Peak)&lt;/a&gt; during the off-season. It was my 2nd hike to that mountain during the off-season. During the off-season the site was very much peaceful as usually pilgrims don't walk up the mountain due to heavy raining, strong wind, lightning and thick mist. &lt;br /&gt;Adam's peak is an important pilgrimage site especially for Buddhists. Unlike in pilgrimage season (December to May), we had to take precautions and we had to prepare and bring all the food and stuff required up to the peak of the mountain. As there's no electricity until the peak of the mountain, we prepared for that as well. We climbed-up the mountain via a shorter path which is Hatton route and climbed-down via a longer path which is Rathnapura route. We started to climb-up the mountain around 2pm and it took around four hours. While climbing-up, it was raining all most all the time, but we didn't experience much of a wind. We were the only team to stay there for that night. And the next morning we worshiped and walked around the peak. We couldn't see the sun-rise due to thick mist. Only for few seconds we saw very far away mountains but those views were vanished in seconds when thick clouds covered the peak. Then we climbed-down via Rathnapura route and we experienced some strong wind. Though Rathnapura route was quite longer it was more beautiful as it was lead through a lush green jungle.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eDKbJBNmuZE/TfY4gJHIP4I/AAAAAAAAAO0/o6z5S-VHjKw/s1600/Adams_peak_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-eDKbJBNmuZE/TfY4gJHIP4I/AAAAAAAAAO0/o6z5S-VHjKw/s400/Adams_peak_001.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-C01CP1WiSCQ/TfY4uByco-I/AAAAAAAAAO8/OPmZWOzW-2U/s1600/Adams_peak_002.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-C01CP1WiSCQ/TfY4uByco-I/AAAAAAAAAO8/OPmZWOzW-2U/s400/Adams_peak_002.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;At the peak&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7218037746078651351?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7218037746078651351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7218037746078651351' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7218037746078651351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7218037746078651351'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/06/off-season-sri-padhaadams-peak-hike.html' title='Off-season Sri Padha(Adam&apos;s peak) hike'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-eDKbJBNmuZE/TfY4gJHIP4I/AAAAAAAAAO0/o6z5S-VHjKw/s72-c/Adams_peak_001.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-881088031469301461</id><published>2011-06-13T19:56:00.000+05:30</published><updated>2011-06-13T19:56:01.722+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>Carbon 3.2.0 - One checkout One build in 3-4 hours</title><content type='html'>&lt;br/&gt;Recently I had a memory upgrade to my office laptop. So I felt to build very recently released &lt;a href="https://svn.wso2.org/repos/wso2/branches/carbon/3.2.0/"&gt;WSO2 Carbon 3.2.0 branch&lt;/a&gt; and compare the build time while watching a movie :). Previously it took around 8-9 hours to build the complete carbon product stack which consist of around 4941kSLOC. But now it takes around 3-4 hours. During the build, I managed to keep the swap usage in a minimum level (maximum up-to 10MB) by configuring the JVM options such that Build system utilizes the maximum physical memory while underneath OS has enough physical memory left for its tasks. Normally in Ubuntu 10.04 (Kernel Linux 2.6.32-24-generic), from the moment physical memory is fully utilized, the swap space starts to increase continuously even though there's available physical memory after sometime. So swap usage doesn't decrease for a long time. So if the JVM options are not set properly overall performance get decreased drastically. Seems tuning JVM based on available physical memory can preserve a lot of CPU time.&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-881088031469301461?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/881088031469301461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=881088031469301461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/881088031469301461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/881088031469301461'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/06/carbon-320-one-checkout-one-build-in-3.html' title='Carbon 3.2.0 - One checkout One build in 3-4 hours'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4774028780754256585</id><published>2011-04-23T00:12:00.114+05:30</published><updated>2011-08-27T20:44:55.129+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB'/><title type='text'>Monitoring multiple WSO2 server instances via a single front-end</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: inherit;"&gt;Any WSO2 product like WSO2 BPS, WSO2 AS, WSO2 ESB etc is based on WSO2 Carbon platform. One inherent characteristic of this platform is, it's easily front-end and back-end separated. &lt;/div&gt;&lt;div style="font-family: inherit;"&gt;As well this is an interesting deployment pattern which is very useful in many scenarios. In this post what I tried to do is monitor two WSO2 back-end server instances (ESB and BPS) via a single front-end server instance.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DIcno_fl5YE/TbHO7bO1lJI/AAAAAAAAAN0/pl1hbNfLmmU/s1600/Try-OutScenario.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-DIcno_fl5YE/TbHO7bO1lJI/AAAAAAAAAN0/pl1hbNfLmmU/s1600/Try-OutScenario.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Table of Content&lt;br /&gt;&lt;ul style="font-family: inherit; text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#1"&gt;What's front-end(FE) and back-end(BE) separation?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#2"&gt;Advantages&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#3"&gt;Tested Environment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#4"&gt;How to separate FE and BE features of a product&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#5"&gt;Configure ports to connect FE and BE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#6"&gt;How to compose a FE of two products&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2427235520011315739&amp;amp;postID=4774028780754256585&amp;amp;from=pencil#7"&gt;Configurations steps to connect FE and BE&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: inherit;"&gt;&lt;b id="1"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id="1"&gt; What's front-end and back-end separation?&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Carbon products can be separated as the backend components that runs the middleware logic and the frontend that contains the GUI to manage, monitor and control the instance. &lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Suppose a WSO2 product is a set of features containing front-end (FE), back-end (BE) and common (Com.) features as follows.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="internal-source-marker_0.2653211730066687" style="font-family: inherit; margin-bottom: 0pt; margin-top: 0pt; text-align: center; text-indent: 36pt;"&gt;&lt;a href="http://4.bp.blogspot.com/-GajH314GHIA/TbHP93OH6dI/AAAAAAAAAN4/yU5m91ZP_jw/s1600/FEBE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-GajH314GHIA/TbHP93OH6dI/AAAAAAAAAN4/yU5m91ZP_jw/s1600/FEBE.jpg" /&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Then we can separate the product into FE and BE segments as follows.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: inherit; text-align: left;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fQF3L18gt9o/TbHREdtDhtI/AAAAAAAAAOA/zb2-44WpPrM/s1600/FE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-fQF3L18gt9o/TbHREdtDhtI/AAAAAAAAAOA/zb2-44WpPrM/s1600/FE.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;+&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-yUYjOtthSkc/TbHRDo5sSuI/AAAAAAAAAN8/7tRtJ6UKS4A/s1600/BE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-yUYjOtthSkc/TbHRDo5sSuI/AAAAAAAAAN8/7tRtJ6UKS4A/s1600/BE.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b id="2"&gt;Advantages&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;This pattern is helpful to keep the backend binary size limited and to provide facility to render the console in a remote machine. &lt;/li&gt;&lt;li&gt;By using a single frontend deployment can connect to multiple backends by changing the backend url in the management console. &lt;/li&gt;&lt;li&gt;This will help to manage multiple products/ multiple instances of the same product by using a single console.&lt;/li&gt;&lt;/ul&gt;&lt;b id="3"&gt;Tested Environment&lt;/b&gt;&lt;br /&gt;Here again what I’m going to do is depicted as follows.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; font-family: inherit; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DIcno_fl5YE/TbHO7bO1lJI/AAAAAAAAAN0/pl1hbNfLmmU/s1600/Try-OutScenario.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-DIcno_fl5YE/TbHO7bO1lJI/AAAAAAAAAN0/pl1hbNfLmmU/s1600/Try-OutScenario.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I’m gonna monitor two WSO2 product BE instances (ESB and BPS), via a single FE instance which composed of ESB FE and BPS FE. &lt;br /&gt;&lt;br /&gt;Here I’m using ESB 3.0.1 and BPS 2.0.1. &lt;br /&gt;Note - The reason for specifically using these versions is both products should be released based on the same carbon core (here it’s Carbon 3.0.1), in order to mix features of different products in each other.&lt;br /&gt;&lt;br /&gt;&lt;b id="4"&gt;How to separate FE and BE features of a product&lt;/b&gt;&lt;br /&gt;Separating FE and BE features of a WSO2 carbon product is works out of the box. It’s supported via the product management console.&lt;br /&gt;Let’s see how to create a WSO2 ESB BE. Creating a WSO2 BPS BE is also the same. Creating a WSO2 ESB FE is same except the step 5.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0M-O40AiMkM/TbHVsjgBidI/AAAAAAAAAOQ/E9HALzLJ-R8/s1600/DoneAddingRepo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Start ESB&lt;/li&gt;&lt;li&gt;Go to https://10.100.0.23:9443/carbon&lt;/li&gt;&lt;li&gt;In the Web console goto Configure -&amp;gt; Features in the left-side menu&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hA4fppa1hkA/TbHTkuhCzHI/AAAAAAAAAOE/fJO9qVyAoSg/s1600/SelectConfigure.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://2.bp.blogspot.com/-hA4fppa1hkA/TbHTkuhCzHI/AAAAAAAAAOE/fJO9qVyAoSg/s640/SelectConfigure.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Goto Settings tab, and add the repository &lt;a href="http://dist.wso2.org/p2/carbon/releases/3.0.0/"&gt;http://dist.wso2.org/p2/carbon/releases/3.0.0/&lt;/a&gt; .&lt;br /&gt;This repo based on Carbon version used in the ESB. refer - &lt;a href="http://wso2.org/projects/carbon/provisioning-wso2-carbon-with-equinox-p2"&gt;http://wso2.org/projects/carbon/provisioning-wso2-carbon-with-equinox-p2&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Jy6DOUmwBUU/TbHUOrR5csI/AAAAAAAAAOI/cWKM0-RrUpo/s1600/AddP2Repo.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://1.bp.blogspot.com/-Jy6DOUmwBUU/TbHUOrR5csI/AAAAAAAAAOI/cWKM0-RrUpo/s640/AddP2Repo.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Lx_wa4bSNDI/TbHVVUg16hI/AAAAAAAAAOM/0HRasPh0fHA/s1600/AddingRepository.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="360" src="http://4.bp.blogspot.com/-Lx_wa4bSNDI/TbHVVUg16hI/AAAAAAAAAOM/0HRasPh0fHA/s640/AddingRepository.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Adding repository...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0M-O40AiMkM/TbHVsjgBidI/AAAAAAAAAOQ/E9HALzLJ-R8/s1600/DoneAddingRepo.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="212" src="http://1.bp.blogspot.com/-0M-O40AiMkM/TbHVsjgBidI/AAAAAAAAAOQ/E9HALzLJ-R8/s640/DoneAddingRepo.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Finished adding repository&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Goto “Installed Features” tab. Select “All Console Features”. Select “Uninstall”. If you need to separate out the BE features, select “All Server Features”.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4sozZhHR80g/TbHWOJR-P6I/AAAAAAAAAOU/61C2RQXZLPE/s1600/AllConsoleFeatures.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://1.bp.blogspot.com/-4sozZhHR80g/TbHWOJR-P6I/AAAAAAAAAOU/61C2RQXZLPE/s640/AllConsoleFeatures.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FkXxU9-2DxU/TbHWPNyjHGI/AAAAAAAAAOY/tKcQJ4mAZxc/s1600/Uninstalling.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="280" src="http://3.bp.blogspot.com/-FkXxU9-2DxU/TbHWPNyjHGI/AAAAAAAAAOY/tKcQJ4mAZxc/s640/Uninstalling.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;While uninstalling...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fvy1JnefKVQ/TbHWmgRtOXI/AAAAAAAAAOc/__ph0Eemzlw/s1600/Finish.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="324" src="http://3.bp.blogspot.com/-fvy1JnefKVQ/TbHWmgRtOXI/AAAAAAAAAOc/__ph0Eemzlw/s640/Finish.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Finished&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Then re-start the server. Once you’re done the Web-UI console will look like below. &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-B6robO3SokA/TbHW5XB4rNI/AAAAAAAAAOg/UdOM8xIVdr0/s1600/AfterRestarting.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://3.bp.blogspot.com/-B6robO3SokA/TbHW5XB4rNI/AAAAAAAAAOg/UdOM8xIVdr0/s640/AfterRestarting.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b id="5"&gt;Configure ports to connect FE and BE&lt;/b&gt;&lt;br /&gt;It’s essential to avoid port conflicts, as now there can be several server instances trying to grab the same ports. We can do this by modifying the ports used for&lt;br /&gt;&lt;ul&gt;&lt;li&gt;management console http and https transport listeners- $CARBON-HOME/repository/conf/mgt-transports.xml&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;lt;transport class="org.wso2.carbon.server.transports.http.HttpTransport" name="http"&amp;gt;&amp;lt;/transport&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;transport class="org.wso2.carbon.server.transports.http.HttpsTransport" name="https"&amp;gt;&amp;lt;/transport&amp;gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;http and https transport listeners - $CARBON-HOME/repository/conf/axis2.xml&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;lt;transportReceiver name="http" class="org.wso2.carbon.core.transports.http.HttpTransportListener"&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;transportReceiver name="https" class="org.wso2.carbon.core.transports.http.HttpsTransportListener"&amp;gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Change the server url in carbon.xml such that FE points to BE.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;lt;ServerURL&amp;gt;https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/&amp;lt;/ServerURL&amp;gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b id="6"&gt;How to compose a FE of two products&lt;/b&gt;&lt;br /&gt;We need a server instance consisted of ESB FE and BPS FE. For that what we can do is adding BPS features to WSO2 ESB product and removing BPS and ESB BE features (i.e all server features) from it. In current carbon, only FE features can be installed. But the released versions only feature groups can be installed.&lt;br /&gt;Or we can do the other way around as well.  Here the easiest way is to add the BPS features to ESB product as there’s only one feature (BPEL Feature) to add as follows.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ctk5uCYQBOs/TbHYrUcCwfI/AAAAAAAAAOk/eb_QfgkO-TU/s1600/AddBPEL.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="88" src="http://1.bp.blogspot.com/-ctk5uCYQBOs/TbHYrUcCwfI/AAAAAAAAAOk/eb_QfgkO-TU/s640/AddBPEL.png" width="640" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;b id="7"&gt;Configurations steps to connect FE and BE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now after that we can start three servers. i.e - &lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;BPS BE&lt;/li&gt;&lt;li&gt;ESB BE&lt;/li&gt;&lt;li&gt;BPS FE +ESB FE&lt;/li&gt;&lt;/ol&gt;Then via FE-only server instance’s management UI we can monitor and manage the both BE server instances by changing the Server URL in the login page.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pMfvDCAvt7Q/TbHZDKTcm2I/AAAAAAAAAOo/AjMxV3QTYtE/s1600/SignIn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-pMfvDCAvt7Q/TbHZDKTcm2I/AAAAAAAAAOo/AjMxV3QTYtE/s1600/SignIn.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4774028780754256585?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4774028780754256585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4774028780754256585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4774028780754256585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4774028780754256585'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/04/monitoring-multiple-wso2-server.html' title='Monitoring multiple WSO2 server instances via a single front-end'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-DIcno_fl5YE/TbHO7bO1lJI/AAAAAAAAAN0/pl1hbNfLmmU/s72-c/Try-OutScenario.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4564171879771291533</id><published>2011-04-16T11:36:00.000+05:30</published><updated>2011-04-16T11:36:15.143+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='workshop'/><title type='text'>SOA Security and Identity Workshop - European Tour</title><content type='html'>&lt;br/&gt;This is the second run on a series of workshops on a crosscutting concern of SOA-Security. Four workshops will be conducted in Paris, London, Zurich and Frankfurt from 3rd to 11th of May.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nGUmLjuqZPE/TakwnKBHNOI/AAAAAAAAANw/hlKnKWER2AI/s1600/Workshop-Banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-nGUmLjuqZPE/TakwnKBHNOI/AAAAAAAAANw/hlKnKWER2AI/s640/Workshop-Banner.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With data protection at the peak of scrutiny, identity and security are fundamental tools in the management of enterprise web applications.&lt;br /&gt;&lt;br /&gt;This full-day interactive workshop will highlight the growing challenges of identity and security management. We will demonstrate how enterprise architects and developers may overcome these challenges and gain insight in to key security standards and identity management for SOA. &lt;br /&gt;&lt;br /&gt;Topics to be covered :&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Identity, Single sign-on, SAML2, OpenID, OAuth, Information Card&lt;/li&gt;&lt;li&gt;Entitlement and Authorization – XACML&lt;/li&gt;&lt;li&gt;How Governance affects your Security?&lt;/li&gt;&lt;li&gt;Best practices for securing your SOA, REST and Cloud (Patterns)&lt;/li&gt;&lt;li&gt;Summary/ QA&lt;/li&gt;&lt;/ul&gt;For more info - &lt;a href="http://wso2.com/events/workshops/2011-may-europe-securitygatewaysolution-workshop/"&gt;http://wso2.com/events/workshops/2011-may-europe-securitygatewaysolution-workshop/&lt;/a&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4564171879771291533?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4564171879771291533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4564171879771291533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4564171879771291533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4564171879771291533'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/04/soa-security-and-identity-workshop.html' title='SOA Security and Identity Workshop - European Tour'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-nGUmLjuqZPE/TakwnKBHNOI/AAAAAAAAANw/hlKnKWER2AI/s72-c/Workshop-Banner.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3977909356542637649</id><published>2011-04-14T13:01:00.000+05:30</published><updated>2011-04-14T13:01:34.689+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='New year'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><title type='text'>Wishing you a very happy new year</title><content type='html'>&lt;br/&gt;First of all I like to Wish a very happy new year to everyone. This is the festive season of Sinhala and Hindu new year all for Sri Lankans. So is the WSO2 team also celebrating the new year dawn with their loved ones except for few guys at on-site work in US. &lt;br /&gt;Before starting the vacation we stayed few days at Heritance Kandalama Hotel. The climate was kinda calm but hot as Colombo. So I spent the afternoons swimming and during morning I spent on sightseeing around the hotel and the lake. Evening time was almost spent on playing cricket with friends.&lt;br /&gt;I went to this hotel when I was a kid, but I think now it's more greener and more closer to wildlife. (Don't put anything in balcony unnoticed as monkeys are gonna drag them away definitely :))&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-slkSHqJRckQ/TaahggjUR5I/AAAAAAAAANk/mvWDyZ6I91A/s1600/DSC03416.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-slkSHqJRckQ/TaahggjUR5I/AAAAAAAAANk/mvWDyZ6I91A/s320/DSC03416.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DCjIJgpMoF4/Taah1pKdR3I/AAAAAAAAANo/F_NYi9YektA/s1600/DSC03429.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-DCjIJgpMoF4/Taah1pKdR3I/AAAAAAAAANo/F_NYi9YektA/s320/DSC03429.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-D2AKQTuRWR8/TaaiJQPPz9I/AAAAAAAAANs/cblVb9CD9oA/s1600/DSC03432.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-D2AKQTuRWR8/TaaiJQPPz9I/AAAAAAAAANs/cblVb9CD9oA/s320/DSC03432.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As well the hotel is renowned for its grand architecture which is well blended with the natural environment by Geoffrey Bawa.&lt;br /&gt;After the trip, I moved back to home. I'm happy that my family still respect new year rituals. &lt;br /&gt;And I’m happy as all my family get together after a long time.&lt;br /&gt;&lt;br /&gt;Related links - &lt;a href="http://ddweerasiri.blogspot.com/2010/02/happy-new-year-sri-lanka.html"&gt;Happy new year Sri Lanka!&lt;/a&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3977909356542637649?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3977909356542637649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3977909356542637649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3977909356542637649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3977909356542637649'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/04/wishing-you-very-happy-new-year.html' title='Wishing you a very happy new year'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-slkSHqJRckQ/TaahggjUR5I/AAAAAAAAANk/mvWDyZ6I91A/s72-c/DSC03416.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8634066130714383771</id><published>2011-03-07T00:08:00.003+05:30</published><updated>2011-03-07T00:11:35.247+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Memory Growth - FireFox vs. Chrome</title><content type='html'>&lt;br/&gt;This is very quick and silly test you can try to analyse on the memory usage of Mozilla Firefox and Google Chrome.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Used environment&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Firefox 3.6.9&lt;/li&gt;&lt;li&gt;Google Chromium 7.0.517&lt;/li&gt;&lt;li&gt;Ubuntu 10.04&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Method&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Choose a list of 10 random very frequently used web pages which consisting a mixture of dynamic and static content.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Then measure the memory growth due to each new tab in both browsers.&lt;/li&gt;&lt;li&gt;During the test, a snapshot of cumulative memory growth due to new tab was measured using operating system level resource statistics.&lt;/li&gt;&lt;li&gt;Memory overhead due to add-ons was added to "Empty Tab" column.&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-EMX8r5IN0Ik/TXPUQsDPsgI/AAAAAAAAANg/_v3Mm00T1F4/s1600/chart_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="392" src="https://lh5.googleusercontent.com/-EMX8r5IN0Ik/TXPUQsDPsgI/AAAAAAAAANg/_v3Mm00T1F4/s640/chart_1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8634066130714383771?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8634066130714383771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8634066130714383771' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8634066130714383771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8634066130714383771'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/03/memory-growth-firefox-vs-chrome.html' title='Memory Growth - FireFox vs. Chrome'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-EMX8r5IN0Ik/TXPUQsDPsgI/AAAAAAAAANg/_v3Mm00T1F4/s72-c/chart_1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3164489336484987335</id><published>2011-03-02T23:54:00.011+05:30</published><updated>2011-03-16T13:50:28.449+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><title type='text'>How to deploy WSO2-BPS in Apache Tomcat</title><content type='html'>&lt;br/&gt;This blog post explains how to deploy &lt;a href="http://wso2.com/products/business-process-server/"&gt;WSO2-BPS&lt;/a&gt; in &lt;a href="http://tomcat.apache.org/"&gt;Apache Tomcat&lt;/a&gt; servlet container with a few configuration steps. Even for any other WSO2 product these steps will be compatible.&lt;br /&gt;&lt;br /&gt;Tested Environment&lt;br /&gt;- Ubuntu 10.04&lt;br /&gt;- WSO2BPS-2.0.2&lt;br /&gt;- Apache-Tomcat-6.0.12&lt;br /&gt;- Java version "1.6.0_21"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Extract the downloaded distribution of wso2bps-2.0.2 into a directory.&lt;/li&gt;&lt;li&gt;Copy  repository and resources  directories in to a new folder. Say it is carbon-repo (i.e:- /opt/temp-svn/products/carbon-repo)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Step 2&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Extract the downloaded distribution of apache-tomcat-6.0.32 into a directory, CATALINA_HOME.&lt;/li&gt;&lt;li&gt;Go to CATALINA_HOME\webapps directory and create a new folder, bps&lt;/li&gt;&lt;li&gt;Copy wso2bps-2.0.2/lib/core/WEB-INF to CATALINA_HOME/webapps/bps&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Step 3&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;We need to enable https in tomcat. Therefore, edit CATALINA_HOME\conf\server.xml by adding the following entry.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="brush: java"&gt;&amp;lt;connector maxhttpheadersize="8192" port="8443"&lt;br /&gt;maxThreads="150" minSpareThreads="25" maxSpareThreads="75"&lt;br /&gt;enableLookups="false" disableUploadTimeout="true"&lt;br /&gt;acceptCount="100" scheme="https" secure="true" SSLEnabled="true"&lt;br /&gt;clientAuth="false" sslProtocol="TLS"&lt;br /&gt;keystoreFile = "/opt/temp-svn/products/carbon-repo/resources/security/wso2carbon.jks"&lt;br /&gt;keystorePass="wso2carbon" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Make sure to give the exact location of wso2carbon.jks as highlighted above.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;b&gt;Step 4&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;We have done the configurations required in tomcat. Now, we must do the necessary configurations in a set of configuration files shipped with WSO2 BPS. We will update carbon.xml, axis2.xml, registry.xml and user-mgt.xml which can be found at carbon-repo\repository\conf directory.&lt;/li&gt;&lt;li&gt;First, open carbon.xml and update the ServerURL and WebContextRoot elements as follows. It is required to change the WebContextRoot to match with the web application directory name we have given in step2. In our case, it is bps.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="brush: java"&gt;&amp;lt;ServerURL&amp;gt;https://localhost:8443/bps/services/&amp;lt;/ServerURL&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;WebContextRoot&amp;gt;/bps&amp;lt;/WebContextRoot&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Note that we have configured tomcat to run on 8443 port. Save and close carbon.xml.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Open registry.xml and update DB URL as follows.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="brush: java"&gt;&amp;lt;dbConfig name="wso2registry"&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;jdbc:h2:/opt/temp-svn/products/carbon-repo/repository/database/WSO2CARBON_DB&amp;lt;/url&amp;gt;&lt;br /&gt;      &amp;lt;userName&amp;gt;wso2carbon&amp;lt;/userName&amp;gt;&lt;br /&gt;      &amp;lt;password&amp;gt;wso2carbon&amp;lt;/password&amp;gt;&lt;br /&gt;      &amp;lt;driverName&amp;gt;org.h2.Driver&amp;lt;/driverName&amp;gt;&lt;br /&gt;      &amp;lt;maxActive&amp;gt;50&amp;lt;/maxActive&amp;gt;&lt;br /&gt;      &amp;lt;maxWait&amp;gt;60000&amp;lt;/maxWait&amp;gt;&lt;br /&gt;      &amp;lt;minIdle&amp;gt;5&amp;lt;/minIdle&amp;gt;&lt;br /&gt;  &amp;lt;/dbConfig&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Open user-mgt.xml and update database URL as follows.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="brush: java"&gt;&amp;lt;Property name="url"&amp;gt;jdbc:h2:/opt/temp-svn/products/carbon-repo/repository/database/WSO2CARBON_DB&amp;lt;/Property&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Make sure to specify the absolute path of the WSO2CARBON_DB in both of the above elements.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Open axis.xml and change the ports in the http and https transport receivers as follows.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="brush: java"&gt;&amp;lt;transportReceiver name="http" class="org.wso2.carbon.core.transports.http.HttpTransportListener"&amp;gt;&lt;br /&gt;   &amp;lt;parameter name="port"&amp;gt;8080&amp;lt;/parameter&amp;gt;&lt;br /&gt;&amp;lt;/transportReceiver&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;transportReceiver name="https"&lt;br /&gt;class="org.wso2.carbon.core.transports.http.HttpsTransportListener"&amp;gt;&lt;br /&gt;   &amp;lt;parameter name="port"&amp;gt;8443&amp;lt;/parameter&amp;gt;&lt;br /&gt;&amp;lt;/transportReceiver&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step 5&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Add the jars included in CARBON_HOME/lib/endorsed to CATALINA_HOME/lib.&lt;/li&gt;&lt;li&gt;Now, open a new command window and change the directory to CATALINA_HOME/bin.&lt;/li&gt;&lt;li&gt;Define an environment variable called CARBON_HOME and set the path to your carbon-repo directory.&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eg - export CARBON_HOME=/opt/temp-svn/products/carbon-repo&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Start the Tomcat server and access https://localhost:8443/bps/services/ in browser.&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3164489336484987335?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3164489336484987335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3164489336484987335' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3164489336484987335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3164489336484987335'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/03/how-to-deploy-wso2-bps-in-apache-tomcat.html' title='How to deploy WSO2-BPS in Apache Tomcat'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6644564770128187448</id><published>2011-02-26T17:52:00.000+05:30</published><updated>2011-02-26T17:52:56.281+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>How to setup a BPEL project in Carbon Studio from an existing BPEL artifact</title><content type='html'>&lt;br/&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In this blog post is about how to setup a WSO2 Carbon Studio BPEL project from an existing BPEL artifact. &lt;br /&gt;Suppose there's a BPEL process, and you need to edit it via WSO2 Carbon Studio. We can't directly open a BPEL process via Carbon Studio. First you need to create a BPEL project and import the BPEL process to that BPEL project.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to create Carbon Studio BPEL project from an existing BPEL process&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Start Eclipse Carbon Studio. Here you need to make sure you have installed Carbon Studio in Eclipse version you use.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;In the menu bar goto File -&amp;gt; New -&amp;gt; Other -&amp;gt; BPEL Project . Then the following dialog will appear.&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-XETgKcZgyu4/TWjr1MQaf1I/AAAAAAAAANA/rwwCgm5j-64/s1600/NewBPELProject.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="https://lh3.googleusercontent.com/-XETgKcZgyu4/TWjr1MQaf1I/AAAAAAAAANA/rwwCgm5j-64/s320/NewBPELProject.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Click on Next. Then the following dialog will appear.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-_1PQgdZWGq0/TWjsDoJqqgI/AAAAAAAAANc/6Ysb10BxT00/s1600/PrjectConfigs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="https://lh5.googleusercontent.com/-_1PQgdZWGq0/TWjsDoJqqgI/AAAAAAAAANc/6Ysb10BxT00/s320/PrjectConfigs.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Add a Project name .Under Configuration click on Modify and put a check on BPEL 2.0 Facet. Click OK.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-OYpwsvz396o/TWjr7SoCMEI/AAAAAAAAANI/6ZH8hzL2-f0/s1600/BPELFacet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="https://lh4.googleusercontent.com/-OYpwsvz396o/TWjr7SoCMEI/AAAAAAAAANI/6ZH8hzL2-f0/s320/BPELFacet.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Then click Finish in “New BPEL Project” dialog box.&lt;/li&gt;&lt;li&gt;Now the Carbon Studio BPEL project has been created. And now we need to import the process files to this project.&lt;/li&gt;&lt;li&gt;For that; first extract a process we have provided.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Then in Carbon Studio; Right click on the project in the “Project Explorer” Window -&amp;gt; Import... Then the following wizard will pop up. Choose “File System”, then click Next.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-y8Y4jvIx3rE/TWjsCMbjS4I/AAAAAAAAANY/IsKKDCHMWR0/s1600/ImportBPEL.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272" src="https://lh4.googleusercontent.com/-y8Y4jvIx3rE/TWjsCMbjS4I/AAAAAAAAANY/IsKKDCHMWR0/s320/ImportBPEL.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Then the following dialog will appear. And give the location of the previously extracted BPEL process in 7. Then add all the files in that BPEL process. Then Click on Finish.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-Y6prZocH9Fc/TWjr41dB3PI/AAAAAAAAANE/qK45XbrOt8E/s1600/AddNewFiles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="https://lh5.googleusercontent.com/-Y6prZocH9Fc/TWjr41dB3PI/AAAAAAAAANE/qK45XbrOt8E/s320/AddNewFiles.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Now the Carbon Studio project is created and you can edit the BPEL process via our editor.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-wQ8qckdAneI/TWjsBDCVYmI/AAAAAAAAANU/h9PRgf8T93g/s1600/FinalProjectView.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="https://lh6.googleusercontent.com/-wQ8qckdAneI/TWjsBDCVYmI/AAAAAAAAANU/h9PRgf8T93g/s320/FinalProjectView.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to deploy and run BPEL projects&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;In Carbon Studio goto File -&amp;gt; Export. Then in the appearing dialog choose "WSO2 BPS BPEL Artifact". Then export the project.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-kJnEAnf4dro/TWjr-hzakVI/AAAAAAAAANQ/EzckebR0W3w/s1600/Export.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="https://lh5.googleusercontent.com/-kJnEAnf4dro/TWjr-hzakVI/AAAAAAAAANQ/EzckebR0W3w/s320/Export.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Add the created BPEL artifact to WSO2 BPS via Web UI. &lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-RWDdugvf7to/TWjr9Jq8IOI/AAAAAAAAANM/Y5DIEpJosB8/s1600/Deploy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="https://lh5.googleusercontent.com/-RWDdugvf7to/TWjr9Jq8IOI/AAAAAAAAANM/Y5DIEpJosB8/s320/Deploy.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6644564770128187448?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6644564770128187448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6644564770128187448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6644564770128187448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6644564770128187448'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/02/how-to-setup-bpel-project-in-carbon.html' title='How to setup a BPEL project in Carbon Studio from an existing BPEL artifact'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-XETgKcZgyu4/TWjr1MQaf1I/AAAAAAAAANA/rwwCgm5j-64/s72-c/NewBPELProject.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5699421009216495599</id><published>2011-02-25T03:36:00.001+05:30</published><updated>2011-02-25T03:39:58.518+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Iterator - Best practices</title><content type='html'>&lt;br/&gt;In a recent code review at WSO2, &lt;a href="http://wso2.com/about/engineers/afkham-azeez/"&gt;Afkham Azeez&lt;/a&gt; mentioned some java best practices. This was something I didn't knew before. There are two ways to use a &lt;a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html"&gt;java iterator&lt;/a&gt;. One method is using a While-loop. The other way is to use For-loop. But the first method can drive you into errors if not correctly handled. Look at the following code.&lt;br /&gt;&lt;pre class="brush: java"&gt;List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;    list.add(&amp;quot;1&amp;quot;);&lt;br /&gt;    list.add(&amp;quot;2&amp;quot;);&lt;br /&gt;    list.add(&amp;quot;3&amp;quot;);&lt;br /&gt;&lt;br /&gt;Iterator&amp;lt;String&amp;gt; iter = list.iterator();&lt;br /&gt;    while ( iter.hasNext() ){&lt;br /&gt;      System.out.println( iter.next() );&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;System.out.println(iter.next());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you see carefully, now the iterator can been used outside the while-loop and it might throw NoSuchElementException as iter.hasNext() is not called, in each iter.next() call.&lt;br /&gt;&lt;br /&gt;By using a for-loop we can avoid this by restricting the iterator to be accessed only inside the for-loop scope.&lt;br /&gt;&lt;br /&gt;eg - &lt;br /&gt;&lt;pre class="brush: java"&gt;List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;    list.add(&amp;quot;1&amp;quot;);&lt;br /&gt;    list.add(&amp;quot;2&amp;quot;);&lt;br /&gt;    list.add(&amp;quot;3&amp;quot;);&lt;br /&gt;&lt;br /&gt;for ( Iterator&amp;lt;String&amp;gt; iter = list.iterator(); iter.hasNext(); ) {&lt;br /&gt;      System.out.println( iter.next() );&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5699421009216495599?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5699421009216495599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5699421009216495599' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5699421009216495599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5699421009216495599'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/02/java-iterator-best-practices.html' title='Java Iterator - Best practices'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1362647047205198403</id><published>2011-01-28T22:12:00.000+05:30</published><updated>2011-01-28T22:12:22.411+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>Create Business Processes, Human Tasks, with many other features</title><content type='html'>&lt;br/&gt;Suppose you need to write a business process/human task with some quality of service features like security, throttling caching etc. Or suppose you need inject ESB characteristics like service mediation, routing, load balancing, message enrichment etc. to incoming and outgoing message sequences. &lt;br /&gt;Now what if you can do all these stuff with one server instance without using different products for different requirements, isn't it great?&lt;br /&gt;WSO2 Carbon is capable on this due to its component architecture. Not only that you can do these stuff using Carbon UI very easily.&lt;br /&gt;Due to &lt;a href="http://wso2.com/products/carbon/"&gt;WSO2 Carbon&lt;/a&gt;'s OSGi based component architecture, you can customize &lt;a href="http://wso2.com/products/"&gt;WSO2 products&lt;/a&gt; based on your requirements.&lt;br /&gt;&lt;br /&gt;Here I'm writing about how those stuff can be done in a very high level.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Security, Caching, Throttling to Business processes/Human tasks.&lt;/b&gt;&lt;br /&gt;WSO2 BPS is inherently support this, and you can use the BPS Web UI to configure, monitor and maintain business processes  with these features. The more interesting thing is; the whole set of WSO2 carbon products, have this unique interface. So once you get familiar with one product, you can use other products very easily. As an example, to enable throttling to service mashup, data service or SOAP service etc, user sees an unique interface.&lt;br /&gt;&lt;br /&gt;Here are some screen-shots of the service dashboard. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Main service dashboard&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TULjok4KbFI/AAAAAAAAAMs/KYpYc8GDOMc/s1600/ServiceDashboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://3.bp.blogspot.com/_r5O27iteHaI/TULjok4KbFI/AAAAAAAAAMs/KYpYc8GDOMc/s400/ServiceDashboard.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Security configuration&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TULjmc5_C-I/AAAAAAAAAMo/UtI7fI1f8ko/s1600/Security1Page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://4.bp.blogspot.com/_r5O27iteHaI/TULjmc5_C-I/AAAAAAAAAMo/UtI7fI1f8ko/s400/Security1Page.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Throttling configuration&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TULjqIRAyDI/AAAAAAAAAMw/Z3gAwgTP3F4/s1600/Throttling.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="123" src="http://4.bp.blogspot.com/_r5O27iteHaI/TULjqIRAyDI/AAAAAAAAAMw/Z3gAwgTP3F4/s400/Throttling.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Caching configuration&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TULjgxVMOQI/AAAAAAAAAMg/wSvyDnlc3s8/s1600/Caching.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://1.bp.blogspot.com/_r5O27iteHaI/TULjgxVMOQI/AAAAAAAAAMg/wSvyDnlc3s8/s400/Caching.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Try-it configuration&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TULjq4PnrBI/AAAAAAAAAM0/_EcVdn7Bj-Q/s1600/TryIt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="156" src="http://3.bp.blogspot.com/_r5O27iteHaI/TULjq4PnrBI/AAAAAAAAAM0/_EcVdn7Bj-Q/s400/TryIt.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. How to embed ESB like features&lt;/b&gt;&lt;br /&gt;How to install ESB features - To use WSO2 ESB features what you need to do is install ESB related features to BPS. But I would prefer install BPS features into ESB as the number of BPS features are less than ESB features. As any WSO2 product is a set of OSGi components; there is no any difference in installing BPS features to ESB product and installing ESB features to BPS product.&lt;br /&gt;&lt;br /&gt;Here is a screen-shot of feature management page&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TULjiwopAiI/AAAAAAAAAMk/ZFP3MkOCADA/s1600/FeatureDashboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://1.bp.blogspot.com/_r5O27iteHaI/TULjiwopAiI/AAAAAAAAAMk/ZFP3MkOCADA/s400/FeatureDashboard.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now if you are already familiar with WSO2 ESB; using ESB features on business processes/ human tasks is no different from using ESB features on any other service. &lt;br /&gt;eg - writing a proxy service for a business process and use message mediation in in-sequence and out-sequence. etc&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1362647047205198403?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1362647047205198403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1362647047205198403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1362647047205198403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1362647047205198403'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/01/create-business-processes-human-tasks.html' title='Create Business Processes, Human Tasks, with many other features'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/TULjok4KbFI/AAAAAAAAAMs/KYpYc8GDOMc/s72-c/ServiceDashboard.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6088182678348689862</id><published>2011-01-28T13:59:00.000+05:30</published><updated>2011-01-28T13:59:17.659+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>How to reuse Eclipse EMF.edit to write GEF editors</title><content type='html'>&lt;br/&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If you are into Eclipse Plugin development you’ve definitely heard of Eclipse Modeling Framework (EMF).&lt;br /&gt;EMF provides a framework to define, code-generate, extend etc, for user-defined structured data models.&lt;br /&gt;There are various ways to define the data model. One example would be using a define data model in XSD and use EMF to code generation.&lt;br /&gt;EMF handles the code-generation of the model as well it also generate a general GEF based editor to manipulate the model instances using a tree-view, list-view, table-view etc.&lt;br /&gt;Apart from it EMF provides many features to seamlessly extend the model.&lt;br /&gt;&lt;br /&gt;This blog-post talks about the basic initial steps to implement a eclipse editor using EMF.edit package. If you are not that much familiar with EMF.edit refer this &lt;a href="http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.Edit.html"&gt;documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Few features provided by EMF.edit is &lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Content provider and Label provider&lt;/li&gt;&lt;li&gt;Property Source&lt;/li&gt;&lt;li&gt;Command framework&lt;/li&gt;&lt;li&gt;Change notifier&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;1. Content provider and Label provider&lt;/b&gt;&lt;br /&gt;These classes are used to represent data to the end-user. Here I’m not going much deeper. I’ll show you a code snippet that can be used on top of EMF.edit code and reuse the content and label providers used by the EMF framework.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);&lt;br /&gt;adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());&lt;br /&gt;adapterFactory.addAdapterFactory(new NamespaceItemProviderAdapterFactory());&lt;br /&gt;&lt;br /&gt;TableViewer notificationsTableViewer;&lt;br /&gt;notificationsTableViewer = new TableViewer(parent, SWT.SINGLE);&lt;br /&gt;notificationsTableViewer.setContentProvider(new AdapterFactoryContentProvider(adaptorFactory));&lt;br /&gt;notificationsTableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adaptorFactory));&lt;br /&gt;notificationsTableViewer.setInput(notifications);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;2. Property Source&lt;/b&gt;&lt;br /&gt;Property source provider is used to represent the properties involved with a particular model object. In EMF.edit the item provider classes implements org.eclipse.emf.edit.provider.IItemPropertySource.&lt;br /&gt;Here is a code snippet that can be used to integrate property source providers generated from EMF framework. &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;propertySheetPage =new PropertySheetPage ();&lt;br /&gt;propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you go into provider classes generated from EMF.edit, you’ll see those classes have three methods, that implement the interface IItemPropertySource.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;List getPropertyDescriptors(Object object);&lt;br /&gt;IItemPropertyDescriptor getPropertyDescriptor(Object object, Object propertyID);&lt;br /&gt;Object getEditableValue(Object object);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So you can reuse/study the above three method implementations to represent properties for each element.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Command Framework&lt;/b&gt;&lt;br /&gt;If you have heard of &lt;a href="http://help.eclipse.org/galileo/topic/org.eclipse.gmf.doc/prog-guide/runtime/Developer%20Guide%20to%20Command%20Framework.html"&gt;Eclipse Command Framework&lt;/a&gt;, you’ve already realized how it is easy and cool to use eclipse commands to edit the EMF model objects.&lt;br /&gt;Here’s a sample code to add a new element to the parent. This code is not general for all commands. So you may need to refer some documentations on this.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;Group group = _200803Factory.eINSTANCE.createGroup();&lt;br /&gt;group.setName(“Group Name”);&lt;br /&gt;List&amp;lt;group&amp;gt; list = new BasicEList&amp;lt;group&amp;gt;();&lt;br /&gt;list.add(group);&lt;br /&gt; &lt;br /&gt;Command addGroup= AddCommand.create(domain, group, _200803Package.eINSTANCE.getGroups_Group(), list);&lt;br /&gt;if(addGroup.canExecute()){&lt;br /&gt;  domain.getCommandStack().execute(addGroup);&lt;br /&gt;}else {&lt;br /&gt;  System.out.println(&amp;quot;Cannot execute&amp;quot;);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;4. Change notifier&lt;/b&gt;&lt;br /&gt;In EMF.edit framework item provider adapters extends ItemProviderAdapter class which extends AdapterImpl. The method NotifyChange() is implemented in order to notify the viewers related to changes occurred to a model.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;public void notifyChanged(Notification notification) {&lt;br /&gt;  updateChildren(notification);&lt;br /&gt;  switch (notification.getFeatureID(TExtensibleElements.class)) {&lt;br /&gt;    case _200803Package.TEXTENSIBLE_ELEMENTS__DOCUMENTATION:&lt;br /&gt;    case _200803Package.TEXTENSIBLE_ELEMENTS__ANY:&lt;br /&gt;    case _200803Package.TEXTENSIBLE_ELEMENTS__ANY_ATTRIBUTE:&lt;br /&gt;    fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));&lt;br /&gt;  return;&lt;br /&gt;  }&lt;br /&gt;  super.notifyChanged(notification);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Take a look at the code of this method, you will find, fireNotifyChange() method is called with a parameter ViewerNotification, this method is defined in ItemProviderAdapter which implements the interface “IChangeNotifier”, both the viewers and property sheets are the listener of the IChangeNotifier (using addListener and removeListener method provided by ItemProviderAdapter to register as a listener of the item provider), and in the changeNotifier.fireNotifyChanged(notification) method will called all the listener’s notifyChange() method.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;public void fireNotifyChanged(Notification notification) {&lt;br /&gt;  if (changeNotifier != null) {&lt;br /&gt;    changeNotifier.fireNotifyChanged(notification);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if (adapterFactory instanceof IChangeNotifier) {&lt;br /&gt;    IChangeNotifier changeNotifier = (IChangeNotifier)adapterFactory;&lt;br /&gt;    changeNotifier.fireNotifyChanged(notification);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6088182678348689862?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6088182678348689862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6088182678348689862' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6088182678348689862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6088182678348689862'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/01/how-to-reuse-eclipse-emfedit-to-write.html' title='How to reuse Eclipse EMF.edit to write GEF editors'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1990217943892751317</id><published>2011-01-14T22:40:00.001+05:30</published><updated>2011-01-14T23:59:00.293+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><title type='text'>WSO2 Annual Award Ceremony 2010</title><content type='html'>&lt;br/&gt;WSO2 Annual Award Ceremony 2010; was held at Kings Court, Cinnamon Lakeside, Colombo on 14th January 2011. The most tremendous contributors in WSO2 were honored. I personally congratulate all of them for a better future. You can Google them if you wanna know more about them :).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Afkham Azeez&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Supun Kamburugamuwa&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Thilina Mahesh Buddhika&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Milinda Pathirage&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Saminda Wijerathne&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Chathuri Wimalasena&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Hiranya Jayathilaka&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Prabath Siriwardena&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Kasun Indrasiri&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Asanka Abeysinghe&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Sumedha Rubasinghe&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Selvaratnam Uthaiyashankar&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Samisa Abeysinghe&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Senaka Fernando&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Charitha Kankanamge&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Evanthika Amarasiri&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Krishantha Samaraweera&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Chamith Kumarage&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Nirosh Perera&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Janath Sivayoganathan&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Hasmin AbdulCader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Udeshika Ratnavira&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Devaka Randeniya&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Padmika Dissanaike&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;As well I congratulate all the WSO2 team members who are very supportive to each other.&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1990217943892751317?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1990217943892751317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1990217943892751317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1990217943892751317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1990217943892751317'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2011/01/wso2-annual-award-ceremony-2010.html' title='WSO2 Annual Award Ceremony 2010'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6692001657843979019</id><published>2010-12-31T12:39:00.002+05:30</published><updated>2010-12-31T12:39:43.891+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Horizontal Format Data Mining with Extended Bitmaps</title><content type='html'>&lt;br/&gt;My colleague Kathiravelu Pradeeban and the team; Buddhika Alwis, Supun Malinga and I presented the following slides at the 2nd International Conference of Soft Computing and Pattern Recognition, France.&lt;br /&gt;&lt;br /&gt;Paper abstract -&lt;br /&gt;Analysing the data warehouses to foresee the patterns of the transactions often needs high computational power and memory space due to the huge set of past history of the data transactions. Apriori algorithm is a mostly learned and implemented algorithm that mines the data warehouses to find the associations. Frequent item set mining with vertical data format has been proposed as an improvement over the basic Apriori algorithm.&lt;br /&gt;In this paper we are proposing an algorithm as an alternative to Apriori algorithm, which will use bitmap indices in conjunction with a horizontal format data set converted to a vertical format data structure to mine frequent itemsets leveraging efficiencies of bitmap based operations and vertical format data orientation.&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_6412695"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/ddweerasiri/horizontal-format-data-mining-with-extended-bitmaps" title="Horizontal format data mining with extended bitmaps"&gt;Horizontal format data mining with extended bitmaps&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse6412695" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=horizontalformatdataminingwithextendedbitmaps-101230235746-phpapp02&amp;rel=0&amp;stripped_title=horizontal-format-data-mining-with-extended-bitmaps&amp;userName=ddweerasiri" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse6412695" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=horizontalformatdataminingwithextendedbitmaps-101230235746-phpapp02&amp;rel=0&amp;stripped_title=horizontal-format-data-mining-with-extended-bitmaps&amp;userName=ddweerasiri" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ddweerasiri"&gt;Denis Weerasiri&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6692001657843979019?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6692001657843979019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6692001657843979019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6692001657843979019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6692001657843979019'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/horizontal-format-data-mining-with_31.html' title='Horizontal Format Data Mining with Extended Bitmaps'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3813549779955907951</id><published>2010-12-31T12:32:00.005+05:30</published><updated>2010-12-31T12:38:18.798+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Mooshabaya: Mashup Generator for XBaya</title><content type='html'>&lt;br/&gt;Last November, I and my team; Buddhika Alwis, Kathiravel Pradeeabn, Supun Malinga presented the following slides at the &lt;a href="http://2010.middleware-conference.org/"&gt;8th International Workshop on Middleware for Grids, Clouds and e-Science - Middleware 2010&lt;/a&gt;, India.&lt;br /&gt;&lt;br /&gt;Paper can be found in &lt;a href="http://portal.acm.org/citation.cfm?id=1890807"&gt;http://portal.acm.org/citation.cfm?id=1890807&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Paper abstract -&lt;br /&gt;Visual composition of workflows enables end user to visually depict the workflow as a graph of activities in a process. Tools that support visual composition translate those visual models to traditional workflow languages such as BPEL and execute them thus freeing the end user of the need of knowing workflow languages. Mashups on the other hand, provide a lightweight mechanism for ordinary user centric service composition and creation, hence considered to have an active role in the web 2.0 paradigm. In this paper, we extend a visual workflow composition tool to support mashups, thus providing a comprehensive tooling platform for mashup development backed up by workflow style modeling capabilities, while expanding the reach of the workflow domain into web 2.0 resources with the potential of the mashups. Furthermore, our work opens up a new possibility of converging the mashup domain and workflow domain, thus capturing beneficial aspects from each domain.&lt;br /&gt;&lt;br /&gt;&lt;div id="__ss_6412691" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0pt 4px;"&gt;&lt;a href="http://www.slideshare.net/ddweerasiri/mooshabaya-paper-presentation" title="Mooshabaya paper presentation"&gt;Mooshabaya paper presentation&lt;/a&gt;&lt;/b&gt;&lt;object height="355" id="__sse6412691" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mooshabayafinalpresentation-101230235608-phpapp01&amp;rel=0&amp;stripped_title=mooshabaya-paper-presentation&amp;userName=ddweerasiri" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse6412691" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mooshabayafinalpresentation-101230235608-phpapp01&amp;rel=0&amp;stripped_title=mooshabaya-paper-presentation&amp;userName=ddweerasiri" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="padding: 5px 0pt 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ddweerasiri"&gt;Denis Weerasiri&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3813549779955907951?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3813549779955907951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3813549779955907951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3813549779955907951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3813549779955907951'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/mooshabaya-mashup-generator-for-xbaya.html' title='Mooshabaya: Mashup Generator for XBaya'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4465422124157574388</id><published>2010-12-25T16:05:00.003+05:30</published><updated>2010-12-25T21:53:21.874+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><title type='text'>Twinkle lights - Eiffel Tower</title><content type='html'>&lt;br/&gt;The Eiffel tower twinkles for few minutes on the hour beginning after dark. I was able to see it four times in different angles. I've heard about it before, but couldn't imagine something like that. I filmed it for few seconds but this HD clip has captured its charm very nicely. Just ignore background voices for a moment :).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/zRvULOijKD4?fs=1&amp;amp;hl=en_US&amp;amp;hd=1&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/zRvULOijKD4?fs=1&amp;amp;hl=en_US&amp;amp;hd=1&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TRXHGlxdzSI/AAAAAAAAAMM/7-sDGPjNyWY/s1600/DSC03356.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_r5O27iteHaI/TRXHGlxdzSI/AAAAAAAAAMM/7-sDGPjNyWY/s320/DSC03356.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TRXGfJAe8mI/AAAAAAAAAMI/-pm3KKWQcqU/s1600/DSC03345.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_r5O27iteHaI/TRXGfJAe8mI/AAAAAAAAAMI/-pm3KKWQcqU/s320/DSC03345.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TRYZAKyb3UI/AAAAAAAAAMQ/s2vhTGheyVg/s1600/100_1707.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_r5O27iteHaI/TRYZAKyb3UI/AAAAAAAAAMQ/s2vhTGheyVg/s320/100_1707.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4465422124157574388?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4465422124157574388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4465422124157574388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4465422124157574388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4465422124157574388'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/twinkle-lights-eiffel-tower.html' title='Twinkle lights - Eiffel Tower'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r5O27iteHaI/TRXHGlxdzSI/AAAAAAAAAMM/7-sDGPjNyWY/s72-c/DSC03356.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-236358264633925064</id><published>2010-12-21T23:01:00.000+05:30</published><updated>2010-12-21T23:01:02.962+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><title type='text'>Louvre Museum: Paris</title><content type='html'>&lt;br/&gt;Few days back I went to Louvre museum, Paris; which is the largest art museum and the most visited museum in the world with over 35,000 exhibits. If you take different routes at the entrance, you can dive into different civilizations like Egyptian antiquities, Near Eastern antiquities, Greek, Etruscan, and Roman masterpieces etc. It's really amazing how they collected that amount of masterpieces like &lt;a href="http://en.wikipedia.org/wiki/Mona_Lisa"&gt;Mona Lisa(La Joconde)&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Venus_de_Milo"&gt;Venus de Milo&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/The_Wedding_at_Cana"&gt;The Wedding Feast at Cana&lt;/a&gt; etc., over several centuries.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TRDgBcTPaOI/AAAAAAAAAL0/R76f20nQTA0/s1600/DSC01375.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TRDgBcTPaOI/AAAAAAAAAL0/R76f20nQTA0/s400/DSC01375.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TRDgkZtn84I/AAAAAAAAAL4/4G-1jwe5lQk/s1600/100_1317.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TRDgkZtn84I/AAAAAAAAAL4/4G-1jwe5lQk/s400/100_1317.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;At the entrance&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I guess it would take at least a week to visit the whole museum. As we even didn't have a single complete day, we managed to visit the most famous exhibits. &lt;br /&gt;My favorite exhibit was The Wedding Feast at Cana which is the largest painting I've ever seen. The artist was Veronese(also Paolo Caliari, 1528-1588) who crowded 130 figures into this almost 10 meters-high painting.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TRDhXLeC94I/AAAAAAAAAL8/FGs0xyqXazA/s1600/DSC03225.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TRDhXLeC94I/AAAAAAAAAL8/FGs0xyqXazA/s400/DSC03225.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Wedding Feast at Cana&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;There were other quite beautiful paintings as well. But the Mona Lisa is the Louvre's most popular attraction. Another place, I liked most was the Napoleon's Apartments.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TRDhczUn12I/AAAAAAAAAMA/oqtGChi5-M4/s1600/NapApart.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TRDhczUn12I/AAAAAAAAAMA/oqtGChi5-M4/s400/NapApart.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Napoleon's Apartments&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-236358264633925064?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/236358264633925064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=236358264633925064' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/236358264633925064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/236358264633925064'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/louvre-museum-paris.html' title='Louvre Museum: Paris'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_r5O27iteHaI/TRDgBcTPaOI/AAAAAAAAAL0/R76f20nQTA0/s72-c/DSC01375.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6449631453937943864</id><published>2010-12-20T09:48:00.001+05:30</published><updated>2010-12-20T09:53:42.393+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><title type='text'>Château de Chantilly</title><content type='html'>&lt;br/&gt;Recently I went to Château de Chantilly, which has one of the finest collections of paintings in France after the Louvre. From outside and inside you can see, so many fine French architecture styles, statues etc. As well, most of the paintings have a story to tell themselves.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4gnWUzBcI/AAAAAAAAAKg/s68SPlRRZ9Y/s1600/100_1106.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4gnWUzBcI/AAAAAAAAAKg/s68SPlRRZ9Y/s400/100_1106.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4haog1jRI/AAAAAAAAAKk/hLJzcms41qc/s1600/100_1107.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4haog1jRI/AAAAAAAAAKk/hLJzcms41qc/s400/100_1107.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4h2Ec2rCI/AAAAAAAAAKo/MAAaZg0xM7Q/s1600/100_1134.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4h2Ec2rCI/AAAAAAAAAKo/MAAaZg0xM7Q/s400/100_1134.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4iSpoR_wI/AAAAAAAAAKw/ucKU3qwL29Q/s1600/DSC01247.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4iSpoR_wI/AAAAAAAAAKw/ucKU3qwL29Q/s400/DSC01247.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4iiJeLTpI/AAAAAAAAAK0/wVj6_LEfrps/s1600/DSC01249.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4iiJeLTpI/AAAAAAAAAK0/wVj6_LEfrps/s400/DSC01249.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4i4dgC58I/AAAAAAAAAK4/G-pU3KLjQ2Y/s1600/DSC01250.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4i4dgC58I/AAAAAAAAAK4/G-pU3KLjQ2Y/s400/DSC01250.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4jSrat9qI/AAAAAAAAAK8/HNgFFp_z-qg/s1600/DSC01251.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4jSrat9qI/AAAAAAAAAK8/HNgFFp_z-qg/s400/DSC01251.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4kYecvbYI/AAAAAAAAALA/17945XZ2MtI/s1600/DSC01253.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4kYecvbYI/AAAAAAAAALA/17945XZ2MtI/s400/DSC01253.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4k2QXisnI/AAAAAAAAALE/CM1VKAT-Z48/s1600/DSC01255.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4k2QXisnI/AAAAAAAAALE/CM1VKAT-Z48/s400/DSC01255.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4k8dMHMlI/AAAAAAAAALI/fHV_jC4aCSM/s1600/DSC01256-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4k8dMHMlI/AAAAAAAAALI/fHV_jC4aCSM/s400/DSC01256-1.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4iAUsfOsI/AAAAAAAAAKs/mbQlcA3deeM/s1600/100_1285.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4iAUsfOsI/AAAAAAAAAKs/mbQlcA3deeM/s400/100_1285.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4lMI6pgiI/AAAAAAAAALM/CtMb4-xqz2c/s1600/DSC01261.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4lMI6pgiI/AAAAAAAAALM/CtMb4-xqz2c/s400/DSC01261.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4lagvJbFI/AAAAAAAAALQ/zsfOEDfKaEw/s1600/DSC01262.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4lagvJbFI/AAAAAAAAALQ/zsfOEDfKaEw/s400/DSC01262.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4loyVyA8I/AAAAAAAAALU/wHL9eIXv_LI/s1600/DSC01263.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4loyVyA8I/AAAAAAAAALU/wHL9eIXv_LI/s400/DSC01263.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4l3Z-PHwI/AAAAAAAAALY/X9pnW_z376w/s1600/DSC01269.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4l3Z-PHwI/AAAAAAAAALY/X9pnW_z376w/s400/DSC01269.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4mIA1cNCI/AAAAAAAAALc/zXOujuG2UNA/s1600/DSC03053.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ4mIA1cNCI/AAAAAAAAALc/zXOujuG2UNA/s400/DSC03053.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4maoro4eI/AAAAAAAAALg/oSEgVlbuWFk/s1600/DSC03067.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4maoro4eI/AAAAAAAAALg/oSEgVlbuWFk/s400/DSC03067.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4mt7CzGRI/AAAAAAAAALk/fBMfX8W4svU/s1600/DSC03085.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4mt7CzGRI/AAAAAAAAALk/fBMfX8W4svU/s400/DSC03085.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4m-HWN7nI/AAAAAAAAALo/SJXdyAdBBAs/s1600/DSC03128.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ4m-HWN7nI/AAAAAAAAALo/SJXdyAdBBAs/s400/DSC03128.JPG" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4nOopgDkI/AAAAAAAAALs/g0BIy9aViwU/s1600/DSC03162.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TQ4nOopgDkI/AAAAAAAAALs/g0BIy9aViwU/s400/DSC03162.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4ng2WfTzI/AAAAAAAAALw/PZOb0F3l8Jc/s1600/DSC03168.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ4ng2WfTzI/AAAAAAAAALw/PZOb0F3l8Jc/s400/DSC03168.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6449631453937943864?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6449631453937943864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6449631453937943864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6449631453937943864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6449631453937943864'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/chateau-de-chantilly.html' title='Château de Chantilly'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/TQ4gnWUzBcI/AAAAAAAAAKg/s68SPlRRZ9Y/s72-c/100_1106.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1489693104451175796</id><published>2010-12-19T14:12:00.006+05:30</published><updated>2010-12-19T14:30:03.469+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='paris'/><title type='text'>Heaviest snow to Paris since 1986</title><content type='html'>&lt;br/&gt;On 8th December, I thought it was normal to snow like this in the Paris region. But it was the heaviest snowfall to Paris region after 1986. It was shut airport and bus systems and even the Eiffel tower. I was at Université de Cergy-Pontoise. I skipped the lecture, went outside and observed how the green grass turned into a single blanket of snow. Truly awesome experience!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3EuKQxeSI/AAAAAAAAAKc/Khb9GikIv4Q/s1600/100_0817.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3EuKQxeSI/AAAAAAAAAKc/Khb9GikIv4Q/s400/100_0817.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2-WFDMIBI/AAAAAAAAAJo/f0VbCQFyBa8/s1600/100_0575.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2-WFDMIBI/AAAAAAAAAJo/f0VbCQFyBa8/s400/100_0575.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ2-yeyz6nI/AAAAAAAAAJs/2HOmZkeyFvY/s1600/100_0545.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ2-yeyz6nI/AAAAAAAAAJs/2HOmZkeyFvY/s400/100_0545.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ2-_PXLBwI/AAAAAAAAAJw/sksAx_aQBE8/s1600/100_0594.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ2-_PXLBwI/AAAAAAAAAJw/sksAx_aQBE8/s400/100_0594.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2_M55b5fI/AAAAAAAAAJ0/2u02wmHx7oA/s1600/100_0597.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2_M55b5fI/AAAAAAAAAJ0/2u02wmHx7oA/s400/100_0597.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2_d7MBSCI/AAAAAAAAAJ4/0rVJBMho7WY/s1600/100_0853.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ2_d7MBSCI/AAAAAAAAAJ4/0rVJBMho7WY/s400/100_0853.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ2_y6ctHsI/AAAAAAAAAJ8/4GMPgDVm9Pc/s1600/100_0861.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ2_y6ctHsI/AAAAAAAAAJ8/4GMPgDVm9Pc/s400/100_0861.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TQ3AEYXWjQI/AAAAAAAAAKA/BkPTsUgpguo/s1600/100_0871.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TQ3AEYXWjQI/AAAAAAAAAKA/BkPTsUgpguo/s400/100_0871.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3Afh-th_I/AAAAAAAAAKE/woCbD0Ffm7g/s1600/100_0873.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3Afh-th_I/AAAAAAAAAKE/woCbD0Ffm7g/s400/100_0873.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TQ3AuXJ1jKI/AAAAAAAAAKI/cuHg1BYRiCI/s1600/100_0876.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TQ3AuXJ1jKI/AAAAAAAAAKI/cuHg1BYRiCI/s400/100_0876.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3A6O_AHXI/AAAAAAAAAKM/JZzWesU060A/s1600/100_0883.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ3A6O_AHXI/AAAAAAAAAKM/JZzWesU060A/s400/100_0883.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ3BH-PdgXI/AAAAAAAAAKQ/Tn8eFjoidJI/s1600/100_0897.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ3BH-PdgXI/AAAAAAAAAKQ/Tn8eFjoidJI/s400/100_0897.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ3BkOj4IBI/AAAAAAAAAKU/m-dl8p7eHBM/s1600/100_0925.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ3BkOj4IBI/AAAAAAAAAKU/m-dl8p7eHBM/s400/100_0925.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;After two days sun started to shine again.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; display: inline; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TQ21hG_hVsI/AAAAAAAAAJc/4FYjXHHLzFU/s1600/DSC01212.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TQ21hG_hVsI/AAAAAAAAAJc/4FYjXHHLzFU/s400/DSC01212.JPG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TQ22I-L3nMI/AAAAAAAAAJg/qnjmIj_Rnu0/s1600/DSC01213.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TQ22I-L3nMI/AAAAAAAAAJg/qnjmIj_Rnu0/s400/DSC01213.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TQ23Q40OZQI/AAAAAAAAAJk/PuClngs1lbQ/s1600/100_1057.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TQ23Q40OZQI/AAAAAAAAAJk/PuClngs1lbQ/s400/100_1057.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1489693104451175796?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1489693104451175796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1489693104451175796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1489693104451175796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1489693104451175796'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/heaviest-snow-to-paris-since-1986.html' title='Heaviest snow to Paris since 1986'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/TQ3EuKQxeSI/AAAAAAAAAKc/Khb9GikIv4Q/s72-c/100_0817.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6151998066067005203</id><published>2010-12-02T15:15:00.003+05:30</published><updated>2010-12-04T23:16:18.196+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPath'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Some XPath functions useful in BPEL</title><content type='html'>&lt;br/&gt;In BPEL programming, XPath is heavily used to manipulate XMLs. Here are some WS-BPEL specific XPath functions  and common xpath functions that’ll be helpful in writing BPELs . Remember based on the BPEL run-time engine; functionalities of these functions might be changed.&lt;br /&gt;&lt;br /&gt;There are some valuable BPEL run time engine related XPath functions, you need to know in XML manipulations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bpel:getVaribleData(varName, partName, xpathStr)&lt;/b&gt; - This function is not defined in WS-BPEL-2.0 specification. But this works in WSO2-BPS and Apache-ODE. It can be used to extract a set of elements from a variable, using a XPath expression.&lt;br /&gt;&lt;br /&gt;eg -&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:copy&amp;gt;&lt;br /&gt;    &amp;lt;bpel:from&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[count(bpel:getVariableData(‘$Variable','$partName')/ns:return)]]&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:from&amp;gt;&lt;br /&gt;    &amp;lt;bpel:to variable="itemCount"&amp;gt;&amp;lt;/bpel:to&amp;gt;&lt;br /&gt;&amp;lt;/bpel:copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Remember to use ‘’ when passing varName and partName. And here “/ns:return” is the xpath expression.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bpel:getLinkStatus()&lt;/b&gt; - This is also not defined in WS-BPEL-2.0 specification. It evaluates and return a boolean whether a particular link is active/inactive.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bpel:getVariableProperty(string, string)&lt;/b&gt; - This is helpful in extracting properties in Variables.&lt;br /&gt;&lt;br /&gt;eg - (From http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html)&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;condition&amp;gt;&lt;br /&gt;    bpel:getVariableProperty('stockResult','inventory:level') &amp;gt; 100&lt;br /&gt;&amp;lt;/condition&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Remember to use ‘’ when passing parameters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bpel:doXSLTTransform()&lt;/b&gt; - perform XSLT transformations.&lt;br /&gt;&lt;br /&gt;eg - (From http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html)&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;copy&amp;gt;&lt;br /&gt;    &amp;lt;from&amp;gt;&lt;br /&gt;        bpel:doXslTransform("urn:stylesheets:A2B.xsl", $A)&lt;br /&gt;    &amp;lt;/from&amp;gt;&lt;br /&gt;    &amp;lt;to variable="B"/&amp;gt;&lt;br /&gt;&amp;lt;/copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;round(input)&lt;/b&gt; - used to get an integer closest to the $input. This is become important in converting numbers into integers.&lt;br /&gt;&lt;br /&gt;eg - In arrays mostly need to use this operation to traverse.&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:copy&amp;gt;&lt;br /&gt;    &amp;lt;bpel:from&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[$profileProcessorInput.payload/tns:profiles/tns:profile[round($itemIterator)]/]]&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:from&amp;gt;&lt;br /&gt;    &amp;lt;bpel:to variable="itemLine"&amp;gt;&lt;br /&gt;        &amp;lt;bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"&amp;gt;&lt;br /&gt;            &amp;lt;![CDATA[@name]]&amp;gt;&amp;lt;/bpel:query&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:to&amp;gt;&lt;br /&gt;&amp;lt;/bpel:copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;string()&lt;/b&gt; - In WSO2 BPS and Apache ODE this method can be used to extract text content out-of elements rather using /text() .&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;string-length()&lt;/b&gt; - Name suggests what it does. But != operator seems not to work with the output from this function. So you can use &amp;gt; or &amp;lt; rather using != .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Avoid name-spaces in xpath manipulation&lt;/b&gt; - It becomes cumbersome sometime to concern on name-spaces when it’s not that much essential. We can use Regular expressions to bypass the name-space verification on XPath.  eg - &lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:copy&amp;gt;&lt;br /&gt;&amp;lt;bpel:from part="payload" variable="profileContext"&amp;gt;&lt;br /&gt;&amp;lt;bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"&amp;gt;&lt;br /&gt;&amp;lt;![CDATA[tns:profiles/*[local-name() = 'Profile'][round($itemIterator)]/*[local-name() = 'club_code']]]&amp;gt;&lt;br /&gt;&amp;lt;/bpel:query&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/bpel:from&amp;gt;&lt;br /&gt;&amp;lt;bpel:to part="parameters" variable="Request"&amp;gt;&lt;br /&gt;&amp;lt;bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"&amp;gt;&lt;br /&gt;&amp;lt;![CDATA[ns2:BuildingNo]]&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/bpel:query&amp;gt;&lt;br /&gt;&amp;lt;/bpel:to&amp;gt;&lt;br /&gt;&amp;lt;/bpel:copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;contains($regEx, $string)&lt;/b&gt; - use to match a $string  with a particular $substring. Here you can use Reg-Ex as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;count()&lt;/b&gt; - Returns the count of nodes. Here’s an example of it.&lt;br /&gt;&lt;br /&gt;eg - &lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:copy&amp;gt;&lt;br /&gt;    &amp;lt;bpel:from&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[count(bpel:getVariableData('$VariableName','$partName')/ns:SubChildElementName)]]&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:from&amp;gt;&lt;br /&gt;    &amp;lt;bpel:to variable="itemCount"&amp;gt;&amp;lt;/bpel:to&amp;gt;&lt;br /&gt;&amp;lt;/bpel:copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6151998066067005203?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6151998066067005203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6151998066067005203' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6151998066067005203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6151998066067005203'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/12/some-xpath-functions-useful-in-bpel.html' title='Some XPath functions useful in BPEL'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8273337110374109353</id><published>2010-11-25T00:39:00.003+05:30</published><updated>2010-11-25T00:43:20.941+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><title type='text'>If you are into BPEL programming</title><content type='html'>&lt;br/&gt;Tools are to make your life easier. In &lt;a href="http://www.oasis-open.org/committees/wsbpel/"&gt;BPEL&lt;/a&gt; programming tooling is very important, as BPEL can be categorized as a visual programming language, thouhg there’s no such standard on visual notations like in BPMN.&lt;br /&gt;Recently I used &lt;a href="http://wso2.com/products/carbon-studio/"&gt;Carbon studio&lt;/a&gt; on &lt;a href="http://www.eclipse.org/galileo/"&gt;Eclipse Galelio&lt;/a&gt; which made it very much easy to model a workflow and generate the BPEL for it. Things like schema processing/visualization for variable types, helps a lot in manipulating them and to avoid alot of selectionFailuers which are the most common errors I encounter in running a BPEL on BPS.&lt;br /&gt;And things like BPEL exporter, saves a lot of time in deploying a process archive and test it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8273337110374109353?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8273337110374109353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8273337110374109353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8273337110374109353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8273337110374109353'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/11/if-you-are-into-bpel-programming.html' title='If you are into BPEL programming'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4884164537579854992</id><published>2010-11-25T00:21:00.005+05:30</published><updated>2010-11-25T00:36:52.837+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><title type='text'>Avoid namespace verification in xpath processing</title><content type='html'>&lt;br/&gt;Recently I dealt with a lot of xpath expressions, when implementing and it becomes cumbersome sometime to concern on namespaces when it’s not that much essential. We can use Regular expressions to bypass the namespace verfication on xpath.&lt;br /&gt;&lt;br /&gt;eg -&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:from part=&amp;quot;payload&amp;quot; variable=&amp;quot;profileProcessorInput&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;bpel:query queryLanguage=&amp;quot;urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[tns:profiles/ns1:Profile[round($itemIterator)]/ns1:club_code]]&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:query&amp;gt;&lt;br /&gt;&amp;lt;/bpel:from&amp;gt;  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Can be replaced by&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&amp;lt;bpel:from part=&amp;quot;payload&amp;quot; variable=&amp;quot;profileProcessorInput&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;bpel:query queryLanguage=&amp;quot;urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[tns:profiles/*[local-name() = &amp;#39;Profile&amp;#39;][round($itemIterator)]/*[local-name() = &amp;#39;club_code&amp;#39;]]]&amp;gt;&lt;br /&gt;    &amp;lt;/bpel:query&amp;gt;&lt;br /&gt;&amp;lt;/bpel:from&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4884164537579854992?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4884164537579854992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4884164537579854992' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4884164537579854992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4884164537579854992'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/11/avoid-namespace-verification-in-xpath.html' title='Avoid namespace verification in xpath processing'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6660508392315192810</id><published>2010-11-13T01:59:00.003+05:30</published><updated>2010-11-13T02:08:29.981+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>University Memos</title><content type='html'>&lt;br/&gt;Today; while my friend &lt;a href="http://sites.google.com/site/manganganath/"&gt;Nuwan Ganganath&lt;/a&gt; was using my phone, suddenly found few photos; which were taken around four months back. I captured them at the undergraduate division. :).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TN2h0GFmUWI/AAAAAAAAAJI/tOHjKtWMzQs/s1600/IMG_0123.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_r5O27iteHaI/TN2h0GFmUWI/AAAAAAAAAJI/tOHjKtWMzQs/s320/IMG_0123.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TN2h47ODDiI/AAAAAAAAAJM/5CQ1YRznHUQ/s1600/IMG_0124.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_r5O27iteHaI/TN2h47ODDiI/AAAAAAAAAJM/5CQ1YRznHUQ/s320/IMG_0124.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TN2h9pRJ6-I/AAAAAAAAAJQ/2c8Jz11B6dE/s1600/IMG_0125.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_r5O27iteHaI/TN2h9pRJ6-I/AAAAAAAAAJQ/2c8Jz11B6dE/s320/IMG_0125.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TN2iCGqBz2I/AAAAAAAAAJU/7mgBCNxTJgA/s1600/IMG_0126.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_r5O27iteHaI/TN2iCGqBz2I/AAAAAAAAAJU/7mgBCNxTJgA/s320/IMG_0126.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6660508392315192810?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6660508392315192810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6660508392315192810' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6660508392315192810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6660508392315192810'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/11/university-memos.html' title='University Memos'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r5O27iteHaI/TN2h0GFmUWI/AAAAAAAAAJI/tOHjKtWMzQs/s72-c/IMG_0123.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4836767630877509778</id><published>2010-10-30T00:15:00.001+05:30</published><updated>2010-10-30T00:36:16.749+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Visualizing the finished face</title><content type='html'>&lt;br/&gt;Some cool face-paintings at the BB tournament finals, I got them from &lt;a href="http://engwar.com/"&gt;Chinthana&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU20eleSI/AAAAAAAAAIs/eGi05SB8v5Y/s1600/67792_443925401710_626286710_5852211_291169_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU20eleSI/AAAAAAAAAIs/eGi05SB8v5Y/s200/67792_443925401710_626286710_5852211_291169_n.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU4h83jLI/AAAAAAAAAIw/-nGwv7Yg_ms/s1600/69485_443927486710_626286710_5852292_5299256_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU4h83jLI/AAAAAAAAAIw/-nGwv7Yg_ms/s200/69485_443927486710_626286710_5852292_5299256_n.jpg" width="132" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TMsU6S_cUQI/AAAAAAAAAI0/ubfcTyLuXGE/s1600/72291_443925566710_626286710_5852217_3305555_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_r5O27iteHaI/TMsU6S_cUQI/AAAAAAAAAI0/ubfcTyLuXGE/s200/72291_443925566710_626286710_5852217_3305555_n.jpg" width="132" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TMsU8SocvdI/AAAAAAAAAI4/ARWM2k4m09M/s1600/74176_443926751710_626286710_5852267_1868956_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://3.bp.blogspot.com/_r5O27iteHaI/TMsU8SocvdI/AAAAAAAAAI4/ARWM2k4m09M/s200/74176_443926751710_626286710_5852267_1868956_n.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TMsU9tN4sGI/AAAAAAAAAI8/VoiCDqBz5yw/s1600/74205_443924961710_626286710_5852193_3005371_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://4.bp.blogspot.com/_r5O27iteHaI/TMsU9tN4sGI/AAAAAAAAAI8/VoiCDqBz5yw/s200/74205_443924961710_626286710_5852193_3005371_n.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU_lzKaRI/AAAAAAAAAJA/aCN9Sn9Mf7I/s1600/74460_443924936710_626286710_5852192_926258_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_r5O27iteHaI/TMsU_lzKaRI/AAAAAAAAAJA/aCN9Sn9Mf7I/s200/74460_443924936710_626286710_5852192_926258_n.jpg" width="132" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TMsVgew5DNI/AAAAAAAAAJE/sKXkQL7QlWw/s1600/IMG_0154.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_r5O27iteHaI/TMsVgew5DNI/AAAAAAAAAJE/sKXkQL7QlWw/s320/IMG_0154.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4836767630877509778?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4836767630877509778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4836767630877509778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4836767630877509778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4836767630877509778'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/10/visualizing-finished-face.html' title='Visualizing the finished face'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_r5O27iteHaI/TMsU20eleSI/AAAAAAAAAIs/eGi05SB8v5Y/s72-c/67792_443925401710_626286710_5852211_291169_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4516803866543801054</id><published>2010-10-28T10:40:00.003+05:30</published><updated>2010-10-28T10:44:10.102+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='BPS'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Understanding BPELMessageReceiver in BPS</title><content type='html'>&lt;br/&gt;/*Still unfinished stuff, will take time to finish it.*/&lt;br /&gt;Once you invoke a bpel process in WSO2-BPS this is what happens.&lt;br /&gt;&lt;br /&gt;It needs to invoke its business logic implemented in bpel. This is somewhat different and somewhat similar to invoking and invoking and Web-Service.&lt;br /&gt;Invoking a bpel process means is just like invoking a WS. So you can use WS client or any other mechanism to call to the WS-interface which is defined by WSDL1.1.&lt;br /&gt;Once the process is invoked, the org.wso2.carbon.bpel.ode.integration.axis2.receivers.BPELMessageReceiver handle the business logic.&lt;br /&gt;Let’s first understand how the BPELMessageReceiver is executed.&lt;br /&gt;Once you start the BPEL server (ODE server), org.wso2.carbon.bpel.ode.integration.BPELServerImpl#initBPELServer, the binding context for the server is set using org.apache.ode.bpel.engine.BpelServerImpl#setBindingContext. There we pass a org.wso2.carbon.bpel.ode.integration.BPELBindingContextImpl object. There org.wso2.carbon.bpel.ode.integration.BPELBindingContextImpl#activateMyRoleEndpoint -&gt; org.wso2.carbon.bpel.ode.integration.BPELBindingContextImpl#publishAxisService -&gt; org.wso2.carbon.bpel.ode.integration.utils.AxisServiceUtils#createAxisService. There the org.wso2.carbon.bpel.ode.integration.axis2.receivers.BPELMessageReceiver object is set as the message receiver for each myRole-endPoint.&lt;br /&gt;So once you invoke a bpel process, BPELMessageReceiver take the responsibility of invoking the business logic.&lt;br /&gt;&lt;br /&gt;What happens at org.wso2.carbon.bpel.ode.integration.axis2.receivers.BPELMessageReceiver#invokeBusinessLogic&lt;br /&gt;org.apache.axiom.soap.SOAPFactory object is also created from inMessageContext, for partner service invocation.&lt;br /&gt;There using the inMessageContext of the invocation, BPELMessageContext is generated. It also check whether the operation is in-only or in-out operation. Based on these kind of checkings it generates is custom message context. This is basically just a DTO used when invoking the business logic.&lt;br /&gt;&lt;br /&gt;Then the business logic is handles based on whether the operation is in-only or in-out.&lt;br /&gt;&lt;br /&gt;In both cases org.wso2.carbon.bpel.ode.integration.BPELProcessProxy#onAxisServiceInvoke is invoked. So let’s look at what happens at this method execution.&lt;br /&gt;&lt;br /&gt;Inside org.wso2.carbon.bpel.ode.integration.BPELProcessProxy#onAxisServiceInvoke few important things happens.&lt;br /&gt;One thing is transactionManager.begin() - It creates a new transaction and associate it with the current thread. Default transactionManager is configured org.apache.ode.il.EmbeddedGeronimoFactory in org.wso2.carbon.bpel.ode.integration.config.BPELServerConfiguration.&lt;br /&gt;&lt;br /&gt;Then it invokes the BPEL process using the created odeMessageExchange. Here a java.util.concurrent.Future object as follows.&lt;br /&gt;&lt;br /&gt;responseFuture = invokeBPELProcessThroughODEMessageExchange(&lt;br /&gt;&lt;br /&gt;                       odeMessageExchange,&lt;br /&gt;&lt;br /&gt;                       bpelMessageContext);&lt;br /&gt;&lt;br /&gt;success = commitODEMessageExchange(odeMessageExchange);&lt;br /&gt;&lt;br /&gt;So using responseFuture, process is invoked asynchronously and wait for the response if there is a response.&lt;br /&gt;If there is a response, it’ll be handled.&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4516803866543801054?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4516803866543801054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4516803866543801054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4516803866543801054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4516803866543801054'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/10/understanding-bpelmessagereceiver-in.html' title='Understanding BPELMessageReceiver in BPS'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3788001889181816379</id><published>2010-10-23T14:17:00.002+05:30</published><updated>2010-10-23T14:19:48.651+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>How to design a good API and Why it matters</title><content type='html'>&lt;br/&gt;This is an useful Google Tech talk from &lt;a href="http://en.wikipedia.org/wiki/Joshua_Bloch"&gt;Joshua Bloch&lt;/a&gt; about API design.&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="505"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aAb7hSCtvGw?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aAb7hSCtvGw?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3788001889181816379?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3788001889181816379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3788001889181816379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3788001889181816379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3788001889181816379'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/10/how-to-design-good-api-and-why-it.html' title='How to design a good API and Why it matters'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4574235356269735816</id><published>2010-10-14T00:33:00.006+05:30</published><updated>2010-10-14T00:46:50.029+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='#wso2'/><title type='text'>After One month of work...</title><content type='html'>&lt;br/&gt;It is exactly one month since I joined WSO2 Inc. Most of the time I blog about techno stuff. Felt should write some short non-techno stuff as well.&lt;br /&gt;Regarding the SW development at WSO2 is a continuous learning process. Everyday I learn something new. That’s something I really appreciate. And it’s not just about the coding. There’s so many thing apart from coding to learn.&lt;br /&gt;&lt;br /&gt;Apart from that, the company environment is almost a fun house. It becomes very noisy sometimes; people shouting, dancing, playing and do all the stuff. I still remember during the first carbon release, suddenly people start to sing, dance and after sometime go back to coding again. And it happens again and again :).&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_r5O27iteHaI/TLYAo17-nEI/AAAAAAAAAIg/cpnFS1KcanQ/s640/IMG_0135.JPG" style="margin-left: auto; margin-right: auto;" width="640" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;During the BB tournament&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TLYAo17-nEI/AAAAAAAAAIg/cpnFS1KcanQ/s1600/IMG_0135.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Normally if the my code logic start to go crazy, what I would do is; grab some food and play some table tennis, foosball or Guitar Hero or whatever. Then mind become clean and clear to think on what I was trying to figure it out. Company environment is that much free and flexible.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_r5O27iteHaI/TLYA2uDsWtI/AAAAAAAAAIk/U3UqskY-lj8/s640/IMG_0134.JPG" style="margin-left: auto; margin-right: auto;" width="640" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Some guitar heroes... :)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TLYA2uDsWtI/AAAAAAAAAIk/U3UqskY-lj8/s1600/IMG_0134.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;The communication is also open; happens often via different mailing  lists for different areas. There’s a flat structure so anyone can fire  their thoughts publicly and equally regarded. (I still don’t understand  most of the discussions going on the mailing list; specially  architectural stuffs :) ).&lt;br/&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4574235356269735816?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4574235356269735816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4574235356269735816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4574235356269735816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4574235356269735816'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/10/after-one-month-of-work.html' title='After One month of work...'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r5O27iteHaI/TLYAo17-nEI/AAAAAAAAAIg/cpnFS1KcanQ/s72-c/IMG_0135.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1085652532841860952</id><published>2010-10-03T11:27:00.002+05:30</published><updated>2010-10-03T11:28:42.466+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='academics'/><title type='text'>Tips for Neural networks</title><content type='html'>&lt;br/&gt;I find these videos from Prof.S. Sengupta, Department of Electronics and Electrical Communication Engineering, IIT , will be very useful to get to know about Neural Networks with a maths-based perspective. &lt;a href="http://www.youtube.com/watch?v=xbYgKoG4x2g"&gt;http://www.youtube.com/watch?v=xbYgKoG4x2g&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1085652532841860952?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1085652532841860952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1085652532841860952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1085652532841860952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1085652532841860952'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/10/tips-for-neural-networks.html' title='Tips for Neural networks'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3755096453825970623</id><published>2010-09-21T15:33:00.000+05:30</published><updated>2010-09-21T15:33:19.425+05:30</updated><title type='text'>Mooshabaya 1 min Promo</title><content type='html'>&lt;br/&gt;Here is our final year project 1 min promo.&lt;br/&gt; &lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/F44tOdipr8M?fs=1&amp;amp;hl=en_US&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/F44tOdipr8M?fs=1&amp;amp;hl=en_US&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3755096453825970623?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3755096453825970623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3755096453825970623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3755096453825970623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3755096453825970623'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/09/mooshabaya-1-min-promo.html' title='Mooshabaya 1 min Promo'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6688668191943113875</id><published>2010-09-19T01:22:00.001+05:30</published><updated>2010-09-19T01:23:26.791+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><title type='text'>Few tips for Advanced Algorithms</title><content type='html'>&lt;br/&gt;If you are doing “Introduction to Algorithms and Data Structures” or “Advanced Algorithms”, there video lectures will be very useful.&lt;br /&gt;&lt;a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/"&gt;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/&lt;/a&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;a href="http://www.youtube.com/results?search_type=search_playlists&amp;amp;search_query=mit%27s+introduction+to+algorithms&amp;amp;page=1"&gt;http://www.youtube.com/results?search_type=search_playlists&amp;amp;search_query=mit%27s+introduction+to+algorithms&amp;amp;page=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apart from it , I find the data structures like splay trees, B trees are very useful.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=G5QIXywcJlY"&gt;http://www.youtube.com/watch?v=G5QIXywcJlY&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this is a java applet you can try out with different data structures.&lt;br /&gt;&lt;a href="http://people.ksp.sk/%7Ekuko/bak/big/"&gt;http://people.ksp.sk/~kuko/bak/big/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To simulate Max-Flow Min-Cut algorithm&lt;br /&gt;&lt;a href="http://www.cse.yorku.ca/%7Eaaw/Wang/MaxFlowStart.htm"&gt;http://www.cse.yorku.ca/~aaw/Wang/MaxFlowStart.htm&lt;/a&gt; AND &lt;a href="http://optlab-server.sce.carleton.ca/POAnimations2007/MaxFlow.html"&gt;http://optlab-server.sce.carleton.ca/POAnimations2007/MaxFlow.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6688668191943113875?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6688668191943113875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6688668191943113875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6688668191943113875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6688668191943113875'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/09/few-tips-for-advanced-algorithms.html' title='Few tips for Advanced Algorithms'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4171477926354726414</id><published>2010-09-14T23:04:00.000+05:30</published><updated>2010-09-14T23:04:30.489+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='hikes'/><title type='text'>Hike to Thotupola Kanda</title><content type='html'>&lt;br/&gt;Few months back, I and few friends of mine went on a hike to Thotupola kanda, which is the third highest mountain in Sri Lanka.&lt;br /&gt;It was kind of interesting, but had to walk almost 34km throughout the day. &lt;br /&gt;We started the journey from Colombo, around 8pm so we can reach the starting point in the next morning. &lt;br /&gt;My friend; Rohan Wickramasinghe the most travelholic guy in the team had reserved 2nd class tickets. But unfortunately he had reserved them for the next date. So finally we decided to travel on 3rd class and move on.&lt;br /&gt;3rd class service was not that good for a long journey like that. Anyway it was quite an experience.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-odlQFp7I/AAAAAAAAAF4/_cKfZ10CLjQ/s1600/1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-odlQFp7I/AAAAAAAAAF4/_cKfZ10CLjQ/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;On the way to Ohiya...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;When the train moves towards up country; it needs an extra engine to be coupled. So at Rambukkana and Pattipola, the train is stopped for several minutes more to couple and decouple the extra engine.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-pMbdTRoI/AAAAAAAAAGA/sLQ-2tB0wwc/s1600/2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-pMbdTRoI/AAAAAAAAAGA/sLQ-2tB0wwc/s400/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Coupling and De-coupling...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;After pattipola, we reached to Ohiya; one of the highest villege in te Badulla district in SL and high 1774m above sea level.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TI-plPl6C0I/AAAAAAAAAGI/PfQku0lVeV0/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TI-plPl6C0I/AAAAAAAAAGI/PfQku0lVeV0/s400/3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In Ohiya; there was a small shop and the shop owner rented one room of his home for us. We rested there for a while and started our hike.&lt;br /&gt;Initially it was sunny and windy. We could see the far beyond the horizons. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-p9mRZJTI/AAAAAAAAAGQ/yJZl9zFv9J4/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-p9mRZJTI/AAAAAAAAAGQ/yJZl9zFv9J4/s400/4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;But the sunny part left us and suddenly it became so foggy.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-roTc_EXI/AAAAAAAAAGY/UgWELxvRAsw/s1600/5.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-roTc_EXI/AAAAAAAAAGY/UgWELxvRAsw/s400/5.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;On the way to Horton plains...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;After few hours we reached Horton Plains.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-sCPB_WOI/AAAAAAAAAGg/_RgclnAKcmQ/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-sCPB_WOI/AAAAAAAAAGg/_RgclnAKcmQ/s400/6.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It’s a cloud forest filled up with fresh and raw green with beautiful flowers. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TI-sUxsSCcI/AAAAAAAAAGo/Jw_scyvk6QU/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TI-sUxsSCcI/AAAAAAAAAGo/Jw_scyvk6QU/s400/7.jpg" width="400" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-scrvyJII/AAAAAAAAAGw/i8ny8VyKT1w/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-scrvyJII/AAAAAAAAAGw/i8ny8VyKT1w/s400/8.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Also there are many species which are endemic to the region. But we couldn’t spent much of time for them.&lt;br /&gt;We walked over the green a lot of time until we reach the junction which leads to Thotupola Kanda.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-tIUAnksI/AAAAAAAAAHA/crpLdvB0CYk/s1600/17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-tIUAnksI/AAAAAAAAAHA/crpLdvB0CYk/s400/17.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-tAd0O3xI/AAAAAAAAAG4/wls155zwQw4/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-tAd0O3xI/AAAAAAAAAG4/wls155zwQw4/s400/9.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Then we started to climb up our target. By the time it was rainy + windy + foggy.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-uTzXYUQI/AAAAAAAAAHI/RvLPtwdiXy8/s1600/31240_428494346053_651671053_5554674_6824597_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-uTzXYUQI/AAAAAAAAAHI/RvLPtwdiXy8/s400/31240_428494346053_651671053_5554674_6824597_n.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-uhbVqnbI/AAAAAAAAAHQ/FP7bEaJDM2k/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-uhbVqnbI/AAAAAAAAAHQ/FP7bEaJDM2k/s400/10.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;When we reached the peak of the mountain; it was as foggy as we couldn’t see much around.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TI-vjHFh7PI/AAAAAAAAAHY/kq0yf9N8qcM/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TI-vjHFh7PI/AAAAAAAAAHY/kq0yf9N8qcM/s400/11.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;After having lunch around 2pm we climbed-down the mountain and slowly walked towards the Pattipola railway which is the highest railway station in Sri Lanka. Our plan was to catch a train from Pattipola and to go to Ohiya. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TI-vq27OrbI/AAAAAAAAAHg/5QU9qRZW3s8/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TI-vq27OrbI/AAAAAAAAAHg/5QU9qRZW3s8/s400/12.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TI-vyu8QEVI/AAAAAAAAAHo/_Vfmq_p8OFY/s1600/18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TI-vyu8QEVI/AAAAAAAAAHo/_Vfmq_p8OFY/s400/18.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Fortunately or unfortunately when we reached there, train had already left 10 min ago and there were no trains for the day. So we had to walk from Pattipola to Ohiya (around 8km) via the railway which was never planned.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-v6tA-OsI/AAAAAAAAAHw/y8YKryyqr50/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-v6tA-OsI/AAAAAAAAAHw/y8YKryyqr50/s400/13.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There is a place called “Summit level” which is highest pot of Sri Lanka and which is 1898m high above sea level.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TI-wHolbdiI/AAAAAAAAAH4/7a6VkiSCJCY/s400/14.jpg" style="margin-left: auto; margin-right: auto;" width="400" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;At summit level...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TI-wHolbdiI/AAAAAAAAAH4/7a6VkiSCJCY/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;By the time it almost was getting dark. But the craziest issue was to pass the railway tunnels which are dark and filled with bats every time. If a train came when we were half on the way through the tunnel, we just had to lie down on the muddy ground and stay away from the rail tracks as much as possible. But the gap between the train and the tunnel was so thin. So we had no clue what we should do if a train came. &lt;br /&gt;Believe me; this was really dangerous and we didn’t have many torches or even people didn’t live around. Later I got to know that due to security reasons passing the tunnel by foot is prohibited.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/TI-wUybQNwI/AAAAAAAAAIA/lf2hj2FV9_I/s1600/16.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_r5O27iteHaI/TI-wUybQNwI/AAAAAAAAAIA/lf2hj2FV9_I/s400/16.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Inside the "Tunnel 18"...&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;On the way we passed through around 3 tunnels and 2 bridges. The three tunnels are different from each other and one of them is the 3rd longest rail way tunnel in Sri Lanka; which is called Tunnel 18.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/TI-wsRBVUeI/AAAAAAAAAII/pKvn07BdFqs/s1600/15.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/TI-wsRBVUeI/AAAAAAAAAII/pKvn07BdFqs/s400/15.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;I'm at the Tunnel 18.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Tunnel 18th is very especial one because every time it's very dark. Lot of bat lives in there. This tunnel is a bending one. Tunnel was made by 1919 and after some times it was repaired. On the tunnel there is a mountain called   Nasdanda mountain. Near this tunnel there is another two Railway tunnels. One of them is very short and bend and other one is very long and direct not bend one.&lt;br /&gt;Main important thing of Pattipola tunnel 18thTunnel is both sides of this tunnel is different. This tunnel divides Badulla and Nuwaraeliya districts, Border of Welimada and Nuwaraeliya Electorates, dry Zone and Wet Zone, Green forest zone and highest west gap zone.&lt;br /&gt;When you through this tunnel from Ohiya side you feel somewhat hot and you can see the sunshine and see clear air. After you move Pattipola side you feel different than that. Now you feel very cool and you may be able to see sunshine and you can see the mist come and covered every places in there. However if you can feel changing whether zones like that, you're very lucky.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_r5O27iteHaI/TI-w7lTG-TI/AAAAAAAAAIQ/wxF-67lwyOQ/s1600/19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_r5O27iteHaI/TI-w7lTG-TI/AAAAAAAAAIQ/wxF-67lwyOQ/s400/19.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Even passing a bridge was tricky in a darker environment. After a one and half hour walk we reached to Ohiya. The time was around 7pm.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_r5O27iteHaI/TI-xJ-vqpiI/AAAAAAAAAIY/Z8j8zRQDKH4/s1600/20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_r5O27iteHaI/TI-xJ-vqpiI/AAAAAAAAAIY/Z8j8zRQDKH4/s400/20.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So we stayed the night at Ohiya and came back to Colombo via train in the next morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4171477926354726414?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4171477926354726414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4171477926354726414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4171477926354726414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4171477926354726414'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/09/hike-to-thotupola-kanda.html' title='Hike to Thotupola Kanda'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_r5O27iteHaI/TI-odlQFp7I/AAAAAAAAAF4/_cKfZ10CLjQ/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3837456275075546089</id><published>2010-05-29T14:18:00.000+05:30</published><updated>2010-05-29T14:21:29.319+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='Mooshabaya'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Mooshabaya | Get Mooshabaya at SourceForge.net</title><content type='html'>&lt;br/&gt;First release of our final year project- &lt;a href="http://mooshabaya.info/"&gt;Mooshabaya&lt;/a&gt;. Mooshabaya-1.0 - &lt;a href="https://sourceforge.net/projects/mooshabaya/files/relases/mooshabaya-1.0.zip/download"&gt;From here&lt;/a&gt;&lt;a href="https://sourceforge.net/projects/mooshabaya/files/relases/mooshabaya-1.0.zip/download"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3837456275075546089?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3837456275075546089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3837456275075546089' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3837456275075546089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3837456275075546089'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/05/mooshabaya-get-mooshabaya-at.html' title='Mooshabaya | Get Mooshabaya at SourceForge.net'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-939384820107294980</id><published>2010-05-21T01:22:00.000+05:30</published><updated>2010-05-21T01:26:43.450+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='Mooshabaya'/><category scheme='http://www.blogger.com/atom/ns#' term='generator'/><title type='text'>Mooshabaya Feature Demonstration</title><content type='html'>This is my final year project-&lt;a href="http://mooshabaya.info/"&gt;Mooshabaya&lt;/a&gt; feature demonstration webcast. This demo contains most of the project features. Hey, this is a voiceless webcast ;), and hope to add the voice soon.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m9ezHccj5K0&amp;hl=en_US&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/m9ezHccj5K0&amp;hl=en_US&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-939384820107294980?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/939384820107294980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=939384820107294980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/939384820107294980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/939384820107294980'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/05/mooshabaya-feature-demonstration.html' title='Mooshabaya Feature Demonstration'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6149088236874949627</id><published>2010-04-11T01:38:00.000+05:30</published><updated>2010-04-11T01:47:20.386+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ICT'/><category scheme='http://www.blogger.com/atom/ns#' term='jobs'/><title type='text'>Career Opportunities in Information Communication Technology(ICT)</title><content type='html'>&lt;br/&gt;This blog post is for folks who are looking for career opportunities in Sri Lankan ICT (Information and Communication Technology) sector. I referred the presentation slides by Mr. Samantha Senarathne, visiting lecturer from Department of Computer Science and Engineering, University of Moratuwa. The presentation was created for the ICT awareness seminar series which was organized by my batch mates last month.&lt;br /&gt;&lt;br /&gt;Not only in Sri Lanka but also around the globe there is a huge demand for ICT related academia. But still the supply of skilled IT graduates is not sufficient to cope with industrial demand in Sri Lanka. So there is a huge competition for jobs as well.&lt;br /&gt;&lt;br /&gt;If you want to be successful at what you do there is a universal truth for the success on any thing. That is "Decide upon Your True Dreams and Goals". So if your true dreams and goals don't deal with ICT, the final outcome won't be that you expected.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;These are few reasons to choose ICT field&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Good job opportunities&lt;/li&gt;&lt;li&gt;Demand across the world&lt;/li&gt;&lt;li&gt;Higher economic benefits&lt;/li&gt;&lt;li&gt;Different career development paths&lt;/li&gt;&lt;li&gt;Traveling opportunities to other countries&lt;/li&gt;&lt;/ul&gt;If you are really good at what you do, you'll have the demand across the globe.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;There are many paths you can consider&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Software Engineering&lt;/li&gt;&lt;li&gt;Network Engineering&lt;/li&gt;&lt;li&gt;System security&lt;/li&gt;&lt;li&gt;Project Management&lt;/li&gt;&lt;li&gt;Quality assurance and Testing&lt;/li&gt;&lt;li&gt;System administration&lt;/li&gt;&lt;li&gt;Wed site development&lt;/li&gt;&lt;li&gt;Database administration&lt;/li&gt;&lt;li&gt;Technical support&lt;/li&gt;&lt;li&gt;Client management&lt;/li&gt;&lt;li&gt;IT consultancy&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;There are seamless opportunities in this field across the globe. But considering our country, above have significant opportunities. For more information just Google them, you'll find plenty of stuff. Here are some details specific to our country on choosing an IT degree.&lt;br /&gt;&lt;br /&gt;Engineering fields require a strong mathematical background. So most of the times if you choose physical science stream for your A/L examination, it'll be a strong foundation to go forward. Then if you pass A/L well and eligible to enter to a University for Engineering you can choose Computer Engineering degrees offered by Moratuwa, Peradeniya and Ruhuna Universities.&lt;br /&gt;Or there are other degrees like Physical Science and Computer Science from Universities like Colombo, Peradeniya, Kalaniya, Sabaragamuwa, Sri jayawardanapura, Rajarata and Eastern etc. &lt;br /&gt;As well there are IT degrees offered by University of Moratuwa. But apart from your A/L qualifications you need to pass another aptitude test as well.&lt;br /&gt;There are some other external IT degrees offered by Open University (Bachelor of Software Engineering), Moratuwa University (Bachelor of Information Technology) and Colombo University (Bachelor of Information Technology).&lt;br /&gt;As well there are private institutes like SLIIT which offers degrees related to IT and some other areas. But you need to pay for those.&lt;br /&gt;As well there are several private institutes which offers IT degrees with the support of overseas Universities. Some of them are Informatics (IIT), APIIT, IDM, ESoft etc.&lt;br /&gt;Or you can go overseas like Australia, Malaysia, Singapore, USA, UK, and India and study there as well.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;How you can start&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Initial level jobs&lt;/li&gt;&lt;li&gt;Professional Training&lt;/li&gt;&lt;li&gt;IT degrees&lt;/li&gt;&lt;/ol&gt;You may not have specific educational qualifications or training. But with a small training you can apply for professions like computer programmer, web site developer, graphic designer etc. But essentially you need to have some skills related to those. If you are capable of self learning and to grab something quickly that will be a little challenge.&lt;br /&gt;But if you want to go to a higher level, educational qualifications and experiences are highly recommended. So never stop learn.&lt;br /&gt;There are certifications related to this sector like Microsoft certifications, Sun certifications, Cisco certifications etc. &lt;br /&gt;There are diplomas offered by BCS, ACS, NIBM, HND, IDM, ESoft etc. You also should consider the quality and the recognition of the diploma.&lt;br /&gt;I have mentioned about IT degrees on a previous section.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dedication&lt;/li&gt;&lt;li&gt;Self-confidence&lt;/li&gt;&lt;li&gt;Commitment &lt;/li&gt;&lt;li&gt;Positive attitude&lt;/li&gt;&lt;li&gt;English language skills&lt;/li&gt;&lt;li&gt;Good communication and soft skills&lt;/li&gt;&lt;li&gt;(Money - only if to have a degree, diploma or certification from a private institute)&lt;/li&gt;&lt;/ul&gt;Hope you had some idea regarding the career opportunities in SL ICT sector. Good luck!&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6149088236874949627?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6149088236874949627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6149088236874949627' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6149088236874949627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6149088236874949627'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/04/career-oppotunities-in-information.html' title='Career Opportunities in Information Communication Technology(ICT)'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2661139082502944577</id><published>2010-03-27T01:57:00.000+05:30</published><updated>2010-03-27T02:08:06.947+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='social networks'/><title type='text'>You and Social networks</title><content type='html'>&lt;br/&gt;Do you spend more and more time these days on one or more social networking sites like Facebook, Buzz and Twitter? Yep most of us are. But most of us don't think of the hackers, crackers, identity thieves, phishers, cyberstalkers whatever you call them also out there and have turned their attention to the big social sites. The threats are also getting increased in different faces. But most of us don't give much thought to how to defend themselves.&lt;br /&gt;&lt;br /&gt;Most of the popular social networks like Facebook and Twitter etc. have been become attractive targets (honey pots) as the huge number of potential victims and the numbers are increasing exponentially. For Facebook it's around 400 million and I don't know exact figures for twitter.:)&lt;br /&gt;&lt;br /&gt;Normally in each week we here at least one major attack against big social media sites. like &lt;a href="http://mashable.com/2010/03/21/twitter-phishing-attack-2/"&gt;New Twitter Phishing Attack: “You’re On Here?” [WARNING]&lt;/a&gt; or like &lt;a href="http://techcrunch.com/2009/01/20/latest-facebook-scam-phishers-hit-up-friends-for-cash/"&gt;Latest Facebook Scam: Phishers Hit Up "Friends" for Cash.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The main issue here is unknown parities are potential of getting direct access to your personal or sensitive information stored in your computer. They do not need to physically access to your information as these social networks are run on distributed machines. &lt;br /&gt;Let's take an example from a particular social network. Some third party Facebook applications pull out private information to work correctly. These apps even can pull out your friend's info as well. So the potential victim is not only you but your friends as well. Most of those applications are like photo of the day, or some statements, jokes etc. First it asks for some thing like this.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_r5O27iteHaI/S60XEuz7M2I/AAAAAAAAAFo/D4zNOu6LEII/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://1.bp.blogspot.com/_r5O27iteHaI/S60XEuz7M2I/AAAAAAAAAFo/D4zNOu6LEII/s640/Screenshot.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you allow it, then the risk is all on yours. &lt;b&gt;I do not want you to get the wrong idea, Facebook applications for the most part are safe. Just like anything else on the Internet they can be exploited so it pays to be careful.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If a person that has evil intentions makes a Facebook app, they can now target all of the people who have allowed the application in their Facebook ecosystem and target them for identity theft. As those applications run different from the Facebook main servers, it's nearly impossible to validate the logic of the third party application. So the hackers may use the existing security wholes in the &lt;a href="http://developers.facebook.com/"&gt;Facebook developer platform&lt;/a&gt; and attack the users. As well those social media sites also try to cover those security wholes as much as possible.&lt;br /&gt;&lt;br /&gt;I feel user's common sense and the correct attitude towards the social networks are essential as well the technology can help to mitigate the potential risk.&lt;br /&gt;&lt;br /&gt;Here are few tips any one can follow&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Secure your passwords&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Don't click here and there - The short URLs like "&lt;a href="http://bit.ly/9OrLf4"&gt;http://bit.ly/9OrLf4&lt;/a&gt;" which forward you to a page when you click. Problem is, there's no way to tell where those short URLs really lead without clicking on them. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Use a up-to-date browser&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Read and judge the messages carefully - Sometimes the the site it-self provide some messages if there are potential threats to the user. But if the user does not read the message carefully the risk is all on the user.   &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2661139082502944577?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2661139082502944577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2661139082502944577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2661139082502944577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2661139082502944577'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/03/you-and-social-networks.html' title='You and Social networks'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_r5O27iteHaI/S60XEuz7M2I/AAAAAAAAAFo/D4zNOu6LEII/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-474881703022256993</id><published>2010-03-13T16:24:00.000+05:30</published><updated>2010-03-14T00:25:38.618+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sinhala'/><category scheme='http://www.blogger.com/atom/ns#' term='ICT'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><category scheme='http://www.blogger.com/atom/ns#' term='Tamil'/><title type='text'>ICT in Sinhala/Tamil or English</title><content type='html'>&lt;br/&gt;Today I was preparing few presentation notes on &lt;a href="http://en.wikipedia.org/wiki/Information_and_communication_technologies"&gt;ICT&lt;/a&gt; subject for O/L , A/L students and those for an upcoming ICT awareness seminar series to be held in some schools in rural areas, &lt;a href="http://en.wikipedia.org/wiki/Sri_lanka"&gt;Sri Lanka&lt;/a&gt;. So obviously the content is supposed to be in &lt;a href="http://en.wikipedia.org/wiki/Sinhalese_language"&gt;Sinhala&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Tamil_language"&gt;Tamil&lt;/a&gt; medium. When I went through the Sinhala &lt;a href="http://www.nie.lk/page/syllabus.html"&gt;teachers' manual&lt;/a&gt;, all most all the content have been explained well, and the editors have done a great job. As well they have taken a great effort to use our own terms instead of English terms.&lt;br /&gt;&lt;br /&gt;But what I felt was whether we will able to generate our own knowledge base at least a  glossary in our own mother tongue, for a subject like ICT. For subjects like Chemistry, Physics which are more theoretical the case is different as we have our own scientific terms which were generated a long time back.&lt;br /&gt;&lt;br /&gt;But for a subject like ICT, the field is changing rapidly, so the existing information get updated rapidly and new information, technologies pop-up like crazy. So it's quite impossible to generate our own terms, with the present pace of change.&lt;br /&gt;It's a good move if the students are motivated to use English terms themselves rather force them to remember the Sinhala terms. Because after they leave the school, those Sinhala terms are not gonna be valid for them anymore.&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-474881703022256993?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/474881703022256993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=474881703022256993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/474881703022256993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/474881703022256993'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/03/ict-in-sinhalatamil-or-english.html' title='ICT in Sinhala/Tamil or English'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5594085016696130415</id><published>2010-03-10T00:30:00.001+05:30</published><updated>2010-03-10T00:39:19.102+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mooshabaya'/><title type='text'>Overall view of the Mooshabaya project</title><content type='html'>&lt;br/&gt;Here I have come up with the mind map of the overall view of our final year project &lt;a href="http://mooshabaya.info/"&gt;Mooshabaya&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="550" id="spicynodesViewer" width="800"&gt;&lt;param name="movie" value="http://media.spicynodes.org/display.swf?id=6edec4c19f1bd66e3f2047a2415a7884"&gt;&lt;param name="scalemode" value="showall" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="opaque" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed name="spicynodesViewer" id="spicynodesViewer" wmode="opaque" scalemode="showall" allowfullscreen="true"  allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://media.spicynodes.org/display.swf?id=6edec4c19f1bd66e3f2047a2415a7884" type="application/x-shockwave-flash" quality="high" height="550" width="800"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;For the &lt;a href="http://www.spicynodes.org/a/6edec4c19f1bd66e3f2047a2415a7884"&gt;full-screen mode&lt;/a&gt;.&amp;nbsp; &lt;br/&gt;&amp;nbsp;&lt;/br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5594085016696130415?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5594085016696130415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5594085016696130415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5594085016696130415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5594085016696130415'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/03/blog-post.html' title='Overall view of the Mooshabaya project'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3608982508644518107</id><published>2010-02-12T21:52:00.000+05:30</published><updated>2010-02-14T12:33:04.057+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='3 idiots'/><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><category scheme='http://www.blogger.com/atom/ns#' term='5 point someone'/><title type='text'>3 Idiots and Five Point Someone</title><content type='html'>&lt;br/&gt;I recently watched the Bollywood comedy movie &lt;a href="http://www.imdb.com/title/tt1187043/"&gt;3 Idiots&lt;/a&gt; directed by Rajkumar Hirani. This movie is heartbreaking as well wonderfully entertaining when it comes to the story. Though the movie is said to be an adaptation from the novel "&lt;a href="http://en.wikipedia.org/wiki/Five_Point_Someone"&gt;Five Point Someone – What not to do at IIT&lt;/a&gt;" by Chetan Bhagat, I feel the book is quite different from the movie. But you may find the book is also interesting, and you may have the same kind of experiences which appear in the book. &lt;b&gt;Yeah, that's the beauty of this story&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_r5O27iteHaI/S3WJMI5HiSI/AAAAAAAAAFg/YP4TynTxcQg/s320/final.png" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The book can be found &lt;a href="http://www.scribd.com/doc/22753920/Five-Point-Someone-by-Chetan-Bhagat"&gt;here&lt;/a&gt;. &lt;/div&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3608982508644518107?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3608982508644518107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3608982508644518107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3608982508644518107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3608982508644518107'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/02/3-idiots-and-five-point-someone.html' title='3 Idiots and Five Point Someone'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/S3WJMI5HiSI/AAAAAAAAAFg/YP4TynTxcQg/s72-c/final.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2002626606676415479</id><published>2010-02-06T02:20:00.000+05:30</published><updated>2010-02-06T02:40:38.053+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='New year'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><title type='text'>Happy new year Sri Lanka!</title><content type='html'>&lt;br/&gt;For the past four years, I usually spent the new year's eve at my boarding place with my colleagues as we get ready for exams in the upcoming month of January. (Though it's not official, January seems to be a month for the final semester exams in my university :)).&lt;br /&gt;Though we were away from our homes, somehow we got the chance to celebrate the new year with few of traditional new year foods at our boarding place.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_r5O27iteHaI/S2yEWYn4meI/AAAAAAAAAFA/KSdPGCttLCQ/s1600-h/DSC01522.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_r5O27iteHaI/S2yEWYn4meI/AAAAAAAAAFA/KSdPGCttLCQ/s400/DSC01522.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Normally for Sri Lanka , the new year falls on April 13th or 14th every year. Food is the essential part of New Year festivities in Sri Lanka. Sinhalese food is very rich in nutrition. They prepare sweet meats such as mung kavum, konda kavum and unduvel. There is also an old tradition of preparing Kiri Bhath (milk rice) with rice.&lt;br /&gt;Even though Sri Lankans also celebrates new year's day on January 1st as well.&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2002626606676415479?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2002626606676415479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2002626606676415479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2002626606676415479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2002626606676415479'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/02/happy-new-year-sri-lanka.html' title='Happy new year Sri Lanka!'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r5O27iteHaI/S2yEWYn4meI/AAAAAAAAAFA/KSdPGCttLCQ/s72-c/DSC01522.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-309259471508294086</id><published>2010-02-06T01:30:00.000+05:30</published><updated>2010-02-06T02:41:39.974+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><title type='text'>Enterprise mashups powered solutions for banking services</title><content type='html'>&lt;br/&gt;I came across an article about &lt;a href="http://www.jackbe.com/downloads/datasheets/finance_banking.pdf"&gt;a real world implementation of mashup technology in banking services&lt;/a&gt;. Here it explains how enterprise mashups bridge the information gap in financial services.&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-309259471508294086?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/309259471508294086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=309259471508294086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/309259471508294086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/309259471508294086'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2010/02/enterprise-mashups-powered-solutions.html' title='Enterprise mashups powered solutions for banking services'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3152793065287371236</id><published>2009-11-20T18:44:00.000+05:30</published><updated>2009-11-20T18:44:19.105+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='registry'/><category scheme='http://www.blogger.com/atom/ns#' term='Mooshabaya'/><category scheme='http://www.blogger.com/atom/ns#' term='monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='screen-cast'/><category scheme='http://www.blogger.com/atom/ns#' term='eventing'/><title type='text'>First screen-cast : Mooshabaya</title><content type='html'>&lt;br/&gt;This simple screen-cast demonstrates the basic functionality of &lt;a href="http://sourceforge.net/projects/mooshabaya/"&gt;Mooshabaya&lt;/a&gt; , which is mashup generation via Mooshabaya to &lt;a href="http://wso2.org/projects/mashup"&gt;WSO2 Mashup server&lt;/a&gt;. There are some other basic functionalities like &lt;a href="http://wso2.org/projects/governance-registry"&gt;WSO2 Governance Registry&lt;/a&gt; integration and event monitoring for mashup script execution which are not demonstrated in here. We will publish more explanatory ones once we get the project more towards the completion.&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hVuJtE9RNdM&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hVuJtE9RNdM&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3152793065287371236?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3152793065287371236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3152793065287371236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3152793065287371236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3152793065287371236'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/11/first-screen-cast-mooshabaya.html' title='First screen-cast : Mooshabaya'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2377120995951237024</id><published>2009-11-04T12:53:00.000+05:30</published><updated>2009-11-04T13:11:21.243+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='production'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>MoFilm : Learn to Learn : UoM</title><content type='html'>&lt;br/&gt;Learning is something, students do, not something done to students. This mobile movie is directed and produced by a team of students from 06 batch-Faculty of Engineering, University of Moratuwa.&lt;br /&gt;The project is an outcome of my digital video production course coordinated by Department of Computer Science and Engineering. Other team members are displayed at the end of this clip.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/nwAS7km4Fo4&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/nwAS7km4Fo4&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2377120995951237024?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2377120995951237024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2377120995951237024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2377120995951237024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2377120995951237024'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/11/mofilm-learn-to-learn-uom.html' title='MoFilm : Learn to Learn : UoM'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8765519793272599513</id><published>2009-11-04T11:59:00.000+05:30</published><updated>2009-11-04T12:49:32.329+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='data mining'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='project proposal'/><category scheme='http://www.blogger.com/atom/ns#' term='association rule'/><category scheme='http://www.blogger.com/atom/ns#' term='improve'/><title type='text'>Project Proposal-Association Rule Mining with Extended Vertical Format Data Mining</title><content type='html'>&lt;br/&gt;The goal of this research is to propose a better alternative to Apriori algorithm, and proving the efficiency enhancement by using a dataset. With the benchmarks of the datasets, the proposed algorithm will be tested along with the test parameters got from the Apriori Algorithm. The improvements on the performance and efficiency will be published based on the data gathered by the testing for the itemsets.&lt;br /&gt;&lt;br /&gt;&lt;object id="_ds_14757294" name="_ds_14757294" width="800" height="550" type="application/x-shockwave-flash" data="http://viewer.docstoc.com/"&gt; &lt;param name="FlashVars" value="doc_id=14757294&amp;mem_id=1669675&amp;doc_type=pdf&amp;fullscreen=0&amp;showrelated=0&amp;showotherdocs=0&amp;showstats=0 "/&gt; &lt;param name="movie" value="http://viewer.docstoc.com/" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;/object&gt; &lt;br /&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8765519793272599513?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8765519793272599513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8765519793272599513' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8765519793272599513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8765519793272599513'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/11/project-proposal-association-rule_03.html' title='Project Proposal-Association Rule Mining with Extended Vertical Format Data Mining'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6909634014915291252</id><published>2009-09-11T13:20:00.000+05:30</published><updated>2009-09-11T17:51:47.537+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='performances'/><category scheme='http://www.blogger.com/atom/ns#' term='GSOC'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><category scheme='http://www.blogger.com/atom/ns#' term='UOM'/><category scheme='http://www.blogger.com/atom/ns#' term='LSF'/><title type='text'>University of Moratuwa on top of the world in GSoC</title><content type='html'>&lt;br/&gt;The &lt;a href="http://www.mrt.ac.lk/"&gt;University of Moratuwa&lt;/a&gt; (UoM), Sri Lanka became the top of the world in &lt;a href="http://code.google.com/soc/"&gt;Google Summer of Code&lt;/a&gt; 2009 with 22 students accepted for the second consecutive year.&lt;br /&gt;Google Summer of Code (GSoC) is a global program in which Google awards stipends to hundreds of students who successfully complete a requested free software / open-source coding project during the summer.&lt;br /&gt;Congratulations for all the UoM GSoCers for raising the UoM flag up once again.&lt;br /&gt;I'm very proud to be among the top Sri Lankan GSoC 2009 winners, together with my colleagues from the Computer Science and Engineering Department from University of Moratuwa.&lt;br /&gt;This is because the &lt;a href="http://www.cse.mrt.ac.lk/"&gt;Computer Science and Engineering department&lt;/a&gt; of University of Moratuwa promotes the students to participate to this competition. Especially the open source software organizations like &lt;a href="http://wso2.org/"&gt;WSO2 Inc.&lt;/a&gt; and &lt;a href="http://www.opensource.lk/"&gt;Lanka Software Foundation&lt;/a&gt; promote and guide students on applying for GSOC. Though there is very few open source software organizations located in Sri Lanka, the contribution they have made with the participation of University of Moratuwa towards this remarkable success is marvelous.&lt;br /&gt;Finally I congratulate all the Sri Lankan students who were accepted and completed their GSoC projects for last 4 years and made this small island, Sri Lanka into a rising star.&lt;br /&gt;&lt;br /&gt;For more Details &lt;a href="http://google-opensource.blogspot.com/2009/09/tasty-new-google-summer-of-code-stats.html"&gt;Google Open source blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Related blog post - &lt;a href="http://ddweerasiri.blogspot.com/2009/06/my-first-hands-on-experiences-on-google.html"&gt;My first hands on experiences on Google Summer of Code&lt;/a&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6909634014915291252?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6909634014915291252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6909634014915291252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6909634014915291252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6909634014915291252'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/09/university-of-moratuwa-on-top-of-world.html' title='University of Moratuwa on top of the world in GSoC'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4386560317174029355</id><published>2009-09-09T01:10:00.000+05:30</published><updated>2009-10-11T23:15:32.987+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='experiences'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Confession for the last three years at university</title><content type='html'>&lt;br/&gt;I passed O/L in 2002. Then A/L in 2005. Came to University of Moratuwa in 2006.&lt;br /&gt;Since then, I lived on my own and I had only one ambition. It was "to do what I love, and to love what I do". And still it's same as it is. :)&lt;br /&gt;Spent 1st year on studying different engineering aspects and engineering mathematics. Decided to specialize on Computer Science and Engineering field. Then spent 2nd and 3rd years at the Computer Science and Engineering department.&lt;br /&gt;Then in the 2nd semester of the 3rd year we went for the industrial training. I chose WSO2 Inc. as the training place. And then I was selected to Google Summer of Code 2009.&lt;br /&gt;After 10 months industrial training period we had 2 months vacation (not really :)).&lt;br /&gt;So after one year of a non-academic period, the dawn of the next week is the start of the 4th academic year.&lt;br /&gt;Last three years at university were awesome, and the 3rd year was AWESOME. 3rd year internship period was filled with life changing experiences. All of my colleagues would agree with me on it. As well all of us may remember how we worked hard when exams came near. :)&lt;br /&gt;I became a huge fan of European, Hollywood and Sinhala movies and learned some stuffs on cinematography and still photography last year. No matter how much work I have on my back, I spend hours and hours on watching movies.&lt;br /&gt;&lt;br /&gt;Anyway 43.5 credits to be earned and the Final year project to be completed in the next year and I'll be the same old me.&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4386560317174029355?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4386560317174029355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4386560317174029355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4386560317174029355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4386560317174029355'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/09/confession-for-last-three-years-at.html' title='Confession for the last three years at university'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5341575286610219049</id><published>2009-08-15T21:42:00.000+05:30</published><updated>2009-08-15T22:06:18.922+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='oxygentank'/><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='simple'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><category scheme='http://www.blogger.com/atom/ns#' term='fundamentals'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>Writing a simple WS-BPEL process for WSO2-BPS and Apache ODE</title><content type='html'>&lt;br/&gt;I've written an article on The &lt;a href="http://wso2.org/"&gt;WSO2 OxygenTank&lt;/a&gt; explaining &lt;a href="http://wso2.org/library/articles/writing-simple-ws-bpel-process-wso2-bps-apache-ode"&gt;the fundamentals on writing and deploying a simple BPEL&lt;/a&gt; which interacts with several partner services, in &lt;a href="http://wso2.org/projects/bps"&gt;WSO2 BPS&lt;/a&gt; and &lt;a href="http://ode.apache.org/"&gt;Apache ODE&lt;/a&gt;.&lt;br /&gt;So this article focuses on the basic functionalities such as: how to invoke partner services from a BPEL process, how to wait for a message from a client who invokes a BPEL process etc. A sample BPEL process called "FunctionProcess" is also attached to the article, with required sample partner services. All examples are based on the attached sample code.&lt;br /&gt;&lt;br /&gt;The article flows based on the following topics.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What is a business process?&lt;/li&gt;&lt;li&gt;What's BPEL?&lt;/li&gt;&lt;li&gt;Basic terms used in the BPEL terminology&lt;/li&gt;&lt;li&gt;How to deploy sample partner services and the BPEL process&lt;/li&gt;&lt;li&gt;How to establish a partner link with a Web service&lt;/li&gt;&lt;li&gt;How to invoke the BPEL process from a client&lt;/li&gt;&lt;li&gt;How to invoke a partner Web service from the BPEL process&lt;/li&gt;&lt;li&gt;How to reply to the client from the BPEL process&lt;/li&gt;&lt;li&gt;How to do basic variable manipulation in a BPEL process&lt;/li&gt;&lt;li&gt;How to Deploy and test the BPEL process&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5341575286610219049?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5341575286610219049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5341575286610219049' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5341575286610219049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5341575286610219049'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/08/writing-simple-ws-bpel-process-for-wso2.html' title='Writing a simple WS-BPEL process for WSO2-BPS and Apache ODE'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6382528779603225137</id><published>2009-07-29T02:07:00.000+05:30</published><updated>2009-07-29T21:20:08.739+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='final'/><category scheme='http://www.blogger.com/atom/ns#' term='CSE'/><category scheme='http://www.blogger.com/atom/ns#' term='Mooshabaya'/><category scheme='http://www.blogger.com/atom/ns#' term='මූෂාභය'/><category scheme='http://www.blogger.com/atom/ns#' term='UOM'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>The project Mooshabaya (මූෂාභය) - Brings the knowledge from workflow domain to Mashup domain</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;The idea for the project "Mooshabaya" was emergerged as a final year project, coordinated by the department of Computer Science and Engineering, University of Moratuwa.&lt;br /&gt;The project "Mooshabaya" targets to generate Mashups to describe the composed workflows, by modifying XBaya Workflow Composer.&lt;br /&gt;XBaya addresses the above mentioned issue regarding to the modeling of workflows based on web services. It is a graphical client program for workflow composition and monitoring. It provides an easy-to-use GUI for users to compose workflows from Web Services described in WSDL. It helps the developer to build a graphical representation of the workflow. To facilitate the execution phase of the workflow XBaya also enables the developer to insert the concrete deployment details such as end point URLs present in WSDLs to the workflow model metadata as well. To actually make it executable in real world this workflow model has to be converted in to an executable format which can be deployed within an existing workflow execution engine. BPEL is such executable workflow language which can be run inside a WS-BPEL compliant workflow engine. BPEL has been standardized by OASIS standard body. Currently conversion to BPEL from the XBaya workflow model is present where the converted workflow can be deployed in BPEL engines such Apache ODE.&lt;br /&gt;XBaya currently exports the composed workflows into BPEL and Jython. Though Mooshabaya focuses and uses XBaya as its workflow composer, it can easily be generalized to be compatible to any other workflow composer. Mooshabaya will find the services from a service Registry, which governs SOA deployments, and the composed workflows are deployed into a Mashup Server as mashups.&lt;br /&gt;&lt;br /&gt;Let's take a look at on what a mashup is. A mashup is a web application that combines data or functionality from two or more sources to create a new service. It enables fast and easy integration of services and data sources using open API s. This enables the realization of workflows in yet another format and which seems to be very promising due to the proliferation of web services and mashup enabled services on the Internet, a classical example being highly popular Google Maps. Currently there is no mechanism to export XBaya workflow models to mashups which we feel is a significant shortcoming. So we intend to fill this void by extending the XBaya export mechanism to include mashup exports. Also to facilitate monitoring of the workflow during its execution we intend to introduce event notification facility in the generated mashup codes.&lt;br /&gt;&lt;br /&gt;How a simple mashup looks like.&lt;br /&gt;Here is a simple mashup that will invoke a partner service "AdderService" and return the result inside "invokeFunctionProcessService" operation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;/*&lt;br /&gt;* Licensed under the Apache License, Version 2.0 (the "License");&lt;br /&gt;* you may not use this file except in compliance with the License.&lt;br /&gt;* You may obtain a copy of the License at&lt;br /&gt;*&lt;br /&gt;* http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;*&lt;br /&gt;* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;* distributed under the License is distributed on an "AS IS" BASIS,&lt;br /&gt;* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;* See the License for the specific language governing permissions and&lt;br /&gt;* limitations under the License.&lt;br /&gt;*/&lt;br /&gt;this.serviceName = "FunctionProcess";&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;this.documentation = "Invoke AdderService" ;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;system.include("AdderService.js");&lt;br /&gt;&lt;br /&gt;invokeFunctionProcessService.inputTypes={"param0" : "Number", "param1" : "Number"};&lt;br /&gt;invokeFunctionProcessService.outputTypes="Number";&lt;br /&gt;&lt;br /&gt;function invokeFunctionProcessService(param0, param1)&lt;br /&gt;{&lt;br /&gt;var adderServiceResponse = AdderService.add(param0, param1);&lt;br /&gt;return adderServiceResponse;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So this approach enables to create workflows and business process (like BPEL processes) using in simple javascript.&lt;br /&gt;&lt;br /&gt;Things to be figured out - Still, we do not have a clear image on how the mashup domain and the mashup technologies would fit in to the existing workflow domain. So still we are not sure about the actual functional requirements of this project.&lt;br /&gt;We are still in the initial stage of this project. So in future we'll bring you more information in a more official way.&lt;br /&gt;&lt;br /&gt;Link - &lt;a href="http://mooshabaya.sourceforge.net/"&gt;http://mooshabaya.sourceforge.net/&lt;/a&gt;&lt;br /&gt;IRC channel - ##m2sc on freenode&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Project Members - De Alwis, K.D.B.C.&lt;br /&gt;              Malinga, A.S.&lt;br /&gt;              Pradeeban, K.&lt;br /&gt;              Weerasiri, W.A.D.D.&lt;br /&gt;&lt;br /&gt;External Mentors - Dr. Srinath Perera&lt;br /&gt;               Dr. Sanjiva Weerawarana&lt;br /&gt;Internal Mentors - Mrs. Vishaka Nanayakkara&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6382528779603225137?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6382528779603225137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6382528779603225137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6382528779603225137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6382528779603225137'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/07/project-mooshabaya-brings-knowledge.html' title='The project Mooshabaya (මූෂාභය) - Brings the knowledge from workflow domain to Mashup domain'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-8376746649585898255</id><published>2009-06-20T08:23:00.000+05:30</published><updated>2009-06-20T08:43:24.810+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='Notation'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphical'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Graphical representation generation for a WS-BPEL business process</title><content type='html'>&lt;br/&gt;This blog post is focused on one of my project I contributed to during my internship. This post will also be helpful on who are interested in SVG (Scalable Vector Graphics), BPEL (Business Process Execution Language) and BPM (Business Process Management).&lt;br /&gt;&lt;br /&gt;WS-BPEL (Web Services Business Process Execution Language) is XML based programming language used for develop business and scientific work-flows.&lt;br /&gt;It can be used to define Abstract and Executable business processes. Work-flows, implemented in WS-BPEL exchange information by using Web service interfaces.&lt;br /&gt;&lt;br /&gt;As previously mentioned WS-BPEL is a XML based language, it does not define a graphical representation for the process or provide any particular design methodology for processes. So there is no any standard graphical notation for WS-BPEL. But most persons find visual notations easier to learn and apply, perhaps because they process visual information more efficiently than textual information, which led some vendors to define their own graphical notations.&lt;br /&gt;The Business Process Modeling Notation (BPMN) is a standardized graphical notation for drawing business processes in a work-flow.&lt;br /&gt;&lt;br /&gt;My project was to design and develop a software component that extrapolate the necessary information for displaying a WS-BPEL work-flow instance as an SVG representation. Before get-in to the design phase I researched on the following key-areas.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Familiarizing with WS-BPEL language, with the existing BPEL-supporting software and with the Web Service stack&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt; Familiarizing with the SVG libraries and features&lt;/li&gt;&lt;/ul&gt;    &lt;ul&gt;&lt;li&gt;Analyzing the previously done BPMN work-flow and BPEL work-flow viewers and understanding its design and functionalities&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt; Analyzing how the BPEL process engine can capture instance-related information in terms of work-flow status&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The project was targeted on &lt;a href="http://wso2.org/projects/bps"&gt;WSO2-BPS&lt;/a&gt; and &lt;a href="http://ode.apache.org/"&gt;Apache-ODE&lt;/a&gt; which are open source Java-based BPEL engines, released under &lt;a href="http://apache.org/licenses/LICENSE-2.0.html"&gt;Apache License 2.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I used &lt;a href="http://xmlgraphics.apache.org/batik/index.html"&gt;Apache Batik&lt;/a&gt; libraries for manipulate SVG documents.&lt;br /&gt;SVG is a XML-based specification to describe two-dimensional vector graphics. SVG is also well-suited to smart phones and mobile devices. All major modern web browsers except Microsoft Internet Explorer support and render SVG markup directly. To view SVG files in Internet Explorer, users have to download and install a browser plug-in.&lt;br /&gt;&lt;br /&gt;Final outcome is similar to something like this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r5O27iteHaI/SjxRnRg61QI/AAAAAAAAAEc/xkMC1S2QXaE/s1600-h/BPEL2SVG.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://2.bp.blogspot.com/_r5O27iteHaI/SjxRnRg61QI/AAAAAAAAAEc/xkMC1S2QXaE/s400/BPEL2SVG.png" alt="" id="BLOGGER_PHOTO_ID_5349240192567530754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This post is still to be completed and more information on design, the source repository locations and some original screen-shots will be published soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-8376746649585898255?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/8376746649585898255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=8376746649585898255' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8376746649585898255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/8376746649585898255'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/06/graphical-representation-generation-for.html' title='Graphical representation generation for a WS-BPEL business process'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_r5O27iteHaI/SjxRnRg61QI/AAAAAAAAAEc/xkMC1S2QXaE/s72-c/BPEL2SVG.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1032532667523672372</id><published>2009-06-14T15:34:00.000+05:30</published><updated>2009-06-14T16:51:03.129+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiences'/><category scheme='http://www.blogger.com/atom/ns#' term='GSOC'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='summer'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>My first hands on experiences on Google Summer of Code</title><content type='html'>&lt;br/&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/images/2009socwithlogo.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 200px;" src="http://code.google.com/images/2009socwithlogo.gif" alt="Google Summer of Code 2009" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This blog post is focused on my Google summer of code project and some tips for folks who are interested in involving with GSoC as students.&lt;br /&gt;&lt;br /&gt;GSoC is a annual program held globally that offers student developers stipends(around $4500) to contribute to various open source projects. Historically, the program has brought together over 2,400 students with over 230 open source projects, to create millions of lines of code. Students can get a good exposure to real-world software development scenarios, like distributed development, software licensing, mailing list etiquette, etc.&lt;br /&gt;&lt;br /&gt;But having an idea on the above scenarios as early as possible, everything will be a lot more easier in successfully completing the GSoC project.&lt;br /&gt;As there are hundreds of organizations which focus on different aspects, first of all the students need to select a organization based on their preference.&lt;br /&gt;If you are not much familiar with the org. domain you may need to read the articles, tutorials published by the org. As well you need to subscribe to the mailing list or IRC channel for asking more details.&lt;br /&gt;Then you need to come up with an project idea In this case it's much better the ideas comes from the student's side. Then in the mailing list those ideas need to be discussed and get some feedbacks from the org. (Do not worry! Your ideas are not gonna be stolen by others). If there's no feedback for a reasonable time, then reply to that thread with more details.&lt;br /&gt;When discussing on mailing lists there are some etiquette that needed to be concerned. Sometimes the etiquette depends on the org. But there are some common things, anyone needed to understand on &lt;a href="http://www.zdnetasia.com/techguide/opensource/0,39044899,62046361,00.htm"&gt;open source mailing list etiquette&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.nabble.com/GSOC-project-ideas-td21900555.html"&gt;Here&lt;/a&gt; is an example specific to GSoC went under Apache ODE mailing list.&lt;br /&gt;&lt;br /&gt;Open and early communication with the org. will be beneficial for you as all most all the org.s appreciate it.&lt;br /&gt;&lt;br /&gt;After that student application period opens. To win a competitive stipend program like the Summer of Code, you'll be competing against an unknown number of people of unknown quality from all over the world. I know you're good, but they're good, too. You need to try to write the best application that the mentor will see. Here mentor is a person from the org. who evaluates the proposals.&lt;br /&gt;The proposal template is depend on the org. If there is a specific template , it will be published on the project site. Normally you need to give a good impression from the proposal that you can successfully completed the project with the given deadline.&lt;br /&gt;&lt;a href="http://wiki.apache.org/general/ddweerasiri/GSOC2009Proposals/WebBasedBPELDebuggerForApacheODE"&gt;Here&lt;/a&gt; is my project proposal which became a top voted project proposal in GSoC 2009 for Apache Software foundation.&lt;br /&gt;&lt;br /&gt;Normally a project proposal is published as a Wiki page or a on-line document even though it is submitted to the GSoC for evaluations. A good practice is to send the proposal to the mailing list and ask some feedbacks from the mentors for more modifications before submit it to the google.&lt;br /&gt;The mentors will respond to that thread and it will be beneficial in final proposal evaluations.&lt;br /&gt;&lt;br /&gt;Be sure to submit your proposal to Google early enough to avoid the unexpected circumstances.&lt;br /&gt;&lt;br /&gt;Do not stuck on the GSoC time-line, start and try to contribute to the project as early as possible. When selecting a org. you do not have to wait until Google publishes the accepted orgs. You can count on the orgs which were selected in previous years for GSoC.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://socghop.appspot.com/document/show/program/google/gsoc2009/timeline"&gt;GSoC 2009 time-line&lt;/a&gt; it's only 5 days allocated for discussion about project ideas with the orgs. But it is not enough to get an good idea about the project and to write a good proposal. So to write a good proposal students need to discuss the ideas much earlier.&lt;br /&gt;&lt;br /&gt;Send some patches on what you have done to the project issue tracker. So that you can mention them on the proposal. &lt;a href="https://issues.apache.org/jira/browse/ODE-565"&gt;Here&lt;/a&gt; is an example related to my project.&lt;br /&gt;&lt;br /&gt;The proposal evaluation protocol depends on the org. The project proposal need to be changed based on that protocol. So it is essential to be alert on the web sites related to the project, or you can ask those related issues via the mailing list.&lt;br /&gt;&lt;br /&gt;After submitting the proposal as well, you need to be so alert on mails, as the mentors may need to communicate with you for more details and sometimes they will ask you to submit a patch to ensure that you are capable of developing the project.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents"&gt;Here&lt;/a&gt; you can get more detailed advices for students regarding GSoC.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1032532667523672372?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1032532667523672372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1032532667523672372' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1032532667523672372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1032532667523672372'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/06/my-first-hands-on-experiences-on-google.html' title='My first hands on experiences on Google Summer of Code'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6249708878348340094</id><published>2009-05-18T14:18:00.000+05:30</published><updated>2009-06-02T13:49:44.994+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='from source'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='build'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><title type='text'>Let's build WSO2 Carbon from source code (For newbies to WSO2 Carbon)</title><content type='html'>&lt;a href="http://wso2.org/projects/carbon"&gt;WSO2 Carbon&lt;/a&gt; is the base platform for all WSO2 Java products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Built on OSGi, Currently In Carbon there are 4 main &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SOA&lt;/a&gt; functionalities. They are as follows.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://wso2.org/projects/wsas/java"&gt;&lt;p&gt;WSO2 Web Services Application Server (WSAS)&lt;/p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://wso2.org/projects/esb/java"&gt;&lt;p&gt;WSO2 Enterprise Service Bus (ESB)&lt;/p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://wso2.org/projects/registry"&gt;&lt;p&gt;WSO2 Registry&lt;/p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://wso2.org/projects/bps"&gt;WSO2 Business Process Server (BPS)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-weight: bold;font-size:100%;" &gt;Here are some advantages of building a Open Source Software from the source&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;If you are willing to develop WSO2 Carbon , it is essential to build WSO2 Carbon from source rather than using a binary distribution. Building from source ensures that the source exists and compiles properly, which is the basis of regular open-source development.&lt;br /&gt;&lt;br /&gt;By compiling from source, if you find some code you are able to isolate patches to address such problems, without having to wait for upstream.&lt;br /&gt;&lt;br /&gt;Although bytecode runs on every vm that supports the version of the bytecode in question it does not mean that the bytecode produced by different compilers is equal. Bytecode can be optimized too. By building from source, we make it easy to switch the compiler used to compile your installed java programs. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Let's start build Carbon from source code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;First of all you need &lt;a href="http://en.wikipedia.org/wiki/Subversion_%28software%29"&gt;Subversion (SVN)&lt;/a&gt; which is a version control system widely used in open source software development. You can install SVN &lt;a href="http://subversion.tigris.org/getting.html"&gt;from here&lt;/a&gt; based on your operating system.&lt;br /&gt;&lt;br /&gt;Then also you need to install the build tool called &lt;a href="http://maven.apache.org/"&gt;Apache Maven&lt;/a&gt;. It is a open source Apache build manager for java projects. You can install Apache Maven &lt;a href="http://maven.apache.org/download.html"&gt;from here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Go to &lt;a href="http://wso2.org/svn"&gt;WSO2 Oxygen Tank  &lt;/a&gt;&lt;a href="http://wso2.org/svn"&gt;SVN repository&lt;/a&gt;. Here you will see all the SVN repositories for all WSO2 products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For WSO2 Carbon you have to checkout the following SVN repositories&lt;/span&gt; one by one to a specific location in local hard disk.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="https://svn.wso2.org/repos/wso2/branches/carbon-platform/2.0"&gt;https://svn.wso2.org/repos/wso2/branches/carbon-platform/2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://wso2.org/repos/wso2/trunk/carbon-orbit"&gt;https://wso2.org/repos/wso2/trunk/carbon-orbit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://wso2.org/repos/wso2/trunk/carbon"&gt;https://wso2.org/repos/wso2/trunk/carbon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://wso2.org/repos/wso2/trunk/carbon-components"&gt;https://wso2.org/repos/wso2/trunk/carbon-components&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-size:100%;"&gt;&lt;br /&gt;For that use "svn checkout" command.&lt;br /&gt;e.g.  ...../carbon$ svn checkout &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a target="_blank"&gt;https://svn.wso2.org/repos/wso2/branches/carbon-platform/2.0&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Now there will be a directory structure created as as follows.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r5O27iteHaI/SiTei5XInKI/AAAAAAAAAEU/zqpvI6DbaxY/s1600-h/FolderStruct.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 100px; height: 200px;" src="http://2.bp.blogspot.com/_r5O27iteHaI/SiTei5XInKI/AAAAAAAAAEU/zqpvI6DbaxY/s200/FolderStruct.png" alt="" id="BLOGGER_PHOTO_ID_5342639749063023778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Then you will realise that there is a specific directory for each checkout you made. In each of those dirctoriers you will find (at the root level) a file called "pom.xml". It represent the complete Maven project and using that you can build the project from the source code.&lt;br /&gt;&lt;br /&gt;Before build the project first of all we need to install the following plugins and modules which enables you to build the above project source codes successfully. Those plugins source codes are also get downloaded when checking out the &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a target="_blank"&gt;https://svn.wso2.org/repos/wso2/branches/carbon-platform/2.0/axis2/&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; repository. You just have to install them using Maven.&lt;br /&gt;&lt;br /&gt;For that go to "axis2" directory which is  the first checkout you made. In that go to "modules/tool".&lt;br /&gt;There you can see "axis2-aar-maven-plugin" and "axis2-mar-maven-plugin" named directories. In those directories you will see the pom.xml file for each. You have to go to those directories one at a time and build those plugins using Apache Maven with following commands in the console.&lt;br /&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;(This is a command in Maven use to build the project with the help of "pom.xml" file and for more information use this &lt;a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html"&gt;Quick Guide&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;After successfully install those plugins you can start to build the above checkedout projects one by one.&lt;br /&gt;&lt;br /&gt;In console use command "mvn clean install -Dmaven.test.skip=true" in the root level of each directory as follows.&lt;br /&gt;&lt;br /&gt;e.g. To build "axis2" go to the "axis2" directory , which is the directory the source is checked out from the repository https://svn.wso2.org/repos/wso2/branches/carbon-platform/2.0/axis2/&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;. In console use the command as follows.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$current-location/axis2$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Such that use the following commands under the given directories with the given sequence.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build transports-&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$curr.-location/2.0/transports$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build wss4j-&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt; $curr.-location/2.0/wss4j$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build rampart-&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$curr.-location/2.0/rampart$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build sandesha-&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt; $curr.-location/2.0/sandesha$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build savan-&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt; $curr.-location/2.0/savan$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build synapse-&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$curr.-location/2.0/synapse$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build carbon-orbit-&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$curr.-location/carbon-orbit$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build carbon-&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt; $curr.-location/carbon$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To build -carbon-components&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;$curr.-location/carbon-components$ mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt; - You have to build those 10 soucre directories one at a time and according to the given sequence as the later project source codes are depend on a prior project source codes. "ode" and "xmlsec" source directories are not required to be built.&lt;br /&gt;&lt;br /&gt;After successfully building all 10 projects' source codes WSO2 Carbon is built from the source.&lt;br /&gt;&lt;br /&gt;As well you can create IDE(Eclipse, IDEA, NetBeans) based projects using the Maven plugins.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6249708878348340094?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6249708878348340094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6249708878348340094' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6249708878348340094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6249708878348340094'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/01/lets-build-wso2-carbon-from-source-code.html' title='Let&apos;s build WSO2 Carbon from source code (For newbies to WSO2 Carbon)'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_r5O27iteHaI/SiTei5XInKI/AAAAAAAAAEU/zqpvI6DbaxY/s72-c/FolderStruct.png' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-393205644237999667</id><published>2009-05-15T13:05:00.000+05:30</published><updated>2009-06-10T04:09:24.410+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='resources'/><category scheme='http://www.blogger.com/atom/ns#' term='for'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Home made FOSS</title><content type='html'>This blog is focused on starting a simple FOSS (Free and Open Source Software) project on your own based on the free resources from the Internet.&lt;br /&gt;Let's look at the basic resources associated with an open source project.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_r5O27iteHaI/Sg0dx5GJ5MI/AAAAAAAAADE/w6JQDJB-pUo/s1600-h/Resource.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 162px;" src="http://4.bp.blogspot.com/_r5O27iteHaI/Sg0dx5GJ5MI/AAAAAAAAADE/w6JQDJB-pUo/s400/Resource.jpg" alt="Basic requiremnets for a open source project" id="BLOGGER_PHOTO_ID_5335953876481336514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Source code repository&lt;/span&gt;&lt;br /&gt;Source code repository is used to store the whole collection of source code used to build a particular component or an application. Typically, the source code includes only human-written source code files, and not, e.g., source code files generated by other tools or binary library files. However, it generally does include configuration and property files. A source code repository becomes handy when the project is developed by many people around the world, which is a normal scenario for large open source projects. Source code repository enables the developers to work together on the project as well people who are interested in the project can go through the source code.&lt;br /&gt;- There are many project hosting sites you can use for your project. All most all of them support for source code hosting. Some of them are as follows.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;   Google-code&lt;/li&gt;&lt;li&gt;   Source-Forge&lt;/li&gt;&lt;/ul&gt;  You can get more details about project hosting sites &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_free_software_hosting_facilities#Features"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There are other project hosting sites such as &lt;a href="http://www.mozdev.org/"&gt;mozdev.org&lt;/a&gt; which provide project hosting services for projects under specific requirements. You can find more details on those project hosting sites &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_free_software_hosting_facilities#Specific_requirements"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;- The following snapshot is from Google code where the &lt;a href="http://code.google.com/hosting/createProject"&gt;initial project creation&lt;/a&gt; take place.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_r5O27iteHaI/Sg0hDU6_OUI/AAAAAAAAADU/V7DxvpgQLgo/s1600-h/google-code.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 323px;" src="http://4.bp.blogspot.com/_r5O27iteHaI/Sg0hDU6_OUI/AAAAAAAAADU/V7DxvpgQLgo/s400/google-code.png" alt="Google code create project page" id="BLOGGER_PHOTO_ID_5335957474543352130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- Here you can choose the source code license based on you choise. This source code license determines how others can use your code. Read more informations on the open source licenses on &lt;a href="http://www.opensource.org/licenses"&gt;Open Source Initiative&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Executable binaries&lt;/span&gt;&lt;br /&gt;- The executable binary is created by converting written human readable programs (called "source code" or simply "source" or "code") into machine language in a process that is called "compiling". Source code can be read and modified (if you know the language), which means, if you had unfettered access to it, you can also alter it to suite your needs. So normally executable binaries are released based on the operating platform.&lt;br /&gt;eg -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Zipped (.zip) archives for Windows platform (for each version of the product)&lt;/li&gt;&lt;li&gt;Tar balls (.tar.gz) for Linux platform (for each version of the product)&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-weight: bold;"&gt;Documentation&lt;/span&gt;&lt;br /&gt;- Documentations are also very important for a FOSS project as it either explains how it operates or how to use it, and may mean different things to people in different roles. Types of the documentation are,&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Requirements - Statements that identify attributes, capabilities, characteristics, or qualities of a system. This is the foundation for what shall be or has been implemented.&lt;/li&gt;&lt;li&gt;Architecture/Design - Overview of software. Includes relations to an environment and construction principles to be used in design of software components.&lt;/li&gt;&lt;li&gt;Technical - Documentation of code, algorithms, interfaces, and APIs.&lt;/li&gt;&lt;li&gt;End User - Manuals for the end-user, system administrators and support staff.&lt;/li&gt;&lt;li&gt;Marketing - How to market the product and analysis of the market demand.&lt;/li&gt;&lt;/ul&gt;  Here is a snapshot of the project's downloads page in Google code. You can see there are executable binaries and some documentations as well.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0hZ2OLbeI/AAAAAAAAADk/EcNDL7TKMW8/s1600-h/Downloads.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 99px;" src="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0hZ2OLbeI/AAAAAAAAADk/EcNDL7TKMW8/s400/Downloads.png" alt="Google code downloads page" id="BLOGGER_PHOTO_ID_5335957861439335906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nightly build downloads&lt;/span&gt;&lt;br /&gt;- This means creating daily builds from the source code. Nightly builds may be used for testing purposes. Sometimes these builds may be used by the users. Ultimately these builds helps to track whether the source code is stable or not up-to the build date.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Project mailing list&lt;/span&gt;&lt;br /&gt;- Normally all most all the discussions related to an open source projects are happened via mailing lists. Anybody interested in a particular FOSS project can join to the public mailing lists hosted for that particular FOSS project. Normally there are two public mailing lists knows as Developer mailing list and User mailing list for a project.&lt;br /&gt;Developer mailing list is used for discussions related to project development. User mailing list is used for discussions from user perspective. Some times there may be private mailing lists related to internal discussions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Project wiki&lt;/span&gt;&lt;br /&gt;- Project wiki is a set of wiki pages related to the project details. People can edit create new pages, edit them. So project wiki is some kind of a collaborative thing rather than documentation which is produced by a particular set of people. Here is a snapshot of a project wiki page on Google code.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0hfh80loI/AAAAAAAAADs/oaX5jbjW6BE/s1600-h/Wiki.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 169px;" src="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0hfh80loI/AAAAAAAAADs/oaX5jbjW6BE/s400/Wiki.png" alt="Google code project wiki" id="BLOGGER_PHOTO_ID_5335957959077041794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Issue tracking systems&lt;/span&gt;&lt;br /&gt;- For a software project an issue tracking system is an essential resource. It manages and maintains the list of issues related to project. People can create, update, comment, resolve, close etc. the issues regarding the project. &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems"&gt;Here&lt;/a&gt; you can find more details regarding the features of issue tracking systems. Here is a snapshot on project issue tracker page on Google code.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_r5O27iteHaI/Sg0hoYVY7QI/AAAAAAAAAD0/-HWGs1L3tCA/s1600-h/Issue-Tracker.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 177px;" src="http://1.bp.blogspot.com/_r5O27iteHaI/Sg0hoYVY7QI/AAAAAAAAAD0/-HWGs1L3tCA/s400/Issue-Tracker.png" alt="Google code project issue tracker" id="BLOGGER_PHOTO_ID_5335958111114554626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Forums&lt;/span&gt;&lt;br /&gt;- On-line forums are also used on discussions regarding the project. Logically forums are organized into a finite set of generic topics (usually with one main topic) driven and updated by a group known as members, and governed by a group known as moderators.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To commence a FOSS project there are many project hosting sites like Google-code, Source-Forge etc. Google-code is one of the most easiest and the flexible project hosting service you can rely on. You can also try others as well.&lt;br /&gt;Google-code provide basic resources required for a basic FOSS project. Here are some other snapshots of the project site hosted on Google-code.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Project home page&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_r5O27iteHaI/Sg0hOPPx6zI/AAAAAAAAADc/A7mxVYrifgc/s1600-h/ProjectHome.png"&gt;&lt;img alt="Google code project home page" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 189px;" src="http://1.bp.blogspot.com/_r5O27iteHaI/Sg0hOPPx6zI/AAAAAAAAADc/A7mxVYrifgc/s400/ProjectHome.png" alt="" id="BLOGGER_PHOTO_ID_5335957661998508850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Project source code details&lt;/li&gt;&lt;/ul&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0huRVp42I/AAAAAAAAAD8/lZcqOUrCLoE/s1600-h/SourceRepo.png"&gt;&lt;img alt="Google code project source details page" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 138px;" src="http://2.bp.blogspot.com/_r5O27iteHaI/Sg0huRVp42I/AAAAAAAAAD8/lZcqOUrCLoE/s400/SourceRepo.png" alt="" id="BLOGGER_PHOTO_ID_5335958212315833186" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-393205644237999667?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/393205644237999667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=393205644237999667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/393205644237999667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/393205644237999667'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/05/home-made-foss.html' title='Home made FOSS'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r5O27iteHaI/Sg0dx5GJ5MI/AAAAAAAAADE/w6JQDJB-pUo/s72-c/Resource.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6002000484343924928</id><published>2009-05-02T16:36:00.000+05:30</published><updated>2009-05-02T17:22:47.084+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='deployment'/><category scheme='http://www.blogger.com/atom/ns#' term='axis2'/><category scheme='http://www.blogger.com/atom/ns#' term='runtime'/><category scheme='http://www.blogger.com/atom/ns#' term='programatically'/><category scheme='http://www.blogger.com/atom/ns#' term='ODE'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>How to deploy an Axis2 Web service programatically in ODE during the initialization of ODE Runtime</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Description on ODE&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;Apache ODE (Orchestration Director Engine) executes business processes written following the WS-BPEL standard. It has two communication layers. One is Axis2 integration layer and the other one is based on JBI standard. Those integration layers are used by ODE BPEL Engine Runtime for interact with the outside world. Axis2 integration layer supports for communicate via Web Service interactions. JBI integration layer supports for communicate via JBI messages. Here I have discussed about how to deploy an Axis2 service programatically in ODE during the initialization of Apache ODE.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why deploying services at the initialization&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;We can deploy Axis2 web services in ODE in various ways. One way is just dumping and AAR (axis2 archive) in the services directory inside the ODE's deployment directory. In this method axis2 service can be deployed and undeployed them as user's choice. But suppose if we need to deploy a web service which provides a common functionality for all deployed business processes in ODE like ODE Management API then those kind of Web services need to be deployed during the initialization of ODE. ODE Management API is a axis2 Web service deployed in ODE during the initiation of ODE Run Time. This service monitor and manage all the business processes deployed in ODE. Another service which is deployed as same before is Deployment service which is used for deploy WS-BPEL processes. So if someone interested in developing a Web service which act as a generic feature for ODE like ODE Management API , that Web service must be deployed programatically during the initiation of ODE run time.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Basic overview of the process&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;How to deploy an axis2 Web service generally&lt;/span&gt;&lt;br /&gt;There are several ways of deploying a axis2 Web service programatically.&lt;br /&gt;&lt;br /&gt;1. One method is using the service archive file (AAR distribution).&lt;br /&gt;Here we create an object of service archive file and a pointer to axis2 runtime or configuration context. Using the below code we can create the web service as follows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/*Need to have a reference to ConfigurationContext*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       ConfigurationContext configContext = getConfigurationContext(); /*here getConfigurationContext() should return the current configuration context. In ODE how to get the configuration context will be discussed later.*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       File serviceArchiveFile = new File("Location of the file");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       /*Now let's create AxisServiceGroup which contains the service we want to have*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       AxisServiceGroup serviceGroup = DeploymentEngine.loadServiceGroup(serviceArchiveFile, configContext);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       /*Getting a pointer to AxisConfiguration*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       AxisConfiguration axiConfiguration = configContext.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       getAxisConfiguration();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       /*Adding the created service*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       axiConfiguration.addServiceGroup(serviceGroup);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This process is is almost same as putting the service archive file in the deployment directory.&lt;br /&gt;&lt;br /&gt;2. Another method does need neither a services.xml nor a repository. In this POJO deployment it is only need axis2-1.4.jar and other dependent libraries.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;new AxisServer().deployService(MyService.class.getName());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here MyService is the service implementation class. In this method as a services.xml is not existed, the degree of freedom for configure the service is very much less.&lt;br /&gt;&lt;br /&gt;3. Final method does not need a services.xml, but it gives the freedom to configure the service such as by specifing message receivers etc. I prefer this method to deploy a axis2 Web service programatically during the initiation of ODE runtime.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;ProcessAndInstanceManagementImpl pm = new ProcessAndInstanceManagementImpl(server, _store); /*service implementation class*/&lt;br /&gt;ProcessAndInstanceManagement _processMgmt = pm;&lt;br /&gt;Definition def;&lt;br /&gt;try {&lt;br /&gt;  WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();&lt;br /&gt;  wsdlReader.setFeature("javax.wsdl.verbose", false);&lt;br /&gt;&lt;br /&gt;  File wsdlFile = new File(rootpath + "/pmapi.wsdl");  /*specifing the wsdl location*/&lt;br /&gt;  def = wsdlReader.readWSDL(wsdlFile.toURI().toString());&lt;br /&gt;  AxisService processService = ODEAxisService.createService(axisConfig, PM_SERVICE_NAME, PM_PORT_NAME,&lt;br /&gt;          PM_AXIS2_NAME, def, new DynamicMessageReceiver&lt;/span&gt;&lt;processmanagement&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;(_processMgmt)); /*creating the axis2 service*/&lt;br /&gt;  axisConfig.addService(processService);&lt;br /&gt;} catch (WSDLException e) {&lt;br /&gt;  __log.error("Couldn't start-up management services!", e);&lt;br /&gt;} catch (IOException e) {&lt;br /&gt;  __log.error("Couldn't start-up management services!", e);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here when creating the service the message receiver is set and for more information refer org.apache.ode.axis2.service.ManagementService class. In org.apache.ode.axis2.service.ManagementService.DynamicMessageReceiver you may see how the service operations are invoked.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to deploy the axis2 service in ODE runtime&lt;/span&gt;&lt;br /&gt;Let see how to how to deploy an axis2 service programatically in ODE runtime. In this section it contains the ODE specific information which related to the axis2 service deployment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ODEServer.java&lt;/span&gt;&lt;br /&gt;&lt;/processmanagement&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;        To deploy a service in ODE runtime programatically org.apache.ode.axis2.ODEServer is normally used. Actually this class is the starting point for a execution of a ODE WAR distribution. If you look at the source code you may see almost all the basic resources are initialized in the org.apache.ode.axis2.ODEServer#init method. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;_mgtService = new ManagementService();&lt;br /&gt;      _mgtService.enableService(_axisConfig, _server, _store, _appRoot.getAbsolutePath());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;    In the init() method above syntaxes are used to deploy the Process ans Instance management service which is a basic management service in ODE runtime. In the above enableService() method the service deployment logic is implemented. That implementation can be any method as I described on the previous section.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Writing WSDL and the schemas and put the into the correct modules&lt;/span&gt;&lt;br /&gt;Now the required WSDL and the related schemas should be placed in specific places on the ODE source in order to deploy the service.&lt;br /&gt;  Location for the WSDl - axis2/src/main/wsdl/&lt;br /&gt;  Location for the related schemas - bpel-schemas/src/main/xsd/&lt;br /&gt;&lt;br /&gt;These resources should be kept in those specific packages, othervise while creating the WAR distribution required code generations, schema compilations will not be happened.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Creating .xsdconfig file for a schema.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;        As I explained earlier schema files should be kept in a specific location (bpel-schemas/src/main/xsd/) in order to happen the code generation process succesfully. As well for each schema file it is required to created another file with the same name of the schema file and with .xsdconfig extention at the same location where the schema files are existed. Th&lt;/span&gt;&lt;span style="font-size:100%;"&gt;is .xsdconfig file is needed for denote the target package for the generated bean classes. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;For example for pmapi.xsd the .xsdconfig file is pmapi.xsdconfig.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;RakeFile Modification&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;        After that, the "Rakefile" located at the root of ODE source should be configured. Rakefile contains executable Ruby code. Using that Ruby code, Apache Buildr will build the ODE source. In Rakefile it is need to mention about the newly added schema files in order to code generations and to populate the schema file in the WAR distribution. At the following places in the Rakefile you need to modify the Ruby code based on the added schemas.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;package(:war).with(:libs=&gt;libs).path("WEB-INF").tap do |web_inf|&lt;br /&gt;        web_inf.merge project("dao-jpa-ojpa-derby").package(:zip)&lt;br /&gt;        web_inf.merge project("dao-hibernate-db").package(:zip)&lt;br /&gt;        web_inf.include project("axis2").path_to("src/main/wsdl/*")&lt;br /&gt;        web_inf.include project("bpel-schemas").path_to("src/main/xsd/pmapi.xsd")&lt;br /&gt;  ...&lt;br /&gt;&lt;br /&gt;test.using :testng, :properties=&gt;{ "log4j.debug" =&gt; true,  "log4j.configuration"=&gt;"test-log4j.properties" }&lt;br /&gt;  test.with projects("tools"), libs, AXIS2_TEST, AXIOM, JAVAX.servlet, Buildr::Jetty::REQUIRES, HIBERNATE, DOM4J&lt;br /&gt;  webapp_dir = "#{test.compile.target}/webapp"&lt;br /&gt;  test.setup task(:prepare_webapp) do |task|&lt;br /&gt;      cp_r _("src/main/webapp"), _(test.compile.target)&lt;br /&gt;      cp Dir[_("src/main/webapp/WEB-INF/classes/*")], _(test.compile.target)&lt;br /&gt;      cp Dir[project("axis2").path_to("src/main/wsdl/*")], "#{webapp_dir}/WEB-INF"&lt;br /&gt;      cp project("bpel-schemas").path_to("src/main/xsd/pmapi.xsd"), "#{webapp_dir}/WEB-INF"&lt;br /&gt;        ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: If you add the schema definitions in the WSDL itself, then there is no way of bean geaneration for thoes schemas.&lt;br /&gt;&lt;br /&gt;Compilatation of schemas and bean class generation is handled by the following Ruby code snippet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;desc "ODE Schemas"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         define "bpel-schemas" do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           compile_xml_beans _("src/main/xsd/*.xsdconfig"), _("src/main/xsd")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           package :jar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           end&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rebuilding using buildr&lt;/span&gt;&lt;br /&gt;Now re-building the source code using Apache Buildr, a WAR distraibution will be generated with the modifications you made.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6002000484343924928?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6002000484343924928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6002000484343924928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6002000484343924928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6002000484343924928'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/05/how-to-deploy-axis2-web-service.html' title='How to deploy an Axis2 Web service programatically in ODE during the initialization of ODE Runtime'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-7879346788766426989</id><published>2009-04-19T14:25:00.000+05:30</published><updated>2009-04-19T14:48:30.098+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oryx'/><category scheme='http://www.blogger.com/atom/ns#' term='build'/><category scheme='http://www.blogger.com/atom/ns#' term='editor'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>How to build ORYX editor in Ubuntu</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Introduction&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://code.google.com/p/oryx-editor/"&gt;Oryx editor&lt;/a&gt; is a web based BPMN (Business Process Modeling Notation) editor. Oryx is a project of the &lt;a href="http://bpt.hpi.uni-potsdam.de/"&gt;Business Process Technology&lt;/a&gt; research group at the Hasso Plattner Institute of IT Systems Engineering at the University of Potsdam, Germany. The research group is led by Professor Mathias Weske, as is the Oryx project.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;This blog is focused on building Oryx from the source in Ubuntu.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Requirements&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;J2SE 5 Java Runtime Environment or higher &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://subversion.tigris.org/"&gt;SubVersion&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://tomcat.apache.org/"&gt;Apache Tomcat server&lt;/a&gt; (5.5 or higher)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://ant.apache.org/"&gt;Apache Ant&lt;/a&gt; 1.6 or higher&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Checkout the source&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;First you have to check out the source from the SubVersion repository&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;      &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;svn checkout http://oryx-editor.googlecode.com/svn/trunk/ oryx-editor-read-only&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;After checking out the source you have to build the source using Ant. But before that you need to configure the database server which used to store the Oryx business process models. Here I have described on configuring the &lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; database server.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Configure the PostgreSQL database&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;   1.Install PostgreSQL&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-family: courier new;font-size:85%;" &gt;sudo apt-get install postgresql-8.3 postgresql-plpython-8.3&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;   2.Then we have to configure the database such that it does not require passwords for local tcp connections. Before that if the database server is started you have to stop it using the following command.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-family: courier new;font-size:85%;" &gt;/etc/init.d/postgresql-8.3 stop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;   3.For that client authentication configurations for the database have to be changed. Traditionally these configurations are stored in &lt;a href="http://developer.postgresql.org/pgdocs/postgres/auth-pg-hba-conf.html"&gt;pg_hba.conf&lt;/a&gt; file located at /etc/postgresql/8.3/main.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;      Modify the configurations as follows.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-family: courier new;font-size:85%;" &gt;# Database administrative login by UNIX sockets&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;br /&gt;         local   all         postgres                          ident sameuser&lt;br /&gt;&lt;br /&gt;         # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD&lt;br /&gt;&lt;br /&gt;         # "local" is for Unix domain socket connections only&lt;br /&gt;         local   all         all                                    trust&lt;br /&gt;         # IPv4 local connections:&lt;br /&gt;         host    all         all         127.0.0.1/32     trust&lt;br /&gt;         # IPv6 local connections:&lt;br /&gt;         host    all         all         ::1/128               md5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;   4.Then start the database using the following command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/etc/init.d/postgresql-8.3 start&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;   5.Now using the following commands you have to create a user called “poem” without password.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;su postgres&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;createuser --superuser --echo poem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;Now PostgreSQL database configuration process is completed such that there is user called “poem” which can connect to the database without passwords and database server trusts all the tcp local connections. Now all the requirements for the building process are completed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;Building the source&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;Before building the source you need to modify the build.properties configuration file located at the root of Oryx source. You need to change “deploymentdir” in build.properties to the full path to the tomcat deployment directory. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;eg.  deploymentdir = /opt/installations/tomcat1/apache-tomcat-6.0.18/webapps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;If you go into the root of Oryx source directory you may see a dependency graph (build-dependencies.png) which depicts on how the Ant targets are inter-dependent.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Now using the following command the Oryx source can be build.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;ant rebuild-all&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Like wise using the ant targets you can compile, clean, build, deploy Oryx.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;As well you have to create the database which stores the Oryx business process models using the following commands.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/etc/init.d/postgresql-8.3 start&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;ant create-db&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;In this case if you have configured the PostgreSQL database server correctly, no password will be asked during the database creation and the database will be created without an error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Then to deploy the Oryx editor use the following commands.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;ant deploy-all&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Now if you go in to the tomcat deployment directory you may see two WAR distributions called backend.war and oryx.war. Extract both of them. Now by starting the tomcat engine you can deploy the Oryx editor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Finally you can open the Oryx model repository in Firefox3.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;http://localhost:8080/backend/poem/repository&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-7879346788766426989?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/7879346788766426989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=7879346788766426989' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7879346788766426989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/7879346788766426989'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/04/how-to-build-oryx-editor-in-ubuntu.html' title='How to build ORYX editor in Ubuntu'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-1263004056977052069</id><published>2009-04-18T23:55:00.000+05:30</published><updated>2009-04-19T00:22:25.858+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='create'/><category scheme='http://www.blogger.com/atom/ns#' term='revert'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><category scheme='http://www.blogger.com/atom/ns#' term='add'/><title type='text'>How to play with software patches.</title><content type='html'>&lt;span style="font-family: arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;In an open source world, if you are interested in contributing to an open source project by developing the source code first of all you need to build the source code. Then you have to submit the code you developed for that project through a patch or directly changing the code. If you are not a commitor for that project you can't directly change the source code. A commitor is a person who has source code modification rights for a open source project. If you are not a commitor then you have to submit what you have done through a patch.&lt;br /&gt;A patch is a textual format file which contains the modifications has been done related to the original source code of a software project in open source terms. An example of an patch is as follows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Index: Rakefile &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;=================================================================== &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;--- Rakefile    (revision 752423) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;+++ Rakefile    (working copy) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;@@ -175,6 +175,12 @@ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;       web_inf.merge project("dao-hibernate-db").package(:zip) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;       web_inf.include project("axis2").path_to("src/main/wsdl/*") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;       web_inf.include project("bpel-schemas").path_to("src/main/xsd/pmapi.xsd") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;+      web_inf.include project("bpel-schemas").path_to("src/main/xsd/dmapi.xsd") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;+      web_inf.include project("bpel-schemas").path_to("src/main/xsd/breaks_bdi_bpel.xsd") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;+      web_inf.include project("bpel-schemas").path_to("src/main/xsd/common_bpel.xsd") &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;+      web_inf.include project("bpel-schemas").path_to("src/main/xsd/java_util.xsd")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In a patch file it contains details on what lines have been added with a “+” sign and what lines have been removed with a “-” sign.&lt;br /&gt;&lt;br /&gt;Let see how to create an patch file first. As I mentioned earlier first of all you have to build the source code of the project. Here you may use an version controlling software like “SubVersion” to manage and update your local source code with the online source code repository. This version controlling tool can used to create a patch for the modifications what you have done in your local source code. In SubVersion the command is as follows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; svn diff &gt; bug-x-free.patch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above command will create a patch file named “bug-x-free.patch”. For more details on creating custom patches can be found on &lt;a href="http://svnbook.red-bean.com/en/1.1/re09.html"&gt;here&lt;/a&gt;.&lt;br /&gt;Then that patch file can be submitted through the particular project issue tracker (like JIRA, Bugzilla etc.)&lt;br /&gt;Then the patch will be examined by a project commitor and added to the source code.&lt;br /&gt;Note: Be careful to test the local modified source code whether it's working OK before submitting the patch.&lt;br /&gt;&lt;br /&gt;Suppose you need to add a patch file to your local source code, then you can use the following command at the root of your source directory to add the patch the source code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; patch -p0 -i bug-x-free.patch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then your source code will be modified based on the patch file.&lt;br /&gt;&lt;br /&gt;Suppose then you want to revert the patch you added. The reverting functionality is not supported by patch command it-self. Then what you can do is to interchange the “+” with “-” in the patch file to revert the changes as those “+” and “-” signs are used to denote the added code line and removed code lines in the source code. Then again by using the above patch command you can revert the modifications occurred by the original patch file.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-1263004056977052069?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/1263004056977052069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=1263004056977052069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1263004056977052069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/1263004056977052069'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/04/how-to-play-with-software-patches.html' title='How to play with software patches.'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-4701253011796482303</id><published>2009-04-12T00:49:00.000+05:30</published><updated>2009-04-12T11:13:35.846+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSO2'/><category scheme='http://www.blogger.com/atom/ns#' term='performances'/><category scheme='http://www.blogger.com/atom/ns#' term='GSOC'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><category scheme='http://www.blogger.com/atom/ns#' term='UOM'/><category scheme='http://www.blogger.com/atom/ns#' term='LSF'/><title type='text'>Remarkable performances made by  Sri Lanka in GSOC</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;When I went through the &lt;a href="http://google-opensource.blogspot.com/2008/04/applications-are-in.html"&gt;Google Summer of Code statistics&lt;/a&gt; for last four years I observed the remarkable performances made by  Sri Lankan students. Especially the &lt;a href="http://www.mrt.ac.lk/"&gt;University of Moratuwa&lt;/a&gt; has become the top university for the number of accepted students for GSOC projects over the last four years with a count of 57.&lt;br /&gt;This is because the Computer Science and Engineering department of University of Moratuwa promotes the students to participate to this competition. Especially the open source software organizations like &lt;a href="http://wso2.org/"&gt;WSO2 Inc&lt;/a&gt;. and &lt;a href="http://www.opensource.lk/"&gt;Lanka Software Foundation&lt;/a&gt; promote and guide students on applying for GSOC. Though there are very few open source software organaizations located in Sri Lanka, the contribution they have made with the participation of University of Moratuwa towards this remarkable success is marvelous.&lt;br /&gt;Finally I congratulate all the Sri Lankan students who were accepted in GSOC for last 4 years and made this small island, Sri Lanka into a rising star.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-4701253011796482303?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/4701253011796482303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=4701253011796482303' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4701253011796482303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/4701253011796482303'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/04/remarkable-performances-made-by-sri.html' title='Remarkable performances made by  Sri Lanka in GSOC'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6436362449854857683</id><published>2009-04-01T13:40:00.000+05:30</published><updated>2009-04-01T13:57:20.914+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='1.x'/><category scheme='http://www.blogger.com/atom/ns#' term='from source'/><category scheme='http://www.blogger.com/atom/ns#' term='build'/><category scheme='http://www.blogger.com/atom/ns#' term='branch'/><category scheme='http://www.blogger.com/atom/ns#' term='ODE'/><category scheme='http://www.blogger.com/atom/ns#' term='trunk'/><category scheme='http://www.blogger.com/atom/ns#' term='buildr'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>How to build Apache ODE trunk and 1.x branch using Apache Buildr</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;Before building a source first of all the source should be downloaded from an on-line repository or off-line source distribution. On-line repositories contains the latest updates to the code. So if your intention is to develop the source code downloading the source from on-line repository will be recommended.&lt;br /&gt;Here I have described how to build the source from the on-line repository.&lt;br /&gt;Apache ODE(Orchestration Director Engine) supports for “&lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;”. So first of all you have to install it.&lt;br /&gt;Then use the command&lt;br /&gt;svn checkout http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X ode-1.X&lt;br /&gt;to download the source.&lt;br /&gt;&lt;br /&gt;Then you can build the source. But for that you need &lt;a href="http://buildr.apache.org/"&gt;Apache Buildr&lt;/a&gt; as the build tool. Go for the &lt;a href="http://buildr.apache.org/getting_started.html#installing"&gt;Buildr installation guide&lt;/a&gt; if you haven't installed Apache Buildr.&lt;br /&gt;&lt;br /&gt;Then using the command “buildr _1.2.10_ clean install TEST=no” you can build Apache ODE 1.x branch.&lt;br /&gt;&lt;br /&gt;Or If you want to build Apache ODE from trunk then use the following command.&lt;br /&gt;svn checkout http://svn.apache.org/repos/asf/ode/trunk ode-trunk&lt;br /&gt;Now you have the source of ODE trunk. But you may need to install another version of Buildr which is &gt;=1.3.2.Then using the command “buildr clean install TEST=no” you can build Apache ODE trunk.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6436362449854857683?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6436362449854857683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6436362449854857683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6436362449854857683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6436362449854857683'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/04/how-to-build-apache-ode-trunk-and-1x.html' title='How to build Apache ODE trunk and 1.x branch using Apache Buildr'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2548765389781717398</id><published>2009-03-11T11:05:00.000+05:30</published><updated>2009-03-11T11:41:18.379+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='dom'/><category scheme='http://www.blogger.com/atom/ns#' term='string'/><category scheme='http://www.blogger.com/atom/ns#' term='element'/><category scheme='http://www.blogger.com/atom/ns#' term='convert'/><title type='text'>How to convert an Java.Lang.String to w3c.dom.Element</title><content type='html'>&lt;pre  style="color: rgb(255, 255, 255);font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Using&lt;b&gt; javax.xml.parsers.DocumentBuilder&lt;/b&gt; class, an application programmer can obtain a &lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;org.w3c.dom.Document&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;/code&gt; from XML.&lt;br /&gt;&lt;br /&gt;   java.lang.Srting s = "&lt;hello&gt;Hello DOM Parser&lt;/hello&gt;";&lt;br /&gt;&lt;/span&gt;﻿&lt;span style="font-size:100%;"&gt;    java.io.InputStream sbis = new java.io.StringBufferInputStream(s);&lt;br /&gt;&lt;br /&gt;   javax.xml.parsers.DocumentBuilderFactory b = javax.xml.parsers.DocumentBuilderFactory.newInstance();&lt;br /&gt;   b.setNamespaceAware(false);&lt;br /&gt;   org.w3c.dom.Document doc = null;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;    javax.xml.parsers.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;DocumentBuilder db = null;&lt;br /&gt;&lt;br /&gt;   db = b.newDocumentBuilder();&lt;br /&gt;   doc = db.parse(sbis);&lt;br /&gt;&lt;br /&gt;This &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;public org.w3c.dom.Document&lt;/span&gt;&lt;span style="font-size:100%;"&gt; parse (InputStream is) has also other overloaded implementations for parsing a file; using the file name or the file objec(&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;java.io.File&lt;/span&gt;&lt;span style="font-size:100%;"&gt;)&lt;br /&gt;&lt;br /&gt;Then you can retrieve the &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;org.w3c.dom.Element&lt;/span&gt;&lt;span style="font-size:100%;"&gt; by&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;    org.w3c.dom.Element e = doc.getDocumentElement();&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2548765389781717398?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2548765389781717398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2548765389781717398' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2548765389781717398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2548765389781717398'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/03/how-to-convert-javalangstring-to.html' title='How to convert an Java.Lang.String to w3c.dom.Element'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5466263845141724405</id><published>2009-01-21T09:50:00.001+05:30</published><updated>2009-01-21T10:00:05.579+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photography'/><category scheme='http://www.blogger.com/atom/ns#' term='Denis'/><category scheme='http://www.blogger.com/atom/ns#' term='Anuradhapura'/><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='Sri Lanka'/><title type='text'>Eco Equilibrium - Photo of the Month</title><content type='html'>&lt;br/&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_r5O27iteHaI/SXahjIpsuzI/AAAAAAAAACs/yPqeu2QW5_g/s1600-h/DSC00497.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_r5O27iteHaI/SXahjIpsuzI/AAAAAAAAACs/yPqeu2QW5_g/s400/DSC00497.JPG" alt="" id="BLOGGER_PHOTO_ID_5293596037010471730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Location - A rural area in Anuradhapura, Sri Lanka.&lt;br /&gt;Camera  - Sony CyberShot W130&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5466263845141724405?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5466263845141724405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5466263845141724405' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5466263845141724405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5466263845141724405'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/01/photo-of-month.html' title='Eco Equilibrium - Photo of the Month'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_r5O27iteHaI/SXahjIpsuzI/AAAAAAAAACs/yPqeu2QW5_g/s72-c/DSC00497.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-6206748139167954555</id><published>2009-01-21T00:23:00.000+05:30</published><updated>2009-01-21T00:36:00.163+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi Logo'/><category scheme='http://www.blogger.com/atom/ns#' term='4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><title type='text'>From OSGi 4.1 to OSGi 4.2</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.osgi.org/wiki/uploads/Main/logo1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 199px; height: 96px;" src="http://www.osgi.org/wiki/uploads/Main/logo1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A descriptive article about major step forwards from OSGi 4.1 to OSGi 4.2&lt;br /&gt;&lt;br /&gt;&lt;a href="http://osgi.mjahn.net/2008/08/28/some-thought-on-the-osgi-r42-early-draft/"&gt;Some thought on the OSGi R4.2 early draft&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-6206748139167954555?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/6206748139167954555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=6206748139167954555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6206748139167954555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/6206748139167954555'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/01/from-osgi-41-to-osgi-42.html' title='From OSGi 4.1 to OSGi 4.2'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-5019936260352434295</id><published>2009-01-15T23:04:00.001+05:30</published><updated>2009-05-19T11:06:43.289+05:30</updated><title type='text'>WSO2  Annual Award Ceremony 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_r5O27iteHaI/SXSIbl4WM5I/AAAAAAAAACY/ZKawhziJLOQ/s1600-h/IMG_5407_ENHANCED.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_r5O27iteHaI/SXSIbl4WM5I/AAAAAAAAACY/ZKawhziJLOQ/s400/IMG_5407_ENHANCED.jpg" alt="" id="BLOGGER_PHOTO_ID_5293005469673468818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;WSO2  Annual Award Ceremony 2008 held at Colombo rowing club on 15th January 2009. The 11 Most tremendous contributors in WSO2 were rewarded with Hotel tickets and cash prizes.&lt;br /&gt;I personally congratulate them for a better future.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/keith/"&gt;Keith Chapman &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/nandana/"&gt;Nandana Mihindukulasuriya &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/prabath/"&gt;Prabath Siriwardena&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/amal/"&gt;Amal Rangana &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/dimuthug/"&gt;Dimuthu Gamage &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/azeez/"&gt;Afkam Azeez &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/charitha/"&gt;Charitha Kankanamge &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/ruwan/"&gt;Ruwan Linton &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/leadership/samisa/"&gt;Samisa Abeysinghe &lt;/a&gt;&lt;br /&gt;&lt;a href="http://wso2.com/about/engineers/sumedha/"&gt;Sumedha Rubasinghe &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/pub/dir/hasmin/abdulcader"&gt; Hasmin AbdulCader&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As well I congratulate all of WSO2 team members who are very supportive to each other.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-5019936260352434295?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/5019936260352434295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=5019936260352434295' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5019936260352434295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/5019936260352434295'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/01/wso2-annual-award-ceremony-2008.html' title='WSO2  Annual Award Ceremony 2008'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/SXSIbl4WM5I/AAAAAAAAACY/ZKawhziJLOQ/s72-c/IMG_5407_ENHANCED.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-2389302852272670172</id><published>2009-01-11T23:56:00.000+05:30</published><updated>2009-01-14T12:30:49.435+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='ODE'/><category scheme='http://www.blogger.com/atom/ns#' term='Designer'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Configure Eclipse(3.4) Ganymede for Eclipse BPEL designer with Apache ODE 1.x</title><content type='html'>&lt;span style="font-size:85%;"&gt;(These steps are for Linux operating systems with gtk window systems)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First of all you have to download the JAR containing ZIP in the following link.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.megaupload.com/?d=3D73V97D"&gt;http://www.megaupload.com/?d=3D73V97D&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then extract them and copy them in to the eclipse plug-in folder.&lt;br /&gt;&lt;br /&gt;Them you have to install Apache ODE 1.x to your system.&lt;br /&gt;- For this First download &lt;a href="http://tomcat.apache.org/download-60.cgi"&gt;Apache Tomcat&lt;/a&gt;&lt;br /&gt;- Then download the WAR distribution of &lt;a href="http://ode.apache.org/getting-ode.html"&gt;Apache ODE 1.x&lt;/a&gt;&lt;br /&gt;- Then extract and copy the WAR distribution in to the Apache tomcat's webapps folder (This webapps folder contains inside the Apache Tomcat installation folder.)&lt;br /&gt;&lt;br /&gt;Start Eclipse Ganymede&lt;br /&gt;&lt;br /&gt;Goto the server window (If it isn't visible goto Window-&gt;Show View-&gt;Servers)&lt;br /&gt;Right click on Server window -&gt;New-&gt;Server&lt;br /&gt;Choose Apache ODE v1.x ODE Sever, Then Next&lt;br /&gt;Choose correct configuration details&lt;br /&gt;- Choose JRE as JDK 1.5.x&lt;br /&gt;- Fill the location for Apache ODE path (to the WAR distribution directory inside Apache Tomcat webapps directory)&lt;br /&gt;- Fill the location for Apache Tomcat path (To the Apache Tomcat installation directory)&lt;br /&gt;&lt;br /&gt;Then all is configured.&lt;br /&gt;Now You can start your own BPEL project on Eclipse and designed it using BPEL designer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-2389302852272670172?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/2389302852272670172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=2389302852272670172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2389302852272670172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/2389302852272670172'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2009/01/configure-eclipse34-ganymede-for.html' title='Configure Eclipse(3.4) Ganymede for Eclipse BPEL designer with Apache ODE 1.x'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-3513272931755892531</id><published>2008-11-23T17:51:00.000+05:30</published><updated>2009-01-24T01:13:48.826+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='critics'/><category scheme='http://www.blogger.com/atom/ns#' term='uberto'/><category scheme='http://www.blogger.com/atom/ns#' term='vithanage'/><category scheme='http://www.blogger.com/atom/ns#' term='srilanka'/><category scheme='http://www.blogger.com/atom/ns#' term='prasanna'/><category scheme='http://www.blogger.com/atom/ns#' term='pasolini'/><category scheme='http://www.blogger.com/atom/ns#' term='Machan'/><category scheme='http://www.blogger.com/atom/ns#' term='film'/><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>Machan - The Sri Lankan movie</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;a style="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_r5O27iteHaI/SSlMDTxm71I/AAAAAAAAABY/zjAGuSOyssI/s1600-h/machan_poster.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 217px;" src="http://3.bp.blogspot.com/_r5O27iteHaI/SSlMDTxm71I/AAAAAAAAABY/zjAGuSOyssI/s320/machan_poster.jpg" alt="" id="BLOGGER_PHOTO_ID_5271828458545540946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;        &lt;style type="text/css"&gt;  &lt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;&lt;/style&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Machan&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Director -Ubertho Pasolini&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Producer – Prasanna Vithanage&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;        &lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;It is not more than ten films which are consideably good, are introduced from the Sri Lankan film industry for every year. Considering from the no. perspective to the Hollywood, Bollywood, European or even South Indian film industry, we can't be satisfied as Sri Lankans. But out of those movies some are marvelous.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Recently I watched “ABA” by Jackson Anthony and “Machan” by Ubertho Pasolini. I believe booth are major milestones in the Sri Lankan film industry. Both were massive productions. “ABA” came into the arena with a lot of good and ban criticisms and discussions which made “ABA” mass profitable.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;After the file “Machan” came into the arena, it was not such a mega blast as “ABA”. I believe that is because of the differences between the advertising campaigns. &lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;But according to my perspective I believe “Machan” has one of the best script and a story in the history of Sri Lankan film industry. From the name itself it grabs our attention. The movie “Milla Soya” by Boodee Keerthisena was als based on the same kind of a story.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;It talks about a lower social level. Some guys struggling for their day to day life have an ultimate goal to jump to Germany. They try their best in legal ways. Then they organize a Handball team called “Sri Lanka National Handball Federation” for a German tour and when they get their all of them get vanished.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;The film is based on a true story and director is able to go through their lives and present it to the audience.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;The powerful script forces the audience to believe that the key characters has an option less solution, jumping to Germany.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;One of the greatest thing I see in the script and the direction is there's a lot of humor through out the flow of scenes, but it never change its key theme. However at the end humor gets vanished through the truth of sorrow. The main actor “Stanley”(Dharmapriya Dias) and his best friend are used for political poster campaigns. But for those political revolutionists “Stanley” and his friend are not worth than even for a poster.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;“Stanley” stuck with many problems. He has no any permanent job, he has to look after his two grand mothers and his brother and his sister are also caught in troubles because of “Stanley”.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Other than that, through out the whole movie the great humanity deposited in those street people are depicted well. “Stanley” worries about his brother, a child worker and his sister who is waiting to go to middle east as a house maid by leaving her family. As well the script tells us in their struggling for living there is no difference between any nationality, all are the same.&lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;Concerning performance of actors, most of the major characters are not so popular. But their contribution is amazing. Some minor characters also have contributed a lot to make the film more glamorous. &lt;/span&gt;&lt;span style="font-family: georgia;font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: georgia;font-family:lucida grande;font-size:100%;"  &gt;But I believe the audience could get more satisfaction if the quality of the sounds and the pictures were more richer.  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-3513272931755892531?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/3513272931755892531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=3513272931755892531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3513272931755892531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/3513272931755892531'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2008/11/machan-sri-lankan-movie.html' title='Machan - The Sri Lankan movie'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r5O27iteHaI/SSlMDTxm71I/AAAAAAAAABY/zjAGuSOyssI/s72-c/machan_poster.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2427235520011315739.post-325205017795159026</id><published>2008-11-19T22:59:00.000+05:30</published><updated>2008-11-19T23:16:00.864+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu8.10'/><category scheme='http://www.blogger.com/atom/ns#' term='Bugs'/><title type='text'>Ubuntu 8.10(Intrepid Ibex) frozen login screen</title><content type='html'>For Ubuntu 8.10 users - Sometimes after installing the Ubuntu 8.10 and when the system is rebooted and after login screen is displayed the system gets stuck and keyboard and mouse don't respond or Sometimes the welcome screen doesn't appear for atleast 20 secs.&lt;br /&gt;This is because Compiz libraries which were installed under Ubuntu 8.10.&lt;br /&gt;After remove Compiz the problem will be solved.&lt;br /&gt;How to?&lt;br /&gt;Reboot the system and choose "Recovery Mode" and start terminal as root.&lt;br /&gt;Then use the following commands to remove the Compiz and Compiz-Core.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get remove compiz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get remove compiz-core&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then exit from the terminal and reboot the system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2427235520011315739-325205017795159026?l=ddweerasiri.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ddweerasiri.blogspot.com/feeds/325205017795159026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2427235520011315739&amp;postID=325205017795159026' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/325205017795159026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2427235520011315739/posts/default/325205017795159026'/><link rel='alternate' type='text/html' href='http://ddweerasiri.blogspot.com/2008/11/ubuntu-810intrepid-ibex-frozen-login.html' title='Ubuntu 8.10(Intrepid Ibex) frozen login screen'/><author><name>Denis Weerasiri</name><uri>http://www.blogger.com/profile/05849388591764685658</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_r5O27iteHaI/SSRXTql3loI/AAAAAAAAAAs/XauQbnlDECM/S220/DDWWSO2.JPG'/></author><thr:total>1</thr:total></entry></feed>
