Saturday, August 27, 2011

Monitoring multiple WSO2 server instances via a single front-end

Written by Denis Weerasiri

Any WSO2 product like WSO2 BPS, WSO2 AS, WSO2 ESB etc is based on WSO2 Carbon platform. One inherent characteristic of this platform is, it's easily front-end and back-end separated.
As well this is an interesting deployment pattern which is very useful in many scenarios. In this post what I tried to do is monitor two WSO2 back-end server instances (ESB and BPS) via a single front-end server instance.


Table of Content

What's front-end and back-end separation?
Carbon products can be separated as the backend components that runs the middleware logic and the frontend that contains the GUI to manage, monitor and control the instance.
Suppose a WSO2 product is a set of features containing front-end (FE), back-end (BE) and common (Com.) features as follows.

 

Then we can separate the product into FE and BE segments as follows.

+

Advantages
  • This pattern is helpful to keep the backend binary size limited and to provide facility to render the console in a remote machine.

  • By using a single frontend deployment can connect to multiple backends by changing the backend url in the management console.

  • This will help to manage multiple products/ multiple instances of the same product by using a single console.

Tested Environment
Here again what I’m going to do is depicted as follows.


I’m gonna monitor two WSO2 product BE instances (ESB and BPS), via a single FE instance which composed of ESB FE and BPS FE.

Here I’m using ESB 3.0.1 and BPS 2.0.1.
Note - The reason for specifically using these versions is both products should be released based on the same carbon core (here it’s Carbon 3.0.1), in order to mix features of different products in each other.

How to separate FE and BE features of a product
Separating FE and BE features of a WSO2 carbon product is works out of the box. It’s supported via the product management console.
Let’s see how to create a WSO2 ESB BE. Creating a WSO2 BPS BE is also the same. Creating a WSO2 ESB FE is same except the step 5.
  1. Start ESB

  2. Go to https://10.100.0.23:9443/carbon

  3. In the Web console goto Configure -> Features in the left-side menu

     

  4. Goto Settings tab, and add the repository http://dist.wso2.org/p2/carbon/releases/3.0.0/ .
    This repo based on Carbon version used in the ESB. refer - http://wso2.org/projects/carbon/provisioning-wso2-carbon-with-equinox-p2





    Adding repository...




    Finished adding repository



  5. Goto “Installed Features” tab. Select “All Console Features”. Select “Uninstall”. If you need to separate out the BE features, select “All Server Features”.






    While uninstalling...




    Finished


  6. Then re-start the server. Once you’re done the Web-UI console will look like below.



Configure ports to connect FE and BE
It’s essential to avoid port conflicts, as now there can be several server instances trying to grab the same ports. We can do this by modifying the ports used for
  • management console http and https transport listeners- $CARBON-HOME/repository/conf/mgt-transports.xml
    • <transport class="org.wso2.carbon.server.transports.http.HttpTransport" name="http"></transport>

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


  • http and https transport listeners - $CARBON-HOME/repository/conf/axis2.xml
    • <transportReceiver name="http" class="org.wso2.carbon.core.transports.http.HttpTransportListener">

    • <transportReceiver name="https" class="org.wso2.carbon.core.transports.http.HttpsTransportListener">


  • Change the server url in carbon.xml such that FE points to BE.
    • <ServerURL>https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/</ServerURL>



How to compose a FE of two products
We need a server instance consisted of ESB FE and BPS FE. For that what we can do is adding BPS features to WSO2 ESB product and removing BPS and ESB BE features (i.e all server features) from it. In current carbon, only FE features can be installed. But the released versions only feature groups can be installed.
Or we can do the other way around as well. Here the easiest way is to add the BPS features to ESB product as there’s only one feature (BPEL Feature) to add as follows.


Configurations steps to connect FE and BE

Now after that we can start three servers. i.e -
  1. BPS BE

  2. ESB BE

  3. BPS FE +ESB FE

Then via FE-only server instance’s management UI we can monitor and manage the both BE server instances by changing the Server URL in the login page.


See original post

Tuesday, August 23, 2011

WSO2 Carbon 3.2.0 ~ New releases from WSO2

Written by Kathiravelu Pradeeban

