E Creating Orchestrations with the Orchestrator Studio 2.0 (Release 9.2.0.5)

Important:

This appendix describes how to use Orchestrator Studio 2.0 that was available starting with EnterpriseOne Tools 9.2.0.5.

To use Orchestrator Studio 7.0.x.0, the latest version available with EnterpriseOne Tools 9.2.3, see:

This appendix contains the following topics:

E.1 Understanding the Orchestrator Studio and Orchestrations

The Orchestrator Studio is a web-based application for creating orchestrations and the components that comprise an orchestration. All orchestrations and orchestration components that you create in the Orchestrator Studio are saved as separate files in an orchestration directory on the EnterpriseOne Application Interface Services (AIS) Server. The Orchestrator uses these files to process a single orchestration instance on the AIS Server.

Use the Orchestrator Studio to create the following components:

  • Orchestrations. An orchestration is the master component that provides a unique name for an orchestration process. The orchestration is where you define the inputs for the orchestration, the expected incoming data from a device. The orchestration also includes orchestration steps, which are invocations to the other components described in this list. When the Orchestrator invokes an orchestration, it processes the steps defined in the orchestration to enable the transfer of data from third-party systems to EnterpriseOne.

  • Service Requests. A service request contains a sequence of actions to perform a particular process in EnterpriseOne. The Orchestrator uses the service request as an invocation of a JD Edwards EnterpriseOne interactive application or a Java application via a REST service call to the AIS Server.

  • Rules. A set of conditions that the input to the orchestration is evaluated against to produce a true or false state. With rules, a false outcome or true outcome can invoke further orchestration steps. You can also nest rules, in which an outcome of one rule can invoke a different rule, to produce complex evaluations. You can also use custom Java to define rules.

  • Cross References. A set of data relationships that map third-party values to EnterpriseOne values. For example, a device's serial number can be cross-referenced to a JD Edwards EnterpriseOne Equipment Number for use in service requests.

  • White Lists. A white list contains an inclusive list of values permitted in the orchestration and terminates the orchestration process if the data is not recognized.

Note:

A simple orchestration requires at a minimum an orchestration and a service request to run.

In the Orchestrator Studio, each component that you create can be added as a step in an orchestration. Figure E-1 shows the drop-down list of steps. Each step in an orchestration is simply a reference to a cross reference, rule, service request, or white list component.

Figure E-1 Orchestration Steps in the Orchestrator Studio

Description of Figure E-1 follows
Description of ''Figure E-1 Orchestration Steps in the Orchestrator Studio''

E.1.1 Reusable Orchestration Components

Orchestration components are reusable. A single component, such as a rule or cross reference, can be included as a step in more than one orchestration. Because components are reusable, before modifying an existing component, the Orchestrator Studio has a "Where Used" button that you can use to view a list of all orchestrations where the component is used.

If a component is used by more than one orchestration, you should evaluate how it is used in other orchestrations before modifying it. You must not modify the component in any way that would break the functionality of other orchestrations.

The Orchestrator Studio also provides a copy feature so you can create a new component by copying an existing component. When you copy an existing component, you give the copy a new, unique name. The original component is preserved, enabling you to modify the new component as necessary, thereby eliminating the risk of breaking other orchestrations where the original component is used.

E.2 Accessing the Orchestrator Studio

The Orchestrator Studio is a web application that you access through a URL in a web browser. Your system administrator should provide you with this URL.

Important:

Orchestration components created in the Orchestrator Studio are saved to a directory on the AIS Server. An administrator must define the path to the AIS Server in the Orchestrator Studio before users can use the Orchestrator Studio. See Define the Path to the AIS Server in the Orchestrator Studio.

To access the Orchestrator Studio:

  1. In a web browser, enter the URL to the Orchestrator Studio:

    http://<adf_server>:<port>/OrchestratorStudio/faces/index.jsf

  2. On the Orchestrator Studio Sign In screen, enter your EnterpriseOne User credentials, environment, and role.

    Note:

    It is highly recommended that you enter an EnterpriseOne environment used for testing, not a production environment.
  3. Click the Login button.

Before you begin using the Orchestrator Studio, click the drop-down menu in the upper-right corner to view the path to the AIS Server directory where orchestrations created in the Orchestrator Studio are saved. The drop-down menu also provides a link to log out of the Orchestrator Studio.

E.3 Navigating the Orchestrator Studio

The first page that appears after you log in to the Orchestrator Studio is the Home page. The icons for each of the orchestration components on the Home page take you to the design pages for creating and modifying orchestration components. At the top left of the Home page is a Home icon, which you can click to display a side panel that provides another way to access the design pages for the orchestration components. You can also access this side panel from the component design pages for easy navigation between the different component design pages. Figure E-2 shows the Home page with the side panel enabled:

Figure E-2 Orchestrator Studio Home

This image is described in surrounding text.

The Tools link in the upper-right corner of the Home page provides access to the Orchestrator Studio Tools page. This page provides access to the Orchestrator Client for testing orchestrations, the Import tool for importing orchestration files, and a link to the JD Edwards EnterpriseOne web client. For more information about the Orchestrator Client and the Import tool, see the following topics:

E.3.1 Navigating Orchestrator Studio Design Pages

Accessed from the Orchestrator Studio Home page, the design page for each component displays a list of existing components. It also provides buttons for creating a new component, copying a component, and searching for a component, as shown in Figure E-3.

