Monday, August 22, 2011

Apache Airavata

The OGCE suite has recently become an Apache Incubator project, named Apache Airavata. It should be noted that I have used and worked with the OGCE components (2008 - 2010), during my internship and for our final year project "Mooshabaya". 

XBaya Workflow Suite - We worked (2009/2010) with XBaya for our final year project and have also published a paper on our work (Mooshabaya - a mashup generator for XBaya).

WS-Messenger - a publish-subscribe based message broker - Supun M and I  worked with WS-Messenger during our internship (2008/2009) at WSO2.

Friday, August 19, 2011

10 questions to you regarding your blog!

Your Blog is like your friend. A personal blog is owned by a person, where in most of the cases, the author has the total control over what he writes. Some of the below questions will help you in positioning your blog.

1) Who is your target audience?
Someone must be reading your blog. Who is addressed by your blog? Developers, geeks, public, or kids? Knowing the audience will help you focus on them.

When I started blogging, I used to consider myself as the audience. I write for myself. :D Later when my blog started to get readers, I changed my perception on my blog accordingly.

2) What is the theme of your blog?
It can be a personal blog, a technical blog, a photography blog, or a mixture of all. Once your blog gets branded, it is hard to change. 

I consider my blog as a mixture. It contains software stuff that impressed me, projects that I worked, some common posts like this one, or just totally random stuff. 

3) What is the title of your blog?
The title actually says more. An interesting title is always a turn-on. ;) In the commonest cases, the title represents the essence of the blog too. Many bloggers have their name as the title of the blog. Something like 'Pradeeban's blog'. It is the (default) suggested name by Google during the blog registration time.

I too had the blog name as 'Kathiravelu Pradeeban' when I started my blog in 2008, October, which I later changed to 'On my way home' in 2009. It is 2010 Jan, when my blog got the name 'Llovizna' (pronounced 'yoviz-nah'). 'Llovizna' means 'drizzle' in Spanish. It is also a waterfall in Venezuela. It is also a female name in Spanish. I picked this name, as I felt it is kinda kewl (cool). A heavy shower may be scary and annoying, but never a drizzle (Llovizna). Drizzle (llovizna) lasts longer.

4) Do your posts have proper labels?

It will be very hard to navigate to the pages of interests, without proper labels. Make sure to tag your posts with the relevant labels, at the time when the blog post was written. Make sure to show a tag cloud or a list of labels in an accessible place in your blog too.

An index with the monthly posts is similarly useful in navigating to the posts.

5) Does your blog have an introduction to yourself?
Some bloggers prefer to be anonymous. I feel, good to show your identity. At least, I am not writing anything controversial. No worries. :) Your real identity in your blog profile, adds value to your thoughts.

6) Does your blog bring you friends or foes?
I have seen several blogs becoming a spot for flame wars, just because they post bad about the project from the competitor. I don't discourage a constructive criticism or a discussion/argument. But blind comparisons praising one's own project, criticizing another is not so professional.

As a practice, I never compare the projects that I am associated with, with other projects through my blog. When you say "mine is better than yours" without proper data to back your claim, it will just ruin your own reputation. Even if you think you are analyzing something unbiased, chances are, you are highly biased. 

Let's say I am comparing AbiWord with some other word processor. In my eyes, all the features in AbiWord are important to me. However I can't make a good comparison as a freelance reviewer, as I am much experienced using AbiWord than other word processors. I always can say, my product X is good, really good, and awesome, but I am reluctant to say, my X is better than your Y, as my X has all the important features, where yours doesn't, and mine is efficient.

Better to make friends, I feel.

7) How to get updates from your blog?
Does your blog have the follow options and feeds? They enable the interested readers to get updated.

I thank all the readers of my blog. Their presence and their comments always encourage me. Readers are the most important asset of a blog.

8) What is the medium of your blog?
Most of the blogs are written either in English or the mother tongue of the writer.