Check out the latest WSO2 Products release - with lots of new features and bug fixes.  Two new products - WSO2 Complex Event Processing Server (abbreviated as CEP) and WSO2 Message Broker (MB) are debuted, with the stable product version 1.0.0, where the other products have also faced major improvements, with this new release of Carbon - 3.2.0, the SOA middleware platform for the WSO2 Products.


Await the new Stratos release - Stratos - 1.5.0, coming soon, with the improvements to the cloud platform of WSO2, along the WSO2 Carbon 3.2.x based products as services over the cloud. WSO2 Stratos is WSO2 Carbon Platform as a Service, catering your organization's needs. You can use the publicly hosted WSO2 Stratos Cloud platform, host it in your own servers as a private cloud, or go for hybrid options.





See original post

WSO2 StratosLive um completo Java PaaS

Written by Kathiravelu Pradeeban




Fig. 1. Registrando um inquilino.
Registrando um inquilino

Você pode registrar uma conta e fazer login para StratosLive, ou simplesmente faça o login usando sua conta do Google Apps.  StratosLive oferece quatro planos de utilização, tais como Demo, SMB (Small & Medium Business), Professional e Enterprise. Informações sobre preços podem ser encontrados na página de preços StratosLive. Você tem que escolher um plano de utilização durante o registo inquilino. No entanto, você pode simplesmente atualizar ou fazer downgrade de seu cliente com base em necessidades a qualquer momento.


Registo inquilino

Para registrar um inquilino (Fig. 1), primeiro você tem que escolher um nome de domínio para o seu inquilino. Uma conta de administrador será criado junto com a criação do inquilino. Seu nome de usuário é na forma de administrador-nome @ nome de domínio. Por favor, note que o nome não deve ser confundido com o seu endereço de e-mail.





Fig. 2. Validação de domínio
Validação de domínio

Se você é o proprietário ou o administrador do domínio, você deve considerar a validação do domínio durante a inscrição (Fig. 2), para garantir que o seu inquilino será sempre associado ao seu domínio, impedindo outros de reivindicá-lo. No entanto a validação do domínio é opcional, e pode ser feito depois de ter registado e login em sua conta.






Validação de e-mail

Depois de dar as informações necessárias, você pode clicar em 'Enviar' para prosseguir com o registro. Depois de ter registrado com êxito, uma mensagem de confirmação será enviada ao endereço de e-mail fornecido durante o registro, dentro de alguns minutos. Clique no link fornecido no e-mail. Que irá confirmar o seu endereço de e-mail e validar sua conta. Ao contrário da validação de domínio, a validação de e-mail é obrigatório fazer o login e use sua conta do inquilino no StratosLive. Então, por favor encontrar o e-mail e validar a sua conta o mais rapidamente possível. Se você encontrar qualquer problema para validar o seu e-mail ou login, entre em contato WSO2 suporte ou o fórum StratosLive.


Login

Depois da validação, você pode voltar para a página de login, e faça o login usando seu nome de usuário (adminname @ domainName) e senha.


StratosLive - Tente agora!




* This blog post is an incrementally translated [translação incremental] document of [1]. 


Referências



See original post

How To Create And Deploy A CAR File in a Stand-Alone WSO2 Server and WSO2 Stratos

Written by Dakshitha

A CAR file, short for Carbon Archive, is just like a zip or jar file tailor-made for the Carbon Platform. It contains 1 or more artifacts and information about them. A CAR file is generated through WSO2 Carbon Studio. To learn more about a CAR file check out WSO2 Carbon Studio in a Nutshell.  

How to Create a CAR File 

For this demonstration, I am using the 1.0.12 version of Carbon Studio. First create a CApp project in Carbon Studio and add your artifacts. I have created a registry resource (AreaService.wsdl) to be deployed in the Governance Registry server, a data service (Dataservice1.dbs) to be deployed in the Data Services Server and a proxy service (proxyService1.xml) to be deployed in the ESB Server. TestApp is the CApp file which contains all of this. 

To create a CAR file, go to your CApp. You will find a file named root-artifact.xml, double click to open it. The 3 artifacts that I created are listed below. Select the artifacts you want to include in the CAR file that you are going to create. Click on the 'Create Archive' button on the top right corner. 
  


The following wizard will be shown to you next. Make any changes if you wish to. Click on Finish. 


After the CAR file is created it will be saved in your file system.


Now, we have a CAR file all ready to be deployed in one or more servers. 


