0% found this document useful (0 votes)
82 views169 pages

ProDev Slides NOV2022

Uploaded by

fawkesxc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views169 pages

ProDev Slides NOV2022

Uploaded by

fawkesxc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 169

Professional Integration Developer

Boomi, AtomSphere
Boomi, AtomSphereand
andother
othertrademarks areare
trademarks trademarks of Boomi
trademarks Inc. or
of Boomi itsor
Inc. subsidiaries. Other trademarks
its subsidiaries. may be may
Other trademarks trademarks of their of
be trademarks
their respective
respective ownersowners.
OBJECTIVES
By the end of this course, you should be able to:

Design complex integration processes to


01 implement advanced logic and process data

Debug and troubleshoot simple integration


02 processes

Design and deploy event-based, web service


03 integration processes

Translate business scenarios into AtomSphere


04 integration processes
Course Overview
In Professional Integration Developer, we cover the following topics:

Extensions Document Caching

REST Try/Catch

SOAP Errors & Error Handling

Process Call Web Services

Business Rules
Extensions
What are extensions?

Allow process configurations after


deployment

Configured on the environment level

Configured per process


Types of settings for Extensions
Extensions – Use Cases

1. Environment specific configurations


● Most common use case
● Allows configurations to be defined at the
environment level instead of hardcoding
values

2. Integration Packs
● Allows integration pack users to customize
by setting extension values.
Process Extensions: Use Case
host: prod.db.com
user: User1
password: Password1
port: 3306

Prod DB

host: dev.db.com
user: User2
password: Password2
port: 3300

Dev DB
Process Extensions: Setup
1. Activate extensions and define extensible components within process
Process Extensions: Setup
1. Activate extensions and define extensible components within process
2. Deploy process to the Environment
Process Extensions: Setup
1. Activate extensions and define extensible components within process
2. Deploy process to the Environment
3. Configure Environment extensions
How do Extensions work?
• Extensions are defined per process
• When components (e.g., Connection) are referenced by multiple processes,
EACH process must extend that component
Process Extensions in Parent/Child Processes

By Process Call Shape By Process Route Shape

Child process called are deployed as part of the parent: Child process are not deployed as part of the parent:

• Define extensions in the parent, then extensions are • Extensions defined in the parent process are
applied to both the parent and child processes applied only to the parent process.

• Define extensions in a child process, then


extensions are not applied during execution of the • Extensions defined in a child process are applied
parent process only to child process and not the parent process
or any other child process.
• Independently deploy the child process, extensions
are applied when the child process executes
independently of the parent process
Process Extensions: Recommendations

Do not Extend
connect to connection Create a
the wrong changed placeholder
endpoint fields
Extensions are configurable via which of the
following

Build > Create


A

Deploy > Attachments


B

Manage > Process Reporting


C

Manage > Atom Management


D
When setting up Extensions, which of the following
represents the basic 3-step process?

#1) Deploy Process to Env(s), #2) Configure Env Extensions, #3) Enable
A Extensions & Define Extensible Components within Process

#1) Configure Env Extensions, #2) Enable Extensions & Define Extensible
B Components within Process, #3) Deploy Process to Env(s)

#1) Enable Extensions & Define Extensible Components within Process, #2)
C Deploy Process to Env(s), #3) Configure Env Extensions

#1) Enable Extensions & Define Extensible Components within Process, #2)
D Configure Env Extensions, #3) Deploy Process to Env(s)
Business Use Case for Extensions Activity
Use Extensions to configure login credentials
Extensions Activity: Overview
• Enable Extensions in the process
• Set the Extension Values in the Build tab
• Test Extension Values
• Package and Deploy the Process to
Production and Test Environments
• Set Extension Value for Each
Environment
• DEV: orgtrackDEV
• PROD: orgtrackPROD
HANDS ON ACTIVITY

Extensions Activity
REST
What is REST?

• Representational State Transfer (REST)


• Preferred Web Service design model
• Simple architecture style for interacting with networked applications
• It is simply a URL call
• Platform and software independent
• Easily used in the presence of firewalls
• Depends on a stateless client-server communications protocol (HTTP)
• Does not require XML parsing
A RESTFUL Web Service
• Implemented using HTTP and the principles of REST
• Username, password tokens and API keys are often used for
authentication
• A collection of resources, with four design principles:
• A static base URL (referred to as URI) for the web service
• Types of internet media data supported:
• XML, JSON

