 |
| 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 amazon.com 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.