How to Deploy a CAR file in a Stand-Alone WSO2 Server

Go inside one of your server folders (carbon_home folder). I want to deploy my proxy service in the ESB server. Go to the bin folder in carbon_home and start the server.




Log in to the management console. 


You will now see the dashboard. On the left you will see 'Applications' under the 'Manage' tab. Under 'Applications' click on 'Add'. 




You will then see the following page where you will have to browse for your CAR file.




After selecting the CAR file, it will be displayed as in the following image. Click on upload to finish. 




After a successful upload, you will see the following message. 




If you go back to 'Applications' under the 'Manage' tab and click on 'List' you will see the CAR file we just uploaded. 




I uploaded the CAR file to the ESB server. The CAR file contained 3 different types of artifacts that belong to 3 different types of servers. So did the ESB Server pick the right artifact, the proxy service? Go to the 'Manage' tab, under 'Services' go to 'List' and you will see proxyService1 being listed.




So how did the ESB server know what artifact to take? Well, if you go back to your CApp, and if you open your root-artifact.xml file in an xml editor you will see the following. 



As shown in the xml file above, each dependency element has 3 properties. The name, version and the server role. The server role indicates the server to which the artifact belongs. So when the CAR file is deployed in a server, the server looks for artifacts with the same server role as the server. 

How to Deploy a CAR in WSO2 Stratos 

You can take the same CAR file and deploy it in the ESB Server running in Stratos (or any other server).   Log in to your Stratos installation or Stratos Live. I'll be logging into Stratos Live at https://stratoslive.wso2.com/.


After logging in you will be directed to the Stratos home page. 



Click on 'Enterprise Service Bus' and you will see the WSO2 Enterprise Service Bus as a Service interface.  The following image is the Stratos version of the WSO2 ESB home page. You will see the same controls on the left. As done earlier, go to 'Manage' -> 'Applications' -> 'Add' to add the CAR file and follow the same steps. 



When the upload is successful, go to 'Applications' -> 'List' and you will see the CAR file listed.









See original post

The Core Features of Stratos

Written by Dakshitha


In my last post I introduced WSO2 Stratos, the 100% open source cloud platform for enterprise applications. Stratos Live is a complete Platform as a Service (PaaS) and if you try it out you will see a hosted version of Stratos. You can sign up and try it out and see what a PaaS looks like and what it has to offer.

Stratos is a PaaS but does Stratos have what it takes to be a 'good' PaaS? Before we get to that, do you know what makes a PaaS reliable and powerful? No? Well, below is a list of key attributes that you should look for in a PaaS.
  1. Leanness

  2. Availability of a set of core services; not just an App Server but Identity, Governance, Data, Cache, ESB, BPS, Billing, Logging etc.

  3. Self Service

  4. Multi-Tenancy

  5. Elasticity

  6. Metering

  7. Incremental Deployment

  8. Testability

Now that we know what to look for in a PaaS let’s look at some core features of Stratos and see if Stratos exhibits the attributes listed above.