• Set of operations supported by the web service:


• GET, PUT, POST, DELETE

• The API must be hypertext driven (HTTP)

• No official standard for RESTful web services


RESTful Web Service Diagram
What does REST stand for?

Representational State Transfer


A

Returned State Transfer


B

Representational System Tethering


C

Required State Transfer


D
All RESTful web services follow a specific standard.

True
A

False
B
Which of the following are the response types
typically returned by a RESTful web service?

JavaScript
A

XML
B

JSON
C

PHP
D
REST Request Formation

• REST requests are formed using a URL-like structure, called a URI

Base URI
• Uniform Resource Identifier (URI)
• Base URI http://api.supplies.com /products /123
•Collection URI Collection URI
•Element URI
Element URI

• REST requests are “noun” based and easy to interpret


REST Request Example
• An e-commerce store’s API supplies a list of products by
performing an HTTP GET request on this URI:
http://api.supplies.com/products

• The XML response, provided by the server, is:


<products>
<product id=“123“ xlink:href=“http://supplies.com/products/123”/>
<product id=“456“ xlink:href=“http://supplies.com/products/456”/>
<product id=“789“ xlink:href=“http://supplies.com/products/789”/>
<product id=“638“ xlink:href=“http://supplies.com/products/638”/>
</products>
REST Request Example
• To GET specific details about product ‘456’, the request might
look like:
http://api.supplies.com/products/456

• The XML response, provided by the server, is similar to:


<product>
<Product-ID>456</Product-ID>
<Name>Purple widget</Name>
<Description>A small, right-handed widget</Description>
<Stock-level>14</Stock-level>
<UnitCost currency="USD">0.10</UnitCost>
<Specs xlink:href="http://supplies.com/parts/00345/specification"/>
</product>
REST Authentication
• There is no REST web service standard, so differences exist in how a web service
authenticates request.
• Types of upfront REST authentication:
• Basic: Username & Password (Key) required
• oAuth: Upfront handshake communication with web service to
establish Access Token
• None: If required, API key provided within HTTP URI build request
• Some open APIs do not require an API key
• Authentication example within the URI
• http://api.weather.com/US/PA/Berwyn/?apikey=r6y6snswpu8
REST requests are formed using a concatenated
string-like structure, called a(n):

URL
A

URI
B

UIT
C

USA
D
In the following request, which most likely represents the ‘base’
URI?
http://api.espn.com/v1/sports/football/nfl/teams/?apikey=r6y6snswpu

api.espn.com/v1/sports/
A

?apikey=r6y6snswpu
B

api.espn.com
C

api.espn.com/v1/sports/football/nfl/teams/
D
AtomSphere’s HTTP Client Connector
Use the HTTP Client Connector to establish REST connectivity

Base URI Ending forward slash


entered here: ‘/’ is ignored

Depending on Auth Type, you


enter the credentials received
from the REST web service
here:
AtomSphere’s HTTP Client Connector
Use the HTTP Client Operation to build out Request URI

Items to build out


the URI request
AtomSphere’s HTTP Client Connector
Label the Dynamic Resource Path elements as replacement variables
defined in the connector’s Parameters tab.
Which connector type is used to build out a REST
web service connection?

Web Services Server


A

Web Services SOAP Client


B

AS2 Shared Server Connector


C

HTTP Client
D
What component of the HTTP Connector contains the
Resource Path, representing the elements that build out
the URI?

Connection
A

Operation
B
When setting a Resource Path element as a replacement
variable, it is defined and brought into the process via the:

Connector Parameter tab


A

Message shape
B

Map
C

Document Property
D
Business Use Case for Activity
• Mobile application developer implementing an interactive application for
movie listings and searches.
• User searches for information, results are displayed in the application,
and the user can rent or buy the selected title.
• Create and unit test the back-end interface logic for the application.
REST Activity: Overview
• Configure the HTTP Client Connector
• Configure the JSON profile, complete the Decision shape, and
create output
REST Activity: Overview (section 1)
• Visit the iTunes Search Application to assemble the Request URI. Do not
forget the special characters.
• Open the iTunes Search operation and scroll down to the Resource Path
• Set the &limit to 1
• Save the output
HANDS ON ACTIVITY
Configure the HTTP
Connector
Configure and Test the REST Activity
• Upload your new JSON file
• Add a Data Process shape to split the documents
• Configure the Decision shape to test for a feature-movie
• Test your process
HANDS ON ACTIVITY
Configure and Test the
Rest Activity
SOAP
What is SOAP?

