1 Understanding the JD Edwards EnterpriseOne Orchestrator

This chapter contains the following topics:

1.1 JD Edwards EnterpriseOne Orchestrator Overview

The JD Edwards EnterpriseOne Orchestrator is a key component of your JD Edwards digital platform. It can transform the EnterpriseOne system from a transaction-based system of records into a system that provides a dynamic reflection of your real-time business operations. Orchestrations provide access to your EnterpriseOne data and applications as services-technically, industry-standard REST services-which you can easily create using the Orchestrator Studio. Internet-connected devices, third-party applications, Cloud services, mobile devices, and even EnterpriseOne itself, can invoke these services and take advantage of the business data and EnterpriseOne application functionality in your system. It all happens within the framework of user-defined objects, not custom-developed objects that need to be built into packages, deployed, and retrofitted during upgrades. All orchestrations are subject to EnterpriseOne application, data, and user-defined object security.

The basic framework of orchestrations as REST services enables a wide variety of usage patterns that provide secure access to your EnterpriseOne business data and applications. For example:

  • Internet of Things. Devices such as equipment, sensors, or meters can invoke orchestrations that, in turn, run EnterpriseOne applications. For example, an Internet-connected meter could send readings directly to the EnterpriseOne Meter Reading application.

  • Integrations. Third-party systems and Cloud services can invoke orchestrations as REST-based services, allowing for easy and lightweight integrations. For example, a sales order could be created in a third-party CRM system, which could then invoke an orchestration to create a matching sales order in EnterpriseOne. Conversely, orchestrations can also make outbound calls to other REST services. For example, an orchestration could use the information in a sales order to call out to a third-party transportation system to get a shipping quote.

  • Mobile Applications, Chatbots, and Alternative User Interfaces. Orchestrations can be used as services to send and receive data between user interfaces and EnterpriseOne. You can use your preferred development framework to build the user interface itself and let orchestrations do the work of exchanging data with EnterpriseOne.

  • Process Automation and Simplification. Some business processes in EnterpriseOne comprise many steps. In some cases, those steps are connected and sequentially ordered to form a continuous flow across applications; in other cases, the steps are not connected. In such cases, the end user must know which applications to use and in which order. Using form extensions you can also invoke orchestrations directly from EnterpriseOne application forms, thus extending the functionality of the applications without custom modifications.

  • Notifications. As an extension of the Orchestrator framework, notifications can assess your EnterpriseOne data, and also any REST-enabled external service, to detect conditions or events that need attention. Messages are then sent out to subscribers who need to know that an event has occurred that requires attention. The messages can contain action links to help the recipients act quickly with an appropriate response.

  • Scheduled Orchestrations. The Orchestrator includes a built-in Scheduler that allows you to automate when the orchestrations run. For example, orchestrations can continually check your EnterpriseOne system for events such as credit limit violations, late shipments, large sales orders, or any other condition that impacts your business.

  • System Administration. Because the Orchestrator can make outbound calls to REST services, and the JD Edwards Server Manger is enabled with REST services, the two can be combined to automate a wide variety of monitoring and administrative activities.

The Orchestrator Studio is a web-based application that business analysts and technical developers alike will use to create, test, and deploy orchestrations and notifications. The Orchestrator Studio provides an intuitive and easy-to-use graphical interface that enables you to develop and deploy orchestrations without the need for programming or system administration skills, or development. You can even build services by turning on the Process Recorder in EnterpriseOne and then using the applications as you normally would. The Process Recorder captures your steps enabling you to turn those steps into an orchestration using the Orchestrator Studio, all without programming or technical skills.

With the Orchestrator Studio, you can create orchestrations that enable the transformation of data from disparate devices into actionable business processes in JD Edwards EnterpriseOne. For example, you can create orchestrations that enable EnterpriseOne to:

  • Alert users when the inventory is low.

  • Alert users when an equipment is down.

  • Send an alert when a customer has reached the credit limit.

  • Automatically create sales orders.

  • Onboard employee records into the system.

  • Check on the health of an instance of a server.

Using the Orchestrator you can now transform how you use your EnterpriseOne system to:

  • Collect, filter, analyze, and act on real-time data as it is being transmitted by various sources such as a machine, a mobile app, a Cloud service, and any third-party applications and devices.

  • Eliminate costly and error-prone manual processes, by reacting to-or avoiding-business disruptions in real time, and by analyzing historical data for continuous process improvement.

  • Integrate with external systems and Cloud services, enabling your EnterpriseOne system to send and receive data for integrated business processes.

  • Free your EnterpriseOne users from tedious tasks by transforming manual EnterpriseOne business processes into automated operations that meet your specific business needs.

  • Empower your EnterpriseOne system to run orchestrations automatically on schedule.

1.1.1 Invoking Orchestrations and Notifications from an EnterpriseOne Interactive Application Using Form Extensibility

You can use the form extensibility framework to invoke orchestrations from an interactive application by associating orchestrations with the events on an EnterpriseOne form. You can also associate notifications with the events on a form, invoke orchestrations in the synchronous mode, and map orchestration outputs to the form controls if any output has been defined for the orchestration. For more information, see "Extending EnterpriseOne Forms by Associating Orchestrations with Events (Release" in the JD Edwards EnterpriseOne Tools Using and Approving User Defined Objects Guide.

1.1.2 Invoking Orchestrations and Notifications from an EnterpriseOne Interactive or Batch Application

EnterpriseOne provides the B98ORCH business function for invoking an orchestration or notification from an event in EnterpriseOne. This capability enables developers to configure EnterpriseOne to automatically launch an orchestration or notification from one of the following events:

  • An event on a form, such as a button or a field

  • A report (UBE)

  • A table trigger

  • Anywhere you would invoke a business function

With the B98ORCH business function, you can extend EnterpriseOne applications beyond transactional boundaries by linking disparate ERP tasks into a single automated business process. Alternatively, you can enable an EnterpriseOne application to automatically pass data to a REST-enabled third-party application through an orchestration or automatically send notifications to a group of users.

For more information, see "Configuring the B98ORCH Business Function to Invoke an Orchestration or Notification" in the JD Edwards EnterpriseOne Tools APIs and Business Functions Guide.

1.2 How It Works

When you create and save an orchestration in the Orchestrator Studio, it automatically becomes a published REST service. The name of an orchestration is used to define an endpoint on the AIS Server. The endpoint URL is


To invoke an orchestration, calling applications or devices use a post operation to this URL, where <orchestrationname> is the name of your orchestration. The post operation must include security parameters that enable access to the orchestration and any EnterpriseOne application invoked by the orchestration. See Orchestration Security Considerations for more information.

The illustration in Figure 1-1 shows how the EnterpriseOne Orchestrator processes orchestrations. This illustration depicts an orchestration that includes rules, cross-references, form requests, and a connector to a notification.

Figure 1-1 EnterpriseOne Orchestration Processing

This image is described in surrounding text.

An external client, which might be a third-party application, a Cloud service, an IoT device, a mobile application, the Scheduler, or anything that is capable of sending a REST request, will invoke the orchestration by its endpoint address and provide the necessary inputs in the body of the REST request.

You can use the following Orchestrator components as building blocks in any order and in any combination to create orchestrations that are as simple or complex as your service requires.

  • Orchestration. An orchestration is the high-level object that defines the name of the orchestration (the REST endpoint), the inputs, the outputs (REST response), and the order and structure of the other components listed below.

  • Service request. A service request is a general term for an orchestration component that provides some actual service or "work." As such, service requests are the essential components of an orchestration. The types of service requests are listed below.

    • Form request: A form request invokes one or more EnterpriseOne application forms. You use this type of request to automate EnterpriseOne applications. You can create a form request in the Orchestrator Studio, or you can use the Process Recorder to record your actions in EnterpriseOne and then edit the resulting form request in the Orchestrator Studio. Form requests can use EnterpriseOne applications to read data and also to write data back to EnterpriseOne tables just as a human user would.

    • Data request: A data request reads data from any EnterpriseOne table or business view. You can provide inputs into a data request so that it performs certain steps, for example to filter data, and return back data sets (arrays) or aggregations such as sums or averages. Data requests are read-only components.

    • Report: A report request will run any EnterpriseOne report (UBE). You can specify inputs, for example, the report version, data selection, and data sequencing. The report will execute as if a human user had submitted the report in EnterpriseOne. The report request can return the server and job number of the report for use in subsequent orchestration steps.

    • Watchlist: A Watchlist request will return all the information that is available about a Watchlist, including the number of rows (that is, the number that is shown in the badge of a Watchlist), whether that number has triggered a warning or critical threshold, and other Watchlist parameters.

    • Connector: Orchestrations can invoke other orchestrations or notifications. A connector request is used as the step within a main orchestration to invoke another orchestrations or notifications. Connector requests are also used to invoke external REST services, external databases, and File Transfer Protocol (FTP) sites for sending and receiving documents.

    • Custom request: A custom request enables you to use the Groovy scripting language or Java to create an orchestration step that performs any service that you can conceive and develop.

    • Message: A message request allows you to send an e-mail message to one or more recipients. You can create the subject and body of the message, including text substitution variables that are populated from previous orchestration steps. The message can include links to EnterpriseOne applications, links to external URLs, links that launch other orchestrations or notifications, and attachments.

  • Rule. A rule contains a set of conditions against which the orchestration input or values from orchestration steps are evaluated to produce a true or false state. Rules can be nested to produce complex evaluations. Rules determine how the orchestration is processed at runtime. You can also build custom rules using Groovy or Java that enable you to define complex rules..

  • Cross reference. A cross-reference is a set of data relationships defined by the designer of the orchestration that enriches the minimal input from devices. For example, the serial number of a device can be cross-referenced to an EnterpriseOne equipment number for use in service requests.

  • White list. A white list is an initial rudimentary pass or fail check of the incoming message's device signature of the incoming message against a predefined list of signatures. A white list provides an additional layer of security to the Orchestrator security..

  • Schedule. A schedule is a definition of the frequency at which an orchestration or notification will automatically run. A schedule is its own user defined object, enabling you to reuse common schedules, such as "once per day" or "once per hour." The Orchestrator Studio enables you to define simple schedules easily. You can also use the CRON syntax to define more complex schedules, such as "every Monday at 8:00 am."

1.3 EnterpriseOne Architecture for Orchestrator

The Orchestrator uses the JD Edwards EnterpriseOne Application Interface Services (AIS) Server as its foundation. The AIS Server is a REST services server that when configured with the EnterpriseOne HTML Server, enables access to EnterpriseOne forms and data. The Orchestrator processes orchestrations saved to the AIS Server to transfer data between EnterpriseOne and third-party applications and devices.

For an illustration of the AIS Server architecture, see "AIS Server Architecture" in the JD Edwards EnterpriseOne Tools System Overview Guide.