The Core Features
  • Stratos offers the entire award winning WSO2 platform as a service. Not just an Application Server and an ESB but so much more! You will enjoy an assortment of services catered just for your middleware needs.


  • Stratos is distributed and dynamically wired. The Stratos architecture is clustered and thereby enables multiple applications running in different machines to concurrently share resources.


  • Stratos is multi-tenanted. That means, it’s the same platform shared by multiple tenants. Think of a tenant as a company, e.g. www.abc.com, www.xyz.com. For each tenant there will be a set of users, user roles etc. Stratos supports multi tenancy so multiple organizations can register as seperate organizations and use the system without interfering with the data from other organizations.


  • It’s elastic. This means when the load increases, the system expands and when the load reduces the system shrinks. Therefore the resources are optimized. So you’re using only what you require.

  • It’s metered and billed. The usage of Stratos is metered and you’re billed for what you use. It’s like any utillity billing system. So what is the Metering Process in Stratos? Each service collects the number of service calls, request/ response bandwidth, registry bandwidth (upload/download) and the total registry space usage.The collected data is sent to the Business Activity Monitoring or BAM publishers, which sends the data to the BAM service. The BAM service summarizes periodically and the summarized data will be available on the Stratos Manager. How does Billing work in Stratos? A scheduled invoice is generated. A user is able to view past invoices and the current (interim) invoice and can securely pay the invoice via Paypal. Stratos notifies the customer via email on received payments and also notifies the administrator on customers exceeding the credit limit. Stratos presents a summarized view to the administrator.

  • Provides tenant isolation and execution. In Stratos each tenant is given a security domain and each domain may have its own user store and permissions, and therefore can have a set of users and permissions enabling users to access resources. Each domain is isolated and do not have access to other domains. It achieves execution isolation by keeping all states in a context and for each tenant, different contexts are created.

  • It allows self service. Stratos enables you to set up your own tenants, manage and configure them according to your unique business needs.

  • It’s cost effective. As a 100% open source solution, Stratos does not involve any licensing fees and the risks of cloud vendor lock-in are completely removed.

  • It's secure. Statos prevents tenants from writing code with privileged operations so that they will not be able to write malicious code. Stratos provides a Sandbox environment that is similar to applets. It only allows to run code that is signed by a particular key.

  • Provides an identity service. In Stratos, each tenant has access to an identity service and can create its own user key stores, permissions and roles. Each tenant is identified by its domain.

  • Provides throttling. Stratos restricts tenants from using more than the allocated resources depending on the usage plan. These resources are the number of users per tenant, storage space and number of requests to webapps, services etc.

  • Provides Google authentication. Enables sign into Stratos using Google Apps username and password. If a tenant does not exist, it will be created with the same name as Google Apps Domain.


Apart from all that, Stratos is lean, testable and incrementally deployable. Therefore Stratos covers the entire spectrum of the key attributes of a reliable and efficient Platform as a Service. Try it out for yourself!

Don't forget to check these out. 
What is a Lean Cloud Platform?
How to Setup a Stratos System on Your Personal Machine














See original post

WSO2 Stratos – A Comprehensive Open Source Middleware Platform

Written by Dakshitha




So here at WSO2 these days the hype is all about Stratos. Why is everyone hyped about it and what on earth is Stratos, you might wonder. Nope, we are not planning our next vacation to the village in Aetolia-Acarnania in West Greece or anything like that; in fact, Stratos is our very own middleware cloud platform. So before going into detail about WSO2 Stratos, let's take a look at what Middleware and Platform as a Service mean.

What is Middleware?
Middleware is software that facilitates exchange of data between two application programs within the same environment, or across different hardware and network environments. Middleware manages the interaction between disparate applications across diverse computing platforms. The middleware layer usually addresses common concerns for Enterprise applications such as authentication, authorization, logging, centralized thread pool management, governance and so on. These are common but crucial aspects that need to be addressed in the development of Enterprise Software. Middleware provides interfaces to developers to write end user software. So the developers will be calling the corresponding Application Programming Interfaces for this purpose.

What is Platform as a Service (PaaS) ?
Platform as a service (PaaS) is the delivery of middleware as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities. PaaS provides all the infrastructure needed to run applications on the cloud. It’s delivered in the same way as a utility like electricity or water. Users simply consume these utilities without worrying about the complexity behind the scenes such as hosting, scaling, availability and security. And just like a utility, PaaS is based on a metering or subscription model so users only pay for what they use. PaaS provides a clean API to software developers to build end-user software.

So what has Stratos got to do with Middleware and PaaS?
WSO2 has a range of middleware products in one platform and this is known as the WSO2 Carbon Platform. These products incude an Enterprise Service Bus (ESB), a Governance Registry, an Application Server and so many other middleware products (to learn more about the products or to download you can visit wso2.org). The same platform can be hosted on the cloud as a PaaS, and this is Stratos! In other words, it’s the same set of products available for download at http://wso2.org as a Platform as a service offering. Stratos is the first 100% open source cloud platform for enterprise applications. Not only does Stratos provide an Application Server and an Enterprise Service Bus but also Identity, Governance, Data, Cache , BPS and many more as services. You can choose what you want and build your software using the relevant platform components. Interested? You can download Stratos to be hosted on your cloud or you can try out the version hosted by WSO2 which is known as Stratos Live


Check these links for more information on Stratos.

WSO2 Stratos - Platform-as-a-Service for private and public cloud

WSO2 Stratos: A Technical Introduction








See original post

WSO2 StratosLive ~ An Enterprise Ready Java PaaS - III

Written by Kathiravelu Pradeeban




 
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.


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.



See original post

 

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