• SOAP: “Simple Object Access Protocol”


• Allows applications to communicate with each other
• Simple XML-based communications protocol
• Information (messages) is usually exchanged over HTTP

• Platform and software independent


• Easily used in the presence of firewalls
A SOAP Web Service

• Unlike a RESTful web service, SOAP web services follow a


standardized specification.
• A WSDL file describes the SOAP web service
• Location – the endpoints or ports
• Methods are available to the client
• Format of XML data in the request
• Authentication is by username & password tokens
What does SOAP stand for?

Simple Object Access Protocol


A

System Object Access Protocol


B

Simple Object Acquire Protocol


C

Simple Object Acquire Protocol


D
SOAP can be defined as a messaging protocol
based on:

JSON
A

CSV
B

XML
C

PHP
D
The WSDL file describes the methods that are available to the
client application, the endpoint (where to call the web service), and
the format of the XML that is required in order to call the web
service.
True
A

False
B
SOAP Message Structure
SOAP-ENV: Envelope

SOAP-ENV: Header

SOAP-ENV: Body

Attachments
Sample SOAP Request
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
<?xml version="1.0"?>

<soap:Envelope Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Header> Header
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>

<soap:Body xmlns:m="http://www.example.org/stock"> Body


<m:GetStockPrice>
<m:StockName>BockelCorp</m:StockName>
</m:GetStockPrice>
</soap:Body>

</soap:Envelope>
Sample SOAP Response

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>

<soap:Envelope Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock"> Body


<m:GetStockPriceResponse>
<m:Price>14.35</m:Price>
</m:GetStockPriceResponse>
</soap:Body>

</soap:Envelope>
A SOAP Web Service

WSDL

SOAP Message Request (XML) Endpoint


Sender (Hosted Web Service)
(Client)
SOAP Message Response (XML)
Web Services SOAP Client Connector

Obtain URLs from SOAP web


service documentation
Web Services SOAP Client Connector

Request & Response Profiles can


be created via Import
Which of the following SOAP elements contains the actual
SOAP message details intended for the ultimate endpoint?

Envelope
A

Header
B

Body
C

Attachment
D
Which connector type is used to build out a SOAP web
service connection?

Web Services Server


A

Web Services SOAP Client


B

AS2 Shared Server Connector


C

HTTP Client
D
Unlike within the Operation for an HTTP Client (REST) connector,
the web services SOAP Client Operation offers the ability to
dynamically import both the Request and Response profiles.

True
A

False
B
Business Use Case for Activity
• Web developer implementing a weather application that converts
temperature from Celsius to Fahrenheit.

• Create the back-end interface logic between the web service and
the front end displaying the converted temperature
SOAP Activity
• Configure your SOAP Client; import request and response profiles
• Enter value (temperature) into Message shape
• Map the value to XML format
• Call Web Service
• Retrieve the new value from temperature conversion
HANDS ON ACTIVITY

SOAP Activity
Process Call
Process Call Shape
▪ Executes a sub process (Child) within a Process (Parent)
▪ Triggers Child Start Shape to run and pass documents into Child
workflow
• Organize and simplify complex process architecture
Return Documents Shape

▪ Returns documents in a Child Process to a Parent Process Call shape


▪ Waits for all documents to process down paths before executing
▪ Label creates a corresponding path extending from the Parent Process
call
Process Call and Return Documents
Parent Process

Child Process
The Return Documents shape waits for all Documents to
process down paths before executing.

True
A

False
B
Assume a Parent Process utilizes the Process Call shape
to trigger a Child Process. Which of the following is
ALWAYS true?

The Child Process must include at least one Return Document Shape
A

Only the Parent Process needs to be Packaged and Deployed when putting the
B Parent/Child Processes into production

The Parent Process will halt its execution until the Child Process is complete
C

The Parent Process will abort if the Child Process results in error
D
A Parent Process is configured to send a Document to a Child
Process (for further processing) through a Process Call shape.
How should the Start Shape options be configured at the front-end
of the Child Process?
Connector
A

Trading Partner
B

Data Passthrough
C

No Data
D
A Parent Process is configured to trigger a Child Process through a
Process Call shape. No Documents are being passed. How should
the Start Shape options be configured at the front-end of the Child
Process?
Connector
A

Trading Partner
B

Data Passthrough
C

No Data
D
Business Use Case for Activity
• Process incoming CSV customer records
• Determine the status of the customer records
• Convert active CSV customer records to XML and write them to disk.
Write other CSV records to disk
Process Call Activity
PARENT
▪ Add a Process Call shape that sends
incoming documents to a Child
process for evaluation
▪ In Child process: add and label Return
Document shapes based on the status
▪ In Parent process: connect active, CHILD
inactive, and all branches to
corresponding paths
▪ Run the Parent process in test mode
HANDS ON ACTIVITY

Process Call Activity


Business Rules
What Is the Business Rules Shape?
The Business Rules shape allows you to create advanced logic
and validation rules for your process.
What Is the Business Rules Shape?
The Business Rules shape is a powerful alternative to the Decision shape
because it can store multiple rules and conditions into one catch-all container

BEFORE

AFTER
Business Rules Shape Configuration

Inputs are defined


• Field (Profile Element)
• Function
Business Rules Shape Configuration

Add conditions that reference supplied inputs


Business Rules Shape Configuration

The Business Rules shape leverages AND & OR operators and


can group for compound logic implementation

Price < ‘50’ AND Genre = ‘Computer’ OR Genre = ‘Cloud Based Integration’ OR Genre = ‘Web Programming’
Business Rules Shape Configuration

Dynamic inputs and


hard-coded message
data can be create a
custom message.
Business Rules Shape Execution
Business Rules Shape Execution
Business Rules Shape Execution
The Business Rules shape executes for the number of repeating elements
used as Inputs to the rule
Business Rules Shape
If one repeating elements fails, it rejects the entire document.
Business Rules vs Decision Shape

Business Rules Decision


Available in Professional & Enterprise editions Available in Standard edition
Routes documents on an accepted/rejected path Routes documents on a true/false path
Based on the comparison of multiple inputs & conditions Based on the comparison of two specific values
Can perform nested AND/OR logic Single Boolean logic
Built-in error Message handling Error handling not built in

Inputs can be profile elements and functions Inputs can be profile elements, doc/process properties,
SQL statements, stored procedures, connector calls, etc.

Executes rules for every repeating element Only inspects first of any repeating elements
More complex to build Simple to configure
The Business Rules shape is a powerful alternative
to which of the following AtomSphere shapes?

Flow Control
A

Trading Partner
B

Decision
C

Cleanse
D
Conditions within a Business Rule input values. These
Inputs can derive from all of the following except:

Profile Fields
A

Document Logs
B

Static Values
C

Functions
D
Assume a Business Rule’s condition uses a Profile input consisting
of a repeating element. If one of those elements fails the Business
Rule then the entire Document is rejected.
True
A

False
B
Business Use Case for Activity
▪ Athens Books buys used books from other booksellers
▪ Only specific prices and genres are accepted if inventory is low.
Business Rules Activity
• Replace the Decision shapes with one Business Rules shape
• Configure a Business Rule with Inputs, Conditions, and Detailed Error
Messages
• Add a Data Process shape to parse the Business Rules Results XML
• Configure the Message shape to handle error messaging
• Send an email message with results
HANDS ON ACTIVITY

Business Rules Activity


Document Cache
What is Document Caching?
• Add documents to a cache to reference later in a process or subprocess
execution.
• You can index documents in a cache, which are available for the entire
process execution
• Enables multi-source profile mapping using cached documents
Document Caching
• Add to Cache shape
• Add Documents to a Document Cache to reference later in a processes

• Document Cache component


• Reusable component for index and key definition

• Add Cached Data – mapping feature


• Allows you to include multiple source documents in a single map
Document Caching (Continued)
• Retrieve from Cache shape
• Used to get documents from a document cache

