Monday, November 15, 2010

SOA Meets the Cloud


Written by Hiranya Jayathilaka

We just released WSO2 Stratos v1.0.0, the SOA PaaS solution based on WSO2 Carbon. Stratos enables you to run WSO2 middleware on a cloud infrastructure in a completely multi tenanted environment. This release brings you following SOA middleware services:
  • WSO2 Enterprise Service Bus as a Service
  • WSO2 Application Server as a Service
  • WSO2 Data as a Service
  • WSO2 Governance as a Service
  • WSO2 Identity as a Service
  • WSO2 Business Activity Monitoring as a Service
  • WSO2 Business Processes as a Service
  • WSO2 Business Rules as a Service
  • WSO2 Mashups as a Service
  • WSO2 Gadgets as a Service
With Stratos you can deploy webapps, web services, mediation flows, gadgets and business processes on the cloud. Just like all WSO2 products, Stratos is also free and open source. Try out Stratos for free at

See original post

WSO2 Stratos 1.0.0 Released!


Written by Sami

WSO2 Stratos team is pleased to announce the release of version 1.0.0 WSO2 Stratos.

WSO2 Stratos is a complete middleware platform-as-a-service for implementing an enterprise service-oriented architecture (SOA). WSO2 Stratos is 100% open source and is available under Apache License v2.0. It is built on top of, and extends, WSO2 Carbon, the award-winning, comprehensive, concise, lean enterprise middleware platform.

WSO2 Stratos 1.0.0 release is available for download at

WSO2 Platform as a Service 1.0.0 Beta is readily available for access at This is a hosted version of WSO2 Stratos 1.0.0 currently in beta status where customers can register and use all the middleware services without having to deploy any software.

With WSO2 Stratos, IT professionals have a fully hosted platform-as-a-service (PaaS) for rapidly building and deploying services and composite applications, with instant provisioning capability. WSO2 Stratos delivers on the promise of cloud computing with a complete, enterprise middleware platform for delivering applications that can run on, and integrate with, any combination of private clouds, public clouds and on-premise systems. WSO2 Stratos is equipped with features for auto-scaling and single sign-on, as well as enhanced functionality for automatic activity monitoring, usage metering, centralized governance and identity management.

WSO2 Stratos offers all the benefits of the cloud without the complexity or fear of vendor lock-in.
  • It is integrated across multiple middleware platform services and provides unified interfaces across services; hence facilitate shorter project times
  • Metering reduce costs by allowing monitoring that lead to optimizing data center utilization and allowing companies to pay only for what they use
  • Auto-scaling provides the ability to scale up or down based on the demand for services and usage capacity, eliminating both resource starvation as well as resource slack
  • Multi-tenancy means applications supporting different organizations, business units or regional offices can be delivered cost-effectively from a single location sharing the same platform and resources, yet run fully independently
  • Built-in automated governance and centralized identity management facilitates control over applications and services across different tenants.
  • WSO2 Stratos is based on the comprehensive WSO2 Carbon middleware platform, hence, applications can be migrated smoothly and safely on premise, to a private cloud, to the public cloud, or to a hybrid environment.providing unprecedented deployment flexibility.

WSO2 Stratos comes with all of the production-quality runtime engines in WSO2 Carbon available as cloud services:
  • WSO2 Enterprise Service Bus as a Service
  • WSO2 Application Server as a Service
  • WSO2 Data as a Service
  • WSO2 Governance as a Service
  • WSO2 Identity as a Service
  • WSO2 Business Activity Monitoring as a Service
  • WSO2 Business Processes as a Service
  • WSO2 Business Rules as a Service
  • WSO2 Mashups as a Service
  • WSO2 Gadgets as a Service

WSO2 Stratos Features

At the heart of the WSO2 Stratos Platform as a Service is a cloud manager. This PaaS home service provides management and monitoring capabilities and offers a Web portal where users can register their domains (tenants), log in, manage their accounts, manage users and roles, and activate/deactivate the middleware services that are available for their users.

