Exercise 08: Integrating a Web Service and a Java API Class

From AgileApps Support Wiki

Introduction

Adding Integration Logic

  • Developers can access resources to customize an Application

    Developer Resources.png

Accessing Web Pages using Web Tabs

  • A Web Tab displays a local JSP page, or an (external) page specified by a URL
  • Examples:
    • Company's intranet site from another server
    • Partner website from another server
    • Support website from another server
    • Custom Page created on the tenant

Adding Web Tabs

  • Web Tabs appears in an application only for the Application Roles you specified
  • Optional: Passing parameters to external web page you are invoking

Web Tabs.png

Integrating Web Services into your Application

  • Web Services get data from an external source
  • You can use Web Services:
  1. In External Lookup fields
  2. To retrieve “related records” from an External Data Source
  3. In process steps of type “Execute Web Service”
  • You can also create a two-step “pipeline service”
    • For example: Handle authorization in the first step and get data in the second step
  • Once you define a Web Service, it is available to every application on your tenant

Defining a Web Service

  • Create a new Developer Resource of kind Web Service
  • Select which type:
    • SOAP:
      • Upload a WSDL file that describes the remote service (Many operations can be defined in a single WSDL file)
      • Select the operation you want to call and the version
    • REST:
      • Provide sample input and output data (XML or JSON)
      • The platform extracts the parameter names, as if they were declared in a WSDL
  • Specify parameters to ignore and supply hard-coded values
    • Remaining parameters are mapped when the Web Service is invoked

Using a Web Service in an External Lookup Field

  • External Lookup field retrieves one or more records from a Web Service
  • Invoked when an object record is added or updated
  • External Lookup can invoke:
    • A Web Service as lookup service that returns a single record
    • A Web Service as search service that returns multiple records, the user selects from a popup which record to use
  • To configure a lookup service
    • Select configured Web Service
    • Perform Input Mapping: Map values, record fields, user input, or expressions to become Web Service input(s)
    • Perform Output Mapping Map or ignore Web Service output(s) to read-only fields that can be placed at the desired location in the record form

Using a Web Service to Access an External Data Source

  • An External Data Source lets you access a collection of related records from an external data store
  • Records can be displayed in the Related Information section on an object form
  • A Web Service must be configured to supply the records
  • To configure an External Data Source:
    • Select configured Web Service
    • Perform input and output mapping of Web Service parameters
    • Specify record structure of expected related records

Using a Web Service in Execute Web Service Process Step

  • Process Step of type Execute Web Service allows to invoke a configured Web Service in a Process Model
  • Process Model Editor allows to map Web Service inputs and outputs to parameters used in the Process Model
  • A Web Service output can be mapped to a Process Variable
    • Can be used as input to another Web Service, or as criteria for a Decision Switch
    • To create a Process Variable select “Use Variable” in the Output Mapping section of a Web Service step and give it a name
  • Process Variables and Persistence:
    • Process variables do not persist beyond the life of the process
    • Store the value in a record field when:
      • Persistence is needed (a record is always available for that purpose!)
      • The value is needed in a Callable Process
    • For a Callable Process, data is also passed in a record field

Execute Web Service Process

  • Execute Web Service
    • Invokes one of the Web Services configured for the application
    • Input Mapping: Map Object fields of the current record, fixed values or expressions to the WS inputs
    • Output Mapping: Map Web Service results or expressions to Object fields of the current record or Process Variables

Integrating a Web Service (Hands on Lab Part 1)

Extend and Integrate with Custom Java Code

Developer Resources Class SubCaseCreator.png

Using Classes in Business Rules

  • To invoke a method defined in a custom Java Class from a Business Rule:
    • Select Invoke Method in the Actions to Perform section

Update Record Updated Event Rule.png

Writing For details on how to write code for the Java APIs, see the webMethods AgileApps Cloud documentation

  • Select the Configuration > Learn More link and do a search for JAVA API
    • Dozens of Java APIs are available for use in a Java class
    • Custom Java Classes and Using the Java API

Writing Custom Java Classes.png

Macros

  • Lets you do several things at once
  • Object-related, appear in sidebar in Actions dropdown (like Custom Form Action)
  • Visibility criteria:
    • Determines who sees it the Action list
    • Use field conditions or expressions
    • Tip: When creating expressions, use the field comparisons to find values:*
  • Actions to perform:
    • Set field values, add a note, assign to User/Team, send email, start/stop Process, change Process status, execute Business Rules, execute a Web Service*, invoke Java method*

Macros.png

Exercise

This exercise has two parts:


Previous

Next