• Remove from Cache shape


• Used to remove documents from a document cache

• Document Cache lookup


• Performs a dynamic lookup against a Document cache component to
retrieve particular fields from a document
When using the Add to Cache, you are given the option to
persist profile data for subsequent Process executions.

True
A

False
B
The ‘Add Cached Data’ feature is found in which of
the following shapes:

Set Properties
A

Map
B

Data Process
C

Load from Cache


D
Business Use Case for Activity
• Canyon Enterprises (CE) stores their product information in Salesforce
• Campus Store, an independent reseller, carries many of Canyon’s
products but keeps their own pricing database in-house
• Campus’s prices can get out of sync with Canyon’s

X
Document Cache Activity
• Process invoices containing product codes and prices

• Cache the current product codes and prices from Salesforce

• Match the product codes, then compare in-house prices to Salesforce

• Update thein-house price list if it differs from Salesforce

• Write the updated file to disk


HANDS ON ACTIVITY
Document Cache
Activity
Try/Catch
What is the Try/Catch Shape?
• The Try/Catch shape captures document-level errors for one or more documents which fail
during execution

• It must be placed BEFORE the main processing shapes in your process where you hope
to capture the error
• All documents flow down the Try path to be processed. Failed documents are caught and
sent down the Catch path
What is the Try/Catch Shape?
• Designs advanced logging and processing for failed documents.
• Prevents process-level failures in the event a document fails, allowing you to act upon it
later in your process flow.

• Captures the exception using the Message or Notify shape and include a parameter to
refer to the Try/Catch message document property.
Try/Catch Shape - Retry
• You can retry failed documents.
• The Retry Count defines the maximum number of times a failed document is retried through the
main series of shapes AFTER the Try/Catch shape
• Can be set from 0 to 5
• The Retry Count option pauses between retries
Try/Catch Shape – Retry Schedule
Retries Timing
0 The document is not retried. Try/Catch uses it to catch the error and deal with it
in another way, i.e., archive the inbound document, send an email alert, etc..
1 The first retry occurs immediately following the first document failure.
2 If the document fails a second time, the system waits 10 seconds before
retrying.
3 If the document fails a third time, the system waits 30 seconds before retrying.
4 If the document fails a fourth time, the system waits 60 seconds before retrying.
5 If the document fails a fifth time, the system waits 120 seconds before retrying
one last time.
Try/Catch Failure Trigger: All Errors
• Try/Catch shape can be configured to catch just Document Errors or All
Errors.
• The following errors are captured, no matter how you set the Failure
Trigger field:
• A connectors logging errors for specific
documents when errors occur, e.g., if an
update operation fails because the
document has an invalid ID.
• An Exception shape with the Stop Single
Document checked.
• A Map shape, if it does not produce any Failure Trigger will selectively route down
the Catch path on Document errors, or on
output, generates a validation or connector All errors
error.
Try/Catch Failure Trigger: Document
Errors
The following errors are not
captured if the Failure Trigger field is
set to Document Errors:

• NullPointerExceptions and similar


process-level errors
• An Exception shape that has the Stop Single
Document check box turned off
• Connectors return a full exception error to
the process instead of capturing the error
internally and logging it per document
Try/Catch: The Catch Path
Consider the following actions in the Catch path:
• Capture the source record for reprocessing
• Mark the source record as in–error
• Notify a user – targeted notification
• Format a message using the Try/Catch error document base property
• Save or archive the failing document
• Use an Exception to cause an error event, once other actions have
been taken
• Decision or Route based on type/severity
• Call a standard error handling sub-process
In order to catch Documents which error at the Map shape,
the Try/Catch shape should be placed:

Within the Map


A

Before the Map


B

After the Map


C

Anywhere in the Process


D
Assume that 5 Documents are being processed through
the Try/Catch shape. If 2 of the 5 Documents fail, then
which of the following happen? (Choose all that apply.)
The 2 failed Documents will complete the Try path
A

The 2 failed Documents will complete the Catch path


B

The 3 successful Documents will complete the Try path


C

The 3 successful Documents will complete the Catch path


D

None of the Documents are processed


E
Within the Try/Catch Retry Count option, what is the
maximum number of retries that can be configured for a
failed Document?
1
A

2
B

5
C

