Configuring Web Services

What is a Web Service?

A Web Service is a method of communication between two applications or electronic devices over web. You can either use pre-defined web services that come along with the SummitAI application or build Custom Services based on your organization's requirement.

Web Services are of two types:

  1. Simple Object Access Protocol (SOAP)
  2. Representational State Transfer (REST)

SOAP defines a standard communication protocol (set of rules) specification for XML-based message exchange. SOAP uses different transport protocols, such as HTTP and SMTP.

The standard protocol HTTP makes it easier for SOAP model to tunnel across firewalls and proxies without any modifications to the SOAP protocol. SOAP can sometimes be slower than middleware technologies like CORBA or ICE due to its verbose XML format.

REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URL and a representation of the resource is returned. With each new resource representation, the client is said to transfer state.

While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource.

Provide the Service URL to create a Web Service.


Figure: Edit Service URL


Service URL example: http://<webserviceurl>/REST/Summit_RESTWCF.svc

Replace <webserviceurl> with base URL.

To preview a Web Service:

  1. Select Admin > Basic > Infrastructure > Web Services.

  2. Select a URL from the drop-down list.
  3. Select a service from the Custom Services list.
  4. Fill in all the mandatory fields and then click SUBMIT. The Output Data is displayed.


    Figure: Web Services Preview page

Field Description

The following table describes the fields on the WEB SERVICES EXPLORER page:

Fields

Description

Custom Services/Predefined

Services

Displays the list of services available. Select a service from the list to extract data from the application through the Web services. Type in the name of the services to search from the list. Click Filters icon to filter the services according to modules.


Figure: Web Services Filter

View Custom Services

Click View Custom Services (highlighted in red color in the above image) to display the list of Custom Services created by the users.

View Predefined Services

Click View Predefined Services (highlighted in green color in the above image) to display list of services already defined in the SUMMIT application.

Refresh

Click to Refresh the list.

URL

Select Input URL format from the drop-down list, either JSON Object or JSON String or XML.
Click EDIT to edit the existing URL. See Screen Shot.


Figure: Edit Service URL

Service URL example: http://<webserviceurl>/REST/Summit_RESTWCF.svc

Replace <webserviceurl> with base URL.

Mandatory Fields

Displays Mandatory Fields for the selected service.

Input Data

Displays Input parameter for the selected URL Type.

Output Data

Displays Output for the selected URL Type.

Search Bar

You can search for the web services, based on their properties. For example, if you specify table in the search bar, all the existing tables will be displayed.

To create Custom Services:

  1. Click CREATE NEW. The WEB SERVICE DESIGNER page is displayed.


    Figure: Web Service Designer page

  2. Type in the Web Service Name and specify the number of records to be displayed.

    Note:

    You can also create SQL Views, SQL Table, SQL Procedure and modify the created fields.

     Create SQL View


    Figure: Create SQL View Page

     Create SQL Table


    Figure: Create SQL Table Page

    You can add indexes to improve the performance of the tables.

     Create SQL Procedure


    Figure: Create SQL Procedure Page

  3. Click  icon to view, hide or customize the web service properties. 


    Figure: Web Service Properties

    Field Description

    The following table describes the fields on the PAGE PROPERTIES section:

    Fields

    Description

    Module Name

    Select a Module for the Web Service.

    Active

    If selected, the Web Service Configuration becomes active.

    User Access

    Type in the name of a user to whom you want to provide access to the Web Service.

    View Only

    If selected, the user will have read only access to the web service, and cannot do any modifications to it.

    Report Description

    Specify the description of the Web Service.

  4. Select check box to select DATA SOURCE from the list. You can scroll down to see all the available Data Sources or type in the Data Source name in the search box to search a particular Data Source.

    Note:

    Create Relationship between the Data Sources, if you want to use multiple Data Sources.

     Create Relationship

    To create relationship, select a Data source. Fill in all the required details and click ADD RELATIONSHIP. A New Relationship is added.


    Figure: Relationship section

    Field Description

    The following table describes the fields on the RELATIONSHIP section:

    Fields

    Description

    Join Type

    Select a Join Type from the list.

    Data Source

    If multiple Data Sources are selected then select a Data Source from the list to create a relationship with it.

    Table Alias

    Select the alias name for the Data Source.

    Join Field

    Select a field from the drop-down list for selected Data Source.

    Foreign Data Source

    Select a Foreign Data Source from the drop-down list to create relationship with the selected Data Source.

    Join Field

    Select a field foreign Data Source from the drop-down list.

     Add Fields to the Web Service

    To add fields to Web Services:

    1. Drag and drop the attributes from the list to FIELDS and FILTERS section to define the mandatory fields and Filter attributes. You can configure the properties of the attributes in the FIELDS and FILTERS section.


      Figure: Fields Section

      Note:

      • Click  icon to copy all the fields.
      • Click  icon to remove all the copied fields.
    2. Upon selecting attributes, PROPERTIES section is displayed (if not displayed, click icon) and configure Properties. Select an attribute on FIELDS/FILTERS column, FIELD/FILTERS PROPERTIES is displayed. If not then click the PROPERTIES icon.


      Figure: Page Properties for Fields

    Field Description

    The following table describes the fields on the PAGE PROPERTIES section:

    Fields

    Description

    Source Name

    Displays the Source Name of the attribute.

    Field Name

    Displays the Field Name.

    Field Alias

    If required, change the Field name

    Sort

    Select the sort order from the drop-down list.

    Function

    Select the function of the attribute from the drop-down menu.

    Custom Expression

    Specify the custom expression such as SQL calculations.

    Mandatory

    If selected, the corresponding field becomes mandatory.

  5. Click GENERATE SQL to Generate SQL Query. 

     See Screen Shot


    Figure: GENERATE SQL (when Edit Query check box is not selected)


    Figure: GENERATE SQL (when Edit Query check box is selected)

    Note:

    • The string values should be entered in two single quotes only. Example: ''Username''.
    • Data Manipulation Language (DML) is not allowed in the SQL query. Example : Delete, Truncate, Drop, Comment, Rename, Merge, Grant, Revoke, Commit, Savepoint, Rollback, Exec and Execute.
    • If you want to pass any parameters, enter # before & after the respective Field name.
  6. Click PREVIEW to view the Output of the ongoing Web Service. 

     See Screen Shot


    Figure: Output Preview pop-up page

  7. Click SAVE. The Web Service is added to the WEB SERVICE PREVIEW list.