The PaaS home offers point-and-click simplicity for provisioning middleware services, so developers can get started immediately and focus on the business logic, rather than configuring and deploying software systems.

The platform integration layer within WSO2 Stratos allows it to install onto any existing cloud infrastructure such as Eucalyptus, Ubuntu Enterprise Cloud, Amazon EC2, and VMware ESX. Enterprises are never locked into a specific infrastructure provider or platform.

Once WSO2 Stratos is installed, a Web-based management portal lets users configure, manage and govern independent-but-consistent services for each department, or for each stage of a system's lifecycle. Each server is completely virtual, scaling up automatically to handle the required load, metered and billed according to use.

Noteworthy WSO2 Stratos features include:
  • Auto-scaling capabilities: WSO2 Stratos automatically adjusts the use of cloud resources to meet increased or decreased demand.
  • Single sign-on functionality: Users only need to sign on once to access all WSO2 Stratos services that they are authorized to use.
  • Enhanced automatic activity monitoring: Activity monitoring is available in real time, so there is no time gap between data collection and the availability of data for monitoring.
  • Enhanced usage metering: Metering is automated so that every operation by tenant users will be monitored and recorded. The metering information can be used for billing and for offering constrained access for certain services.
  • Enhanced centralized governance and identity management: All the resources of all Stratos services can be monitored and governed from a single point - from WSO2 Stratos Governance as a Service. When a modification, such as changing a security policy, or changing the keystore, is done from a single place, it is immediately visible to all other services. In addition, all services share a single user store. When a user is added from a service, that new user can immediately access all other services available for the tenant.


As a fully open source solution WSO2 Stratos does not require any licensing fees.

WSO2 offers a range of service and support options, including evaluation support, CloudStart(SM) consulting program, development support and production support.

For additional support information please visit .

WSO2 Stratos Team

See original post

Thursday, November 4, 2010

Cloud Computing & Governance - It just got easier


Written by Sami

Governance is key, for successful and effective IT operations.

People, policies and processes are the key dimensions in governance. Those dimensions, combined with service life-cycle models, forms the basis for SOA governance today.

How does cloud computing help with Governance? Well the trivial answer is to say that, lets make governance available as a service. That could be a big chunk in governance in cloud era, but that alone is not it.

To start simple, the cloud self service models will allow faster provisioning cycles to that the developers/testers that are involved with service life-cycles can be more productive with delivering services.

For example, say that we have a simple service life-cycle:
design <-> implement <-> test <-> stage <-> deploy

Now, when going though the life-cycle of a service, people involved require various resources. For example, the developer need to have a setup to do unit tests during implementation phase. And the resources for testing could be allocated from the application server as a service, rather than having to have dedicated machine and have the trouble of installing and configuring the application server. The developer can use his or her own tenant to develop and test his code, without having to trouble anyone or block anyone.
When the service goes to testing phase, again the quality assurance people can drop the service into their own tenant space, where they have all dependencies, contexts and environments pre-setup and test in quick time. Again no setup time, not installation of app servers and no need to have dedicated hardware.
When the service moves along the life-cycle, so does the resource requirements by various team members and the on-damed resource provisioning of the cloud can cater to all time based demand by various sub teams as opposed to dedicated resources for each sub team.

Thus, cloud naturally fits into SOA governance needs and saves both time and money.

See original post

Wednesday, November 3, 2010

Self Service Computing with Cloud for Middleware


Written by Sami

We go to the ATM nowadays than to the bank counter for our banking needs. And some even use the Internet banking more than the ATM. Self service models revolutionized the services sector, with 24/7/365 access to services.

The same self service models are made possible for IT operations in enterprises, thanks to the cloud technologies. If one wanted a new machine even for testing or trying out something , with some software configuration, it used to take weeks if not months, for that request to be serviced by IT departments. But now, it can be made available within few minutes, thanks to cloud computing. One can go to Amazon EC2, and get a powerful machine instance, and it will take less than five minutes, it is up and running and is ready to use. And it is quite like the ATM model. It is self service and fully automated.