Llovizna is an English blog (though it has a Spanish name), but I occasionally try to write a few posts with Sinhala or Tamil mixed, focusing the local / Sri Lankan audience. Sometimes I even have written posts in other international languages, including Spanish, Chinese, or Portuguese, using my incremental translation method with the help of the Google Translator. Believe me, those translated posts have got considerably good number of reads. I hope those posts are useful for someone. I hope to proof-read them by some native speakers of the respective languages sooner.

9) Is your blog ethical?
Some bloggers use their blog as a copy-paste medium. After copying, some just put 'Taken from the Internet'. That's pretty useless. They should at least give a link to the original post. 'Thank you - Internet' says nothing about the original author.

Using blogs to spread cracked software, or to share your personal software licenses with everyone breaking the EULA, is completely unacceptable, though it may make your blog popular. I have seen blogs on 'how to break the license of the software'. Unless you are a serious black-hat hacker, avoid these posts. They take you nowhere.

Blog is a good communication medium too. It provides everyone an easy way to convey a message to the outer world. Some bloggers misuse that by spreading hoaxes or false alarms, may be for fun, or just due to the plain stupidity, or just to get more hits. Engineered stories, photoshopped pictures, and misleading titles are a few  examples.

10) How responsive are you, in your blog?
Some blog posts have questions from the readers unanswered in the comments section. That's a sign of ignorance. If some one asks a question in your blog, he feels that you know the answer. Don't prove him otherwise, just because of your ignorance.

Have fun with your blog!

Sunday, August 14, 2011

WSO2 StratosLive ~ An Enterprise Ready Java PaaS - III

Fig 1. Service Dashboard of ShoppingCartDS
This post is the third in the series of posts, WSO2 StratosLive - An Enterprise Ready Java PaaS. 

Here we will discuss the platform aspect of WSO2 Stratos/StratosLive by going through the simple shopping cart sample that comes with Stratos/StratosLive for the tenants to install readily. Pls refer to WSO2 StratosLive - An Enterprise Ready Java PaaS - I and II, if you haven't read them yet.

In the shopping cart, we have a user portal, admin portal, and the administrative gadgets. Shoppers, operators, and the business administrators will be interacting with the application. Suppliers and the payment gateway are the external services involved. The shopping cart application can also have partner services like or ebay. The solution architecture of the shopping cart application provides an overview of how the entire platform can be used  to host an enterprise software as a service.

Carbon Application
Fig 2. Try It for the Data Service
We can install the sample from Tools -> Shopping Cart of the Stratos Manager. Here we can install the entire shopping cart application by just one click, which spans across all the stratos services. Carbon Application, commonly known as cApp enables this seamless integration. WSO2 Carbon Studio, an eclipse based IDE  for WSO2 Carbon, is used to create the cApps efficiently. Here the sample installer component generates the cApp, uploads it to the tenant registry space, and the application deployer deploys the relevant component of the sample application into the relevant Stratos Service.

WSO2 Data as a Service
The WSO2 Data Services Server, a platform for hosting of data services, with service hosting, service testing, and message tracing features is delivered as a multi-tenant, elastically scaling, metered platform. In the sample shopping cart application that we are discussing,  components talking to the traditional or the legacy database will be deployed into WSO2 Data as a Service (Fig 1). Data as a Service exposes the data stored in a database. Database level operations can be done using the interface provided by Data as a Service (Fig 2). Data is distributed to all the services through the shopping cart data service, handling the database transactions.
WSO2 Enterprise Service Bus as a Service
Fig 3. ESB Proxy Services
The WSO2 ESB, one of the highest performance and lowest footprint approaches to implementing a SOA, with the features of proxy services, sequences, endpoints, and much more, delivered as a multi-tenant, elastically scaling, metered platform. In the sample that we are discussing now, WSO2 ESB as a Service facilitates the service collaboration through the proxy services (Fig 3).

