The WSO2 Data Services Server offers an extremely simple and user-friendly mechanism to take data and make them available as a set of WS-* style Web services or as a set of REST style Web resources. It augments SOA development efforts by providing an easy-to-use platform for creating and hosting data services. This enables easy integration of data into business processes, mashups, gadgets, BI applications and any service in general.
The diagram below depicts an overview of the WSO2 Data Services Server architecture.
The WSO2 Data Services Server is 100% open source and part of WSO2 Carbon, the component-based middleware platform which consists of a set of pluggable components. As a result, the Data Services Server inherits all the enterprise-grade identity, statistics, security, clustering and management capabilities of WSO2 Carbon. Because of the Data Services Server's component-based architecture, developers have the choice to deploy only the required components by adding in features through provisioning and removing unwanted features.
In the WSO2 Data Services Server, a data service can be summarized into a XML descriptor file written in compliance with Data Services Descriptor Language (DSDL). DSDL is a XML based language defined by WSO2 to write data services.
A custom deployer extending the Apache Axis2 deployer framework is responsible for reading this data service descriptor and creating a data service. High performant XML processing capabilities offered by Apache AXIOM is used for generating XML responses on the fly. Some of the third party open source projects used by the WSO2 Data Services Server includes Apache DBCP for managing connection pools for Relational Databases, Google Spreadsheet Data API for reading Google Spreadsheets, OpenCSV for CSV file support and Apache POI for MS-Excel support.