10
D

15
E
Which of the following is NOT an advantage to using the
Try/Catch shape?

Allows you to design advanced logging and processing for failed Documents.
A

Prevents process-level failures in the event that a Document fails so that you
B can act upon it later in your Process flow.

Allows the Process to complete more quickly.


C
Which shape is often paired with the Try/Catch shape in
order to convert the Document into a free-flow text
Document containing details about the Try/Catch error
message?
Set Properties
A

Map
B

Notify
C

Message
D
Business Use Case for Activity
• Purchase Orders (PO) are not being processed in AtomSphere
• A batch with three PO’s was halted, and it wrote none of the PO’s to the
database.

X X X
Try/Catch Activity
• Execute the process in Test mode to see errors

• Add a Try/Catch shape to catch documents containing errors

• Configure a Message shape to capture detailed errors

• Write detailed error logs to disk for archiving

• Route successful documents down the try path


HANDS ON ACTIVITY

Try/Catch Activity
Error Handling
Error Types

• Process Errors
• Document Errors
• Atom Runtime Errors

• Recoverable vs. Unrecoverable Errors


• Most AtomSphere errors are recoverable with good process design
• Some AtomSphere errors, such as a server crash, are unrecoverable
• Unrecoverable errors halt process execution
Process Error Impact

Halts process No checkpoint or


and all commit
documents mechanism = no
immediately roll back

No further
processing,
unless Try/Catch
is used
Process Error Causes
• Connector connectivity errors (varies by connector)
• Connector app responses (varies by connector)
• Exception shape – when “Stop a Single Document” is
unchecked
• Unhandled Data Process scripting exceptions
• Incomplete process/component configuration, e.g.,
NullPointer (dev-time fix)
• Connector errors on the Start shape (cannot be caught,
because there are no documents)
Process Error Example

Documents fail in
connector with an
invalid login error.

Documents loaded
from database
query. All further processing
for all documents
stops.
Document Error Impact

Will halt the No further


document or processing,
documents with except if
the error Try/Catch is used

Successful No rollback for


documents any previously
continuing completed
processing shapes
Document Error Causes

• Mapping/data errors (function failures, profile


mismatch/no output, data formatting/missing
required fields), script errors, data format errors.
• Connector connectivity errors (varies by
connector).
• Connector application responses (varies by
connector, but more common at document level).
• Exception shape - when checking Stop a Single
Document.
Document Error Example
One document fails in
connector, the other Successfully completes and
document continues. continues down the 2nd path.

Documents loaded Branch shape


from database duplicates inbound Only failed documents stop
query. documents. processing. Other
documents complete
normally.
Errors Impact Document Flow
• When original document fails, this impacts:
• All logical records contained in the original document
• Documents trace back to the source document
• Batching and splits can impact the scope of
document error failure
• Try/Catch changes the impact of document errors by
resetting the document IDs so only failed document
stops processing
Document with Split Error Example
1 document fails, causing
all documents beginning
File splits into as part of the original FTP
multiple file to fail.
documents.

All documents which


The process retrieves started as part of the
a single batched The document is same original document
document from an split by the Data fail if any single
FTP service with twoProcess shape document fails.
records.
Error Type: Atom Errors

Stops the Process


• Not Recoverable
• Cannot be caught

Handled using runtime monitoring

Causes a Process-Level Error


• Document processing is stopped
• Failure reported when Atom online
Error Type: Atom Errors

During Process Execution


• Activities at Atom level fail
• Considered an Atom error
• Caused by Lack of Resources

Examples
• JVM running out of heap space
• Atom runs out of memory or writable disk space
• The server is disconnected
INSTRUCTOR TO DEMONSTRATE

Error Handling - Activity 1


Common Error Handling Situations
Validation Techniques
Avoiding Errors: Validation Techniques

Decision Business Rules Cleanse


Routes documents using a Works with the profile structure Enables document field value
true/false comparison of two of a document evaluation to determine whether
values Allows for multiple rules to to repair or reject the document
accept or reject a document. before further processing
Validation Technique Comparison

Customized
Multiple Error Two Single Simple Repair or
Tests Message Branches Test Syntax Reject

✓ ✓ ✓
Business
Rule

Decision ✓ ✓ ✓

