DEV1 Section2 V7.1
DEV1 Section2 V7.1
DEV1 Section2 V7.1
for Developers
2
• Administration Overview
• Process Deployment
• Process Reporting
Agenda • Process Troubleshooting
• Process Deactivation
3
How It Works
Prospect?
New Account?
5
Administration Goals
•Prospect Tracking
• Automate the Process to query newly modified accounts
• Deploy to an Environment and monitor live transactions
• Troubleshoot and retry failed executions and documents
• Develop and release Process updates for advanced logging
• Enable administration features for advanced alerting
Manage
Build Deploy.
6
Build Tab (Test Mode) vs. Deployed Processes
•Test Mode supports unit testing of a limited set of documents
• Connectors only support retrieval of:
• 100 – Max Document Count
• 10 MB – Total Data Size
Build Deploy.
7
Process Deployment
Process 1
Process 2
9
Walkthrough:
• Exercise 1: Check configuration of
Production and Test environments
• Exercise 2: Deploy the process
Walkthrough
Page(s): 5-10
10
Deploy vs Execute
• Deploying a process does NOT execute the process into an active production state
• Once a Process is Deployed, it needs to be executed either by:
• Manual execution
or
• Scheduled execution
Executed
(Manual or
Deployed Schedule)
12
Process Automation
Internal
Scheduling
• Schedule indicates when process is set to run
• Create schedules to intervals of 1-minute
• Create advanced schedules to execute on specific minutes
• Retry schedule indicates when failed documents are retried
Real Time
Integration
• Supports event-driven integration
• Web Service Publishing (HTTP/SOAP)
• AS2 Shared Server
• Creates new execution thread for each push from a client application
Walkthrough
Page(s): 11-12
14
Connection Licensing
• Under Setup Menu >> Licensing
• Identifies connector deployments across processes and atoms
• Limits process deployments per account
Connection
Licenses
Walkthrough
Page(s): 13-14
19
Process Reporting
• Defaults to Executions launched in Past Hour across All Atoms
• Set search filters and Refresh Search
• Highlight execution records to display document activity
• Manually ‘play’ deployed Processes in specific Atoms
20
Process Execution Statistics
• Click on filter links to sort by Execution Status
• Page through sets of 25 execution records
• View high-level Process log
• Double-click to view details of the first Error Message returned:
21
Process Execution Actions
• View Process
• Open the Process on the Build Tab
• View Deployment Components
• View and open component versions on the Build Tab
• View Process State
• View real-time information about step execution and duration
• View Extended Information
• View IDs and Download Execution Artifacts (Admin Only)
• Cancel Process Execution
• Terminate Processes in a Pending state
22
Document Statistics
Walkthrough information
Page(s): 15-19
25
What is the Exception Shape?
26
User Alert Example: PROCESS.EXECUTION
Every 5 minutes
Instructor to
Demonstrate
Page(s): 20-23
30
Participants to Complete:
Participants
to Complete
Page(s): 20-23
31
Revision History
• Available feature for all components
• View/Edit versions of a component
• Overwrite invalid revisions (Undo)
• Each component has an independent revision history
Located in
bottom-right
below the
Process Canvas
32
Deploy Latest Revision of Process
34
Walkthrough:
• Exercise 8: Review the revision history
• Exercise 9: Redeploy the process and
view alerts in process reporting
Walkthrough
Page(s): 24-27
35
Notify Shape
• Build custom notification messages to
subscribed email alerts or RSS feeds
• Can create one unique log per document
• Does not affect document data
Instructor to
Demonstrate
Page(s): 28-32
38
Participants to Complete:
Participants
to Complete
Page(s): 28-32
39
Process Deactivation
Stop the Process Schedule
Manage >> Atom Management >> Atom >>
Deployed Processes>>>Stop Schedules
40
Walkthrough:
Walkthrough
Page(s): 33-34
41
Development Life Cycle
42
What’s the Big Idea?
43
Importance of the Development Life Cycle
• Ensures that your processes meet the business requirements for the integration.
• Supports the ongoing viability of deployed processes.
• Provides a structure for defining, creating, testing, implementing, and maintaining business
solutions using Boomi processes.
• Ongoing and can be adjusted as the needs of the business change.
• The Boomi AtomSphere development life cycle is new and different for both software
developers and business analysts.
44
How Is Boomi Different?
• An AtomSphere process is a document processing pipeline made up of a set of shapes and
properties.
• Some shapes and properties are part of the process object and are managed and versioned
along with the process.
• Other shapes are separate objects and are versioned separately and can be reused
(referenced in other processes).
• Configure a complex integration process on a palette as a series of steps using the simple
shapes provided.
• Graphical in nature:
• Code techniques do not work
• Source control is “built in”
• No branch/merge concepts
• Linear development
• Everyone works on the latest version, no “check in / check out”
45
Development
Life Cycle • Build Components
46
What are Components?
• Components are the building blocks of integrations: Processes, Connections, Operations,
Maps, Profiles, etc.
• Components promote reusability: connections, “utility” functions.
• Components can be referenced in any number of processes (or other components).
• Although components are often created within the context of a process, they exist and are
maintained independently.
• Configuration is “by reference.”
• If two processes reference the same map and you change that map within one process, the other
process is affected by the change.
• If you remove a component from a process, it still exists in the Component Explorer; it is NOT
deleted.
47
Versioned Components
48
A Hierarchy of Objects
49
Development
Life Cycle • Reusable Components
51
Why Is Reuse Important?
• Reduces duplication of effort, share useful functions and features, and manage common
functions in one place.
• Additionally, this helps you to effectively use AtomSphere licensed connections.
• Components to consider for reuse:
• Connections – to stay within licensing limits
• User-defined functions – useful for sharing a common transformation in a Map
• Processes – often a common sub-process is used to establish authorizations, get a
token, or start a session at an end-point
• Cross Reference components
• Process Properties
52
Reusing Connections
Considerations:
• Boomi AtomSphere licensing is “per connection”
• One license per connection per atom deployed to two separate deployed Connection objects
to the same endpoint requires TWO licenses
• It is essential to keep control of your connection components and ensure reuse by all
processes that will be deployed
• A recommended best practice is to enforce folder security on folders containing shared
components
53
Reusing Connections
Guidelines:
• Maintain a single copy of each Connection object to be deployed
• Keep these in a common folder – a folder named #Connections under the root is convenient
• Any process reference to a connection uses these
• Do not store credential information on the connection
• Use extension values at the environment level
• Set credential information on connections to dummy values
• Immediately delete duplicates created by Deep Copy operations
54
Using “Show Where Used”
55
“Show Where Used” Results
The Show Where Used feature shows all references of a
component by applying a filter in the Component Explorer panel
56
Development
Life Cycle • Folder Management
58
Folder Management: Folder Organization
59
Folder Organization Example
Use meaningful
names to help
identify actions
60
Folder Management: Naming Conventions – Special Folders
Folders listed
alphabetically
61
Folder Management: Naming Conventions – Special Folders
A development folder
pushed to the bottom
using “_Z”
62
Folder Management: Naming Conventions – Process Names
63
Folder Management: Naming Conventions – IDs or Endpoints
64
Folder Management: Considerations
• Organizational considerations:
• For all projects, create #Common folder under the root folder for Connections
• Consider low level folders as units of work that you can copy
• Compile common components at the highest possible factor
65
Folder Management: Folder Permissions
•Used to assign or remove user roles from the selected folder.
•Users assigned these roles have write access to the folder and its
components.
•Users must also have the Build Read and Write Access privilege..
66
Development
Life Cycle • Change Management
67
How Does Component Versioning Work?
68
How is Component Source Control Managed?
69
What are the Considerations for Development Teams?
70
Environments and Change Management
71
Process Deployment and Change Management
72
Component Dependencies, Deployment, and Change Management
• Only the process component itself is deployed
• When deployed, the process and all components referenced by the process
or other components are “bundled” together
• Processes are deployed independently
• Observations:
• Common components
• Suppose Process 1 and Process 2 both reference Map A and are deployed. If you change Map A
but only re-deploy Process 1, Process 1 will be using Map A revision 2, while Process 2 will still
be using Map A version 1.
• Child/Sub processes
• Child processes are included in the deployment of the parent process
• If a child process is to be deployed (e.g. to be able to retry docs), or if you make a change to a
child process you should always deploy both parent and child to avoid version mismatch
73
What does change management look like in action (normal)?
Build Tab Test Environment Prod Environment
Deploy
Fixes
Deploy Copy
74
What does change management look like in action (rollback)?
Build Tab Test Environment Prod Environment
Redeploy
Prod DV 3, Rev 1
Rev 3
Deploy Copy
Fixes
75
Properties
77
What are Properties?
•Two Types:
• Document-level
• Process-level
78
• Dynamic Process
Properties
Properties
79
Dynamic Process Properties
• Set a property value in the beginning of the process and retrieve it later
in a different part of the process.
• Available across other processes initiated via the Process Call shape,
as is common in parent/child process designs.
• Property set in Parent is available to Child
• Property set in Child is available to Parent (after execution)
• A process property value can be “persisted”
and the value "remembered" for future
process executions (using the same process/Atom).
80
Dynamic Process Properties
81
Dynamic Process Properties
82
Dynamic Process Properties
83
Dynamic Process Properties
84
Dynamic Process Properties
85
Dynamic Process Properties
86
Dynamic Process Properties
Persisted Process Properties of Deployed Processes can be edited or
deleted within: Manage > Atom Management
87
Dynamic Process Properties
88
Business Use Case for Activity
• Each week, a company awards the sales rep who closes the largest deal that week
• A process continually checks for newly created invoice records in the company’s
data store to track the highest producing deal
• The data store contains processed invoices containing basic account information,
including the sales rep and the closed-won opportunity’s Total Contract Value (TCV)
90
Dynamic Process Property Activity
• Process individual invoices containing account information
• Compare invoice’s Total Contract Value (TCV) to highest TCV stored in
memory (add a Dynamic Process Property)
• Store new TCV in memory if it is greater than highest TCV currently stored
as Dynamic Process Property (DPP)
91
Participants to Complete:
Participants
to Complete
Page(s): 35-44
92
Instructor To Review:
Instructor to
Review
Page(s): 35-44
93
• Dynamic Document
Properties
Properties
94
Dynamic Document Properties
• Define and temporarily store additional pieces of information about a given document.
• Specific name/value pairs follow the document through its execution.
• Unlike a process property, you cannot persist a document property value and “remember” its
value for future process executions.
95
Dynamic Document Properties
96
Dynamic Document Properties
97
Dynamic Document Properties
98
Dynamic Document Properties
99
Dynamic Document Properties
100
Dynamic Document Properties
101
Differences Between…
Dynamic Process Properties Dynamic Document Properties
Once set, available anywhere in the Once set, only available as long as
process including child processes the document exists – will continue
across branches (if set before the
Branch shape), but does not continue
across Message shapes or outbound
Connectors
102
Business Use Case for Activity
• A process continually checks if a given Account record exists in a company’s data
storage system to determine whether to perform a Create or Update call
• The process retrieves an Account’s internal system ID using a Connector Call output
parameter as a Dynamic Document Property and then creates a new Account or
updates an existing Account
104
Dynamic Document Property Activity
105
Participants to Complete:
Participants
to Complete
Page(s): 45-51
106
Instructor To Review:
Instructor to
Review
Page(s): 45-51
107
• Process Property
Properties
Component
108
Process Property Component
• Group the various settings, default values, and/or persisted properties for the given process
• Convenient to use with environment extensions
• Define static, constant values to reference consistently throughout your processes
• A Process Property is a component, therefore it has its own revision history
109
Document Flow
110
Review: What is a Boomi Document?
• It is the main unit that powers the execution in a process flow.
• Dell Boomi supports five raw document types:
L11*ZOR*SO~
G62*79*20110809*Y*9*CD~
NTE*GEN*A S~
8888888888888888888888888888888888888888888888
8888888888888888888888888888888888888888888888
888888888888888888888888
888888888888888888888888888888888888
88888888888888888888888888888
8888888888888888888888888
888888888888888888888888888888888888
8888888888888888888888888
888888888888888888888888888888888
888888888888888888888888888888888
8888888888888888888888
88888888888888888888
8888888888888888888888888888888888
888888888888888888888888888
8888888888888888888888888
888888888888888888888888888888888888
888888888888888888888888
8888888888888888888888888888
8888888888888888888888888888888888888
88888888888888888888888888888888
88888888888888888888888888888888
8888888888 8888888888
8888888 8888888
888888888 888888888
88888888 88888888
8888888888 8888888888
888888 888888
8888888888 8888888888
8888888888 8888888888
8888888 8888888
888888888 888888888
88888888 88888888
8888888888 8888888888
888888 888888
8888888888 8888888888
113
Shape Execution
Shape Execution refers to how documents move
through the process shapes together
Behavior
• Documents move as a group from shape to shape. Each document
executes on a given shape IN SEQUENCE and generally
INDEPENDENTLY before any of them move to the next shape.
• A shape executes only if at least one document reaches it.
• For example: if a start shape does not return any documents (e.g., nothing
matches query), no subsequent shapes are executed.
• Note that a No Data start shape actually generates a single, empty document.
• Documents never affect anything that happens in a prior execution shape,
as all documents have already passed that shape.
• Processing as a group is more efficient because the shape logic is loaded
into memory once for the entire group of documents.
114
Execution Path
Execution Path refers to the route documents take
through the process
Behavior
• Documents move from the start shape to one or many end points.
• All documents do not have to take the same path: Decision, Route,
and Business Rule shapes cause documents to take different paths.
• Paths execute sequentially, not in parallel. A path completes before
the next path starts.
• Path independence:
• Branches cannot communicate document changes (data or properties).
• Must use other techniques to pass data to next path.
115
Branch Execution Path Documents finish
branch 1 before any
branch 2 processing
XML
DB DB
Branch creates a
duplicate set of XML
documents for each
path
Duplicate documents
in original state are
processed in Branch 2
116
Documents Containing Multiple Records
A single document may contain
multiple logical records
Implications
• Shapes configured to reference individual profile elements (e.g., Decision)
will use the value from the first record in the document.
• Shapes that reference the entire profile (e.g., Map) will iterate through all
logical records.
Use Cases
• Any type of data can be a “batch” document, most common with flat file
(CSV) and database data.
• Records within a single document can be aggregated in Maps.
117
Original Document ID
Each document read into a process via the start shape is assigned an
internal/unpublished identifier, known as the original document ID. This
identifier follows the document through the process. Why is this
important? Primarily to understand how document failures behave and
to track documents.
Key points
• Splitting a document propagates the original ID to the resulting documents.
• Combining documents consolidates the original IDs.
• Connector calls within the process create a new set of document IDs. (However,
there is still traceability from a document failure perspective).
• In deployed process logs, the “view linked documents” command can be used to
associate different sets of documents with common IDs.
118
Document Failure
When an exception occurs, the affected document(s)
stops immediately and does not continue to
subsequent shapes.
Behavior
• Exceptions can occur per-document or for the entire process.
• “Process-level” exceptions stop all documents immediately.
• “Document-level” exceptions stop the individual document(s) but other documents continue
processing.
• Documents are identified by their original ID. This is especially important to remember
when splitting a document with multiple records or when combining documents:
• Split: If one of the split documents encounters an exception, the single original document is
marked as failed and stops processing. This means all the other split documents from that
original document will stop processing as well.
• Combine: If a combined document encounters an error, all the original documents are marked
as failed and stop processing.
119
Document Error Example One document errors
in connector, the other
document continues.
Branch shape
duplicates inbound
Documents documents.
loaded from Only failed documents stop
database query. processing. Other documents
complete normally.
120
Document Error Example with Split 1 document errors, causing all
documents that began as part of
the original FTP file to fail
File splits into
multiple
documents
121
Concepts: Altering Document Flow
The Try/Catch shape can alter how documents
with multiple records flow through the process.
124
Participants to Complete:
Participants
to Complete
Page(s): 52-65
126
Instructor To Review:
Instructor to
Review
Page(s): 52-65
127
• Simple shapes
• Conditional shapes
128
Simple Shapes
Shape types
• Set Properties, Notify, Program Command
Behavior
• Do not modify document flow or document contents.
• Executed once per document that reaches it.
• Note: Notify has a “Write Once per Execution” option, meaning it will
execute once per document group vs. per individual document.
129
Conditional Shapes
Shape types
• Decision, Route, Business Rules, Try/Catch, Cleanse, Find Changes
Behavior
• Each document is evaluated individually and assigned to one of several result paths.
• Result paths have a defined execution order and are executed sequentially. For example:
• Decision: “True” path executes before “False” path.
• Route: Paths execute in the order defined, with “Default” last.
• Business Rules – Can operate the child node level of documents
• Try/Catch – Differs in that the “Catch” path is only executed if a document failure occurs in a
subsequent step.
• Find Changes – Differs slightly in that one document enters and is internally split and assigned to
CREATE/UPDATE/DELETE paths.
130
Decision Execution Path Example
True Branch
executes first with
all True documents
Documents
False Branchare not
duplicated, but
executes second are
separated
with all non-trueon
based
decision logic result
documents
131
Branch Shape
Branch shapes send a copy of the same
document to every path
Behavior
• Sends a copy of the same document to every path.
• Paths are executed sequentially based on their auto-numbering.
For example, “Branch 1” completes before “Branch 2” begins.
• Changes to the document (document contents, splitting/combining,
document properties) made on one path are not reflected on
subsequent paths. Each path gets a copy of the document in the state
in which it reached the Branch shape.
132
Connector Shapes
Connector shapes modify document contents and/or
flow by introducing documents into the flow or
sending them out of the flow
Behavior
• “Get” Connector shape:
• Introduce new documents into the process via the Start step.
• Introduce additional documents mid-process for a given document.
• Note: some connectors auto-split for convenience.
• “Send” Connector shapes:
• May or may not return documents. For example:
• Web Services SOAP Client connector returns a document with the contents of the response
message.
• Disk and FTP connectors do not return result documents, so no shapes will execute after the
connector shape. They are “end of the line” shapes.
• Note: some connectors auto-batch for convenience.
133
Data Modification Shapes
134
Data Process Shape
Data Process shapes perform actions upon a
document as a whole or even across the entire
group of documents
Behavior
• Perform operations across entire document data irrespective of profile
(Character En/Decoding, Base64 En/Decoding, PGP En/Decrypt,
Search/Replace).
• Combine multiple documents into one (Combine Documents, Zip).
• Split a single document into multiples (Split Documents, Unzip).
• Custom document data and group transformations (Custom
Scripting).
135
Process Call Shape
Process Call shapes pass documents to another
process or invoke a new process execution
Behavior
• If the sub-process’s Start shape is Data Passthrough, the entire document
group is passed to the sub-process for further processing.
• Data Passthrough sub-processes execute as a continuation of the calling
process’s flow.
• If the sub-process’s Start shape is Connector/Trading Partner/No Data, a new
execution of the sub-process is spawned per document.
• Process Calls to non-Data Passthrough sub-processes can be configured not to
wait for the sub-process to complete.
• Documents will immediately continue to the next step in the calling process
instead of waiting for the sub-process to complete.
136
Return Documents Shape
Return Documents shapes pass documents
back to a calling process
Behavior
• Pass documents from a sub-process to the calling process.
• If a sub-process is configured with multiple Return Documents shapes, multiple
paths will be created from the Process Call step in the calling process (similar to a
Route step).
• Waits for sub-process execution to complete before passing documents to calling
process.
• “Re-group” documents from multiple paths – if multiple paths (e.g., from a Branch
or Decision) connect to the same Return Documents shapes, documents from all
paths are collected and returned to the calling process as single document group.
• Also used to return responses for web services listener processes.
137
Sub-Process Execution Path Example
Two documents
move to sub-
process call.
Two documents
appear at start
shape.
138
Sub-Process Execution Path Example
Sub-process
allows for
combining the
documents for
group processing
Pass-through brings in the calling
documents from process
calling process.
139
Sub-Process Execution Path Example
140
Path Completion Shapes
Path completion shapes are “end of the line”
and do not allow for subsequent shapes to
be executed on that path
Shape types
• Stop, Exception, Add to Cache, Connector
Behavior
• Stop: Terminates a given path without error and allows documents to continue on
other paths. Alternatively can be configured to halt all documents immediately (rare).
• Exception: Terminates the current path with an error. Can be configured to halt the
entire process (all documents) or only a single document.
• Add to Cache: Adds documents to a document cache so that they can be used in a
process or subprocess.
• Connector: “Send” actions for certain connectors do not return documents (e.g.,
disk, FTP, SFTP, database, mail, AS2 client, JMS, Atom Queue).
141
Document Flow Summary
142
147
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]
Boomi, Inc., Legal Department, 1400 Liberty Ridge Drive, Chesterbrook, PA 19087
Trademarks
Copyright © 2017 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.