Figure E-3 Example of Cross References Design Page

Description of Figure E-3 follows
Description of ''Figure E-3 Example of Cross References Design Page''

On a component design page, you can click and drag the vertical divider next to the component list to adjust the size of the list. Or you can click the raised tab in the center of the divider to hide or show the component list.

For Cross References, White Lists, and Rules, the right side of the design page contains the controls and fields to create or modify the component.

The initial Orchestrations and Service Requests design pages also contains a list of existing components. However, when creating or modifying an orchestration or service request, the Orchestrator Studio takes you to a different design page to complete the components.

On any design page in which you create or modify a component, the Orchestrator Studio provides the following controls, which are highlighted in Figure E-4:

  • Where Used. When you select a component from the list of existing components, you can click this button to view other orchestrations where the component is used. This button is not available in the Orchestrations design page because an orchestration cannot be reused.

  • Save.

  • Restore <component>. When revising a component, use this button to restore the component to its last saved state.

  • Export File. Use this button to export the component file to your local machine. See Exporting Files from the Orchestrator Studio in this appendix for more information.

    Figure E-4 Example of Service Request Design Page

    Description of Figure E-4 follows
    Description of ''Figure E-4 Example of Service Request Design Page''

E.3.2 Working with the Graphical Representation of an Orchestration

The initial Orchestrations design page shows a graphical representation of a selected orchestration and all components associated with the orchestration. Figure E-5 shows the Orchestrations design page with an example of an orchestration with multiple components.

Figure E-5 Initial Orchestrations Design Page

Description of Figure E-5 follows
Description of ''Figure E-5 Initial Orchestrations Design Page''

The graphic area includes the following features to help you work with graphical representation of the orchestration:

  • Navigation toolbox

    In the upper-left corner of the graphic area, you can click the raised tab to display a toolbox for navigating the graphic. Use the directional controls in the toolbox to pan left, right, up, and down, as well as zoom in or zoom out. Or you can click the "Zoom to Fit" button to display the entire graphical representation in the window. Use the layout buttons to change the layout to vertical, horizontal, tree, radial, or circle. Changing the layout can help with viewing more complex orchestrations that contain multiple components.

  • Informational hover help

    You can hover your mouse over a component in the graphical area to view an enlarged image of the component. Hovering over the labels on the lines between a rule component and its child components magnify the "True" or "False" label. A "True" label indicates that the child component will be invoked if the conditions in the rule are met. A "False" label indicates that the child component will be invoked when the condition of the rule is not met.

  • Isolate and Restore buttons

    The left side of each component contains an Isolate button that you can click to show only that component in the graphic area. You can then click the Restore button to display the entire graphical representation of the orchestration.

  • Access to the design page for editing the component

    When you click a box representing a component, the Orchestrator Studio takes you to the design page for modifying that particular component.

E.4 Creating Service Requests

This section contains the following topics:

E.4.1 Understanding Service Requests

At a minimum, an orchestration requires orchestration inputs and a single service request component to run. The service request provides the instructions that the Orchestrator uses to invoke and perform a particular task in EnterpriseOne. Before you create a service request, you must first identify the EnterpriseOne task or business process that you want the service request to perform. See Identifying the Service Request Information for the Orchestration for more information.

Use the Service Request design page in the Orchestrator Studio to define a service request, which involves:

  • Specifying the EnterpriseOne buttons, fields, columns, menu items, and so forth that are involved in performing a task in EnterpriseOne.

    In the Service Request design page, you can search on an EnterpriseOne application form and view all of the controls and fields for a form.

  • Determining the order or execution in which the controls and fields are used to perform the desired task in EnterpriseOne.

Note:

You can also use custom Java to execute a custom process or to route data into another database. See Chapter 8, "Creating Custom Java for Orchestrations" for more information.

E.4.1.1 Understanding the Application Stack Option

The Application Stack option in the Service Request design page enables you to create a service request that establishes a session for a specific application and maintains that session across calls. With application stack processing, the service request can invoke multiple forms in different applications to complete a business process. Without the application stack processing, each form in the service request is opened independently.

If you use the Application Stack option, the service request must include instructions for navigating between forms. Without the navigation, additional forms will not be called.

E.4.2 Understanding the Service Request Design Page

The Service Request design page contains two areas: the "Order of Execution" area and the "Available Actions" area. The Available Actions area serves as the workspace for finding and configuring all of the EnterpriseOne controls and fields that make up the sequence of actions in the Order of Execution area. You locate and configure the controls and fields in the Available Actions area, and then move each item to the Order of Execution and place them in the proper sequence.

Available Actions Area

In the Available Actions area, you can search on an EnterpriseOne form to load all of the available controls (menu items, buttons, check boxes, and so forth) and fields for that form. If the service request needs to invoke more than one application to complete the task, you can load the controls and fields of additional application forms as needed. You can select the Application Stack check box to enable application stack processing as described in the Understanding the Application Stack Option section.

Figure E-6 shows the results of loading an EnterpriseOne application form in the Available Actions grid.

Figure E-6 Available Actions Area in the Service Request Design Page

Description of Figure E-6 follows
Description of ''Figure E-6 Available Actions Area in the Service Request Design Page''