WSO2 Application Server as a Service
Fig 4. Application Server Web Applications
Admin Service is used by the Admin Web Portal (Fig 5). It connects to the shopping cart data service and fetches the data as we request from the web application. Here the admins can add new products, categories, users, and more. Java security is used to authenticate when logging into the admin portal. Product Service is associated with the user portal (Fig 6). Similarly purchasing service handles the purchasing. It updates the finance application through the Financial Connector service, which is an Axis2 Service deployed on WSO2 Application Server as a Service. WSO2 Application Server as a Service is the WSO2 Application Server, supporting the development, deployment, and management of Web Services and Web applications, and service hosting along with tools, delivered as a multi-tenant, elastically scaling, metered platform.

WSO2 Governance as a Service
Fig 5. Admin Web App.
WSO2 Governance as a Service is the WSO2 Governance Registry an integrated SOA registry-repository, supporting efficient management of an organization's growing SOA implementation, with Service, WSDL, and Schema features, delivered as a multi-tenant, elastically scaling, metered platform. Meta data such as the xslt files of the purchasing service are stored in the WSO2 Governance as a Service, and the resources are fetched during the purchase.

WSO2 Business Processes as a Service
Fig 6. Portal Web App
The WSO2 Business Process Server, powered by Apache ODE providing a complete graphical console to deploy, manage and view processes and process instances, with the features for WS-BPEL 2.0 & BPELWS 1.1, Instance Data Cleanup, and Process Monitoring, delivered as a multi-tenant, elastically scaling, metered platform. In the shopping cart sample that we have been discussing, a ReOrderProcess in Business Processes as a Service checks the stock periodically and reorders if needed.

WSO2 Mashups as a Service
In the sample that is considered in this post, services such as the javascript service fetching related products from ebay and Amazon are deployed into WSO2 Mashups as a Service, which is the WSO2 Mashup Server, supporting the composition of Web Services, feeds, scraped Web pages, files and other information sources into new Web Services, web pages, or user notificatons,  features for scheduled tasks, delivered as a multi-tenant, elastically scaling, metered platform.

This sample is just a teaser of StratosLive, the comprehensive platform as a service, demonstrating the platform aspect of Stratos. You can explore StratosLive more on your own as platform as a service for the needs of your enterprise.

WSO2 StratosLive ~ An Enterprise Ready Java PaaS - II

We looked into WSO2 StratosLive and registered a tenant in the first part of this series of blog posts. Read the first post in WSO2 StratosLive - An Enterprise Ready Java PaaS, if you have missed it. We have seen how the WSO2 Carbon based products are offered as Services in WSO2 Stratos. In simpler terms, we have a platform - that is Carbon, which is offered as a Platform as a Service. 
New Services
WSO2 Complex Event Processing as a Service and WSO2 Message Broker as a Service are two new services that are included into StratosLive with this new release. 

What is New?
Better metered and billing support to throttle the usage based on the tenant usage plan.

Tenant and service aware distributed logging that enables the tenants to view their logs only for each of the services, along with the global logging for super tenants
Fig 1. Installing the shopping cart sample.
HTTPD style log collection for the WSO2 Load Balancer - Hence the removal of the apache httpd servers fronting the Stratos services.

Integrated samples, improved documentation and the screencasts.

Tenant data storage mode - Scaling up databases, and NoSQL. 

SaaS web applications support.

Registry based repository implementation based on registry eventing.

Fig 2. Shopping Cart Sample High Level Diagram

Versioning and incremental updates.

Tenant programming model & documentation. 

Google auth integration.

The All New WSO2 Load Balancer fronting the services handling the load balancing and the autoscaling of the system according to the load.

These are a few notable improvements, new features, or additions into StratosLive (based on Stratos-1.5.1), from its predecessor WSO2 Cloud Services (based on Stratos-1.0.0).

Shopping Cart Sample
Fig 3. Solution Architecture of Shopping Cart App
We often use Shopping Cart Sample that comes bundled with Stratos, for the tenants to install and use, to explain the platform aspect of Stratos. Shopping Cart sample is one of the simplest samples that explains how Stratos can be used as a platform solution for your Software as a Service needs, as the shopping cart sample can be considered an application as a service that runs on top of the Stratos platform as a service, giving an essence of the Stratos Services.