Not only for infrastructure facilities where you are looking for processing power with some operating system, but also for situations where you want a machine with service hosting capabilities to test and try out a new service implementation, this is possible. In other words, platforms are available as services. And with zero installation time and zero configuration time, you are ready to use a middleware stack, on the cloud. If you are a developer, you might know, how long it would have taken to download (provided it is open source, of-course) or purchase a middleware stack, install and configure prior to using the setup at all to implement and try something out. Cloud computing can revolutionize this model and expedite it to a great deal, in that, the only thing that the developer has to do is to sing in for an account, and then use the middleware platform services.

What would be the ingredients of a middleware platform as a service setup?
Service hosting, data services, governance, identity management, enterprise service bus, business process management tools, rules services, mashups, portals/dashboards and business activity monitoring can all be part of a platform as a service offering.

Not only developers, but also IT specialists as well as business specialists can benefit from such a cloud based model for middleware. Developers can develop, test and deploy in quick time. IT folks can easily enforce policies with governance, monitor setup with monitoring and tune deployments with portals. Business folks can model business process, monitor and tune business processes with business rules. All parties in the enterprise can focus on the core business aspects, without having to worry about things such as computing capacity, version incompatibilities among different elements, and maintenance headaches. Technologies such as auto scaling will take care of computing capacity. The cloud vendor will take care of maintaining middleware setup and software versions. It is like Facebook for middleware.

See original post

Tuesday, November 2, 2010

WSO2 Con 2010


Written by Heshan Suriyaarachchi

WSO2 Con 2010 will be held at HNB Towers, Colombo on 14th and 15th September. For more information visit WSO2Con website.

See original post

WSO2 Enterprise Service Bus (ESB) 3.0.1 Released


Written by Heshan Suriyaarachchi

The WSO2 ESB team is pleased to announce the release of version 3.0.1 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.1 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 and give it a try.

How to Run

  1. Extract the downloaded zip
  2. Go to the bin directory in the extracted folder
  3. Run the or wso2server.bat as appropriate
  4. Point your browser to the URL https://localhost:9443/carbon
  5. Use "admin", "admin" as the username and password to login as an admin and create a user account
  6. Assign the required permissions to the user through a role
  7. 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
  8. 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.1

There are no new features in this release. This is a bug fix release. See the section "Bugs Fixed in WSO2 ESB 3.0.1" for more information.

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.1 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.

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


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

For more information about WSO2 ESB please see

-- The WSO2 ESB Team --

See original post

Monday, November 1, 2010

Cloud and the future of computing


Written by Sami

10 years ago, hosted mail solutions like Gmail, or Yahoo mail were treated like toys. Businesses, small and big, had to host their own mail servers. And in addition to the core business, there were people in IT, or some engineers who were willing to multi-task, had to look after the mail server. Including running the mail server, maintaining DNS MX records, configuring the mail server, maintaining the hardware etc. Such was the "do it all ourselves" era of computing.

Today, not many organizations host their own mail servers. Specially those small to medium businesses. You rather buy the service from a service provider, and all that the organization has to do is to create/delete/update mail accounts. All the burden of running the mail service has been handed over to the service providers. Such is the "service" era of computing.

Though cloud is deemed to be a "hype" thing, it really is not. It is there already and people use it for real business. We have been using the "cloud" model for Web hosting for more than a decade. More and more apps are "out there" rather than in-house. Such is the "cloud" nature of computing today.

Almost everyone, except may be the poorest in the world, has a bank account. We own the money, but the responsibility of keeping the money is "outsourced" to the bank. It gives us peace of mind, rather than having sacks of cash notes under our bed. The idea of cloud computing is similar. You own it, but it is managed and kept by someone else. If you are not using it, someone else can use it, and you do not have to pay. And you save, like earning interest on the money deposited in the bank. And you do not have the burden of acquiring hardware, maintaining software and the like.

