Skip to main content

Posts

CI/CD with WSO2 App Cloud, Jenkins & GitHub

One way to improve a developer’s productivity is to automate repetitive tasks, such as building, committing, deploying, and testing. In this tutorial you will learn how to configure Jenkins and GitHub to achieve continuous integration and continuous deployment with WSO2 App Cloud . A basic knowledge in using Maven, Git, and invoking REST APIs is recommended to follow these steps. Introduction The day-to-day life of a developer often involves some mundane and repetitive tasks like build, commit, deploy, test, etc. With evolution in technology, however, we can automate these tasks to make a developer’s life little easier as well as improve productivity. Testing and deployment are two integral elements of software development. With some automation, those elements become solutions referred to as ‘continuous integration’ (CI) and ‘continuous deployment’ (CD). The ‘continuous’ aspect of these solutions means that your projects will be automatically tested and deployed, allowi...

Configure "Secure Vault" to secure plain text passwords in WSO2 config files

If we take a WSO2 product, there are so many config files which contains plain text passwords. This blog post explains how we can secure those passwords. Let's take WSO2 DAS . analytics-datasource.xml file and secure the password in following configuration. Step 1: Go to <WSO2_DAS>/repository/conf/security and add the following line to the cipher-tool.properties file Create alias with file path, xpath to the element and boolean value true. Step 2: Add the following line to the cipher-text.properties file. You have to provide the alias with the plain text password Step 3: Go to <WSO2_DAS>/bin and execute ./ciphertool.sh -Dconfigure This will, - Encrypt the password defined in cipher-text.properties file - Configure the analytics-datasauces.xml as follows Step 4: Restart the server. How to change a password Configure cipher-text.properties file with the password you want to change.  You need to remove the encrypted value and replace it...

Publish a service which provides both XML/JSON via SOAP/REST protocols in WSO2 ESB

Let's say we want to define a service in WSO2 ESB that provides the same information using different formats and protocols. It should provide both XML and JSON formats (for example 2 operations) and should be provided as SOAP and REST. This service will consume a DSS service we will deploy as SOAP and as REST. What is the best way to achieve this via WSO2 ESB? 1. The best approach is to use a proxy for support XML and invoke SOAP endpoint and an API for support JSON and invoke REST endpoint. 2.Then the problem is, publishing it as a proxy we get all the facilities provided in the dashboard. If we use an API we do not have the dashboard options available (statistics, mediation tracer...) As a solution: a. we can move the content of the API to a separate sequence then we can get the dashboard options. b. publish them via a BAM 3. Further, we can define a sequence which transform XML to JSON and vice versa in both Proxy and API and share it with both API and P...

Verify the WSO2 DSS config is valid to connect Cassandra

Solution: You can try querying column families from system.schema_columnfamilies to check whether DSS configuration is valid and integration happens correctly. Here's the DSS configuration You can try as follows download the WSO2 DSS and start the server copy the above configuration to a text file and save as .dbs file and copy to the <DSS_HOME>\repository\deployment\server\dataservices wait until it deploy get the WSDL from management console and add it to the SOAP UI and invoke the getColumnfamilies operation – it will list all the column families from your database.

Configure BAM to does not check the presence of Cassandra and Hadoop on start up

Scenario: I want to configure the BAM to does not check the presence of Cassandra, Hadoop, etc... If I do not configure in master-data source, it keeps throwing error saying Hadoop not configured, Hive error etc. As per  https://docs.wso2.com/display/BAM241/Reports , I want to generate reports without using Hadoop, Cassandra, etc... How to disable all these and instead configure RDBMS (or for local H2) Answer: This scenario is about how to use BAM for purely reporting purposes without using it to publish data or summarize data. You can start the BAM server with analytics and receiver components disabled along with the cassandra components disabled as well. You can follow the "BAM profiles" sections in [1] to get more information on different BAM profiles. you can start the server with the following command executed from within the <BAM_HOME>/bin folder. ./wso2server.sh -Ddisable.analytics=true -Ddisable.receiver=true -Ddisable.cassandra.server.startup...