Creating Custom Tables in Web Services:

 To Create New Custom Table

Consider the following sample Custom Table and Custom Data as an example.


Figure: Custom Table( Location_table)

Note: The Approver ids are taken from the UserID column of summit user master table based on e-mail id or NTID.

Figure: Summit User Master Table

To create a new Custom Table, perform the following steps:

  1. Select Admin > Basic > Infrastructure > Web Services. The WEB SERVICE EXPLORE page is displayed.
  2. On the WEB SERVICE EXPLORE page, click CREATE NEW. The WEB SERVICE DESIGNER page is displayed.
  3. On the WEB SERVICE DESIGNER page, select Create SQL Table from drop-down list.
  4. Specify the SQL Table Name (Ex: Location_table).


    Figure: WEB SERVICE DESIGNER page: Create SQL Table: SQL Table Name
  5. Click icon in FIELDS section to view FIELD PROPERTIES
  6. Type in Field Name (or Column Name) and select the Data Type value from drop-down list (Refer below table for column names and data types). For more information about the fields on the FIELD PROPERTIES, see Field Description.

  7. Click ADD NEW FIELD to add a new field (or Column).

    Column Name
    Data Type
    Country
    varchar
    State
    varchar
    City
    varchar
    EmailID
    varchar
    Approver
    int


    Figure: WEB SERVICE DESIGNER: FIELD PROPERTIES

    Field Description

    The following table describes the fields on the FIELD PROPERTIES section:

    FieldDescription
    Field Name

    Specify the name for the field (or column).

    Ex: Country, State, City, EmailID, and Approver.

    Data Type

    Select the required data type for the field (or column) from the drop-down list. The available data types are:

    • nvarchar - Select the data type as nvarchar to store Variable Characters (letters and numbers) in the field (or column).
      Note: In size parameter specifies the maximum column length in characters.
    • int - Select the data type as int to store a whole number (not a fraction) in the field (or column).
    • numeric - Select the data type as numeric to store numbers that have fixed precision and scale.
    • decimal - Select the data type as decimal to store numbers that have fixed scale.  
    • bit - Select the data type as bit to store a single bit with a value of 0, 1 or NULL
    • datetime - Select the data type as datatime to store date and time combination in the field (or column).
    • text - Select the data type as text to store text or combinations of text and numbers in the field (or column).

    Ex: Country (nvarchar), State (nvarchar), City (nvarchar), EmailID (nvarchar), and Approver (Int).

    Auto IdentitySelect this check box to define a field (or column) as Auto increment field.
    Primary Key

    Select this check box to define a field (or column) as Primary Key.

    Note:

    Primary keys must contain unique values and cannot have NULL values.

  8. Click GENERATE SQL to generate SQL Query.


    Figure: GENERATE SQL (when Edit Query check box is not selected)

  9. Click SAVE to generate a new SQL /Custom Table successfully.

Importing Custom Data into Custom Tables:

 To Import Custom Data into Custom Table

The administrators can use the following methods to import data into the Custom Table:

  • Import the data form source systems (such as: AD, SAP or HR) via API
  • Backend Import -you can import a file (.csv,.txt, etc.) into your database using SQL Server Management Studio.
  • SQL Query or Stored Procedure

Consider that you want to import data into Custom Table (Location_table)

To import data into custom table using stored procedure:

  1. On the WEB SERVICE EXPLORE page, click CREATE NEW. The WEB SERVICE DESIGNER page is displayed.
  2. On the WEB SERVICE DESIGNER page, select Create SQL Procedure from drop-down list.
  3. Specify the SQL Stored Procedure Name.
  4. Select Edit Query check box.


    Figure: Edit SQL Query
  5. Type in the stored procedure to insert new records in a table.

     Sample Stored Procedure

    CREATE PROCEDURE [dbo].[Location_table procedure]

    AS

    BEGIN

    insert into Location_table(Country,State,City,EmailID,Approver)
    values(''USA'',''Alaska'',''Fairbanks '',''james@xyz.com'',''206'')

    insert into Location_table(Country,State,City, EmailID,Approver)
    values(''USA'',''California'',''Los Angeles'',''michael@xyz.com'',''207'')

    insert into Location_table(Country,State,City,EmailID,Approver) 

    values(''Canada'',''Ontario'',''Toronto'',''david@xyz.com'',''208'')


    END

  6. Click SAVE to insert values into table.