Orchestrator as an Integration Framework
As of July 2023, Orchestrator is 8 years old! To join in the birthday celebration, enjoy this blog post on Orchestrator integrations.
Throughout its lifetime, Orchestrator has proven to be a powerful and versatile tool. In fact, it’s evolved into a Swiss Army Knife which can be used as an integration middleware platform, standalone RPA system, web services tool, frontend to mobile applications, and the list goes on.
At Quest’s conference, BLUEPRINT 4D, in May 2023, Oracle’s AJ Schifano, Nicole Laurent, and Aaron Johnson shared Orchestrator’s integration competencies.
Orchestrator Features for Integrations
When you’re faced with an Integration, Orchestrator is the natural first choice. It’s quick, easy, and cheap compared to other methods.
Orchestrator features that are most critical for integrations include:
- building REST APIs
- invoking external REST services
- renaming outputs
- manipulating outputs
- creating custom messages
- using Discovery Service or Swagger / OpenAPI 3.0
- manipulating an OpenAPI document
Orchestrator Integration Features in Greater Detail
From a business analyst standpoint, Orchestrator gives you expanded control over naming and management of outputs. You can build a response with name-value pairs and create one or more arrays with name-value pairs.
Customized parsing is as easy as flipping a few switches, so working with Orchestrator and the JD Edwards side of the integration becomes a very friendly experience.
If you need to create a more complicated output, like nested objects, the Manipulate Outputs tab allows you to write a script to change the output returned.
For instance, let’s say an end user needs to know the outcome of an orchestration, and asking them to decipher a JSON/XML response is not feasible. With the Custom Message feature, you can include a readable message as part of the orchestration response to show the end user when the orchestration completes. The message is always named jde_simpleMessage and is defined based on whether the orchestration succeeded or failed. The custom message can be crafted using any of the non-array data available in the orchestration.
Orchestrator also enables you to use Discovery Service, which returns a list of all orchestrations available for a user including input and output definitions in a proprietary format. Alternatively, you could choose Swagger/OpenAPI 3.0, which returns a list of all orchestrations in a standard format (rather than proprietary). This is used by many integration tools like Oracle Integration.
Lastly, you may use Orchestrator to manipulate an OpenAPI document. If you use a script to change the output, you can also include an example output to override the generated version, so the document reflects the actual output of the orchestration.
Orchestrator Quick Tips & Tricks
Security and Authentication with External Systems: How do other systems call EnterpriseOne?
When it comes to security related to your orchestrator integrations, all communications to the AIS Servers are made using REST over HTTP, and there are four authentication methods supported:
- Username/Password – EnterpriseOne Username and Password are passed in the body of the request.
- Basic Authentication – A basic authentication with the EnterpriseOne username and password is passed in the Authentication header of the request.
- PS Token – PS Token is passed in the body of the request.
- JWT (Java Web Token) – JWT token is passed in the Authentication header as a Bearer token.
Additionally, if you’d like to add an extra measure of security by setting up partial access for some users, you may do so by selecting Service-Only. This enables the user to run Studio and call AIS Services, but they cannot sign on to the web clients as a typical end user would.
Authentication for External Calls from AIS: How does EnterpriseOne call other systems?
For external calls, all available authentication methods are based on connection type:
- For REST/Open API connections, authentications include Basic Auth, OAuth 2.0 Client Credential, Client Certification (X.509), and Headers.
- For Database connections, authentication comes through username/password for JDBC.
- For FTP, authentication involves username/password or SSH Key.
It’s possible to call APIs with other authentication mechanisms, but scripting may be necessary.
Integration Patterns: Batch versus Transactional
Prior to 2010, an integration with JD Edwards required “big bang” overnight z-table uploads. This was effective, but with a web services architecture, you may now fire off a continuous, real-time transaction. Real-time transactions aren’t necessarily the best pattern for every use case, but it’s worth investigating for your needs.
Error Handling and Monitoring
Exception Handling is available on every step in the Orchestration. You can write your own message and then choose to either abort or continue with the action. You may also send a notification related to the error.
Furthermore, some systems are able to monitor exceptions as they occur. If your system is enabled for the AIS Server, it will write records for the E1, logging all of the failures. You can see all of your orchestrations and how they are executing, how long they’re taking, and how many times they’re called. Additionally, individual exception handling records will show exactly which orchestration failed, the outputs and inputs at the time of failure, and who was running it. This provides greater insight for any integrations relying on these orchestrations.
In the future, Oracle plans to provide even more information about regular and successful executions.
When considering architecture for your Orchestrator integrations, you’ll want to consult with your trusted partner.
In addition to the guidance they provide, keep these tips in mind:
- Orchestrator is doing JD Edwards work. Just because it’s not a person, doesn’t mean it won’t need server resources. Requests to AIS involve many layers of communication with many different servers (AIS, HTML, Enterprise, Database).
- Do performance sizing before you go live. Sizing of ALL the servers is important to successfully process high volume or high throughput orchestrations.
- Clustering is inevitable. Even though there may not be high throughput or load on the AIS Server, you will probably want at least two servers for fault tolerance.
- If you’re facing problems, memory is the first place to check. For large payloads, make sure to allocate enough memory to each server.
The Great Debate: Middleware or No Middleware
If you hang out around business analysts long enough, you will inevitably face the great debate: Can JD Edwards interact with third parties without going through Middleware first?
Answer: While there are great reasons to go through Middleware, it is possible to build an integration with a third-party system using nothing but Orchestrator. Several partners are currently doing this very thing, both inbound and outbound.
At the same time, Integration Middleware can add much value to your environment, including centralization, encryption, protocol translation, error handling, identity management, futureproofing, and more.
To learn even more about Orchestrator integrations, watch the full BLUEPRINT 4D presentation here: No ERP is an Island: Orchestrator as an Integration Framework. The Oracle integration and orchestrator demo begins at timestamp 52:28. For more information about Orchestrator, check out the Orchestrator Content Center.