Relational databases are the most commonly used data sources in data services. The RDBMSSampleService
is used here to demonstrate how we can use an RDBMS datasource with WSO2 DSS.
About the sample data service
This sample refers to information from a small company, embedded in an H2 database. It contains information such as employee and customer records and product details. The RDBMSSampleService
contains separate queries/operations written for specific tasks of the company.
The operations implemented in the service are listed below:
- customersInBoston - Returns all the customers in Boston. This operation is linked to a query, which has the following simple SQL statement, "select * from Customers where city = 'Boston' and country = 'USA'".
- employeesByNumber - Returns employee details, given the employee number. This is an example of a data service operation which takes in a parameter. The linked query's SQL statement is written in the following way, "select * from Employees where employeeNumber = ?", where the "?" represents the parameter which is defined in the query.
- customerAddress - Returns the customer's address, given the person's name.
- productsInfo - This operation lists information on all the products that are produced in the company.
- setEmployeeSalary - Sets the salary of an employee, given the employee number and the revised salary.
- setSalaryForEmployees - Sets the given salary to a given set of employees. Here, the usage of array data type is demonstrated where the employee numbers is an INTEGER ARRAY type.
- incrementEmployeeSalary - Increments the given employee's salary with the given amount.
- addEmployee - Adds a new employee records with the given information.
Building the sample
Deploy the sample data service named RDBMSSampleService
using the steps in Samples Setup.
Executing the sample
You can run the sample service using the TryIt tool, which is bundled with the WSO2 Data Services Server, or a code-generated java client sample as discussed in the Data Services Clients section.
See the topics below for samples on a few important RDBMS functionalities: