Hello World |
Calling BI Publisher Report (opaque) |
Calling BI Publisher Report (decode function) |
Calling BI Publisher Report with parameter |
Write to FTP |
Read from FTP |
Create an Invoice |
Create an Invoice and Attach a file |
Fault Handlers |
List Files in FTP |
Move Files in FTP |
Download from FTP, ZIP and Send email |
Insert Data to DB |
Retrieve data from DB and Write to FTP |
Invoke a Stored Procedure |
Invoke a Function |
Calling an ESS Job |
FBDI |
Migration |
SOAP |
REST |
FTP |
Oracle DB |
ERP Cloud Adapter |
Actions |
Assign |
SOAP |
REST |
Switch |
Scope |
DB |
For each |
While |
Stage File |
Logger |
Notification |
ERP Cloud |
FTP |
Wait |
Throw new fault |
Map |
App Driven |
Scheduled |
-
Integrating applications(databases or other ERP Systems/Modules)
-
Used to connect various application in cloud & on-premise.
-
Native connectivity to oracle SaaS applications.
-
Used to connect different applications and systems within a business which help them to sharing data,automating processes,managing the dependecies of different processes.
-
Widely used for developing and maintaining ERP Systems.
-
Used for standardizing messaging protocol which are used in communicating between web-applications
- Cross platform interactions
- data transactions
- protocoled systematic storage of data
-
Types of Web Services :
- Simple Web service
- XML-RPC uses the HTTP protocol to pass information from a client computer to a server computer.
- Used to call procedures from one machine to another machine.
- majorly used for testing applications
- XML-RPC parameters are a simple list of types and content - structs and arrays are the most complex types available.
- Not used for enterprise level
mass=getMass(objectID)
- It is a
Network protocol
used for exchanging structured data between nodes - Uses XML Format to transfer & Store data/Message.
- SOAP is a light weight data interchange protocol because it is based on XML.
- SOAP was designed to be OS and Platform independent.
- It works in Decentralized & Distributed application environment.
- It is majorly used for calling objects.
POST /StockQuote HTTP/1.1 *HTTP Method to send data to the server*
Host: www.stockquoteserver.com *Specifies the Domain name of the Server*
Content-Type: text/xml; *Type of data*
charset="utf-8" *Encoding Standards*
Content-Length: nnnn *Length of the Content*
SOAPAction: "Some-URI " *Place Actual URI (UNIQUE RESOURCE IDENTIFIER)*
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
-
A WSDL definition is divided into separate sections that specify the logical interface and the physical details of a web service.
-
The physical details include both endpoint information, such as HTTP port number, and binding information, which specifies how the SOAP payload is represented and which transport is used.
-
The general structure of WSDL consists of Definition, target namespace, Datatypes, Messages, Port-type, Bindings, and services.
-
Widely used as an XML-based protocol that exchanges data and information in distributed systems.
-
It works in combination of both SOAP & UDDI (Universal Description Discovery & Integration).
-
WDSL have operations :
- One-Way : Here Operation can recieve message but cannot return reposnse for it.
- Request-Response : Here for any recieving message a return is also there.
- Solicit-Response : Here we send request and wait for the repsonse.
- Defination :
- Root of all WSDL documents.
- Defines the name of the web-service.
<definitions name="ServiceName" targetNamespace="http://example.com/service" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://example.com/service" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
- Giving the service name.
- Providing the target-namespace of the xsdl work
- Providing pre-fixed name-space
- Data Types :
- Service has input and output with the service mapping.
- This is can be shared between the
Sender
&Reciever
.
<types>
<!-- XML Schema definitions -->
all the element definations
</types>
- Message
- It describes the data exchange between the publisher and consumer
- Contains two components :
INPUT
OUTPUT
<message name="InputMessage">
<part name="parameters" element="tns:InputElement"/>
</message>
// Multiple Message and diff parameters can be attached.
<message name="OutputMessage">
<part name="parameters" element="tns:OutputElement"/>
</message>
- Port Type :
- Multiple Reposnse/Requests are combined can also pass input.
- Mostly used in SOAP Services.
<portType name="ServicePortType">
<operation name="OperationName">
<input message="tns:InputMessage"/>
<output message="tns:OutputMessage"/>
</operation>
</portType>
- Using pre-defined port.
- defining an operation.
- Binding Element :
- Specifies the transmission details of port type operation.
- Providing port type operations like HTTPS,GET,PUSH,PUT etc.
- Contains two elements :
- Name
- Port Type
<binding name="ServiceBinding" type="tns:ServicePortType">
1. Build In extension for SOAP
2. SOAP:BINDING (building Connection)
3. SOAP:OPERATION (Contains SOAP elements)
4. SOAP:BODY (Contains Messages)
- Service
- Specify a port.
- Includes a element refering human reading content.
<service name="ServiceName">
<port name="ServicePort" binding="tns:ServiceBinding">
<soap:address location="http://example.com/service"/>
</port>
</service>
-
Rest is an
Architectural style
and uses java-API services. -
It works on HTTP & SOAP Webservices
-
It uses URI (Uniform Resource Identifier) objects.
-
It is stateless web-service.
-
Rest supports data formats as txt,xml,HTML,JSON etc.
-
RESTful web services support caching, which is the process of storing some responses
-
Methods :
- GET
- POST
- PATCH
- DELETE
- PUT
- XML : Extensible Markup Language
- Designed to provide,store information in various data formats.
- Here we can define tags unlike pre-defined tags in html.
- HTML defines presentation of the content but XML defines the content itself.
<Library>
<Book>
<Genre> Suspense,Thriller </Genre>
<Title> Once in Hardshell </Title>
<Author>JK Rowling</Author>
<Publisher> .. </Publisher>
<Published-Date> .. </Published-Date>
</Book>
<Book>
<Genre> Horror</Genre>
<Title> IT </Title>
<Author> .. </Author>
<Publisher> .. </Publisher>
<Published-Date> .. </Published-Date>
</Book>
<Book>
<Genre> Fictional </Genre>
<Title> Iron Man 3 </Title>
<Author>Stan Lee</Author>
<Publisher> .. </Publisher>
<Published-Date> .. </Published-Date>
</Book>
<Library>
<?xml version:"1.0" ?>
<?xml-stylesheet type="text/xsl" href ="stye.xsl"?>
<!-- File : String
Author : String
Publisher : String
PublishingDate : Date
-->
-
In above example
<Library>
is a root tag. -
It is like a
Tree
Stucture of manyParent Nodes
Nested and lastlyLeave Nodes
. -
The Value/Data inside the Tags is called
Attribute
.
- Elements (Root,Nodes,Leaves).
- Attributes (Data)
- Processing Instructions (Declarations,Namespaces,Schema Declaration).
- It stores the structure of an xml
- Consists of data types,variables,constraints.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> *Root Element Config*
<xs:element name="book"> *Base Element*
<xs:complexType> *Specifying the collection of different elements*
<xs:sequence>
<xs:element name="title" type="xs:string"/> *Child Element 1*
<xs:element name="author" type="xs:string"/> *Child Element 2*
<xs:element name="year" type="xs:int"/> *Child Element 3*
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
-
Multi-step integration flow invoking applications,integrations and trigged processes by application or API.
-
Creates
Business Objects
orApp driven Orchestrtaion Integration
. -
Differnt ways how the tasks are performed different ways in which tasks or operations are executed and managed within a workflow
- Synchronous
- Asynchronous
- Fire or Forget type.
-
Trigger type connection (kind of connection that initiates or starts a workflow) can be invoked by API or Application.
-
Muti-step integration work flow invoking applications,integrations and bulk/batch triggered processes or file processing.
-
Defining the schedule and frequency of such iterations.
-
Upon integration unique URL is created.(Our SaaS instance with the URI that we provide)
- Move file across the
Network
. - Create an Integration to transfer files.
-
Basic app-to-app routing with data mapping.
-
Create an integration that provides a template with empty trigger event which invokes.
-
We cannot multiple routing expressions.
-
Here there is a channel for pub/sub where one publishes something and another integration subscribes it.
-
Create an integration to publish message to OIC channel.
-
Add a Trigger Adapter
-
Publisher & Subscribers options can be activated/deactivated independently.
-
It takes input from the publisher/subscriber channel and perform tasks/integration process.
-
Add a invoke adapter.
-
Here a publisher is neccessary so that the subscriber can take input.
-
Used for storing and using & mapping values at a centralized point.
-
Global to OIC can be used in various system at same instance of time.
-> An adapter is a program that allows connectivity & controls the information transfer between user and cloud environment.
-> Adapters are predefined code which can be used directly.
-> Acts as a path/mediator between different oracle applications & also third-party applications.
-> Supports extensive integration types.
-> Abstracts the protocol & transport complexities.
-> Assigning the application assets(Ip addresses,ports,URL information and all Internet network detailing).
-> Supports std & custom objects.
-> Adapter can be configured in Integration flow.
-
Creating a connection we require only basic information,defined connection & security policies.
-
Multiple
Runtime
Connection are managed by OIC for each integration.
- Connections are used for 2 roles :
- Trigger (In-Bound)
- Defines SOAP or REST interface which helps to invoke an
INTEGRATION FLOW
. - Allows to define a SOAP interface for SaaS application.
- Allows polling trigger to consume a file or message from upstream system so that we can process that.
- Defines SOAP or REST interface which helps to invoke an
- Invoke (Out-Bound)
- Used to define an external service or integration which can be called from an integration.
- Technology Adapters :
- Used for external SOAP application program interface in OIC.
- Passing a message received from Oracle Integration Cloud (OIC) to an external SOAP endpoint involves receiving the message, transforming or mapping the data, configuring the SOAP connection, invoking the SOAP service, and handling the response.
- We can config SOAP adapter as both
TRIGGER
orINVOKE
connection.
Feature/Capability | SOAP Adapter as Trigger Connection | SOAP Adapter as Invoke Connection |
---|---|---|
Payload Size Constraints | Ensures that incoming structured payloads (XML) from a client do not exceed 50 MB in size | Ensures that outgoing structured payloads (XML) don't exceed 50 MB in size |
Protocol | Allows you to configure only HTTP protocol-based SOAP endpoints used for accepting incoming SOAP requests | Allows the invocation of an HTTP protocol-based external SOAP endpoint and encrypts communications using Transport Layer Security (TLS) |
Header Properties | Supports the access of both standard and custom SOAP/HTTP header properties | Supports the access of both standard and custom SOAP/HTTP header properties |
-
Can be configured as both
TRIGGER
&INVOKE
connection.- Exposes integrations as REST API via configurations of a REST adapter connection Trigger.
Example : Imagine I have an integration that processes customer orders. By using a REST adapter connection trigger, I can expose this integration as a REST API. Any external system can send an order to itegrate by making a REST API call here when I integrate will receive the order process it and return a response.
-
Here Rest adapter treats all endpoints as exposed.
-
Can upload only xml files which doesn't belong to any NameSpace.
-
Support for HTTP methods GET, PUT, POST, DELETE, and PATCH.
-
Support for JSON, XML, binary (inline and unstructured), and URL-form-encoded payloads.
-
The adapter is used for building an integration with oracle ERP applications.
-
It easily integrates with SaaS and on-premise applications.
-
It produces simplified WSDL integration-centric files as an output.
-
It subscribes to business objects when we are configuring the adapter.
-
Automatically identifies the required catlog service WSDL
-
Dynamically invoke
Rest
endpoints orURL
which any extra information to invoke connection orREST
outbound.
-
It integrates the service for remote file systems using FTP and SSH protocols.
-
It performs
READ
andWRITE
operations using accessible servers inBinary
orASCII
formats. -
We can use
Connectivity Agent
when we are not working with publicly accessible server. -
This
Connectivity Agent
helps inEncrypting
andDecrypting
the data that is passing. -
It have multiple
Authentication Levels
:- Public Key
- Host Key
- Multi-Level Authentication
-
FTP doesn't support verification of
Signed File
(basic personal informational files). -
In Oracle it doesn't support
IBM FTP Server
. -
It uses ssh-kegen tool to generate SSH keys (Secure shell keys) in PEM (Privacy-Enhanced Mail) format to connect to on-premise SFTP server.
-
FTP
ONLY
supports homogenousARRAYS
(Elements contains in the array are of same data type) in Json format only -
Does not support file processing by two or more integrations present in the same folder Restrictions.
- This adapter is used to connectivity agent with on premise data-base and perform Database Operations (CRUDE) operations.
-
It is a data base adapter which we use in OIC
-
Here we use wallet to connect with the oracle applications for direct connectivity.
-
It is primary used for performing data base operations and stored procedures.
-
Allows Bulk data import operations :
- Direct connectivity
- Oracle ATP S Database
- CSV data format only
-
Supports non-JDBC (PL/SQL tables and records) in
Out-Bound
(Used for invoking procedures) Innvocation of stored procedures. -
Here Stored procedures are precompiled collections which are stored in database can be executed using this adapter.
-
We can use DML sql queries (Insert,Update,Delete,Select)
-
can insert or update multiple records in a single request.
-
Used to assign values to variables using expression builder(used to create complex expression or formulas)
-
Can be used in entire integration.
-
Used to perform operations on files which are downloaded by
FTP Adapter
. -
Multiple Options :
- Write
- Read
- Zip
- Unzip
- List of Files
-
All operations are done on a specified particular location in Oracle Integration
-
This action invokes an
Integration
from anOrchestration Integration
. (Calling an Integration from an Integration). -
When you drag the integration node into the integration, you are prompted to invoke an active Integration.
- Used to call another connection or integration or functionality.
-
It is used to log meesage and variables in an activity stream at any point in the
Integration Flow
. -
We can static or variable populated log message (using concat operation of both normal text and variable reference).
- This action enables to send a mail or notification to single or multiple people.
-
Used for processing EDI documents.
-
Basically what it does converts the incoming EDI document into xml format and then do some processes and then again convert it into EDI document.
-
Process like :
-
Validating the XML message against predefined schemas.
-
Transforming the data to match the requirements of the target system.
-
Enriching the data by adding additional information from other sources.
-
Routing the message to the appropriate endpoint or service.
-
-
Add a javascript functionality/code/program in an integration.
-
Invokes a javascript function in an
Integration Flow
. -
Can used in various scenarios like
- Data Conditioning
- Complex Calculations
- Error handling
- etc
-
Used to invoke a process in an
Integration
. -
Processes are basically other
Integrations
. -
Here we can store the
Output
of this Process in a variable which can be used in futher process in the work-flow.
-
Switch defines one or more branches of flow under some condition.
-
Work like
If-Else
. -
Two parts :
- True Branch (Where it satifies the condition and proceed with the flow).
- False Branch (Where the condition is not satisfied)
-
Looping Statement.
-
Perform iterations over a repeating element and executes one or more actions within the scope.
-
Iterates until the condition is true/false.
-
Manages a group of action
-
Generally used in exception handling/fault handling.
-
Have two components :
- Normal Flow components
- Default Components
-
Elements defined in the scope are limited to the scope (like if assign action is used for intializing and creating an variable then the variable scope will be till the
SCOPE
).
-
Looping Statement.
-
Iterates over actions or invoke connection till a specific condition is meet.
-
Have to provide condition.
- Adds a place-holder just like a sticky note having refernce information.
-
Delay execution of integration process by specified time period.
-
Generally used for asynchronous process.
-
Used for handling/catching exception produced in the intergration flow.
-
Here we need to define condition under which it should catch-exception and throw to the end user.
-
Generally used where interactions with other systems/processes/manupilations.
Like :
Scenario 1 : Extracting Records from BIP using SOAP Adapter
Scenario 2 : Inserting a Record in a Seeded table
In Scenario 1
we want require an exception handler but for Scenario 2
we will require an exception handler (doing some data manupilations).
-
Data integration tool or process that combines data from different sources into a single.
-
Data Stitch incrementally build a message payload from one or more existing payloads by using assign,append, and remove operations
-
Automatically generated when using adapters.
-
Defining how the data will be transmitted from one process to another process and what should be transmitted.
Using File-Zilla Application for FTP connection !
-
Enables to create an integration between
On-Premise
application and OIC Integration. -
Acts as a Gateway between
On premise
and Oracle ICS (Integration cloud service). -
It consists of two components :
-
SaaS Instance Agent : It is Installed to run Oracle Integration and support communication with
On-Premise
applications. -
On-Premise Agent : It is Installed and ran on local systems in a desirable environment.
-
-
All communications are
Secured
usingSSL
and agent acts a medium betweenOn-Prem
applications andOIC Integration
. -
Agent
POST
regular heartbeat (notification of their running/active status) to OIC instance. -
Performs
Continous Polling
means that OIC is constantly checking for new requests and responses in both the design-time and run-time phases. -
Pulls Design-Time Requests -> Returns Design Time Response
-
Pulls Run-Time Requests -> Returns Run-Time Response
-
We can
Install
an agent and can host it from our local machine/system(used TCP/IP connection type). -
We can also use
Agent Group
consists of more than one agent. -
Generally Agent Group is used for standby operations if one agent doesn't work then another will perfrom that task.
The Agent configuration file CpiAgent.properties contains information about the OIC connection and agent infrastructure
-
Used for Adding data/records in seeded tables.
-
In this we are using file based data import templates and process import data.
-
Here will be be requiring template,structure of the interface table (target table).
-
Here we will be requiring
.xlms
template file. -
We use
Oracle ERP
Adapter. -
We can use FDBI in various cases :
- Load data into
Interface Table
. - Load data into
Product Tables
. - Manage Data in
Interface Tables
. - Use web-services to automate inbound flow (performing request came from external sources).
- Load data into
Download appropriate
.xlms
template.
Enter data in the template
Genereate .Zip and .csv files.
Schedule a Process to first add in the
Interface Table
(Buffer table).
Then after success of above scheduled process we need to again schedule a process shifting thr modifications into
Product Table
(Main table).
-
Oracle provides additional security settings,options and functionalities.
-
We can configure security policies based on the adapters.
-
Few policies listed are :
- Basic Authentication (like we passed Oracle SaaS instance credentials)
- Username Password Token
- Security Assertion Markup language.
-
Basic Authentication
It is a simple authentication method where the client sends the username and password encoded in Base64 as part of the HTTP request header.
-
Username Password Token
Using Soap sends username and password tokens
-
No Security Policy
No specific security policy
-
Security Assertion Markup Language (SAML)
Open standard for exchanging authentication and authorization data
-
OAuth 2.0
It is an authorization framework that allows third-party application to get access.
-
Basic Authentication
It is a simple authentication method where the client sends the username and password encoded in Base64 as part of the HTTP request header.
-
OAuth Client Credentials
Server-to-server communication using client credentials.
-
OAuth Resources Owner Password Credentials
User credentials used to obtain an access token
-
OAuth Custom Three Legged Flow
User authorizes a third-party application to access their resources.
-
OAuth Custom Two Legged Flow
Client directly obtains an access token without user interaction.
-
API Key Based Authentication
API key in the request.
-
AWS Signature Version 4
AWS to authenticate API requests.
-
OCI Signature Version 1
OCI API to authenticate.
-
No Security Policy
No specific security policy
-
FTP Server Access Policy
Protocols set by FTP server.
-
FTP Public Key Authentication
Authentication using
Cryptographic Keys
. -
FTP Multi Level Authentication
Multiple forms of authentication (Like Otps,Password,Security Questions).
-
JDBC Over SSL
Defining connection between Java applications and Database using SSL.
-
JDBC Basic Authentication
Using username and password to authenticate java applications.
-
JDBC With OCI Signature
Using Oracle Cloud Infrastructure signatures to authenticate java applications.
-
Username Password Token
Using username and password to authenticate
-
With PGP Key Support
Using PGP (Pretty Good Privacy) keys for encrypting and decrypting data
-
OAuth Authorization
Authorizing third party applications to access their resources.
-
This Certificate allows Oracle Integration to external services.
-
Used to validate Out-bound(Request Sending from network to external destination) SSL Connections.
Following are the predefined roles available in Oracle Integration Cloud:
Manages,Controls and Configures entire services.
The one who creates and updates services
Maintain the services in various domains.
The one who sets up and launches the service.
The one who uses the Service
Person or System who trigger specific action/service.
The one who can see the service but cannot modify or change the service configurations.
Sometimes when we need to transfer an Integration from one Instance to another Instance (changing of user)(basically copying and pasting of an integrations).
-
Here we will
Identify
andMap
resources which need to migrated to OCI. -
Also prepares the source environment for migration by listing all applications and instances available for migration.
- Here we have to select one integration from the list of migratable integrations.
-
Used in Migrating Integration from one OIC instance to another.
-
Inactive Integrations doesn't require manual configurations.
-
We can automate OIC migration by invoking Export Rest API
exportServiceInstanceArchive
and Import Rest APIimportServiceInstanceArchive
. -
View Export Migration Report
andView Import Migration Report
may be respectively used for viewing the export and import status.
-> Chose App-Driven Orchestration Integration.
-> Here we used Rest-Adapter to trigger (start) the Integration.
-> Mapping all input & output variables/flow
-> Using Schedule Orchestration Integration.
-> Using an Assign
action where user-credentials are stored in variables.
-> Using SOAP Apdapter to call Oracle SaaS instance.
-> Mapping User-Credentials with the SOAP adapater.
Username Password
-> After getting records from the BIP we need to write the data into Temporary file where we can store for intermediate stages.
-> Using Stage File Action to write data into the tempo file around a repeating element.
-> After writing the data into file then I have to read the file.
-> Then if to display the records we need to use For-Each
iterator and inside the scope we have to use Logger
action to print/display the each record in every iteration.
-> Using Schedule Orchestration Integration.
-> Using an Assign
action where user-credentials are stored in variables.
-> Using SOAP Apdapter to call Oracle SaaS instance.
-> Mapping User-Credentials with the SOAP adapater.
Username Password
-> After getting records from the BIP we need to write the data into Temporary file where we can store for intermediate stages.
-> After getting the Data/Records from the BIP SOAP Adapter then using Assign
action where i defined a variable in that we will hold that Decoded
data.
-> For decoding we will be using advance function options under that decodeBase64ByReference
and will pass the reference of the raw encoded data.
-> Using stage file to read the variable and provide a repeating element as well.
-> Then if to display the records we need to use For-Each
iterator and inside the scope we have to use Logger
action to print/display the each record in every iteration.
-> Will act as same like above case but only change that be seen is while mapping there will be a list of parameter where you have to go inside names
add the a paramter name
and under values
add the value that you pass as a parameter
.
-> Using Scheduled Orchestration (Optional)
-> First calling BIP SaaS instance using SOAP Adapter
and then creating a variable with None value using Assign
action.
-> Then Starting a loop For-Each
action to continously check the status getting updated.
-> Condition for looping should be :
Not(Status == 'SUCESS' or Status == 'Warning' or Status == 'Error')
-> Now inside the loop scope we will again call BIP SaaS instance using SOAP Adapter
to get the Updated Status
and map the reponse to the variable which is used in the looping condition.
-> Also adding Wait
(Delay) action to increase the efficiency of the integration.
-> Using App-Driven Orchestration.
-> Using SOAP Adapater to call BIP.
-> User Credentials are hard-coded/used lookup in the Mapping.
-> Using Assign action where will are storing the BIP response data in decoded format.
-> Reading the variable in a Stage file
.
-> Using For-Each
action to iterate over each record using the Repeating element
.
-> Inside the scope of loop we are using FTP Adapter
making a connection with remote File system and writing the extracted Records in the file.
-> Using App-Driven Orchestration.
-> Using FTP Adapter to connect with local FS.
-> Extract the file from the FS.
-> Then are using Email
action where will be passing To
,From
,Attachments
,Body
,Subject
.
-> Using App-Driven Orchestration (optional).
-> Calling BIP using SOAP Adapter.
We have also tried this in Postman using REST API
-> Using App Driven Orchestration.
-> First Creating an Invoice using SOAP Adapater for BI publisher.
-> Then we are using FTP Adapter to Get
a documnent which we can attach to the invoice.
-> Then again passing the file using SOAP Adapater to BIP.
-> Using App Driven Orchestration.
-> Assigning Credentials in variables using Assign
action.
-> Creating a Scope
action where we can add sub-processes or processes which can possible throw error/exception.
-> Adding the process (Drag and add it) also declare some process as default if the scope process doesn't work/start.
-> After the scope we have used a Switch
action which works like if-else so if the condition is True
then it continues Path-01
else it goes to Path-02
or Otherwise
path where we have declared another action named New Fault Occured
.
-> Basically Integration is First we are creating an Invoice and then we are attaching Invoice to the Invoice but we are using Exception handlers here because if the Invoice
of that Invoice Number
is been created then it should throw personalized error message for us.
-> Using App-Driven Orchestration (Optional)
-> First we will be using FTP Adapter to make connection with RFS.
-> Then using a Switch
action
-
Case 1 : If Files of particular extension is found then we will display all the files using
For-Each
Loop action andLogger
action inside it. -
Case 2 : If Item_Count is
0
then we will trow an User-Defined exception usingNew Fault Throw
action.
-> Using App-Driven Orchestration (Optional)
-> First we will be using FTP Adapter to make connection with RFS.
-> Then using a Switch
action
-
Case 1 : If Files of particular extension is found then we will display all the files using
For-Each
Loop action and then again using and FTP adapter to move the file from Src location to Dest location each file at a time inside the loop. -
Case 2 : If Item_Count is
0
then we will trow an User-Defined exception usingNew Fault Throw
action.
-> Using App-Driven Orchestration (Optional)
-> First we will be using FTP Adapter to make connection with RFS
-> Very easy in mapping just reference the Directory Name
and File Name
.
-> Using App-Driven Orchestration (Optional)
-> First we will be using FTP Adapter to make connection with RFS to Read Files
from SRC folder.
-> Now what we will do is we will add a loop For-Each
action and inside it we will Download
all these files and place in \Input
temporary folder.
-> Now we will be using Stage File
to zip the temporary \Input
folder and then will be using Notification
action to mail this zip as an attachment.
-> Using an App-Driven Orchestration.
-> Then add a Assign
action where we will be storing BIP Login Credentials
-> Then we will call BIP using SOAP
adapter.
-> The output of the BIP process is stored in a variable in decoded format.
-> Then we will be place the output from the variable into a temporary file so that format in which we need to insert in DB is perfect/correct.
-> Then we will start a loop For-Each
and inside it's scope we will be using DataBase Adapter
and chosen Insert Operation.
-> Mapped the Repeating element from the Read Stage File Response.
-> Using App-Driven Orchestration(Optional).
-> First using DataBase Adapter
to retrive the records from On-Prem
Database and then we are directly using FTP Adapter
to write into desired destination file in RFS.
-> Using App-Driven Orchestration(Optional).
-> Then using DataBase Adapter
inside the configurations choose calling stored procedure provide the name of the stored procedure.
Not in this case but in other cases you can map the Response from DataBase Adapter as we are calling a function.
-> Using App-Driven Orchestration(Optional).
-> Then using DataBase Adapter
inside the configurations choose calling stored procedure provide the name of the stored procedure.
-> Using a Scheduled Orchestration (Optional)
-> First Storing Batch-ID in a varible using Assign
action.
-> Now Using Stage File to read using Stage File
action (where we add the csv file that we generate using xlmns) and then we again read properties file using Stage File
action.
-> Again using Stage File
action I will zip both the files . So then I am ready with the zip file to pass to the SaaS instance.
-> Now we will be using ERP Cloud Adapter
to access the Oracle Instance to schedule job.
-
First Job will be Making Changes in
Instance Table
. -
Then After the sucess of the above process we have to schedule a job to make changes in
Main Table
.