The columns in the Available Actions grid provide interactive features for configuring the controls and fields before you add them to the Order of Execution area. The following list describes how to use each column:

  • Description

    This column displays the controls and fields for each form in a collapsible/expandable parent node named after the EnterpriseOne form. Child nodes categorize other items, and include a Buttons and Exits node, a node for displaying the available Query by Example (QBE) fields in a grid (if applicable), and a node for displaying all of the available columns in a grid.

    Note:

    The separate nodes for QBE fields and Grid columns are available starting with Orchestrator 2.0, which is available starting with EnterpriseOne Tools 9.2.0.5.
  • Mapped Value

    Use this column to define the input variable name. Later, when you add the service request to an orchestration, you map the orchestration input to this name. You can only map inputs to a field if 1) the EnterpriseOne field is an editable field and 2) you defined the inputs in the orchestration as described in Adding Inputs to an Orchestration.

  • Default Value

    Enter a default, hard-coded value if there is no mapped value. You can also add a hard-coded value to use if the mapped value returns a null.

  • "Text substitution" check box column

    This check box enables you to add text substitution for an input. Text substitution enables you to combine input values into a text string for input into an EnterpriseOne field.

  • ID

    This column displays the ID of the control or field in EnterpriseOne. This is for informational purposes only.

  • Form Mode

    If a form mode was selected, this column indicates if a field or control is only available in the selected form mode.

  • Return

    You can specify any values that you want returned in the orchestration response after EnterpriseOne actions are invoked. If you do not specify any return values, all values on the form will be returned. Return values may be used by customized third-party gateway programs or devices to do further processing based on the values returned from EnterpriseOne applications.

  • Return Name

    This field is automatically enabled when the Return check box is selected. When enabled, you can manually enter a name in this column, which makes this value available for mapping in subsequent orchestration steps when the service request is added to an orchestration.

  • Select First Row

    Move this action to the Order of Execution if the service request tasks involves selecting the first row in the grid.

After you configure each applicable control or field in the Available Actions area, you click the Add Action button in the last column to add each item as an action in the Order of Execution area at the top of the design page.

Order of Execution Area

When actions are added to the Order of Execution grid, you can reorder them using the up and down arrow buttons to the right of each row. You can also delete any actions using the Delete (X) button. Figure E-7 shows the Order of Execution area.

Figure E-7 Order of Execution in the Service Request Design Page

Description of Figure E-7 follows
Description of ''Figure E-7 Order of Execution in the Service Request Design Page''

E.4.3 Creating a Service Request

To create a service request:

  1. Access the Service Request design page:

    • On the Orchestrator Home page, click the Service Requests icon.

      OR

    • After adding a Service Request step to an orchestration, click the Service Request step row.

    The Orchestrator Studio displays the initial Service Requests design page.

  2. On this page, click the New Service Request button.

  3. On the Service Request design page, in the Service Request field, enter a name for the service request.

    Do NOT include any spaces in the service request name.

    As an alternative, you can create a new service request by copying an existing service request. To do so:

    1. On the Service Requests design page, select a service request that you want to copy from the list, and then click the Copy Service Request button.

    2. In the pop-up box, in the New Service Request field, enter a name for the service request.

    3. Click Continue.

  4. Click the Save button to save the new service request component, and then proceed to configure the actions in the service request as described in the next section.

E.4.4 Configuring the Actions in the Service Request

In the Service Request design page, use the Available Actions area to define actions that you want the service request to perform. After you define the actions, you can place the actions in the proper order in the Order of Execution area as described in Defining the Order of Execution in a Service Request.

