Remote data sources are used to access the database of another system, through the OData protocol.
OData (Open Data protocol)
“Open Data Protocol (OData) is an open protocol which allows the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way.”
The WEM Modeler uses OData to access the database of an external system. And in order to do that, you need to specify where that database resides and what data can be accessed. Once WEM has this information, you can directly access the data from e.g. an interaction node. We call a system that is accessed through Data e
Remote data source.
Defining (consuming) a new Remote data source
Setting up a new
Remote data source is very simple. Just take the following steps:
Go to the
Remote data source node in the Project tree. Click on
Add data service. You can now add a new service either through a URL or by uploading a zipfile.
If you use a URL, you need to enter the URL of the data service. You also need the username and password to access that service. Based on these credentials the remote data source gives access to the database, including the specific rights this user has (insert, update, delete rights). And finally you need to give this service a name. This is the name that WEM will use for this particular data service.
if you want to upload the correct information, you need to upload a zipfile that contains 2 files:
- the service document, which must have the name
- the metadata document, which must have the name
You also need to enter the
Service name which WEM will use for this data service.
The data service is now available in WEM.
Updating the data service
There are two updates possible:
- Updating the name of the service. To do this, click on
Change name. A popup will appear where you can enter a new name;
- Updating the actual service. It may be the case that the metadata has changed, or that a data model has changed. To update the service itself, click on the
Update servicebutton and WEM will update the data service.
Using the remote data source
Once the remote data source is specified, it can be access via the WEM Modeler. Everywhere in WEM where you can access data, you can access this remote data source. E.g. if you are working an interaction node, the data pane on the righyt hand side will provide access to the remote data source. Or when you create an expression using the expression editor, you can access the remote data source.
Exposing your WEM application using OData
It is possible to expose your WEM application using the OData protocol. When you do this, external systems can access the data of your application using OData. Exposing OData is very straightforward:
- Create user credentials that will be used by external systems to access the data of your application;
- Specify which list(s) in your data model are exposed to that user (and therefor the external system);
- Specify for each list which operations are availble to that user (and therefor the external system).
Once the steps above have been executed, your application is accessible via OData.
Note: exposing your application via OData is always done per portal. In other words, you need to specify access per portal.
The next sections describe each step in more detail.
Manage OData Users
The option that we need is the
Manage OData users option. When this option is seleted, you will be able to give users data access to the portal for which you are manging the users. If other portals of the same project also need to be exposed via OData, you will also need to manage the users for the other portals.
When you click on
Manage OData users this popup appears:
Here you can:
- Add new users, when you click on
New. This means: provide this user with access to your application data using OData;
Editexisting users. You can edit the name and/or the password of this user;
Deletea user. This will revoke OData access to your application data for this user;
- Specify what the specific access is that a user will get, by selecting
Access control rules.
To add a new user, simply click on
New, and the next screen appears:
Enter a name and a password and the user will be created. This user can be given OData access to the application by defining specific access control rules.
To delete a user you need to select that user and then click on
Delete. Keep in mind that the deleted user can no longer access your application.
Editing a user works similar: select a user and you will get a popup window where you can change the Name and/or the password of this user. This obviously means that the person that uses this user account to access your application needs to be aware of these changes, since access to your application has changed.
Specifying Access Control rules
Once an OData user has been created, this user can be given access to your application’s data. To do this, select the user you want to manage and select
Access control rules. This will bring up the following screen:
There are two main options:
Allow full access to all data– this is the default selection. This option means that the user can access all lists of your application and has the right to insert data, update data or delete data for all the lists in your application. In other words, the user has full control over your application’s data;
Specify access rulesThis option makes it possible to have very granular control over access to your applicaction’s data. When this option is selected, you can specify which lists the user has access to and which actions can be performed on this list.
When the user selects
Specify access rules, the next screen appears:
You can now browse through the data model of your application and select the list you want to expose through OData. When you select a list, the properties on the right hand side become active. You need to check the
Expose this entity checkbox in order to expose the selected list. When this option is checked, specify the actions that the user is allowed to perform on this list:
Allow insert– the user (external system) can insert new rows to the selected list;
Allow update– the user (external system) can update data in the selected list;
Allow delete– the user (external system) can delete rows in the selected list.
By selecting one or more options, it is possible to control exactly what the user (and therefor the external system) can do with the selected list.
You can repeat the steps above to select all lists of your application that need to be exposed.
When you select a new list (or when you
Access control rulesscreen and reopen it at a later time), the lists that are already exposed are displayed in bold characters.