SOAP Web services

Web services are software systems designed to support interoperable machine-to-machine interactions over a network. In this section, we are going to cover SOAP Web services. These Web services use SOAP (Simple Object Access Protocol) protocol to exchange messages. Following the specifications, 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: an XML-based language used to describe the functionality offered by the Web service).

Denodo can publish base/derived views and 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:

  1. Create a new folder called SOAP under your 2 - data services folder.
  2. Right-click on this new folder and select New > Data service > SOAP Web service.
  3. This will open the create new 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 into this dialog. In this example, you are going to create a SOAP Web service to search clients using their ID. To do this, drag the previously created i_client_info interface to the workspace.

  1. Now, you can rename the Web service. Change the name to customerws (double-click the web service name at the top or right-click it and select Rename).
  2. Click the + next to i_client_info and rename the operation getI_CLIENT_INFOByCLIENT_ID... to: getClientById (click the operation or right-click and select Rename).
  3. As you are going to search clients using the ID, you only have to leave the input parameter client_id and can drop the rest. You can do this by right-clicking the other fields and selecting Drop.

Security

Ok, your SOAP Web service definition is complete but, before we save it, there is an important point to keep in mind: security. By default, created Web services do not have any authentication method which means anybody can use it. You will definitely want to protect the access to your services by configuring authentication methods. This task can be done in the second tab (Settings).

There are several authentication methods available:

  • HTTP Basic/Basic with VDP.
  • HTTP Digest.
  • HTTP SPNEGO (Kerberos).
  • OAuth 2.0.
  • WSS Basic/Basic with VDP.
  • WSS Digest.

You can find detailed information about these methods in the Virtual DataPort Administration Guide online manual.

TIP

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

That's all! Finally, click on the Save button to create the SOAP Web service.

In the next section you are going to see a similar process but for creating REST Web services.