To configure the actions for the service request:

  1. In the Available Actions area, complete the following fields to specify the EnterpriseOne form that contains the controls you want to load:

    • Application. Enter the ID of the EnterpriseOne application.

    • Form. Enter the form ID.

    • Version. Enter the version of the EnterpriseOne application.

    • Form Mode. (Available with Release 9.2.0.3) Click the drop-down menu and select the appropriate form mode: Add, Update, or Inquiry.

      The form mode determines the controls that are displayed for the form. At runtime, the controls that appear on an EnterpriseOne form are dependent on the form mode as specified in Form Design Aid (FDA). This ensures that you can see all of the form controls in the Orchestrator Studio that are available in the form at runtime.

    • Application Stack. Click this check box if you want to use application stack processing. See Understanding the Application Stack Option for more information.

  2. Click the Load Form button.

    The Orchestrator Studio loads the controls and fields for the form in the grid.

    If the action involves more than one form, you can search on another form and the Orchestrator Studio will load the controls for the form in a collapsible node at the end of the grid.

  3. To map service request inputs to EnterpriseOne fields:

    1. Select the row with the field in which you want to be mapped.

    2. In the Mapped Value column, enter a variable name to use for the mapping.

      When a service request is added to an orchestration, the inputs in the orchestration should match the inputs defined in the service request. You can also use the "Transformations" feature to map non-matching input names. See Adding Inputs to an Orchestration and Configuring Transformations for more information.

  4. If the service request task involves selecting the first grid row in the EnterpriseOne form, in the "Select First Row" row, click the Add Action button to move it to the "Order of Execution" area.

  5. If the service request task requires updating a particular row in an input capable grid, then map the appropriate input value containing the row number to the "Row Number for Update" row, or specify the row number in the Default Value column.

  6. In the Default Value column, you can perform the following actions to configure the default values for the controls:

    1. If the control is a check box or a radio button, you can select it to include it. If there are multiple radio buttons on a form, select only one. If you select more than one, only the last radio button in the Order of Execution list will be used.

    2. If the control is a combo box (a list of items in a drop-down menu), then the Studio displays a drop-down menu in the Default Value column in which you can select the appropriate item from the list.

    3. If the field is editable, you can enter a hard-coded value to map for the input. You can also enter a value to be used if the mapped value returns a null.

    Fields that are grayed out in this column are not editable.

  7. Select the Return check box next to the fields that contain values that you want returned in the orchestration response. If you do not specify any return values, all values on the form will be returned.

    Important:

    If using the Application Stack option:

    • Only values from the last form in the application stack can be returned; return controls specified for any form except the last form are ignored.

    • If you use a form to add or update a value that upon saving exits to another form (such as a Find/Browse form), the return values will come from the last form that appears after the save. In this scenario, you need to add the last form to the application stack and select the return controls from the last form.

  8. To use text substitution, which enables you to combine input values into a text string for input into an EnterpriseOne field, perform these steps:

    Tip:

    For example, you might have a string with "Temp was {0} at {1}" that contains a temperature input value and a time input value.
    1. In the field that you want to substitute the input with text, click the Add Text Substitution button (plus symbol).

    2. In the pop-up dialog box, in the Text Substitution field, enter the following variable (with brackets) to use for the first input:

      {0}

    3. In the Variable field, enter the input variable name.

    4. Click the Add button (plus symbol) to add the variable for the text substitution.

    5. Add the next variable, {1}, and then in the next blank row below the Variable field, enter the input variable name.

      If you add a variable by mistake, click the Remove Variable button.

    6. Click the Add button to add it to the text substitution.

    7. Click the OK button to save the variables for the text substitution.

      The following image shows an example of variables added for a temperature input value and a date input value:

      Description of text_sub.png follows
      Description of the illustration ''text_sub.png''

  9. As you finish configuring the applicable rows in the Available Actions area, in the right-most column, click the Add Action button to move the configured rows to the "Order of Execution" area.

    Next, order the actions as appropriate as described in Defining the Order of Execution in a Service Request.

E.4.5 Defining the Order of Execution in a Service Request

After you move the actions from the Available Actions area to the Order of Execution area, you arrange the actions in the order required to perform the task in EnterpriseOne.

To define the order of execution:

  1. Click the action that you want to move up or down in the order.

  2. Click the "up arrow" or "down arrow" buttons at the end of the row with the action until the action is in the proper order.

  3. Continue until the order of the actions reflects how the task is performed in EnterpriseOne.

  4. If you added an action that is not needed, click the Delete (X) button at the end of the row to delete the action.

  5. Click the Save button next to the Orchestration drop-down menu to save the orchestration with the service request.

  6. If you make a mistake when modifying a service request, click the Restore Service Request button to restore the service request to its last saved version.

E.4.6 Creating a Custom Java Service Request

You can create a service request that uses custom Java to execute a custom process or to route data into another database. Before you can create a custom Java service request, you must create the custom Java as described in Chapter 8, "Creating Custom Java for Orchestrations" in this guide.

  1. Access the Service Requests design page from the Orchestrator Studio Home page.

  2. On the Service Requests design page, click the New Custom Java button.

  3. On the Service Request design page, enter a name for the custom Java service request.

    Do NOT include spaces in the name.

  4. Click the Edit Description button to enter a description for the custom Java service request.

  5. In the Class field, enter the Java class.

    This is the custom Java class that you created to use for the service request.

  6. Complete the following fields:

    • Attribute. Enter the name of the field in the class.

    • Input Value. Enter the input variable name. If the attribute is a boolean and you pass in "true", then you could use a default value.

    • Default Value. Enter a default, hard-coded value if there is no mapped value. You can also add a hard-coded value to use if the mapped value returns a null.

  7. If you make a mistake, you can click the Restore Custom Java button which refreshes the custom Java rule to its last saved state.

  8. Click the Save button.

    The Orchestrator Studio saves the custom Java request. You can then access the orchestration in the Orchestration design page and add this custom Java service request as a step in the orchestration.

E.5 Creating Rules

This section contains the following topics:

E.5.1 Understanding Rules

A rule contains conditional logic that the Orchestrator uses to evaluate conditions, such as true or false conditions that determine how the orchestration processes the incoming data. You can define a rule with a list of conditions or you can define a more complex rule using a custom Java class. For more information about using a custom Java class for rules, see Chapter 8, "Creating Custom Java for Orchestrations" in this guide.

An orchestration rule functions similar to an EnterpriseOne query in that each rule has:

  • A "Match Any" or "Match All" setting.

  • One or more conditions defined, each being a binary operation on two values.

After creating a rule and adding it to an orchestration, you use the Action column in the Orchestration design page to determine the orchestration step that is invoked when the conditions in the rule are met. See Defining the Actions Between a Rule and Dependent Components for more information.

E.5.2 Creating a Rule

