Thursday, July 21, 2022

Process Cloud Service in Oracle Integration cloud

PCS related links:

  1. Getting started with Processes | Process cloud service | Oracle Integration cloud
  2. About the components in an application | Process cloud service
  3. Create a message based process | Create an Integration that invokes a process I Process Cloud Service
  4. Assign roles to users or groups to your process | Manage roles in process adminstration | Process Cloud Service
  5. Expose a Process application as web service over SOAP/HTTPs | Process Cloud Service
  6. How to create a process instance with OIC REST API | Process Cloud Service
  7. Create process application with web form | Process with multiple start element | Process Cloud Service
  8. Invoke OIC Integration from Process application | Process Cloud Service
  9. Main features of Applications, Samples and Quickstarts | Process Cloud Service
  10. Create a process application using Quick Start App | Process Cloud Service
  11. Create OIC Decision model from Scratch | Expose the decision model as REST | Test the rest enabled decision model using post man | Process Cloud Service


About the components in an application | Process cloud service

As a developer, it’s our job to design and create applications that handle a business process. 

These applications are made up of the components—such as processes, forms, decisions, and documents.

About each components:

Processes:

business process refers to tasks or activities that result in a well-defined outcome. You can create two types of processes.

  • Structured processes follow a sequential and predictable path. Business Process Model and Notation (BPMN) elements within the process define the flow and behavior of the application.

  • Dynamic processes automate unpredictable processes that require expert knowledge or changing circumstances

Forms:

  • Forms define the interface that your application users see during runtime. Think of it as the user interface for a human task or a start form event that starts an application.
  • You can create forms from the ground up or you can base them on an existing data structure. You can also add controls to a form, and customize the layout of a form.
  • Within a form, you can define the behavior of a form, such as showing or hiding certain form controls based on the state of other form controls.
  • Processes provides the web form editor for creating and editing forms and their behavior.

Business Types:

  • Business types represent real-world concepts or objects, such as a ticket, a request, or an employee. You use business types to create the data structures required in your business application.
  • Defining how data is stored and manipulated is part of the design and development of an application. You can define complex data types, create data objects, define the expressions used to manipulate the data, define data associations, and define the input and output for your processes.

Decisions:

  • Decisions are containers for if-then rules and decision tables that use the same input and output data objects. 
  • A decision exposes these data objects as a reusable service that multiple business processes can invoke. 
  • For example, a decision table can determine whether a manager must approve a travel request based on the travel amount, city, and purpose.

Integrations:

  • Integrations define how a business process connects to other processes, systems, integrations, REST services, and web services.
  • You can create connections to integrations, and exposed REST and web services. Your applications can then communicate and exchange data with these services.

Documents:

  • You can create folders to organize and store documents in Oracle Content Management. These documents can then be used at Process runtime. You can restrict access to only those folders that are relevant to the objectives of the tasks.
  • You can also define a document or folder that will be used to start a process. For example, home buyers submitting a loan application starts a mortgage process or job applicants submitting a résumé starts the hiring process.

Indicators:

  • Business indicators enable you to capture and display metrics specific to your process.
  • You can select data objects as business indicators to capture business metrics, and then display process metrics in custom dashboards.


Getting started with Processes | Process cloud service | Oracle Integration cloud

Use the processes feature to rapidly design, automate and manage business processes in the cloud.

Access processes for Oracle Integration: Processes is automatically included when provisioning the following Oracle Integration.

  • Processes in Oracle Integration Generation 2 in Enterprise edition.
  • Processes in Oracle Integration for Oracle SaaS Generation2 in Enterprise edition.
In standard edition, you are not licensed to use this component.

Processes working environments:
Design time /Composer:
  • Provides business-friendly graphical tools for designing processes, forms, data, decision models, and metrics from scratch

  • Includes QuickStart Apps for fast and easy rollout of custom business applications

  • Provides test environments for refining processes before activating them for use in production

  • Let you move process applications (metadata and data) from cloud to on-premises

Run time / Workspace:
  • Makes it easy for you to view, complete, reassign, and delegate tasks

  • Let you stay organized with filters

  • Let you share documents and collaborate with others on your team

  • Provides tools to track process flows, view detailed audit trails, troubleshoot, and fix processes

Languages and Technologies used with processes:
  1. BPMN(Business Process Model and Notation) - the standard language for process applications.
  2. WSDL(Web service Description Language): We can expose process applications as web service and also communicate outside web services.
  3. REST(Rrepresentational State Transfer ): Process has a rest API feature that we can use to integrate with other applications.
