Monday, May 21, 2012

Developing BPEL Processes using WSO2 Carbon Studio

The below series of screencasts depicts how to create bpel processes using WSO2 Carbon Studio. This shows invoking two services (AdderService and SquareService) that are hosted in two different tenants in StratosLive (inverse.com and sajith.org), from a process of another tenant in StratosLive (stratoslive.demo.com). Hence the process gets the input of 'a' and 'b', uses the AdderService hosted in inverse.com, gets (a+b), and using the SquareService of sajith.org, it gets (a+b)^2.

Make sure to view these screencasts in the higher resolutions to view it clearly.

Sunday, May 20, 2012

All Stuff Cloudyy - WSO2 Stratos

A quick introductory presentation on WSO2's cloud middleware platform - Stratos!

Monday, May 14, 2012

Moving from a 'Platform' to the 'Platform-as-a-Service' ~ What is it all about?

Carbon Middleware Platform for each department.
Cloud Middleware Platform
In a traditional system, we see each department is equipped with its own middleware platform, having multiple servers for each of the departments. With the Cloud Middleware Platforms (CMP), a single product which is installed and managed centrally, can replace the entire set of platforms installed separately, say for each departments. Here each department is considered a "tenant". 

Cloud Enablement
Are all the application platforms are cloud enabled? No, obviously not. The cloud enablement comes with the fruits of multi-tenancy, and the native support to be a cloud platform. An ideal example would be, WSO2 Carbon Platform, where the same platform, cloud enabled, becomes WSO2 Stratos Cloud Middleware Platform. A cloud middleware platform can usually be hosted over the cloud as a Platform as a Service. The publicly hosted Stratos Cloud Middleware Platform is StratosLive (stratoslive.wso2.com), which allows anyone to register them an account (tenant). It should be noted that not all the PaaS are provided as a fully functional cloud middleware platforms. 

Tenant Isolation
Stratos Cloud Middleware Platform
Tenants, while sharing the same resource, will not be aware of the existence of the other tenants. Here, multi-tenancy enables centrally installed/deployed and managed resources, providing an independent middleware platform virtually for each department, registered as a tenant, in the organization's cloud middleware platform. Each tenant can have multiple users.

Centrally managed!
Though it is just a single server that is running, each tenant is properly isolated, such that they will feel that they have a separate instance of the platform. The isolation is achieved at data and logic level, whilst providing the relevant security for the tenants. The security challenges are addressed by the security measures, where the tenants are not allowed to execute the privileged operations such as writing to the file system or opening up a port. A few of the management operations are limited to the administrator of the system - termed as Super tenant in WSO2 Stratos, which becomes the central point to manage all the tenants.


Bob meets Alice - Cloud Middleware Platform
SaaS Development over CMP
A cloud middleware platform, as the application platforms, can be hosted in local data centers, or even on personal computers that have the required amount of disk space and  memory. This can be used to incrementally test and develop the SaaS applications locally, than developing and hosting them directly on the cloud. 

Platform as a Service
A cloud middleware platform, when is hosted on a private, public, or a hybrid cloud infrastructure, becomes a Platform as a Service. Cloud Middleware Platform is also referred to as a cloud enabled application platform (CEAP), by Gartner, indicating that the application platform is cloud-enabled. 

WSO2 StratosLive
WSO2 StratosLive, the open java PaaS, is the publicly hosted cloud deployment of Stratos, from WSO2. Migration of your data and the applications between the PaaS, and the Cloud Middleware Platform hosted on your private data center is generally an easy job. WSO2 provides it from the bottom up - from an enterprise middleware platform named as Carbon, to the cloud middleware platform named as Stratos, and finally to the Platform as a Service - StratosLive and the other public, private, or hybrid clouds with Stratos as the Cloud Middleware Platform.

PaaS and ROI
Cloud Middleware Platform and Paa
Why should a Software as a Service developer/provider go for an PaaS provider, instead of hosting their applications directly on IaaS? The PaaS layer that stays between the applications and the infrastructure should provide value to the enterprise, to answer the above question. Moreover, a PaaS can also be hosted directly on the native hardware as opposed to hosting them on top of IaaS, as the commonly mentioned bottom up cloud architecture of IaaS -> PaaS -> SaaS. This prevents the application developer worrying about the underlying infrastructure or hardware when developing his applications.

PaaS for SMEs
For a start-ups or small and medium enterprises, a suitable PaaS provides faster time-to-market, providing higher return on investment (ROI). When you are hosting an application over the Platform as a Service, the platform should be able to handle the high-availability, fail over, auto-scaling, logging, throttling, and billing features. This eliminates the need for the application developers to code for these common requirements which to be available in the platform level. WSO2 StratosLive, as a complete middleware platform as a service, provides an entire architecture as a service. This made possible since Stratos/StratosLive is extending the WSO2 Carbon SOA enterprise middleware platform, sharing the same code base.

No Code for a platform or infrastructure!
PaaS handles them all!
An open platform as a service is committed to fight against the vendor lock-in, by adhering to the open standards. Open source technologies help a lot in being committed to being open. Being open means, the application developers should not be writing an application solely focusing a platform or the API provided by the cloud infrastructure or platform providers. WSO2 is open by design.


This blog post has been published on WSO2 Library.

Resources:
Concerns of the public cloud and how PaaS helps mitigating them...
Summer School 2011 - Platform-as-a-Service: The WSO2 Way

Tuesday, May 1, 2012

screenr - a web based tool to create screencasts

Recently, I was working on creating a screencast on how to create bpel processes using WSO2 Carbon Studio. The raw screencasts are given below. Make sure to mute the speakers before viewing these, as these include white noise, as this is not processed. To record these, I was trying xvidcap, my favorite video capture tool. But failed to install - as an installer is not available for the 64 bit linux. I tried two other tools, RecordMyDesktop and Istanbul. They just installed fine, but never produced good quality screencasts. Finally, I ended up using screenr (screenr.com), which records the screen from the browser, without the need to install any software, except java (enabled to the browser). This tool is pretty good, though it occasionally crashes the browser, and has a limit of 5 mins per video. This tool also provides the option to store and share the videos, and publish them directly to YouTube. The processed videos are uploaded to YouTube.