Create a rule component to define the conditions for an orchestration.

  1. Access the Rules design page:

    • On the Orchestrator Home page, click the Rules icon. And then on the Rules design page, click the New Rule button.

      OR

    • After adding a Rule step to the grid in the Orchestration design page, click the Edit button next to the step.

    The Orchestrator Studio displays the Rule design page.

  2. In the Rule field, enter a name for the rule.

    Do not include any spaces in the rule name.

    As an alternative, you can create a new rule by copying an existing rule. To do so:

    1. Access the Rules design page from the Orchestrator Studio Home page.

    2. On the Rules design page, select an existing rule from the list of rules and then click the Copy Rule button.

    3. In the pop-up window, enter a name for the rule in the New Rule field.

    4. Click Continue.

  3. Click the Edit Description (pencil icon) button to enter a description for the rule, and then click OK.

  4. Select the Match Value drop-down menu and select one of the following values:

    • Match All. Select this option if all conditions in the rule must be met.

    • Match Any. Select this option if any conditions in the rule can be met.

  5. In the first row in the grid, complete the following columns to add a condition:

    • Rule Type. Click the drop-down menu and select String, Numeric, or Date depending on the format of the input.

    • Value 1. Enter a variable for the input name.

    • Operator. In the drop-down menu, select from the list of operands which include: >, <, >=, <=, =, !=, startsWith, endWith, contains, between, inList.

    • Literal. Click this check box to indicate a literal value.

    • Value 2. If you selected the Literal check box, manually enter a value.

    • Literal Value Type. If you selected the Literal check box, click the drop-down menu and select the format of the literal value: string, numeric, data.

  6. Add additional conditions to the rule as needed. If you add a condition by mistake, you can delete it by clicking the Remove button at the end of the row with the condition.

  7. Click the Save button.

    After adding a rule and a service request to an orchestration, you must define the actions for the rule and service request in the Orchestration design page. See Defining the Actions Between a Rule and Dependent Components for more information.

E.5.3 Adding a Custom Java Rule

You can create custom Java for a rule and then add it to an orchestration as a rule, which is referred to as a custom Java rule. Before you can add a custom Java rule to an orchestration, you must create the custom Java as described in Chapter 8, "Creating Custom Java for Orchestrations" in this guide.

To add a new custom Java rule:

  1. Access the Rules design page from the Orchestrator Studio Home page.

  2. On the Rules design page, click the New Custom Java button.

  3. In the Rule field, enter a name for the custom Java rule.

    Do NOT include spaces in the custom Java rule name.

  4. In the Class field, enter the path to the Java class, which includes the name of the Java class.

    This is the custom Java class that you created to use for the rule.

  5. Complete the following fields in the grid:

    • Attribute. Enter the name of the field in the class.

    • Input Value. Enter a variable for the input name. If the attribute is a boolean and you pass in "true", then you could enter a hard-coded default value.

    • Default Value. Enter a hard-coded value if there is no mapped value. You can also add a hard-coded value to use if the mapped value returns a null.

  6. If you make a mistake while configuring any of the fields, you can click the Restore Rule button which refreshes the custom Java rule to its last saved state.

  7. Click the Save button.

E.6 Creating Cross References

This section contains the following topics:

E.6.1 Understanding Cross References

The Orchestrator uses a cross reference component to map incoming data (third-party data) to an EnterpriseOne value. The EnterpriseOne value identified in the cross reference is considered the output of the cross reference. The output from the cross reference becomes the data passed to another orchestration step.

For each cross reference that you create in the Orchestrator Studio, you have to create a cross reference record in P952000 in EnterpriseOne. When defining cross reference records for orchestrations in P952000, you must use the "AIS" cross reference type. For more information on how to create these cross reference records in P952000, see Chapter 5, "Setting Up Cross References and White Lists in EnterpriseOne (P952000)" in this guide.

Note:

If a cross reference lookup fails in an orchestration, the orchestration is terminated.

E.6.2 Creating a Cross Reference

You must define the orchestration inputs before you can create a cross reference. See Adding Inputs to an Orchestration for more information.

To create a cross reference:

  1. Access the Cross Reference design page:

    • On the Orchestrator Home page, click the Cross References icon. And then on the Cross References design page, click the New Cross Reference button.

      OR

    • After adding a Cross Reference step to the grid in the Orchestration design page, click the Edit button next to the step.

    The Orchestrator Studio displays the Cross Reference design page.

  2. In the Cross Reference field, enter a name for the cross reference.

    Do NOT include spaces in the cross reference name.

  3. In the Object Type field, enter a name for the object type.

    This is the object type used to categorize the orchestration cross references in EnterpriseOne. See "Adding Orchestration Cross References" in the JD Edwards EnterpriseOne Tools Interoperability Guide for more information.

  4. Complete the Input Key and Output Key columns to map the inputs to EnterpriseOne fields:

    • Input Key. The inputs can be one or many values. The inputs must correspond to the value or pipe (|) delimited values in the Third Party Value column in P952000.

    • Output Key. The outputs can be one or many values. The outputs must correspond to the value or pipe (|) delimited values in the EOne Value column in P952000.

  5. If you enter any values by mistake, you can click the X button next to the field to delete the entry.

  6. Click the Save button.

    The Orchestrator Studio saves the new cross reference component.

    The output values in the cross reference are now available for mapping in subsequent orchestration steps.

You can also create a new cross reference by copying an existing cross reference. To do so:

  1. Access the Cross References design page from the Orchestrator Studio Home page.

  2. Select an existing cross reference from the list of cross references, and then click the Copy Cross Reference button.

  3. In pop-up window, in the New Cross Reference field, enter a name for the new cross reference.

    Do not include spaces when naming orchestration components.

  4. Click Continue and then modify the cross reference as necessary.

E.7 Creating White Lists

This section contains the following topics:

E.7.1 Understanding White Lists

