Book Image

WSO2 Developer's Guide

By : Ramón Garrido, Fidel Prieto Estrada
Book Image

WSO2 Developer's Guide

By: Ramón Garrido, Fidel Prieto Estrada

Overview of this book

WSO2 Enterprise Integrator brings together the most powerful servers provided by the WSO2 company for your SOA infrastructure. As an Enterprise Service Bus (ESB), WSO2 Enterprise Integrator provides greater flexibility and agility to meet growing enterprise demands, whereas, as a Data Services Server (DSS), it provides an easy-to-use platform for integrating data stores, creating composite views across different data sources, and hosting data services. Using real-world scenarios, this book helps you build a solid foundation in developing enterprise applications with powerful data integration capabilities using the WSO2 servers. The book gets you started by brushing up your knowledge about SOA architecture and how it can be implemented through WSO2. It will help build your expertise with the core concepts of ESB such as building proxies, sequences, endpoints, and how to work with these in WSO2. Going further, you will also get well-acquainted with DSS data service concepts such as configuring data services, tasks, events, testing, and much more. The book will also cover API management techniques. Along with ESB and DSS, you will also learn about business process servers, the rules server and other components that together provide the control and robustness your enterprise applications will need. With practical use cases, the book covers typical daily scenarios you will come across while using these servers to give you hands-on experience.
Table of Contents (14 chapters)

WSO2 Update Manager

WSO2 Update Manager will allow us to download many of the WSO2 products with the latest improvements and fixed bugs applied. They can be downloaded from http://wso2.com/update/wum/download, where we have to just choose the right version for our operating system and follow the instructions provided to install it.

Once installed, we can access WSO2 Update Manager by opening a terminal and typing:

>wum  

And if everything is okay, we will see this in the console:

    WUM keeps WSO2 products up-to-date.
    
    * Find more information at http://wso2.com/update
    
    Usage:
    wum [command]
    
    Available Commands:
    init         Initialize WUM with your WSO2 credentials
    search       Search products containing specific keyword(s)
    add          Add or download a product
    check-update Check for new updates for products
    update       Update products in your local repository
    list         List products in your local repository
    describe     Show details of products in your local repository
    delete       Delete products in your local repository
    config       Change WUM configuration
    version      Display wum version information
    
    Flags:
      -h, --help      help for wum
      -v, --verbose   enable verbose mode

Use wum [command] --help for more information about a command.

This tool allows us to download and update our products so that we will always be up to date with fixed bug and improvements. It is important to note that, as we can see on the product page, WUM is not Apache 2.0 like the rest of the components, and it can only be freely used in non-production environments. For production environments, it is necessary to pay a subscription.

We will go through the most useful command needed to download and update our server.

The mandatory first step we always have to perform is to initialize the tool using a WSO2 user account. When we do this, we type this:

>wum init 

Then, we will be asked for a WSO2 username and password. In case we have already launched the init command, only the password will be requested in the console:

You need a WSO2 account to start using wum. Don't have one yet? Sign up at https://wso2.com/user/register:

Please enter your WSO2 credentials to continue
    Username: [email protected]
    Password for '[email protected]': 
    Authenticating...
    Done!
    
    -- Welcome to WUM 1.0-beta --
    
    * Find more information at http://wso2.com/update
    * Please contact us for further information at http://wso2.com/contact  
What's next? Have a look at the following list of wum commands. Add WSO2 products to your product repository:
wum search Search WSO2 products
wum add Add or download WSO2 products

Update WSO2 products available in your product repository:
wum check-update Check for new updates wum update Update your WSO2 products

Manage WSO2 products available in your product repository:
wum list List WSO2 products wum describe Show details of WSO2 products wum delete Delete WSO2 products

Use wum [command] --help for more information about a command.

Now we are ready to download or check for updates for our products. By default, the tool places the repository in the operating system user's home directory; to avoid this, we will change the location of the repository to our working folder.

We will place our repository in the wso2/products/ path; so, we type as follows:

    >wumconfiglocal.product.repo wso2/products
    New product repository is \wso2\products

In this repository, WUM places all the distributions in the download, and the new distributions are generated when there is a new update.

At this point, the most common tasks will be as follows:

  1. Adding an existing downloaded product to the repository.
  2. Downloading a new product.
  3. Checking for updates of the server added to the repository.
  4. Deleting a product from the repository.

Add an existing product to WUM repository

In cases where we have downloaded the product from the product page of wso2.com, we can add this download to the repository so that we can check for updates.

If we have previously downloaded, for example, WSO2 ESB 5.0.0, the previous version of WSO2 EI, and we want to add it to the repository to check whether any update is available for it, we type the following:

    C:>wum add --file wso2esb-5.0.0.zip
    Connecting to WSO2 Update...
    Adding product wso2esb-5.0.0...
    Successfully added to following location:
    C:\wso2\products\wso2esb\5.0.0\wso2esb-5.0.0.zip
What's next?
use wum check-update wso2esb-5.0.0 to check for updates

use wum update wso2esb-5.0.0 to install latest updates