Cleanse ✓ ✓ ✓
A Try/Catch resets the Document ID for all documents that flow
down the Try path.
True
A

False
B
This shape has a built-in Error Message function which allows you
to create a customized error message and assign the message to
the Base document property.
Business Rules
A

Decision
B

Exception
C

Cleanse
D
Error Handling Techniques
Technique: Exception Shape
Exception shape

• Terminate the data flow down a path


• Define custom error messages to be reported on the Process Reporting page
• It is often used with the Route or Decision shape when a document does not meet specific
criteria.

Custom error messages

• Can be a mix of static and dynamic content


• Dynamic content is populated using parameters
• Parameters can represent values such as:
• Data from a document field
• Current system date/time
• Static values
• Results of a database query
• Can use multiple parameters when creating a message
Technique: Exception Shape

Checked, stops only an


individual document

It returns the
message to logs
and events.

Parameters are inserted


using numbers and
brackets in Message
Technique: Notify Shape
• The Notify shape enables you to build custom execution logs and/or send
customized messages to your subscribed email alerts or RSS feed
• Notifications can be static messages or include dynamic content from input
parameters
• Creates one or more notifications at the document level for each process
execution
• Data is aggregated into a single message, then sent to the user’s email or RSS
feed after process completion
• The Notify shape:
• Used inline within a process
• Does not alter your data
• Designed to read any relevant document fields or properties, then pass the
document along to the next shape untouched
Technique: Notify Shape
The type of notification
being generated:
Information, Warning
A custom message containing or Error..
static and dynamic content.

Variables provide one or If selected, the


more values to insert into notification is sent as
placeholders defined in the an email alert to all
notification subscribers.

If selected, individual log


entries or event messages If selected, it writes
are generated per document the notification to the
that reaches the Notify shape base log folder of the
are aggregated and written local atom.
only once.
Technique:
Connector – Application Error Response
• Some connectors will
return an error response to
handle exceptions
• Connector-specific
alternative to Try/Catch

Return Application Error Response stops the


connector from creating a document error. Instead
the connector returns an error message.
Technique:
Connector-Application Error Response
Technique: Retry
• Retry in Try/Catch
• Process Retry Schedule
• Manual Document retry – Using original documents
Types of Retry
• Process Design for Retry

• Process and documents have not changed, so will not solve all error types
• Remedies intermittent connectivity or availability errors in a connector
Retry • Remedies intermittent lock-ups in target system
Considerations
What Trigger setting is needed in the Try/Catch shape to allow a
process level error to be caught and sent down the Catch path?
Document Errors
A

Process Errors
B

All Errors
C
This optional feature must be enabled within the Notify shape to
have the message sent in a User Alert (Email or RSS).
Message Level must be set to Error
A

Enable Events
B

Enable User Log


C

Write Once per Execution


D
Assume that 5 Documents are being processed through
the Try/Catch shape. If 2 of the 5 Documents fail, then
which of the following happen?
1
A

2
B

3
C

4
D

5
E
A Flat File document flows through a Try/Catch shape down the Try path and is transformed in
a Map shape to an XML document and renamed with a Set Properties shape, but fails at a
Salesforce connector. When the document flows down the Catch path it will still be in XML
format and renamed.

True
A

False
B
INSTRUCTOR TO DEMONSTRATE
Error Handling -
Activity 2
Shared Web Server
Event-Based Integration
What is Event-based Integration?
What is Event-based Integration?
• Recommended when processing is in response to irregularly
occurring external events
• Typically, not executed on a schedule
• Instead, event-based processes listen for the occurrence of a
specific event
• Web Service Publishing is one way to do this
Web Service Publishing
AtomSphere allows you to:

• Turn any integration process into a web service.


• Deploy the web service on-premise or in the cloud.
• Use Atom's shared web-server to accept HTTP and
SOAP requests in real time.
• Configure the Web server to control network/security
settings.
• Publish a WSDL.
Web Services Server Connector

• Listen only connector


• Listens for & accepts REST,
SOAP, and simple HTTP
requests in real-time to
initiate integration processes
• Simplest way to publish web
services
• Connection managed by
Atom Web Server
Web Services Server Operation

• Defines how to accept requests


