Friday, July 2, 2010
First time experience of an Earthquake
Because of the customer work we are more or less alive on the whole night, to get the required scenarios working. My friend went into sleep on this specific day, which is 30th of June 2010 at around mid night, but I was still working. My laptop was on my bed and suddenly I felt my laptop going away from me and coming back to me :-) With that I also felt like some God is shivering the multi story building, on which we were on the 6th floor.
I stood up and still the building was like a pendulum. I realized this is a Earthquake apparently it is of 6.2 magnitude. :-( After about 5 minutes the building settled, and later I found that, that building is designed to move like that in an earthquake.
Monday, May 3, 2010
Next generation of ESB - WSO2 ESB 3.0.0 Released
The WSO2 Enterprise Service Bus (ESB) 3.0.0 Released!
The WSO2 ESB team is pleased to announce the release of version 3.0.0 of the Open Source Enterprise Service Bus (ESB).
WSO2 ESB is a fast, lightweight and user friendly open source Enterprise Service Bus (ESB) distributed under the Apache Software License v2.0. WSO2 ESB allows system administrators and developers to easily configure message routing, intermediation, transformation, logging, task scheduling, fail over routing and load balancing. It also supports transport switching, eventing, rule based mediation and priority based mediation for advanced integration requirements. The ESB runtime is designed to be completely asynchronous, non-blocking and streaming based on the Apache Synapse mediation engine.
WSO2 ESB 3.0.0 is developed on top of the revolutionary WSO2 Carbon platform (Middleware a' la carte), an OSGi based framework that provides seamless modularity to your SOA via componentization. This release also contains many new features and a range of optional components (add-ons) that can be installed to customize the behavior of the ESB. Further, any existing features of the ESB which are not required to your environment can be easily removed using the underlying provisioning framework of Carbon. In brief, WSO2 ESB can be fully customized and tailored to meet your exact SOA needs.
You can download this distribution from http://wso2.org/downloads/esb and give it a try.
How to Run
- Extract the downloaded zip
- Go to the bin directory in the extracted folder
- Run the wso2server.sh or wso2server.bat as appropriate
- Point your browser to the URL https://localhost:9443/carbon
- Use "admin", "admin" as the username and password to login as an admin and create a user account
- Assign the required permissions to the user through a role
- If you need to start the OSGi console with the server use the property -DosgiConsole when starting the server. The INSTALL.txt file found on the installation directory will give you a comprehensive set of options and properties that can be passed into the startup script
- Sample configurations can be started by the wso2esb-samples script passing the sample number with the -sn option (Please have a look at the samples guide for more information, on running samples)
New Features of WSO2 ESB 3.0.0
- Priority based mediation through priority executors
- WS-Discovery support and dynamic endpoint discovery
- Message Relay for efficient pass through of messages
- Component manager to install and uninstall features (provisioning support)
- Common Internet File System (CIFS) support through the VFS transport
- File locking functionality in the VFS transport to support concurrent polling
- Smooks mediator for efficient message transformation
- Enrich mediator for smart message manipulation
- OAuth mediator for 2-legged OAuth support
- Default endpoint UI
- Hot deploy and hot update configuration elements (sequences, endpoints, proxy services etc)
- Transport level statistics collection and monitoring
- POX security support
- Dependency detection and alerting for mediation configuration elements
- Mediation statistics API and custom mediation statistics consumers
- Multiple certificate/identity support in the NHTTP transport sender
- Improved logging capabilities for the NHTTP transport
- Templates based proxy service development in the UI
- Dashboard to monitor server environment and runtime
- Easy creation and management capabilities for dynamic sequences and endpoints
- Pagination to service management, endpoint management and sequence management UIs
- Obtaining resources like WSDL's through web proxy servers
Key Features of WSO2 ESB
- Proxy services - facilitating synchronous/asynchronous transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Addressing/WS-Security/WS-RM) and optimization switching (MTOM/SwA).
- Non-blocking HTTP/S transports based on Apache HttpCore-NIO for ultrafast execution and support for thousands of connections at high concurreny with constant memory usage.
- Built in Registry/Repository, facilitating dynamic updating and reloading of the configuration and associated resources (e.g. XSLTs, XSD, WSDL, Policies, JS configurations ..)
- Easily extendable via custom Java classes (mediator and command)/Spring configurations, or BSF Scripting languages (Javascript, Ruby, Groovy, etc.)
- Built in support for scheduling tasks using the Quartz scheduler.
- Load-balancing (with or without sticky sessions)/Fail-over, and clustered Throttling and Caching support
- WS-Security, WS-Reliable Messaging, Caching & Throttling configurable via (message/operation/service level) WS-Policies
- Lightweight, XML and Web services centric messaging model
- Support for industrial standards (Hessian binary web service protocol/ Financial Information eXchange protocol and optional Health Level-7 protocol)
- Enhanced support for the VFS (File/FTP/SFTP), JMS, Mail transports with optional TCP/UDP transports and transport switching among any of the above transports
- Support for message splitting & aggregation using the EIP and service callouts
- Database lookup & store support with DBMediators with reusable database connection pools
- WS-Eventing support with event sources and event brokering
- Rule based mediation of the messages using the Drools rule engine
- Transactions support via the JMS transport and Transaction mediator for database mediators
- Internationalized GUI management console with user management for configuration development
- Integrated monitoring support with statistics, configurable logging and tracing
- JMX monitoring support and JMX management capabilities like, Graceful/Forceful shutdown/restart
Bugs Fixed in This Release
This release of WSO2 ESB comes with a number of bug fixes, both in the base framework and the ESB specific componenents. All the issues which have been fixed in ESB 3.0.0 are recorded at following locations:
Known Issues
- Endpoint UI does not support selecting already existing endpoints as child endpoints when creating load balance/failover endpoints
- HTTP GET requests performed on an endpoint that has a trailing '/' character, do not work properly
- SOAP tracer does not work when the message relay is activated
- The sequence editor and the built-in XML editors do not work properly on Google Chrome
All the open issues pertaining to WSO2 ESB 3.0 are reported at following locations:
How You Can Contribute
Mailing Lists
Join our mailing list and correspond with the developers directly.
- Developer List : carbon-dev@wso2.org | Subscribe | Mail Archive
- User List : esb-java-user@wso2.org | Subscribe | Mail Archive
Reporting Issues
WSO2 encourages you to report issues and your enhancement requests for the WSO2 ESB using the public JIRA.
You can also watch how they are resolved, and comment on the progress..
Discussion Forums
Alternatively, questions could be raised using the forums available.
WSO2 ESB Forum : Discussion forum for WSO2 ESB developers/users
Support
We are committed to ensuring that your enterprise middleware deployment is completely supported from evaluation to production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.
For more details and to take advantage of this unique opportunity please visit http://wso2.com/support.
For more information about WSO2 ESB please see http://wso2.com/products/enterprise-service-bus.
Thursday, November 19, 2009
WSO2 Steps into Cloud
Cloud platform that WSo2 provides mainly consists of three variations; which are;- Cloud Virtual Machines
- Cloud Connectors
- Cloud Services
First of all lets take a look at the Cloud Virtual Machines. They are basically hardened virtual machines pre configured to be run on the cloud with auto scaling to fit into your load. This will be very cost effective since you pay it as you go, but still providing the production support insurance.You may try out those as Amazon EC2 images or may be you can run them on your own as VMware images or Linux KVM images.
You should have been at least worring once in your life being not able to provide a third party access the service running on your laptop, since you are under a NAT. Well the second solution that WSO2 provides addresses this issue with a Cloud Connector which is the Cloud Services Gateway which enables you to just expose the service running on WSAS or ESB instance on your personal desktop/laptop connected to the internet, even though the third party cannot access your machine.Another Cloud Connector will accelarate the security processing by delegating that bit to a virtual machine optimized to perform security which is called the Cloud Service Accelarator.
The final option (for the time being) is the Cloud Services, you may have heard the term "as a Service" much more frequently these days. So WSO2 exposes its Governance solution as a service naming it GaaS (Governance as a Service).It will be very interesting for you to try out GaaS online.
We are not done yet, stay tuned for the next step towards the cloud; As a hint I would say IdaaS is coming soon. Guess what it is.... :-)
All the above will form the WSO2 Cloud Middleware, whcih will be the onestop shop for all your cloud requirements... Stay tuned...Want to know more and more, yeah! join Paul Fremantle for the free Webinar on Cloud and SOA: A revolution for the enterprise on Tuesday, November 24, 2009 from 09:00 AM to 10:00 AM (PST).
Monday, October 12, 2009
WSO2 ESB 2.1.1 is Released!
The WSO2 Enterprise Service Bus (ESB) 2.1.1 Released!
The WSO2 ESB team is pleased to announce the release of version 2.1.1 of the Open Source Enterprise Service Bus (ESB). This is an enhanced and improved release of the WSO2 ESB 2.1.0 which went out on July 2009.
WSO2 ESB is a lightweight and easy-to-use Open Source Enterprise Service Bus (ESB) available under the Apache Software License v2.0. WSO2 ESB allows administrators to simply and easily configure message routing, intermediation, transformation, logging, task scheduling, load balancing, failover routing, event brokering, etc.. The runtime has been designed to be completely asynchronous, non-blocking and streaming based on the Apache Synapse core.
WSO2 ESB 2.1.1 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 your SOA architecture. This also contains a lots of new features and many other optional components to customize the behavior of the server. Further, if you do not want any of the built in features, you can uninstall those features without any trouble. In other words, this ESB can be customized to your SOA needs.
You can download this distribution from http://wso2.org/downloads/esb and give it a try.
How to Run
- Extract the downloaded zip
- Go to the bin directory in the extracted folder
- Run the wso2server.sh or wso2server.bat as appropriate
- Point your browser to the URL https://localhost:9443/carbon
- Use "admin", "admin" as the username and password to login as an admin and create a user account
- Assign the required permissions to the user through a role
- If you need to start the OSGi console with the server use the property -DosgiConsole when starting the server. The INSTALL.txt file found on the installation directory will give you a comprehensive set of options and properties that can be passed into the startup script
- Samples configurations can be started by the wso2esb-samples script passing the sample number with the -sn option, please have a look at the samples guide for more information, on running samples
Key Features of WSO2 ESB
- Proxy services - facilitating synchronous/asynchronous transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Addressing/WS-Security/WS-RM) and optimization switching (MTOM/SwA).
- Non-blocking HTTP/S transports based on Apache HttpCore for ultrafast execution and support for thousands of connections at high concurreny with constant memory usage.
- Built in Registry/Repository, facilitating dynamic updating and reloading of the configuration and associated resources (e.g. XSLTs, XSD, WSDL, Policies, JS, Configurations ..)
- Easily extendable via custom Java class (mediator and command)/Spring mediators, or BSF Scripting languages (Javascript, Ruby, Groovy, etc.)
- Built in support for scheduling tasks using the Quartz scheduler.
- Load-balancing (with or without sticky sessions)/Fail-over, and clustered Throttling and Caching support
- WS-Security, WS-Reliable Messaging, Caching & Throttling configurable via (message/operation/service level) WS-Policies
- Lightweight, XML and Web services centric messaging model
- Support for industrial standards (Hessian binary web service protocol/ Financial Information eXchange protocol and optional Helth Level-7 protocol)
- Enhanced support for the VFS(File/FTP/SFTP)/JMS/Mail transports with optional TCP/UDP transports and transport switching for any of the above transports
- Support for message splitting & aggregation using the EIP and service callouts
- Database lookup & store support with DBMediators with reusable database connection pools
- WS-Eventing support with event sources and event brokering
- Rule based mediation of the messages using the Drools rule engine
- Transactions support via the JMS transport and Transaction mediator for database mediators
- Internationalized GUI management console with user/permission management for configuration development and monitoring support with statistics, configurable logging and tracing
- JMX monitoring support and JMX management capabilities like, Gracefull/Forcefull shutdown/restart
New Features of the WSO2 ESB 2.1.1
- This ESB release is based on the award winning WSO2 Carbon "Middleware a' la carte", an OSGi based SOA platform, version 2.0.1 by WSO2 Inc.
- Rule based mediation via Drools
- Fine grained autherization for services via the Entitlement mediator
- Reliable-Messaging specification 1.1 support
- Enhanced WS-Eventing support and Event Sources making it an even broker
- Enhanced AJAX based sequence, endpoint and proxy service editors
- Enhanced transport configuration management through the graphical console
- Enhanced integrated registry and search functionalities with versionning, notifications, rating of resources, and commenting
- Enhanced remote registry support
- Default persistence to the registry for the configuration elements
- Enhanced permission model with the user management
- Enhanced REST/GET and other HTTP method support
- P2 based OSGi feature support, for optional features like service management, runtime governance and so on..
Bug Fixes and Enhancements
- Endpoint management issues in clustered environments have been fixed (CARBON-5108)
- Defects in DBReport, DBLookup mediator UIs have been corrected (CARBON-5084)
- Script mediator UI has been improved to handle some exceptional scenarios (CARBON-5080)
- XQuery mediator UI has been enhanced to handle some exceptional scenarios (CARBON-5078)
- ESB management console has been enhanced to work properly on WebLogic application server
- UI enhancements to support WebSphere application server
- Sequence management UI has undergone some minor enhancements
- Enhancements to support front end - back end separation of the server
- Reported issues related to transaction mediator have been fixed (CARBON-4225)
- Issues releated to task creation and management have been rectified
- Many documentation updates and enhancements
How You Can Contribute
Mailing Lists
Join our mailing list and correspond with the developers directly.
- Developer List : esb-java-dev@wso2.org | Subscribe | Mail Archive
- User List : esb-java-user@wso2.org | Subscribe | Mail Archive
Reporting Issues
WSO2 encourages you to report issues and your enhancement requests for the WSO2 ESB using the public JIRA.
You can also watch how they are resolved, and comment on the progress..
Discussion Forums
Alternatively, questions could be raised using the forums available.
WSO2 ESB Forum : Discussion forum for WSO2 ESB developers/users
Training
WSO2 Inc. offers a variety of professional Training Programs, including training on general Web services as well as WSO2 ESB, Apache Synapse, Apache Axis2 and number of other products.
For additional support information please refer to http://wso2.com/training/course-catalog/
Support
WSO2 Inc. offers a variety of development and production support programs, ranging from Web-based support up through normal business hours, to premium 24x7 phone support.
For additional support information please refer to http://wso2.com/support/
For more information on WSO2 ESB, visit the WSO2 Oxygen Tank (http://wso2.org)
We welcome your feedback on this implementation. Thank you for your interest in WSO2 ESB.
Saturday, September 5, 2009
Webinar on Enterprise Integration Made Easy with WSO2 ESB is Done!
Also I must say that this webinar has been reported as a record braking webinar for WSO2 with the huge number of attendies.
I will be doing a series of webinars which will demonstrate the functionalities of the ESB starting soon...
Monday, August 24, 2009
Enterprise Integration Made Easy with the WSO2 ESB

"Enterprise integration can be a real drag for developers. Even though the advent of SOA has made the need for hard-coded integration between each application obsolete, it can be frustrating and time-consuming to get your middleware tools set up to build, mediate and connect services."
You can read the full story at WSO2.org
It is free, and has a limited number of seats ;-) so be hurry, Register Now.
I will be covering the WSO2 ESB focusing on the;
- An overview of the new OSGi-based architecture
- The provisioning model to seamlessly add or remove components and custom features to your ESB deployment
- Better mediation and routing with the new business rules support, powered by Drools
- How the WSO2 ESB automatically protects your integration development efforts by storing your configuration in a built-in registry
- Additional enhancements to performance, eventing support, scheduled tasks and REST support
- Streaming and non blocking HTTP transport and other supported transports, interfaces and protocols
Wednesday, August 5, 2009
[WSO2-ESB-FAQ-001] Per-service logs in WSO2 ESB
So first of all lets focus on the requirement, my requirement is to configure the logs of a particular service (to be more specific a proxy service) to be logged into a given log file. The advantage of having per-service log files is that it is very easy to analyse/monitor what went wrong in this particular proxy service by looking at the service log. Enabling this feature will not terminate the wso2-esb.log file being keeping the logs about this service, the complete log is a complete log and will contain every log statement including the service logs that you have configured to be logged into a different log file. In other words the service log is an additional log file which will contain a copy of the logs to that particular service.
Then, how can you configure this in the WSO2 ESB. So, lets assume that we are referring to the sample 150 of the WSO2 ESB, which has a proxy service named StockQuoteProxy. Now we need to configure log4j to log the service specific logs to a file called stock-quote-proxy-service.log in the logs directory of the ESB installation directory. Open up the log4j.properties file found at the lib directory of the WSO2 ESB installation directory using your favourite text editor and add the following section to the end of the file starting in a new line;
log4j.category.SERVICE_LOGGER.StockQuoteProxy=DEBUG, SQ_PROXY_APPENDERWell, save the file and you are done with the configuration, and now it is time to try it out. By default the sample 150 configuration doesn't do any logging at run time. So go ahead and configure the proxy service in-sequence to contain a log mediator to log the message at "Full" log level.
log4j.additivity.SERVICE_LOGGER.StockQuoteProxy=false
log4j.appender.SQ_PROXY_APPENDER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.SQ_PROXY_APPENDER.File=logs/stock-quote-proxy-service.log
log4j.appender.SQ_PROXY_APPENDER.datePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.SQ_PROXY_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.SQ_PROXY_APPENDER.layout.ConversionPattern=%d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n
Execute the sample client after starting the ESB with the sample 150;
$ESB_HOME/bin/wso2esb-samples.sh -sn 150and the sample axis2 server with SimpleStockQuote service deployed on it as per stated in the sample documentation.
Inspect the logs directory of the ESB installation directory to see the stock-quote-proxy-service.log file, further to demonstrate the log file rotation I have configured this particular logger to rotate the file in each minute when ever there is a log going into the service log, so if you execute the sample client once again after 1 minute you will be able to see the service log file rotation as well.
Monday, August 3, 2009
Sri Lanka wins the ODI series over Pakistan
When Pakistan hit 288 I thought "its OK we will be having two other matches at Colombo to mark the series win", coz I never thought we (Sri Lanka) will win the match at Dambulla even without Sanath Jayasuriya. Well, I was completely wrong but after watching 12 overs of Sri Lankan batting I knew that we are going to win. I had much stuff tobe done, but just set for watching a couple of overs of yet another Sokian batting :-), but I get off from my seat even after the awards presentation.
See the Full score card it was marvolles. It was all Mahela's game today Congratulations to him!
Everybody was talking about Mahela who had become the man of the match, well he deserves that, but if not that decision of Ashoka De Silva to wrongly judge Upul Tharanga to be victimed to a LBW, Tharanga would have been going for a century for sure as well.
Apart from that I saw a fabulus catch from Mathews, he is a such a talented cricketer and a great finding into the Sri Lankan team, he can ball very well, his batting is quite out standing and nothign to talk about his fielding, I just got to remember Roshan Mahanama for a second when I saw Mathews taking that in flight return catch.
Finally, this man has something to talk about in every match, so proving that he has his portion to talk about him in this match as well. Congratulations to Muralli for the hurdle of 600 ODI wickets.
I am delighted to see the T/20, Pakistan is the world cup holder ;-), lets wait and see.
Thursday, July 30, 2009
ESB and SOA
Monday, July 20, 2009
Free Training - How to Successfully Configure ESBs for Different SOA Demands and Avoid Common Paths to Failure
The enterprise service bus (ESB) is a fundamental building block for creating a service-oriented architecture (SOA). And much like a steel beam, how the ESB is used can mean the difference between setting up a basic structure and creating an award-winning architecture.
Read the full story here, and register for this extremely valuable session at the training page.
You could also use the above widget to register for this course, it is Totally Free!!
Sunday, July 19, 2009
Bill Gates on Sri Lanka
It is amazing that how the world recognizes Sri Lanka on the worlds IT industry... I think considerable amount of acknowledgement should go to Dr. Sanjiva Weerawarana who helps the talented Sri Lankans to show off there abilities on the global IT industry. I am fortunate enough to be guided from him.
Apart form that I should also mention about the University Of Moratuwa, Sri Lanka, which constructs most of these talented Sri Lankan stars from the scratch; well to be more specific the Department of Computer Science & Engineering. I am proud to be part of that as well. For example, when I was entering to the university to do my B.Sc. Engineering degree, I had just only seen a computer and touched it for several times.. but it at least took me 30-40 seconds to type in my name "Ruwan Linton" :-), I am proud to be a well instrumented Software Engineer after 4 years of studies, I know this story is true for most of the people who came to the university from country side, at least on those days. So, a huge thank to CSE - UOM as well.
Congratulations to Sri Lanka... and our guys.
Wednesday, July 15, 2009
Rule based mediaiton enabled in the Open Source ESB
It is a much matured release, but it is not just the maturity and stability which brings to you by this release but a few very important new features... Top on my list is the Rule based mediation and this post is about that.
First of all lets look at, what is Rules, Rules Engine and what is the importance of Rules in to the message mediation in SOA?
Rules is a functional construct which is used to match the decision making from the technical aspect to the business aspect of it. Basically you need to provide in a set of name value pairs as facts and then you need to specify a set of rules to the Rules Engine, and the engine will process these facts according to the specified rules. When it comes to SOA, it is vital to have this sort of a configurable processing of the messages according to a set of rules over the messages.
This model better fits into an ESB rather than a service hosting environment, this doesn't mean that WSO2 will not going to make it to Rule based services (or may be Rules as a service) but it has much value at the mediation layer, especially with the power of Complex Event Processing with Rules. WSO2 ESB uses the Drools as the Rule implementation which enables you to add CEP to the ESB very easily because the latest release of Drools has the CEP capabilities as well.
The other main advantage of using the WSO2 ESB over any otehr ESB is the comprehensive set of samples which helps you get off the ground quickly. Same is true for Rules as well, we have 6 samples explaining the different behaviors of the Rule based mediations. If you haven't yet tried the open source ESB, now it is the time to get started with it by downloading it or never look at it :-).
Monday, July 13, 2009
Security in SOA
Sunday, July 12, 2009
Implementing Master Data Management Patterns

This article by Asanka Abesinghe explains how you can implement the MDM patterns with the WSO2 SOA platform.
Friday, July 10, 2009
WSO2 ESB - The Open Source ESB 2.1.0 is Released
This release is a much more stabilized release, with all the OSGi maturity and the component architecture being solidly applied to the product it self.
You could find the Release Note here to get an idea of the release.
If I list the top 5 features of this release;
- Rules support with Drools
- Fully AJAX based Sequence Editor
- Fine grained authorization via an Entitlement mediator
- WS-Reliable Messaging 1.1 support
- Full REST support
One other thing is that, we have improved a lot on the documentation... you could get a feeling of the improvement if you have seen this documentation earlier, even if not you may realize that this documentation is comprehensive.
One blame that the industry is raising against open source products are the lack of documentation and we have tried our very best to address that in this release. Don't worry it is still open source and released under the Apache Software License v2.0
This ESB release goes with 3 other twin WSO2 products which are G-Reg the Governance Registry, WSAS the Web Services Application Server and IS the Identity Server which you will find interesting to get your hands into.