So we are moving to a centralized model back again? Yes, sort of. Is that not risky? Well, is that not risky to have everyone's money in a single bank? We have established our "trust" with banking systems. Similarly we would learn to trust cloud providers.

To start with, we had the software as a service model. Then we saw Amazon offering hardware, computing power, as a service with EC2. We also have middleware as a service being offered, for e.g. by WSO2.
So, hardware, middleware and software are all available as services with the cloud model.

So your ESB will be on the cloud, and you will mediate your SOA messaging though that. You will have your business process modelling tools on the cloud. You will have your identity provider on the cloud. It will soon become like your email. Your middleware and your enterprise apps will run out there on the cloud. You will not have to have room for a server room anymore.

See original post

Thursday, October 14, 2010

WSO2 Carbon Studio - The Developer Tools for SOA Platform


Written by Sami

WSO2 Carbon Studio is an eclipse based development tool-set for WSO2 Carbon middleware platform.

The tooling was released yesterday, to help developers implement integration solutions based on the lean, enterprise middleware platform.

Developer tooling is one of the key objectives that WSO2 set forth for this year, at the yearly planing meeting in January 2010. And we have been able to achieve this objective, thanks to all the hard work put together by the tooling team.

You can find comprehensive documentation on the WSO2 Carbon Studio and the download is free and with Apache license, as are all other products.

See original post

Monday, September 20, 2010

Introduction to WSO2 Cloud Platform


Written by Afkham Azeez

See original post

Tuesday, September 14, 2010

WSO2Con Day 2


Written by Sami

We are about to start day two of WSO2Con here in Colombo.

Yesterday it was the day of the platform. We not only talked about it, but also demoed the complete platform with a sample applications.

Today it is going to be the day on PaaS. We will talk as well as demo the cloud platform.

- Posted using BlogPress from my iPad

See original post

Monday, September 13, 2010

WSO2Con Colombo 2010 Day 1 -About to Start


Written by Sami

We are all set to get going with WSO2Con 2010 here in Colombo.

I am all ready with my presentation and the folks are sly ready with the carbon demo.

Looking forward to an exiting two days!

- Posted using BlogPress from my iPad

See original post

Sunday, September 12, 2010

WSO2 ESB 3.0.1 Up for Grabs


Written by Hiranya Jayathilaka

Last week we released WSO2 ESB 3.0.1. This release contains a number of important bug fixes and we highly recommend everyone using WSO2 ESB 3.0.0 to upgrade to the latest release as soon as possible. Please note that this is only a bug fix release and as such it doesn't contain any new features over 3.0.0. Therefore any configuration can be easily migrated to the 3.0.1 from 3.0.0.
Some of the significant fixes available in this release are:
  • Fixes to the hot deployment/hot update implementation
  • Fixes to the built-in patch model
  • Transport fixes (particularly in the NHTTP and FIX transports)
  • An Axis2 security fix
To make a long story short, there are more than one reason to migrate to WSO2 ESB 3.0.1. So download your copy today.

See original post

Saturday, September 4, 2010

Empowered Employees, Self-service IT and the Future Enterprise


Written by Tyrell

IT in the Age of the Empowered Employee - Ted Schadler - The Conversation - Harvard Business Review
"Incremental innovation and process improvements have always come from those closest to the problem. It's the basis of kaizen, a system where employees continually improve manufacturing processes. It's also a founding principle of Six Sigma tap employees' relentless, incremental quality improvements.

The same is true in the way employees are harnessing consumer technologies social, mobile, video, and cloud. They're improving how they do their jobs and solving your customer and business problems. And it's not just a few employees; it's a critical mass of employees. In a survey of more than 4,000 U.S. information workers, we found that 37% are using do-it-yourself technologies without IT's permission. LinkedIn, Google Docs,, Facebook, iPads, YouTube, Dropbox, Flipboard the list is long and growing. Many of these scenarios are do-it-yourself projects. For example, want to ask me business questions on Facebook? Piece of cake, I'll just friend you. Personal iPhones for email, apps, and Internet access outside my clients' door? Check. Google Sites and Docs to exchange documents with partners? Sure, I can spin up a free site or IT can spend the $50/user/year and make it secure. YouTube to post fix-it-yourself videos for tough service problems? My kid's good with a Flip camera. She can film me doing the fix myself."

