Sunday, February 07, 2010

WSO2 ESB is Unique

ESBs have a big value proposition among the middleware due to the value it brings to the enterprise SOA. Because of that you can find lots of ESBs in the market, some are proprietary and some are opensource. While working as an architect on building medium to large scale enterprise applications I got the luxury to use different ESBs. Once I joined WSO2 I got the chance of sink into the WSO2 ESB by contributing for the development and as Solutions Architect got the opportunity to implement number of user implementations by matching the business use-cases into technical use-cases. This exercise did prove one thing to me that the WSO2 ESB is unique. You might be thinking because I wear the WSO2 hat I'm bias on this statement so I'm going to describe why I think like that during next chapters.
My first point is WSO2 ESB is lightweight. If you look at the binary distribution of the WSO2 ESB it is around 130MB, even in a network that has limited bandwidth this can be download to your desktop quickly. Most of the ESBs that is functionality rich as WSO2 ESB sizes gigabytes and have dependencies to other applications as well (even to start), that take hours to download, configure and run.
WSO2 ESB has package to run as a self extract binary that does not required any other external application. It required a JRE (1.6 recommended but runs on 1.5) only.
Performance is a key factor of the ESB because ESB ads an additional layer to the communication. We have published the last benchmark test sometime back and we are in the process of publishing the latest performance tests with the latest product releases. But from the figures that we found by running the latest releases on our customer places are tremendous, I'm not going to talk about any figures here that the upcoming white paper on that will talk about it. Fast is one of the points for the uniqueness of WSO2 ESB that inherits from the architecture itself.
Most of the ESBs follow a code driven approach to implement the scenarios but WSO2 ESB have an opposite approach that it is configuration driven. Configuration is very user friendly and on simple XML syntax. Inbuilt editor with wizards to generate configuration or user can use any XML editor for the experts to create/edit configuration. This is a very useful feature for architects to implement mediation logics.
WSO2 ESB is not another JBI (Java Business Integration) implementation as most of the other ESBs do.
WSO2 ESB release with the most business friendly license Apache-2.0. Even there are multiple types of opensource licenses some of them have hidden terms that cannot be used freely with business.
WSO2 ESB does not release as multiple editions (community/enterprise etc..), same free opensource edition available for everyone that contains all the features in the product.   
When it comes to deployment you can pick the deployment suites your infrastructure. It can be a single standalone deployment, distributed one with a cluster or multiple cluster groups. Even you can deploy it in an existing application server that is running on your infrastructure with a Servlet container. It contains the key production features like high-availability and load-balancing inbuilt with the default distribution.  
To make the deployment easy WSO2 ESB provides different type of distribution artifacts, standalone binary distributions, standalone distribution that can convert into a web-app that can deploy in a external container, VM (Virtual Machine) images and cloud images (AMIs for Amazon EC2 instances).
WSO2 ESB is based on WSO2 Carbon (with ESB 2.x family of products). WSO2 Carbon provides the development framework and the runtime environment for the WSO2 products including the ESB. Carbon is based on OSGi (Open Services Gateway initiative) technology for Java. As you know ESB is about mediation, with the usage of Carbon you can enable other functionality like service hosting, business-process execution, governance with the ESB. WSO2 got a complete set of products that service individually to fulfill these type of functionality but allows to install set of features as a feature-pack in a Carbon runtime. 
With Carbon I would like to talk about the Carbon UI framework, that builds the comprehensive management, monitoring and configuration UI for WSO2 ESB. It is not a must to have the UI install together you can do a backend, fronted separation and install the two component separately and one UI can manage multiple backend instances too.
ESBs divided into two main categories API driven and protocol driven, WSO2 ESB supports both by using custom mediators and the transports associates with the ESB (using message builders, formatters, listeners and senders).
WSO2 ESB has inbuilt support for most of the web services specifications (ws-*) including the latest addition of WS-Eventing.
When considering the solution architecture WSO2 ESB can use to build small, medium to large enterprise level integration solution using different type of patterns (including MEPs,EAI). 
WSO2 ESB contains a simple programming model that can follow and do any customization or add enhancements. It do support BSF compatible scripting languages that the non Java developers also can use and do programing in top of it. 
I think I have discussed many reasons for why I think WSO2 ESB is unique, best thing is download and figure it by your self. WSO2 ESB contains 100+ samples and WSO2 OxygenTank contains number of articles/KB items to help you to implement your scenarios. Same time you can use the forum and the mailing lists to discuss any clarifications and simply fill the contact form to talk to the WSO2 BizDev team to obtain any specific requirement.

