SOAP Web services

SOAP Web Services

Web Services are software systems designed to support interoperable machine-to-machine interaction over a network. In this section we are going to talk about SOAP Web Services. This Web Services use SOAP (Simple Object Access Protocol) as protocol to exchange messages. Following the specification, the messages are:

  • Formatted using XML.
  • Typically conveyed using HTTP (but FTP, SMTP or JMS can be used too).
  • Described using WSDL files (Web Services Description Language: is an XML-based language used to describe the functionality offered by the Web Service).

Denodo can publish base/derived views/interfaces as Web Services to enable external applications that cannot use the JDBC or ODBC interfaces, to retrieve data from the Data Virtualization layer.

Creating SOAP Web Services

Let's create your first SOAP Data Service in Denodo. These are the steps:

  1. Create a new folder called 'SOAP'.
  2. Right-click on this new folder and select "New > Data service > SOAP Web service".
  3. The Tool will open the “Create SOAP Web Service” dialog. This dialog has several tabs:
    • Operations: here you can define the list of operations of the Web Service.
    • Settings: manages the configuration.
    • Advanced: in this tab you can change the parameters of the connection between the Web Service and Denodo server.

New operation

In the first tab (Operations) you can add new operations to the Web Service. You only have to drag any view/stored procedure/interface to this dialog. In this example, you are going to create a SOAP Web Service to search clients using the 'ID'. To do this, you have to drag the previously created 'i_client_info' interface to the workspace.

What kind of things are you able to do now?

  1. First, you can rename the Web Service: for example, change the name to customerws (right-click the web service name in the top and select Rename).
  2. You can change the name of the operation to: getClientById (right-click the operation and select Rename).
  3. As you are going to search clients using only the 'ID', you have to leave in the input the 'client_id' parameter and drop the rest of fields (right-click the field and select Drop).

Security

Ok, your SOAP Web Service definition is complete but there is an important point to keep in mind: security. By default, created Web Services doesn't have any authentication method so any person could use it. Surely, you will want to protect the access to the service by configuring an authentication method. This task can be done in the second tab (Settings).

There are several authentication methods available:

  • HTTP Basic/Basic with LDAP/Basic with VDP.
  • HTTP Digest.
  • WSS Basic/Basic with LDAP/Basic with VDP.
  • WSS Digest.

You can find detailed information about these methods in the DataPort Administration Guide document.

TIP

For this example, select WSS Basic with VDP method (leaving empty the Accepted user(s) field) to delegate the authentication to the Denodo server (users with privileges to connect and execute queries in Denodo will have access to the Web Service).

That's all! Finally, click on "Ok" button to create the SOAP Web Service.

In the next section you are going to see the same process but, in this case, for creating REST Web Services.