The popularity of Social Media, Mashups and App Stores is a clear indication that business users of today are do-it-yourself types. Social communities such as LinkedIn, Facebook and Twitter in addition to devices like the iPhone and iPad appeal to this new enterprise user. The way I see it, in the near future, enterprise IT will have to implement technologies that empower business users the same way these technologies do. Enterprise applications need to have social functionality build in, while allowing users to pick and choose exactly the apps they need, as and when needed.

Use SOA, think about exposing data as APIs. Secure them where needed. Most importantly, keep service re-use and composition in mind. Because that's where your ROI would be. Re-using existing stuff to create new apps with the minimum time and effort. Use a social App Store within the enterprise to govern these new apps. Ensure that business users get a say via rating and commenting. Have activity streams so that users are aware what's going on in their enterprise social circle.

The list goes on... but do take a user-centric approach and build from there. That's why Google can't succeed in the social media space, they are technically brilliant but clueless about how the social web works. Look at Wave, an engineering masterpiece, but a miserable failure as far as user adoption is concerned. Now look at Twitter. Always in trouble with technology, fails consistently when too many users start tweeting. But the users love it. If you ask me, the problems faced by twitter are good problems to have. "So many users like us, we can't handle the love!". I remember YouTube going through a similar phase a few years back. Not any more. Because technical problems can be solved. But if users don't like what you have, how on earth are you going to justify the pay checks of all those engineers?

See original post

Friday, September 3, 2010

WSO2 Stratos - Deployment Architecture


Written by Afkham Azeez

WSO2 Stratos is a complete SOA and developer platform offered as a self-service, multitenant, elastic runtime for private and public cloud infrastructures. If you want more details on what Stratos is, read Paul's blog entry: WSO2 Stratos - Platform-as-a-Service for private and public cloud

As you can see in the above diagram WSO2 Stratos is a distributed system consisting of a number of services such as Stratos Governance, Stratos Identity, Stratos ESB, Stratos Application Server and so on. Each of these services is an elastic cluster, which means, the number of nodes in the cluster will increase or decrease based on the load on these clusters.

Let us take a look at a few important components of this system.

Stratos Manager
The main service, shown at the top, is known as the Stratos Manager. WSO2 Stratos Manager is the point of entry for all WSO2 Stratos Cloud Services. An organization (called a tenant in the Stratos world), will first be registered in the Manager. A tenant administrator account should be created at this point. For example, when I registered, I created an administrator account with username admin, and email address Once you create register your organization, you can login to WSO2 Stratos using the admin account. I provided my username as The next step would be to take a look at the Stratos services enabled for your organization. You could enable of disable services. You may also want to create new roles with certain permissions & then create users for these different roles. There is also a bulk import feature which will allow you to import a large number of uses from a CSV file. You will also be able to create and apply a new theme for your organization. Some basic usage statistics are also available. The Stratos team is currently working on enhancing this metering, usage reporting & billing functionality.

Next you could visit the home pages of the different Stratos services. As of now, single-sign-on (SSO) is not available, so you will have to sign in to each service separately.

Stratos Governance - Governance as a Service
The Governance service will enable you to govern your middleware applications deployed on the cloud. This service is based on the WSO2 Governance Registry product, and has the same user interface & user experience. Each registered organization (tenant) has its own space in the Governance Registry & will be able to view & operate only within its allocated space.

Stratos Identity - Identity Management as a Service
Identity management in the cloud is provided by Stratos Identity, and is same as the WSO2 Identity Server product.