Tuesday, February 02, 2010

2010 Q1 WSO2 Technical Update

Check out this SlideShare Presentation: This includes the latest technical updates from the WSO2 SOA Platform.

Sunday, January 17, 2010

Q:SaaS to Govern Your SOA ? A: WSO2 GaaS



I did blog about SaaS few weeks back and it did explain how architects can use SaaS to build enterprise level SOA based applications. If you are looking to govern your SOA using SaaS then this blog post might be helpful for you because I'm going to talk about governance framework that is offering as a SaaS.
WSO2 Governance Registry provides a comprehensive governance framework for your enterprise SOA, I have explained about this in a previous blog post. By using the same framework and making it a multitenant governance framework and a repository/registry the SaaS label has given by hosting it in Amazon EC2. This service by WSO2 call GaaS
You can register your company in GaaS by providing your company domain. GaaS will guide you to create your tenant admin account and allow you to personalize your service GUI by using some predefined templates, including the facility to upload your company logo that will appear on the management console. Once you create the tenant admin account you can create the users and roles for your organization. Then the folder huarache to store the metadata of your SOA. So you have your own branding in the GUI, you have your users with their roles setup and you have the folder structure ready for organize and store the metadata.
You might be thinking due to GaaS is a pubic service you will only keep the public metadata in the service, but that is not true you can store your private data and provide relevant permissions to access the data by using the permissions that can be set for the user/role. Sometimes you might be thinking of deploying the governance framework locally and implement. By using GaaS you will be getting the benefits that I did explained to you on the blog about SaaS. If your deployment architecture is a distributed architecture and you don't have facility to host a service public in a secured manner then GaaS will fit in to your needs.  
By adding GaaS to your SOA you got the common/centralized metadata repository that can access via a secured channel. Once you store the metadata in GaaS each resource provides an unique URI that can be used to access the content. Now you have created your permission schemas, folder huarache, upload the content, it is time to look at how to add the extended governance features by using GaaS.  The validation policies will be link with each media type and will be get executed with the content upload. Tenant administrator can control the validation logic by enabling and disabling the policies for the media type. 
User can access the service metadata and other content stored in GaaS by login in to the online management console provided by the service. But you might be thinking how you are going to use the service metadata inside your SOA, GaaS provides couple of options first you can write a remote client using the Atom interface provided by GaaS and it is using the Abdera library as a implementation. Second option is, if you are using WSO2 products (pre Carbon-2.0.2) you can use GaaS as your remote registry (with Carbon-2.0.2 the remote registry has replaced with a JDBC registry). With the next release of GaaS the WS interface will be exposed so user can use that interface to access the content inside the repository. 
Audit logs are available to view using the management console that will allow the tenant admin to monitor the activities.  
If you have multiple environments to maintain e.g. development, testing, staging and production still GaaS support to manage them. You can create separate folder structures with the associate users assigned for them for each environment. Life cycles can be used to move content in the environment that brings a flat workflow. Another option is to buy a different tenant for each environment, import export scripts can be used to move content to/from each tenant. 
Fundamentals of governance the people, policies and processes can be implemented using GaaS and the main categorization of governance that I brought in one of my previous blogs  metadata, control and monitor can be implement using GaaS too. 
GaaS allows you to create a free account so you can try to implement the governance for your SOA now

Saturday, January 02, 2010

Goodbye 2009....!


Sunday, December 27, 2009

20 Years in Cricket Field


Sanath Jayasuriya the cricketing ledgen did complete his 20 years of international cricket carrier yesterday. So he has spend half of the time from his age in the internaltional cricket grounds.
He has been recently interviewed by a indian journalist and what he has mentioned there was his ambition is to play for next six months. I think Sri Lankan officials should give him a free visa to play till end of next world cup and let him to play his natural game.
This is a person who took the Sri Lankan name all around the world and always do entertain the cricket loving public. 
Keep it up Sanath, we would like to see you back in form.

"The biggest is to play the 2011 World Cup. Before that, the first challenge is to come out of this lean phase with the bat. I know Sri Lanka are likely to play about 30 ODIs before the World Cup, but I am not thinking that far. I am only thinking of five ODIs at a time, and if I can perform in three out those five, I'm right on track for the next World Cup. I am trying. Obviously if the team management wants to send me a message they should be clear about that to me, as they have been in the past. "