Remember that in Mac, you need to put the full path when typing the name of the file; in this case, we need to type the full path for the file, wso2esb-5.0.0.zip.

Now, we have WSO2 ESB 5.0.0 in the local repository. The ZIP containing the original server will remain in the source location, and an updated/patched copy will be placed under [product.repo]/wso2esb/5.0.0/ in the repository location.

Next step, as we can read in the message displayed in the console, is to check for updates.

Download a product using WSO2 Update Manager

We can download a product using the WUM tool. This is our recommendation as it is the best way to keep your server up to date. In case you need to install an update in a server that is manually downloaded, you will have to install WUM and add that server to the repository anyway, so it is better to use it from the beginning.

To download WSO2 EI using WUM and add it to the repository, we just need to type the following in the console:

>wum add wso2ei
    Connecting to WSO2 Update...
    The following product(s) will be downloaded.
    wso2ei-6.0.0.zip
    After this operation, 600.8MB of additional disk space will be   used.
    Do you want to continue? [Y/n] y
    Successfully added to following location:6MB/600.8MB]
What's next?
product wso2ei-6.0.0... [566.7MB/600.8MB]
use wum check-update wso2esb-5.0.0 to check for updates
use wum update wso2esb-5.0.0 to install latest updates

When the download is complete, we will have WSO2 EI 6.0.0 in our repository. We can list the products existing in the repository by typing as follows:

    C:\wso2\products>wum list
    Product                 Updated         Filename
    wso2ei-6.0.0            -               wso2ei-6.0.0.zip
    wso2esb-5.0.0           -               wso2esb-5.0.0.zip

What's next? Use wum describe [<product-pattern>] to get more details of products. Also, if we ask for details, we get this:

    C:\>wum describe wso2ei-6.0.0
    Filename:               wso2ei-6.0.0.zip
    Product Name:           wso2ei
    Product Version:        6.0.0
    Kernel Version:         4.4.14
    Last Updated Time:      -
    Product File Path:      C:\wso2\products\wso2ei\6.0.0\wso2ei-6.0.0.zip

We can get the absolute path in the filesystem where the product is located using this command. We can verify that the ZIP file containing the server is available in the path where we located the WUM repository in the filesystem.

Check for product updates using WSO2 Update Manager

Now that we have all of our products in the repository, as we can check with the wum Gstlist command, we are ready to check for updates. To achieve that, we type the following:

    C:\ >wum check-update wso2ei-6.0.0
    Connecting to WSO2 Update...
    
    Checking for latest updates for wso2ei-6.0.0...
    Product is up to date.

In this case, WSO2 EI is up to date, so no action is required. However, if we check for updates for the other product, WSO2 ESB 5.0.0, in our repository, we have this:

    >wum check-update wso2esb-5.0.0
    Connecting to WSO2 Update...
    
    Checking for latest updates for wso2esb-5.0.0...
    37 updates are available
    [WARNING] 17 critical security updates. WSO2 strongly recommends that 
you install these updates now.

What's next? Use wum update to install the latest updates.

In that case, due to WSO2 ESB 5.0.0 being released in 2016, there are updates available. In spite of the fact that it is not the product we are focused on in this book, we will show the update procedure using this product since the procedure is the same for all the products managed by WSO2 Update Manager.

So, to install the latest updates in all the products in the repository, we type this:

    C:\>wum update
    Connecting to WSO2 Update...
    
    Validating your subscription status for product wso2ei...
    [WARNING] Your credentials are not associated with an active WSO2 
    
    Updating wso2ei-6.0.0...
    Product is up to date.
    
    Validating your subscription status for product wso2esb...
    [WARNING] Your credentials are not associated with an active WSO2
subscription.

Please remember that updates are not licensed for use in production without a valid WSO2 subscription. See http://wso2.com/update for more details:

    Updating wso2esb-5.0.0...
    37 updates are available
    Downloading updates... [36/37]
    Installing updates...
    Preparing update summary...
    Building updated product...
    Update summary:
      Installed updates: 37
      * [WARNING] WSO2 strongly recommends to use this updated product for 
production as soon as possible.
Security updates: 17 Updated Product: C:\wso2\products\wso2esb\5.0.0\wso2esb-
5.0.0.1488178152499.zip
* More information about updates are available inside the above
product archive
Update summary(pdf): (product-archive)/updates\summary-2017-02-
28T19-31-14\update-summary-1488178152499.pdf

What's next? Use wum list [<product-pattern>] to list products in your local repository. Use wum describe [<product-pattern>] to get more details of products.

The result is a new ZIP generated with all the updates ready to be installed.

Deleting a product from the WSO2 Update Manager repository

We can remove a product from the repository in a very simple way; we just have to type as follows:

    C:\>wum delete wso2esb-5.0.0
    The following product file(s) will be deleted.
    wso2esb-5.0.0.1488178152499.zip
    wso2esb-5.0.0.zip
    Do you want to continue? [y/N] y  

This command removes the ZIP file containing the product as well as all the releases generated as a result of new updates to the product.