# Accessing data sources using REST API

REST stands for Representational State Transfer also referred to as ReST and defines an architecture style for designing networked applications.. It is a set of rules that the developers follow while creating APIs and allowing programs to interact with each other.

REST is a simple, lightweight, full-feature alternative to complex mechanisms like COBRA, RPC (Remote Procedure Calls) and Web Services (SOAP, WSDL).

REST relies on a stateless, client-server, cacheable communications protocol; in virtually all the cases, this is Hyper Text Transfer Protocol (HTTP).

The World Wide Web that is based on HTTP can be viewed as a REST-based architecture. RESTful applications use HTTP requests to post data (create and/or update), read data (make queries), and delete data. Thus, REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.

REST is not a ‘standard’. For example, there will never be a W3C recommendation for REST. Although there are REST programming frameworks, working with REST is simple and you can easily use it with standard library features in languages like Java, Perl or C.

CloudIO Platforms REST Services are built using Java around the datasources that are used by the user interface layer. Hence, you can reuse the existing business logic defined at the datasource layer between the User Interface and the REST Web Services Clients.

CloudIO Platform can pull and push data from any JDBC2 compliant databases natively via JDBC calls. Hence, if you are trying to build a user interface using CloudIO Platform against your existing database, you create a native JDBC connection between the CloudIO Platform and the database natively using JDBC.

Shown below are some use cases where CloudIO REST APIs can be used:

| **Use Case**                           | **Example**    |
| -------------------------------------- | -------------- |
| E-Commence web integration             | Magento        |
| Native mobile application development  | iOS or Android |
| 3rd party or legacy system integration | 3PLs           |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudio.io/creating-datasources/working-with-datasources/accessing-data-sources-using-rest-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