A white list contains a list of IDs permitted in the Orchestrator. By adding a white list to an orchestration, only inputs with IDs listed in the white list are permitted for processing by the Orchestrator. You add a white list component as a step in the orchestration.

In addition to specifying the permitted IDs in the white list, you must also specify the white list IDs in P952000 in EnterpriseOne. This is the same application that you use to set up and store orchestration cross references. As with cross references, use the "AIS" cross reference type in P952000 for a white list. In P952000, the Third Party App ID should have a value of WHITELIST. The EnterpriseOne value is not used for white lists and will default to NA.

If a white list lookup fails in an orchestration, the orchestration is terminated.

E.7.2 Creating a White List

  1. Access the White List design page:

    • On the Orchestrator Home page, click the White Lists icon. And then on the White Lists design page, click the New White List button.

      OR

    • After adding a White List step to the grid in the Orchestration design page, click the Edit button next to the step.

    The Orchestrator Studio displays the White Lists design page.

  2. In the White Lists design page, click the New White List button.

  3. In the White List, enter a name for the white list.

    Do NOT include spaces in the white list name.

  4. In the Object Type field, enter a name for the object type.

    The value you enter in the Object Type field must match a cross reference object type in the EnterpriseOne Business Services Cross Reference application (P952000).

    The cross reference object type is a named group of records in P952000. For example, you may have thousands of records in P952000. You can use cross reference object types, for example "Equipment" or "Alert_Notification_Recipients" to group cross reference records into manageable categories. You define the cross reference object types as needed. See Chapter 5, "Setting Up Cross References and White Lists in EnterpriseOne (P952000)" for more information.

  5. In the Input Key column, enter the input that you want to add as a permitted input.

  6. Click the Save button.

You can also create a new white list by copying an existing white list. To do so:

  1. After accessing the White Lists design page from the Orchestrator Studio Home page, select an existing white list from the list of available white lists.

  2. Click the Copy White List button.

  3. In the pop-up window, enter a name for white list in the New White List field.

    Do NOT include spaces in the white list name.

  4. Click the Continue button and then modify the white list as necessary.

E.8 Creating Orchestrations

This section contains the following topics:

E.8.1 Understanding Orchestrations

Creating an orchestration in the Orchestrator Studio involves:

  • Naming the orchestration and specifying the input format for the orchestration.

    The input format can be JDE Standard, Oracle Cloud IoT, or Generic. See Supported Input Message Formats for more information about which input format to use.

  • Adding inputs to the orchestration.

    The inputs define the data passed from the device to the orchestration. This may include an ID that identifies the device as well as other data that the orchestration will receive from a device, such as temperature, date, or any other data you want to capture. Each input has a name and a type which can be string, numeric, or various date formats.

  • Adding steps to the orchestration.

    Each step is a component of the orchestration: a service request, rule, cross reference, or white list. At a minimum, an orchestration requires only a service request step, which provides the actions or the instructions to perform a particular task in EnterpriseOne.

E.8.2 Creating an Orchestration

To create an orchestration:

  1. On the Orchestrator Studio Home page, click the Orchestrations icon.

  2. On the Orchestrations page, click the New Orchestration button.

  3. On the Orchestration design page, enter a unique name for the orchestration in the Orchestration field.

    Do NOT use spaces when naming the orchestration.

  4. Click the Edit Description (pencil icon) button to complete the Description field, and then click OK.

    You can use this field to describe the purpose of the orchestration and any details that differentiate the orchestration from other orchestrations that you create.

  5. Click the Input Format drop-down menu and select the appropriate format:

    • JDE Standard (default)

    • Oracle Cloud IoT

    • Generic

    See Supported Input Message Formats for more information about which input format to use.

  6. At this point, you can click Save All before defining inputs or steps for the orchestration.

    The Orchestrator Studio saves the orchestration. Next, add inputs to the orchestration as described in the Adding Inputs to an Orchestration section.

You can also create a new orchestration by copying an existing one and renaming it.

To create a new orchestration by copying another orchestration:

  1. On the Orchestrations page, select an orchestration to copy from the list of orchestrations and then click the Copy Orchestration button.

  2. In the New Orchestration field in the pop-up dialog box, enter a name for the orchestration.

  3. Click Continue.

    Caution:

    If you create a copy of an orchestration, only the orchestration is copied. The Orchestrator Studio does NOT create a copy of the components that are associated with the orchestration's steps. That is, both the original orchestration and the new orchestration use the same components that comprise the orchestration. Therefore, in the new orchestration, do NOT modify the components in any way that would break other orchestrations that use the same components.

E.8.3 Adding Inputs to an Orchestration

Orchestration inputs identify the data an orchestration consumes from external devices. In the orchestration, you enter names for the inputs. For example you can enter "SensorID" to pass a sensor ID value to an orchestration and you can enter "TemperatureReading" to pass a temperature value to the orchestration.

You also use these orchestration inputs to configure other components used by the orchestration, such as a service request, rule, white list, or cross reference. For example, if the orchestration requires a rule, you use the orchestration inputs to define the conditions for the rule. If an incoming value from the device does not match an EnterpriseOne value, you can create a cross reference that uses the orchestration input to map third-party data to data in Enterpriseone.