For a detailed discussion on the solution architecture of the Shopping Cart Sample and the overall platform aspect of StratosLive PaaS, pls refer to the post the follows WSO2 StratosLive - An Enterprise Ready Java PaaS - III

Monday, August 8, 2011

WSO2 StratosLive ~ An Enterprise Ready Java PaaS

Fig 1. landing page.
What is StratosLive?
StratosLive is a Platform as a Service, which is the public deployment of the WSO2's Cloud Middleware Platform Stratos-1.5.1.

As the successor of WSO2 Stratos - 1.0.0 public cloud set up, WSO2 StratosLive has been released with much new and more improved features, including Billing, throttling, service aware dynamic load balancing, more improved autoscaling, logging, and much more improved user experience, targeting the architects, SaaS developers, enterprises, researchers, and for any one who needs an enterprise SOA middleware platform as a service.

Starting with StratosLive
Fig 2. Sign in page
 You can register a tenant at StratosLive, which includes a free demo, SMB (Small Medium Business), Professional, and Enterprise usage plans based on the needs of your enterprise. Pricing information can be found here. You have to pick a usage plan during the tenant registration. However, you can simply upgrade or downgrade your account based on your requirements later.

You might register a tenant, or login using your Google Apps Account. Let's see how to register a tenant  in StratosLive. 

Registering a tenant
Fig 3. Registering a tenant.
Now let's register a tenant for your organization in StratosLive (Fig 3).  First you have to pick a domain name for your tenant. An admin account will be created along with the tenant creation. Your username will be in the form of admin-name@domain-name. So that should be the username to be used to log in to your account. Pls note, it should not be confused with your email address.

Domain Validation
Fig 4. Domain Validation
If you are the owner or the admin of the domain, you should consider validating the domain during the registration time (Fig 4), such that you can be sure that your tenant will always be associated to your domain, preventing others from claiming your domain. However domain validation is optional, and can be done later, once you have registered and signed in.

Email Validation
Fig 5. Successfully Registered

After giving the information required, you can click 'Submit' to proceed with registering. Once you have successfully registered (Fig 5), a confirmation mail will be sent to the email address provided by you during the registration, within a minute or two.

Click the link provided in the mail. That will confirm your email address and validate your account (Fig 6).  Pls note, unlike the domain validation, email validation is mandatory to log in and use your tenant account in StratosLive. So pls make sure to find the mail and validate your account, soon. If you did not receive the mail, check whether that ended up in the spam folder. If it is not even there, you might consider contacting WSO2 Support or the StratosLive forum.

Logging in

Fig 6. Successfully Validated
Once validated, you can get back to the log in page (Fig 1 / Fig 2) and log in using your username (adminName@domainName) and password.

After logging in, you will be able to see the list of WSO2 Stratos Services, basically the entire Carbon middleware platform as services, from the dashboard of WSO2 Stratos Manager (Fig 7).

StratosLive Manager and Services
Fig 7. StratosLive manager home.
Now you have more to explore. You can always use the services, as you usually do with the Carbon based products, without feeling any change, with the luxury of having it for you free or with the pay-as-you-go model in the clouds, paying only for what you use. You will be able to access your services from anywhere and everywhere, without bothering to take your computer and services with you.

So still reading? Try it yourself! Sign-up an account NOW!

WSO2 Summer School 2011
As usual, this year too, WSO2 had the Summer School, a series of webinar sessions, tailor-made to fit the enterprise architects, CTOs, developers of the cutting edge technologies using SOA middleware, cloud computing, and more. 
The Session on WSO2 PaaS

Summer School 2011 session on "Platform-as-a-Service, The WSO2 way" is a useful resource to learn more about StratosLive and PaaS. Listen to the Summer School webinar here. You may download the presentation slides from here.

Cloud Services

Enterprise Service Bus Powered by
Application Server Powered by
Data Services Server Powered by
Governance Registry Powered by
Identity Server Powered by
Business Activity Monitor Powered by
Business Process Server Powered by
Business Rules Server Powered by
Mashup Server Powered by
Gadget Server Powered by
Complex Event Processing Server Powered by
Message Broker Powered by