[Download ] | [Documentation Index ] | [Release Note ]
The purpose of this guide is to get you started on creating and invoking a data service using WSO2 Data Service Solution as quickly as possible. We'll create a simple data Service using Data service creation wizard and then look at creating clients to access that service.
WSO2 Data Services is a convenient mechanism to provide a Web service interface for data stored in some data sources. Data sources such as relational databases, CSV files and Microsoft Excel files can be easily service enabled using Data Services. Now, the data can be exposed and accessed in a secure(using WS-Security) and reliable(using WS-ReliableMessaging) manner, and is also available for mashing-up with other Web services.
You can download WSO2 Data Service Solution from the following location.
[Download WSO2 Data services Soultion ]
This guide assumes MySQL is configured in your system. If not, please download MySQL 5 or later version from here.
mysql>create database employeedb;
mysql>use employeedb;
mysql>create table employee(id VARCHAR(10) NOT NULL PRIMARY KEY, name VARCHAR(100), address VARCHAR(100));
mysql> insert into employee values('01','john','Boston');
mysql> insert into employee values('02','Micheal','Dallas');
mysql> insert into employee values('03','richard','Chicago');
mysql> exit;
Since we are using a MySQL database for our demonstration, we should copy mySQL JDBC driver to WSO2DS_HOME/lib/extensions directory (e.g:- cp mysql-connector-java-5.0.3-bin.jar /home/user/wso2ds/wso2-dataservices-1.0/lib/extensions).
After copying the necessary jdbc driver, make sure to restart WSO2 Data service solution server.
We are ready to create our first data service using WSO2 Data Services Solution. We will make use of the sample MySQL 'employeedb' database we have created in the previous step.
Enter the following values in 'Data Source Type: RDBMS' popup window.
DataBase Type = MySQL
Driver Class = com.mysql.jdbc.Driver
JDBC URL = jdbc:mysql://localhost:3306/employeedb
User name = root
Query ID = allEmployees
SQL Statement = select id, name, address from employee
Grouped by Element = employees
Row name = employee
Row namespace = http://test.org
output field name = id
SQL Column Name = id
output field name = name
SQL Column Name = name
output field name = address
SQL Column Name = address
We have added one query to our data service configuration. In this example, we do not use an SQL statement which accepts input parameters. Therefore, we can ignore 'Input Mappings'.
You will notice that the query we have created in the previous step will be shown in 'Query' dropdown of the 'Add New Operation' popup window. Provide a name for the operation (e.g:- getAllEmployees) and click on 'OK'.
Your new data service will be listed in 'Deployed Services' page as follows.
In this section, we'll look at two different ways to invoke our data service without writing single line of code. First we will invoke our data service using 'Tryit' utility which integrated in to WSO2 Data Service Solution Management console. Then we invoke it using a simple HTTP GET request.
Click on 'getAllEmployees' button to invoke our data service. You will get the response message in the same page. Note that employee id and name will be returned as xml elements and address will be wrapped as an attribute. This is due to our output mapping configuration at step 2 of the wizard. We have configured id and name as element mapping types and address as attribute mapping type. You can edit them and observe the associated changes in response very easily using Tryit.
http://10.100.1.150:9763/services/EmployeeDataService/getAllEmployees
You will get the same result back as in 'Tryit' approach
For more details on the Data services see User Guide