ProDev Slides NOV2022
ProDev Slides NOV2022
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:
REST Try/Catch
Business Rules
Extensions
What are extensions?
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
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.
Do not Extend
connect to connection Create a
the wrong changed placeholder
endpoint fields
Extensions are configurable via which of the
following
#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?
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
Base URI
• Uniform Resource Identifier (URI)
• Base URI http://api.supplies.com /products /123
•Collection URI Collection URI
•Element URI
Element URI
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
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:
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?
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: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:Envelope>
A SOAP Web Service
WSDL
Envelope
A
Header
B
Body
C
Attachment
D
Which connector type is used to build out a SOAP web
service connection?
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
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
BEFORE
AFTER
Business Rules Shape Configuration
Price < ‘50’ AND Genre = ‘Computer’ OR Genre = ‘Cloud Based Integration’ OR Genre = ‘Web Programming’
Business Rules Shape Configuration
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
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
X
Document Cache Activity
• Process invoices containing product codes and prices
• 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:
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.
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
Try/Catch Activity
Error Handling
Error Types
• Process Errors
• Document Errors
• Atom Runtime Errors
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
Examples
• JVM running out of heap space
• Atom runs out of memory or writable disk space
• The server is disconnected
INSTRUCTOR TO DEMONSTRATE
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
It returns the
message to logs
and events.
• 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
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:
• A Web Service Server Connector is one connector that can use an Atom
Worker.
• 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
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.
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.