Roles for Processes:
Users can be assigned various roles that allow them to access, administer and use processes.
  • ServiceAdministrator
    • Access all process components
    • Monitor and manage processes
    • Manage user accounts and grant roles to user
    • Configure connections to othef services such as oracle content management.
  • ServiceDeveloper
    • Develop and Activate process applications
    • Start application
    • Perform process tasks
    • Reassign tasks to other users
  • ServiceUser and ServiceEndUser
    • Start application
    • Perform process tasks
    • Reassign tasks to other users
  • service_instance_name.CECIntegrationUser(Oracle Content Management User)
    • In processes, use this user's credentials to configure the connection to oracle content management.
My Tasks Page:
Depending on the role, use the My Tasks page to work on, Monitor, troubleshoot or administer process tasks.

Oracle Integration navigation pane > click My Tasks 


Process applications Page: process application is the core component of the design-time environment and contains all the required resources of the application, including the business processes.

In the Oracle Integration navigation pane >> click Processes >> click Process Applications.

Use the Process Applications page to:

  • Create applications from scratch, based on a QuickStart App, or by importing

  • Manage your applications, including viewing, unlocking, cloning, downloading, and deleting

Reference:

https://docs.oracle.com/en/cloud/paas/integration-cloud/user-processes/get-started-product.html

Friday, July 15, 2022

Process an Inbound EDI Batch File Using the Stage file action | Standalone mode | B2B for Oracle Integration

Usecase: Here, we will see how to create a B2B flow, using the stage file and B2B actions, to process an inbound EDI batch file and send a functional acknowledgment for the file back to the sender.

Implementation Steps:

Step1: Create a scheduled orchestation pattern and list all the EDI Batch files



Step2: For each file, download the incoming EDI batch file to Oracle Integration.





Step3: Use a stage file action to debatch EDI documents from the downloaded batch file.

Using a for-each action, iterate over the repeating elements to handle one EDI document at a time.


Read file in segments

Specify the structure of the file contents as EDI document.


A repeating element EDI-Document-Instance is generated for each EDI document debatched.

For each EDI-document-instance.



Step4: Use the B2B action and parse one EDI document at a time.

Choose Standalone mode


Choose the Doc type details.


Map to EDI-Translate action.

edi-payload
tracking-info
edi-encoding
routing-info(map each child element from source to target)
validation-errors to passthrough-errors(map each child element from source to target)



Step5: Check if the B2B action completed successfully. You can do this by verifying if translation-status is either a Success or Warning. If the status is either of the two, use a map action to transform the EDI-XML into a backend application message. 

In my case, I wrote the EDIXML string file to a ftp location.






oraext:encodeBase64($varPOEDIXMLASString)

Step6: 
After the entire batch is parsed, send the functional acknowledgment document back to the original sender.

The B2B action generates an EDI X12 997 (Functional Acknowledgment) for the last EDI document it handles from a batch.This acknowledgment document contains the status information for the entire batch of all EDI documents, and according to the EDI X12 standard, you should transmit this document back to the originating trading partner after the entire batch has been parsed.

Check functional-ack-present is true


In my case, wrting this 997 to a ftp location.







Integration flow:


Left side:


Right side:


After a file is processed, rename it with the .processed file extension to ensure that the same file is not picked for processing again in a future execution.

Testing:

Input:


Output:
850

997


Thursday, July 14, 2022

Encode Base64 function strips off XML Tags in the payload | Oracle Integration cloud

Today I was working to write XML file where the FTP adapter was assigned an opaque schema. Due to the opaque schema, I used encodebase64() to write the XML contents to the FTP directory but I observed that the xml tags were strippped off in the payload.

This is a known issue. We have to do the following steps to perserve the XML tags:

  1. Use ora:getContentAsString() xpath function to assign the XML contents as string to a local variable.
  2. Use the encodebase64() to encode the variable response and map to opaqueElement.

Screenshots:




EDI UN/EDIFACT Evelope structure | B2B for Oracle Integration

UN/EDIFACT defines the following envelope structure:



EDI X12 Envelope structure | B2B for oracle Integration

EDI X12 defines the following envelope structure:


For more details follow Oracle blog:

https://docs.oracle.com/en/cloud/paas/integration-cloud/integration-b2b/edi-x12.html#GUID-94FC9948-369D-4AD0-A2C2-764A81801D0D

Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...