Stratos Application Server - AppServer as a Service
Stratos Application Server is multitenanted WSO2 WSAS running on the cloud. We have also added Web application deployment & management functionality in this version. Each organization will be able to deploy & manage their Web applications, Web services & Apache Axis2 modules using this service. These services can be governed by using the Stratos Governance service. For example, an organization may opt to centrally manage its service policies using the Stratos Governance service, and these policies can be applied across all services deployed on the Stratos Application Server.

Stratos Mashup Server - Mashups as a Service
This is multitenanted WSO2 Mashup Server running on the cloud. Organizations will be able to create, deploy & manage their mashups using this service.

Stratos Gadgets - Portal as a Service
This is multitenanted WSO2 Gadget Server on the cloud. Organizations will be able to create their own gadgets & portals & host them using this service.

Stratos Business Activity Monitor - BAM as a Service
This service allows you to monitor your entire cloud deployment. A graphical view of how your deployment is behaving can be seen using this service.

Stratos ESB - ESB as a Service
This is multitenanted WSO2 ESB on the cloud. This could be used for service mediation for services deployed in the cloud or services deployed within your organizational network. The Cloud Services Gateway component is deployed on the Stratos ESB. This components allows you to easily publish a service deployed within your organization to the cloud. In effect, a proxy service is created on the ESB, and requests received by this proxy are tunneled through the organizational firewall to the actual service. Activities such as governing these services, applying security and so on can be carried out in the cloud. We are currently working on making this service available, and updates should be available soon.

Stratos Data Services & Stratos Business Process Server should also be available in the near future.

Stratos has been designed in a cloud independent manner, so it could run on a private cloud as well. The public Stratos services at have been hosted on Amazon EC2.

Host Your Web Site On The Cloud: Amazon Web Services Made Easy: Amazon EC2 Made Easy Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDBAmazon Web Services Made Simple: Learn how Amazon EC2, S3, SimpleDB and SQS Web Services enables you to reach business goals faster

See original post

An Architecture for Multitenant Enabling Apache Axis2


Written by Afkham Azeez

WSO2 Stratos supports multitenanted (MT) application deployment. Web applications, Web services, ESB mediators & mashups can be deployed in a multitenant fashion. One of the most important aspects of an MT deployment is isolation. There should be isolation between the applications hosted by the different tenants, as well as isolation between the tenant code & system code.

WSO2 Stratos is based on the WSO2 Carbon platform. Apache Axis2  sits at the center of Carbon. We use several aspects of Axis2 in Carbon; deployment, messaging, transport & tooling. During the rest of this post we will be looking at how we adopted Axis2 to support multitenanted deployment, messaging & transport.

The system, which can also be called the super tenant, has its own AxisConfiguration (AC) & ConfigurationContext (CC). This AC & CC form the base. Each tenant also has its own AC & CC. A tenant can operate only within the boundaries of its AC & CC. The multiple AxisConfigurations are shown in the above figure. For example, two tenants, & can deploy the same service archive StockQuoteService.aar within their deployment spaces. There is total isolation. IBM's StockQuoteService WSDL will be available at while Microsoft's  StockQuoteService WSDL will be available at . As you will be able to see from the WSDLs, the service EPRs will have the organization (tenant) domain names in the URLs.

When it comes to managing these deployment, each tenant will again operate within the boundaries of its AC & CC. Hence, when a user from IBM logs in, he will be able to see artifacts deployed under the AC only. In order to ensure that tenant code cannot call sensitive server side functionality, we have made use of Java Security, ensuring that code signed only by WSO2 can call the restricted functionality. The AxisConfiguration as well as HTTP sessions provided to each tenant also contains some security restrictions which do not allow tenants to overwrite certain critical parameters & the tenant Axis2 repository.

WSO2 Carbon provides a number of Admin services which have special privileges to manage the server. These admin services are deployed only within the main super AxisConfiguration. However, different tenants can make use of these admin services to manage their deployment. We have ensured that these admin services operate only on the AxisConfiguration of the logged in tenant.

A tenant is free to do almost whatever it wishes within its AC. For example, tenants can deploy modules and engage handlers to handle the messages differently, they could apply security, request throttling, response caching and so on.