To add the orchestration inputs:

  1. In the first empty row in the Orchestration grid, enter the name of the input in the Input column.

  2. In the Value Type column, select the input value type. Valid values are:

    • String

    • Numeric

    If the input is a date, you can use any of the following date formats:

    • dd/MM/yyyy

    • dd/MM/yy

    • yyyy/MM/dd

    • MM/dd/yyyy

    • MM/dd/yy

    • yy/MM/dd

    You can also use the following date formats, which create additional inputs derived from the passed value:

    • Milliseconds

    • yyyy-MM-dd'T'HH:mm:ss.SSSZ

  3. Click Save All to save your changes.

E.8.4 Adding Steps to an Orchestration

When you add a service request, rule, cross reference, or white list to an orchestration, you add it as a step in the orchestration. It is recommended that you create the component before adding it as a step in an orchestration.

The Orchestrator Studio provides "Insert Step Before" and "Insert Step After" buttons so you can add a step before or after another step in the orchestration. Therefore, you do not have to determine whether or not you need to add a particular step, such as a white list, to an orchestration before you add other steps.

Figure E-8 shows an orchestration that contains multiple rules, cross references, and service requests, which are displayed in the grid on the Orchestration design page:

Figure E-8 Steps in the AddConditionBased Alert Sample Orchestration in the Orchestrator Studio

Description of Figure E-8 follows
Description of ''Figure E-8 Steps in the AddConditionBased Alert Sample Orchestration in the Orchestrator Studio''

In the grid, the Type column shows the type of step and the Name column shows the name of the component for the orchestration step. The "True" or "False" values in the Action column determine the actions the orchestration performs based on the conditions set in the rules. See Defining the Actions Between a Rule and Dependent Components for information about defining the actions in an orchestration.

To add steps to an orchestration:

  1. To add the initial step to an orchestration, click the Add Step button (+ symbol).

  2. In the "Enter Type of Step" pop-up field, select one of the following steps to add to the orchestration, and then click the Ok button.

    • Cross Reference

    • Rule

    • Service Request

    • White List

    The Orchestrator Studio displays the first step in the grid.

  3. Add a component to the step:

    1. To use an existing component for the new step, click the drop-down menu in the Name column and select a component.

    2. To create a new component for the step, click the Edit button (pencil icon) at the end of the row to access the design page for creating the new component. After creating the component, when you return to the Orchestration design page, you will need to select the component from the drop-down menu in the orchestration steps grid to add it.

    See the appropriate topics in this chapter on how to create the orchestration components.

  4. In the Transformations area on the right side of the page, configure the transformations for each orchestration step as described in the Configuring Transformations section.

  5. To add additional steps to an orchestration:

    1. Select a step in the grid, and then click either the Insert Step Before or Insert Step After button to add an additional step before or after the selected step.

    2. In the "Enter Type of Step" pop-up dialog box, select the step that you want to add.

    3. Click the Ok button.

To remove a step from an orchestration:

Caution:

Before you delete a step, make sure the step is not used by any other component in the orchestration.
  1. Select the step that you want to remove.

  2. Above the grid with the steps, click the Remove Step button (the X button).

If you make a mistake when updating an orchestration, click the Restore All button in the upper-right corner of the design page to restore the orchestration to its last saved version, which erases any changes made since the last save.

E.8.4.1 Defining the Actions Between a Rule and Dependent Components

The Orchestration design page contains an Action column for defining the actions between a Rule step and other orchestration steps in an orchestration. After you create a rule with conditions and add it as a step to an orchestration, you need to define the action the orchestration takes if the condition in the rule is met. For example, if a rule contains a condition that when met should invoke a Service Request step, then in the Service Request step row, you need to set the Action column to True.

You can also define a False action to invoke a different orchestration step when a condition in the initial rule is NOT met. A False action can invoke a different Service Request step or another Rule step that contains additional conditions for which the incoming data is evaluated against. Thus, you can design an orchestration with as many rules and service requests as your business requirements necessitate.

Figure E-9 shows an example of an orchestration with two Rule steps and two Service Request steps, with the following defined actions:

  • For the first Service Request step, the action is set to True to instruct the orchestration to invoke this Service Request step when the condition in the first Rule step is met.

  • The action for the second (nested) Rule step is set to False to instruct the orchestration to invoke this rule when the condition in the first rule is NOT met.

  • The action for the second Service Request step is set to True to instruct the orchestration to invoke this service request when the condition in the second rule is met.

Figure E-9 Defining the Orchestration Actions

Description of Figure E-9 follows
Description of ''Figure E-9 Defining the Orchestration Actions''

To set the Action column to True or False:

  1. In the Orchestration design page, in the appropriate Rule or Service Request step row, click in the Action column.

  2. Select either True or False as appropriate.

  3. Click the Save button.

    After completing the orchestration, you should use the Orchestrator Client to test the orchestration in a test environment. You can access the Orchestrator Client from the drop-down menu in the upper-right corner of the Orchestrator Studio. See Chapter 10, "Testing Orchestrations in the EnterpriseOne Orchestrator Client" for more information.

E.8.5 Configuring Transformations

Use the Transformations area on the Orchestration design page to map orchestration inputs to inputs defined in an orchestration step, such as inputs in a rule, cross reference, white list, or service request component. The Transformations area contains an Auto Map button that you can use to automatically associate orchestration inputs to matching inputs defined in an orchestration step.

If an orchestration and an orchestration component use different input names to identify the same data, you can use the grid in the Transformations area to map the inputs. This facilitates the reuse of components, so you can avoid having to create additional orchestration components when an orchestration input name (input from a device) does not match the input name defined in an orchestration step.