processed as standard documents.
• The example displays a Web
Services Server Operation.
• The input and output types control
the request and response data
requirements for the process.
• Triggers and asynchronous
processing are also configured on
this tab.
Shared Web Server Settings and
Configuration
• Shared server settings controlled at the
Atom/Molecule/Cloud level and
determine what type of requests can be
made.
• Base URL for API Requests is found
here.
• API Type is Intermediate when using the
Web Services Server Connector, only
specific users can hit the API.
• Available endpoints are /ws/simple/ and
/ws/soap/
• Under User Management, Users can be
added, Passwords generated, and
Process Filtering enabled.
Support for Event-based Integration
Low Latency Process Option

• Request or response data is


not recorded

• Process metrics are not


recorded in the View
Process State dialog, but the
process log is available

• The inbound data’s


document logs are disabled
Web Services and an Atom Worker
• AtomSphere uses Atom workers to improve performance for certain types of
requests in a Boomi or private Atom Cloud.

• A Web Service Server Connector is one connector that can use an Atom
Worker.

• The maximum number of web service processes that can execute


simultaneously is 20, with 10 queued.

• If using Low Latency mode, the maximum web-service process execution time is
30 seconds.
Real-time Dashboard
• Aggregated low latency process execution
• Provides data on execution status and average response time
• Does not include 400-level or 503 errors
• Summary data may be delayed by up to 5 minutes
HTTP Status Dashboard
• These logs are not available in Process Reporting or the Real-time Dashboard
• Codes are standard HTTP status codes, including 400-level and 503
If you execute a Low Latency process and the result is a 400-level error, the execution will
appear as part of aggregate data in the HTTP Status Dashboard but not in the Real-time
Dashboard.

True
A

False
B
When configuring the Web Services Server Connector, almost all of the configuration takes
place in the:

Connection
A

Operation
B
AtomSphere has the ability to be a web service or to publish a WSDL

True
A

False
B
When using the Web Services Server
Operation, the API Type needs to be set to
which of the following:
Basic
A

Intermediate
B

Advanced
C

Expert
D
Business Use Case for Activity
• Users enter contact information into an online form
• The application sends the information to the Boomi Web Server
• AtomSphere processes and validates the information and returns the
appropriate responses
• Contact information is sent via email to the appropriate team member
Web Services Integration Activity
• Create a new Operation in the Web Services Server Connector to ‘Create Contact’

• Configure the Decision shape and Mail Operation, then add a Return Documents shape

• Package and Deploy the process

• Configure the Web Service Client to call the listener process


• Call the process, and confirm results
HANDS ON ACTIVITY
Web Services
Integration Activity
THANK YOU.
COPYRIGHTS AND TRADEMARKS
This guide contains proprietary information protected by copyright and/or other legal grounds. The software described in this guide is furnished under a software license or nondisclosure agreement. This software may be used or
copied only in accordance with the terms of the applicable agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any
purpose other than the purchaser’s personal use without the written permission of Boomi, Inc. (“Dell Boomi”).

The information in this document is provided in connection with Dell Boomi products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale
of Dell Boomi products. EXCEPT AS SET FORTH IN THE TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, DELL BOOMI (TOGETHER WITH DELL INC. AND ITS DIRECT AND
INDIRECT SUBSIDIARIES) ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL DELL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE,
SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO
USE THIS DOCUMENT, EVEN IF ANY OF THEM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Dell Boomi makes no representations or warranties with respect to the accuracy or completeness of the
contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Dell Boomi does not make any commitment to update the information contained in this
document.

If you have any questions regarding your potential use of this material, contact:

Boomi, Inc.

Attn: LEGAL Dept.

[email protected]

With a copy to:

Boomi, Inc., Legal Department, 1400 Liberty Ridge Drive, Chesterbrook, PA 19087
Trademarks
Copyright © 2020 Boomi, Inc. All rights reserved. Dell, the Dell logo, Dell Boomi, Boomi, AtomSphere, Atom, and AtomSphere Integration Cloud are trademarks of Dell Inc. and/or its subsidiaries in the United States and/or other
countries. Other trademarks and trade names may be used in this document to refer to either the entities claiming the marks and names or their products.

Publication Date Summary


March 2020 Updated for Packaged Components
TAKE A BREAK

You might also like