Messaging & Transport

One of the restrictions we have imposed on tenants is that they cannot create their own transports but will have to share the transports provided by the system. So, all incoming requests will be first received by the system transports. Let us take a Web service request as an example. Say, a client of IBM makes a request to the SimpleStockQuoteService hosted by on the Stratos Application Server. The tenant's target EPR or addressing TO header may look like,  This request will be injected into the main AxisEngine and will go through its in flow. In the DispatchPhase, since the service will not be found, a MultitenantDispatch handler will dispatch this request to a dummy _MultitenantService. The MultitenantMessageReceiver (MTMR) is associated with this service. The MTMR will infer the target tenant from the incoming request, and if an existing tenant is found, it will inject the request into the respective tenant's AxisEngine. Now the message will go through the in flow of the respective tenant's AC, and will eventually get dispatched to the correct service in tenant's AC. If there is a response, it will go through the tenant's out flow, and will finally reach the TenantTransportSender, which will inject the message into the out flow of the super tenant. The response will go through the out flow of the super tenant & will be sent to the client. If a fault occurs, there will be a fault response which goes through the tenant's out fault flow, and then through the super tenant's out fault flow, and reach the client.

In order to generate the proper addressing information for the tenant services, the relevant transports should be associated with those services, and the transport descriptions should be there in the relevant ACs. However, we mentioned that we do not allow tenants to define their own transports. Therefore, we created dummy transports corresponding to the actual tenant transports, and set the EPRs accordingly. This is how the proper EPRs are injected into the service WSDLs.

Developing Web Services with Apache Axis2Quickstart Apache Axis2: A practical guide to creating quality web services

See original post

Carbon 3.0 P2 Repository


Written by Afkham Azeez

See original post

Single JAR containing all Axis2 client side dependencies


Written by Afkham Azeez

A number of dependent JARs had to be added to the classpath in order to create & compile an Apache Axis2 client project. Now we have created a single JAR which contains the minimum set of dependencies. If you are using Maven, all you need to add is the following dependency.


This JAR is only 5MB in size.

We have still not uploaded this JAR to the WSO2 Maven repository, hence you will need to build it yourself by checking out the axis2-client project from SVN

Developing Web Services with Apache Axis2Quickstart Apache Axis2: A practical guide to creating quality web services

See original post

Installing Data Services on WSAS 3.2.0


Written by Afkham Azeez

Data Services is available as a separate P2 feature since WSAS 3.2.0. This version of WSAS is based on Carbon 3.0.0, code named iridium. If you'd like to host & manage data services on WSAS, you'd have to install the data service P2 feature. Here are the steps:

1. Download WSAS 3.2.0 from

2. Start WSAS

3. Go to https://localhost:9443/carbon, and login as admin/admin

4. Go to the Feature Manager UI

5. Add the Carbon 3.0.0 P2 repository, as shown in the image below.

6. Once the repo is added, click the "Find Features" button.

7. Find the Data Services feature under the service hosting feature, select it, and click the install button.

8. Shutdown WSAS and restart it.

9. The data services functionality should now be available. Relogin and checkout the management console.

See original post

Tuesday, August 24, 2010

WSO2Con 2010 Colombo


Written by Sami

The first ever WSO2 Conference on SOA and Cloud Technologies will be held in Colombo from 14th to 15th September 2010.

WSO2 has played a major role in redefining the enterprise computing space. Come and learn the state of the art technologies, techniques, architecture patterns in the enterprise computing space. Come, learn and envision the future enterprise computing.

See original post

Thursday, August 5, 2010

How to deploy WSO2 Gadget Server on tomcat


Written by Krishantha

Applies To: ( Carbon 3.0.0)

Step 1
Download WSO2 Gadget Server -1.1.0 from Extract the downloaded zip into a directory. And copy repository and resources directories in to a new folder. Here after, we will refer it as gs-repo (eg:- /home/krishatha/gs-repo)