To better understand how you use transformations, consider the following scenario which is depicted in Figure E-10:

  • You have an existing service request that creates alerts in the EnterpriseOne Condition-Based Alerts Revisions application (P1311). This service request includes an input called EquipmentNumber that is mapped to the Asset Number field in P1311.

  • You want to reuse this service request as a step in a new orchestration, but the new orchestration will consume data from devices that supply the EquipmentNumber as "SerialNumber."

  • To reuse the existing service request designed to consume data labeled as EquipmentNumber, in the new orchestration, you can create a transformation to pass the SerialNumber input to the EquipmentNumber input in the service request.

  • Create the new orchestration with SerialNumber as one of the inputs, and then add the existing service request as a step.

  • When you click the Service Request step in the orchestration steps grid, the Service Request column in the Transformations table displays all of the inputs defined in the service request. Notice in Figure E-10 that EquipmentNumber, not SerialNumber, is defined as an input in the Service Request Input column.

  • Next, you click the Transformations Auto Map button, which automatically maps the matching inputs. Figure E-10 shows the SiteNumber, Latitude, and Longitude inputs in the Orchestration Input column, which were populated automatically after the Auto Map button was selected.

  • Finally, to map the SerialNumber input in the orchestration to the EquipmentNumber input in the service request, you click the drop-down menu in the Orchestration Input column and select SerialNumber, as shown in Figure E-10.

Figure E-10 Transformations Example

Description of Figure E-10 follows
Description of ''Figure E-10 Transformations Example''

Initially, when you have a small number of orchestrations in your system, it is recommended to keep all input names consistent among the orchestration and all components (orchestration steps) used by orchestration. But as your library of orchestrations and orchestration components increases, instead of creating new components with input names that match the orchestration inputs, you can use transformations to map the orchestration inputs to an existing component.

To create transformations:

  1. In the Orchestration design page, select an orchestration step for which you want to configure transformations.

  2. Click the Transformations Auto Map button to map matching input names. Matching inputs automatically appear in the Orchestration Input column next to the matching input in the "<orchestration step> Input" column.

  3. To map an orchestration input name to a non-matching input name in an orchestration step:

    1. In the Transformations table, select the drop-down menu in the appropriate Orchestration Input row.

    2. Select the orchestration input to map to the input name for the orchestration step.

    For example, in Figure E-10, SerialNumber is mapped to EquipmentNumber in the Service Request Input.

E.9 Reloading Orchestrations and Orchestration Components

The Reload Files feature enables you to reload orchestrations and orchestration components to the state in which they were last saved in the Orchestrator Studio. Use the Reload Files feature if you do not want to save any modifications that you made.

To reload all files, click the drop-down menu in the upper-right corner of the Orchestrator Studio and then click the Reload Files link.

Each individual orchestration component panel also contains a Restore button that you can use to restore an individual component.

E.10 Setting up Orchestration Security

Before the EnterpriseOne Orchestrator can process an orchestration, authentication of the JD Edwards EnterpriseOne user ID and password must take place. It is the responsibility of the originator of the service request to tell the orchestration about the user. The user's credentials must be supplied in a basic authorization header or in the JSON body of the request. The user must also have authorized access to the EnterpriseOne application in which the resulting transaction takes place. The following code is an example of credentials in the JSON body of the request:

{
                "username":"JDE",
                "password":"JDE",
                "environment":"JDV900",
                "role":"*ALL"
}

The AIS service used with orchestrations is stateless; each call passes credentials to establish a separate EnterpriseOne session. After the transaction is complete, the session closes.

In addition to passing credentials for authentication, you can employ a second level of security for the Orchestrator through whitelisting. Whitelisting enables an initial rudimentary pass/fail check of the incoming device signature against a predefined list of signatures. A white list provides an additional layer of security to the Orchestrator security. If a value passed to the Orchestrator is not a valid value included in the orchestration's white list, the Orchestrator rejects the input. For more information, see Creating White Lists.

E.11 Exporting Files from the Orchestrator Studio

Each component design page in the Orchestrator Studio includes an Export File button for exporting an orchestration component. The Orchestrator Studio exports orchestration components as XML files in a zip file.

When you export an orchestration, the Orchestrator Studio gives you the option to either export only the orchestration component or the orchestration component and all components associated with the orchestration.

To export an orchestration:

  1. On the design page for the component, click the Export File button in the upper-right corner.

    If you are exporting an orchestration, a pop-up dialog box appears in which you can click All or Orchestration Only.

  2. Follow the instructions in the browser to save the file to a location on your local machine.

E.12 Importing Orchestration Files in the Orchestrator Studio

All orchestrations and orchestration components are saved as XML files on the AIS Server. The Orchestrator Studio provides an Import Files tool for importing orchestration files into your current environment, whether it is a production environment or test environment. You can use this feature along with the Export tool to import and export files between a test and production environment.

To import files:

  1. On the Orchestrator Studio Home page, click the Tools link in the upper-right corner.

  2. On the Tools page, click the Import Files icon.

  3. On Import Files, click the Choose File button.

  4. Browse and locate the orchestration files in your local file system.

    After selecting one or more files to import, the Orchestrator Studio displays the files on the Import Files page.

  5. Click the check box next to each file to confirm the file for submission, or you can click the Select All check box to select them all.

  6. Click the Submit button.