Step 2
Lets refer to your tomacat installation directory as CATALINA_HOME. Go to CATALINA_HOME/webapps directory and create a new folder call wso2gs .Now, copy wso2gs-1.1.0/webapps/ROOT/WEB-INF to

Step 3
Now you will need to enable HTTPS on Apache Tomcat since WSO2 Gadget Server runs over HTTPS. To do this, access the server.xml file located at CATALINA_HOME/conf and uncomment the following
and fill as below.

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile ="/home/krishatha/gs-repo/resources/security/wso2carbon.jks"

One could find the wso2carbon.jks file inside the CARBON_HOME/repository/resources/security/ directory in WSO2 Gadget Server installation home (CARBON_HOME)

Make sure to give the exact location of wso2carbon.jks
Note: you can use your own keystore file if required.

Step 4
Now we must do the necessary configurations in a set of config files shipped with WSO2 Gadget Server. We will update carbon.xml, axis2.xml, registry.xml, mgt-transports.xml and user-mgt.xml which can be found at gs-repo/repository/conf directory.

(a) Edit the carbon.xml in gs-repo/repository/conf and put /wso2gs as the WebContextRoot


the WebContextRoot will be the name you used to create war distribution in CATALINA_HOME/webapps

(b) Edit the same carbon.xml and set backend sever URL as below.


It is recommended to use your IP rather than using localhost or hostname.
Note that we have configured Tomcat to run on 8443 port now.

(c)Now open axis2.xml to change the http and https ports in the Transports section of axis2.xml as follows:

<transportReceiver name="http"
<parameter name="port">8080</parameter>

<transportReceiver name="https"
<parameter name="port">8443</parameter>

(d) Edit the mgt-transports.xml as follows: https and http ports of the transport section can be changed as follows.

<transport name="http" class="org.wso2.carbon.server.transports.http.HttpTransport">
<parameter name="port">8080</parameter>

<transport name="https" class="org.wso2.carbon.server.transports.http.HttpsTransport">
<parameter name="port">8443</parameter>

(e) Open registry.xml and update DB configurations as follows:

<dbConfig name="wso2registry">

Note that you have to use absolute path to the H2 DB.

(f) Open user-mgt.xml and update DB configurations as follows:

<Property name="url">jdbc:h2:/home/krishatha/gs-repo/repository/database/WSO2CARBON_DB</Property>
<Property name="userName">wso2carbon</Property>
<Property name="password">wso2carbon</Property>
<Property name="driverName">org.h2.Driver</Property>
<Property name="maxActive">50</Property>
<Property name="maxWait">60000</Property>
<Property name="minIdle">5</Property>

Note that you have to use the absolute path to the H2 DB.

Step 5
You also need to copy the wso2gs-1.1.0/lib/ file into CATALINA_HOME/webapps/wso2gs/WEB-INF/classes

Step 6
Now copy the jar files in wso2gs-1.1.0/lib/endorsed/ into CATALINA_HOME/lib. You need to copy the followig jar files.

1. xalan-2.7.0.wso2v1.jar
2. xercesImpl-2.8.1.wso2v1.jar
3. xml-apis-1.3.04.wso2v1.jar

Step 7
We have completed the required configurations. Now, open a new command window and change the directory to CATALINA_HOME/bin. Define an environment variable called CARBON_HOME and set the path to your gs-repo directory.

In windows; set CARBON_HOME=C:\gs\gs-repo
In linux; export CARBON_HOME=/home/krishatha/gs-repo

Start tomcat server from the same command window/shell.

eg:- run
catalina.bat run

After starting the WSO2 Gadget Server, you can access the management console using below URL


See original post

Wednesday, July 21, 2010

Confessions of-a-gadget-holic (Slides from the webinar)


Written by Tyrell

You can listen to the recorded webinar and download these slides from the WSO2 Oxygen Tank as well.

See original post


Copyright 2009 All Rights Reserved Revolution Two Church theme modified by Milinda Pathirage